Questions about the structure of DebuffTable

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:

  1. This is keyed on RAMUnit-> 0xB UnitNumber.
  2. 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]?

2 Likes