There were a lot of unused labels in there, and a few confusing
misnomers around move_effects_pointers.asm. They now match up exactly
with the names in battle_constants.asm.
Also renamed a few effects, to make their purpose clearer, and to match
up with their respective event script commands:
EFFECT_EXPLOSION -> EFFECT_SELFDESCTRUCT
EFFECT_HAZE -> EFFECT_RESET_STATS
EFFECT_WHIRLWIND -> EFFECT_FORCE_SWITCH
EFFECT_BIND -> EFFECT_TRAP_TARGET
EFFECT_TWINEEDLE -> EFFECT_POISON_MULTI_HIT
EFFECT_STEEL_WING -> EFFECT_DEFENSE_UP_HIT
EFFECT_METAL_CLAW -> EFFECT_ATTACK_UP_HIT
EFFECT_ANCIENTPOWER -> EFFECT_ALL_UP_HIT
Trainer data in map scripts is now a macro-defined structure.
Field move functions in main.asm are now nearly completely annotated, with local references.
Trailing white space deleted.
Wram banks and mobile make this tough, since any address can secretly be a ghost.
As usual, mobile completely disregards 99% of the codebase. It's been ignored in kind.
SUBSTATUS_ROLLOUT was actually SUBSTATUS_RAMPAGE.
SUBSTATUS_ENCORED was actually SUBSTATUS_ROLLOUT.
Substatus 5 bit 4 was actually SUBSTATUS_ENCORED.
Also use some more (sub)status constants where needed.
Besides making predefs convenient, naming a predef no longer requires
adding or renaming a predef constant. This also lets predefs be rearranged at will.
The PartyMon struct is really the box struct with volatile variables like status added.
Some other labels have been reworked.
Move structs no longer have explicit labels since their location is arbitrary and usually shared.