Hit Marker at x2023DD0 (single word):
Code:
Flag Function
x40 - Destiny Bond
x80 - Skip Move Animations
x100 - Overrides substitute & outcome checks to enable graphical and data damage updates. Used for burn damage, leech seed heal, Hi Jump Kick Crash etc.
x200 - Inhibit Attack String & PP reduction. Set before the second iteration of the move that target
both Foes. Also ensures that second iteration runs regardless of user faint.
x400 - Inhibit Attack String Print
x800 - Inhibit PP deduction. Set on struggle & second phase of charging turn moves.
[B]x1000 - Toggled in cmd5f. Further info not known
x2000 - Set due to some contact abilities to adjust status affliction
x4000 - Required to be set for Synchronize. Set in the seteffectcommands
x8000 - Set on successful flee [/B]
x10000 - Overrides fly evasion
x20000 - Overrides dig evasion
x40000 - Overrides dive evasion
[B]x80000 - Set in Attack Canceler due to being unable to move (flinch, recharge, sleep etc). Used to prevent second iteration of Dual Foe Targeting move in doubles and delays the charge part of moves like Sky Attack etc.
x200000 - Related to obedience check
x800000 - Does something with Magic Coat [/B]
x1000000 - Prevents setting of destiny bond.
[B]x2000000 - required to be set for minimize
x10000000 - death marker for bank 0. further bits for death marker of other banks[/B]
Special Status Flags at x2023DFC (a word each for 4 banks):
Flag - Functions
Code:
x1 - ???
x2 - ???
x4 - Leech Seed
x8 - lockon
x10 - mind reader
x20 - Perish song
x40 - Airborne
x80 - Underground
x100 - Minized
x200 - Charged
x400 - Rooted
x800 - Sleep this turn (yawn)
x1000 - Sleep in one turn (yawn)
x2000 - Imprisoned
x4000 - Grudged
x8000 - ???
x10000 - Mud sport
x20000 - Fire sport
x40000 - Dive
[B]x80000 - Intimidate BS Lock
x100000 - Trace BS Lock[/B]
The last 11 bits seem to be unused, so they can be used for things like Aqua Ring, Unburden boost, Smacked Down, Phantom Force, Electrify etc.
If you want to set a custom status which clears upon switching then this is the perfect spot to place it.
The word at
x128EC controls the special status bits that can be Baton Passed. So Aqua Ring etc. can be passed by altering this word to accomodate to more bits.
Protect Structure at x2023E8C (16 bytes allocated per bank):
Code:
Flag - Function
[I][U]Byte 0x0:[/U][/I]
0x1 - Protect On
0x2 - Endure On
[B]0x4 Struggle On[/B]
0x8 - Helping Hand On
0x10 - Magic Coat On
0x20 - Snatch On
0x40 - ??
[B]0x80 - Set in Attack Canceler when unable to move due to being paralyzed[/B]
[U][I]Byte 0x1:[/I][/U]
[B]0x1 - Set due to confusion. Prevent contact abilties to activate due to the confusion hit
0x2 - Set if move is not Effective
0x4 - Set in a Repeating Attack along with x1000 secondary status
0x8 - Marker to print Smoke Ball Flee
0x10 - Marker to print Run Away Flee
0x20 - Set in Attack Canceler when attempting to use an imprisoned move
0x40 - Set in Attack Canceler when immobilized by love
0x80 - Set in Attack Canceler when attempting to use a disabled move[/B]
[I][U]Byte 0x2:[/U][/I]
[B] 0x1 - Set in Attack Canceler when attempting to use a status while being taunted
0x2 - Don't know but is checked in a subroutine
0x4 - Set in Attack Canceler when flinched
0x8 - Set when PP is deducted. Checked for absorb abilities.
0x10 - Vacant
0x20 - Vacant
0x40 - Vacant
0x80 - Vacant[/B]
[I][U]Remaining Bytes:[/U][/I]
[B]0x3 - Vacant[/B]
0x4-0x7 - Physical damage suffered (JPAN incorrectly labelled the physical & special damage locations)
0x8-0xB - Special damage suffered
[B]0xC - The bank that did physical damage (Used to select the counter target)
0xD - The bank that did special damage (Used to select the mirror coat)
0xE-0xF - Vacant [/B]
The vacant places are good for Status that are cleared after end of turn and can be used to include things like King Shield, Spiky Shield etc.