Clean some battle_message.c data

This commit is contained in:
GriffinR 2020-07-21 13:29:51 -04:00
parent 28759f8569
commit a4e47f1201
3 changed files with 111 additions and 70 deletions

View File

@ -798,7 +798,7 @@ BattleScript_KOFail::
BattleScript_EffectRazorWind::
jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn
jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn
setbyte sTWOTURN_STRINGID, 0x0
setbyte sTWOTURN_STRINGID, 0
call BattleScriptFirstChargingTurn
goto BattleScript_MoveEnd
@ -1084,7 +1084,7 @@ BattleScript_EffectAccuracyDownHit::
BattleScript_EffectSkyAttack::
jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn
jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn
setbyte sTWOTURN_STRINGID, 0x3
setbyte sTWOTURN_STRINGID, 3
call BattleScriptFirstChargingTurn
goto BattleScript_MoveEnd
@ -1831,7 +1831,7 @@ BattleScript_EffectMirrorCoat::
BattleScript_EffectSkullBash::
jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn
jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn
setbyte sTWOTURN_STRINGID, 0x2
setbyte sTWOTURN_STRINGID, 2
call BattleScriptFirstChargingTurn
setstatchanger STAT_DEF, 1, FALSE
statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_BUFF_ALLOW_PTR, BattleScript_SkullBashEnd
@ -1927,7 +1927,7 @@ BattleScript_EffectSolarbeam::
BattleScript_SolarbeamDecideTurn::
jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_TwoTurnMovesSecondTurn
jumpifword CMP_COMMON_BITS, gHitMarker, HITMARKER_NO_ATTACKSTRING, BattleScript_TwoTurnMovesSecondTurn
setbyte sTWOTURN_STRINGID, 0x1
setbyte sTWOTURN_STRINGID, 1
call BattleScriptFirstChargingTurn
goto BattleScript_MoveEnd
BattleScript_SolarbeamOnFirstTurn::
@ -1996,19 +1996,19 @@ BattleScript_EffectSemiInvulnerable::
jumpifmove MOVE_FLY, BattleScript_FirstTurnFly
jumpifmove MOVE_DIVE, BattleScript_FirstTurnDive
jumpifmove MOVE_BOUNCE, BattleScript_FirstTurnBounce
setbyte sTWOTURN_STRINGID, 0x5
setbyte sTWOTURN_STRINGID, 5
goto BattleScript_FirstTurnSemiInvulnerable
BattleScript_FirstTurnBounce::
setbyte sTWOTURN_STRINGID, 0x7
setbyte sTWOTURN_STRINGID, 7
goto BattleScript_FirstTurnSemiInvulnerable
BattleScript_FirstTurnDive::
setbyte sTWOTURN_STRINGID, 0x6
setbyte sTWOTURN_STRINGID, 6
goto BattleScript_FirstTurnSemiInvulnerable
BattleScript_FirstTurnFly::
setbyte sTWOTURN_STRINGID, 0x4
setbyte sTWOTURN_STRINGID, 4
BattleScript_FirstTurnSemiInvulnerable::
call BattleScriptFirstChargingTurn
setsemiinvulnerablebit
@ -3252,7 +3252,7 @@ BattleScript_SunlightFaded::
end2
BattleScript_OverworldWeatherStarts::
printfromtable gWeatherContinuesStringIds
printfromtable gWeatherStartsStringIds
waitmessage 0x40
playanimation2 BS_ATTACKER, sB_ANIM_ARG1, NULL
end3

View File

