Here is my first patch attempt : FFTPatcher status conditional formulas.
This hack allow to set conditional statuses for any formula. To do so you'll have to check the box under learn on hit.
Once checked the routine will check Ability X value and will check if the statuses present in the Inflict status table (matching X value) are on the target. If Yes the formula keep going if not, it's a miss.
NB : if the chance to learn end by 01 The hack will take Ability Y as Status ID.
By default one of the statuses is enough, but if you check the bottom box of the status type (value 0x01 while all or nothing is 0x80) all the statuses are necessary.
If The 0x02 box is checked, then the conditional status will be deleted
If the 0x04 box is checked, then the conditional status will be copy on the caster. If both are checked, it'll look like an absorption
The formula that add statuses should work normaly (so this hack is a solution for necromancy - conditional death canceled and then add undead). To do so i had to hack the 0x80184B24 routine (* see notes)
If the formula is absorbed (elemental) reversed (undead) or nullified, the conditional status will not be canceled nor absorbed.
I've hacked the undead reversal formula (** see notes)
This hack use Kanji space (the very same place that in Xif video, because i know nothing about kanji space yet)
I attached the xml (made with Xif sheet) and the sheet (allowing to move the location of the used kanji space if necessary).
I do this very slowly, having few time (like many ), and i tried to check everything before releasing it, but i don't check it the hard way (not every status in every situation) just every function (with immortal, mounted innate etc .. units). I hope it will do the job. If you find bugs, i'll try to fix them (but again, slowly).
Thanks for all the people around here , their tutorials and all the wiki infos, for allowing me to do this. It kept me busy in hard times. Special thanks to Xif for it's video tutorial that make me feel i can do this.
NB : this is a milestone. I intend to implement other functions (patcher friendly) and rework the formula system. I hope it'll save enough space to not use kanji space.
*note 1 : i hack the formula to alter the "can't stack on" part, so it'll ignore the conditional statuses that are going to be canceled (and freed 34 lines)
**note 2 : i add some lines so if the formula is undead reversed it'll have the special flags 0x10 in current action special flags 2 (not used or unknowed ... nothing bad happened)