It's pretty clear what it's used for.
PartyMenuActionText is used for two things:
1) Storing what kind of action we're going to do (<$10)
2) Storing the text for some kind of healing stuff I'm not entirely sure (>=$f0)
In the former case, if GetPartyMenuTilemapPointers is ran, it will be
used to pick a sequence of actions that should be done, specified in the
table, and it'll print the corresponding string using the
PartyMenuStrings table. The items in the sequence of actions that should
be done are in WritePartyMenuTilemap.
Strangely enough, one possible value is left completely unused:
PARTYMENUACTION_GIVE_MON_FEMALE. It works in the exact same way as it's
male counterpart, and as such I don't believe it was used in the
japanese version either, since it doesn't matter which gender your 'mon
is when you put 'em in the daycare.
This function is called from a few different places in the mobile code,
including from one special that is only executed when the
BattleTowerRoomMenu special returns with a non-zero code.
Since that special causes a blue "error" screen to appear, that looks
the exact same as the one you'd get when trying to connect from the
mobile trade corner/battle colosseum in a Pokémon Center's top floor,
and this function contains a bunch of japanese strings in a jumptable, I
think it's reasonable to assume it should be called
"DisplayMobileError".
All of the functions called by it are prefixed with BattleTowerRoomMenu,
but a bunch of them seem more generic than that, since they're part of
different mobile menus. Also called another menu jumptable
BattleTowerRoomMenu2 for the lack of a better name (only the Yes/No menu
functions are used in western crystal).
The names of the more generic functions should be fixed when we start
labelling other menus.
This used to be confusing, since the first thing I think when I see
"width, height" is graphics, in this case probably the sprites.
Well, it has nothing to do with that. Weight is mass times gravity or
something, width is a form of distance.
Changed this function's name, because it confusingly only calls
DetermineLinkBattleResult when linked through mobile.
It does absolutely nothing with determining the battle result in a
regular link battle, and is only responsible for displaying the battle
result and counting stats.
The UbersCheck and LevelCheck are used only for the battle tower,
despite them living in the mobile files.
Also labelled some of the known BattleTowerActions.
Just keeping things consistent. Nobody's going to write SELF_DESTRUCT.
Kind of subjective, and we could do it the other way around, if anybody
really cares.
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
A few projects I looked around in used these same labels for these
functions, and it looks like they describe these functions properly.
Also fixed usage of BANK() in a few places.
WATRTILE was wrongly defined as 15, and WALLTILE as 1. Those had to be
flipped around.
This has allowed for us to replace inmediate values with these constants
in several places to improve readability.
WATRTILE was renamed to WATERTILE in the name of readability.