@ -13,28 +13,28 @@
.align 2
gBattlescriptsForBallThrow:: @ 82DBD08
.4byte BattleScript_BallThrow
.4byte BattleScript_BallThrow
.4byte BattleScript_BallThrow
.4byte BattleScript_BallThrow
.4byte BattleScript_BallThrow
.4byte BattleScript_SafariBallThrow
.4byte BattleScript_BallThrow
.4byte BattleScript_BallThrow
.4byte BattleScript_BallThrow
.4byte BattleScript_BallThrow
.4byte BattleScript_BallThrow
.4byte BattleScript_BallThrow
.4byte BattleScript_BallThrow
.4byte BattleScript_BallThrow @ ITEM_NONE
.4byte BattleScript_BallThrow @ ITEM_MASTER_BALL
.4byte BattleScript_BallThrow @ ITEM_ULTRA_BALL
.4byte BattleScript_BallThrow @ ITEM_GREAT_BALL
.4byte BattleScript_BallThrow @ ITEM_POKE_BALL
.4byte BattleScript_SafariBallThrow @ ITEM_SAFARI_BALL
.4byte BattleScript_BallThrow @ ITEM_NET_BALL
.4byte BattleScript_BallThrow @ ITEM_DIVE_BALL
.4byte BattleScript_BallThrow @ ITEM_NEST_BALL
.4byte BattleScript_BallThrow @ ITEM_REPEAT_BALL
.4byte BattleScript_BallThrow @ ITEM_TIMER_BALL
.4byte BattleScript_BallThrow @ ITEM_LUXURY_BALL
.4byte BattleScript_BallThrow @ ITEM_PREMIER_BALL
.align 2
gBattlescriptsForUsingItem:: @ 82DBD3C
.4byte BattleScript_PlayerUsesItem
.4byte BattleScript_OpponentUsesHealItem
.4byte BattleScript_OpponentUsesHealItem
.4byte BattleScript_OpponentUsesStatusCureItem
.4byte BattleScript_OpponentUsesXItem
.4byte BattleScript_OpponentUsesGuardSpecs
.4byte BattleScript_OpponentUsesHealItem @ AI_ITEM_FULL_RESTORE
.4byte BattleScript_OpponentUsesHealItem @ AI_ITEM_HEAL_HP
.4byte BattleScript_OpponentUsesStatusCureItem @ AI_ITEM_CURE_CONDITION
.4byte BattleScript_OpponentUsesXItem @ AI_ITEM_X_STAT
.4byte BattleScript_OpponentUsesGuardSpecs @ AI_ITEM_GUARD_SPECS
.align 2
gBattlescriptsForRunningByItem:: @ 82DBD54

View File

