-
Notifications
You must be signed in to change notification settings - Fork 592
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[XCX] Various New Mods #675
base: master
Are you sure you want to change the base?
Conversation
adds the mod to the read me
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've written a review that should explain what various parts of the mod does.
please let me know if this was helpful and if so I'll do it for all my new mods
@@ -0,0 +1,104 @@ | |||
[XCX_BootWithTP_Data] | |||
moduleMatches = 0xF882D5CF, 0x30B6E091, 0x7672271D, 0x218F6E07, 0xAB97DE6B, 0x676EB33E, 0x785CA8A9 ; 1.0.1E, 1.0.2U, 1.0.2J, 1.0.0E, 1.0.1U, 1.0.0U, 1.0.0J | |||
.origin = codecave |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the data file just stores a whole bunch of data that the mod needs to work.
|
||
;array of flags that check if applied max tp on boot to a specific character/skell | ||
BoolBootWithTP: | ||
.byte $QoL-1, $QoL-1, $QoL-1, $QoL-1, $QoLSkell-1, $QoLSkell-1, $QoLSkell-1, $QoLSkell-1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
has an array of bools to check if tp has been updated, so that it only updates once at boot
.byte $HPboundtoTP, $HPboundtoTPNegative, $TPboundtoHP, $TPboundtoHPNegative | ||
;array of syncronous settings for skell | ||
DollSyncSettingsArray: | ||
.byte $HPboundtoTPSkell, $HPboundtoTPNegativeSkell, $TPboundtoHPSkell, $TPboundtoHPNegativeSkell |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
has a whole bunch of arrays that store the settings from the rules.txt so they can be accessed easily and I dont need sperate code for ground characters and skells
StoreCharacter2Stats: | ||
.uint 0, 0, 0, 0, 0, 0, 0, 0 | ||
StoreCharacter3Stats: | ||
.uint 0, 0, 0, 0, 0, 0, 0, 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we need to store a lot of data to identify what character we want to update the HP of
there needs to be a constant track of our hp for the disable healing when skip traveling mod
.uint 0, 0, 0, 0, 0, 0, 0, 0 | ||
;array of offsets for each of the stats. used to lower code duplication | ||
PointerStatsOffsets: | ||
.short maxHP, meleeAttack, rangedAttack, potential, defence, meleeAccuracy, rangedAccuracy, evasion |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this array is used when storing stats and checking stats.
the max tp stat is missing because there is a condition that is only used by 1 specific enemy that changes it
I do not think any of the other stats can change without going into a menu, and every menu calls the boot section of the mod pretty much
lwz r31, maxTP(r10) | ||
_MaxHPSmallerbootsync: | ||
stw r31, currentTP(r10) | ||
stw r31, currentHP(r10) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and boot needs its own function for Synchronously binding HP & TP
lis r31, NumOfTimesLoadingScreenRan@ha | ||
lwz r30, NumOfTimesLoadingScreenRan@l(r31) | ||
BootWithTP: | ||
bl CheckifToMaxTP_Boot |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
main function for boot to call the functions above (has a different entrance for skells or ground characters)
bl GetModDataDollHPTP | ||
addTPtoHP: | ||
or r21, r12, r12 | ||
lis r30, FunctionPointerArrayCheatTP@hi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
main function for tp to call the functions above (has a different entrance for skells or ground characters)
;then this prevents tp from updating from out of battle heals and only out of battle heals | ||
HPStopSlipHealTP: | ||
lbz r31, 0(r24) ; $TPboundtoHP | ||
cmpwi r31, 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
function that is called only in the update hp section of the mod. checks if healing out of battle and if so prevents TP from updating if bound asynchronously
stw r0, LinkRegisterBackUpTPHP@l(r31) | ||
bl GetModDataDollHPTP | ||
addHPtoTP: | ||
neg r21, r21 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
main function for HP to call the functions above (has a different entrance for skells or ground characters)
Its super Simple and I dont think I need to make a whole new PR for it
Tested the disable option every skell that you can only get after getting a flight module and no glitches the mod doesn't even modify the save file
just uncomment 2 presets and now they have full compatability
new mod that by default is just a quality of life mod.
makes you boot with max TP instead of 0
also disableds the skell losing their TP when out of them
most people are unaware of that mechanic but everyone who is aware hates it
also has aditional cheat options
disabling automatic hp healing options
and a new game mode of syncronising your HP and TP stats
Also a new mod to change blade division because you no longer can with the offline down
and a new mod to force enable/disable the skell flight module
and a new mod to fix one of the most anoying bugs in the game relating to the camera forgetting your settings whenever theres a ceiling over you