I couldn’t find the documentation for DebuffTable, so I researched it myself.
#ifndef DebuffTable
#define DebuffTable 0x0203F100
#define DebuffTableSize 0x00000900
#endif
ldr r6, EALiterals
ldrb r1, [r4 ,#0xB] @Deployment number
lsl r1, r1, #0x3 @*8
add r6, r1 @r0 = *debuff data
From this we can see the following:
- This is keyed on RAMUnit-> 0xB UnitNumber.
- One data is 8 bytes.
In other words, the data of UnitNumber 0x02 starts from 0203F100 + 0x10.
With all this, we can play with mischief.
Let’s observe the situation while changing various values.
[0] The first byte represents the debuff for Str and Skill.
0203F110 0x01 => Str -1
0203F110 0x0F => Str -15
0203F110 0x10 => Skill -1
0203F110 0xF0 => Skill -15
0203F110 0xFF => Str -15, Skill -15
[1] The next byte represents the Spd and Def debuffs.
0203F111 0x01 => Spd -1
0203F111 0x10 => Def -1
[2] This byte represents Res and Luck’s debuff.
0203F112 0x01 => Res -1
0203F112 0x10 => Luck -1
[3] don’t know this byte.
Probably, +4 correction is applied by the bit string.
Is it used in any skill?
0203F113 0x01 => Str +4
0203F113 0x02 => Skill +4
0203F113 0x03 => Str + 4, Skill +4
0203F113 0x04 => Spd +4
0203F113 0x08 => Def +4
0203F113 0x10 => Res +4
0203F113 0x20 => Luck +4
0203F113 0x40 => mov +1
0203F113 0x80 => Str + 2,Skill +2, Spd +2,Def +2,Res +2,Luck +2
Writing 0x80 applies a +2 correction to most stats, like Christmas tree.
[4] don’t know this byte.
This byte seems to have the effect of lowering the two statuses together.
Is it used in any skill?
0203F113 0x01 => Str -1,Skill -1
0203F113 0x02 => Str -2,Skill -2
0203F113 0x03 => Str -3,Skill -3
0203F113 0x0F => Str -15,Skill -15
0203F113 0x10 => Str -16,Skill -16
0203F113 0x20 => Mag -1
0203F113 0xF0 => Str -18,Mag -1,Skill -16 <???
[5] This byte seems to do a Mag debuff.
However, the behavior of the upper 4 bits is not clear.
0203F114 0x01 => Mag -1
0203F114 0x0F => Mag -15
0203F114 0x10 => Mag +4
0203F114 0x20 => None
behavior of the upper 4 bits is not clear.
[6] This byte is considered unused.
0203F115 0xFF => None
[7] don’t know this byte.
This byte raises status irregularly.
0203F115 0x01 => Str +2, Mag +2, Def +2
0203F115 0x02 => Mov +2
0203F115 0x03 => Str +2, Mag +2, Def +2, Mov +2
0203F115 0x04 => None
What is the structure of [3], [4], [7]?