@ -19,12 +19,15 @@
#include "text.h"
#include "trainer_hill.h"
#include "window.h"
#include "constants/battle_dome.h"
#include "constants/battle_string_ids.h"
#include "constants/berry.h"
#include "constants/frontier_util.h"
#include "constants/items.h"
#include "constants/moves.h"
#include "constants/trainers.h"
#include "constants/trainer_hill.h"
#include "constants/weather.h"
struct BattleWindowText
{
@ -433,11 +436,16 @@ static const u8 sText_SpDef2[] = _("SP. DEF");
static const u8 sText_Accuracy[] = _("accuracy");
static const u8 sText_Evasiveness[] = _("evasiveness");
const u8 * const gStatNamesTable[] =
const u8 * const gStatNamesTable[NUM_BATTLE_STATS] =
{
sText_HP2, sText_Attack2, sText_Defense2,
sText_Speed, sText_SpAtk2, sText_SpDef2,
sText_Accuracy, sText_Evasiveness
[STAT_HP] = sText_HP2,
[STAT_ATK] = sText_Attack2,
[STAT_DEF] = sText_Defense2,
[STAT_SPEED] = sText_Speed,
[STAT_SPATK] = sText_SpAtk2,
[STAT_SPDEF] = sText_SpDef2,
[STAT_ACC] = sText_Accuracy,
[STAT_EVASION] = sText_Evasiveness
};
static const u8 sText_PokeblockWasTooSpicy[] = _("was too spicy!");
@ -446,11 +454,13 @@ static const u8 sText_PokeblockWasTooSweet[] = _("was too sweet!");
static const u8 sText_PokeblockWasTooBitter[] = _("was too bitter!");
static const u8 sText_PokeblockWasTooSour[] = _("was too sour!");
const u8 * const gPokeblockWasTooXStringTable[] =
const u8 * const gPokeblockWasTooXStringTable[FLAVOR_COUNT] =
{
sText_PokeblockWasTooSpicy, sText_PokeblockWasTooDry,
sText_PokeblockWasTooSweet, sText_PokeblockWasTooBitter,
sText_PokeblockWasTooSour
[FLAVOR_SPICY] = sText_PokeblockWasTooSpicy,
[FLAVOR_DRY] = sText_PokeblockWasTooDry,
[FLAVOR_SWEET] = sText_PokeblockWasTooSweet,
[FLAVOR_BITTER] = sText_PokeblockWasTooBitter,
[FLAVOR_SOUR] = sText_PokeblockWasTooSour
};
static const u8 sText_PlayerUsedItem[] = _("{B_PLAYER_NAME} used\n{B_LAST_ITEM}!");
@ -979,16 +989,28 @@ const u16 gStatDownStringIds[] =
STRINGID_PKMNSSTATCHANGED3, STRINGID_PKMNSSTATCHANGED4, STRINGID_STATSWONTDECREASE, STRINGID_EMPTYSTRING3
};
// Index read from sTWOTURN_STRINGID
const u16 gFirstTurnOfTwoStringIds[] =
{
STRINGID_PKMNWHIPPEDWHIRLWIND, STRINGID_PKMNTOOKSUNLIGHT, STRINGID_PKMNLOWEREDHEAD, STRINGID_PKMNISGLOWING,
STRINGID_PKMNFLEWHIGH, STRINGID_PKMNDUGHOLE, STRINGID_PKMNHIDUNDERWATER, STRINGID_PKMNSPRANGUP
STRINGID_PKMNWHIPPEDWHIRLWIND, // MOVE_RAZOR_WIND
STRINGID_PKMNTOOKSUNLIGHT, // MOVE_SOLAR_BEAM
STRINGID_PKMNLOWEREDHEAD, // MOVE_SKULL_BASH
STRINGID_PKMNISGLOWING, // MOVE_SKY_ATTACK
STRINGID_PKMNFLEWHIGH, // MOVE_FLY
STRINGID_PKMNDUGHOLE, // MOVE_DIG
STRINGID_PKMNHIDUNDERWATER, // MOVE_DIVE
STRINGID_PKMNSPRANGUP // MOVE_BOUNCE
};
// Index copied from move's index in gTrappingMoves
const u16 gWrappedStringIds[] =
{
STRINGID_PKMNSQUEEZEDBYBIND, STRINGID_PKMNWRAPPEDBY, STRINGID_PKMNTRAPPEDINVORTEX,
STRINGID_PKMNCLAMPED, STRINGID_PKMNTRAPPEDINVORTEX, STRINGID_PKMNTRAPPEDBYSANDTOMB
STRINGID_PKMNSQUEEZEDBYBIND, // MOVE_BIND
STRINGID_PKMNWRAPPEDBY, // MOVE_WRAP
STRINGID_PKMNTRAPPEDINVORTEX, // MOVE_FIRE_SPIN
STRINGID_PKMNCLAMPED, // MOVE_CLAMP
STRINGID_PKMNTRAPPEDINVORTEX, // MOVE_WHIRLPOOL
STRINGID_PKMNTRAPPEDBYSANDTOMB // MOVE_SAND_TOMB
};
const u16 gMistUsedStringIds[] =
@ -1078,13 +1100,25 @@ const u16 gBallEscapeStringIds[] =
STRINGID_PKMNBROKEFREE, STRINGID_ITAPPEAREDCAUGHT, STRINGID_AARGHALMOSTHADIT, STRINGID_SHOOTSOCLOSE
};
const u16 gWeatherContinuesStringIds[] =
// Overworld weathers that don't have an associated battle weather default to "It is raining."
const u16 gWeatherStartsStringIds[] =
{
STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING,
STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING,
STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_SANDSTORMISRAGING,
STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING,
STRINGID_SUNLIGHTSTRONG, STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING
[WEATHER_NONE] = STRINGID_ITISRAINING,
[WEATHER_SUNNY_CLOUDS] = STRINGID_ITISRAINING,
[WEATHER_SUNNY] = STRINGID_ITISRAINING,
[WEATHER_RAIN] = STRINGID_ITISRAINING,
[WEATHER_SNOW] = STRINGID_ITISRAINING,
[WEATHER_RAIN_THUNDERSTORM] = STRINGID_ITISRAINING,
[WEATHER_FOG_HORIZONTAL] = STRINGID_ITISRAINING,
[WEATHER_VOLCANIC_ASH] = STRINGID_ITISRAINING,
[WEATHER_SANDSTORM] = STRINGID_SANDSTORMISRAGING,
[WEATHER_FOG_DIAGONAL] = STRINGID_ITISRAINING,
[WEATHER_UNDERWATER] = STRINGID_ITISRAINING,
[WEATHER_SHADE] = STRINGID_ITISRAINING,
[WEATHER_DROUGHT] = STRINGID_SUNLIGHTSTRONG,
[WEATHER_DOWNPOUR] = STRINGID_ITISRAINING,
[WEATHER_UNDERWATER_BUBBLES] = STRINGID_ITISRAINING,
[WEATHER_ABNORMAL] = STRINGID_ITISRAINING
};
const u16 gInobedientStringIds[] =
@ -1146,7 +1180,13 @@ const u16 gCaughtMonStringIds[] =
const u16 gTrappingMoves[] =
{
MOVE_BIND, MOVE_WRAP, MOVE_FIRE_SPIN, MOVE_CLAMP, MOVE_WHIRLPOOL, MOVE_SAND_TOMB, 0xFFFF
MOVE_BIND,
MOVE_WRAP,
MOVE_FIRE_SPIN,
MOVE_CLAMP,
MOVE_WHIRLPOOL,
MOVE_SAND_TOMB,
0xFFFF
};
const u8 gText_PkmnIsEvolving[] = _("What?\n{STR_VAR_1} is evolving!");
@ -1207,26 +1247,27 @@ const u8 gText_Draw[] = _("{HIGHLIGHT TRANSPARENT}Draw");
static const u8 sText_SpaceIs[] = _(" is");
static const u8 sText_ApostropheS[] = _("'s");
static const u8 sATypeMove_Table[][17] =
// For displaying names of invalid moves
static const u8 sATypeMove_Table[][NUMBER_OF_MON_TYPES - 1] =
{
_("a NORMAL move"),
_("a FIGHTING move"),
_("a FLYING move"),
_("a POISON move"),
_("a GROUND move"),
_("a ROCK move"),
_("a BUG move"),
_("a GHOST move"),
_("a STEEL move"),
_("a ??? move"),
_("a FIRE move"),
_("a WATER move"),
_("a GRASS move"),
_("an ELECTRIC move"),
_("a PSYCHIC move"),
_("an ICE move"),
_("a DRAGON move"),
_("a DARK move")
[TYPE_NORMAL] = _("a NORMAL move"),
[TYPE_FIGHTING] = _("a FIGHTING move"),
[TYPE_FLYING] = _("a FLYING move"),
[TYPE_POISON] = _("a POISON move"),
[TYPE_GROUND] = _("a GROUND move"),
[TYPE_ROCK] = _("a ROCK move"),
[TYPE_BUG] = _("a BUG move"),
[TYPE_GHOST] = _("a GHOST move"),
[TYPE_STEEL] = _("a STEEL move"),
[TYPE_MYSTERY] = _("a ??? move"),
[TYPE_FIRE] = _("a FIRE move"),
[TYPE_WATER] = _("a WATER move"),
[TYPE_GRASS] = _("a GRASS move"),
[TYPE_ELECTRIC] = _("an ELECTRIC move"),
[TYPE_PSYCHIC] = _("a PSYCHIC move"),
[TYPE_ICE] = _("an ICE move"),
[TYPE_DRAGON] = _("a DRAGON move"),
[TYPE_DARK] = _("a DARK move")
};
const u8 gText_BattleTourney[] = _("BATTLE TOURNEY");
@ -1235,12 +1276,12 @@ static const u8 sText_Round2[] = _("Round 2");
static const u8 sText_Semifinal[] = _("Semifinal");
static const u8 sText_Final[] = _("Final");
const u8 *const gRoundsStringTable[] =
const u8 *const gRoundsStringTable[DOME_ROUNDS_COUNT] =
{
sText_Round1,
sText_Round2,
sText_Semifinal,
sText_Final
[DOME_ROUND1] = sText_Round1,
[DOME_ROUND2] = sText_Round2,
[DOME_SEMIFINAL] = sText_Semifinal,
[DOME_FINAL] = sText_Final
};
const u8 gText_TheGreatNewHope[] = _("The great new hope!\p");