Apply status (to action) - (Preserve hit status, evade type, hit %)

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
No Parameters - Returns Nothing

Preserves Some Target Current Action (TCA) data before calling Apply status (to action) (This routine will update TCA infliction/Removal bytes)

TCA 0x00 (Hit Flag), TCA 0x02 (Evade Type) and TCA 0x2a (Hit%) are restored even if nothing is inflicted
-------------------------------------------------------------------------------------
00187eb4: 3c028019 lui r2,0x8019            
00187eb8: 8c422d90 lw r2,0x2d90(r2)         #   Action 
00187ebc: 27bdffe0 addiu r29,r29,0xffe0
00187ec0: afbf001c sw r31,0x001c(r29)
00187ec4: afb20018 sw r18,0x0018(r29)
00187ec8: afb10014 sw r17,0x0014(r29)
00187ecc: afb00010 sw r16,0x0010(r29)
00187ed0: 90520002 lbu r18,0x0002(r2)       #   oldEvadeType = Action.EvadeType
00187ed4: 9451002a lhu r17,0x002a(r2)       #   oldHitPercent = Action.HitPercent
00187ed8: 90500000 lbu r16,0x0000(r2)       #   oldHitStatus = Action.HitStatus       // Hit or miss
00187edc: 0c061fc9 jal 0x00187f24           #   Apply status (to action) 
00187ee0: 00000000 nop                     
00187ee4: 3c028019 lui r2,0x8019
00187ee8: 8c422d90 lw r2,0x2d90(r2)         #   Action
00187eec: 00000000 nop
00187ef0: a0500000 sb r16,0x0000(r2)        #   Action.HitStatus = oldHitStatus
00187ef4: 3c028019 lui r2,0x8019
00187ef8: 8c422d90 lw r2,0x2d90(r2)         #   Action
00187efc: 00000000 nop
00187f00: a451002a sh r17,0x002a(r2)        #   Action.HitPercent = oldHitPercent
00187f04: a0520002 sb r18,0x0002(r2)        #   Action.EvadeType = oldEvadeType
00187f08: 8fbf001c lw r31,0x001c(r29)
00187f0c: 8fb20018 lw r18,0x0018(r29)
00187f10: 8fb10014 lw r17,0x0014(r29)
00187f14: 8fb00010 lw r16,0x0010(r29)
00187f18: 27bd0020 addiu r29,r29,0x0020
00187f1c: 03e00008 jr r31
00187f20: 00000000 nop

Return locations

Battle.bin
001887ec: Elemental_Absorb/Status
00188b94: 01_Dmg_(Weapon)
00188ce4: 05_Dmg_(Weapon)
00188de4: 08_Dmg_F(MA*Y)
00188e68: 09_Dmg_(Y/100)%_Hit_F(MA+X)%
001895b4: 1F_Dmg_((100-CasF)*(100-TarF)*(MA+Y)*MA/2)
00189b84: 2D_Dmg_(PA*(WP+Y))_100%_Status
00189d64: 31_Dmg_((PA+Y)/2*PA)
0018a240: 47_AbsHP_(Y)%_100%_Status
0018a5d4: 52_Dmg_(CasMaxHP-CasCurHP)_100%_Add_Status_Caster_in_AoE:_DmgSelf_(CasCurHP)
0018a658: 53_Dmg_(X)%_Hit_(MA+X)%
0018aa00: 5B_Dragon:_Heal_(Y)%_100%_Add_Status
0018acec: Phoenix_Down_on_Undead