From 36a5c6ed4f47ade2f2cb5d034e5ea54d7e73ff7c Mon Sep 17 00:00:00 2001 From: Hiram Anderson <37224753+hjk321@users.noreply.github.com> Date: Sun, 25 Aug 2024 01:03:33 -0700 Subject: [PATCH 01/78] Basculin graphics config fix (#5256) This fixes a compilation error that occurs if OW_POKEMON_OBJECT_EVENTS is true but P_HISUIAN_FORMS is false. --- src/data/graphics/pokemon.h | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index 4c86c0adcd..e75425823a 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -12202,6 +12202,17 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u32 gMonShinyPalette_BasculinBlueStriped[] = INCBIN_U32("graphics/pokemon/basculin/blue_striped/shiny.gbapal.lz"); const u8 gMonIcon_BasculinBlueStriped[] = INCBIN_U8("graphics/pokemon/basculin/blue_striped/icon.4bpp"); +#if OW_POKEMON_OBJECT_EVENTS + const u32 gObjectEventPic_BasculinRedStriped[] = INCBIN_COMP("graphics/pokemon/basculin/overworld.4bpp"); + const u32 gObjectEventPic_BasculinBlueStriped[] = INCBIN_COMP("graphics/pokemon/basculin/blue_striped/overworld.4bpp"); +#if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE + const u32 gOverworldPalette_BasculinRedStriped[] = INCBIN_U32("graphics/pokemon/basculin/overworld_normal.gbapal.lz"); + const u32 gOverworldPalette_BasculinBlueStriped[] = INCBIN_U32("graphics/pokemon/basculin/blue_striped/overworld_normal.gbapal.lz"); + const u32 gShinyOverworldPalette_BasculinRedStriped[] = INCBIN_U32("graphics/pokemon/basculin/overworld_shiny.gbapal.lz"); + const u32 gShinyOverworldPalette_BasculinBlueStriped[] = INCBIN_U32("graphics/pokemon/basculin/blue_striped/overworld_shiny.gbapal.lz"); +#endif //OW_PKMN_OBJECTS_SHARE_PALETTES +#endif //OW_POKEMON_OBJECT_EVENTS + #if P_HISUIAN_FORMS const u32 gMonFrontPic_BasculinWhiteStriped[] = INCBIN_U32("graphics/pokemon/basculin/white_striped/anim_front.4bpp.lz"); const u32 gMonPalette_BasculinWhiteStriped[] = INCBIN_U32("graphics/pokemon/basculin/white_striped/normal.gbapal.lz"); @@ -12210,15 +12221,9 @@ const u32 gObjectEventPic_Substitute[] = INCBIN_COMP("graphics/pokemon/question_ const u8 gMonIcon_BasculinWhiteStriped[] = INCBIN_U8("graphics/pokemon/basculin/white_striped/icon.4bpp"); #if OW_POKEMON_OBJECT_EVENTS - const u32 gObjectEventPic_BasculinRedStriped[] = INCBIN_COMP("graphics/pokemon/basculin/overworld.4bpp"); - const u32 gObjectEventPic_BasculinBlueStriped[] = INCBIN_COMP("graphics/pokemon/basculin/blue_striped/overworld.4bpp"); const u32 gObjectEventPic_BasculinWhiteStriped[] = INCBIN_COMP("graphics/pokemon/basculin/white_striped/overworld.4bpp"); #if OW_PKMN_OBJECTS_SHARE_PALETTES == FALSE - const u32 gOverworldPalette_BasculinRedStriped[] = INCBIN_U32("graphics/pokemon/basculin/overworld_normal.gbapal.lz"); - const u32 gOverworldPalette_BasculinBlueStriped[] = INCBIN_U32("graphics/pokemon/basculin/blue_striped/overworld_normal.gbapal.lz"); const u32 gOverworldPalette_BasculinWhiteStriped[] = INCBIN_U32("graphics/pokemon/basculin/white_striped/overworld_normal.gbapal.lz"); - const u32 gShinyOverworldPalette_BasculinRedStriped[] = INCBIN_U32("graphics/pokemon/basculin/overworld_shiny.gbapal.lz"); - const u32 gShinyOverworldPalette_BasculinBlueStriped[] = INCBIN_U32("graphics/pokemon/basculin/blue_striped/overworld_shiny.gbapal.lz"); const u32 gShinyOverworldPalette_BasculinWhiteStriped[] = INCBIN_U32("graphics/pokemon/basculin/white_striped/overworld_shiny.gbapal.lz"); #endif //OW_PKMN_OBJECTS_SHARE_PALETTES #endif //OW_POKEMON_OBJECT_EVENTS From 51a127fcb59abaf5ceadc1e4368023b937dd140e Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Sun, 25 Aug 2024 11:20:26 +0200 Subject: [PATCH 02/78] Better implementation of the obedience fix (#5245) Co-authored-by: Hedara --- include/battle.h | 3 +- include/battle_util.h | 11 ++- src/battle_script_commands.c | 32 +++++++- src/battle_util.c | 139 +++++++++++++---------------------- 4 files changed, 93 insertions(+), 92 deletions(-) diff --git a/include/battle.h b/include/battle.h index 0d54f2a614..4db357fca6 100644 --- a/include/battle.h +++ b/include/battle.h @@ -221,7 +221,7 @@ struct SpecialStatus u8 faintedHasReplacement:1; u8 focusBanded:1; u8 focusSashed:1; - u8 unused:1; + u8 unused:2; // End of byte u8 sturdied:1; u8 stormDrainRedirected:1; @@ -801,6 +801,7 @@ struct BattleStruct u8 categoryOverride; // for Z-Moves and Max Moves u32 stellarBoostFlags[NUM_BATTLE_SIDES]; // stored as a bitfield of flags for all types for each side u8 fickleBeamBoosted:1; + u8 obedienceResult:3; }; // The palaceFlags member of struct BattleStruct contains 1 flag per move to indicate which moves the AI should consider, diff --git a/include/battle_util.h b/include/battle_util.h index de05242902..3a64b84462 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -106,6 +106,15 @@ enum CANCELLER_END2, }; +enum { + OBEYS, + DISOBEYS_LOAFS, + DISOBEYS_HITS_SELF, + DISOBEYS_FALL_ASLEEP, + DISOBEYS_WHILE_ASLEEP, + DISOBEYS_RANDOM_MOVE, +}; + extern const struct TypePower gNaturalGiftTable[]; void HandleAction_ThrowBall(void); @@ -171,7 +180,7 @@ void ClearVariousBattlerFlags(u32 battler); void HandleAction_RunBattleScript(void); u32 SetRandomTarget(u32 battler); u32 GetMoveTarget(u16 move, u8 setTarget); -u8 IsMonDisobedient(void); +u8 GetAttackerObedienceForAction(); u32 GetBattlerHoldEffect(u32 battler, bool32 checkNegating); u32 GetBattlerHoldEffectIgnoreAbility(u32 battler, bool32 checkNegating); u32 GetBattlerHoldEffectInternal(u32 battler, bool32 checkNegating, bool32 checkAbility); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index efa841a631..2e281e6084 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1284,16 +1284,40 @@ static void Cmd_attackcanceler(void) if (!(gHitMarker & HITMARKER_OBEYS) && !(gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS)) { - switch (IsMonDisobedient()) + switch (gBattleStruct->obedienceResult) { - case 0: + case OBEYS: break; - case 2: + case DISOBEYS_LOAFS: + // Randomly select, then print a disobedient string + // B_MSG_LOAFING, B_MSG_WONT_OBEY, B_MSG_TURNED_AWAY, or B_MSG_PRETEND_NOT_NOTICE + gBattleCommunication[MULTISTRING_CHOOSER] = MOD(Random(), NUM_LOAF_STRINGS); + gBattlescriptCurrInstr = BattleScript_MoveUsedLoafingAround; + gMoveResultFlags |= MOVE_RESULT_MISSED; + return; + case DISOBEYS_HITS_SELF: + gBattlerTarget = gBattlerAttacker; + gBattleMoveDamage = CalculateMoveDamage(MOVE_NONE, gBattlerAttacker, gBattlerAttacker, TYPE_MYSTERY, 40, FALSE, FALSE, TRUE); + gBattlescriptCurrInstr = BattleScript_IgnoresAndHitsItself; + gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; gHitMarker |= HITMARKER_OBEYS; return; - default: + case DISOBEYS_FALL_ASLEEP: + gBattlescriptCurrInstr = BattleScript_IgnoresAndFallsAsleep; gMoveResultFlags |= MOVE_RESULT_MISSED; return; + case DISOBEYS_WHILE_ASLEEP: + gBattlescriptCurrInstr = BattleScript_IgnoresWhileAsleep; + gMoveResultFlags |= MOVE_RESULT_MISSED; + return; + case DISOBEYS_RANDOM_MOVE: + gCalledMove = gBattleMons[gBattlerAttacker].moves[gCurrMovePos]; + SetAtkCancellerForCalledMove(); + gBattlescriptCurrInstr = BattleScript_IgnoresAndUsesRandomMove; + gBattlerTarget = GetMoveTarget(gCalledMove, NO_TARGET_OVERRIDE); + gHitMarker |= HITMARKER_DISOBEDIENT_MOVE; + gHitMarker |= HITMARKER_OBEYS; + return; } } diff --git a/src/battle_util.c b/src/battle_util.c index 2935afc1ff..b1d3eec450 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -145,6 +145,8 @@ void HandleAction_UseMove(void) gBattleScripting.savedMoveEffect = 0; gCurrMovePos = gChosenMovePos = *(gBattleStruct->chosenMovePositions + gBattlerAttacker); + gBattleStruct->obedienceResult = GetAttackerObedienceForAction(); + // choose move if (gProtectStructs[gBattlerAttacker].noValidMoves) { @@ -3566,7 +3568,8 @@ u8 AtkCanceller_UnableToUseMove(u32 moveType) gBattleStruct->atkCancellerTracker++; break; case CANCELLER_Z_MOVES: - if (GetActiveGimmick(gBattlerAttacker) == GIMMICK_Z_MOVE) + if (GetActiveGimmick(gBattlerAttacker) == GIMMICK_Z_MOVE + && gBattleStruct->obedienceResult == OBEYS) { // For Z-Mirror Move, so it doesn't play the animation twice. bool32 alreadyUsed = HasTrainerUsedGimmick(gBattlerAttacker, GIMMICK_Z_MOVE); @@ -8331,12 +8334,7 @@ u32 GetMoveTarget(u16 move, u8 setTarget) return targetBattler; } -static bool32 IsBattlerModernFatefulEncounter(u32 battler) -{ - return TRUE; -} - -u8 IsMonDisobedient(void) +u8 GetAttackerObedienceForAction() { s32 rnd; s32 calc; @@ -8344,40 +8342,37 @@ u8 IsMonDisobedient(void) u8 levelReferenced; if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK)) - return 0; + return OBEYS; if (BattlerHasAi(gBattlerAttacker)) - return 0; + return OBEYS; - if (IsBattlerModernFatefulEncounter(gBattlerAttacker)) // only false if illegal Mew or Deoxys - { - if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBattlerPosition(gBattlerAttacker) == B_POSITION_PLAYER_RIGHT) - return 0; - if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) - return 0; - if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) - return 0; - if (B_OBEDIENCE_MECHANICS < GEN_8 && !IsOtherTrainer(gBattleMons[gBattlerAttacker].otId, gBattleMons[gBattlerAttacker].otName)) - return 0; - if (FlagGet(FLAG_BADGE08_GET)) // Rain Badge, ignore obedience altogether - return 0; + if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && GetBattlerPosition(gBattlerAttacker) == B_POSITION_PLAYER_RIGHT) + return OBEYS; + if (gBattleTypeFlags & BATTLE_TYPE_FRONTIER) + return OBEYS; + if (gBattleTypeFlags & BATTLE_TYPE_RECORDED) + return OBEYS; + if (B_OBEDIENCE_MECHANICS < GEN_8 && !IsOtherTrainer(gBattleMons[gBattlerAttacker].otId, gBattleMons[gBattlerAttacker].otName)) + return OBEYS; + if (FlagGet(FLAG_BADGE08_GET)) // Rain Badge, ignore obedience altogether + return OBEYS; - obedienceLevel = 10; + obedienceLevel = 10; - if (FlagGet(FLAG_BADGE01_GET)) // Stone Badge - obedienceLevel = 20; - if (FlagGet(FLAG_BADGE02_GET)) // Knuckle Badge - obedienceLevel = 30; - if (FlagGet(FLAG_BADGE03_GET)) // Dynamo Badge - obedienceLevel = 40; - if (FlagGet(FLAG_BADGE04_GET)) // Heat Badge - obedienceLevel = 50; - if (FlagGet(FLAG_BADGE05_GET)) // Balance Badge - obedienceLevel = 60; - if (FlagGet(FLAG_BADGE06_GET)) // Feather Badge - obedienceLevel = 70; - if (FlagGet(FLAG_BADGE07_GET)) // Mind Badge - obedienceLevel = 80; - } + if (FlagGet(FLAG_BADGE01_GET)) // Stone Badge + obedienceLevel = 20; + if (FlagGet(FLAG_BADGE02_GET)) // Knuckle Badge + obedienceLevel = 30; + if (FlagGet(FLAG_BADGE03_GET)) // Dynamo Badge + obedienceLevel = 40; + if (FlagGet(FLAG_BADGE04_GET)) // Heat Badge + obedienceLevel = 50; + if (FlagGet(FLAG_BADGE05_GET)) // Balance Badge + obedienceLevel = 60; + if (FlagGet(FLAG_BADGE06_GET)) // Feather Badge + obedienceLevel = 70; + if (FlagGet(FLAG_BADGE07_GET)) // Mind Badge + obedienceLevel = 80; if (B_OBEDIENCE_MECHANICS >= GEN_8 && !IsOtherTrainer(gBattleMons[gBattlerAttacker].otId, gBattleMons[gBattlerAttacker].otName)) @@ -8386,86 +8381,58 @@ u8 IsMonDisobedient(void) levelReferenced = gBattleMons[gBattlerAttacker].level; if (levelReferenced <= obedienceLevel) - return 0; - rnd = (Random() & 255); - calc = (levelReferenced + obedienceLevel) * rnd >> 8; + return OBEYS; + + rnd = Random(); + calc = (levelReferenced + obedienceLevel) * (rnd & 255) >> 8; if (calc < obedienceLevel) - return 0; + return OBEYS; + + // Clear the Z-Move flags if the battler is disobedient as to not waste the Z-Move + if (GetActiveGimmick(gBattlerAttacker) == GIMMICK_Z_MOVE) + { + gBattleStruct->gimmick.activated[gBattlerAttacker][GIMMICK_Z_MOVE] = FALSE; + gBattleStruct->gimmick.activeGimmick[GetBattlerSide(gBattlerAttacker)][gBattlerPartyIndexes[gBattlerAttacker]] = GIMMICK_NONE; + } // is not obedient if (gCurrentMove == MOVE_RAGE) gBattleMons[gBattlerAttacker].status2 &= ~STATUS2_RAGE; if (gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP && (gCurrentMove == MOVE_SNORE || gCurrentMove == MOVE_SLEEP_TALK)) - { - gBattlescriptCurrInstr = BattleScript_IgnoresWhileAsleep; - return 1; - } + return DISOBEYS_WHILE_ASLEEP; - rnd = (Random() & 255); - calc = (levelReferenced + obedienceLevel) * rnd >> 8; + calc = (levelReferenced + obedienceLevel) * ((rnd >> 8) & 255) >> 8; if (calc < obedienceLevel) { calc = CheckMoveLimitations(gBattlerAttacker, gBitTable[gCurrMovePos], MOVE_LIMITATIONS_ALL); if (calc == ALL_MOVES_MASK) // all moves cannot be used - { - // Randomly select, then print a disobedient string - // B_MSG_LOAFING, B_MSG_WONT_OBEY, B_MSG_TURNED_AWAY, or B_MSG_PRETEND_NOT_NOTICE - gBattleCommunication[MULTISTRING_CHOOSER] = MOD(Random(), NUM_LOAF_STRINGS); - gBattlescriptCurrInstr = BattleScript_MoveUsedLoafingAround; - return 1; - } + return DISOBEYS_LOAFS; else // use a random move - { do - { gCurrMovePos = gChosenMovePos = MOD(Random(), MAX_MON_MOVES); - } while (gBitTable[gCurrMovePos] & calc); - - gCalledMove = gBattleMons[gBattlerAttacker].moves[gCurrMovePos]; - SetAtkCancellerForCalledMove(); - gBattlescriptCurrInstr = BattleScript_IgnoresAndUsesRandomMove; - gBattlerTarget = GetMoveTarget(gCalledMove, NO_TARGET_OVERRIDE); - gHitMarker |= HITMARKER_DISOBEDIENT_MOVE; - return 2; - } + while (gBitTable[gCurrMovePos] & calc); + return DISOBEYS_RANDOM_MOVE; } else { obedienceLevel = levelReferenced - obedienceLevel; - calc = (Random() & 255); + calc = ((rnd >> 16) & 255); if (calc < obedienceLevel && CanBeSlept(gBattlerAttacker, GetBattlerAbility(gBattlerAttacker))) { // try putting asleep int i; for (i = 0; i < gBattlersCount; i++) - { if (gBattleMons[i].status2 & STATUS2_UPROAR) break; - } if (i == gBattlersCount) - { - gBattlescriptCurrInstr = BattleScript_IgnoresAndFallsAsleep; - return 1; - } + return DISOBEYS_FALL_ASLEEP; } calc -= obedienceLevel; if (calc < obedienceLevel) - { - gBattleMoveDamage = CalculateMoveDamage(MOVE_NONE, gBattlerAttacker, gBattlerAttacker, TYPE_MYSTERY, 40, FALSE, FALSE, TRUE); - gBattlerTarget = gBattlerAttacker; - gBattlescriptCurrInstr = BattleScript_IgnoresAndHitsItself; - gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; - return 2; - } + return DISOBEYS_HITS_SELF; else - { - // Randomly select, then print a disobedient string - // B_MSG_LOAFING, B_MSG_WONT_OBEY, B_MSG_TURNED_AWAY, or B_MSG_PRETEND_NOT_NOTICE - gBattleCommunication[MULTISTRING_CHOOSER] = MOD(Random(), NUM_LOAF_STRINGS); - gBattlescriptCurrInstr = BattleScript_MoveUsedLoafingAround; - return 1; - } + return DISOBEYS_LOAFS; } } From 92038129e214ef61a115c81fba6355fbdc2602ca Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Sun, 25 Aug 2024 15:06:03 +0200 Subject: [PATCH 03/78] Fixes Purifying Salt being poisoned by Toxic Spikes (#5252) --- src/battle_script_commands.c | 6 ++++-- test/battle/ability/purifying_salt.c | 16 ++++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 2e281e6084..0fc9d7b3b1 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7184,7 +7184,7 @@ static void UpdateSentMonFlags(u32 battler) static bool32 DoSwitchInEffectsForBattler(u32 battler) { - u32 i; + u32 i = 0; // Neutralizing Gas announces itself before hazards if (gBattleMons[battler].ability == ABILITY_NEUTRALIZING_GAS && gSpecialStatuses[battler].announceNeutralizingGas == 0) { @@ -7252,9 +7252,11 @@ static bool32 DoSwitchInEffectsForBattler(u32 battler) } else if (IsBattlerAffectedByHazards(battler, TRUE)) { + i = GetBattlerAbility(battler); if (!(gBattleMons[battler].status1 & STATUS1_ANY) && !IS_BATTLER_OF_TYPE(battler, TYPE_STEEL) - && GetBattlerAbility(battler) != ABILITY_IMMUNITY + && i != ABILITY_IMMUNITY + && i != ABILITY_PURIFYING_SALT && !IsAbilityOnSide(battler, ABILITY_PASTEL_VEIL) && !(gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_SAFEGUARD) && !(gFieldStatuses & STATUS_FIELD_MISTY_TERRAIN)) diff --git a/test/battle/ability/purifying_salt.c b/test/battle/ability/purifying_salt.c index 4c25321e5f..495ce01a46 100644 --- a/test/battle/ability/purifying_salt.c +++ b/test/battle/ability/purifying_salt.c @@ -84,3 +84,19 @@ SINGLE_BATTLE_TEST("Purifying Salt grants immunity to status effects") } } } + +SINGLE_BATTLE_TEST("Purifying Salt user can't be poisoned by Toxic Spikes") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_GARGANACL) { Ability(ABILITY_PURIFYING_SALT); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponent, MOVE_TOXIC_SPIKES); } + TURN { SWITCH(player, 1); } + } SCENE { + SEND_IN_MESSAGE("Garganacl"); + } THEN { + EXPECT_EQ(player->status1, STATUS1_NONE); + } +} From ceec17ec7b93cd645336b8a28555bf586728e20b Mon Sep 17 00:00:00 2001 From: Salem <65783283+u8-Salem@users.noreply.github.com> Date: Sun, 25 Aug 2024 23:13:40 +0200 Subject: [PATCH 04/78] remove unused bs signature (#5257) --- include/battle_scripts.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/battle_scripts.h b/include/battle_scripts.h index cd35e1de82..e8c71d32c2 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -469,7 +469,6 @@ extern const u8 BattleScript_AngerShellActivates[]; extern const u8 BattleScript_WellBakedBodyActivates[]; extern const u8 BattleScript_WindRiderActivatesMoveEnd[]; extern const u8 BattleScript_WindPowerActivates[]; -extern const u8 BattleScript_WindPowerActivatesEnd2[]; extern const u8 BattleScript_ProtosynthesisActivates[]; extern const u8 BattleScript_QuarkDriveActivates[]; extern const u8 BattleScript_GoodAsGoldActivates[]; From afd18f06b4e6d0929da226e44d195a6678aa9786 Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Sun, 25 Aug 2024 16:29:33 -0500 Subject: [PATCH 05/78] Fix switch out move message (#5258) --- src/battle_message.c | 2 +- test/battle/move_effect/chilly_reception.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/battle_message.c b/src/battle_message.c index 497e617601..58eda8aed7 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -547,7 +547,7 @@ static const u8 sText_TargetIdentified[] = _("{B_DEF_NAME_WITH_PREFIX} was\niden static const u8 sText_TargetWokeUp[] = _("{B_DEF_NAME_WITH_PREFIX} woke up!"); static const u8 sText_PkmnStoleAndAteItem[] = _("{B_ATK_NAME_WITH_PREFIX} stole and\nate {B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ITEM}!"); static const u8 sText_TailWindBlew[] = _("The tailwind blew from\nbehind {B_ATK_TEAM2} team!"); -static const u8 sText_PkmnWentBack[] = _("{B_ATK_NAME_WITH_PREFIX} went back\nto {B_ATK_TRAINER_CLASS} {B_ATK_TRAINER_NAME}"); +static const u8 sText_PkmnWentBack[] = _("{B_ATK_NAME_WITH_PREFIX} went back\nto {B_ATK_TRAINER_NAME}!"); static const u8 sText_PkmnCantUseItemsAnymore[] = _("{B_DEF_NAME_WITH_PREFIX} can't use\nitems anymore!"); static const u8 sText_PkmnFlung[] = _("{B_ATK_NAME_WITH_PREFIX} flung its\n{B_LAST_ITEM}!"); static const u8 sText_PkmnPreventedFromHealing[] = _("{B_DEF_NAME_WITH_PREFIX} was prevented\nfrom healing!"); diff --git a/test/battle/move_effect/chilly_reception.c b/test/battle/move_effect/chilly_reception.c index a52c83eb5d..8b64a30f28 100644 --- a/test/battle/move_effect/chilly_reception.c +++ b/test/battle/move_effect/chilly_reception.c @@ -18,7 +18,7 @@ SINGLE_BATTLE_TEST("Chilly Reception sets up snow and switches the user out") MESSAGE("Slowking is preparing to tell a chillingly bad joke!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CHILLY_RECEPTION, player); MESSAGE("It started to snow!"); - MESSAGE("Slowking went back to 1"); + MESSAGE("Slowking went back to 1!"); SEND_IN_MESSAGE("Slowpoke"); ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SNOW_CONTINUES); } @@ -36,7 +36,7 @@ SINGLE_BATTLE_TEST("Chilly Reception switches the user out, even if the weather MESSAGE("Slowking is preparing to tell a chillingly bad joke!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CHILLY_RECEPTION, player); MESSAGE("There is no relief from this heavy rain!"); - MESSAGE("Slowking went back to 1"); + MESSAGE("Slowking went back to 1!"); SEND_IN_MESSAGE("Slowpoke"); MESSAGE("Rain continues to fall."); } @@ -53,7 +53,7 @@ SINGLE_BATTLE_TEST("Chilly Reception does not switch the user out if no replacem MESSAGE("Slowking is preparing to tell a chillingly bad joke!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CHILLY_RECEPTION, player); MESSAGE("It started to snow!"); - NOT MESSAGE("Slowking went back to 1"); + NOT MESSAGE("Slowking went back to 1!"); } } @@ -69,7 +69,7 @@ SINGLE_BATTLE_TEST("Chilly Reception does not switch the user out if replacement MESSAGE("Slowking is preparing to tell a chillingly bad joke!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CHILLY_RECEPTION, player); MESSAGE("It started to snow!"); - NOT MESSAGE("Slowking went back to 1"); + NOT MESSAGE("Slowking went back to 1!"); } } @@ -84,7 +84,7 @@ SINGLE_BATTLE_TEST("Chilly Reception changes the weather, even if the user canno MESSAGE("Slowking is preparing to tell a chillingly bad joke!"); ANIMATION(ANIM_TYPE_MOVE, MOVE_CHILLY_RECEPTION, player); MESSAGE("It started to snow!"); - NOT MESSAGE("Slowking went back to 1"); + NOT MESSAGE("Slowking went back to 1!"); } } From 5de0f3cb4adb2930dff5b887f45e43e659f5732e Mon Sep 17 00:00:00 2001 From: SarnPoke <77281351+SarnPoke@users.noreply.github.com> Date: Sun, 25 Aug 2024 23:38:40 +0200 Subject: [PATCH 06/78] Add Anger Point/Crit Moves Doubles AI Interaction (#5244) * Add Anger Point/Crit Moves AI Interaction Encourages the AI to use an "always crit" move on its partner, if that partner has the Anger Point ability. * Add OHKO check Makes sure that the crit move does not OHKO the partner with Anger Point. * Fix mistake Fixes small mistake * Add Speed Check Checks if mon is faster than its Anger Point partner when scoring. --- src/battle_ai_main.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 63bab46ec9..67e9b90a24 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -2868,6 +2868,15 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) { switch (atkPartnerAbility) { + case ABILITY_ANGER_POINT: + if (gMovesInfo[move].alwaysCriticalHit == TRUE + && BattlerStatCanRise(battlerAtkPartner, atkPartnerAbility, STAT_ATK) + && AI_IsFaster(battlerAtk, battlerAtkPartner, move) + && !CanIndexMoveFaintTarget(battlerAtk, battlerAtkPartner, AI_THINKING_STRUCT->movesetIndex, 1)) + { + RETURN_SCORE_PLUS(GOOD_EFFECT); + } + break; case ABILITY_VOLT_ABSORB: if (!(AI_THINKING_STRUCT->aiFlags[battlerAtk] & AI_FLAG_HP_AWARE)) { From 80ad7f15cc6806bad97d05e5a9bb0591fc760334 Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Mon, 26 Aug 2024 13:09:50 -0500 Subject: [PATCH 07/78] Chilly Reception AI --- src/battle_ai_main.c | 15 ++++++++++++++- src/battle_ai_switch_items.c | 2 +- src/battle_ai_util.c | 3 ++- test/battle/ai/ai_flag_sequence_switching.c | 4 +++- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 67e9b90a24..a7133fe363 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -1739,6 +1739,15 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) break; case EFFECT_HIT_ESCAPE: break; + case EFFECT_CHILLY_RECEPTION: + if (CountUsablePartyMons(battlerAtk) == 0) + ADJUST_SCORE(-10); + else if (weather & (B_WEATHER_SNOW | B_WEATHER_PRIMAL_ANY) + || IsMoveEffectWeather(aiData->partnerMove)) + ADJUST_SCORE(-8); + else if (weather & B_WEATHER_HAIL) + ADJUST_SCORE(-2); // mainly to prevent looping between hail and snow + break; case EFFECT_BELLY_DRUM: case EFFECT_FILLET_AWAY: if (aiData->abilities[battlerAtk] == ABILITY_CONTRARY) @@ -2773,6 +2782,7 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) case EFFECT_SNOWSCAPE: case EFFECT_RAIN_DANCE: case EFFECT_SANDSTORM: + case EFFECT_CHILLY_RECEPTION: if (IsMoveEffectWeather(move)) ADJUST_SCORE(-10); break; @@ -2852,6 +2862,7 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) } break; case EFFECT_SNOWSCAPE: + case EFFECT_CHILLY_RECEPTION: if (IsBattlerAlive(battlerAtkPartner) && ShouldSetSnow(battlerAtkPartner, atkPartnerAbility, atkPartnerHoldEffect)) { @@ -2869,7 +2880,7 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) switch (atkPartnerAbility) { case ABILITY_ANGER_POINT: - if (gMovesInfo[move].alwaysCriticalHit == TRUE + if (gMovesInfo[move].alwaysCriticalHit == TRUE && BattlerStatCanRise(battlerAtkPartner, atkPartnerAbility, STAT_ATK) && AI_IsFaster(battlerAtk, battlerAtkPartner, move) && !CanIndexMoveFaintTarget(battlerAtk, battlerAtkPartner, AI_THINKING_STRUCT->movesetIndex, 1)) @@ -3630,6 +3641,7 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) //fallthrough case EFFECT_HIT_ESCAPE: case EFFECT_PARTING_SHOT: + case EFFECT_CHILLY_RECEPTION: if (!IsDoubleBattle()) { switch (ShouldPivot(battlerAtk, battlerDef, aiData->abilities[battlerDef], move, movesetIndex)) @@ -4888,6 +4900,7 @@ static s32 AI_SetupFirstTurn(u32 battlerAtk, u32 battlerDef, u32 move, s32 score case EFFECT_SANDSTORM: case EFFECT_HAIL: case EFFECT_SNOWSCAPE: + case EFFECT_CHILLY_RECEPTION: case EFFECT_GEOMANCY: case EFFECT_VICTORY_DANCE: ADJUST_SCORE(DECENT_EFFECT); diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index e0359ff00f..23a655d5ed 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -2000,7 +2000,7 @@ static u32 GetBestMonIntegrated(struct Pokemon *party, int firstId, int lastId, } // If ace mon is the last available Pokemon and U-Turn/Volt Switch was used - switch to the mon. if (aceMonId != PARTY_SIZE - && (gMovesInfo[gLastUsedMove].effect == EFFECT_HIT_ESCAPE || gMovesInfo[gLastUsedMove].effect == EFFECT_PARTING_SHOT || gMovesInfo[gLastUsedMove].effect == EFFECT_BATON_PASS)) + && (gMovesInfo[gLastUsedMove].effect == EFFECT_HIT_ESCAPE || gMovesInfo[gLastUsedMove].effect == EFFECT_PARTING_SHOT || gMovesInfo[gLastUsedMove].effect == EFFECT_BATON_PASS || gMovesInfo[gLastUsedMove].effect == EFFECT_CHILLY_RECEPTION)) return aceMonId; return PARTY_SIZE; diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 08e05e02c1..59ed0d0fd9 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -3263,7 +3263,8 @@ bool32 IsMoveEffectWeather(u32 move) || gMovesInfo[move].effect == EFFECT_RAIN_DANCE || gMovesInfo[move].effect == EFFECT_SANDSTORM || gMovesInfo[move].effect == EFFECT_HAIL - || gMovesInfo[move].effect == EFFECT_SNOWSCAPE)) + || gMovesInfo[move].effect == EFFECT_SNOWSCAPE + || gMovesInfo[move].effect == EFFECT_CHILLY_RECEPTION)) return TRUE; return FALSE; } diff --git a/test/battle/ai/ai_flag_sequence_switching.c b/test/battle/ai/ai_flag_sequence_switching.c index 1b4a264a24..7a0f3528bd 100644 --- a/test/battle/ai/ai_flag_sequence_switching.c +++ b/test/battle/ai/ai_flag_sequence_switching.c @@ -64,7 +64,7 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SEQUENCE_SWITCHING: Roar and Dragon Tail still fo } } -AI_SINGLE_BATTLE_TEST("AI_FLAG_SEQUENCE_SWITCHING: AI will always switch into lowest party index after U-Turn, Parting Shot, and Baton Pass") +AI_SINGLE_BATTLE_TEST("AI_FLAG_SEQUENCE_SWITCHING: AI will always switch into lowest party index after U-Turn, Parting Shot, Baton Pass, and Chilly Reception") { u32 j, aiSequenceSwitchingFlag = 0, move = MOVE_NONE; @@ -72,6 +72,7 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SEQUENCE_SWITCHING: AI will always switch into lo MOVE_U_TURN, MOVE_PARTING_SHOT, MOVE_BATON_PASS, + MOVE_CHILLY_RECEPTION, }; for (j = 0; j < ARRAY_COUNT(switchMoves); j++) @@ -84,6 +85,7 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SEQUENCE_SWITCHING: AI will always switch into lo ASSUME(gMovesInfo[MOVE_U_TURN].effect == EFFECT_HIT_ESCAPE); ASSUME(gMovesInfo[MOVE_PARTING_SHOT].effect == EFFECT_PARTING_SHOT); ASSUME(gMovesInfo[MOVE_BATON_PASS].effect == EFFECT_BATON_PASS); + ASSUME(gMovesInfo[MOVE_CHILLY_RECEPTION].effect == EFFECT_CHILLY_RECEPTION); AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | aiSequenceSwitchingFlag); PLAYER(SPECIES_SWELLOW) { Level (50); } OPPONENT(SPECIES_MACHOP) { Level(1); Moves(move); } From c075d8e6b1eef6c6948d19647a42e1a9a3c9e3b1 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 26 Aug 2024 15:59:01 -0400 Subject: [PATCH 08/78] Fixed test system documentation (#5266) --- docs/how_to_testing_system.md | 6 +++--- include/test/battle.h | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/how_to_testing_system.md b/docs/how_to_testing_system.md index 1f25f9847e..56719458ab 100644 --- a/docs/how_to_testing_system.md +++ b/docs/how_to_testing_system.md @@ -4,9 +4,9 @@ To run all the tests use: `make check -j` To run specific tests, e.g. Spikes ones, use: -`make check TESTS='Spikes'` +`make check TESTS="Spikes"` To build a ROM (pokemerald-test.elf) that can be opened in mgba to view specific tests, e.g. Spikes ones, use: -`make pokeemerald-test.elf TESTS='Spikes'` +`make pokeemerald-test.elf TESTS="Spikes"` ## How to Write Tests Manually testing a battle mechanic often follows this pattern: @@ -54,7 +54,7 @@ The `ASSUMPTIONS` block documents that Stun Spore has `EFFECT_PARALYZE`. If Stun Spore did not have that effect it would cause the tests in the file to be skipped. We write our tests like this so that hackers can change the effects of moves without causing tests to fail. `SINGLE_BATTLE_TEST` defines the name of the test. Related tests should start with the same prefix, e.g. Stun Spore tests should start with "Stun Spore", this allows just the Stun Spore-related tests to be run with: -`make check TESTS='Stun Spore'` +`make check TESTS="Stun Spore"` `GIVEN` initializes the parties, `PLAYER` and `OPPONENT` add a Pokémon to their respective parties. They can both accept a block which further customizes the Pokémon's stats, moves, item, ability, etc. diff --git a/include/test/battle.h b/include/test/battle.h index 865afe8e0b..c28410948d 100644 --- a/include/test/battle.h +++ b/include/test/battle.h @@ -3,10 +3,10 @@ * To run all the tests use: * make check -j * To run specific tests, e.g. Spikes ones, use: - * make check TESTS='Spikes' + * make check TESTS="Spikes" * To build a ROM (pokemerald-test.elf) that can be opened in mgba to * view specific tests, e.g. Spikes ones, use: - * make pokeemerald-test.elf TESTS='Spikes' + * make pokeemerald-test.elf TESTS="Spikes" * * Manually testing a battle mechanic often follows this pattern: * 1. Create a party which can activate the mechanic. @@ -55,7 +55,7 @@ * start with the same prefix, e.g. Stun Spore tests should start with * "Stun Spore", this allows just the Stun Spore-related tests to be run * with: - * make check TESTS='Stun Spore' + * make check TESTS="Stun Spore" * * GIVEN initializes the parties, PLAYER and OPPONENT add a Pokémon to * their respective parties. They can both accept a block which further From 2e43ffd5f7f1d9686d1c75d568270429d5d5ec19 Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Mon, 26 Aug 2024 21:59:39 +0200 Subject: [PATCH 09/78] Fixed Snore not hitting twice with Parental Bond (#5264) Co-authored-by: Hedara --- src/battle_script_commands.c | 14 +++++++------- test/battle/ability/parental_bond.c | 23 +++++++++++++++++++++++ 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 0fc9d7b3b1..cd5fd18268 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1240,10 +1240,10 @@ static void Cmd_attackcanceler(void) } if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_OFF - && GetBattlerAbility(gBattlerAttacker) == ABILITY_PARENTAL_BOND - && IsMoveAffectedByParentalBond(gCurrentMove, gBattlerAttacker) - && !(gAbsentBattlerFlags & gBitTable[gBattlerTarget]) - && GetActiveGimmick(gBattlerAttacker) != GIMMICK_Z_MOVE) + && GetBattlerAbility(gBattlerAttacker) == ABILITY_PARENTAL_BOND + && IsMoveAffectedByParentalBond(gCurrentMove, gBattlerAttacker) + && !(gAbsentBattlerFlags & gBitTable[gBattlerTarget]) + && GetActiveGimmick(gBattlerAttacker) != GIMMICK_Z_MOVE) { gSpecialStatuses[gBattlerAttacker].parentalBondState = PARENTAL_BOND_1ST_HIT; gMultiHitCounter = 2; @@ -6038,9 +6038,9 @@ static void Cmd_moveend(void) gBattlerTarget = BATTLE_PARTNER(gBattlerTarget); // Target the partner in doubles for second hit. if (gBattleMons[gBattlerAttacker].hp - && gBattleMons[gBattlerTarget].hp - && (gChosenMove == MOVE_SLEEP_TALK || !(gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP)) - && !(gBattleMons[gBattlerAttacker].status1 & STATUS1_FREEZE)) + && gBattleMons[gBattlerTarget].hp + && (gChosenMove == MOVE_SLEEP_TALK || (gChosenMove == MOVE_SNORE) || !(gBattleMons[gBattlerAttacker].status1 & STATUS1_SLEEP)) + && !(gBattleMons[gBattlerAttacker].status1 & STATUS1_FREEZE)) { if (gSpecialStatuses[gBattlerAttacker].parentalBondState) gSpecialStatuses[gBattlerAttacker].parentalBondState--; diff --git a/test/battle/ability/parental_bond.c b/test/battle/ability/parental_bond.c index 945e975b77..3ee942e789 100644 --- a/test/battle/ability/parental_bond.c +++ b/test/battle/ability/parental_bond.c @@ -263,6 +263,29 @@ SINGLE_BATTLE_TEST("Parental Bond Smack Down effect triggers after 2nd hit") } } +SINGLE_BATTLE_TEST("Parental Bond Snore strikes twice while asleep") +{ + s16 damage[2]; + GIVEN { + ASSUME(gMovesInfo[MOVE_SNORE].effect == EFFECT_SNORE); + PLAYER(SPECIES_KANGASKHAN_MEGA) { Status1(STATUS1_SLEEP); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_SNORE); } + } SCENE { + MESSAGE("Kangaskhan is fast asleep."); + ANIMATION(ANIM_TYPE_MOVE, MOVE_SNORE, player); + HP_BAR(opponent, captureDamage: &damage[0]); + HP_BAR(opponent, captureDamage: &damage[1]); + MESSAGE("Hit 2 time(s)!"); + } THEN { + if (B_PARENTAL_BOND_DMG == GEN_6) + EXPECT_MUL_EQ(damage[0], Q_4_12(0.5), damage[1]); + else + EXPECT_MUL_EQ(damage[0], Q_4_12(0.25), damage[1]); + } +} + TO_DO_BATTLE_TEST("Parental Bond tests"); // Temporary TODO: Convert Bulbapedia description into tests. From 03b0d066ce05d59b2261b9c82ec51ae16e012d39 Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Mon, 26 Aug 2024 16:50:58 -0500 Subject: [PATCH 10/78] Update battle_ai_main.c --- src/battle_ai_main.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index a7133fe363..a56e6ace3b 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -1742,8 +1742,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) case EFFECT_CHILLY_RECEPTION: if (CountUsablePartyMons(battlerAtk) == 0) ADJUST_SCORE(-10); - else if (weather & (B_WEATHER_SNOW | B_WEATHER_PRIMAL_ANY) - || IsMoveEffectWeather(aiData->partnerMove)) + else if (weather & (B_WEATHER_SNOW | B_WEATHER_PRIMAL_ANY) || IsMoveEffectWeather(aiData->partnerMove)) ADJUST_SCORE(-8); else if (weather & B_WEATHER_HAIL) ADJUST_SCORE(-2); // mainly to prevent looping between hail and snow From 74c309e2b08ef07f6294f613f44fab6006f11a74 Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Tue, 27 Aug 2024 01:55:54 +0200 Subject: [PATCH 11/78] Replaced all usages of tabs in C files with spaces (#5261) Co-authored-by: Hedara --- src/battle_ai_switch_items.c | 36 +- src/battle_ai_util.c | 40 +- src/battle_anim_dragon.c | 46 +- src/battle_anim_effects_1.c | 52 +- src/battle_anim_electric.c | 16 +- src/battle_anim_fight.c | 28 +- src/battle_anim_fire.c | 14 +- src/battle_anim_flying.c | 2 +- src/battle_anim_mon_movement.c | 22 +- src/battle_anim_new.c | 736 ++--- src/battle_anim_normal.c | 2 +- src/battle_anim_poison.c | 26 +- src/battle_anim_rock.c | 12 +- src/battle_anim_status_effects.c | 38 +- src/battle_anim_water.c | 10 +- src/battle_controllers.c | 4 +- src/battle_util.c | 2 +- src/data/field_effects/field_effect_objects.h | 58 +- src/data/pokemon/level_up_learnsets/gen_3.h | 2 +- src/data/pokemon/pokedex_orders.h | 2 +- src/data/tilesets/graphics.h | 2368 ++++++++--------- src/debug.c | 2 +- src/event_object_movement.c | 44 +- src/mini_printf.c | 6 +- src/pokedex_plus_hgss.c | 16 +- 25 files changed, 1792 insertions(+), 1792 deletions(-) diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 23a655d5ed..8c69b695c0 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -71,11 +71,11 @@ void GetAIPartyIndexes(u32 battler, s32 *firstId, s32 *lastId) static bool32 HasBadOdds(u32 battler, bool32 emitResult) { //Variable initialization - u8 opposingPosition, atkType1, atkType2, defType1, defType2, effectiveness; + u8 opposingPosition, atkType1, atkType2, defType1, defType2, effectiveness; s32 i, damageDealt = 0, maxDamageDealt = 0, damageTaken = 0, maxDamageTaken = 0; u32 aiMove, playerMove, aiBestMove = MOVE_NONE, aiAbility = AI_DATA->abilities[battler], opposingBattler, weather = AI_GetWeather(AI_DATA); bool32 getsOneShot = FALSE, hasStatusMove = FALSE, hasSuperEffectiveMove = FALSE; - u16 typeEffectiveness = UQ_4_12(1.0), aiMoveEffect; //baseline typing damage + u16 typeEffectiveness = UQ_4_12(1.0), aiMoveEffect; //baseline typing damage // Only use this if AI_FLAG_SMART_SWITCHING is set for the trainer if (!(AI_THINKING_STRUCT->aiFlags[battler] & AI_FLAG_SMART_SWITCHING)) @@ -85,14 +85,14 @@ static bool32 HasBadOdds(u32 battler, bool32 emitResult) if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) return FALSE; - opposingPosition = BATTLE_OPPOSITE(GetBattlerPosition(battler)); + opposingPosition = BATTLE_OPPOSITE(GetBattlerPosition(battler)); opposingBattler = GetBattlerAtPosition(opposingPosition); // Gets types of player (opposingBattler) and computer (battler) - atkType1 = gBattleMons[opposingBattler].types[0]; - atkType2 = gBattleMons[opposingBattler].types[1]; - defType1 = gBattleMons[battler].types[0]; - defType2 = gBattleMons[battler].types[1]; + atkType1 = gBattleMons[opposingBattler].types[0]; + atkType2 = gBattleMons[opposingBattler].types[1]; + defType1 = gBattleMons[battler].types[0]; + defType2 = gBattleMons[battler].types[1]; // Check AI moves for damage dealt for (i = 0; i < MAX_MON_MOVES; i++) @@ -191,13 +191,13 @@ static bool32 HasBadOdds(u32 battler, bool32 emitResult) } // General bad type matchups have more wiggle room - if (typeEffectiveness >= UQ_4_12(2.0)) // If the player has at least a 2x type advantage - { - if (!hasSuperEffectiveMove // If the AI doesn't have a super effective move - && (gBattleMons[battler].hp >= gBattleMons[battler].maxHP / 2 // And the current mon has at least 1/2 their HP, or 1/4 HP and Regenerator + if (typeEffectiveness >= UQ_4_12(2.0)) // If the player has at least a 2x type advantage + { + if (!hasSuperEffectiveMove // If the AI doesn't have a super effective move + && (gBattleMons[battler].hp >= gBattleMons[battler].maxHP / 2 // And the current mon has at least 1/2 their HP, or 1/4 HP and Regenerator || (aiAbility == ABILITY_REGENERATOR && gBattleMons[battler].hp >= gBattleMons[battler].maxHP / 4))) - { + { // Then check if they have an important status move, which is worth using even in a bad matchup if (hasStatusMove) return FALSE; @@ -207,13 +207,13 @@ static bool32 HasBadOdds(u32 battler, bool32 emitResult) return FALSE; // Switch mon out - gBattleStruct->AI_monToSwitchIntoId[battler] = PARTY_SIZE; - if (emitResult) + gBattleStruct->AI_monToSwitchIntoId[battler] = PARTY_SIZE; + if (emitResult) BtlController_EmitTwoReturnValues(battler, 1, B_ACTION_SWITCH, 0); - return TRUE; - } - } - return FALSE; + return TRUE; + } + } + return FALSE; } static bool32 ShouldSwitchIfAllBadMoves(u32 battler, bool32 emitResult) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 59ed0d0fd9..ad22ed8fda 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -2197,7 +2197,7 @@ bool32 IsAttackBoostMoveEffect(u32 effect) switch (effect) { case EFFECT_ATTACK_UP: - case EFFECT_ATTACK_UP_2: + case EFFECT_ATTACK_UP_2: case EFFECT_ATTACK_ACCURACY_UP: case EFFECT_ATTACK_SPATK_UP: case EFFECT_DRAGON_DANCE: @@ -2217,34 +2217,34 @@ bool32 IsStatRaisingEffect(u32 effect) switch (effect) { case EFFECT_ATTACK_UP: - case EFFECT_ATTACK_UP_2: - case EFFECT_DEFENSE_UP: - case EFFECT_DEFENSE_UP_2: + case EFFECT_ATTACK_UP_2: + case EFFECT_DEFENSE_UP: + case EFFECT_DEFENSE_UP_2: case EFFECT_DEFENSE_UP_3: - case EFFECT_SPEED_UP: - case EFFECT_SPEED_UP_2: - case EFFECT_SPECIAL_ATTACK_UP: - case EFFECT_SPECIAL_ATTACK_UP_2: + case EFFECT_SPEED_UP: + case EFFECT_SPEED_UP_2: + case EFFECT_SPECIAL_ATTACK_UP: + case EFFECT_SPECIAL_ATTACK_UP_2: case EFFECT_SPECIAL_ATTACK_UP_3: - case EFFECT_SPECIAL_DEFENSE_UP: - case EFFECT_SPECIAL_DEFENSE_UP_2: + case EFFECT_SPECIAL_DEFENSE_UP: + case EFFECT_SPECIAL_DEFENSE_UP_2: case EFFECT_ACCURACY_UP: case EFFECT_ACCURACY_UP_2: case EFFECT_EVASION_UP: case EFFECT_EVASION_UP_2: case EFFECT_MINIMIZE: case EFFECT_DEFENSE_CURL: - case EFFECT_CALM_MIND: + case EFFECT_CALM_MIND: case EFFECT_COSMIC_POWER: - case EFFECT_DRAGON_DANCE: - case EFFECT_ACUPRESSURE: - case EFFECT_SHELL_SMASH: - case EFFECT_SHIFT_GEAR: - case EFFECT_ATTACK_ACCURACY_UP: - case EFFECT_ATTACK_SPATK_UP: - case EFFECT_GROWTH: - case EFFECT_COIL: - case EFFECT_QUIVER_DANCE: + case EFFECT_DRAGON_DANCE: + case EFFECT_ACUPRESSURE: + case EFFECT_SHELL_SMASH: + case EFFECT_SHIFT_GEAR: + case EFFECT_ATTACK_ACCURACY_UP: + case EFFECT_ATTACK_SPATK_UP: + case EFFECT_GROWTH: + case EFFECT_COIL: + case EFFECT_QUIVER_DANCE: case EFFECT_BULK_UP: case EFFECT_GEOMANCY: case EFFECT_STOCKPILE: diff --git a/src/battle_anim_dragon.c b/src/battle_anim_dragon.c index 862c0ad069..f3ee2a3818 100644 --- a/src/battle_anim_dragon.c +++ b/src/battle_anim_dragon.c @@ -627,36 +627,36 @@ static void AnimOverheatFlame_Step(struct Sprite *sprite) void AnimDracoMeteorRock(struct Sprite *sprite) { - if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) - { - sprite->data[0] = sprite->x - gBattleAnimArgs[0]; - sprite->data[2] = sprite->x - gBattleAnimArgs[2]; - } - else - { - sprite->data[0] = sprite->x + gBattleAnimArgs[0]; - sprite->data[2] = sprite->x + gBattleAnimArgs[2]; - } + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) + { + sprite->data[0] = sprite->x - gBattleAnimArgs[0]; + sprite->data[2] = sprite->x - gBattleAnimArgs[2]; + } + else + { + sprite->data[0] = sprite->x + gBattleAnimArgs[0]; + sprite->data[2] = sprite->x + gBattleAnimArgs[2]; + } - sprite->data[1] = sprite->y + gBattleAnimArgs[1]; - sprite->data[3] = sprite->y + gBattleAnimArgs[3]; - sprite->data[4] = gBattleAnimArgs[4]; + sprite->data[1] = sprite->y + gBattleAnimArgs[1]; + sprite->data[3] = sprite->y + gBattleAnimArgs[3]; + sprite->data[4] = gBattleAnimArgs[4]; - sprite->data[6] = gBattleAnimArgs[2]; - sprite->data[7] = gBattleAnimArgs[3]; + sprite->data[6] = gBattleAnimArgs[2]; + sprite->data[7] = gBattleAnimArgs[3]; - sprite->x = sprite->data[0]; - sprite->y = sprite->data[1]; - sprite->callback = AnimDracoMeteorRock_Step; + sprite->x = sprite->data[0]; + sprite->y = sprite->data[1]; + sprite->callback = AnimDracoMeteorRock_Step; } static void AnimDracoMeteorRock_Step(struct Sprite *sprite) { - sprite->x2 = ((sprite->data[2] - sprite->data[0]) * sprite->data[5]) / sprite->data[4]; - sprite->y2 = ((sprite->data[3] - sprite->data[1]) * sprite->data[5]) / sprite->data[4]; + sprite->x2 = ((sprite->data[2] - sprite->data[0]) * sprite->data[5]) / sprite->data[4]; + sprite->y2 = ((sprite->data[3] - sprite->data[1]) * sprite->data[5]) / sprite->data[4]; - if (sprite->data[5] == sprite->data[4]) - DestroyAnimSprite(sprite); + if (sprite->data[5] == sprite->data[4]) + DestroyAnimSprite(sprite); - sprite->data[5]++; + sprite->data[5]++; } diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index b29d9b2b94..c4b50fa797 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -2535,13 +2535,13 @@ const struct SpriteTemplate gTauntFingerSpriteTemplate = const struct SpriteTemplate gPowerOrbs_Float = { - .tileTag = ANIM_TAG_RED_ORB, - .paletteTag = ANIM_TAG_RED_ORB, - .oam = &gOamData_AffineOff_ObjNormal_16x16, - .anims = gSporeParticleAnimTable, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = AnimSporeParticle, + .tileTag = ANIM_TAG_RED_ORB, + .paletteTag = ANIM_TAG_RED_ORB, + .oam = &gOamData_AffineOff_ObjNormal_16x16, + .anims = gSporeParticleAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimSporeParticle, }; const union AnimCmd gRockPolishStreak_AnimCmd[] = @@ -7234,42 +7234,42 @@ static void AnimNightSlash(struct Sprite *sprite) static const union AffineAnimCmd sCompressTargetHorizontallyAffineAnimCmds[] = { - AFFINEANIMCMD_FRAME(64, 0, 0, 16), //Compress - AFFINEANIMCMD_FRAME(0, 0, 0, 64), - AFFINEANIMCMD_FRAME(-64, 0, 0, 16), - AFFINEANIMCMD_END, + AFFINEANIMCMD_FRAME(64, 0, 0, 16), //Compress + AFFINEANIMCMD_FRAME(0, 0, 0, 64), + AFFINEANIMCMD_FRAME(-64, 0, 0, 16), + AFFINEANIMCMD_END, }; static const union AffineAnimCmd sCompressTargetHorizontallyAffineAnimCmdsFast[] = { - AFFINEANIMCMD_FRAME(32, 0, 0, 16), //Compress - AFFINEANIMCMD_FRAME(0, 0, 0, 32), - AFFINEANIMCMD_FRAME(-32, 0, 0, 16), - AFFINEANIMCMD_END, + AFFINEANIMCMD_FRAME(32, 0, 0, 16), //Compress + AFFINEANIMCMD_FRAME(0, 0, 0, 32), + AFFINEANIMCMD_FRAME(-32, 0, 0, 16), + AFFINEANIMCMD_END, }; static void AnimTask_CompressTargetStep(u8 taskId) { - struct Task* task = &gTasks[taskId]; + struct Task* task = &gTasks[taskId]; - if (!RunAffineAnimFromTaskData(task)) - DestroyAnimVisualTask(taskId); + if (!RunAffineAnimFromTaskData(task)) + DestroyAnimVisualTask(taskId); } void AnimTask_CompressTargetHorizontally(u8 taskId) { - struct Task* task = &gTasks[taskId]; - u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); - PrepareAffineAnimInTaskData(task, spriteId, sCompressTargetHorizontallyAffineAnimCmds); - task->func = AnimTask_CompressTargetStep; + struct Task* task = &gTasks[taskId]; + u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); + PrepareAffineAnimInTaskData(task, spriteId, sCompressTargetHorizontallyAffineAnimCmds); + task->func = AnimTask_CompressTargetStep; } void AnimTask_CompressTargetHorizontallyFast(u8 taskId) { - struct Task* task = &gTasks[taskId]; - u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); - PrepareAffineAnimInTaskData(task, spriteId, sCompressTargetHorizontallyAffineAnimCmdsFast); - task->func = AnimTask_CompressTargetStep; + struct Task* task = &gTasks[taskId]; + u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); + PrepareAffineAnimInTaskData(task, spriteId, sCompressTargetHorizontallyAffineAnimCmdsFast); + task->func = AnimTask_CompressTargetStep; } void AnimTask_CreateSmallSteelBeamOrbs(u8 taskId) diff --git a/src/battle_anim_electric.c b/src/battle_anim_electric.c index 38ca948749..de6d820264 100644 --- a/src/battle_anim_electric.c +++ b/src/battle_anim_electric.c @@ -525,17 +525,17 @@ const struct SpriteTemplate gFlashCannonGrayChargeTemplate = static const union AffineAnimCmd sSpriteAffineAnim_JudgmentBall[] = { - AFFINEANIMCMD_FRAME(16, 16, 0, 0), - AFFINEANIMCMD_FRAME(8, 8, 0, 15), //Half size - AFFINEANIMCMD_FRAME(0, 0, 0, 120), //Delay - AFFINEANIMCMD_FRAME(24, 24, 0, 5), //Normal size - AFFINEANIMCMD_FRAME(0, 0, 0, 10), //Delay - AFFINEANIMCMD_FRAME(-16, -16, 0, 15), //Revert to 1 px - AFFINEANIMCMD_END, + AFFINEANIMCMD_FRAME(16, 16, 0, 0), + AFFINEANIMCMD_FRAME(8, 8, 0, 15), //Half size + AFFINEANIMCMD_FRAME(0, 0, 0, 120), //Delay + AFFINEANIMCMD_FRAME(24, 24, 0, 5), //Normal size + AFFINEANIMCMD_FRAME(0, 0, 0, 10), //Delay + AFFINEANIMCMD_FRAME(-16, -16, 0, 15), //Revert to 1 px + AFFINEANIMCMD_END, }; static const union AffineAnimCmd* const sSpriteAffineAnimTable_JudgmentBall[] = { - sSpriteAffineAnim_JudgmentBall, + sSpriteAffineAnim_JudgmentBall, }; const struct SpriteTemplate gJudgmentBlackChargeTemplate = { diff --git a/src/battle_anim_fight.c b/src/battle_anim_fight.c index 0db2a92afc..e150a2a57d 100644 --- a/src/battle_anim_fight.c +++ b/src/battle_anim_fight.c @@ -403,24 +403,24 @@ const struct SpriteTemplate gFocusPunchFistSpriteTemplate = const struct SpriteTemplate gPalmSpriteTemplate = { - .tileTag = ANIM_TAG_PURPLE_HAND_OUTLINE, - .paletteTag = ANIM_TAG_PURPLE_HAND_OUTLINE, - .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gAnims_HandsAndFeet, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = AnimBasicFistOrFoot, + .tileTag = ANIM_TAG_PURPLE_HAND_OUTLINE, + .paletteTag = ANIM_TAG_PURPLE_HAND_OUTLINE, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gAnims_HandsAndFeet, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimBasicFistOrFoot, }; const struct SpriteTemplate gAuraSphereBlast = { - .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, - .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, - .oam = &gOamData_AffineOff_ObjNormal_64x64, - .anims = gDummySpriteAnimTable, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = AnimSuperpowerFireball, + .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, + .paletteTag = ANIM_TAG_CIRCLE_OF_LIGHT, + .oam = &gOamData_AffineOff_ObjNormal_64x64, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimSuperpowerFireball, }; const union AffineAnimCmd gForcePalmAffineAnimCmd_1[] = diff --git a/src/battle_anim_fire.c b/src/battle_anim_fire.c index 3a770a7c8c..401cc09eaf 100644 --- a/src/battle_anim_fire.c +++ b/src/battle_anim_fire.c @@ -530,13 +530,13 @@ const struct SpriteTemplate gSpacialRendBladesTemplate2 = // Sea of Fire const struct SpriteTemplate gTwisterEmberSpriteTemplate = { - .tileTag = ANIM_TAG_SMALL_EMBER, - .paletteTag = ANIM_TAG_SMALL_EMBER, - .oam = &gOamData_AffineOff_ObjNormal_32x32, - .anims = gAnims_BasicFire, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = AnimMoveTwisterParticle, + .tileTag = ANIM_TAG_SMALL_EMBER, + .paletteTag = ANIM_TAG_SMALL_EMBER, + .oam = &gOamData_AffineOff_ObjNormal_32x32, + .anims = gAnims_BasicFire, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = AnimMoveTwisterParticle, }; static void AnimLavaPlumeOrbitScatter(struct Sprite *sprite) diff --git a/src/battle_anim_flying.c b/src/battle_anim_flying.c index 6afe1e9f36..1fd587fa4c 100644 --- a/src/battle_anim_flying.c +++ b/src/battle_anim_flying.c @@ -527,7 +527,7 @@ void AnimFlyBallAttack(struct Sprite *sprite) sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); sprite->data[3] = sprite->y; sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); - sprite->data[5] = gBattleAnimArgs[1]; // if sprite is to remain invisible + sprite->data[5] = gBattleAnimArgs[1]; // if sprite is to remain invisible InitAnimLinearTranslation(sprite); sprite->callback = AnimFlyBallAttack_Step; diff --git a/src/battle_anim_mon_movement.c b/src/battle_anim_mon_movement.c index cbd70817f5..051524a689 100644 --- a/src/battle_anim_mon_movement.c +++ b/src/battle_anim_mon_movement.c @@ -730,13 +730,13 @@ static void AnimTask_DuckDownHop_Step1(u8 taskId) { u8 spriteId; - spriteId = gTasks[taskId].data[0]; - gTasks[taskId].data[12] += gTasks[taskId].data[5]; - gSprites[spriteId].y2 = (gTasks[taskId].data[12] >> 8); - if (--gTasks[taskId].data[6] == 0) - { + spriteId = gTasks[taskId].data[0]; + gTasks[taskId].data[12] += gTasks[taskId].data[5]; + gSprites[spriteId].y2 = (gTasks[taskId].data[12] >> 8); + if (--gTasks[taskId].data[6] == 0) + { gTasks[taskId].func = AnimTask_DuckDownHop_Step2; - } + } } static void AnimTask_DuckDownHop_Step2(u8 taskId) @@ -748,11 +748,11 @@ static void AnimTask_DuckDownHop_Step2(u8 taskId) } else { - spriteId = gTasks[taskId].data[0]; - gTasks[taskId].data[11] += gTasks[taskId].data[1]; - gSprites[spriteId].x2 = gTasks[taskId].data[11] >> 8; - gSprites[spriteId].y2 = Sin((u8)(gTasks[taskId].data[10] >> 8), gTasks[taskId].data[2]) + (gTasks[taskId].data[12] >> 8); - gTasks[taskId].data[10] += gTasks[taskId].data[7]; + spriteId = gTasks[taskId].data[0]; + gTasks[taskId].data[11] += gTasks[taskId].data[1]; + gSprites[spriteId].x2 = gTasks[taskId].data[11] >> 8; + gSprites[spriteId].y2 = Sin((u8)(gTasks[taskId].data[10] >> 8), gTasks[taskId].data[2]) + (gTasks[taskId].data[12] >> 8); + gTasks[taskId].data[10] += gTasks[taskId].data[7]; if (--gTasks[taskId].data[3] == 0) { DestroyAnimVisualTask(taskId); diff --git a/src/battle_anim_new.c b/src/battle_anim_new.c index cd89b6aab7..eba6496f20 100644 --- a/src/battle_anim_new.c +++ b/src/battle_anim_new.c @@ -4202,13 +4202,13 @@ const struct SpriteTemplate gTripleAxelIceCrystalSpriteTemplate = // dual wingbeat static const union AffineAnimCmd sSpriteAffineAnim_WingAttackFeather[] = { - AFFINEANIMCMD_FRAME(0, 0, -1, 14), //Rotate a little right - AFFINEANIMCMD_FRAME(0, 0, 1, 28), //Rotate a little left - AFFINEANIMCMD_END, + AFFINEANIMCMD_FRAME(0, 0, -1, 14), //Rotate a little right + AFFINEANIMCMD_FRAME(0, 0, 1, 28), //Rotate a little left + AFFINEANIMCMD_END, }; static const union AffineAnimCmd* const sSpriteAffineAnimTable_WingAttackFeather[] = { - sSpriteAffineAnim_WingAttackFeather, + sSpriteAffineAnim_WingAttackFeather, }; const struct SpriteTemplate gDualWingbeatFeatherSpriteTemplate = { @@ -4234,11 +4234,11 @@ const struct SpriteTemplate gSpriteTemplate_LargeCrossImpact = { // expanding force static const struct OamData sGeyserOam = { - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_NORMAL, - .shape = SPRITE_SHAPE(32x32), - .size = SPRITE_SIZE(32x32), - .priority = 1, //Above sprites + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .shape = SPRITE_SHAPE(32x32), + .size = SPRITE_SIZE(32x32), + .priority = 1, //Above sprites }; const struct SpriteTemplate gSpriteTemplate_ExpandingForceExplode = { .tileTag = ANIM_TAG_EXPLOSION_2, @@ -4252,12 +4252,12 @@ const struct SpriteTemplate gSpriteTemplate_ExpandingForceExplode = { // spirit break static const union AffineAnimCmd sSpriteAffineAnim_SpiritBreakBall[] = { - AFFINEANIMCMD_FRAME(16, 16, 0, 0), - AFFINEANIMCMD_FRAME(2, 2, 0, 50), //Grow slowly to half size - AFFINEANIMCMD_END, + AFFINEANIMCMD_FRAME(16, 16, 0, 0), + AFFINEANIMCMD_FRAME(2, 2, 0, 50), //Grow slowly to half size + AFFINEANIMCMD_END, }; static const union AffineAnimCmd* const sSpriteAffineAnimTable_SpiritBreakBall[] = { - sSpriteAffineAnim_SpiritBreakBall, + sSpriteAffineAnim_SpiritBreakBall, }; const struct SpriteTemplate gSpriteTemplate_SpiritBreakChargeBall = { .tileTag = ANIM_TAG_CIRCLE_OF_LIGHT, @@ -4281,11 +4281,11 @@ const struct SpriteTemplate gSpriteTemplate_SpiritBreakExplode = { // chloroblast const union AffineAnimCmd sSpriteAffineAnim_HydroCannonBall[] = { - AFFINEANIMCMD_FRAME(16, 16, 0, 16), //Double in size - AFFINEANIMCMD_END + AFFINEANIMCMD_FRAME(16, 16, 0, 16), //Double in size + AFFINEANIMCMD_END }; const union AffineAnimCmd* const sSpriteAffineAnimTable_HydroCannonBall[] = { - sSpriteAffineAnim_HydroCannonBall, + sSpriteAffineAnim_HydroCannonBall, }; const struct SpriteTemplate gSpriteTemplate_ChloroblastShot = { .tileTag = ANIM_TAG_HYDRO_PUMP, @@ -4394,12 +4394,12 @@ const struct SpriteTemplate gSpriteTemplate_FlipTurnBack = { // wicked blow static const union AffineAnimCmd sSpriteAffineAnim_DrainPunchFist[] = { - AFFINEANIMCMD_FRAME(256, 256, 0, 1), //Double sprite size - AFFINEANIMCMD_FRAME(-32, -32, 0, 8), - AFFINEANIMCMD_END, + AFFINEANIMCMD_FRAME(256, 256, 0, 1), //Double sprite size + AFFINEANIMCMD_FRAME(-32, -32, 0, 8), + AFFINEANIMCMD_END, }; static const union AffineAnimCmd* const sSpriteAffineAnimTable_DrainPunchFist[] = { - sSpriteAffineAnim_DrainPunchFist, + sSpriteAffineAnim_DrainPunchFist, }; const struct SpriteTemplate gSpriteTemplate_WickedBlowFist = { @@ -4432,14 +4432,14 @@ const struct SpriteTemplate gSpriteTemplate_WickedBlowRedStars = { // surging strikes static const union AnimCmd sAnimCmdSurgingStrike[] = { - //Only tthe first three frames of the animation - ANIMCMD_FRAME(64, 4), - ANIMCMD_FRAME(48, 4), - ANIMCMD_FRAME(32, 4), - ANIMCMD_END, + //Only tthe first three frames of the animation + ANIMCMD_FRAME(64, 4), + ANIMCMD_FRAME(48, 4), + ANIMCMD_FRAME(32, 4), + ANIMCMD_END, }; static const union AnimCmd *const sAnimCmdTable_SurgingStrike[] = { - sAnimCmdSurgingStrike, + sAnimCmdSurgingStrike, }; const struct SpriteTemplate gSpriteTemplate_SurgingStrikesImpact = { .tileTag = ANIM_TAG_IMPACT_2, @@ -4477,22 +4477,22 @@ const struct SpriteTemplate gSpriteTemplate_FieryWrathGeyser = { static const union AffineAnimCmd sSpriteAffineAnim_GlacialLance_Grow[] = { AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 0), AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 30), //Double sprite size - AFFINEANIMCMD_END, + AFFINEANIMCMD_END, }; static const union AffineAnimCmd sSpriteAffineAnim_GlacialLance_OnFoe[] = { - AFFINEANIMCMD_FRAME(256, 256, 0, 1), //Double sprite size - AFFINEANIMCMD_FRAME(0, 0, -8, 4), //Rotate 45 degrees right - AFFINEANIMCMD_END, + AFFINEANIMCMD_FRAME(256, 256, 0, 1), //Double sprite size + AFFINEANIMCMD_FRAME(0, 0, -8, 4), //Rotate 45 degrees right + AFFINEANIMCMD_END, }; static const union AffineAnimCmd sSpriteAffineAnim_GlacialLance_OnPlayer[] = { - AFFINEANIMCMD_FRAME(256, 256, 0, 1), //Double sprite size - AFFINEANIMCMD_FRAME(0, 0, 24, 4), //Rotate 135 degrees left - AFFINEANIMCMD_END, + AFFINEANIMCMD_FRAME(256, 256, 0, 1), //Double sprite size + AFFINEANIMCMD_FRAME(0, 0, 24, 4), //Rotate 135 degrees left + AFFINEANIMCMD_END, }; static const union AffineAnimCmd* const sSpriteAffineAnimTable_GlacialLance[] = { - sSpriteAffineAnim_GlacialLance_Grow, - sSpriteAffineAnim_GlacialLance_OnFoe, - sSpriteAffineAnim_GlacialLance_OnPlayer, + sSpriteAffineAnim_GlacialLance_Grow, + sSpriteAffineAnim_GlacialLance_OnFoe, + sSpriteAffineAnim_GlacialLance_OnPlayer, }; const struct SpriteTemplate gSpriteTemplate_GlacialLance = { .tileTag = ANIM_TAG_ICICLE_SPEAR, @@ -4562,11 +4562,11 @@ const struct SpriteTemplate gSpriteTemplate_PowerShiftDefenseBall = { // stone axe static const union AnimCmd sAnimCmdFlippedX[] = { - ANIMCMD_FRAME(0, 1, .hFlip = TRUE), - ANIMCMD_END, + ANIMCMD_FRAME(0, 1, .hFlip = TRUE), + ANIMCMD_END, }; static const union AnimCmd *const sAnimCmdTable_FlippedX[] = { - sAnimCmdFlippedX, + sAnimCmdFlippedX, }; const struct SpriteTemplate gSpriteTemplate_StoneAxeSlash = { .tileTag = ANIM_TAG_SLAM_HIT_2, @@ -4600,12 +4600,12 @@ const struct SpriteTemplate gSpriteTemplate_VioletMind = { // also psystrike .callback = AnimSpriteOnMonPos }; static const union AffineAnimCmd sSpriteAffineAnim_MysticalPowerRing[] = { - AFFINEANIMCMD_FRAME(16, 16, 0, 0), //Start small - AFFINEANIMCMD_FRAME(16, 16, 0, 15), //Grow sprite + AFFINEANIMCMD_FRAME(16, 16, 0, 0), //Start small + AFFINEANIMCMD_FRAME(16, 16, 0, 15), //Grow sprite AFFINEANIMCMD_END, }; static const union AffineAnimCmd* const sSpriteAffineAnimTable_MysticalPowerRing[] = { - sSpriteAffineAnim_MysticalPowerRing, + sSpriteAffineAnim_MysticalPowerRing, }; const struct SpriteTemplate gSpriteTemplate_MysticalPowerRing = { .tileTag = ANIM_TAG_THIN_RING, @@ -4703,17 +4703,17 @@ const struct SpriteTemplate gSpriteTemplate_TripleArrowKick = { // infernal parade static const union AffineAnimCmd sSpriteAffineAnim_FlutterbyPulsate[] = { - AFFINEANIMCMD_FRAME(16, 16, 0, 4), - AFFINEANIMCMD_FRAME(-16, -16, 0, 4), - AFFINEANIMCMD_JUMP(0), + AFFINEANIMCMD_FRAME(16, 16, 0, 4), + AFFINEANIMCMD_FRAME(-16, -16, 0, 4), + AFFINEANIMCMD_JUMP(0), }; static const union AffineAnimCmd sSpriteAffineAnim_FlutterbyGrow[] = { - AFFINEANIMCMD_FRAME(8, 8, 0, 16), //Double in size - AFFINEANIMCMD_END, + AFFINEANIMCMD_FRAME(8, 8, 0, 16), //Double in size + AFFINEANIMCMD_END, }; static const union AffineAnimCmd* const sSpriteAffineAnimTable_Flutterby[] = { - sSpriteAffineAnim_FlutterbyPulsate, - sSpriteAffineAnim_FlutterbyGrow, + sSpriteAffineAnim_FlutterbyPulsate, + sSpriteAffineAnim_FlutterbyGrow, }; const struct SpriteTemplate gSpriteTemplate_InfernalParadeFlame = { .tileTag = ANIM_TAG_PURPLE_FLAME, @@ -4738,13 +4738,13 @@ const struct SpriteTemplate gSpriteTemplate_CeaselessEdgeSlash = { // wildbolt storm static const union AnimCmd sAnimCmdAnimatedSpark2[] = { - ANIMCMD_FRAME((16 * 16) / (8 * 8) * 0, 8), - ANIMCMD_FRAME((16 * 16) / (8 * 8) * 1, 8), - ANIMCMD_FRAME((16 * 16) / (8 * 8) * 2, 8), - ANIMCMD_JUMP(0) + ANIMCMD_FRAME((16 * 16) / (8 * 8) * 0, 8), + ANIMCMD_FRAME((16 * 16) / (8 * 8) * 1, 8), + ANIMCMD_FRAME((16 * 16) / (8 * 8) * 2, 8), + ANIMCMD_JUMP(0) }; static const union AnimCmd *const sAnimCmdTable_AnimatedSpark2[] = { - sAnimCmdAnimatedSpark2, + sAnimCmdAnimatedSpark2, }; const struct SpriteTemplate gSpriteTemplate_WildboltStormSpark = { .tileTag = ANIM_TAG_SPARK_2, @@ -8318,69 +8318,69 @@ static void SpriteCB_GeyserTarget(struct Sprite *sprite) //// Anim Tasks Functions void AnimTask_IsAttackerPlayerSide(u8 taskId) { - if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) - gBattleAnimArgs[7] = 0; - else - gBattleAnimArgs[7] = 1; + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) + gBattleAnimArgs[7] = 0; + else + gBattleAnimArgs[7] = 1; - DestroyAnimVisualTask(taskId); + DestroyAnimVisualTask(taskId); } static void AnimTask_FadeOutParticlesHelper(u8 taskId) { - if (gTasks[taskId].data[1] == 0) //Target reached - { - DestroyAnimVisualTask(taskId); - } - else if (gTasks[taskId].data[4]++ >= gTasks[taskId].data[3]) - { - gTasks[taskId].data[4] = 0; //Reset timer - gTasks[taskId].data[1]--; - gTasks[taskId].data[2]++; - SetGpuReg(REG_OFFSET_BLDALPHA, (gTasks[taskId].data[2] * 256) + gTasks[taskId].data[1]); - } + if (gTasks[taskId].data[1] == 0) //Target reached + { + DestroyAnimVisualTask(taskId); + } + else if (gTasks[taskId].data[4]++ >= gTasks[taskId].data[3]) + { + gTasks[taskId].data[4] = 0; //Reset timer + gTasks[taskId].data[1]--; + gTasks[taskId].data[2]++; + SetGpuReg(REG_OFFSET_BLDALPHA, (gTasks[taskId].data[2] * 256) + gTasks[taskId].data[1]); + } } void AnimTask_FadeOutParticles(u8 taskId) { - u8 existingTaskId = FindTaskIdByFunc(AnimTask_FadeOutParticlesHelper); - if (existingTaskId != 0xFF) - DestroyAnimVisualTask(existingTaskId); //Can only have one of these tasks going at a time + u8 existingTaskId = FindTaskIdByFunc(AnimTask_FadeOutParticlesHelper); + if (existingTaskId != 0xFF) + DestroyAnimVisualTask(existingTaskId); //Can only have one of these tasks going at a time - SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0)); - SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); //Blend sprites out - gTasks[taskId].data[1] = 16; - gTasks[taskId].data[2] = 0; - gTasks[taskId].data[3] = gBattleAnimArgs[0]; //Delay - gTasks[taskId].data[4] = 0; //Delay Timer - gTasks[taskId].func = AnimTask_FadeOutParticlesHelper; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0)); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); //Blend sprites out + gTasks[taskId].data[1] = 16; + gTasks[taskId].data[2] = 0; + gTasks[taskId].data[3] = gBattleAnimArgs[0]; //Delay + gTasks[taskId].data[4] = 0; //Delay Timer + gTasks[taskId].func = AnimTask_FadeOutParticlesHelper; } static const union AffineAnimCmd sShellSmashShrinkAffineAnimCmds[] = { - AFFINEANIMCMD_FRAME(64, 64, 0, 16), //Flatten - AFFINEANIMCMD_FRAME(0, 0, 0, 48), - AFFINEANIMCMD_FRAME(-64, -64, 0, 16), - AFFINEANIMCMD_END, + AFFINEANIMCMD_FRAME(64, 64, 0, 16), //Flatten + AFFINEANIMCMD_FRAME(0, 0, 0, 48), + AFFINEANIMCMD_FRAME(-64, -64, 0, 16), + AFFINEANIMCMD_END, }; //Shrinks the attacker, pauses, then scales up the attacker again void AnimTask_ShellSmashShrinkAttacker(u8 taskId) { - struct Task* task = &gTasks[taskId]; - u8 spriteId; + struct Task* task = &gTasks[taskId]; + u8 spriteId; - task->data[0] = gBattleAnimArgs[0]; //Pause - spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); - PrepareAffineAnimInTaskData(task, spriteId, sShellSmashShrinkAffineAnimCmds); - task->func = AnimTask_DynamaxGrowthStep; + task->data[0] = gBattleAnimArgs[0]; //Pause + spriteId = GetAnimBattlerSpriteId(ANIM_TARGET); + PrepareAffineAnimInTaskData(task, spriteId, sShellSmashShrinkAffineAnimCmds); + task->func = AnimTask_DynamaxGrowthStep; } static void AnimTask_DynamaxGrowthStep(u8 taskId) // from CFRU { - struct Task* task = &gTasks[taskId]; - if (!RunAffineAnimFromTaskData(task)) - DestroyAnimVisualTask(taskId); + struct Task* task = &gTasks[taskId]; + if (!RunAffineAnimFromTaskData(task)) + DestroyAnimVisualTask(taskId); } void AnimTask_AllBattlersInvisible(u8 taskId) @@ -8398,14 +8398,14 @@ void AnimTask_AllBattlersInvisible(u8 taskId) void AnimTask_AllBattlersVisible(u8 taskId) { u32 i, spriteId; - for (i = 0; i < gBattlersCount; ++i) - { - spriteId = gBattlerSpriteIds[i]; - if (IsBattlerSpriteVisible(i) && spriteId != 0xFF) - gSprites[spriteId].invisible = FALSE; - } + for (i = 0; i < gBattlersCount; ++i) + { + spriteId = gBattlerSpriteIds[i]; + if (IsBattlerSpriteVisible(i) && spriteId != 0xFF) + gSprites[spriteId].invisible = FALSE; + } - DestroyAnimVisualTask(taskId); + DestroyAnimVisualTask(taskId); } void AnimTask_AllBattlersInvisibleExceptAttackerAndTarget(u8 taskId) @@ -8747,24 +8747,24 @@ void AnimTask_AffectionHangedOn(u8 taskId) //arg 5: Wave Amplitude static void SpriteCB_PowerShiftBall(struct Sprite* sprite) { - InitSpritePosToAnimAttacker(sprite, TRUE); + InitSpritePosToAnimAttacker(sprite, TRUE); - if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) - gBattleAnimArgs[2] *= -1; //Flip X + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) + gBattleAnimArgs[2] *= -1; //Flip X - sprite->data[0] = gBattleAnimArgs[4]; //Duration - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; //Target X - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3]; //Target Y - sprite->data[5] = gBattleAnimArgs[5]; //Wave Amplitude + sprite->data[0] = gBattleAnimArgs[4]; //Duration + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; //Target X + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3]; //Target Y + sprite->data[5] = gBattleAnimArgs[5]; //Wave Amplitude - InitAnimArcTranslation(sprite); - sprite->callback = SpriteCB_PowerShiftBallStep; + InitAnimArcTranslation(sprite); + sprite->callback = SpriteCB_PowerShiftBallStep; } static void SpriteCB_PowerShiftBallStep(struct Sprite* sprite) // Also used by Triple Arrows { - if (TranslateAnimHorizontalArc(sprite)) - DestroySpriteAndMatrix(sprite); + if (TranslateAnimHorizontalArc(sprite)) + DestroySpriteAndMatrix(sprite); } //Creates a sprite that moves left or right along the target. @@ -8775,28 +8775,28 @@ static void SpriteCB_PowerShiftBallStep(struct Sprite* sprite) // Also used by T //arg 4: direction static void SpriteCB_HorizontalSlice(struct Sprite *sprite) { - sprite->x2 = gBattleAnimArgs[0]; - sprite->y2 = gBattleAnimArgs[1]; + sprite->x2 = gBattleAnimArgs[0]; + sprite->y2 = gBattleAnimArgs[1]; - sprite->data[0] = gBattleAnimArgs[2]; //Slice distance - sprite->data[1] = gBattleAnimArgs[3]; //Slice speed - sprite->data[2] = gBattleAnimArgs[4]; //Slice direction - sprite->data[3] = 0; //Timer + sprite->data[0] = gBattleAnimArgs[2]; //Slice distance + sprite->data[1] = gBattleAnimArgs[3]; //Slice speed + sprite->data[2] = gBattleAnimArgs[4]; //Slice direction + sprite->data[3] = 0; //Timer - sprite->callback = SpriteCB_HorizontalSliceStep; + sprite->callback = SpriteCB_HorizontalSliceStep; } void SpriteCB_HorizontalSliceStep(struct Sprite *sprite) { - if (sprite->data[2] == 1) //Move left - sprite->x2 -= sprite->data[1]; - else - sprite->x2 += sprite->data[1]; + if (sprite->data[2] == 1) //Move left + sprite->x2 -= sprite->data[1]; + else + sprite->x2 += sprite->data[1]; - sprite->data[3] += sprite->data[1]; + sprite->data[3] += sprite->data[1]; - if (sprite->data[3] >= sprite->data[0]) - DestroySpriteAndMatrix(sprite); + if (sprite->data[3] >= sprite->data[0]) + DestroySpriteAndMatrix(sprite); } //Creates the slam hit for LashOut @@ -8805,27 +8805,27 @@ void SpriteCB_HorizontalSliceStep(struct Sprite *sprite) //arg 2: flip static void SpriteCB_LashOutStrike(struct Sprite* sprite) { - bool8 flip = GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER; + bool8 flip = GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER; - if (gBattleAnimArgs[2]) - flip ^= 1; + if (gBattleAnimArgs[2]) + flip ^= 1; - sprite->data[0] = 11; + sprite->data[0] = 11; - if (flip) - { - sprite->x -= gBattleAnimArgs[0]; - sprite->data[0] *= -1; - StartSpriteAffineAnim(sprite, 1); - } - else - { - sprite->x += gBattleAnimArgs[0]; - } + if (flip) + { + sprite->x -= gBattleAnimArgs[0]; + sprite->data[0] *= -1; + StartSpriteAffineAnim(sprite, 1); + } + else + { + sprite->x += gBattleAnimArgs[0]; + } - sprite->y += gBattleAnimArgs[1]; - sprite->data[1] = 192; - sprite->callback = AnimKnockOffStrike_Step; + sprite->y += gBattleAnimArgs[1]; + sprite->data[1] = 192; + sprite->callback = AnimKnockOffStrike_Step; } /* TODO - Use the ShellSmash Anim @@ -8836,91 +8836,91 @@ static void SpriteCB_LashOutStrike(struct Sprite* sprite) //arg 3: Affine anim static void SpriteCB_ShellSmashShell(struct Sprite* sprite) { - //Init Position - sprite->x = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[0]; - sprite->y = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + 2; //2 to slightly encompass the entire sprite + //Init Position + sprite->x = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[0]; + sprite->y = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + 2; //2 to slightly encompass the entire sprite - //Prepare linear movement - sprite->data[0] = gBattleAnimArgs[2]; //Duration - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[1]; - sprite->data[4] = sprite->y; - sprite->callback = StartAnimLinearTranslation; - StoreSpriteCallbackInData6(sprite, SpriteCB_ShellSmashShell_DestroyDuringFadeOut); + //Prepare linear movement + sprite->data[0] = gBattleAnimArgs[2]; //Duration + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[1]; + sprite->data[4] = sprite->y; + sprite->callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData6(sprite, SpriteCB_ShellSmashShell_DestroyDuringFadeOut); - //Rotate properly - StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]); + //Rotate properly + StartSpriteAffineAnim(sprite, gBattleAnimArgs[3]); } static void SpriteCB_ShellSmashShell_DestroyDuringFadeOut(struct Sprite* sprite) { - if (GetGpuReg(REG_OFFSET_BLDALPHA) >= BLDALPHA_BLEND(0, 8)) //Fade out 1/2 done - DestroyAnimSprite(sprite); + if (GetGpuReg(REG_OFFSET_BLDALPHA) >= BLDALPHA_BLEND(0, 8)) //Fade out 1/2 done + DestroyAnimSprite(sprite); } */ static void SpriteCB_AnimSpriteOnTargetSideCentre(struct Sprite *sprite) { - u8 target = LoadBattleAnimTarget(2); + u8 target = LoadBattleAnimTarget(2); - if (!sprite->data[0]) - { - if (IsAlly(gBattleAnimAttacker, target)) - { - if (IsDoubleBattle()) - InitSpritePosToAnimAttackersCentre(sprite, FALSE); - else - InitSpritePosToAnimAttacker(sprite, FALSE); - } - else - { - if (IsDoubleBattle()) - InitSpritePosToAnimTargetsCentre(sprite, FALSE); - else - InitSpritePosToAnimTarget(sprite, FALSE); - } + if (!sprite->data[0]) + { + if (IsAlly(gBattleAnimAttacker, target)) + { + if (IsDoubleBattle()) + InitSpritePosToAnimAttackersCentre(sprite, FALSE); + else + InitSpritePosToAnimAttacker(sprite, FALSE); + } + else + { + if (IsDoubleBattle()) + InitSpritePosToAnimTargetsCentre(sprite, FALSE); + else + InitSpritePosToAnimTarget(sprite, FALSE); + } - sprite->data[0]++; - } - else if (sprite->animEnded || sprite->affineAnimEnded) - { - DestroySpriteAndMatrix(sprite); - } + sprite->data[0]++; + } + else if (sprite->animEnded || sprite->affineAnimEnded) + { + DestroySpriteAndMatrix(sprite); + } } static void SpriteCB_SpriteOnMonUntilAffineAnimEnds(struct Sprite* sprite) { - u8 target = LoadBattleAnimTarget(0); + u8 target = LoadBattleAnimTarget(0); - if (!IsBattlerSpriteVisible(target)) - DestroyAnimSprite(sprite); - else - { - sprite->x = GetBattlerSpriteCoord(target, BATTLER_COORD_X_2); - sprite->y = GetBattlerSpriteCoord(target, BATTLER_COORD_Y_PIC_OFFSET); - StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); - sprite->callback = RunStoredCallbackWhenAffineAnimEnds; - } + if (!IsBattlerSpriteVisible(target)) + DestroyAnimSprite(sprite); + else + { + sprite->x = GetBattlerSpriteCoord(target, BATTLER_COORD_X_2); + sprite->y = GetBattlerSpriteCoord(target, BATTLER_COORD_Y_PIC_OFFSET); + StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); + sprite->callback = RunStoredCallbackWhenAffineAnimEnds; + } } static void SpriteCB_SpriteOnMonForDurationUseY(struct Sprite *sprite) { - u8 target = LoadBattleAnimTarget(0); + u8 target = LoadBattleAnimTarget(0); - if (!IsBattlerSpriteVisible(target)) - DestroyAnimSprite(sprite); - else - { - sprite->x = GetBattlerSpriteCoord(target, BATTLER_COORD_X); - sprite->y = GetBattlerSpriteCoord(target, BATTLER_COORD_Y_PIC_OFFSET); + if (!IsBattlerSpriteVisible(target)) + DestroyAnimSprite(sprite); + else + { + sprite->x = GetBattlerSpriteCoord(target, BATTLER_COORD_X); + sprite->y = GetBattlerSpriteCoord(target, BATTLER_COORD_Y_PIC_OFFSET); - sprite->x2 = gBattleAnimArgs[1]; - sprite->y2 = gBattleAnimArgs[2]; - sprite->data[0] = 0; - sprite->data[1] = gBattleAnimArgs[3]; - sprite->data[2] = gBattleAnimArgs[4]; - sprite->data[3] = 0; - sprite->callback = AnimBrickBreakWall_Step; - } + sprite->x2 = gBattleAnimArgs[1]; + sprite->y2 = gBattleAnimArgs[2]; + sprite->data[0] = 0; + sprite->data[1] = gBattleAnimArgs[3]; + sprite->data[2] = gBattleAnimArgs[4]; + sprite->data[3] = 0; + sprite->callback = AnimBrickBreakWall_Step; + } } //Moves a sprite upward for set amount of time @@ -8931,28 +8931,28 @@ static void SpriteCB_SpriteOnMonForDurationUseY(struct Sprite *sprite) //arg 4: Duration static void SpriteCB_MoveSpriteUpwardsForDuration(struct Sprite* sprite) { - if (gBattleAnimArgs[0] == ANIM_ATTACKER) - { - sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[1]; - sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[2]; - } - else - { - sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[1]; - sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[2]; - } + if (gBattleAnimArgs[0] == ANIM_ATTACKER) + { + sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[1]; + sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[2]; + } + else + { + sprite->x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[1]; + sprite->y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[2]; + } - sprite->data[0] = 0; - sprite->data[1] = gBattleAnimArgs[3]; //Speed - sprite->data[2] = gBattleAnimArgs[4]; //Duration - sprite->callback = SpriteCB_MoveSpriteUpwardsForDurationStep; + sprite->data[0] = 0; + sprite->data[1] = gBattleAnimArgs[3]; //Speed + sprite->data[2] = gBattleAnimArgs[4]; //Duration + sprite->callback = SpriteCB_MoveSpriteUpwardsForDurationStep; } static void SpriteCB_MoveSpriteUpwardsForDurationStep(struct Sprite* sprite) { - sprite->y -= sprite->data[1]; - if (sprite->data[0]++ > sprite->data[2]) - DestroyAnimSprite(sprite); + sprite->y -= sprite->data[1]; + if (sprite->data[0]++ > sprite->data[2]) + DestroyAnimSprite(sprite); } //Creates arc impacts for Surging Strikes @@ -8964,13 +8964,13 @@ static void SpriteCB_MoveSpriteUpwardsForDurationStep(struct Sprite* sprite) //arg 5: wave amplitude static void SpriteCB_SurgingStrikes(struct Sprite* sprite) { - InitSpritePosToAnimTarget(sprite, TRUE); - sprite->data[0] = gBattleAnimArgs[4]; - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; //Target X - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3]; //Target Y - sprite->data[5] = gBattleAnimArgs[5]; - InitAnimArcTranslation(sprite); - sprite->callback = AnimMissileArc_Step; + InitSpritePosToAnimTarget(sprite, TRUE); + sprite->data[0] = gBattleAnimArgs[4]; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; //Target X + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3]; //Target Y + sprite->data[5] = gBattleAnimArgs[5]; + InitAnimArcTranslation(sprite); + sprite->callback = AnimMissileArc_Step; } //Creates the moving Steel Wheel for Steel Roller @@ -8981,34 +8981,34 @@ static void SpriteCB_SurgingStrikes(struct Sprite* sprite) //arg 4: horizontal speed static void SpriteCB_SteelRoller(struct Sprite* sprite) { - sprite->x = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_X); - sprite->y = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_Y); + sprite->x = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_X); + sprite->y = GetBattlerSpriteCoord2(gBattleAnimTarget, BATTLER_COORD_Y); - sprite->x2 = gBattleAnimArgs[0]; - sprite->y2 += gBattleAnimArgs[1]; + sprite->x2 = gBattleAnimArgs[0]; + sprite->y2 += gBattleAnimArgs[1]; - sprite->data[4] = gBattleAnimArgs[3]; //Left/Right distance - sprite->data[5] = gBattleAnimArgs[4]; //Left/Right speed + sprite->data[4] = gBattleAnimArgs[3]; //Left/Right distance + sprite->data[5] = gBattleAnimArgs[4]; //Left/Right speed - sprite->data[3] = gBattleAnimArgs[2]; //Falling Speed - sprite->callback = SpriteCB_SteelRoller_Down; + sprite->data[3] = gBattleAnimArgs[2]; //Falling Speed + sprite->callback = SpriteCB_SteelRoller_Down; } static void SpriteCB_SteelRoller_Down(struct Sprite *sprite) { - sprite->y2 += sprite->data[3]; - if (sprite->y2 >= 0) - { - sprite->y2 = 0; - sprite->callback = SpriteCB_SteelRoller_LeftRight; - } + sprite->y2 += sprite->data[3]; + if (sprite->y2 >= 0) + { + sprite->y2 = 0; + sprite->callback = SpriteCB_SteelRoller_LeftRight; + } } static void SpriteCB_SteelRoller_LeftRight(struct Sprite* sprite) { - sprite->data[0] = -sprite->data[4]; //Slice distance - sprite->data[1] = sprite->data[5]; //Slice speed - sprite->callback = SpriteCB_LeftRightSliceStep0; + sprite->data[0] = -sprite->data[4]; //Slice distance + sprite->data[1] = sprite->data[5]; //Slice speed + sprite->callback = SpriteCB_LeftRightSliceStep0; } //Creates slashes that can be flipped. @@ -9018,63 +9018,63 @@ static void SpriteCB_SteelRoller_LeftRight(struct Sprite* sprite) //arg 3: flip y static void SpriteCB_FlippableSlash(struct Sprite* sprite) { - InitSpritePosToAnimTarget(sprite, TRUE); + InitSpritePosToAnimTarget(sprite, TRUE); - if (gBattleAnimArgs[2]) //Flip X - sprite->hFlip = TRUE; + if (gBattleAnimArgs[2]) //Flip X + sprite->hFlip = TRUE; - if (gBattleAnimArgs[3]) //Flip Y - sprite->vFlip = TRUE; + if (gBattleAnimArgs[3]) //Flip Y + sprite->vFlip = TRUE; - sprite->data[0] = 0; - sprite->data[1] = 0; - StoreSpriteCallbackInData6(sprite, AnimFalseSwipeSlice_Step3); - sprite->callback = RunStoredCallbackWhenAnimEnds; + sprite->data[0] = 0; + sprite->data[1] = 0; + StoreSpriteCallbackInData6(sprite, AnimFalseSwipeSlice_Step3); + sprite->callback = RunStoredCallbackWhenAnimEnds; } //Moves the balls for Dragon Energy sideways along the target side //arg 0: Duration static void SpriteCB_DragonEnergyShot(struct Sprite* sprite) { - s16 startingX, finishingX, y; - u8 def1 = gBattleAnimTarget; - u8 def2 = BATTLE_PARTNER(def1); + s16 startingX, finishingX, y; + u8 def1 = gBattleAnimTarget; + u8 def2 = BATTLE_PARTNER(def1); - if (!IsDoubleBattle() || IsAlly(gBattleAnimAttacker, gBattleAnimTarget)) - y = GetBattlerSpriteCoord(def1, BATTLER_COORD_Y_PIC_OFFSET); - else - { - y = 0; + if (!IsDoubleBattle() || IsAlly(gBattleAnimAttacker, gBattleAnimTarget)) + y = GetBattlerSpriteCoord(def1, BATTLER_COORD_Y_PIC_OFFSET); + else + { + y = 0; - if (IsBattlerSpritePresent(def1)) - y = GetBattlerSpriteCoord(def1, BATTLER_COORD_Y_PIC_OFFSET); + if (IsBattlerSpritePresent(def1)) + y = GetBattlerSpriteCoord(def1, BATTLER_COORD_Y_PIC_OFFSET); - if (IsBattlerSpritePresent(def2)) - y += GetBattlerSpriteCoord(def2, BATTLER_COORD_Y_PIC_OFFSET); + if (IsBattlerSpritePresent(def2)) + y += GetBattlerSpriteCoord(def2, BATTLER_COORD_Y_PIC_OFFSET); - if (IsBattlerSpritePresent(def1) && IsBattlerSpritePresent(def2)) //Both targets are visible - y /= 2; - } + if (IsBattlerSpritePresent(def1) && IsBattlerSpritePresent(def2)) //Both targets are visible + y /= 2; + } - if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT) - { - startingX = 0; - finishingX = 255; - } - else - { - startingX = 255; - finishingX = 0; - } + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT) + { + startingX = 0; + finishingX = 255; + } + else + { + startingX = 255; + finishingX = 0; + } - sprite->x = startingX; - sprite->y = y; - sprite->x2 = 0; - sprite->data[0] = gBattleAnimArgs[0]; - sprite->data[2] = finishingX; - sprite->data[4] = y; - sprite->callback = StartAnimLinearTranslation; - StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); + sprite->x = startingX; + sprite->y = y; + sprite->x2 = 0; + sprite->data[0] = gBattleAnimArgs[0]; + sprite->data[2] = finishingX; + sprite->data[4] = y; + sprite->callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); } //Moves the butterflies created in Max Flutterby @@ -9083,42 +9083,42 @@ static void SpriteCB_DragonEnergyShot(struct Sprite* sprite) //arg 2: wave amplitude static void SpriteCB_MaxFlutterby(struct Sprite* sprite) { - InitSpritePosToAnimAttacker(sprite, FALSE); + InitSpritePosToAnimAttacker(sprite, FALSE); - sprite->data[0] = 0x10; //Speed delay - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); //Target X - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); //Target Y - sprite->data[5] = gBattleAnimArgs[2]; //Wave amplitude + sprite->data[0] = 0x10; //Speed delay + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); //Target X + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); //Target Y + sprite->data[5] = gBattleAnimArgs[2]; //Wave amplitude - sprite->callback = SpriteCB_MaxFlutterbyStep1; + sprite->callback = SpriteCB_MaxFlutterbyStep1; } //The butterflies prepare to move towards the target static void SpriteCB_MaxFlutterbyStep1(struct Sprite* sprite) { - if (!FuncIsActiveTask(AnimTask_DynamaxGrowthStep)) - { - if (gAnimMoveIndex != MOVE_INFERNAL_PARADE) - PlaySE(SE_M_SAND_ATTACK); + if (!FuncIsActiveTask(AnimTask_DynamaxGrowthStep)) + { + if (gAnimMoveIndex != MOVE_INFERNAL_PARADE) + PlaySE(SE_M_SAND_ATTACK); - StartSpriteAffineAnim(sprite, 1); - InitAnimArcTranslation(sprite); - sprite->callback = SpriteCB_MaxFlutterbyStep2; - } + StartSpriteAffineAnim(sprite, 1); + InitAnimArcTranslation(sprite); + sprite->callback = SpriteCB_MaxFlutterbyStep2; + } } //Destroys the butterflies when they reach the target static void SpriteCB_MaxFlutterbyStep2(struct Sprite* sprite) { - sprite->invisible = FALSE; + sprite->invisible = FALSE; - if (TranslateAnimHorizontalArc(sprite)) - { - if (gAnimMoveIndex == MOVE_INFERNAL_PARADE) - PlaySE(SE_M_FLAME_WHEEL2); + if (TranslateAnimHorizontalArc(sprite)) + { + if (gAnimMoveIndex == MOVE_INFERNAL_PARADE) + PlaySE(SE_M_FLAME_WHEEL2); - DestroySpriteAndMatrix(sprite); - } + DestroySpriteAndMatrix(sprite); + } } //Moves the ice lance for Glacial Lance @@ -9131,56 +9131,56 @@ static void SpriteCB_MaxFlutterbyStep2(struct Sprite* sprite) //arg 6: duration to target static void SpriteCB_GlacialLance(struct Sprite* sprite) { - u8 def1 = gBattleAnimTarget; - u8 def2 = BATTLE_PARTNER(def1); + u8 def1 = gBattleAnimTarget; + u8 def2 = BATTLE_PARTNER(def1); - InitSpritePosToAnimAttacker(sprite, TRUE); - sprite->data[5] = gBattleAnimArgs[4]; - sprite->data[6] = gBattleAnimArgs[5]; + InitSpritePosToAnimAttacker(sprite, TRUE); + sprite->data[5] = gBattleAnimArgs[4]; + sprite->data[6] = gBattleAnimArgs[5]; - sprite->data[0] = gBattleAnimArgs[6]; + sprite->data[0] = gBattleAnimArgs[6]; - if (!IsDoubleBattle() || IsAlly(gBattleAnimAttacker, gBattleAnimTarget)) - { - sprite->data[2] = GetBattlerSpriteCoord(def1, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; //Converge on target - sprite->data[4] = GetBattlerSpriteCoord(def1, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3]; - } - else - { - sprite->data[2] = (GetBattlerSpriteCoord(def1, BATTLER_COORD_X_2) + GetBattlerSpriteCoord(def2, BATTLER_COORD_X_2)) / 2 + gBattleAnimArgs[2]; //Converge on target - sprite->data[4] = (GetBattlerSpriteCoord(def1, BATTLER_COORD_Y_PIC_OFFSET) + GetBattlerSpriteCoord(def2, BATTLER_COORD_Y_PIC_OFFSET)) / 2 + gBattleAnimArgs[3]; - } + if (!IsDoubleBattle() || IsAlly(gBattleAnimAttacker, gBattleAnimTarget)) + { + sprite->data[2] = GetBattlerSpriteCoord(def1, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; //Converge on target + sprite->data[4] = GetBattlerSpriteCoord(def1, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3]; + } + else + { + sprite->data[2] = (GetBattlerSpriteCoord(def1, BATTLER_COORD_X_2) + GetBattlerSpriteCoord(def2, BATTLER_COORD_X_2)) / 2 + gBattleAnimArgs[2]; //Converge on target + sprite->data[4] = (GetBattlerSpriteCoord(def1, BATTLER_COORD_Y_PIC_OFFSET) + GetBattlerSpriteCoord(def2, BATTLER_COORD_Y_PIC_OFFSET)) / 2 + gBattleAnimArgs[3]; + } - sprite->oam.priority = 1; //Above the ice cube - sprite->callback = SpriteCB_GlacialLance_Step1; + sprite->oam.priority = 1; //Above the ice cube + sprite->callback = SpriteCB_GlacialLance_Step1; } static void SpriteCB_GlacialLance_Step1(struct Sprite* sprite) { - if (sprite->data[7]++ >= sprite->data[5]) - { - sprite->data[7] = 0; - sprite->callback = SpriteCB_GlacialLance_Step2; - } - else - --sprite->y; //Move up + if (sprite->data[7]++ >= sprite->data[5]) + { + sprite->data[7] = 0; + sprite->callback = SpriteCB_GlacialLance_Step2; + } + else + --sprite->y; //Move up } static void SpriteCB_GlacialLance_Step2(struct Sprite* sprite) { - if (sprite->data[7]++ >= sprite->data[6]) - { - if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) - StartSpriteAffineAnim(sprite, 2); - else - StartSpriteAffineAnim(sprite, 1); + if (sprite->data[7]++ >= sprite->data[6]) + { + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) + StartSpriteAffineAnim(sprite, 2); + else + StartSpriteAffineAnim(sprite, 1); - sprite->data[5] = 0; - sprite->data[6] = 0; - sprite->data[7] = 0; - sprite->callback = StartAnimLinearTranslation; - StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); - } + sprite->data[5] = 0; + sprite->data[6] = 0; + sprite->data[7] = 0; + sprite->callback = StartAnimLinearTranslation; + StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); + } } @@ -9191,46 +9191,46 @@ static void SpriteCB_GlacialLance_Step2(struct Sprite* sprite) //arg 3: Wave Amplitude static void SpriteCB_TripleArrowKick(struct Sprite* sprite) { - InitSpritePosToAnimTarget(sprite, TRUE); - StartSpriteAnim(sprite, 1); //Feet + InitSpritePosToAnimTarget(sprite, TRUE); + StartSpriteAnim(sprite, 1); //Feet - sprite->data[0] = gBattleAnimArgs[2]; - sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); //Target X - sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); //Target Y - sprite->data[5] = gBattleAnimArgs[3]; + sprite->data[0] = gBattleAnimArgs[2]; + sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); //Target X + sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); //Target Y + sprite->data[5] = gBattleAnimArgs[3]; - InitAnimArcTranslation(sprite); - sprite->callback = SpriteCB_PowerShiftBallStep; //Arc until complete + InitAnimArcTranslation(sprite); + sprite->callback = SpriteCB_PowerShiftBallStep; //Arc until complete } // DYNAMAX static const union AffineAnimCmd sDynamaxGrowthAffineAnimCmds[] = // from CFRU { - AFFINEANIMCMD_FRAME(-2, -2, 0, 64), //Double in size over 1 second - AFFINEANIMCMD_FRAME(0, 0, 0, 64), //Pause for 1 seconds - AFFINEANIMCMD_FRAME(16, 16, 0, 8), //Shrink back down in 1/8 of a second - AFFINEANIMCMD_END, + AFFINEANIMCMD_FRAME(-2, -2, 0, 64), //Double in size over 1 second + AFFINEANIMCMD_FRAME(0, 0, 0, 64), //Pause for 1 seconds + AFFINEANIMCMD_FRAME(16, 16, 0, 8), //Shrink back down in 1/8 of a second + AFFINEANIMCMD_END, }; static const union AffineAnimCmd sDynamaxGrowthAttackAnimationAffineAnimCmds[] = { - AFFINEANIMCMD_FRAME(-4, -4, 0, 32), //Double in size quicker - AFFINEANIMCMD_FRAME(0, 0, 0, 32), //Pause for less - AFFINEANIMCMD_FRAME(16, 16, 0, 8), - AFFINEANIMCMD_END, + AFFINEANIMCMD_FRAME(-4, -4, 0, 32), //Double in size quicker + AFFINEANIMCMD_FRAME(0, 0, 0, 32), //Pause for less + AFFINEANIMCMD_FRAME(16, 16, 0, 8), + AFFINEANIMCMD_END, }; //Arg 0: Animation for attack void AnimTask_DynamaxGrowth(u8 taskId) // from CFRU { - struct Task* task = &gTasks[taskId]; - u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); + struct Task* task = &gTasks[taskId]; + u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); - if (gBattleAnimArgs[0] == 0) - PrepareAffineAnimInTaskData(task, spriteId, sDynamaxGrowthAffineAnimCmds); - else - PrepareAffineAnimInTaskData(task, spriteId, sDynamaxGrowthAttackAnimationAffineAnimCmds); - task->func = AnimTask_DynamaxGrowthStep; + if (gBattleAnimArgs[0] == 0) + PrepareAffineAnimInTaskData(task, spriteId, sDynamaxGrowthAffineAnimCmds); + else + PrepareAffineAnimInTaskData(task, spriteId, sDynamaxGrowthAttackAnimationAffineAnimCmds); + task->func = AnimTask_DynamaxGrowthStep; } void AnimTask_GetWeatherToSet(u8 taskId) @@ -9250,7 +9250,7 @@ void AnimTask_GetWeatherToSet(u8 taskId) gBattleAnimArgs[ARG_RET_ID] = 4; break; } - DestroyAnimVisualTask(taskId); + DestroyAnimVisualTask(taskId); } void AnimTask_SyrupBomb(u8 taskId) diff --git a/src/battle_anim_normal.c b/src/battle_anim_normal.c index 759c410946..d9fc8aa412 100644 --- a/src/battle_anim_normal.c +++ b/src/battle_anim_normal.c @@ -830,7 +830,7 @@ void AnimTask_InvertScreenColor(u8 taskId) selectedPalettes |= (0x10000 << gBattleAnimTarget); if (gBattleAnimArgs[0] & 0x8 && IsBattlerAlive(BATTLE_PARTNER(gBattleAnimTarget))) selectedPalettes |= (0x10000 << BATTLE_PARTNER(gBattleAnimTarget)); - if (gBattleAnimArgs[0] & 0x10 && IsBattlerAlive(BATTLE_PARTNER(gBattleAnimAttacker))) + if (gBattleAnimArgs[0] & 0x10 && IsBattlerAlive(BATTLE_PARTNER(gBattleAnimAttacker))) selectedPalettes |= (0x10000 << BATTLE_PARTNER(gBattleAnimAttacker)); InvertPlttBuffer(selectedPalettes); diff --git a/src/battle_anim_poison.c b/src/battle_anim_poison.c index dfaa32cc5e..301cdd4643 100644 --- a/src/battle_anim_poison.c +++ b/src/battle_anim_poison.c @@ -182,24 +182,24 @@ const struct SpriteTemplate gWaterBubbleSpriteTemplate = const struct SpriteTemplate gGreenPoisonDrip = { - .tileTag = ANIM_TAG_GREEN_POISON_BUBBLE, - .paletteTag = ANIM_TAG_GREEN_POISON_BUBBLE, - .oam = &gOamData_AffineDouble_ObjNormal_16x16, + .tileTag = ANIM_TAG_GREEN_POISON_BUBBLE, + .paletteTag = ANIM_TAG_GREEN_POISON_BUBBLE, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, .anims = &gAnims_PoisonProjectile[1], - .images = NULL, - .affineAnims = gAffineAnims_Droplet, - .callback = AnimAcidPoisonDroplet, + .images = NULL, + .affineAnims = gAffineAnims_Droplet, + .callback = AnimAcidPoisonDroplet, }; const struct SpriteTemplate gGreenPoisonBubble = { - .tileTag = ANIM_TAG_GREEN_POISON_BUBBLE, - .paletteTag = ANIM_TAG_GREEN_POISON_BUBBLE, - .oam = &gOamData_AffineDouble_ObjNormal_16x16, - .anims = gAnims_PoisonProjectile, - .images = NULL, - .affineAnims = gAffineAnims_PoisonProjectile, - .callback = AnimAcidPoisonBubble, + .tileTag = ANIM_TAG_GREEN_POISON_BUBBLE, + .paletteTag = ANIM_TAG_GREEN_POISON_BUBBLE, + .oam = &gOamData_AffineDouble_ObjNormal_16x16, + .anims = gAnims_PoisonProjectile, + .images = NULL, + .affineAnims = gAffineAnims_PoisonProjectile, + .callback = AnimAcidPoisonBubble, }; const union AnimCmd gSuckerPunchAnimCmd[] = diff --git a/src/battle_anim_rock.c b/src/battle_anim_rock.c index f9b93a727a..5aa14ffa34 100644 --- a/src/battle_anim_rock.c +++ b/src/battle_anim_rock.c @@ -314,18 +314,18 @@ const struct SpriteTemplate gStealthRockSpriteTemplate = static const union AffineAnimCmd sSpriteAffineAnim_CrushGripHandEnemyAttack[] = { - AFFINEANIMCMD_FRAME(0, 0, 96, 1), //180 degree turn - AFFINEANIMCMD_END + AFFINEANIMCMD_FRAME(0, 0, 96, 1), //180 degree turn + AFFINEANIMCMD_END }; static const union AffineAnimCmd sSpriteAffineAnim_DoNothing[] = { - AFFINEANIMCMD_FRAME(0, 0, 0, 1), //Do nothing - AFFINEANIMCMD_END + AFFINEANIMCMD_FRAME(0, 0, 0, 1), //Do nothing + AFFINEANIMCMD_END }; static const union AffineAnimCmd* const sSpriteAffineAnimTable_CrushGripHand[] = { - sSpriteAffineAnim_DoNothing, - sSpriteAffineAnim_CrushGripHandEnemyAttack, + sSpriteAffineAnim_DoNothing, + sSpriteAffineAnim_CrushGripHandEnemyAttack, }; const struct SpriteTemplate gCrushGripHandTemplate = { diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c index 7e7ded7676..f746f186aa 100644 --- a/src/battle_anim_status_effects.c +++ b/src/battle_anim_status_effects.c @@ -398,28 +398,28 @@ void AnimTask_FrozenIceCubeAttacker(u8 taskId) void AnimTask_CentredFrozenIceCube(u8 taskId) { // same as AnimTask_FrozenIceCube but center position on target(s) - s16 x, y; - u8 spriteId; - u8 battler1 = gBattleAnimTarget; - u8 battler2 = BATTLE_PARTNER(battler1); + s16 x, y; + u8 spriteId; + u8 battler1 = gBattleAnimTarget; + u8 battler2 = BATTLE_PARTNER(battler1); - if (!IsDoubleBattle() || IsAlly(gBattleAnimAttacker, gBattleAnimTarget)) - { - x = GetBattlerSpriteCoord(battler1, BATTLER_COORD_X_2); - y = GetBattlerSpriteCoord(battler1, BATTLER_COORD_Y_PIC_OFFSET); - } - else - { - x = (GetBattlerSpriteCoord(battler1, BATTLER_COORD_X_2) + GetBattlerSpriteCoord(battler2, BATTLER_COORD_X_2)) / 2; - y = (GetBattlerSpriteCoord(battler1, BATTLER_COORD_Y_PIC_OFFSET) + GetBattlerSpriteCoord(battler2, BATTLER_COORD_Y_PIC_OFFSET)) / 2; - } + if (!IsDoubleBattle() || IsAlly(gBattleAnimAttacker, gBattleAnimTarget)) + { + x = GetBattlerSpriteCoord(battler1, BATTLER_COORD_X_2); + y = GetBattlerSpriteCoord(battler1, BATTLER_COORD_Y_PIC_OFFSET); + } + else + { + x = (GetBattlerSpriteCoord(battler1, BATTLER_COORD_X_2) + GetBattlerSpriteCoord(battler2, BATTLER_COORD_X_2)) / 2; + y = (GetBattlerSpriteCoord(battler1, BATTLER_COORD_Y_PIC_OFFSET) + GetBattlerSpriteCoord(battler2, BATTLER_COORD_Y_PIC_OFFSET)) / 2; + } - x -= 32; - y -= 36; + x -= 32; + y -= 36; - spriteId = CreateSprite(&sFrozenIceCubeSpriteTemplate, x, y, 4); - if (GetSpriteTileStartByTag(ANIM_TAG_ICE_CUBE) == 0xFFFF) - gSprites[spriteId].invisible = TRUE; + spriteId = CreateSprite(&sFrozenIceCubeSpriteTemplate, x, y, 4); + if (GetSpriteTileStartByTag(ANIM_TAG_ICE_CUBE) == 0xFFFF) + gSprites[spriteId].invisible = TRUE; SetSubspriteTables(&gSprites[spriteId], sFrozenIceCubeSubspriteTable); gTasks[taskId].data[15] = spriteId; diff --git a/src/battle_anim_water.c b/src/battle_anim_water.c index 159b27dec9..65f8178d13 100644 --- a/src/battle_anim_water.c +++ b/src/battle_anim_water.c @@ -585,14 +585,14 @@ const struct SpriteTemplate gAquaTailHitSpriteTemplate = }; static const union AnimCmd sAnimCmdAnimatedSpark2[] = { - ANIMCMD_FRAME((8 * 8) / (16 * 16) * 0, 8), - ANIMCMD_FRAME((8 * 8) / (16 * 16) * 1, 8), - ANIMCMD_FRAME((8 * 8) / (16 * 16) * 2, 8), - ANIMCMD_JUMP(0) + ANIMCMD_FRAME((8 * 8) / (16 * 16) * 0, 8), + ANIMCMD_FRAME((8 * 8) / (16 * 16) * 1, 8), + ANIMCMD_FRAME((8 * 8) / (16 * 16) * 2, 8), + ANIMCMD_JUMP(0) }; static const union AnimCmd *const sAnimCmdTable_AnimatedSpark2[] = { - sAnimCmdAnimatedSpark2, + sAnimCmdAnimatedSpark2, }; const struct SpriteTemplate gSparkBeamSpriteTemplate = diff --git a/src/battle_controllers.c b/src/battle_controllers.c index d6b2fbdc3a..929aa2a59d 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -75,7 +75,7 @@ void SetUpBattleVarsAndBirchZigzagoon(void) gBattleControllerExecFlags = 0; ClearBattleAnimationVars(); BattleAI_SetupItems(); - BattleAI_SetupFlags(); + BattleAI_SetupFlags(); if (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE) { @@ -611,7 +611,7 @@ bool32 IsValidForBattle(struct Pokemon *mon) { u32 species = GetMonData(mon, MON_DATA_SPECIES_OR_EGG); return (species != SPECIES_NONE - && species != SPECIES_EGG + && species != SPECIES_EGG && GetMonData(mon, MON_DATA_HP) != 0 && GetMonData(mon, MON_DATA_IS_EGG) == FALSE); } diff --git a/src/battle_util.c b/src/battle_util.c index b1d3eec450..b7c61862fc 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -2954,7 +2954,7 @@ u8 DoBattlerEndTurnEffects(void) && --gBattleStruct->dynamax.dynamaxTurns[battler] == 0) { gBattleScripting.battler = battler; - UndoDynamax(battler); + UndoDynamax(battler); BattleScriptExecute(BattleScript_DynamaxEnds); effect++; } diff --git a/src/data/field_effects/field_effect_objects.h b/src/data/field_effects/field_effect_objects.h index 3b9dafd2cb..1a169007c5 100755 --- a/src/data/field_effects/field_effect_objects.h +++ b/src/data/field_effects/field_effect_objects.h @@ -432,33 +432,33 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_DeepSandFootprints = { }; static const struct SpriteFrameImage sPicTable_BugTracks[] = { - overworld_frame(gFieldEffectObjectPic_BugTracks, 2, 2, 0), - overworld_frame(gFieldEffectObjectPic_BugTracks, 2, 2, 1), + overworld_frame(gFieldEffectObjectPic_BugTracks, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_BugTracks, 2, 2, 1), }; static const struct SpriteFrameImage sPicTable_SpotTracks[] = { - overworld_frame(gFieldEffectObjectPic_SpotTracks, 2, 2, 0), - overworld_frame(gFieldEffectObjectPic_SpotTracks, 2, 2, 1), + overworld_frame(gFieldEffectObjectPic_SpotTracks, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_SpotTracks, 2, 2, 1), }; const struct SpriteTemplate gFieldEffectObjectTemplate_BugTracks = { - .tileTag = 0xFFFF, - .paletteTag = FLDEFF_PAL_TAG_GENERAL_0, - .oam = &gObjectEventBaseOam_16x16, - .anims = sAnimTable_DeepSandFootprints, - .images = sPicTable_BugTracks, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = UpdateFootprintsTireTracksFieldEffect, + .tileTag = 0xFFFF, + .paletteTag = FLDEFF_PAL_TAG_GENERAL_0, + .oam = &gObjectEventBaseOam_16x16, + .anims = sAnimTable_DeepSandFootprints, + .images = sPicTable_BugTracks, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = UpdateFootprintsTireTracksFieldEffect, }; const struct SpriteTemplate gFieldEffectObjectTemplate_SpotTracks = { - .tileTag = 0xFFFF, - .paletteTag = FLDEFF_PAL_TAG_GENERAL_0, - .oam = &gObjectEventBaseOam_16x16, - .anims = sAnimTable_DeepSandFootprints, - .images = sPicTable_SpotTracks, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = UpdateFootprintsTireTracksFieldEffect, + .tileTag = 0xFFFF, + .paletteTag = FLDEFF_PAL_TAG_GENERAL_0, + .oam = &gObjectEventBaseOam_16x16, + .anims = sAnimTable_DeepSandFootprints, + .images = sPicTable_SpotTracks, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = UpdateFootprintsTireTracksFieldEffect, }; static const struct SpriteFrameImage sPicTable_BikeTireTracks[] = { @@ -470,10 +470,10 @@ static const struct SpriteFrameImage sPicTable_BikeTireTracks[] = { static const struct SpriteFrameImage sPicTable_SlitherTracks[] = { - overworld_frame(gFieldEffectObjectPic_SlitherTracks, 2, 2, 0), - overworld_frame(gFieldEffectObjectPic_SlitherTracks, 2, 2, 1), - overworld_frame(gFieldEffectObjectPic_SlitherTracks, 2, 2, 2), - overworld_frame(gFieldEffectObjectPic_SlitherTracks, 2, 2, 3), + overworld_frame(gFieldEffectObjectPic_SlitherTracks, 2, 2, 0), + overworld_frame(gFieldEffectObjectPic_SlitherTracks, 2, 2, 1), + overworld_frame(gFieldEffectObjectPic_SlitherTracks, 2, 2, 2), + overworld_frame(gFieldEffectObjectPic_SlitherTracks, 2, 2, 3), }; static const union AnimCmd sBikeTireTracksAnim_South[] = @@ -549,13 +549,13 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_BikeTireTracks = { const struct SpriteTemplate gFieldEffectObjectTemplate_SlitherTracks = { - .tileTag = 0xFFFF, - .paletteTag = FLDEFF_PAL_TAG_GENERAL_0, - .oam = &gObjectEventBaseOam_16x16, - .anims = sAnimTable_BikeTireTracks, - .images = sPicTable_SlitherTracks, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = UpdateFootprintsTireTracksFieldEffect, + .tileTag = 0xFFFF, + .paletteTag = FLDEFF_PAL_TAG_GENERAL_0, + .oam = &gObjectEventBaseOam_16x16, + .anims = sAnimTable_BikeTireTracks, + .images = sPicTable_SlitherTracks, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = UpdateFootprintsTireTracksFieldEffect, }; static const struct SpriteFrameImage sPicTable_JumpBigSplash[] = { diff --git a/src/data/pokemon/level_up_learnsets/gen_3.h b/src/data/pokemon/level_up_learnsets/gen_3.h index 35af1dfbe6..99b8cc397f 100644 --- a/src/data/pokemon/level_up_learnsets/gen_3.h +++ b/src/data/pokemon/level_up_learnsets/gen_3.h @@ -3620,7 +3620,7 @@ static const struct LevelUpMove sMoltresGalarianLevelUpLearnset[] = { LEVEL_UP_MOVE(60, MOVE_ENDURE), LEVEL_UP_MOVE(65, MOVE_MEMENTO), LEVEL_UP_MOVE(70, MOVE_SKY_ATTACK), - LEVEL_UP_END + LEVEL_UP_END }; #endif //P_GALARIAN_FORMS #endif //P_FAMILY_MOLTRES diff --git a/src/data/pokemon/pokedex_orders.h b/src/data/pokemon/pokedex_orders.h index f7bd77cf12..21968dd6ea 100644 --- a/src/data/pokemon/pokedex_orders.h +++ b/src/data/pokemon/pokedex_orders.h @@ -1604,7 +1604,7 @@ const u16 gPokedexOrder_Weight[] = NATIONAL_DEX_MORGREM, // 28.7 lbs / 13.0 kg NATIONAL_DEX_IVYSAUR, - //NATIONAL_DEX_VOLTORB_HISUIAN, + //NATIONAL_DEX_VOLTORB_HISUIAN, //NATIONAL_DEX_BANETTE_MEGA, NATIONAL_DEX_MIME_JR, NATIONAL_DEX_LAMPENT, diff --git a/src/data/tilesets/graphics.h b/src/data/tilesets/graphics.h index 2fdc28d213..a4cec62cf5 100644 --- a/src/data/tilesets/graphics.h +++ b/src/data/tilesets/graphics.h @@ -2,528 +2,528 @@ const u32 gTilesetTiles_Petalburg[] = INCBIN_U32("data/tilesets/secondary/petalb const u16 gTilesetPalettes_Petalburg[][16] = { - INCBIN_U16("data/tilesets/secondary/petalburg/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg/palettes/15.gbapal"), }; const u32 gTilesetTiles_Rustboro[] = INCBIN_U32("data/tilesets/secondary/rustboro/tiles.4bpp.lz"); const u16 gTilesetPalettes_Rustboro[][16] = { - INCBIN_U16("data/tilesets/secondary/rustboro/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro/palettes/15.gbapal"), }; const u32 gTilesetTiles_Dewford[] = INCBIN_U32("data/tilesets/secondary/dewford/tiles.4bpp.lz"); const u16 gTilesetPalettes_Dewford[][16] = { - INCBIN_U16("data/tilesets/secondary/dewford/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford/palettes/15.gbapal"), }; const u32 gTilesetTiles_Slateport[] = INCBIN_U32("data/tilesets/secondary/slateport/tiles.4bpp.lz"); const u16 gTilesetPalettes_Slateport[][16] = { - INCBIN_U16("data/tilesets/secondary/slateport/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/slateport/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/slateport/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/slateport/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/slateport/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/slateport/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/slateport/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/slateport/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/slateport/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/slateport/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/slateport/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/slateport/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/slateport/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/slateport/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/slateport/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/slateport/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/slateport/palettes/15.gbapal"), }; const u32 gTilesetTiles_Mauville[] = INCBIN_U32("data/tilesets/secondary/mauville/tiles.4bpp.lz"); const u16 gTilesetPalettes_Mauville[][16] = { - INCBIN_U16("data/tilesets/secondary/mauville/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville/palettes/15.gbapal"), }; const u32 gTilesetTiles_Lavaridge[] = INCBIN_U32("data/tilesets/secondary/lavaridge/tiles.4bpp.lz"); const u16 gTilesetPalettes_Lavaridge[][16] = { - INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge/palettes/15.gbapal"), }; const u32 gTilesetTiles_Fallarbor[] = INCBIN_U32("data/tilesets/secondary/fallarbor/tiles.4bpp.lz"); const u16 gTilesetPalettes_Fallarbor[][16] = { - INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/fallarbor/palettes/15.gbapal"), }; const u32 gTilesetTiles_Fortree[] = INCBIN_U32("data/tilesets/secondary/fortree/tiles.4bpp.lz"); const u16 gTilesetPalettes_Fortree[][16] = { - INCBIN_U16("data/tilesets/secondary/fortree/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree/palettes/15.gbapal"), }; const u32 gTilesetTiles_Lilycove[] = INCBIN_U32("data/tilesets/secondary/lilycove/tiles.4bpp.lz"); const u16 gTilesetPalettes_Lilycove[][16] = { - INCBIN_U16("data/tilesets/secondary/lilycove/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove/palettes/15.gbapal"), }; const u32 gTilesetTiles_Mossdeep[] = INCBIN_U32("data/tilesets/secondary/mossdeep/tiles.4bpp.lz"); const u16 gTilesetPalettes_Mossdeep[][16] = { - INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep/palettes/15.gbapal"), }; const u32 gTilesetTiles_EverGrande[] = INCBIN_U32("data/tilesets/secondary/ever_grande/tiles.4bpp.lz"); const u16 gTilesetPalettes_EverGrande[][16] = { - INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/ever_grande/palettes/15.gbapal"), }; const u32 gTilesetTiles_Pacifidlog[] = INCBIN_U32("data/tilesets/secondary/pacifidlog/tiles.4bpp.lz"); const u16 gTilesetPalettes_Pacifidlog[][16] = { - INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pacifidlog/palettes/15.gbapal"), }; const u32 gTilesetTiles_Sootopolis[] = INCBIN_U32("data/tilesets/secondary/sootopolis/tiles.4bpp.lz"); const u16 gTilesetPalettes_Sootopolis[][16] = { - INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis/palettes/15.gbapal"), }; const u32 gTilesetTiles_BattleFrontierOutsideWest[] = INCBIN_U32("data/tilesets/secondary/battle_frontier_outside_west/tiles.4bpp.lz"); const u16 gTilesetPalettes_BattleFrontierOutsideWest[][16] = { - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_west/palettes/15.gbapal"), }; const u32 gTilesetTiles_BattleFrontierOutsideEast[] = INCBIN_U32("data/tilesets/secondary/battle_frontier_outside_east/tiles.4bpp.lz"); const u16 gTilesetPalettes_BattleFrontierOutsideEast[][16] = { - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_outside_east/palettes/15.gbapal"), }; const u32 gTilesetTiles_InsideBuilding[] = INCBIN_U32("data/tilesets/primary/building/tiles.4bpp.lz"); const u16 gTilesetPalettes_InsideBuilding[][16] = { - INCBIN_U16("data/tilesets/primary/building/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/primary/building/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/primary/building/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/primary/building/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/primary/building/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/primary/building/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/primary/building/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/primary/building/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/primary/building/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/primary/building/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/primary/building/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/primary/building/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/primary/building/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/primary/building/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/primary/building/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/primary/building/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/primary/building/palettes/15.gbapal"), }; const u32 gTilesetTiles_Shop[] = INCBIN_U32("data/tilesets/secondary/shop/tiles.4bpp.lz"); const u16 gTilesetPalettes_Shop[][16] = { - INCBIN_U16("data/tilesets/secondary/shop/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/shop/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/shop/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/shop/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/shop/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/shop/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/shop/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/shop/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/shop/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/shop/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/shop/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/shop/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/shop/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/shop/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/shop/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/shop/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/shop/palettes/15.gbapal"), }; const u32 gTilesetTiles_PokemonCenter[] = INCBIN_U32("data/tilesets/secondary/pokemon_center/tiles.4bpp.lz"); const u16 gTilesetPalettes_PokemonCenter[][16] = { - INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_center/palettes/15.gbapal"), }; const u32 gTilesetTiles_Cave[] = INCBIN_U32("data/tilesets/secondary/cave/tiles.4bpp.lz"); const u16 gTilesetPalettes_Cave[][16] = { - INCBIN_U16("data/tilesets/secondary/cave/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/cave/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/cave/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/cave/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/cave/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/cave/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/cave/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/cave/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/cave/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/cave/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/cave/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/cave/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/cave/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/cave/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/cave/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/cave/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/cave/palettes/15.gbapal"), }; const u32 gTilesetTiles_PokemonSchool[] = INCBIN_U32("data/tilesets/secondary/pokemon_school/tiles.4bpp.lz"); const u16 gTilesetPalettes_PokemonSchool[][16] = { - INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_school/palettes/15.gbapal"), }; const u32 gTilesetTiles_PokemonFanClub[] = INCBIN_U32("data/tilesets/secondary/pokemon_fan_club/tiles.4bpp.lz"); const u16 gTilesetPalettes_PokemonFanClub[][16] = { - INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_fan_club/palettes/15.gbapal"), }; const u32 gTilesetTiles_Unused1[] = INCBIN_U32("data/tilesets/secondary/unused_1/tiles.4bpp.lz"); const u16 gTilesetPalettes_Unused1[][16] = { - INCBIN_U16("data/tilesets/secondary/unused_1/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_1/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_1/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_1/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_1/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_1/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_1/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_1/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_1/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_1/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_1/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_1/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_1/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_1/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_1/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_1/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_1/palettes/15.gbapal"), }; const u32 gTilesetTiles_MeteorFalls[] = INCBIN_U32("data/tilesets/secondary/meteor_falls/tiles.4bpp.lz"); const u16 gTilesetPalettes_MeteorFalls[][16] = { - INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/meteor_falls/palettes/15.gbapal"), }; const u32 gTilesetTiles_OceanicMuseum[] = INCBIN_U32("data/tilesets/secondary/oceanic_museum/tiles.4bpp.lz"); const u16 gTilesetPalettes_OceanicMuseum[][16] = { - INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/oceanic_museum/palettes/15.gbapal"), }; const u32 gTilesetTiles_CableClub[] = INCBIN_U32("data/tilesets/secondary/cable_club/tiles.4bpp"); @@ -531,286 +531,286 @@ const u32 gTilesetTiles_UnknownCableClub[] = INCBIN_U32("data/tilesets/secondary const u16 gTilesetPalettes_CableClub[][16] = { - INCBIN_U16("data/tilesets/secondary/cable_club/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/cable_club/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/cable_club/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/cable_club/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/cable_club/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/cable_club/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/cable_club/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/cable_club/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/cable_club/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/cable_club/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/cable_club/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/cable_club/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/cable_club/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/cable_club/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/cable_club/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/cable_club/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/cable_club/palettes/15.gbapal"), }; const u32 gTilesetTiles_SeashoreHouse[] = INCBIN_U32("data/tilesets/secondary/seashore_house/tiles.4bpp.lz"); const u16 gTilesetPalettes_SeashoreHouse[][16] = { - INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/seashore_house/palettes/15.gbapal"), }; const u32 gTilesetTiles_PrettyPetalFlowerShop[] = INCBIN_U32("data/tilesets/secondary/pretty_petal_flower_shop/tiles.4bpp.lz"); const u16 gTilesetPalettes_PrettyPetalFlowerShop[][16] = { - INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pretty_petal_flower_shop/palettes/15.gbapal"), }; const u32 gTilesetTiles_PokemonDayCare[] = INCBIN_U32("data/tilesets/secondary/pokemon_day_care/tiles.4bpp.lz"); const u16 gTilesetPalettes_PokemonDayCare[][16] = { - INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/pokemon_day_care/palettes/15.gbapal"), }; const u32 gTilesetTiles_Facility[] = INCBIN_U32("data/tilesets/secondary/facility/tiles.4bpp.lz"); const u16 gTilesetPalettes_Facility[][16] = { - INCBIN_U16("data/tilesets/secondary/facility/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/facility/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/facility/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/facility/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/facility/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/facility/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/facility/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/facility/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/facility/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/facility/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/facility/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/facility/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/facility/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/facility/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/facility/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/facility/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/facility/palettes/15.gbapal"), }; const u32 gTilesetTiles_BikeShop[] = INCBIN_U32("data/tilesets/secondary/bike_shop/tiles.4bpp.lz"); const u16 gTilesetPalettes_BikeShop[][16] = { - INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/bike_shop/palettes/15.gbapal"), }; const u32 gTilesetTiles_RusturfTunnel[] = INCBIN_U32("data/tilesets/secondary/rusturf_tunnel/tiles.4bpp.lz"); const u16 gTilesetPalettes_RusturfTunnel[][16] = { - INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/rusturf_tunnel/palettes/15.gbapal"), }; const u32 gTilesetTiles_SecretBaseBrownCaveCompressed[] = INCBIN_U32("data/tilesets/secondary/secret_base/brown_cave/unused_tiles.4bpp.lz"); const u16 gTilesetPalettes_SecretBaseBrownCave[][16] = { - INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/brown_cave/palettes/15.gbapal"), }; const u32 gTilesetTiles_SecretBaseTreeCompressed[] = INCBIN_U32("data/tilesets/secondary/secret_base/tree/unused_tiles.4bpp.lz"); const u16 gTilesetPalettes_SecretBaseTree[][16] = { - INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/tree/palettes/15.gbapal"), }; const u32 gTilesetTiles_SecretBaseShrubCompressed[] = INCBIN_U32("data/tilesets/secondary/secret_base/shrub/unused_tiles.4bpp.lz"); const u16 gTilesetPalettes_SecretBaseShrub[][16] = { - INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/shrub/palettes/15.gbapal"), }; const u32 gTilesetTiles_SecretBaseBlueCaveCompressed[] = INCBIN_U32("data/tilesets/secondary/secret_base/blue_cave/unused_tiles.4bpp.lz"); const u16 gTilesetPalettes_SecretBaseBlueCave[][16] = { - INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/blue_cave/palettes/15.gbapal"), }; const u32 gTilesetTiles_SecretBaseYellowCaveCompressed[] = INCBIN_U32("data/tilesets/secondary/secret_base/yellow_cave/unused_tiles.4bpp.lz"); const u16 gTilesetPalettes_SecretBaseYellowCave[][16] = { - INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/yellow_cave/palettes/15.gbapal"), }; const u32 gTilesetTiles_SecretBaseRedCaveCompressed[] = INCBIN_U32("data/tilesets/secondary/secret_base/red_cave/unused_tiles.4bpp.lz"); const u16 gTilesetPalettes_SecretBaseRedCave[][16] = { - INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/secret_base/red_cave/palettes/15.gbapal"), }; const u32 gTilesetTiles_SecretBaseBrownCave[] = INCBIN_U32("data/tilesets/secondary/secret_base/brown_cave/tiles.4bpp"); @@ -824,418 +824,418 @@ const u32 gTilesetTiles_InsideOfTruck[] = INCBIN_U32("data/tilesets/secondary/in const u16 gTilesetPalettes_InsideOfTruck[][16] = { - INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_of_truck/palettes/15.gbapal"), }; const u32 gTilesetTiles_Contest[] = INCBIN_U32("data/tilesets/secondary/contest/tiles.4bpp.lz"); const u16 gTilesetPalettes_Contest[][16] = { - INCBIN_U16("data/tilesets/secondary/contest/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/contest/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/contest/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/contest/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/contest/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/contest/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/contest/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/contest/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/contest/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/contest/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/contest/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/contest/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/contest/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/contest/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/contest/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/contest/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/contest/palettes/15.gbapal"), }; const u32 gTilesetTiles_LilycoveMuseum[] = INCBIN_U32("data/tilesets/secondary/lilycove_museum/tiles.4bpp.lz"); const u16 gTilesetPalettes_LilycoveMuseum[][16] = { - INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/lilycove_museum/palettes/15.gbapal"), }; const u32 gTilesetTiles_BrendansMaysHouse[] = INCBIN_U32("data/tilesets/secondary/brendans_mays_house/tiles.4bpp.lz"); const u16 gTilesetPalettes_BrendansMaysHouse[][16] = { - INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/brendans_mays_house/palettes/15.gbapal"), }; const u32 gTilesetTiles_Lab[] = INCBIN_U32("data/tilesets/secondary/lab/tiles.4bpp.lz"); const u16 gTilesetPalettes_Lab[][16] = { - INCBIN_U16("data/tilesets/secondary/lab/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/lab/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/lab/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/lab/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/lab/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/lab/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/lab/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/lab/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/lab/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/lab/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/lab/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/lab/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/lab/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/lab/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/lab/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/lab/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/lab/palettes/15.gbapal"), }; const u32 gTilesetTiles_Underwater[] = INCBIN_U32("data/tilesets/secondary/underwater/tiles.4bpp.lz"); const u16 gTilesetPalettes_Underwater[][16] = { - INCBIN_U16("data/tilesets/secondary/underwater/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/underwater/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/underwater/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/underwater/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/underwater/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/underwater/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/underwater/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/underwater/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/underwater/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/underwater/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/underwater/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/underwater/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/underwater/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/underwater/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/underwater/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/underwater/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/underwater/palettes/15.gbapal"), }; const u32 gTilesetTiles_GenericBuilding[] = INCBIN_U32("data/tilesets/secondary/generic_building/tiles.4bpp.lz"); const u16 gTilesetPalettes_GenericBuilding[][16] = { - INCBIN_U16("data/tilesets/secondary/generic_building/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/generic_building/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/generic_building/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/generic_building/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/generic_building/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/generic_building/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/generic_building/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/generic_building/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/generic_building/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/generic_building/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/generic_building/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/generic_building/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/generic_building/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/generic_building/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/generic_building/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/generic_building/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/generic_building/palettes/15.gbapal"), }; const u32 gTilesetTiles_MauvilleGameCorner[] = INCBIN_U32("data/tilesets/secondary/mauville_game_corner/tiles.4bpp.lz"); const u16 gTilesetPalettes_MauvilleGameCorner[][16] = { - INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_game_corner/palettes/15.gbapal"), }; const u32 gTilesetTiles_Unused2[] = INCBIN_U32("data/tilesets/secondary/unused_2/tiles.4bpp.lz"); const u16 gTilesetPalettes_Unused2[][16] = { - INCBIN_U16("data/tilesets/secondary/unused_2/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_2/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_2/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_2/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_2/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_2/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_2/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_2/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_2/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_2/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_2/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_2/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_2/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_2/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_2/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/unused_2/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/unused_2/palettes/15.gbapal"), }; const u32 gTilesetTiles_RustboroGym[] = INCBIN_U32("data/tilesets/secondary/rustboro_gym/tiles.4bpp.lz"); const u16 gTilesetPalettes_RustboroGym[][16] = { - INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/rustboro_gym/palettes/15.gbapal"), }; const u32 gTilesetTiles_DewfordGym[] = INCBIN_U32("data/tilesets/secondary/dewford_gym/tiles.4bpp.lz"); const u16 gTilesetPalettes_DewfordGym[][16] = { - INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/dewford_gym/palettes/15.gbapal"), }; const u32 gTilesetTiles_MauvilleGym[] = INCBIN_U32("data/tilesets/secondary/mauville_gym/tiles.4bpp.lz"); const u16 gTilesetPalettes_MauvilleGym[][16] = { - INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mauville_gym/palettes/15.gbapal"), }; const u32 gTilesetTiles_LavaridgeGym[] = INCBIN_U32("data/tilesets/secondary/lavaridge_gym/tiles.4bpp.lz"); const u16 gTilesetPalettes_LavaridgeGym[][16] = { - INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/lavaridge_gym/palettes/15.gbapal"), }; const u32 gTilesetTiles_PetalburgGym[] = INCBIN_U32("data/tilesets/secondary/petalburg_gym/tiles.4bpp.lz"); const u16 gTilesetPalettes_PetalburgGym[][16] = { - INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/petalburg_gym/palettes/15.gbapal"), }; const u32 gTilesetTiles_FortreeGym[] = INCBIN_U32("data/tilesets/secondary/fortree_gym/tiles.4bpp.lz"); const u16 gTilesetPalettes_FortreeGym[][16] = { - INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/fortree_gym/palettes/15.gbapal"), }; const u32 gTilesetTiles_MossdeepGym[] = INCBIN_U32("data/tilesets/secondary/mossdeep_gym/tiles.4bpp.lz"); const u16 gTilesetPalettes_MossdeepGym[][16] = { - INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_gym/palettes/15.gbapal"), }; const u32 gTilesetTiles_SootopolisGym[] = INCBIN_U32("data/tilesets/secondary/sootopolis_gym/tiles.4bpp.lz"); const u16 gTilesetPalettes_SootopolisGym[][16] = { - INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/sootopolis_gym/palettes/15.gbapal"), }; const u32 gTilesetTiles_TrickHousePuzzle[] = INCBIN_U32("data/tilesets/secondary/trick_house_puzzle/tiles.4bpp.lz"); const u16 gTilesetPalettes_TrickHousePuzzle[][16] = { - INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/trick_house_puzzle/palettes/15.gbapal"), }; const u32 gTilesetTiles_InsideShip[] = INCBIN_U32("data/tilesets/secondary/inside_ship/tiles.4bpp.lz"); const u16 gTilesetPalettes_InsideShip[][16] = { - INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/inside_ship/palettes/15.gbapal"), }; const u32 gTilesetTiles_SecretBase[] = INCBIN_U32("data/tilesets/primary/secret_base/tiles.4bpp"); @@ -1243,394 +1243,394 @@ const u32 gTilesetTiles_UnknownSecretBase[] = INCBIN_U32("data/tilesets/primary/ const u16 gTilesetPalettes_SecretBase[][16] = { - INCBIN_U16("data/tilesets/primary/secret_base/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/primary/secret_base/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/primary/secret_base/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/primary/secret_base/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/primary/secret_base/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/primary/secret_base/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/primary/secret_base/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/primary/secret_base/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/primary/secret_base/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/primary/secret_base/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/primary/secret_base/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/primary/secret_base/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/primary/secret_base/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/primary/secret_base/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/primary/secret_base/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/primary/secret_base/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/primary/secret_base/palettes/15.gbapal"), }; const u32 gTilesetTiles_EliteFour[] = INCBIN_U32("data/tilesets/secondary/elite_four/tiles.4bpp.lz"); const u16 gTilesetPalettes_EliteFour[][16] = { - INCBIN_U16("data/tilesets/secondary/elite_four/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/elite_four/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/elite_four/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/elite_four/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/elite_four/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/elite_four/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/elite_four/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/elite_four/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/elite_four/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/elite_four/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/elite_four/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/elite_four/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/elite_four/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/elite_four/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/elite_four/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/elite_four/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/elite_four/palettes/15.gbapal"), }; const u32 gTilesetTiles_BattleFrontier[] = INCBIN_U32("data/tilesets/secondary/battle_frontier/tiles.4bpp.lz"); const u16 gTilesetPalettes_BattleFrontier[][16] = { - INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier/palettes/15.gbapal"), }; const u32 gTilesetTiles_BattlePalace[] = INCBIN_U32("data/tilesets/secondary/battle_palace/tiles.4bpp.lz"); const u16 gTilesetPalettes_BattlePalace[][16] = { - INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_palace/palettes/15.gbapal"), }; const u32 gTilesetTiles_BattleDome[] = INCBIN_U32("data/tilesets/secondary/battle_dome/tiles.4bpp.lz"); const u16 gTilesetPalettes_BattleDome[][16] = { - INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_dome/palettes/15.gbapal"), }; const u32 gTilesetTiles_BattleFactory[] = INCBIN_U32("data/tilesets/secondary/battle_factory/tiles.4bpp.lz"); const u16 gTilesetPalettes_BattleFactory[][16] = { - INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_factory/palettes/15.gbapal"), }; const u32 gTilesetTiles_BattlePike[] = INCBIN_U32("data/tilesets/secondary/battle_pike/tiles.4bpp.lz"); const u16 gTilesetPalettes_BattlePike[][16] = { - INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pike/palettes/15.gbapal"), }; const u32 gTilesetTiles_BattleArena[] = INCBIN_U32("data/tilesets/secondary/battle_arena/tiles.4bpp.lz"); const u16 gTilesetPalettes_BattleArena[][16] = { - INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_arena/palettes/15.gbapal"), }; const u32 gTilesetTiles_BattlePyramid[] = INCBIN_U32("data/tilesets/secondary/battle_pyramid/tiles.4bpp.lz"); const u16 gTilesetPalettes_BattlePyramid[][16] = { - INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_pyramid/palettes/15.gbapal"), }; const u32 gTilesetTiles_MirageTower[] = INCBIN_U32("data/tilesets/secondary/mirage_tower/tiles.4bpp.lz"); const u16 gTilesetPalettes_MirageTower[][16] = { - INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mirage_tower/palettes/15.gbapal"), }; const u32 gTilesetTiles_MossdeepGameCorner[] = INCBIN_U32("data/tilesets/secondary/mossdeep_game_corner/tiles.4bpp.lz"); const u16 gTilesetPalettes_MossdeepGameCorner[][16] = { - INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mossdeep_game_corner/palettes/15.gbapal"), }; const u32 gTilesetTiles_IslandHarbor[] = INCBIN_U32("data/tilesets/secondary/island_harbor/tiles.4bpp.lz"); const u16 gTilesetPalettes_IslandHarbor[][16] = { - INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/island_harbor/palettes/15.gbapal"), }; const u32 gTilesetTiles_TrainerHill[] = INCBIN_U32("data/tilesets/secondary/trainer_hill/tiles.4bpp.lz"); const u16 gTilesetPalettes_TrainerHill[][16] = { - INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/trainer_hill/palettes/15.gbapal"), }; const u32 gTilesetTiles_NavelRock[] = INCBIN_U32("data/tilesets/secondary/navel_rock/tiles.4bpp.lz"); const u16 gTilesetPalettes_NavelRock[][16] = { - INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/navel_rock/palettes/15.gbapal"), }; const u32 gTilesetTiles_BattleFrontierRankingHall[] = INCBIN_U32("data/tilesets/secondary/battle_frontier_ranking_hall/tiles.4bpp.lz"); const u16 gTilesetPalettes_BattleFrontierRankingHall[][16] = { - INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_frontier_ranking_hall/palettes/15.gbapal"), }; const u32 gTilesetTiles_BattleTent[] = INCBIN_U32("data/tilesets/secondary/battle_tent/tiles.4bpp.lz"); const u16 gTilesetPalettes_BattleTent[][16] = { - INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/battle_tent/palettes/15.gbapal"), }; const u32 gTilesetTiles_MysteryEventsHouse[] = INCBIN_U32("data/tilesets/secondary/mystery_events_house/tiles.4bpp.lz"); const u16 gTilesetPalettes_MysteryEventsHouse[][16] = { - INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/mystery_events_house/palettes/15.gbapal"), }; const u16 gTilesetPalettes_UnionRoom[][16] = { - INCBIN_U16("data/tilesets/secondary/union_room/palettes/00.gbapal"), - INCBIN_U16("data/tilesets/secondary/union_room/palettes/01.gbapal"), - INCBIN_U16("data/tilesets/secondary/union_room/palettes/02.gbapal"), - INCBIN_U16("data/tilesets/secondary/union_room/palettes/03.gbapal"), - INCBIN_U16("data/tilesets/secondary/union_room/palettes/04.gbapal"), - INCBIN_U16("data/tilesets/secondary/union_room/palettes/05.gbapal"), - INCBIN_U16("data/tilesets/secondary/union_room/palettes/06.gbapal"), - INCBIN_U16("data/tilesets/secondary/union_room/palettes/07.gbapal"), - INCBIN_U16("data/tilesets/secondary/union_room/palettes/08.gbapal"), - INCBIN_U16("data/tilesets/secondary/union_room/palettes/09.gbapal"), - INCBIN_U16("data/tilesets/secondary/union_room/palettes/10.gbapal"), - INCBIN_U16("data/tilesets/secondary/union_room/palettes/11.gbapal"), - INCBIN_U16("data/tilesets/secondary/union_room/palettes/12.gbapal"), - INCBIN_U16("data/tilesets/secondary/union_room/palettes/13.gbapal"), - INCBIN_U16("data/tilesets/secondary/union_room/palettes/14.gbapal"), - INCBIN_U16("data/tilesets/secondary/union_room/palettes/15.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/00.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/01.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/02.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/03.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/04.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/05.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/06.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/07.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/08.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/09.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/10.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/11.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/12.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/13.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/14.gbapal"), + INCBIN_U16("data/tilesets/secondary/union_room/palettes/15.gbapal"), }; const u32 gTilesetTiles_UnionRoom[] = INCBIN_U32("data/tilesets/secondary/union_room/tiles.4bpp.lz"); diff --git a/src/debug.c b/src/debug.c index f4b6f68840..a2bf55d95a 100644 --- a/src/debug.c +++ b/src/debug.c @@ -649,7 +649,7 @@ static const u8 sDebugText_Give_BattlePoints[] = _("Max Battle Points"); static const u8 sDebugText_Give_DaycareEgg[] = _("Daycare Egg"); // Sound Menu static const u8 sDebugText_Sound_SFX[] = _("SFX…{CLEAR_TO 110}{RIGHT_ARROW}"); -static const u8 sDebugText_Sound_SFX_ID[] = _("SFX ID: {STR_VAR_3} {START_BUTTON} Stop\n{STR_VAR_1} \n{STR_VAR_2}"); +static const u8 sDebugText_Sound_SFX_ID[] = _("SFX ID: {STR_VAR_3} {START_BUTTON} Stop\n{STR_VAR_1} \n{STR_VAR_2}"); static const u8 sDebugText_Sound_Music[] = _("Music…{CLEAR_TO 110}{RIGHT_ARROW}"); static const u8 sDebugText_Sound_Music_ID[] = _("Music ID: {STR_VAR_3} {START_BUTTON} Stop\n{STR_VAR_1} \n{STR_VAR_2}"); // Berry Function Menu diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 1edc986c9b..d82504a32f 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -9496,30 +9496,30 @@ static void DoTracksGroundEffect_BikeTireTracks(struct ObjectEvent *objEvent, st static void DoTracksGroundEffect_SlitherTracks(struct ObjectEvent *objEvent, struct Sprite *sprite, u8 a) { - // Specifies which bike track shape to show next. - // For example, when the bike turns from up to right, it will show - // a track that curves to the right. - // Each 4-byte row corresponds to the initial direction of the bike, and - // each byte in that row is for the next direction of the bike in the order - // of down, up, left, right. - static const u8 slitherTracks_Transitions[4][4] = { - {1, 2, 7, 8}, - {1, 2, 6, 5}, - {5, 8, 3, 4}, - {6, 7, 3, 4}, - }; + // Specifies which bike track shape to show next. + // For example, when the bike turns from up to right, it will show + // a track that curves to the right. + // Each 4-byte row corresponds to the initial direction of the bike, and + // each byte in that row is for the next direction of the bike in the order + // of down, up, left, right. + static const u8 slitherTracks_Transitions[4][4] = { + {1, 2, 7, 8}, + {1, 2, 6, 5}, + {5, 8, 3, 4}, + {6, 7, 3, 4}, + }; - if (objEvent->currentCoords.x != objEvent->previousCoords.x || objEvent->currentCoords.y != objEvent->previousCoords.y) - { - gFieldEffectArguments[0] = objEvent->previousCoords.x; - gFieldEffectArguments[1] = objEvent->previousCoords.y; - gFieldEffectArguments[2] = 149; - gFieldEffectArguments[3] = 2; - gFieldEffectArguments[4] = - slitherTracks_Transitions[objEvent->previousMovementDirection][objEvent->facingDirection - 5]; + if (objEvent->currentCoords.x != objEvent->previousCoords.x || objEvent->currentCoords.y != objEvent->previousCoords.y) + { + gFieldEffectArguments[0] = objEvent->previousCoords.x; + gFieldEffectArguments[1] = objEvent->previousCoords.y; + gFieldEffectArguments[2] = 149; + gFieldEffectArguments[3] = 2; + gFieldEffectArguments[4] = + slitherTracks_Transitions[objEvent->previousMovementDirection][objEvent->facingDirection - 5]; gFieldEffectArguments[5] = objEvent->previousMetatileBehavior; - FieldEffectStart(FLDEFF_TRACKS_SLITHER); - } + FieldEffectStart(FLDEFF_TRACKS_SLITHER); + } } void GroundEffect_Ripple(struct ObjectEvent *objEvent, struct Sprite *sprite) diff --git a/src/mini_printf.c b/src/mini_printf.c index 7432395b79..2420efbd18 100644 --- a/src/mini_printf.c +++ b/src/mini_printf.c @@ -141,9 +141,9 @@ static s32 _putsEncoded(char *s, s32 len, void *buf) static s32 mini_strlen(const char *s) { - s32 len = 0; - while (s[len] != '\0') len++; - return len; + s32 len = 0; + while (s[len] != '\0') len++; + return len; } static s32 mini_itoa(s32 value, u32 radix, s32 uppercase, bool32 unsig, char *buffer) diff --git a/src/pokedex_plus_hgss.c b/src/pokedex_plus_hgss.c index fa5279441b..e3b7793bbd 100644 --- a/src/pokedex_plus_hgss.c +++ b/src/pokedex_plus_hgss.c @@ -3511,14 +3511,14 @@ static void SpriteCB_DexListStartMenuCursor(struct Sprite *sprite) //************************************ //Stat bars on main screen, code by DizzyEgg, idea by Jaizu -#define PIXEL_COORDS_TO_OFFSET(x, y)( \ -/*Add tiles by X*/ \ -((y / 8) * 32 * 8) \ -/*Add tiles by X*/ \ -+ ((x / 8) * 32) \ -/*Add pixels by Y*/ \ -+ ((((y) - ((y / 8) * 8))) * 4) \ -/*Add pixels by X*/ \ +#define PIXEL_COORDS_TO_OFFSET(x, y)( \ +/*Add tiles by X*/ \ +((y / 8) * 32 * 8) \ +/*Add tiles by X*/ \ ++ ((x / 8) * 32) \ +/*Add pixels by Y*/ \ ++ ((((y) - ((y / 8) * 8))) * 4) \ +/*Add pixels by X*/ \ + ((((x) - ((x / 8) * 8)) / 2))) static inline void WritePixel(u8 *dst, u32 x, u32 y, u32 value) From e9c8bd05487c3fabe332e4541d57ba7d15e6f54d Mon Sep 17 00:00:00 2001 From: Pawkkie <61265402+Pawkkie@users.noreply.github.com> Date: Mon, 26 Aug 2024 19:58:15 -0400 Subject: [PATCH 12/78] Revert "Chilly Reception AI" (#5270) --- src/battle_ai_main.c | 14 +------------- src/battle_ai_switch_items.c | 2 +- src/battle_ai_util.c | 3 +-- test/battle/ai/ai_flag_sequence_switching.c | 4 +--- 4 files changed, 4 insertions(+), 19 deletions(-) diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index a56e6ace3b..67e9b90a24 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -1739,14 +1739,6 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) break; case EFFECT_HIT_ESCAPE: break; - case EFFECT_CHILLY_RECEPTION: - if (CountUsablePartyMons(battlerAtk) == 0) - ADJUST_SCORE(-10); - else if (weather & (B_WEATHER_SNOW | B_WEATHER_PRIMAL_ANY) || IsMoveEffectWeather(aiData->partnerMove)) - ADJUST_SCORE(-8); - else if (weather & B_WEATHER_HAIL) - ADJUST_SCORE(-2); // mainly to prevent looping between hail and snow - break; case EFFECT_BELLY_DRUM: case EFFECT_FILLET_AWAY: if (aiData->abilities[battlerAtk] == ABILITY_CONTRARY) @@ -2781,7 +2773,6 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) case EFFECT_SNOWSCAPE: case EFFECT_RAIN_DANCE: case EFFECT_SANDSTORM: - case EFFECT_CHILLY_RECEPTION: if (IsMoveEffectWeather(move)) ADJUST_SCORE(-10); break; @@ -2861,7 +2852,6 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) } break; case EFFECT_SNOWSCAPE: - case EFFECT_CHILLY_RECEPTION: if (IsBattlerAlive(battlerAtkPartner) && ShouldSetSnow(battlerAtkPartner, atkPartnerAbility, atkPartnerHoldEffect)) { @@ -2879,7 +2869,7 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) switch (atkPartnerAbility) { case ABILITY_ANGER_POINT: - if (gMovesInfo[move].alwaysCriticalHit == TRUE + if (gMovesInfo[move].alwaysCriticalHit == TRUE && BattlerStatCanRise(battlerAtkPartner, atkPartnerAbility, STAT_ATK) && AI_IsFaster(battlerAtk, battlerAtkPartner, move) && !CanIndexMoveFaintTarget(battlerAtk, battlerAtkPartner, AI_THINKING_STRUCT->movesetIndex, 1)) @@ -3640,7 +3630,6 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) //fallthrough case EFFECT_HIT_ESCAPE: case EFFECT_PARTING_SHOT: - case EFFECT_CHILLY_RECEPTION: if (!IsDoubleBattle()) { switch (ShouldPivot(battlerAtk, battlerDef, aiData->abilities[battlerDef], move, movesetIndex)) @@ -4899,7 +4888,6 @@ static s32 AI_SetupFirstTurn(u32 battlerAtk, u32 battlerDef, u32 move, s32 score case EFFECT_SANDSTORM: case EFFECT_HAIL: case EFFECT_SNOWSCAPE: - case EFFECT_CHILLY_RECEPTION: case EFFECT_GEOMANCY: case EFFECT_VICTORY_DANCE: ADJUST_SCORE(DECENT_EFFECT); diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 8c69b695c0..c19cbd05c5 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -2000,7 +2000,7 @@ static u32 GetBestMonIntegrated(struct Pokemon *party, int firstId, int lastId, } // If ace mon is the last available Pokemon and U-Turn/Volt Switch was used - switch to the mon. if (aceMonId != PARTY_SIZE - && (gMovesInfo[gLastUsedMove].effect == EFFECT_HIT_ESCAPE || gMovesInfo[gLastUsedMove].effect == EFFECT_PARTING_SHOT || gMovesInfo[gLastUsedMove].effect == EFFECT_BATON_PASS || gMovesInfo[gLastUsedMove].effect == EFFECT_CHILLY_RECEPTION)) + && (gMovesInfo[gLastUsedMove].effect == EFFECT_HIT_ESCAPE || gMovesInfo[gLastUsedMove].effect == EFFECT_PARTING_SHOT || gMovesInfo[gLastUsedMove].effect == EFFECT_BATON_PASS)) return aceMonId; return PARTY_SIZE; diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index ad22ed8fda..59a4d0c115 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -3263,8 +3263,7 @@ bool32 IsMoveEffectWeather(u32 move) || gMovesInfo[move].effect == EFFECT_RAIN_DANCE || gMovesInfo[move].effect == EFFECT_SANDSTORM || gMovesInfo[move].effect == EFFECT_HAIL - || gMovesInfo[move].effect == EFFECT_SNOWSCAPE - || gMovesInfo[move].effect == EFFECT_CHILLY_RECEPTION)) + || gMovesInfo[move].effect == EFFECT_SNOWSCAPE)) return TRUE; return FALSE; } diff --git a/test/battle/ai/ai_flag_sequence_switching.c b/test/battle/ai/ai_flag_sequence_switching.c index 7a0f3528bd..1b4a264a24 100644 --- a/test/battle/ai/ai_flag_sequence_switching.c +++ b/test/battle/ai/ai_flag_sequence_switching.c @@ -64,7 +64,7 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SEQUENCE_SWITCHING: Roar and Dragon Tail still fo } } -AI_SINGLE_BATTLE_TEST("AI_FLAG_SEQUENCE_SWITCHING: AI will always switch into lowest party index after U-Turn, Parting Shot, Baton Pass, and Chilly Reception") +AI_SINGLE_BATTLE_TEST("AI_FLAG_SEQUENCE_SWITCHING: AI will always switch into lowest party index after U-Turn, Parting Shot, and Baton Pass") { u32 j, aiSequenceSwitchingFlag = 0, move = MOVE_NONE; @@ -72,7 +72,6 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SEQUENCE_SWITCHING: AI will always switch into lo MOVE_U_TURN, MOVE_PARTING_SHOT, MOVE_BATON_PASS, - MOVE_CHILLY_RECEPTION, }; for (j = 0; j < ARRAY_COUNT(switchMoves); j++) @@ -85,7 +84,6 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SEQUENCE_SWITCHING: AI will always switch into lo ASSUME(gMovesInfo[MOVE_U_TURN].effect == EFFECT_HIT_ESCAPE); ASSUME(gMovesInfo[MOVE_PARTING_SHOT].effect == EFFECT_PARTING_SHOT); ASSUME(gMovesInfo[MOVE_BATON_PASS].effect == EFFECT_BATON_PASS); - ASSUME(gMovesInfo[MOVE_CHILLY_RECEPTION].effect == EFFECT_CHILLY_RECEPTION); AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | aiSequenceSwitchingFlag); PLAYER(SPECIES_SWELLOW) { Level (50); } OPPONENT(SPECIES_MACHOP) { Level(1); Moves(move); } From c406c4cc76341991fbb28072b63a12d73cffdc63 Mon Sep 17 00:00:00 2001 From: laserXdolphin <107103137+laserXdolphin@users.noreply.github.com> Date: Tue, 27 Aug 2024 14:33:58 +0200 Subject: [PATCH 13/78] Fixed Ice Fang frostbite and freeze text. The frostbite and freeze texts were swapped. (#5273) --- src/data/moves_info.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/data/moves_info.h b/src/data/moves_info.h index 08579f274f..cef7b6971a 100644 --- a/src/data/moves_info.h +++ b/src/data/moves_info.h @@ -10596,9 +10596,9 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .description = COMPOUND_STRING( "May cause flinching or\n" #if B_USE_FROSTBITE == TRUE - "leave the foe frozen."), - #else "leave the foe with frostbite."), + #else + "leave the foe frozen."), #endif .effect = EFFECT_HIT, .power = 65, From 930cac6acad1d2fd1b8280ea959b424383aa5b98 Mon Sep 17 00:00:00 2001 From: PhallenTree <168426989+PhallenTree@users.noreply.github.com> Date: Tue, 27 Aug 2024 13:46:56 +0100 Subject: [PATCH 14/78] Fix Instruct bypassing AtkCanceler, Entry Hazards targeting wrong side of the field if opponent fainted (#5262) * Fix Instruct bypassing AtkCanceler + interaction with firstTurnOnly moves * Fix Entry Hazards targeting the wrong side of the field if opponent fainted * Remove unused BattleScript_AuroraVeilEnds and STRINGID_AURORAVEILENDS * Alternative fix + Fix gBattlerTarget initially set to 2 * Fix Instruct animation * Alternative anim fix --- data/battle_scripts_1.s | 2 + include/battle_scripts.h | 1 - include/constants/battle_string_ids.h | 539 +++++++++++++------------- src/battle_message.c | 2 - src/battle_script_commands.c | 10 +- src/battle_util.c | 8 +- test/battle/move_effect/instruct.c | 218 +++++++++++ test/battle/move_effect/sticky_web.c | 33 ++ 8 files changed, 532 insertions(+), 281 deletions(-) create mode 100644 test/battle/move_effect/instruct.c diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 5bd91f8df5..9d0bc6fc1f 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -1757,6 +1757,8 @@ BattleScript_EffectInstruct:: tryinstruct BattleScript_ButItFailed attackanimation waitanimation + copybyte gBattlerAttacker, gBattlerTarget + copybyte gBattlerTarget, gEffectBattler printstring STRINGID_USEDINSTRUCTEDMOVE waitmessage B_WAIT_TIME_LONG setbyte sB_ANIM_TURN, 0 diff --git a/include/battle_scripts.h b/include/battle_scripts.h index e8c71d32c2..fb1e72af24 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -263,7 +263,6 @@ extern const u8 BattleScript_EmbargoEndTurn[]; extern const u8 BattleScript_TelekinesisEndTurn[]; extern const u8 BattleScript_BufferEndTurn[]; extern const u8 BattleScript_AquaRingHeal[]; -extern const u8 BattleScript_AuroraVeilEnds[]; extern const u8 BattleScript_LuckyChantEnds[]; extern const u8 BattleScript_TailwindEnds[]; extern const u8 BattleScript_TrickRoomEnds[]; diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h index 9529e026c1..9fbb70a223 100644 --- a/include/constants/battle_string_ids.h +++ b/include/constants/battle_string_ids.h @@ -444,277 +444,276 @@ #define STRINGID_WATERSPORTENDS 442 #define STRINGID_GRAVITYENDS 443 #define STRINGID_AQUARINGHEAL 444 -#define STRINGID_AURORAVEILENDS 445 -#define STRINGID_ELECTRICTERRAINENDS 446 -#define STRINGID_MISTYTERRAINENDS 447 -#define STRINGID_PSYCHICTERRAINENDS 448 -#define STRINGID_GRASSYTERRAINENDS 449 -#define STRINGID_TARGETABILITYSTATRAISE 450 -#define STRINGID_TARGETSSTATWASMAXEDOUT 451 -#define STRINGID_ATTACKERABILITYSTATRAISE 452 -#define STRINGID_POISONHEALHPUP 453 -#define STRINGID_BADDREAMSDMG 454 -#define STRINGID_MOLDBREAKERENTERS 455 -#define STRINGID_TERAVOLTENTERS 456 -#define STRINGID_TURBOBLAZEENTERS 457 -#define STRINGID_SLOWSTARTENTERS 458 -#define STRINGID_SLOWSTARTEND 459 -#define STRINGID_SOLARPOWERHPDROP 460 -#define STRINGID_AFTERMATHDMG 461 -#define STRINGID_ANTICIPATIONACTIVATES 462 -#define STRINGID_FOREWARNACTIVATES 463 -#define STRINGID_ICEBODYHPGAIN 464 -#define STRINGID_SNOWWARNINGHAIL 465 -#define STRINGID_FRISKACTIVATES 466 -#define STRINGID_UNNERVEENTERS 467 -#define STRINGID_HARVESTBERRY 468 -#define STRINGID_LASTABILITYRAISEDSTAT 469 -#define STRINGID_MAGICBOUNCEACTIVATES 470 -#define STRINGID_PROTEANTYPECHANGE 471 -#define STRINGID_SYMBIOSISITEMPASS 472 -#define STRINGID_STEALTHROCKDMG 473 -#define STRINGID_TOXICSPIKESABSORBED 474 -#define STRINGID_TOXICSPIKESPOISONED 475 -#define STRINGID_STICKYWEBSWITCHIN 476 -#define STRINGID_HEALINGWISHCAMETRUE 477 -#define STRINGID_HEALINGWISHHEALED 478 -#define STRINGID_LUNARDANCECAMETRUE 479 -#define STRINGID_CUSEDBODYDISABLED 480 -#define STRINGID_ATTACKERACQUIREDABILITY 481 -#define STRINGID_TARGETABILITYSTATLOWER 482 -#define STRINGID_TARGETSTATWONTGOHIGHER 483 -#define STRINGID_PKMNMOVEBOUNCEDABILITY 484 -#define STRINGID_IMPOSTERTRANSFORM 485 -#define STRINGID_ASSAULTVESTDOESNTALLOW 486 -#define STRINGID_GRAVITYPREVENTSUSAGE 487 -#define STRINGID_HEALBLOCKPREVENTSUSAGE 488 -#define STRINGID_NOTDONEYET 489 -#define STRINGID_STICKYWEBUSED 490 -#define STRINGID_QUASHSUCCESS 491 -#define STRINGID_PKMNBLEWAWAYTOXICSPIKES 492 -#define STRINGID_PKMNBLEWAWAYSTICKYWEB 493 -#define STRINGID_PKMNBLEWAWAYSTEALTHROCK 494 -#define STRINGID_IONDELUGEON 495 -#define STRINGID_TOPSYTURVYSWITCHEDSTATS 496 -#define STRINGID_TERRAINBECOMESMISTY 497 -#define STRINGID_TERRAINBECOMESGRASSY 498 -#define STRINGID_TERRAINBECOMESELECTRIC 499 -#define STRINGID_TERRAINBECOMESPSYCHIC 500 -#define STRINGID_TARGETELECTRIFIED 501 -#define STRINGID_MEGAEVOREACTING 502 -#define STRINGID_MEGAEVOEVOLVED 503 -#define STRINGID_DRASTICALLY 504 -#define STRINGID_SEVERELY 505 -#define STRINGID_INFESTATION 506 -#define STRINGID_NOEFFECTONTARGET 507 -#define STRINGID_BURSTINGFLAMESHIT 508 -#define STRINGID_BESTOWITEMGIVING 509 -#define STRINGID_THIRDTYPEADDED 510 -#define STRINGID_FELLFORFEINT 511 -#define STRINGID_POKEMONCANNOTUSEMOVE 512 -#define STRINGID_COVEREDINPOWDER 513 -#define STRINGID_POWDEREXPLODES 514 -#define STRINGID_BELCHCANTSELECT 515 -#define STRINGID_SPECTRALTHIEFSTEAL 516 -#define STRINGID_GRAVITYGROUNDING 517 -#define STRINGID_MISTYTERRAINPREVENTS 518 -#define STRINGID_GRASSYTERRAINHEALS 519 -#define STRINGID_ELECTRICTERRAINPREVENTS 520 -#define STRINGID_PSYCHICTERRAINPREVENTS 521 -#define STRINGID_SAFETYGOGGLESPROTECTED 522 -#define STRINGID_FLOWERVEILPROTECTED 523 -#define STRINGID_SWEETVEILPROTECTED 524 -#define STRINGID_AROMAVEILPROTECTED 525 -#define STRINGID_CELEBRATEMESSAGE 526 -#define STRINGID_USEDINSTRUCTEDMOVE 527 -#define STRINGID_THROATCHOPENDS 528 -#define STRINGID_PKMNCANTUSEMOVETHROATCHOP 529 -#define STRINGID_LASERFOCUS 530 -#define STRINGID_GEMACTIVATES 531 -#define STRINGID_BERRYDMGREDUCES 532 -#define STRINGID_TARGETATEITEM 533 -#define STRINGID_AIRBALLOONFLOAT 534 -#define STRINGID_AIRBALLOONPOP 535 -#define STRINGID_INCINERATEBURN 536 -#define STRINGID_BUGBITE 537 -#define STRINGID_ILLUSIONWOREOFF 538 -#define STRINGID_ATTACKERCUREDTARGETSTATUS 539 -#define STRINGID_ATTACKERLOSTFIRETYPE 540 -#define STRINGID_HEALERCURE 541 -#define STRINGID_SCRIPTINGABILITYSTATRAISE 542 -#define STRINGID_RECEIVERABILITYTAKEOVER 543 -#define STRINGID_PKNMABSORBINGPOWER 544 -#define STRINGID_NOONEWILLBEABLETORUNAWAY 545 -#define STRINGID_DESTINYKNOTACTIVATES 546 -#define STRINGID_CLOAKEDINAFREEZINGLIGHT 547 -#define STRINGID_CLEARAMULETWONTLOWERSTATS 548 -#define STRINGID_FERVENTWISHREACHED 549 -#define STRINGID_AIRLOCKACTIVATES 550 -#define STRINGID_PRESSUREENTERS 551 -#define STRINGID_DARKAURAENTERS 552 -#define STRINGID_FAIRYAURAENTERS 553 -#define STRINGID_AURABREAKENTERS 554 -#define STRINGID_COMATOSEENTERS 555 -#define STRINGID_SCREENCLEANERENTERS 556 -#define STRINGID_FETCHEDPOKEBALL 557 -#define STRINGID_BATTLERABILITYRAISEDSTAT 558 -#define STRINGID_ASANDSTORMKICKEDUP 559 -#define STRINGID_PKMNSWILLPERISHIN3TURNS 560 -#define STRINGID_ABILITYRAISEDSTATDRASTICALLY 561 -#define STRINGID_AURAFLAREDTOLIFE 562 -#define STRINGID_ASONEENTERS 563 -#define STRINGID_CURIOUSMEDICINEENTERS 564 -#define STRINGID_CANACTFASTERTHANKSTO 565 -#define STRINGID_MICLEBERRYACTIVATES 566 -#define STRINGID_PKMNSHOOKOFFTHETAUNT 567 -#define STRINGID_PKMNGOTOVERITSINFATUATION 568 -#define STRINGID_ITEMCANNOTBEREMOVED 569 -#define STRINGID_STICKYBARBTRANSFER 570 -#define STRINGID_PKMNBURNHEALED 571 -#define STRINGID_REDCARDACTIVATE 572 -#define STRINGID_EJECTBUTTONACTIVATE 573 -#define STRINGID_ATKGOTOVERINFATUATION 574 -#define STRINGID_TORMENTEDNOMORE 575 -#define STRINGID_HEALBLOCKEDNOMORE 576 -#define STRINGID_ATTACKERBECAMEFULLYCHARGED 577 -#define STRINGID_ATTACKERBECAMEASHSPECIES 578 -#define STRINGID_EXTREMELYHARSHSUNLIGHT 579 -#define STRINGID_EXTREMESUNLIGHTFADED 580 -#define STRINGID_MOVEEVAPORATEDINTHEHARSHSUNLIGHT 581 -#define STRINGID_EXTREMELYHARSHSUNLIGHTWASNOTLESSENED 582 -#define STRINGID_HEAVYRAIN 583 -#define STRINGID_HEAVYRAINLIFTED 584 -#define STRINGID_MOVEFIZZLEDOUTINTHEHEAVYRAIN 585 -#define STRINGID_NORELIEFROMHEAVYRAIN 586 -#define STRINGID_MYSTERIOUSAIRCURRENT 587 -#define STRINGID_STRONGWINDSDISSIPATED 588 -#define STRINGID_MYSTERIOUSAIRCURRENTBLOWSON 589 -#define STRINGID_ATTACKWEAKENEDBSTRONGWINDS 590 -#define STRINGID_STUFFCHEEKSCANTSELECT 591 -#define STRINGID_PKMNREVERTEDTOPRIMAL 592 -#define STRINGID_BUTPOKEMONCANTUSETHEMOVE 593 -#define STRINGID_BUTHOOPACANTUSEIT 594 -#define STRINGID_BROKETHROUGHPROTECTION 595 -#define STRINGID_ABILITYALLOWSONLYMOVE 596 -#define STRINGID_SWAPPEDABILITIES 597 -#define STRINGID_PASTELVEILPROTECTED 598 -#define STRINGID_PASTELVEILENTERS 599 -#define STRINGID_BATTLERTYPECHANGEDTO 600 -#define STRINGID_BOTHCANNOLONGERESCAPE 601 -#define STRINGID_CANTESCAPEDUETOUSEDMOVE 602 -#define STRINGID_PKMNBECAMEWEAKERTOFIRE 603 -#define STRINGID_ABOUTTOUSEPOLTERGEIST 604 -#define STRINGID_CANTESCAPEBECAUSEOFCURRENTMOVE 605 -#define STRINGID_NEUTRALIZINGGASENTERS 606 -#define STRINGID_NEUTRALIZINGGASOVER 607 -#define STRINGID_TARGETTOOHEAVY 608 -#define STRINGID_PKMNTOOKTARGETHIGH 609 -#define STRINGID_PKMNINSNAPTRAP 610 -#define STRINGID_METEORBEAMCHARGING 611 -#define STRINGID_HEATUPBEAK 612 -#define STRINGID_COURTCHANGE 613 -#define STRINGID_PLAYERLOSTTOENEMYTRAINER 614 -#define STRINGID_PLAYERPAIDPRIZEMONEY 615 -#define STRINGID_ZPOWERSURROUNDS 616 -#define STRINGID_ZMOVEUNLEASHED 617 -#define STRINGID_ZMOVERESETSSTATS 618 -#define STRINGID_ZMOVEALLSTATSUP 619 -#define STRINGID_ZMOVEZBOOSTCRIT 620 -#define STRINGID_ZMOVERESTOREHP 621 -#define STRINGID_ZMOVESTATUP 622 -#define STRINGID_ZMOVEHPTRAP 623 -#define STRINGID_ATTACKEREXPELLEDTHEPOISON 624 -#define STRINGID_ATTACKERSHOOKITSELFAWAKE 625 -#define STRINGID_ATTACKERBROKETHROUGHPARALYSIS 626 -#define STRINGID_ATTACKERHEALEDITSBURN 627 -#define STRINGID_ATTACKERMELTEDTHEICE 628 -#define STRINGID_TARGETTOUGHEDITOUT 629 -#define STRINGID_ATTACKERLOSTELECTRICTYPE 630 -#define STRINGID_ATTACKERSWITCHEDSTATWITHTARGET 631 -#define STRINGID_BEINGHITCHARGEDPKMNWITHPOWER 632 -#define STRINGID_SUNLIGHTACTIVATEDABILITY 633 -#define STRINGID_STATWASHEIGHTENED 634 -#define STRINGID_ELECTRICTERRAINACTIVATEDABILITY 635 -#define STRINGID_ABILITYWEAKENEDSURROUNDINGMONSSTAT 636 -#define STRINGID_ATTACKERGAINEDSTRENGTHFROMTHEFALLEN 637 -#define STRINGID_PKMNSABILITYPREVENTSABILITY 638 -#define STRINGID_PREPARESHELLTRAP 639 -#define STRINGID_SHELLTRAPDIDNTWORK 640 -#define STRINGID_SPIKESDISAPPEAREDFROMTEAM 641 -#define STRINGID_TOXICSPIKESDISAPPEAREDFROMTEAM 642 -#define STRINGID_STICKYWEBDISAPPEAREDFROMTEAM 643 -#define STRINGID_STEALTHROCKDISAPPEAREDFROMTEAM 644 -#define STRINGID_COULDNTFULLYPROTECT 645 -#define STRINGID_STOCKPILEDEFFECTWOREOFF 646 -#define STRINGID_PKMNREVIVEDREADYTOFIGHT 647 -#define STRINGID_ITEMRESTOREDSPECIESHEALTH 648 -#define STRINGID_ITEMCUREDSPECIESSTATUS 649 -#define STRINGID_ITEMRESTOREDSPECIESPP 650 -#define STRINGID_THUNDERCAGETRAPPED 651 -#define STRINGID_PKMNHURTBYFROSTBITE 652 -#define STRINGID_PKMNGOTFROSTBITE 653 -#define STRINGID_PKMNSITEMHEALEDFROSTBITE 654 -#define STRINGID_ATTACKERHEALEDITSFROSTBITE 655 -#define STRINGID_PKMNFROSTBITEHEALED 656 -#define STRINGID_PKMNFROSTBITEHEALED2 657 -#define STRINGID_PKMNFROSTBITEHEALEDBY 658 -#define STRINGID_MIRRORHERBCOPIED 659 -#define STRINGID_STARTEDSNOW 660 -#define STRINGID_SNOWCONTINUES 661 -#define STRINGID_SNOWSTOPPED 662 -#define STRINGID_SNOWWARNINGSNOW 663 -#define STRINGID_PKMNITEMMELTED 664 -#define STRINGID_ULTRABURSTREACTING 665 -#define STRINGID_ULTRABURSTCOMPLETED 666 -#define STRINGID_TEAMGAINEDEXP 667 -#define STRINGID_CURRENTMOVECANTSELECT 668 -#define STRINGID_TARGETISBEINGSALTCURED 669 -#define STRINGID_TARGETISHURTBYSALTCURE 670 -#define STRINGID_TARGETCOVEREDINSTICKYCANDYSYRUP 671 -#define STRINGID_SHARPSTEELFLOATS 672 -#define STRINGID_SHARPSTEELDMG 673 -#define STRINGID_PKMNBLEWAWAYSHARPSTEEL 674 -#define STRINGID_SHARPSTEELDISAPPEAREDFROMTEAM 675 -#define STRINGID_TEAMTRAPPEDWITHVINES 676 -#define STRINGID_PKMNHURTBYVINES 677 -#define STRINGID_TEAMCAUGHTINVORTEX 678 -#define STRINGID_PKMNHURTBYVORTEX 679 -#define STRINGID_TEAMSURROUNDEDBYFIRE 680 -#define STRINGID_PKMNBURNINGUP 681 -#define STRINGID_TEAMSURROUNDEDBYROCKS 682 -#define STRINGID_PKMNHURTBYROCKSTHROWN 683 -#define STRINGID_MOVEBLOCKEDBYDYNAMAX 684 -#define STRINGID_ZEROTOHEROTRANSFORMATION 685 -#define STRINGID_THETWOMOVESBECOMEONE 686 -#define STRINGID_ARAINBOWAPPEAREDONSIDE 687 -#define STRINGID_THERAINBOWDISAPPEARED 688 -#define STRINGID_WAITINGFORPARTNERSMOVE 689 -#define STRINGID_SEAOFFIREENVELOPEDSIDE 690 -#define STRINGID_HURTBYTHESEAOFFIRE 691 -#define STRINGID_THESEAOFFIREDISAPPEARED 692 -#define STRINGID_SWAMPENVELOPEDSIDE 693 -#define STRINGID_THESWAMPDISAPPEARED 694 -#define STRINGID_PKMNTELLCHILLINGRECEPTIONJOKE 695 -#define STRINGID_HOSPITALITYRESTORATION 696 -#define STRINGID_ELECTROSHOTCHARGING 697 -#define STRINGID_ITEMWASUSEDUP 698 -#define STRINGID_ATTACKERLOSTITSTYPE 699 -#define STRINGID_SHEDITSTAIL 700 -#define STRINGID_CLOAKEDINAHARSHLIGHT 701 -#define STRINGID_SUPERSWEETAROMAWAFTS 702 -#define STRINGID_DIMENSIONSWERETWISTED 703 -#define STRINGID_BIZARREARENACREATED 704 -#define STRINGID_BIZARREAREACREATED 705 -#define STRINGID_TIDYINGUPCOMPLETE 706 -#define STRINGID_PKMNTERASTALLIZEDINTO 707 -#define STRINGID_BOOSTERENERGYACTIVATES 708 -#define STRINGID_FOGCREPTUP 709 -#define STRINGID_FOGISDEEP 710 -#define STRINGID_FOGLIFTED 711 -#define STRINGID_PKMNMADESHELLGLEAM 712 -#define STRINGID_FICKLEBEAMDOUBLED 713 +#define STRINGID_ELECTRICTERRAINENDS 445 +#define STRINGID_MISTYTERRAINENDS 446 +#define STRINGID_PSYCHICTERRAINENDS 447 +#define STRINGID_GRASSYTERRAINENDS 448 +#define STRINGID_TARGETABILITYSTATRAISE 449 +#define STRINGID_TARGETSSTATWASMAXEDOUT 450 +#define STRINGID_ATTACKERABILITYSTATRAISE 451 +#define STRINGID_POISONHEALHPUP 452 +#define STRINGID_BADDREAMSDMG 453 +#define STRINGID_MOLDBREAKERENTERS 454 +#define STRINGID_TERAVOLTENTERS 455 +#define STRINGID_TURBOBLAZEENTERS 456 +#define STRINGID_SLOWSTARTENTERS 457 +#define STRINGID_SLOWSTARTEND 458 +#define STRINGID_SOLARPOWERHPDROP 459 +#define STRINGID_AFTERMATHDMG 460 +#define STRINGID_ANTICIPATIONACTIVATES 461 +#define STRINGID_FOREWARNACTIVATES 462 +#define STRINGID_ICEBODYHPGAIN 463 +#define STRINGID_SNOWWARNINGHAIL 464 +#define STRINGID_FRISKACTIVATES 465 +#define STRINGID_UNNERVEENTERS 466 +#define STRINGID_HARVESTBERRY 467 +#define STRINGID_LASTABILITYRAISEDSTAT 468 +#define STRINGID_MAGICBOUNCEACTIVATES 469 +#define STRINGID_PROTEANTYPECHANGE 470 +#define STRINGID_SYMBIOSISITEMPASS 471 +#define STRINGID_STEALTHROCKDMG 472 +#define STRINGID_TOXICSPIKESABSORBED 473 +#define STRINGID_TOXICSPIKESPOISONED 474 +#define STRINGID_STICKYWEBSWITCHIN 475 +#define STRINGID_HEALINGWISHCAMETRUE 476 +#define STRINGID_HEALINGWISHHEALED 477 +#define STRINGID_LUNARDANCECAMETRUE 478 +#define STRINGID_CUSEDBODYDISABLED 479 +#define STRINGID_ATTACKERACQUIREDABILITY 480 +#define STRINGID_TARGETABILITYSTATLOWER 481 +#define STRINGID_TARGETSTATWONTGOHIGHER 482 +#define STRINGID_PKMNMOVEBOUNCEDABILITY 483 +#define STRINGID_IMPOSTERTRANSFORM 484 +#define STRINGID_ASSAULTVESTDOESNTALLOW 485 +#define STRINGID_GRAVITYPREVENTSUSAGE 486 +#define STRINGID_HEALBLOCKPREVENTSUSAGE 487 +#define STRINGID_NOTDONEYET 488 +#define STRINGID_STICKYWEBUSED 489 +#define STRINGID_QUASHSUCCESS 490 +#define STRINGID_PKMNBLEWAWAYTOXICSPIKES 491 +#define STRINGID_PKMNBLEWAWAYSTICKYWEB 492 +#define STRINGID_PKMNBLEWAWAYSTEALTHROCK 493 +#define STRINGID_IONDELUGEON 494 +#define STRINGID_TOPSYTURVYSWITCHEDSTATS 495 +#define STRINGID_TERRAINBECOMESMISTY 496 +#define STRINGID_TERRAINBECOMESGRASSY 497 +#define STRINGID_TERRAINBECOMESELECTRIC 498 +#define STRINGID_TERRAINBECOMESPSYCHIC 499 +#define STRINGID_TARGETELECTRIFIED 500 +#define STRINGID_MEGAEVOREACTING 501 +#define STRINGID_MEGAEVOEVOLVED 502 +#define STRINGID_DRASTICALLY 503 +#define STRINGID_SEVERELY 504 +#define STRINGID_INFESTATION 505 +#define STRINGID_NOEFFECTONTARGET 506 +#define STRINGID_BURSTINGFLAMESHIT 507 +#define STRINGID_BESTOWITEMGIVING 508 +#define STRINGID_THIRDTYPEADDED 509 +#define STRINGID_FELLFORFEINT 510 +#define STRINGID_POKEMONCANNOTUSEMOVE 511 +#define STRINGID_COVEREDINPOWDER 512 +#define STRINGID_POWDEREXPLODES 513 +#define STRINGID_BELCHCANTSELECT 514 +#define STRINGID_SPECTRALTHIEFSTEAL 515 +#define STRINGID_GRAVITYGROUNDING 516 +#define STRINGID_MISTYTERRAINPREVENTS 517 +#define STRINGID_GRASSYTERRAINHEALS 518 +#define STRINGID_ELECTRICTERRAINPREVENTS 519 +#define STRINGID_PSYCHICTERRAINPREVENTS 520 +#define STRINGID_SAFETYGOGGLESPROTECTED 521 +#define STRINGID_FLOWERVEILPROTECTED 522 +#define STRINGID_SWEETVEILPROTECTED 523 +#define STRINGID_AROMAVEILPROTECTED 524 +#define STRINGID_CELEBRATEMESSAGE 525 +#define STRINGID_USEDINSTRUCTEDMOVE 526 +#define STRINGID_THROATCHOPENDS 527 +#define STRINGID_PKMNCANTUSEMOVETHROATCHOP 528 +#define STRINGID_LASERFOCUS 529 +#define STRINGID_GEMACTIVATES 530 +#define STRINGID_BERRYDMGREDUCES 531 +#define STRINGID_TARGETATEITEM 532 +#define STRINGID_AIRBALLOONFLOAT 533 +#define STRINGID_AIRBALLOONPOP 534 +#define STRINGID_INCINERATEBURN 535 +#define STRINGID_BUGBITE 536 +#define STRINGID_ILLUSIONWOREOFF 537 +#define STRINGID_ATTACKERCUREDTARGETSTATUS 538 +#define STRINGID_ATTACKERLOSTFIRETYPE 539 +#define STRINGID_HEALERCURE 540 +#define STRINGID_SCRIPTINGABILITYSTATRAISE 541 +#define STRINGID_RECEIVERABILITYTAKEOVER 542 +#define STRINGID_PKNMABSORBINGPOWER 543 +#define STRINGID_NOONEWILLBEABLETORUNAWAY 544 +#define STRINGID_DESTINYKNOTACTIVATES 545 +#define STRINGID_CLOAKEDINAFREEZINGLIGHT 546 +#define STRINGID_CLEARAMULETWONTLOWERSTATS 547 +#define STRINGID_FERVENTWISHREACHED 548 +#define STRINGID_AIRLOCKACTIVATES 549 +#define STRINGID_PRESSUREENTERS 550 +#define STRINGID_DARKAURAENTERS 551 +#define STRINGID_FAIRYAURAENTERS 552 +#define STRINGID_AURABREAKENTERS 553 +#define STRINGID_COMATOSEENTERS 554 +#define STRINGID_SCREENCLEANERENTERS 555 +#define STRINGID_FETCHEDPOKEBALL 556 +#define STRINGID_BATTLERABILITYRAISEDSTAT 557 +#define STRINGID_ASANDSTORMKICKEDUP 558 +#define STRINGID_PKMNSWILLPERISHIN3TURNS 559 +#define STRINGID_ABILITYRAISEDSTATDRASTICALLY 560 +#define STRINGID_AURAFLAREDTOLIFE 561 +#define STRINGID_ASONEENTERS 562 +#define STRINGID_CURIOUSMEDICINEENTERS 563 +#define STRINGID_CANACTFASTERTHANKSTO 564 +#define STRINGID_MICLEBERRYACTIVATES 565 +#define STRINGID_PKMNSHOOKOFFTHETAUNT 566 +#define STRINGID_PKMNGOTOVERITSINFATUATION 567 +#define STRINGID_ITEMCANNOTBEREMOVED 568 +#define STRINGID_STICKYBARBTRANSFER 569 +#define STRINGID_PKMNBURNHEALED 570 +#define STRINGID_REDCARDACTIVATE 571 +#define STRINGID_EJECTBUTTONACTIVATE 572 +#define STRINGID_ATKGOTOVERINFATUATION 573 +#define STRINGID_TORMENTEDNOMORE 574 +#define STRINGID_HEALBLOCKEDNOMORE 575 +#define STRINGID_ATTACKERBECAMEFULLYCHARGED 576 +#define STRINGID_ATTACKERBECAMEASHSPECIES 577 +#define STRINGID_EXTREMELYHARSHSUNLIGHT 578 +#define STRINGID_EXTREMESUNLIGHTFADED 579 +#define STRINGID_MOVEEVAPORATEDINTHEHARSHSUNLIGHT 580 +#define STRINGID_EXTREMELYHARSHSUNLIGHTWASNOTLESSENED 581 +#define STRINGID_HEAVYRAIN 582 +#define STRINGID_HEAVYRAINLIFTED 583 +#define STRINGID_MOVEFIZZLEDOUTINTHEHEAVYRAIN 584 +#define STRINGID_NORELIEFROMHEAVYRAIN 585 +#define STRINGID_MYSTERIOUSAIRCURRENT 586 +#define STRINGID_STRONGWINDSDISSIPATED 587 +#define STRINGID_MYSTERIOUSAIRCURRENTBLOWSON 588 +#define STRINGID_ATTACKWEAKENEDBSTRONGWINDS 589 +#define STRINGID_STUFFCHEEKSCANTSELECT 590 +#define STRINGID_PKMNREVERTEDTOPRIMAL 591 +#define STRINGID_BUTPOKEMONCANTUSETHEMOVE 592 +#define STRINGID_BUTHOOPACANTUSEIT 593 +#define STRINGID_BROKETHROUGHPROTECTION 594 +#define STRINGID_ABILITYALLOWSONLYMOVE 595 +#define STRINGID_SWAPPEDABILITIES 596 +#define STRINGID_PASTELVEILPROTECTED 597 +#define STRINGID_PASTELVEILENTERS 598 +#define STRINGID_BATTLERTYPECHANGEDTO 599 +#define STRINGID_BOTHCANNOLONGERESCAPE 600 +#define STRINGID_CANTESCAPEDUETOUSEDMOVE 601 +#define STRINGID_PKMNBECAMEWEAKERTOFIRE 602 +#define STRINGID_ABOUTTOUSEPOLTERGEIST 603 +#define STRINGID_CANTESCAPEBECAUSEOFCURRENTMOVE 604 +#define STRINGID_NEUTRALIZINGGASENTERS 605 +#define STRINGID_NEUTRALIZINGGASOVER 606 +#define STRINGID_TARGETTOOHEAVY 607 +#define STRINGID_PKMNTOOKTARGETHIGH 608 +#define STRINGID_PKMNINSNAPTRAP 609 +#define STRINGID_METEORBEAMCHARGING 610 +#define STRINGID_HEATUPBEAK 611 +#define STRINGID_COURTCHANGE 612 +#define STRINGID_PLAYERLOSTTOENEMYTRAINER 613 +#define STRINGID_PLAYERPAIDPRIZEMONEY 614 +#define STRINGID_ZPOWERSURROUNDS 615 +#define STRINGID_ZMOVEUNLEASHED 616 +#define STRINGID_ZMOVERESETSSTATS 617 +#define STRINGID_ZMOVEALLSTATSUP 618 +#define STRINGID_ZMOVEZBOOSTCRIT 619 +#define STRINGID_ZMOVERESTOREHP 620 +#define STRINGID_ZMOVESTATUP 621 +#define STRINGID_ZMOVEHPTRAP 622 +#define STRINGID_ATTACKEREXPELLEDTHEPOISON 623 +#define STRINGID_ATTACKERSHOOKITSELFAWAKE 624 +#define STRINGID_ATTACKERBROKETHROUGHPARALYSIS 625 +#define STRINGID_ATTACKERHEALEDITSBURN 626 +#define STRINGID_ATTACKERMELTEDTHEICE 627 +#define STRINGID_TARGETTOUGHEDITOUT 628 +#define STRINGID_ATTACKERLOSTELECTRICTYPE 629 +#define STRINGID_ATTACKERSWITCHEDSTATWITHTARGET 630 +#define STRINGID_BEINGHITCHARGEDPKMNWITHPOWER 631 +#define STRINGID_SUNLIGHTACTIVATEDABILITY 632 +#define STRINGID_STATWASHEIGHTENED 633 +#define STRINGID_ELECTRICTERRAINACTIVATEDABILITY 634 +#define STRINGID_ABILITYWEAKENEDSURROUNDINGMONSSTAT 635 +#define STRINGID_ATTACKERGAINEDSTRENGTHFROMTHEFALLEN 636 +#define STRINGID_PKMNSABILITYPREVENTSABILITY 637 +#define STRINGID_PREPARESHELLTRAP 638 +#define STRINGID_SHELLTRAPDIDNTWORK 639 +#define STRINGID_SPIKESDISAPPEAREDFROMTEAM 640 +#define STRINGID_TOXICSPIKESDISAPPEAREDFROMTEAM 641 +#define STRINGID_STICKYWEBDISAPPEAREDFROMTEAM 642 +#define STRINGID_STEALTHROCKDISAPPEAREDFROMTEAM 643 +#define STRINGID_COULDNTFULLYPROTECT 644 +#define STRINGID_STOCKPILEDEFFECTWOREOFF 645 +#define STRINGID_PKMNREVIVEDREADYTOFIGHT 646 +#define STRINGID_ITEMRESTOREDSPECIESHEALTH 647 +#define STRINGID_ITEMCUREDSPECIESSTATUS 648 +#define STRINGID_ITEMRESTOREDSPECIESPP 649 +#define STRINGID_THUNDERCAGETRAPPED 650 +#define STRINGID_PKMNHURTBYFROSTBITE 651 +#define STRINGID_PKMNGOTFROSTBITE 652 +#define STRINGID_PKMNSITEMHEALEDFROSTBITE 653 +#define STRINGID_ATTACKERHEALEDITSFROSTBITE 654 +#define STRINGID_PKMNFROSTBITEHEALED 655 +#define STRINGID_PKMNFROSTBITEHEALED2 656 +#define STRINGID_PKMNFROSTBITEHEALEDBY 657 +#define STRINGID_MIRRORHERBCOPIED 658 +#define STRINGID_STARTEDSNOW 659 +#define STRINGID_SNOWCONTINUES 660 +#define STRINGID_SNOWSTOPPED 661 +#define STRINGID_SNOWWARNINGSNOW 662 +#define STRINGID_PKMNITEMMELTED 663 +#define STRINGID_ULTRABURSTREACTING 664 +#define STRINGID_ULTRABURSTCOMPLETED 665 +#define STRINGID_TEAMGAINEDEXP 666 +#define STRINGID_CURRENTMOVECANTSELECT 667 +#define STRINGID_TARGETISBEINGSALTCURED 668 +#define STRINGID_TARGETISHURTBYSALTCURE 669 +#define STRINGID_TARGETCOVEREDINSTICKYCANDYSYRUP 670 +#define STRINGID_SHARPSTEELFLOATS 671 +#define STRINGID_SHARPSTEELDMG 672 +#define STRINGID_PKMNBLEWAWAYSHARPSTEEL 673 +#define STRINGID_SHARPSTEELDISAPPEAREDFROMTEAM 674 +#define STRINGID_TEAMTRAPPEDWITHVINES 675 +#define STRINGID_PKMNHURTBYVINES 676 +#define STRINGID_TEAMCAUGHTINVORTEX 677 +#define STRINGID_PKMNHURTBYVORTEX 678 +#define STRINGID_TEAMSURROUNDEDBYFIRE 679 +#define STRINGID_PKMNBURNINGUP 680 +#define STRINGID_TEAMSURROUNDEDBYROCKS 681 +#define STRINGID_PKMNHURTBYROCKSTHROWN 682 +#define STRINGID_MOVEBLOCKEDBYDYNAMAX 683 +#define STRINGID_ZEROTOHEROTRANSFORMATION 684 +#define STRINGID_THETWOMOVESBECOMEONE 685 +#define STRINGID_ARAINBOWAPPEAREDONSIDE 686 +#define STRINGID_THERAINBOWDISAPPEARED 687 +#define STRINGID_WAITINGFORPARTNERSMOVE 688 +#define STRINGID_SEAOFFIREENVELOPEDSIDE 689 +#define STRINGID_HURTBYTHESEAOFFIRE 690 +#define STRINGID_THESEAOFFIREDISAPPEARED 691 +#define STRINGID_SWAMPENVELOPEDSIDE 692 +#define STRINGID_THESWAMPDISAPPEARED 693 +#define STRINGID_PKMNTELLCHILLINGRECEPTIONJOKE 694 +#define STRINGID_HOSPITALITYRESTORATION 695 +#define STRINGID_ELECTROSHOTCHARGING 696 +#define STRINGID_ITEMWASUSEDUP 697 +#define STRINGID_ATTACKERLOSTITSTYPE 698 +#define STRINGID_SHEDITSTAIL 699 +#define STRINGID_CLOAKEDINAHARSHLIGHT 700 +#define STRINGID_SUPERSWEETAROMAWAFTS 701 +#define STRINGID_DIMENSIONSWERETWISTED 702 +#define STRINGID_BIZARREARENACREATED 703 +#define STRINGID_BIZARREAREACREATED 704 +#define STRINGID_TIDYINGUPCOMPLETE 705 +#define STRINGID_PKMNTERASTALLIZEDINTO 706 +#define STRINGID_BOOSTERENERGYACTIVATES 707 +#define STRINGID_FOGCREPTUP 708 +#define STRINGID_FOGISDEEP 709 +#define STRINGID_FOGLIFTED 710 +#define STRINGID_PKMNMADESHELLGLEAM 711 +#define STRINGID_FICKLEBEAMDOUBLED 712 -#define BATTLESTRINGS_COUNT 714 +#define BATTLESTRINGS_COUNT 713 // This is the string id that gBattleStringsTable starts with. // String ids before this (e.g. STRINGID_INTROMSG) are not in the table, diff --git a/src/battle_message.c b/src/battle_message.c index 58eda8aed7..ecb2932124 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -606,7 +606,6 @@ static const u8 sText_TargetAbilityRaisedStat[] = _("{B_DEF_NAME_WITH_PREFIX}'s static const u8 sText_TargetAbilityLoweredStat[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nlowered its {B_BUFF1}!"); static const u8 sText_AttackerAbilityRaisedStat[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}\nraised its {B_BUFF1}!"); static const u8 sText_ScriptingAbilityRaisedStat[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nraised its {B_BUFF1}!"); -static const u8 sText_AuroraVeilEnds[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nwore off!"); static const u8 sText_ElectricTerrainEnds[] = _("The electricity disappeared\nfrom the battlefield."); static const u8 sText_MistyTerrainEnds[] = _("The mist disappeared\nfrom the battlefield."); static const u8 sText_PsychicTerrainEnds[] = _("The weirdness disappeared\nfrom the battlefield."); @@ -1442,7 +1441,6 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_WATERSPORTENDS - BATTLESTRINGS_TABLE_START] = sText_WaterSportEnds, [STRINGID_GRAVITYENDS - BATTLESTRINGS_TABLE_START] = sText_GravityEnds, [STRINGID_AQUARINGHEAL - BATTLESTRINGS_TABLE_START] = sText_AquaRingHeal, - [STRINGID_AURORAVEILENDS - BATTLESTRINGS_TABLE_START] = sText_AuroraVeilEnds, [STRINGID_ELECTRICTERRAINENDS - BATTLESTRINGS_TABLE_START] = sText_ElectricTerrainEnds, [STRINGID_MISTYTERRAINENDS - BATTLESTRINGS_TABLE_START] = sText_MistyTerrainEnds, [STRINGID_PSYCHICTERRAINENDS - BATTLESTRINGS_TABLE_START] = sText_PsychicTerrainEnds, diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index cd5fd18268..c4f589a818 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -9957,23 +9957,23 @@ static void Cmd_various(void) else { gSpecialStatuses[gBattlerTarget].instructedChosenTarget = *(gBattleStruct->moveTarget + gBattlerTarget) | 0x4; - gBattlerAttacker = gBattlerTarget; gCalledMove = move; for (i = 0; i < MAX_MON_MOVES; i++) { - if (gBattleMons[gBattlerAttacker].moves[i] == gCalledMove) + if (gBattleMons[gBattlerTarget].moves[i] == gCalledMove) { gCurrMovePos = i; i = 4; break; } } - if (i != 4 || gBattleMons[gBattlerAttacker].pp[gCurrMovePos] == 0) + if (i != 4 || gBattleMons[gBattlerTarget].pp[gCurrMovePos] == 0) gBattlescriptCurrInstr = cmd->failInstr; else { - gBattlerTarget = gBattleStruct->lastMoveTarget[gBattlerAttacker]; + gEffectBattler = gBattleStruct->lastMoveTarget[gBattlerTarget]; gHitMarker &= ~HITMARKER_ATTACKSTRING_PRINTED; + gBattleStruct->atkCancellerTracker = 0; PREPARE_MON_NICK_WITH_PREFIX_BUFFER(gBattleTextBuff1, battler, gBattlerPartyIndexes[battler]); gBattlescriptCurrInstr = cmd->nextInstr; } @@ -11408,7 +11408,7 @@ static void Cmd_jumpifnotfirstturn(void) const u8 *jumpInstr = cmd->jumpInstr; - if (gDisableStructs[gBattlerAttacker].isFirstTurn) + if (gDisableStructs[gBattlerAttacker].isFirstTurn && !(gSpecialStatuses[gBattlerAttacker].instructedChosenTarget)) gBattlescriptCurrInstr = cmd->nextInstr; else gBattlescriptCurrInstr = jumpInstr; diff --git a/src/battle_util.c b/src/battle_util.c index b7c61862fc..6170ad0e48 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -352,7 +352,7 @@ void HandleAction_UseMove(void) else { gBattlerTarget = *(gBattleStruct->moveTarget + gBattlerAttacker); - if (!IsBattlerAlive(gBattlerTarget)) + if (!IsBattlerAlive(gBattlerTarget) && moveTarget != MOVE_TARGET_OPPONENTS_FIELD) { if (GetBattlerSide(gBattlerAttacker) != GetBattlerSide(gBattlerTarget)) { @@ -3233,7 +3233,7 @@ u8 AtkCanceller_UnableToUseMove(u32 moveType) case CANCELLER_FLAGS: // flags clear gBattleMons[gBattlerAttacker].status2 &= ~STATUS2_DESTINY_BOND; gStatuses3[gBattlerAttacker] &= ~STATUS3_GRUDGE; - gStatuses4[gBattlerAttacker] &= ~ STATUS4_GLAIVE_RUSH; + gStatuses4[gBattlerAttacker] &= ~STATUS4_GLAIVE_RUSH; gBattleStruct->atkCancellerTracker++; break; case CANCELLER_SKY_DROP: @@ -8302,11 +8302,13 @@ u32 GetMoveTarget(u16 move, u8 setTarget) case MOVE_TARGET_DEPENDS: case MOVE_TARGET_BOTH: case MOVE_TARGET_FOES_AND_ALLY: - case MOVE_TARGET_OPPONENTS_FIELD: targetBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerSide(gBattlerAttacker))); if (!IsBattlerAlive(targetBattler)) targetBattler ^= BIT_FLANK; break; + case MOVE_TARGET_OPPONENTS_FIELD: + targetBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerSide(gBattlerAttacker))); + break; case MOVE_TARGET_RANDOM: side = BATTLE_OPPOSITE(GetBattlerSide(gBattlerAttacker)); if (IsAffectedByFollowMe(gBattlerAttacker, side, move)) diff --git a/test/battle/move_effect/instruct.c b/test/battle/move_effect/instruct.c new file mode 100644 index 0000000000..4521969920 --- /dev/null +++ b/test/battle/move_effect/instruct.c @@ -0,0 +1,218 @@ +#include "global.h" +#include "test/battle.h" + +ASSUMPTIONS +{ + ASSUME(gMovesInfo[MOVE_INSTRUCT].effect == EFFECT_INSTRUCT); +} + +DOUBLE_BATTLE_TEST("Instruct fails if target hasn't made a move") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_TACKLE, MOVE_POUND, MOVE_SCRATCH, MOVE_CELEBRATE); } + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerLeft, MOVE_INSTRUCT, target: playerRight); MOVE(playerRight, MOVE_TACKLE, target: opponentLeft); } + } SCENE { + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_INSTRUCT, playerLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, playerRight); + } +} + +DOUBLE_BATTLE_TEST("Instruct fails if move is banned by Instruct") +{ + ASSUME(gMovesInfo[MOVE_BIDE].instructBanned == TRUE); + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_TACKLE, MOVE_POUND, MOVE_SCRATCH, MOVE_BIDE); } + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerRight, MOVE_BIDE); MOVE(playerLeft, MOVE_INSTRUCT, target: playerRight); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_BIDE, playerRight); + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_INSTRUCT, playerLeft); + } +} + +DOUBLE_BATTLE_TEST("Instruct-called move targets the target of the move picked on its last use") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_TACKLE, MOVE_POUND, MOVE_SCRATCH, MOVE_FAKE_OUT); } + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerRight, MOVE_TACKLE, target: opponentLeft); MOVE(playerLeft, MOVE_INSTRUCT, target: playerRight); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, playerRight); + HP_BAR(opponentLeft); + NOT HP_BAR(opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_INSTRUCT, playerLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, playerRight); + HP_BAR(opponentLeft); + NOT HP_BAR(opponentRight); + } +} + +DOUBLE_BATTLE_TEST("Instruct doesn't bypass sleep") +{ + ASSUME(gMovesInfo[MOVE_SPORE].effect == EFFECT_SLEEP); + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_TACKLE, MOVE_POUND, MOVE_SCRATCH, MOVE_GROWL); } + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerRight, MOVE_TACKLE, target: opponentLeft); MOVE(opponentLeft, MOVE_SPORE, target: playerRight); MOVE(playerLeft, MOVE_INSTRUCT, target: playerRight); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, playerRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_SPORE, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_INSTRUCT, playerLeft); + MESSAGE("Wobbuffet is fast asleep."); + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, playerRight); + } +} + +DOUBLE_BATTLE_TEST("Instruct fails if target doesn't know the last move it used") +{ + ASSUME(gMovesInfo[MOVE_DRAGON_DANCE].danceMove == TRUE); + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_ORICORIO) { Moves(MOVE_TACKLE, MOVE_POUND, MOVE_SCRATCH, MOVE_CELEBRATE); } + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponentLeft, MOVE_DRAGON_DANCE); MOVE(playerLeft, MOVE_INSTRUCT, target: playerRight); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DANCE, opponentLeft); + ABILITY_POPUP(playerRight, ABILITY_DANCER); + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DANCE, playerRight); + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_INSTRUCT, playerLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_DANCE, playerRight); + } + } +} + +DOUBLE_BATTLE_TEST("Instruct-called move fails if it can only be used on the first turn but consumes PP") +{ + ASSUME(gMovesInfo[MOVE_FAKE_OUT].effect == EFFECT_FIRST_TURN_ONLY); + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_TACKLE, MOVE_POUND, MOVE_SCRATCH, MOVE_FAKE_OUT); } + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerRight, MOVE_FAKE_OUT, target: opponentLeft); MOVE(playerLeft, MOVE_INSTRUCT, target: playerRight); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FAKE_OUT, playerRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_INSTRUCT, playerLeft); + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_FAKE_OUT, playerRight); + } THEN { + EXPECT_EQ(playerRight->pp[3], gMovesInfo[MOVE_FAKE_OUT].pp - 2); + } +} + +DOUBLE_BATTLE_TEST("Instruct-called move doesn't fail if tormented") +{ + ASSUME(gMovesInfo[MOVE_TORMENT].effect == EFFECT_TORMENT); + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_TACKLE, MOVE_POUND, MOVE_SCRATCH, MOVE_FAKE_OUT); } + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponentLeft, MOVE_TORMENT, target: playerRight); MOVE(playerRight, MOVE_TACKLE, target: opponentLeft); MOVE(playerLeft, MOVE_INSTRUCT, target: playerRight); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_TORMENT, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, playerRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_INSTRUCT, playerLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, playerRight); + } +} + +DOUBLE_BATTLE_TEST("Instruct-called status moves don't fail if holding Assault Vest") +{ + ASSUME(gItemsInfo[ITEM_ASSAULT_VEST].holdEffect == HOLD_EFFECT_ASSAULT_VEST); + ASSUME(gMovesInfo[MOVE_TRICK].effect == EFFECT_TRICK); + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_TACKLE, MOVE_POUND, MOVE_SCRATCH, MOVE_TRICK); } + OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_ASSAULT_VEST); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerRight, MOVE_TRICK, target: opponentLeft); MOVE(playerLeft, MOVE_INSTRUCT, target: playerRight); MOVE(opponentLeft, MOVE_TACKLE, target: playerLeft); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_TRICK, playerRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_INSTRUCT, playerLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TRICK, playerRight); + } +} + +DOUBLE_BATTLE_TEST("Instruct-called status move fails if taunted") +{ + ASSUME(gMovesInfo[MOVE_TAUNT].effect == EFFECT_TAUNT); + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_TACKLE, MOVE_POUND, MOVE_SCRATCH, MOVE_GROWL); } + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerRight, MOVE_GROWL); MOVE(opponentLeft, MOVE_TAUNT, target: playerRight); MOVE(playerLeft, MOVE_INSTRUCT, target: playerRight); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_GROWL, playerRight); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TAUNT, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_INSTRUCT, playerLeft); + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_GROWL, playerRight); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentRight); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, opponentLeft); + } + } THEN { + EXPECT_EQ(playerRight->pp[3], gMovesInfo[MOVE_GROWL].pp - 1); + } +} + +DOUBLE_BATTLE_TEST("Instruct-called moves fail if disabled") +{ + ASSUME(gMovesInfo[MOVE_DISABLE].effect == EFFECT_DISABLE); + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_TACKLE, MOVE_POUND, MOVE_SCRATCH, MOVE_GROWL); } + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerRight, MOVE_TACKLE, target: opponentLeft); MOVE(opponentLeft, MOVE_DISABLE, target: playerRight); MOVE(playerLeft, MOVE_INSTRUCT, target: playerRight); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, playerRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_DISABLE, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_INSTRUCT, playerLeft); + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, playerRight); + } THEN { + EXPECT_EQ(playerRight->pp[0], gMovesInfo[MOVE_TACKLE].pp - 1); + } +} + +DOUBLE_BATTLE_TEST("Instruct-called moves keep their priority") +{ + ASSUME(gMovesInfo[MOVE_QUICK_ATTACK].priority == 1); + ASSUME(gMovesInfo[MOVE_PSYCHIC_TERRAIN].effect == EFFECT_PSYCHIC_TERRAIN); + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_TACKLE, MOVE_POUND, MOVE_SCRATCH, MOVE_QUICK_ATTACK); } + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerRight, MOVE_QUICK_ATTACK, target: opponentLeft); MOVE(opponentLeft, MOVE_PSYCHIC_TERRAIN, target: playerRight); MOVE(playerLeft, MOVE_INSTRUCT, target: playerRight); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_QUICK_ATTACK, playerRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_PSYCHIC_TERRAIN, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_INSTRUCT, playerLeft); + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_QUICK_ATTACK, playerRight); + } +} diff --git a/test/battle/move_effect/sticky_web.c b/test/battle/move_effect/sticky_web.c index 035568dd75..d6960f88d1 100644 --- a/test/battle/move_effect/sticky_web.c +++ b/test/battle/move_effect/sticky_web.c @@ -238,3 +238,36 @@ DOUBLE_BATTLE_TEST("Sticky Web has correct interactions with Mirror Armor - no o EXPECT_EQ(opponentRight->statStages[STAT_SPEED], DEFAULT_STAT_STAGE); } } +SINGLE_BATTLE_TEST("Sticky Web is placed on the correct side after Explosion") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_EXPLOSION); MOVE(opponent, MOVE_STICKY_WEB); SEND_OUT(player, 1);} + } SCENE { + HP_BAR(player, hp: 0); + ANIMATION(ANIM_TYPE_MOVE, MOVE_EXPLOSION, player); + MESSAGE("Wobbuffet fainted!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_STICKY_WEB, opponent); + MESSAGE("A sticky web spreads out on the ground around your team!"); + } +} + +SINGLE_BATTLE_TEST("Sticky Web is placed on the correct side after Memento") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_MEMENTO); MOVE(opponent, MOVE_STICKY_WEB); SEND_OUT(player, 1); } + } SCENE { + HP_BAR(player, hp: 0); + ANIMATION(ANIM_TYPE_MOVE, MOVE_MEMENTO, player); + MESSAGE("Wobbuffet fainted!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_STICKY_WEB, opponent); + MESSAGE("A sticky web spreads out on the ground around your team!"); + } +} From 98dbf3a575b7f7c93e334f12fd3a57144602aba5 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Tue, 27 Aug 2024 20:01:51 +0200 Subject: [PATCH 15/78] Fixes Charged up status (#5274) Charge changed to last until the damage boost is consumed instead of next turn, previous behavior accessible with `B_CHARGE` --- include/battle.h | 8 +- include/config/battle.h | 1 + src/battle_script_commands.c | 9 +- src/battle_tv.c | 2 +- src/battle_util.c | 4 +- test/battle/move_effect/charge.c | 170 +++++++++++++++++++++++++++++-- 6 files changed, 179 insertions(+), 15 deletions(-) diff --git a/include/battle.h b/include/battle.h index 4db357fca6..1729c76b3d 100644 --- a/include/battle.h +++ b/include/battle.h @@ -115,17 +115,15 @@ struct DisableStruct u8 disableTimer:4; u8 encoreTimer:4; u8 perishSongTimer:4; - u8 furyCutterCounter; u8 rolloutTimer:4; u8 rolloutTimerStartValue:4; - u8 chargeTimer:4; u8 tauntTimer:4; + u8 furyCutterCounter; u8 battlerPreventingEscape; u8 battlerWithSureHit; u8 isFirstTurn; - u8 truantCounter:1; - u8 truantSwitchInHack:1; u8 mimickedMoves:4; + u8 chargeTimer:4; u8 rechargeTimer; u8 autotomizeCount; u8 slowStartTimer; @@ -138,6 +136,8 @@ struct DisableStruct u8 wrapTurns; u8 tormentTimer:4; // used for G-Max Meltdown u8 usedMoves:4; + u8 truantCounter:1; + u8 truantSwitchInHack:1; u8 noRetreat:1; u8 tarShot:1; u8 octolock:1; diff --git a/include/config/battle.h b/include/config/battle.h index 1cb4a4a6ce..55091fb331 100644 --- a/include/config/battle.h +++ b/include/config/battle.h @@ -121,6 +121,7 @@ #define B_SKETCH_BANS GEN_LATEST // In Gen9+, Sketch is unable to copy more moves than in previous generations. #define B_KNOCK_OFF_REMOVAL GEN_LATEST // In Gen5+, Knock Off removes the foe's item instead of rendering it unusable. #define B_HEAL_BELL_SOUNDPROOF GEN_LATEST // In Gen5, Heal Bell affects all mons with Soundproof. In Gen6-8 it affects inactive mons, but not battlers. In Gen9 it always affects the user. +#define B_CHARGE GEN_LATEST // In Gen8-, Charge status is lost regardless of the typing of the next move. // Ability settings #define B_EXPANDED_ABILITY_NAMES TRUE // If TRUE, ability names are increased from 12 characters to 16 characters. diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index c4f589a818..9e1af78714 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -6427,9 +6427,11 @@ static void Cmd_moveend(void) gBattleStruct->additionalEffectsCounter = 0; gBattleStruct->poisonPuppeteerConfusion = FALSE; gBattleStruct->fickleBeamBoosted = FALSE; + gBattleStruct->distortedTypeMatchups = 0; if (GetActiveGimmick(gBattlerAttacker) == GIMMICK_Z_MOVE) SetActiveGimmick(gBattlerAttacker, GIMMICK_NONE); - gBattleStruct->distortedTypeMatchups = 0; + if (B_CHARGE <= GEN_8 || moveType == TYPE_ELECTRIC) + gStatuses3[gBattlerAttacker] &= ~(STATUS3_CHARGED_UP); memset(gQueuedStatBoosts, 0, sizeof(gQueuedStatBoosts)); gBattleScripting.moveendState++; break; @@ -14012,7 +14014,10 @@ static void Cmd_setcharge(void) u8 battler = GetBattlerForBattleScript(cmd->battler); gStatuses3[battler] |= STATUS3_CHARGED_UP; - gDisableStructs[battler].chargeTimer = 2; + if (B_CHARGE < GEN_9) + gDisableStructs[battler].chargeTimer = 2; + else + gDisableStructs[battler].chargeTimer = 0; gBattlescriptCurrInstr++; gBattlescriptCurrInstr = cmd->nextInstr; } diff --git a/src/battle_tv.c b/src/battle_tv.c index bba14054c9..24d573d0bf 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -775,7 +775,7 @@ void BattleTv_SetDataBasedOnMove(u16 move, u16 weatherFlags, struct DisableStruc tvPtr->side[atkSide].usedMoveSlot = moveSlot; AddMovePoints(PTS_MOVE_EFFECT, moveSlot, move, 0); AddPointsBasedOnWeather(weatherFlags, move, moveSlot); - if (disableStructPtr->chargeTimer != 0) + if (gStatuses3[gBattlerAttacker] & STATUS3_CHARGED_UP) AddMovePoints(PTS_ELECTRIC, move, moveSlot, 0); if (move == MOVE_WISH) diff --git a/src/battle_util.c b/src/battle_util.c index 6170ad0e48..c6199453ea 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -2303,8 +2303,8 @@ enum ENDTURN_HEALBLOCK, ENDTURN_EMBARGO, ENDTURN_LOCK_ON, - ENDTURN_CHARGE, ENDTURN_LASER_FOCUS, + ENDTURN_CHARGE, ENDTURN_TAUNT, ENDTURN_YAWN, ENDTURN_ITEMS2, @@ -2767,7 +2767,7 @@ u8 DoBattlerEndTurnEffects(void) gBattleStruct->turnEffectsTracker++; break; case ENDTURN_CHARGE: // charge - if (gDisableStructs[battler].chargeTimer && --gDisableStructs[battler].chargeTimer == 0) + if (gDisableStructs[battler].chargeTimer > 0 && --gDisableStructs[battler].chargeTimer == 0) gStatuses3[battler] &= ~STATUS3_CHARGED_UP; gBattleStruct->turnEffectsTracker++; break; diff --git a/test/battle/move_effect/charge.c b/test/battle/move_effect/charge.c index e0a782b15f..f95a137993 100644 --- a/test/battle/move_effect/charge.c +++ b/test/battle/move_effect/charge.c @@ -1,9 +1,167 @@ #include "global.h" #include "test/battle.h" -TO_DO_BATTLE_TEST("Charge doubles the damage of the next Electric move of the user"); -TO_DO_BATTLE_TEST("Charge's effect is removed regardless if the next move is Electric or not (Gen 3-8)"); -TO_DO_BATTLE_TEST("Charge's effect is kept until the user uses an Electric move (Gen 9+)"); -TO_DO_BATTLE_TEST("Charge's effect is removed if the user fails using an Electric move (Gen 9+)"); -TO_DO_BATTLE_TEST("Charge's effect does not stack with Electromorphosis"); -TO_DO_BATTLE_TEST("Charge's effect does not stack with Wind Power"); +ASSUMPTIONS +{ + ASSUME(gMovesInfo[MOVE_THUNDERBOLT].power != 0); + ASSUME(gMovesInfo[MOVE_THUNDERBOLT].type == TYPE_ELECTRIC); +} + +SINGLE_BATTLE_TEST("Charge doubles the damage of the next Electric move of the user") +{ + s16 normalDamage = 0; + s16 chargedUpDamage = 0; + + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_THUNDERBOLT); } + TURN { MOVE(player, MOVE_CHARGE); } + TURN { MOVE(player, MOVE_THUNDERBOLT); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_THUNDERBOLT, player); + HP_BAR(opponent, captureDamage: &normalDamage); + ANIMATION(ANIM_TYPE_MOVE, MOVE_CHARGE, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_THUNDERBOLT, player); + HP_BAR(opponent, captureDamage: &chargedUpDamage); + } THEN { + EXPECT_MUL_EQ(normalDamage, Q_4_12(2.0), chargedUpDamage); + } +} + +SINGLE_BATTLE_TEST("Charge's effect is kept until the user uses an Electric move (Gen 9+)") +{ + s16 normalDamage = 0; + s16 chargedUpDamage = 0; + + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_THUNDERBOLT); } + TURN { MOVE(player, MOVE_CHARGE); } + TURN { MOVE(player, MOVE_TACKLE); } + TURN { MOVE(player, MOVE_THUNDERBOLT); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_THUNDERBOLT, player); + HP_BAR(opponent, captureDamage: &normalDamage); + ANIMATION(ANIM_TYPE_MOVE, MOVE_CHARGE, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_THUNDERBOLT, player); + HP_BAR(opponent, captureDamage: &chargedUpDamage); + } THEN { + EXPECT_MUL_EQ(normalDamage, Q_4_12(2.0), chargedUpDamage); + } +} + +SINGLE_BATTLE_TEST("Charge's effect is removed if the user fails using an Electric move (Gen 9+)") +{ + s16 damage[2]; + + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_THUNDER); } + TURN { MOVE(player, MOVE_CHARGE); } + TURN { MOVE(player, MOVE_THUNDER, hit: FALSE); } + TURN { MOVE(player, MOVE_THUNDER); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_THUNDER, player); + HP_BAR(opponent, captureDamage: &damage[0]); + ANIMATION(ANIM_TYPE_MOVE, MOVE_CHARGE, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_THUNDER, player); + HP_BAR(opponent, captureDamage: &damage[1]); + } THEN { + EXPECT_EQ(damage[0], damage[1]); + } +} + +SINGLE_BATTLE_TEST("Charge's effect does not stack with Electromorphosis or Wind Power") +{ + u32 species, ability; + s16 normalDamage = 0; + s16 chargedUpDamage = 0; + + PARAMETRIZE { species = SPECIES_WATTREL; ability = ABILITY_WIND_POWER; } + PARAMETRIZE { species = SPECIES_TADBULB; ability = ABILITY_ELECTROMORPHOSIS; } + + GIVEN { + ASSUME(gMovesInfo[MOVE_AIR_CUTTER].windMove == TRUE); + PLAYER(species) { Ability(ability); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_THUNDERBOLT); } + TURN { MOVE(player, MOVE_CHARGE); MOVE(opponent, MOVE_AIR_CUTTER); } + TURN { MOVE(player, MOVE_THUNDERBOLT); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_THUNDERBOLT, player); + HP_BAR(opponent, captureDamage: &normalDamage); + ANIMATION(ANIM_TYPE_MOVE, MOVE_CHARGE, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_AIR_CUTTER, opponent); + ABILITY_POPUP(player, ability); + ANIMATION(ANIM_TYPE_MOVE, MOVE_THUNDERBOLT, player); + HP_BAR(opponent, captureDamage: &chargedUpDamage); + } THEN { + EXPECT_MUL_EQ(normalDamage, Q_4_12(2.0), chargedUpDamage); + } +} + +SINGLE_BATTLE_TEST("Charge's effect is removed regardless if the next move is Electric or not (Gen 3-8)") +{ + s16 normalDamage = 0; + s16 chargedUpDamage = 0; + + GIVEN { + ASSUME(gMovesInfo[MOVE_TACKLE].type != TYPE_ELECTRIC); + ASSUME(gMovesInfo[MOVE_TACKLE].power != 0); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_THUNDERBOLT); } + TURN { MOVE(player, MOVE_CHARGE); } + TURN { MOVE(player, MOVE_TACKLE); } + TURN { MOVE(player, MOVE_THUNDERBOLT); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_THUNDERBOLT, player); + HP_BAR(opponent, captureDamage: &normalDamage); + ANIMATION(ANIM_TYPE_MOVE, MOVE_CHARGE, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TACKLE, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_THUNDERBOLT, player); + HP_BAR(opponent, captureDamage: &chargedUpDamage); + } THEN { + if (B_CHARGE < GEN_9) + EXPECT_EQ(normalDamage, chargedUpDamage); + else + EXPECT_MUL_EQ(normalDamage, Q_4_12(2.0), chargedUpDamage); + } +} + +SINGLE_BATTLE_TEST("Charge will not expire if it flinches twice in a row") +{ + s16 normalDamage = 0; + s16 chargedUpDamage = 0; + + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_LUM_BERRY); } + } WHEN { + TURN { MOVE(player, MOVE_THUNDERBOLT); } + TURN { MOVE(player, MOVE_CHARGE); } + TURN { MOVE(opponent, MOVE_IRON_HEAD); MOVE(player, MOVE_THUNDERBOLT); } + TURN { MOVE(opponent, MOVE_IRON_HEAD); MOVE(player, MOVE_THUNDERBOLT); } + TURN { MOVE(player, MOVE_THUNDERBOLT); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_THUNDERBOLT, player); + HP_BAR(opponent, captureDamage: &normalDamage); + ANIMATION(ANIM_TYPE_MOVE, MOVE_CHARGE, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_THUNDERBOLT, player); + HP_BAR(opponent, captureDamage: &chargedUpDamage); + } THEN { + if (B_CHARGE < GEN_9) + EXPECT_EQ(normalDamage, chargedUpDamage); + else + EXPECT_MUL_EQ(normalDamage, Q_4_12(2.0), chargedUpDamage); + } +} From 213c097dc0f48036814670b367c187a15b20ae35 Mon Sep 17 00:00:00 2001 From: Cafei <46283144+Cafeei@users.noreply.github.com> Date: Wed, 28 Aug 2024 13:47:08 +0400 Subject: [PATCH 16/78] Paldean Wooper and Clodsire followers (#5277) --- graphics/pokemon/clodsire/overworld.png | Bin 0 -> 856 bytes .../pokemon/clodsire/overworld_normal.pal | 19 ++++++++++++++++++ graphics/pokemon/clodsire/overworld_shiny.pal | 19 ++++++++++++++++++ .../wooper/wooper_paldean/overworld.png | Bin 0 -> 503 bytes .../wooper_paldean/overworld_normal.pal | 19 ++++++++++++++++++ .../wooper/wooper_paldean/overworld_shiny.pal | 19 ++++++++++++++++++ spritesheet_rules.mk | 6 ++++++ src/data/graphics/pokemon.h | 12 +++++------ .../object_event_pic_tables_followers.h | 4 ++-- .../pokemon/species_info/gen_2_families.h | 16 +++++++++++++++ 10 files changed, 106 insertions(+), 8 deletions(-) create mode 100644 graphics/pokemon/clodsire/overworld.png create mode 100644 graphics/pokemon/clodsire/overworld_normal.pal create mode 100644 graphics/pokemon/clodsire/overworld_shiny.pal create mode 100644 graphics/pokemon/wooper/wooper_paldean/overworld.png create mode 100644 graphics/pokemon/wooper/wooper_paldean/overworld_normal.pal create mode 100644 graphics/pokemon/wooper/wooper_paldean/overworld_shiny.pal diff --git a/graphics/pokemon/clodsire/overworld.png b/graphics/pokemon/clodsire/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..7ffdd7a21e7ab9bd0f567c08422fb140b78cb00a GIT binary patch literal 856 zcmV-e1E>6nP)Px#Fi=cXMVQc_Ks+#jY+zteNH8cM5D*Z!prFvu&?y=Vl6!ejL`Y~fIIvh~_>7Pyg7as*eh^eut=i z9H02aC;q3%7@PF6;LVY9$Qh;xG0pK#3QGYIpvTvYLB0^Y_xN_rDZbXBox%u@R0gvk zUl-;n!eujfxkDR;kIa)#2@w3VQLrlh!l7@*T45^4DdB5^|GJO>Ge9rKn!Q8cj;b)g zoB)7}lk}dz&Y>R&QW#_210f)RU@wqx`6mVf*t&|~OB!LNFt1_nnZURL2w+_xjuln_ zb19ktKKXh4D~0P4@G){9YJmwLGjOi*7p zm+Sk`q)9rIlsaF_D_IDw0yW1{;V%N-Ccp@x9dvk*q#=DshZMXHUvT3-Xch35+4tE} z;o9NP5N4m}1ns0YH)83K#z($X>G1as2N1U=qkygr#6=UBD$El<_$LH#3#Nl`a#nW^ z$&AEzRe=48WECWV6K7Tm1Bf}GUBvFlGJS9(L%j@wy+zI)ioG}l5j9A@6WA(fI2ye3 z)C!+x2N9sKeosIyis6w;Nx+vu`exuqg3TdKFa{M^6MBKo0*gSWuq1%_64ISap~!q? zK(698i2@t=iQtz*dJ{@wa?tp!0;+I#GvVNa!u=#jpx_fsw6|PF0!Io=00~b14%`mu zeNqVw@G!6);Jm|ltb_zwVSFUiL;2`*;>aZ8xJ(eANBkZv1Gu0$G$bPF!b3AW`a()P z0$T+X;$W5v57^+i{}Hl&V8BR)H?h;|0M0)SSqwzPNEA98W5IZ@=oPjR>;f5J%guPX2U1{>o?VGLh5s#pHt(S~9s+BJB9bRyuJFg9Q0nwMV(k#E5{8z{CfcNb iCpHePk-Zc63*!&kk0oqc0f!&}0000Px#Fi=cXMVZs3V@Y_)vD;NcLTFM^5D*ZllahjGW}bnw|Ns9kBqOvzLH}xV00000 z000000NO{vy8r+IbxA})R9J=Wmg{c9Fbsto64&7Of8ZUb?N){_L)ErFJ_scAInJ?@ zrdgI!sZ=VJN~Kb%RGK2_ANlq4D>M5szsyOJ;R#=e*HuH<2?=?7=Ivd6aeB>2U^75N z3a2o{l^_P;I{F)F}UKF6Df07V?xyHb>97jWWs1$&vgK8Uc6 z!Gq5=FeV_`$J_Jk=@IbxnnG&y#;f4qeh%u8MtMi^9^*0J@`Jaa2?$FqT_??J-*C{uD=8Z tNdtlenj^j~C8Mv7kMC+f2`K%wJ^ Date: Wed, 28 Aug 2024 13:40:35 +0200 Subject: [PATCH 17/78] Shed Tail Retarget (#5275) Re-targets Shed Tail PR to upcoming --- include/battle_ai_util.h | 1 + src/battle_ai_main.c | 34 +++++++++---------------- src/battle_ai_util.c | 39 +++++++++++++++++++++++++++++ test/battle/move_effect/shed_tail.c | 13 ++++++++++ 4 files changed, 65 insertions(+), 22 deletions(-) diff --git a/include/battle_ai_util.h b/include/battle_ai_util.h index 94d895e8fd..04920cb3a2 100644 --- a/include/battle_ai_util.h +++ b/include/battle_ai_util.h @@ -205,5 +205,6 @@ bool32 AI_ShouldCopyStatChanges(u32 battlerAtk, u32 battlerDef); bool32 AI_ShouldSetUpHazards(u32 battlerAtk, u32 battlerDef, struct AiLogicData *aiData); void IncreaseTidyUpScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score); bool32 AI_ShouldSpicyExtract(u32 battlerAtk, u32 battlerAtkPartner, u32 move, struct AiLogicData *aiData); +void IncreaseSubstituteMoveScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score); #endif //GUARD_BATTLE_AI_UTIL_H diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 55b38f7ad7..e6e35a3388 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -1531,6 +1531,16 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) else if (HasSubstituteIgnoringMove(battlerDef)) ADJUST_SCORE(-8); break; + case EFFECT_SHED_TAIL: + if (CountUsablePartyMons(battlerAtk) == 0) + ADJUST_SCORE(-10); + if (gBattleMons[battlerAtk].status2 & STATUS2_SUBSTITUTE || aiData->abilities[battlerDef] == ABILITY_INFILTRATOR) + ADJUST_SCORE(-8); + else if (aiData->hpPercents[battlerAtk] <= 50) + ADJUST_SCORE(-10); + else if (HasSubstituteIgnoringMove(battlerDef)) + ADJUST_SCORE(-8); + break; case EFFECT_LEECH_SEED: if (gStatuses3[battlerDef] & STATUS3_LEECHSEED || IS_BATTLER_OF_TYPE(battlerDef, TYPE_GRASS) @@ -3582,28 +3592,8 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) IncreaseParalyzeScore(battlerAtk, battlerDef, move, &score); break; case EFFECT_SUBSTITUTE: - if (HasAnyKnownMove(battlerDef) && GetBestDmgFromBattler(battlerDef, battlerAtk) < gBattleMons[battlerAtk].maxHP / 4) - ADJUST_SCORE(GOOD_EFFECT); - if (gStatuses3[battlerDef] & STATUS3_PERISH_SONG) - ADJUST_SCORE(GOOD_EFFECT); - if (gBattleMons[battlerDef].status1 & STATUS1_SLEEP) - ADJUST_SCORE(GOOD_EFFECT); - else if (gBattleMons[battlerDef].status1 & (STATUS1_BURN | STATUS1_PSN_ANY | STATUS1_FROSTBITE)) - ADJUST_SCORE(DECENT_EFFECT); - // TODO: - // if (IsPredictedToSwitch(battlerDef, battlerAtk) - // ADJUST_SCORE(DECENT_EFFECT); - if (HasMoveEffect(battlerDef, EFFECT_SLEEP) - || HasMoveEffect(battlerDef, EFFECT_TOXIC) - || HasMoveEffect(battlerDef, EFFECT_POISON) - || HasMoveEffect(battlerDef, EFFECT_PARALYZE) - || HasMoveEffect(battlerDef, EFFECT_WILL_O_WISP) - || HasMoveEffect(battlerDef, EFFECT_CONFUSE) - || HasMoveEffect(battlerDef, EFFECT_LEECH_SEED)) - ADJUST_SCORE(GOOD_EFFECT); - if (!gBattleMons[battlerDef].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION && aiData->hpPercents[battlerAtk] > 70)) - ADJUST_SCORE(WEAK_EFFECT); - break; + case EFFECT_SHED_TAIL: + IncreaseSubstituteMoveScore(battlerAtk, battlerDef, move, &score); case EFFECT_MIMIC: if (AI_IsFaster(battlerAtk, battlerDef, move)) { diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 8c1cb578ed..0ff5050e38 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -3987,3 +3987,42 @@ bool32 AI_ShouldSpicyExtract(u32 battlerAtk, u32 battlerAtkPartner, u32 move, st && AI_IsFaster(battlerAtk, battlerAtkPartner, TRUE) && HasMoveWithCategory(battlerAtkPartner, DAMAGE_CATEGORY_PHYSICAL)); } + +void IncreaseSubstituteMoveScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score) +{ + if (gMovesInfo[move].effect == EFFECT_SUBSTITUTE) // Substitute specific + { + if (HasAnyKnownMove(battlerDef) && GetBestDmgFromBattler(battlerDef, battlerAtk) < gBattleMons[battlerAtk].maxHP / 4) + ADJUST_SCORE_PTR(GOOD_EFFECT); + } + else if (gMovesInfo[move].effect == EFFECT_SHED_TAIL) // Shed Tail specific + { + if ((ShouldPivot(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], move, AI_THINKING_STRUCT->movesetIndex)) + && (HasAnyKnownMove(battlerDef) && (GetBestDmgFromBattler(battlerDef, battlerAtk) < gBattleMons[battlerAtk].maxHP / 2))) + ADJUST_SCORE_PTR(BEST_EFFECT); + } + + if (gStatuses3[battlerDef] & STATUS3_PERISH_SONG) + ADJUST_SCORE_PTR(GOOD_EFFECT); + + if (gBattleMons[battlerDef].status1 & STATUS1_SLEEP) + ADJUST_SCORE_PTR(GOOD_EFFECT); + else if (gBattleMons[battlerDef].status1 & (STATUS1_BURN | STATUS1_PSN_ANY | STATUS1_FROSTBITE)) + ADJUST_SCORE_PTR(DECENT_EFFECT); + + // TODO: + // if (IsPredictedToSwitch(battlerDef, battlerAtk) + // ADJUST_SCORE_PTR(DECENT_EFFECT); + + if (HasMoveEffect(battlerDef, EFFECT_SLEEP) + || HasMoveEffect(battlerDef, EFFECT_TOXIC) + || HasMoveEffect(battlerDef, EFFECT_POISON) + || HasMoveEffect(battlerDef, EFFECT_PARALYZE) + || HasMoveEffect(battlerDef, EFFECT_WILL_O_WISP) + || HasMoveEffect(battlerDef, EFFECT_CONFUSE) + || HasMoveEffect(battlerDef, EFFECT_LEECH_SEED)) + ADJUST_SCORE_PTR(GOOD_EFFECT); + + if (AI_DATA->hpPercents[battlerAtk] > 70) + ADJUST_SCORE_PTR(WEAK_EFFECT); +} diff --git a/test/battle/move_effect/shed_tail.c b/test/battle/move_effect/shed_tail.c index 55a8950d00..d69993b88b 100644 --- a/test/battle/move_effect/shed_tail.c +++ b/test/battle/move_effect/shed_tail.c @@ -85,3 +85,16 @@ SINGLE_BATTLE_TEST("Shed Tail's HP cost doesn't trigger effects that trigger on NOT MESSAGE("Wobbuffet's Air Balloon popped!"); } } + +AI_SINGLE_BATTLE_TEST("AI will use Shed Tail to pivot to another mon while in damage stalemate with player") +{ + GIVEN { + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT); + PLAYER(SPECIES_WOBBUFFET) { Speed(100); Ability(ABILITY_RUN_AWAY); Moves(MOVE_TACKLE, MOVE_CELEBRATE); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(50); Ability(ABILITY_RUN_AWAY); Moves(MOVE_CONFUSION, MOVE_SHED_TAIL); } + OPPONENT(SPECIES_SCIZOR) { Speed(101); Moves(MOVE_CELEBRATE, MOVE_X_SCISSOR); } + } WHEN { + TURN { MOVE(player, MOVE_TACKLE); EXPECT_MOVE(opponent, MOVE_CONFUSION); } + TURN { MOVE(player, MOVE_TACKLE); EXPECT_MOVE(opponent, MOVE_SHED_TAIL); } + } +} From f07189b1be74b37ce19f7792f1f08aad9611109f Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Wed, 28 Aug 2024 15:15:09 -0500 Subject: [PATCH 18/78] More missing AI logic (#5279) * More missing AI logic * Update battle_ai_switch_items.c * Update battle_ai_main.c --- src/battle_ai_main.c | 41 +++++++++++++++++++++++++++++++----- src/battle_ai_switch_items.c | 2 +- 2 files changed, 37 insertions(+), 6 deletions(-) diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index be8e0eb0e3..cf650f1c14 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -857,6 +857,8 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) case EFFECT_COUNTER: case EFFECT_MIRROR_COAT: case EFFECT_METAL_BURST: + case EFFECT_FINAL_GAMBIT: + case EFFECT_GUARDIAN_OF_ALOLA: break; default: RETURN_SCORE_MINUS(10); @@ -1828,6 +1830,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) break; case EFFECT_TRICK: case EFFECT_KNOCK_OFF: + case EFFECT_CORROSIVE_GAS: if (aiData->abilities[battlerDef] == ABILITY_STICKY_HOLD) ADJUST_SCORE(-10); break; @@ -2176,6 +2179,17 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) else if (IsAbilityOfRating(aiData->abilities[battlerAtk], 5)) ADJUST_SCORE(-4); break; + case EFFECT_DOODLE: // Same as Role Play, but also check if the partner's ability should be replaced + if (aiData->abilities[battlerAtk] == aiData->abilities[battlerDef] + || aiData->abilities[BATTLE_PARTNER(battlerAtk)] == aiData->abilities[battlerDef] + || aiData->abilities[battlerDef] == ABILITY_NONE + || gAbilitiesInfo[aiData->abilities[battlerAtk]].cantBeSuppressed + || gAbilitiesInfo[aiData->abilities[BATTLE_PARTNER(battlerAtk)]].cantBeSuppressed + || gAbilitiesInfo[aiData->abilities[battlerDef]].cantBeCopied) + ADJUST_SCORE(-10); + else if (IsAbilityOfRating(aiData->abilities[battlerAtk], 5) || IsAbilityOfRating(aiData->abilities[BATTLE_PARTNER(battlerAtk)], 5)) + ADJUST_SCORE(-4); + break; case EFFECT_WISH: if (gWishFutureKnock.wishCounter[battlerAtk] != 0) ADJUST_SCORE(-10); @@ -2889,7 +2903,7 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) switch (atkPartnerAbility) { case ABILITY_ANGER_POINT: - if (gMovesInfo[move].alwaysCriticalHit == TRUE + if (gMovesInfo[move].alwaysCriticalHit == TRUE && BattlerStatCanRise(battlerAtkPartner, atkPartnerAbility, STAT_ATK) && AI_IsFaster(battlerAtk, battlerAtkPartner, move) && !CanIndexMoveFaintTarget(battlerAtk, battlerAtkPartner, AI_THINKING_STRUCT->movesetIndex, 1)) @@ -3498,6 +3512,7 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) break; case EFFECT_MULTI_HIT: case EFFECT_TRIPLE_KICK: + case EFFECT_POPULATION_BOMB: if (AI_MoveMakesContact(aiData->abilities[battlerAtk], aiData->holdEffects[battlerAtk], move) && aiData->abilities[battlerAtk] != ABILITY_MAGIC_GUARD && aiData->holdEffects[battlerDef] == HOLD_EFFECT_ROCKY_HELMET) @@ -4098,11 +4113,27 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) } } break; + case EFFECT_CORROSIVE_GAS: + if (CanKnockOffItem(battlerDef, aiData->items[battlerDef])) + { + switch (aiData->holdEffects[battlerDef]) + { + case HOLD_EFFECT_IRON_BALL: + if (HasMoveEffect(battlerDef, EFFECT_FLING)) + ADJUST_SCORE(DECENT_EFFECT); + break; + case HOLD_EFFECT_LAGGING_TAIL: + case HOLD_EFFECT_STICKY_BARB: + break; + default: + ADJUST_SCORE(DECENT_EFFECT); + break; + } + } + break; case EFFECT_ROLE_PLAY: - if (!gAbilitiesInfo[aiData->abilities[battlerAtk]].cantBeSuppressed - && !gAbilitiesInfo[aiData->abilities[battlerDef]].cantBeCopied - && !IsAbilityOfRating(aiData->abilities[battlerAtk], 5) - && IsAbilityOfRating(aiData->abilities[battlerDef], 5)) + case EFFECT_DOODLE: + if (IsAbilityOfRating(aiData->abilities[battlerDef], 5)) ADJUST_SCORE(DECENT_EFFECT); break; case EFFECT_INGRAIN: diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index ad03c27c9f..b087cf3939 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -2002,7 +2002,7 @@ static u32 GetBestMonIntegrated(struct Pokemon *party, int firstId, int lastId, } // If ace mon is the last available Pokemon and U-Turn/Volt Switch was used - switch to the mon. if (aceMonId != PARTY_SIZE - && (gMovesInfo[gLastUsedMove].effect == EFFECT_HIT_ESCAPE || gMovesInfo[gLastUsedMove].effect == EFFECT_PARTING_SHOT || gMovesInfo[gLastUsedMove].effect == EFFECT_BATON_PASS || gMovesInfo[gLastUsedMove].effect == EFFECT_CHILLY_RECEPTION)) + && (gMovesInfo[gLastUsedMove].effect == EFFECT_HIT_ESCAPE || gMovesInfo[gLastUsedMove].effect == EFFECT_PARTING_SHOT || gMovesInfo[gLastUsedMove].effect == EFFECT_BATON_PASS || gMovesInfo[gLastUsedMove].effect == EFFECT_CHILLY_RECEPTION || gMovesInfo[gLastUsedMove].effect == EFFECT_SHED_TAIL)) return aceMonId; return PARTY_SIZE; From 8af35a7e0d2ac19aad4bc206983f9d1091f613d9 Mon Sep 17 00:00:00 2001 From: cawtds <38510667+cawtds@users.noreply.github.com> Date: Thu, 29 Aug 2024 14:11:21 +0200 Subject: [PATCH 19/78] add Sirfetch'd alias for competitive format (#5283) --- include/constants/species.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/constants/species.h b/include/constants/species.h index 895e444d51..a0cce51398 100644 --- a/include/constants/species.h +++ b/include/constants/species.h @@ -1736,6 +1736,7 @@ #define SPECIES_SANDSHREW_ALOLA SPECIES_SANDSHREW_ALOLAN #define SPECIES_SANDSLASH_ALOLA SPECIES_SANDSLASH_ALOLAN #define SPECIES_SHELLOS_EAST SPECIES_SHELLOS_EAST_SEA +#define SPECIES_SIRFETCH_D SPECIES_SIRFETCHD #define SPECIES_SLIGGOO_HISUI SPECIES_SLIGGOO_HISUIAN #define SPECIES_SLOWBRO_GALAR SPECIES_SLOWBRO_GALARIAN #define SPECIES_SLOWKING_GALAR SPECIES_SLOWKING_GALARIAN From 2ab0dd77de5cde2ca04944cd03b894034a5c9f8e Mon Sep 17 00:00:00 2001 From: Hedara Date: Thu, 29 Aug 2024 15:36:05 +0200 Subject: [PATCH 20/78] Added performance counter --- include/global.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/include/global.h b/include/global.h index f5ada78360..783a913106 100644 --- a/include/global.h +++ b/include/global.h @@ -131,6 +131,31 @@ #define FEATURE_FLAG_ASSERT(flag, id) STATIC_ASSERT(flag > TEMP_FLAGS_END || flag == 0, id) +#ifndef NDEBUG +static inline void CycleCountStart() +{ + REG_TM2CNT_H = 0; + REG_TM3CNT_H = 0; + + REG_TM2CNT_L = 0; + REG_TM3CNT_L = 0; + + // init timers (tim3 count up mode, tim2 every clock cycle) + REG_TM3CNT_H = TIMER_ENABLE | TIMER_COUNTUP; + REG_TM2CNT_H = TIMER_1CLK | TIMER_ENABLE; +} + +static inline u32 CycleCountEnd() +{ + // stop timers + REG_TM2CNT_H = 0; + REG_TM3CNT_H = 0; + + // return result + return REG_TM2CNT_L | (REG_TM3CNT_L << 16u); +} +#endif + struct Coords8 { s8 x; From 8053f4ab1e3d53e6b5fa40458925fdf59407fc13 Mon Sep 17 00:00:00 2001 From: Cafei <46283144+Cafeei@users.noreply.github.com> Date: Thu, 29 Aug 2024 20:14:46 +0400 Subject: [PATCH 21/78] Enable female Indeedee follower and improve shiny Indeedees (#5285) Enable Indeedee female follower sprite. Shiny improvements. Fix front Indeedee male shading. --- graphics/pokemon/indeedee/back.png | Bin 599 -> 530 bytes graphics/pokemon/indeedee/female/back.png | Bin 549 -> 494 bytes .../pokemon/indeedee/female/overworld.png | Bin 561 -> 568 bytes .../indeedee/female/overworld_shiny.pal | 18 +++++++++--------- graphics/pokemon/indeedee/female/shiny.pal | 14 +++++++------- graphics/pokemon/indeedee/front.png | Bin 638 -> 592 bytes graphics/pokemon/indeedee/shiny.pal | 14 +++++++------- spritesheet_rules.mk | 3 +++ .../pokemon/species_info/gen_8_families.h | 8 ++++++++ 9 files changed, 34 insertions(+), 23 deletions(-) diff --git a/graphics/pokemon/indeedee/back.png b/graphics/pokemon/indeedee/back.png index 9fcfda9f9b9124e6603b5646f3f479af4b934077..8008cd6fb4d239ed37bcd7afdbcf0c83003b12da 100644 GIT binary patch delta 516 zcmV+f0{i{f1d;@h7=H)@0001;w}I>c0004VQb$4nuFf3k0000mP)t-sn9!ggFhG%i z#}E(@R7rYZkf6c7wEq6?Kwx-;Rd{JMTPU#LVPRD;Ku`bx00000Nk~5b0004yNklU_qApbD*CGPz|SQD1sBk0G0vWfKaBb1gV)TJj?=9 z;JO{2&tc1o=O36E+BrkFk$+iT#bbEZ?Yg*iC;KAPj+c<|&r0YgaKYqj2xJomgP73L z95L<;f#8Wq3V)n9?EM0e1a1qk=ZRW)SAaB$?6D#U?Vn{VVK`}80YNbA^I{hk1&jt< z2o?oM1IX94Zsb}(*pxZ&$Oc_d4HG^!!QhKv(!*@91pHb9 zPWgB%gDLQcD?BMof&R~SSOR)kKuZ0eAutUV9}dHd0)4|^^Sa>~KA$FNv&VB0aJ9Kv zq8;JEa1FUP@MyRP!4^N%@UzQ{688DNgun0y`at?5SbWy$JWwEsSb(%`2uNV#=YeN| zb&rgEJdIa6f6-uGWs+w>`9ATngdIcXn_T>Q?5*OP|CL`DjV0i)WJetU00004kPr|MP)KNCkf6x0!1(z1Kwx-~U|4W4FetF#fM|d)Ku`bx z00000j!%i~00009a7bBm000id000id0mpBsWB>pGut`KgRDVdv-IGmD!!QtqUHJkr zL?~MV2T0X`ykJo$z5uF%y00)Cf(0l_vGYE^d3GH1r)oh6 z$(V5ytFv$yBmjCFyA1&NngjR3~bj=&6CKp222a&5e9bw_>6V2D11KtyWvv@%%;7jXIDFcLVj~gI# zBOU=DNkbhM;(0Fw%~Aj@#8y5CdY>}rc0004VQb$4nuFf3k0000mP)t-sn9!ggFhG%i z$5csrV342?5D?gK;K9DM{{HTSRd_&Pcxg0SVPRD;Ku`bx00000F7(lL0004ONklR5Y#$wSAfcQ$^e1jdL`2hVfkkOZdw>L&;Y!`0%iYa1@!VC z8|VO57|meV0)K{iA^H)hTOc=333d^u0CS+J2MqGEK@s*S9gp!4*a%37c^>9w5P`De zx&@?Zxqxz-^Q93W7GOUhq+T2uDC88Ngf9X0^3njs-y`8%cc8NbVTYqV1)NRfvzT^~ zMuORRb(Yhduv`l!5B)404dI+$yj5454>#3sM13WE-&r2I_BTQwzGuC{qp95ykHX#n zu6)zO)0?ka@aJs{-{cM8S^u2ZQ-HVyhy^yM0I|D(%_oGjTmj+|ntT+*zYcf(Q@sHE WZz-iK+o(nW00004kWffyV342?5D?gK;K;DR`1tscU|2w4cyKTpGen~_@RDVdv?UF%i!!QssO15 z$8}K@L4xx=eK$L(LPS#(IT0HGDE*WKKoMMN04>j>QHOl2l@0`~Q#vjntBqO^+G3Zk z?w6yf<5UW=$bT0N=#$>o5gXG*k=_|d98DQ<0z=Fetv0}$EC9Rx{6r`-AE?p=Akhcl z)dG5Ud;wr<0cinxLkNIlu*XHl3@lqf9K;jAWt351x^L14?6kKt(64|)vz(Or)oY;M zb_%KT+aNt4)u)iVgfaqDM{D3Yj0S)xfGI5z0c{wdEq{6lkc9<=Ojh+lZ@L|&0=CB_ z^8pni-55A))(QHm`B^$kvU`ic-0a-aOGS1#aMH~n>D)?o1h@o{F##}JS;2glK z+E{~K&bO7pd5i0u_iWPVTPM`lDCf&FR1F|wbI)JOmt&Z;16Dhjc#_`c9$sT^%Ae%2 pvUmqu%@2iK%^dIZ10DXEegLv49BRT7OZ5N%002ovPDHLkV1oS0S7!hK delta 180 zcmV;l089V41hE8=F##%(GA;00FhJZZ83UY03x~R8Hk}&TFzt+rv9=9z)45 zn5}%lO1|8*B&0{#eoyJ_K{hz=X)2%eJ>2J1+Tw)u{As%=qVl400WdfR@TxY}V3+f4 zWpLi&I_Eu`^!e5a^)<@*@(fi2$k^QTm-6KpChdUL4kn(Yx4DPcn49t^xvVVS!B+D_ iAy@Mo`}{zMf2JS8lN@d0f>4D30000c0004VQb$4nuFf3kkv=|u0nSN8K~z|U?UiA3 z!ypKTLojGs^Z)@13Jf>flzspw`_b>feBM4I@ ze*Rw5Fo9kHK>}7&I-Ov79Ab#zi?JP@r>HT;0p>yrKds-Be-j>h?7FD|@tBMNT<(Z< zoIvk-5CVWDz3WeZg!AS8VC-4&0&r|fBLG}rN+elKD%l2@QX9$yww2k1(EErk31_qFi|O?UC7h0}D?^B=;9t}O-M{yA zsJ9aBDRzKojwo&ufM<)J;fnq`;FWNM^N5cpeH;M7aeT`s^hQ8yfmr7BN)S2dz)L>~ zu(o>GOMe02VGd00GxYL_t(Y$L*7`PQx$|hFyh`A*m?MTGIze zWoQ|~P{<2Z=xEleBI!^DRFMOz3#tIW0TMg`&%lI`=#qtvrSHNep%PMk-jVpF*ir7w ze`otF{+eo@SB)+cugkq+lCotc>arbFv+Of}1{FXSZIea4bu8CF%QF~Aa&{|{lDI}d z?iCBEQ(U$TB^I9>0A7hQ0L6(Y-ZpcTzC|1cW?*Y=08p^iihs+YZTJCpC?0JB{hfY# z4v=Orh@!}_5&KaeGdM#UI$m_L2{=&$5r&9Y(1|uPkksxj0hyP@fl|Vx#$ywP&6jI` z9SE};PtWJCPZr?d1~a^QOj)3dc)3JG7I0E*j%b++!AYg`KaK+y5aCCXzgyzMNk|Nk z=QPy1Niy=xz!FEU@I#!xX*02nR|D7YAzmMX@oIhK2!jHcEPOC5bURrh!0iKVQx0%y zs6V7*UUcp;Cnpmi9Hms?YwRtFWVeEUfH8GU%mFp6v)&wI#T#g?!kOZZlMG0ULwamL z30Z-=m;=fhv<6^Xss!#VK&=8|w&$F$GKJ=w@@Q37!8e_=8u@y{8<0ivd7s$;C%I_i z*a{>)oLPYGl#bhWF~TVwxAo?za6YpE1!9l?%P1kf0c^UXJ-g!ZE&u=k07*p#PDHLk FV1n?P@@xPA diff --git a/graphics/pokemon/indeedee/shiny.pal b/graphics/pokemon/indeedee/shiny.pal index 6bb5eca576..2b0aa6197b 100644 --- a/graphics/pokemon/indeedee/shiny.pal +++ b/graphics/pokemon/indeedee/shiny.pal @@ -3,17 +3,17 @@ JASC-PAL 16 152 208 160 32 48 64 -120 112 144 +145 127 199 16 16 16 -80 72 104 +84 73 122 96 144 160 -200 176 192 -248 248 248 +193 190 180 +254 254 238 64 96 120 -144 96 88 -112 48 48 +132 85 120 +105 52 91 40 176 224 -128 104 128 +97 97 85 48 64 80 0 0 0 0 0 0 diff --git a/spritesheet_rules.mk b/spritesheet_rules.mk index 649995a5cb..3dfea83037 100644 --- a/spritesheet_rules.mk +++ b/spritesheet_rules.mk @@ -3474,6 +3474,9 @@ $(POKEMONGFXDIR)/eiscue/overworld.4bpp: %.4bpp: %.png $(POKEMONGFXDIR)/indeedee/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 +$(POKEMONGFXDIR)/indeedee/female/overworld.4bpp: %.4bpp: %.png + $(GFX) $< $@ -mwidth 4 -mheight 4 + $(POKEMONGFXDIR)/morpeko/overworld.4bpp: %.4bpp: %.png $(GFX) $< $@ -mwidth 4 -mheight 4 diff --git a/src/data/pokemon/species_info/gen_8_families.h b/src/data/pokemon/species_info/gen_8_families.h index bb878e1fed..ed5e89407c 100644 --- a/src/data/pokemon/species_info/gen_8_families.h +++ b/src/data/pokemon/species_info/gen_8_families.h @@ -5280,6 +5280,14 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .iconSprite = gMonIcon_IndeedeeFemale, .iconPalIndex = 2, FOOTPRINT(Indeedee) + OVERWORLD( + sPicTable_IndeedeeFemale, + SIZE_32x32, + SHADOW_SIZE_M, + TRACKS_FOOT, + gOverworldPalette_IndeedeeFemale, + gShinyOverworldPalette_IndeedeeFemale + ) .levelUpLearnset = sIndeedeeFemaleLevelUpLearnset, .teachableLearnset = sIndeedeeFemaleTeachableLearnset, .eggMoveLearnset = sIndeedeeFemaleEggMoveLearnset, From 4f393541855e35e1c5bbc2b98ffd1207cb36378b Mon Sep 17 00:00:00 2001 From: psf <77138753+pkmnsnfrn@users.noreply.github.com> Date: Thu, 29 Aug 2024 13:33:25 -0700 Subject: [PATCH 22/78] Deprecate MMBN Names (#5240) * Removed HANDLE_EXPANDED_MOVE_NAME * Removed HANDLE_EXPANDED_TYPE_NAME * Removed HANDLE_EXPANDED_ITEM_NAME * Removed HANDLE_EXPANDED_SPECIES_NAME * Removed I_EXPANDED_ITEM_NAMES * Removed B_EXPANDED_MOVE_NAMES * Removed B_EXPANDED_TYPE_NAMES * Removed B_EXPANDED_ABILITY_NAMES * Removed B_EXPANDED_ABILITY_NAMES * Added documentation of names * Github markdown spacing is silly * Removed list per https://github.com/rh-hideout/pokeemerald-expansion/pull/5240\#discussion_r1736860339 * Removed list per https://github.com/rh-hideout/pokeemerald-expansion/pull/5240\#discussion_r1736860339 --- docs/mmbn_style_names.md | 300 ++++++++++++++++++ include/config/battle.h | 3 - include/config/item.h | 1 - include/config/test.h | 6 - include/constants/global.h | 8 +- src/data/abilities.h | 200 ------------ src/data/items.h | 264 ++++++++------- src/data/moves_info.h | 270 ++++++++-------- src/data/pokemon/species_info.h | 6 - .../pokemon/species_info/gen_2_families.h | 4 +- .../pokemon/species_info/gen_5_families.h | 4 +- .../pokemon/species_info/gen_6_families.h | 2 +- .../pokemon/species_info/gen_7_families.h | 4 +- .../pokemon/species_info/gen_8_families.h | 14 +- .../pokemon/species_info/gen_9_families.h | 52 +-- src/data/types_info.h | 14 +- 16 files changed, 609 insertions(+), 543 deletions(-) create mode 100644 docs/mmbn_style_names.md diff --git a/docs/mmbn_style_names.md b/docs/mmbn_style_names.md new file mode 100644 index 0000000000..f9d5f11fe1 --- /dev/null +++ b/docs/mmbn_style_names.md @@ -0,0 +1,300 @@ +# Megaman Battle Network Style Names + +Prior to 1.10, names in expansion that were too long for the game's UIs were truncated to fit using the naming conventions from the [Megaman Battle Network]() series. + +These were removed as part of https://github.com/rh-hideout/pokeemerald-expansion/pull/5240. They are stored here for users that may want to refer back to them or restore them. + +# Table + +Attribute | MMBN | Official +-- | -- | -- +Item | PewtrCrnches | Pewter Crunchies +Item | RageCandyBar | Rage Candy Bar +Item | LumioseGlete | Lumiose Galette +Item | ShalourSable | Shalour Sable +Item | HealthFeather | Health Feather +Item | MuscleFeather | Muscle Feather +Item | ResistFeather | Resist Feather +Item | GeniusFeather | Genius Feather +Item | CleverFeather | Clever Feather +Item | SwiftFeather | Swift Feather +Item | AbilityCapsle | Ability Capsule +Item | AbilityPatch | Ability Patch +Item | AbilityPatches | Ability Patches +Item | Exp.Candy XS | Exp. Candy XS +Item | Exp.Candies XS | Exp. Candies XS +Item | Exp.Candy S | Exp. Candy S +Item | Exp.Candies S | Exp. Candies S +Item | Exp.Candy M | Exp. Candy M +Item | Exp.Candies M | Exp. Candies M +Item | Exp.Candy L | Exp. Candy L +Item | Exp.Candies L | Exp. Candies L +Item | Exp.Candy XL | Exp. Candy XL +Item | Exp.Candies XL | Exp. Candies XL +Item | DynamaxCandy | Dynamax Candy +Item | DynamaxCandies | Dynamax Candies +Item | MaxMushrooms | Max Mushrooms +Item | GoldBottlCap | Gold Bottle Cap +Item | PrettyFeather | Pretty Feather +Item | StrngeSouvnr | Strange Souvenir +Item | FosslzedBird | Fossilized Bird +Item | FosslzedFish | Fossilized Fish +Item | FosslzedFishes | Fossilized Fishes +Item | FosslzedDrke | Fossilized Drake +Item | FosslzedDino | Fossilized Dino +Item | SurprseMulch | Surprise Mulch +Item | YellwApricorn | Yellow Apricorn +Item | GreenApricorn | Green Apricorn +Item | WhiteApricorn | White Apricorn +Item | BlackApricorn | Black Apricorn +Item | WishingPiece | Wishing Piece +Item | GalaricaTwig | Galarica Twig +Item | GalaricaCuff | Galarica Cuff +Item | GalrcaWreath | Galarica Wreath +Item | GalrcaWreathes | Galarica Wreathes +Item | StrwbrySweet | Strawberry Sweet +Item | ElectrcMemory | Electric Memory +Item | ElectrcMemories | Electric Memories +Item | FightngMemory | Fighting Memory +Item | FightngMemories | Fighting Memories +Item | PsychicMemory | Psychic Memory +Item | PsychicMemories | Psychic Memories +Item | RustedSword | Rusted Sword +Item | RustedShield | Rusted Shield +Item | CharizarditeX | Charizardite X +Item | CharizarditeY | Charizardite Y +Item | U-Necrozium Z | Ultranecrozium Z +Item | DeepSeaScale | Deep Sea Scale +Item | DeepSeaTooth | Deep Sea Tooth +Item | Never-MeltIce | Never-Melt Ice +Item | WeaknssPolicy | Weakness Policy +Item | WeaknssPolicies | Weakness Policies +Item | SafetyGoggles | Safety Goggles +Item | AdrenalineOrb | Adrenaline Orb +Item | TerainExtendr | Terrain Extender +Item | ProtectvePads | Protective Pads +Item | Heavy-DtyBts | Heavy-Duty Boots +Item | BlundrPolicy | Blunder Policy +Item | BlundrPolicies | Blunder Policies +Item | UtltyUmbrlla | Utility Umbrella +Item | CatchngCharm | Catching Charm +Item | RotomCatalog | Rotom Catalog +Item | ReinsOfUnity | Reins of Unity +Item | Dowsing MCHN | Dowsing Machine +Item | AbilityShield | Ability Shield +Item | PunchingGlove | Punching Glove +Item | AuspciousArmr | Auspicious Armor +Item | BoosterEnergy | Booster Energy +Item | BoosterEnergies | Booster Energies +Item | BigBmbooShoot | Big Bamboo Shoot +Item | GimighoulCoin | Gimmighoul Coin +Item | Leader'sCrest | Leader's Crest +Item | MaliciousArmr | Malicious Armor +Item | ScrllOfDrknss | Scroll of Darkness +Item | ScrllsOfDrknss | Scrolls of Darkness +Item | ScrollOfWatrs | Scroll of Waters +Item | ScrollsOfWatrs | Scrolls of Waters +Item | TinyBmbooShot | Tiny Bamboo Shoot +Item | Bug TeraShard | Bug Tera Shard +Item | DarkTeraShard | Dark Tera Shard +Item | DragnTeraShrd | Dragon Tera Shard +Item | EltrcTeraShrd | Electric Tera Shard +Item | FairyTeraShrd | Fairy Tera Shard +Item | FghtngTerShrd | Fighting Tera Shard +Item | FireTeraShard | Fire Tera Shard +Item | FlyngTeraShrd | Flying Tera Shard +Item | GhostTeraShrd | Ghost Tera Shard +Item | GrassTeraShrd | Grass Tera Shard +Item | GrondTeraShrd | Ground Tera Shard +Item | Ice TeraShard | Ice Tera Shard +Item | NormlTeraShrd | Normal Tera Shard +Item | PoisnTeraShrd | Poison Tera Shard +Item | PschcTeraShrd | Psychic Tera Shard +Item | RockTeraShard | Rock Tera Shard +Item | SteelTeraShrd | Steel Tera Shard +Item | WaterTeraShrd | Water Tera Shard +Item | AdamantCrystl | Adamant Crystal +Item | LustrousGlobe | Lustrous Globe +Item | BlackAugurite | Black Augurite +Item | UnrmkblTeacup | Unremarkable Teacup +Item | MstrpceTeacup | Masterpiece Teacup +Item | CornrstneMask | Cornerstone Mask +Item | WellsprngMask | Wellspring Mask +Item | HrthflameMask | Hearthflame Mask +Item | FrshStrtMochi | Fresh Start Mochi +Item | GlmmringCharm | Glimmering Charm +Item | StllrTeraShrd | Stellar Tera Shard +Item | JublifeMuffin | Jubilife Muffin +Item | AuxPowerguard | Aux Powerguard +Item | ChoiceDumplng | Choice Dumpling +Item | 2xSpicedRadsh | Twice-Spiced Radish +Move | ThunderPunch | Thunder Punch +Move | PoisonPowder | Poison Powder +Move | ThunderShock | Thunder Shock +Move | SelfDestruct | Self-Destruct +Move | HighJumpKick | High Jump Kick +Move | DynamicPunch | Dynamic Punch +Move | DragonBreath | Dragon Breath +Move | ExtremeSpeed | Extreme Speed +Move | AncientPower | Ancient Power +Move | SmellngSalts | Smelling Salts +Move | FeatherDance | Feather Dance +Move | GrassWhistle | Grass Whistle +Move | PhantomForce | Phantom Force +Move | TrickOrTreat | Trick-or-Treat +Move | ParabolcChrg | Parabolic Charge +Move | Forest'sCurs | Forest's Curse +Move | PetalBlizzrd | Petal Blizzard +Move | DisrmngVoice | Disarming Voice +Move | DrainingKiss | Draining Kiss +Move | CraftyShield | Crafty Shield +Move | FlowerShield | Flower Shield +Move | GrssyTerrain | Grassy Terrain +Move | MistyTerrain | Misty Terrain +Move | King'sShield | King's Shield +Move | DiamondStorm | Diamond Storm +Move | SteamErption | Steam Eruption +Move | HyprspceHole | Hyperspace Hole +Move | WatrShuriken | Water Shuriken +Move | MysticalFire | Mystical Fire +Move | AromaticMist | Aromatic Mist +Move | EerieImpulse | Eerie Impulse +Move | MagneticFlux | Magnetic Flux +Move | ElctrcTrrain | Electric Terrain +Move | DazzlngGleam | Dazzling Gleam +Move | BabyDollEyes | Baby-Doll Eyes +Move | PowerUpPunch | Power-Up Punch +Move | OblivionWing | Oblivion Wing +Move | ThousndArrws | Thousand Arrows +Move | ThousndWaves | Thousand Waves +Move | LightOfRuin | Light Of Ruin +Move | PrcipceBldes | Precipice Blades +Move | DragonAscent | Dragon Ascent +Move | HyprspceFury | Hyperspace Fury +Move | FrstImpressn | First Impression +Move | BanefulBunkr | Baneful Bunker +Move | SpiritShackl | Spirit Shackle +Move | DarkstLariat | Darkest Lariat +Move | SparklngAria | Sparkling Aria +Move | FloralHealng | Floral Healing +Move | HighHorsepwr | High Horsepower +Move | PsychcTrrain | Psychic Terrain +Move | RvlationDnce | Revelation Dance +Move | CoreEnforcer | Core Enforcer +Move | ClngngScales | Clanging Scales +Move | DragonHammer | Dragon Hammer +Move | PsychicFangs | Psychic Fangs +Move | StmpngTantrm | Stomping Tantrum +Move | PrsmaticLasr | Prismatic Laser +Move | SpectrlThief | Spectral Thief +Move | SnsteelStrke | Sunsteel Strike +Move | MoongestBeam | Moongeist Beam +Move | Natur'sMadns | Nature's Madness +Move | PhotonGeyser | Photon Geyser +Move | SplishySplsh | Splishy Splash +Move | BouncyBubble | Bouncy Bubble +Move | SparklySwirl | Sparkly Swirl +Move | VeeveeVolley | Veevee Volley +Move | DublIronBash | Double Iron Bash +Move | DynamxCannon | Dynamax Cannon +Move | FishiousRend | Fishious Rend +Move | ClngrousSoul | Clangorous Soul +Move | BehemthBlade | Behemoth Blade +Move | BehemothBash | Behemoth Bash +Move | BreakngSwipe | Breaking Swipe +Move | StrangeSteam | Strange Steam +Move | FalsSurrendr | False Surrender +Move | MeteorAssalt | Meteor Assault +Move | ExpandngForc | Expanding Force +Move | ShellSideArm | Shell Side Arm +Move | MstyExplsion | Misty Explosion +Move | RisngVoltage | Rising Voltage +Move | TerrainPulse | Terrain Pulse +Move | SkitterSmack | Skitter Smack +Move | BrningJelosy | Burning Jealousy +Move | CorrosiveGas | Corrosive Gas +Move | DualWingbeat | Dual Wingbeat +Move | ScorchngSnds | Scorching Sands +Move | JungleHealng | Jungle Healing +Move | SurgngStrkes | Surging Strikes +Move | DragonEnergy | Dragon Energy +Move | FreezngGlare | Freezing Glare +Move | ThnderusKick | Thunderous Kick +Move | GlacialLance | Glacial Lance +Move | AstrlBarrage | Astral Barrage +Move | PsyshieldBsh | Psyshield Bash +Move | SprngtdeStrm | Springtide Storm +Move | MystcalPower | Mystical Power +Move | MountainGale | Mountain Gale +Move | VictoryDance | Victory Dance +Move | HeadlongRush | Headlong Rush +Move | BitterMalice | Bitter Malice +Move | TripleArrows | Triple Arrows +Move | InfrnlParade | Infernal Parade +Move | CeaslessEdge | Ceaseless Edge +Move | BlekwndStorm | Bleakwind Storm +Move | WildbltStorm | Wildbolt Storm +Move | SndsearStorm | Sandsear Storm +Move | LunarBlessng | Lunar Blessing +Move | LastRespects | Last Respects +Move | SpicyExtract | Spicy Extract +Move | PoplatinBomb | Population Bomb +Move | RevivlBlesng | Revival Blessing +Move | KowtowCleave | Kowtow Cleave +Move | ColisinCours | Collision Course +Move | ElectroDrift | Electro Drift +Move | ChilReceptin | Chilly Reception +Move | ChillingWatr | Chilling Water +Move | GigatonHammr | Gigaton Hammer +Move | BlazngTorque | Blazing Torque +Move | WickedTorque | Wicked Torque +Move | NoxiusTorque | Noxious Torque +Move | CombatTorque | Combat Torque +Move | MagiclTorque | Magical Torque +Move | MatchaGotcha | Matcha Gotcha +Move | TeraStarstrm | Tera Starstorm +Move | BurnngBulwrk | Burning Bulwark +Move | MightyCleave | Mighty Cleave +Move | TachyonCuttr | Tachyon Cutter +Move | AllurngVoice | Alluring Voice +Move | SuprcellSlam | Supercell Slam +Move | PsychicNoise | Psychic Noise +Move | MalignntChan | Malignant Chain +Species | Dudunsprce | Dudunsparce +Species | Corvisquir | Corvisquire +Species | Corviknigh | Corviknight +Species | Barraskewd | Barraskewda +Species | Centiskorc | Centiskorch +Species | Polteageis | Polteageist +Species | Stonjourne | Stonjourner +Species | Meowscarad | Meowscarada +Species | Sqawkabily | Squawkabilly +Species | Kilowatrel | Kilowattrel +Species | Brmblghast | Brambleghast +Species | ScreamTail | Scream Tail +Species | BruteBonet | Brute Bonnet +Species | FluttrMane | Flutter Mane +Species | SlithrWing | Slither Wing +Species | SndyShocks | Sandy Shocks +Species | IronTreads | Iron Treads +Species | IronBundle | Iron Bundle +Species | IronJuguls | Iron Jugulis +Species | IronThorns | Iron Thorns +Species | RoarngMoon | Roaring Moon +Species | IronVliant | Iron Valiant +Species | WalkngWake | Walking Wake +Species | IronLeaves | Iron Leaves +Species | Ptchageist | Poltchageist +Species | Fezndipiti | Fezandipiti +Species | GouginFire | Gouging Fire +Species | RagingBolt | Raging Bolt +Species | IronBouldr | Iron Boulder +Species | Crabminabl | Crabominable +Species | Blacephaln | Blacephalon +Species | Bsculegion | Basculegion +Species | Flechinder | Fletchinder +Type | Fight | Fighting +Type | Electr | Electric +Type | Psychc | Psychic +Type | Stellr | Stellar + diff --git a/include/config/battle.h b/include/config/battle.h index 12b694cd0e..8ddea8e311 100644 --- a/include/config/battle.h +++ b/include/config/battle.h @@ -39,7 +39,6 @@ #define B_MULTIPLE_TARGETS_DMG GEN_LATEST // In Gen4+, damage dealt by moves that hit multiple targets at once is reduced to 75%. Before, it was 50%. // Type settings -#define B_EXPANDED_TYPE_NAMES TRUE // If TRUE, type names are increased from 6 characters to 8 characters. #define B_GHOSTS_ESCAPE GEN_LATEST // In Gen6+, abilities like Shadow Tag or moves like Mean Look fail on Ghost-type Pokémon. They can also escape any Wild Battle. #define B_PARALYZE_ELECTRIC GEN_LATEST // In Gen6+, Electric-type Pokémon can't be paralyzed. #define B_POWDER_GRASS GEN_LATEST // In Gen6+, Grass-type Pokémon are immune to powder and spore moves. @@ -124,7 +123,6 @@ #define B_CHARGE GEN_LATEST // In Gen8-, Charge status is lost regardless of the typing of the next move. // Ability settings -#define B_EXPANDED_ABILITY_NAMES TRUE // If TRUE, ability names are increased from 12 characters to 16 characters. #define B_ABILITY_WEATHER GEN_LATEST // In Gen6+, ability-induced weather lasts 5 turns. Before, it lasted until the battle ended or until it was changed by a move or a different weather-affecting ability. #define B_GALE_WINGS GEN_LATEST // In Gen7+ requires full HP to trigger. #define B_STANCE_CHANGE_FAIL GEN_LATEST // In Gen7+, Stance Change fails if the Pokémon is unable to use a move because of confusion, paralysis, etc. In Gen6, it doesn't. @@ -222,7 +220,6 @@ #define B_SHOW_TARGETS TRUE // If set to TRUE, all available targets, for moves hitting 2 or 3 Pokémon, will be shown before selecting a move. #define B_SHOW_CATEGORY_ICON TRUE // If set to TRUE, it will show an icon in the summary and move relearner showing the move's category. #define B_HIDE_HEALTHBOX_IN_ANIMS TRUE // If set to TRUE, hides healthboxes during move animations. -#define B_EXPANDED_MOVE_NAMES TRUE // If set to FALSE, move names are decreased from 16 characters to 12 characters. #define B_WAIT_TIME_MULTIPLIER 16 // This determines how long text pauses in battle last. Vanilla is 16. Lower values result in faster battles. #define B_QUICK_MOVE_CURSOR_TO_RUN FALSE // If set to TRUE, pushing B in the battle options against a wild encounter will move the cursor to the run option #define B_MOVE_DESCRIPTION_BUTTON L_BUTTON // If set to a button other than B_LAST_USED_BALL_BUTTON, pressing this button will open the move description menu diff --git a/include/config/item.h b/include/config/item.h index 272848e82e..67916cbe4d 100644 --- a/include/config/item.h +++ b/include/config/item.h @@ -2,7 +2,6 @@ #define GUARD_CONFIG_ITEM_H // Item config -#define I_EXPANDED_ITEM_NAMES TRUE // If set to FALSE, item names are decreased from 20 characters to 14 characters. #define I_SHINY_CHARM_ADDITIONAL_ROLLS 2 // Amount of additional shiny rolls if the player has the Shiny Charm. Set it to 0 to disable Shiny Charm's effects. #define I_KEY_FOSSILS GEN_LATEST // In Gen4+, all Gen 3 fossils became regular items. #define I_KEY_ESCAPE_ROPE GEN_LATEST // In Gen8, Escape Rope became a Key Item. Keep in mind, this will make it free to buy in marts. diff --git a/include/config/test.h b/include/config/test.h index bd721beb9d..708c2ca581 100644 --- a/include/config/test.h +++ b/include/config/test.h @@ -1,14 +1,8 @@ #ifndef GUARD_CONFIG_TEST_H #define GUARD_CONFIG_TEST_H -#undef B_EXPANDED_MOVE_NAMES -#define B_EXPANDED_MOVE_NAMES TRUE -#undef I_EXPANDED_ITEM_NAMES -#define I_EXPANDED_ITEM_NAMES TRUE #undef POKEMON_NAME_LENGTH #define POKEMON_NAME_LENGTH 12 -#undef B_EXPANDED_TYPE_NAMES -#define B_EXPANDED_TYPE_NAMES TRUE #undef P_MEGA_EVOLUTIONS #define P_MEGA_EVOLUTIONS TRUE diff --git a/include/constants/global.h b/include/constants/global.h index 6d2fbe81c7..7e26bd5a0d 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -103,7 +103,7 @@ #define CONTEST_CATEGORIES_COUNT 5 // string lengths -#define ITEM_NAME_LENGTH ((I_EXPANDED_ITEM_NAMES == TRUE) ? 20 : 14) +#define ITEM_NAME_LENGTH 20 #define ITEM_NAME_PLURAL_LENGTH ITEM_NAME_LENGTH + 2 // 2 is used for the instance where a word's suffix becomes y->ies #define POKEMON_NAME_LENGTH 12 #define VANILLA_POKEMON_NAME_LENGTH 10 @@ -111,15 +111,15 @@ #define PLAYER_NAME_LENGTH 7 #define MAIL_WORDS_COUNT 9 #define EASY_CHAT_BATTLE_WORDS_COUNT 6 -#define MOVE_NAME_LENGTH ((B_EXPANDED_MOVE_NAMES == TRUE) ? 16 : 12) +#define MOVE_NAME_LENGTH 16 #define NUM_QUESTIONNAIRE_WORDS 4 #define QUIZ_QUESTION_LEN 9 #define WONDER_CARD_TEXT_LENGTH 40 #define WONDER_NEWS_TEXT_LENGTH 40 #define WONDER_CARD_BODY_TEXT_LINES 4 #define WONDER_NEWS_BODY_TEXT_LINES 10 -#define TYPE_NAME_LENGTH ((B_EXPANDED_TYPE_NAMES == TRUE) ? 8 : 6) -#define ABILITY_NAME_LENGTH ((B_EXPANDED_ABILITY_NAMES == TRUE) ? 16 : 12) +#define TYPE_NAME_LENGTH 8 +#define ABILITY_NAME_LENGTH 16 #define TRAINER_NAME_LENGTH 10 #define MAX_STAMP_CARD_STAMPS 7 diff --git a/src/data/abilities.h b/src/data/abilities.h index ccb27ffe35..c09107ab94 100644 --- a/src/data/abilities.h +++ b/src/data/abilities.h @@ -110,11 +110,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_COMPOUND_EYES] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Compound Eyes"), - #else - .name = _("CompoundEyes"), - #endif .description = COMPOUND_STRING("Raises accuracy."), .aiRating = 7, }, @@ -244,11 +240,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_LIGHTNING_ROD] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Lightning Rod"), - #else - .name = _("LightningRod"), - #endif .description = COMPOUND_STRING("Draws electrical moves."), .aiRating = 7, .breakable = TRUE, @@ -1328,11 +1320,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_STANCE_CHANGE] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Stance Change"), - #else - .name = _("StanceChange"), - #endif .description = COMPOUND_STRING("Transforms as it battles."), .aiRating = 10, .cantBeCopied = TRUE, @@ -1351,11 +1339,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_MEGA_LAUNCHER] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Mega Launcher"), - #else - .name = _("MegaLauncher"), - #endif .description = COMPOUND_STRING("Boosts pulse moves."), .aiRating = 7, }, @@ -1405,11 +1389,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_PARENTAL_BOND] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Parental Bond"), - #else - .name = _("ParentalBond"), - #endif .description = COMPOUND_STRING("Moves hit twice."), .aiRating = 10, }, @@ -1437,22 +1417,14 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_PRIMORDIAL_SEA] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Primordial Sea"), - #else - .name = _("PrimrdialSea"), - #endif .description = COMPOUND_STRING("Summons heavy rain."), .aiRating = 10, }, [ABILITY_DESOLATE_LAND] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Desolate Land"), - #else - .name = _("DesolateLand"), - #endif .description = COMPOUND_STRING("Summons intense sunlight."), .aiRating = 10, }, @@ -1480,22 +1452,14 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_EMERGENCY_EXIT] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Emergency Exit"), - #else - .name = _("EmergncyExit"), - #endif .description = COMPOUND_STRING("Flees at half HP."), .aiRating = 3, }, [ABILITY_WATER_COMPACTION] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Water Compaction"), - #else - .name = _("WtrCmpaction"), - #endif .description = COMPOUND_STRING("Water boosts Defense."), .aiRating = 4, }, @@ -1629,11 +1593,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_POWER_CONSTRUCT] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Power Construct"), - #else - .name = _("PwrConstruct"), - #endif .description = COMPOUND_STRING("Cells aid it when weakened."), .aiRating = 10, .cantBeCopied = TRUE, @@ -1664,11 +1624,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_QUEENLY_MAJESTY] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Queenly Majesty"), - #else - .name = _("QueenlyMjsty"), - #endif .description = COMPOUND_STRING("Protects from priority."), .aiRating = 6, .breakable = TRUE, @@ -1720,11 +1676,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_TANGLING_HAIR] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Tangling Hair"), - #else - .name = _("TanglingHair"), - #endif .description = COMPOUND_STRING("Lowers Speed on contact."), .aiRating = 5, }, @@ -1740,11 +1692,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_POWER_OF_ALCHEMY] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Power Of Alchemy"), - #else - .name = _("PwrOfAlchemy"), - #endif .description = COMPOUND_STRING("Copies ally's ability."), .aiRating = 0, .cantBeCopied = TRUE, @@ -1772,22 +1720,14 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_ELECTRIC_SURGE] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Electric Surge"), - #else - .name = _("ElectrcSurge"), - #endif .description = COMPOUND_STRING("Field becomes Electric."), .aiRating = 8, }, [ABILITY_PSYCHIC_SURGE] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Psychic Surge"), - #else - .name = _("PsychicSurge"), - #endif .description = COMPOUND_STRING("Field becomes weird."), .aiRating = 8, }, @@ -1808,22 +1748,14 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_FULL_METAL_BODY] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Full Metal Body"), - #else - .name = _("FullMetalBdy"), - #endif .description = COMPOUND_STRING("Prevents stat reduction."), .aiRating = 4, }, [ABILITY_SHADOW_SHIELD] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Shadow Shield"), - #else - .name = _("ShadowShield"), - #endif .description = COMPOUND_STRING("Halves damage at full HP."), .aiRating = 8, }, @@ -1844,22 +1776,14 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_INTREPID_SWORD] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Intrepid Sword"), - #else - .name = _("IntrepidSwrd"), - #endif .description = COMPOUND_STRING("Ups Attack on entry."), .aiRating = 3, }, [ABILITY_DAUNTLESS_SHIELD] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Dauntless Shield"), - #else - .name = _("DauntlssShld"), - #endif .description = COMPOUND_STRING("Ups Defense on entry."), .aiRating = 3, }, @@ -1886,11 +1810,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_PROPELLER_TAIL] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Propeller Tail"), - #else - .name = _("PropellrTail"), - #endif .description = COMPOUND_STRING("Ignores foe's redirection."), .aiRating = 2, }, @@ -1988,22 +1908,14 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_SCREEN_CLEANER] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Screen Cleaner"), - #else - .name = _("ScreenCleanr"), - #endif .description = COMPOUND_STRING("Removes walls of light."), .aiRating = 3, }, [ABILITY_STEELY_SPIRIT] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Steely Spirit"), - #else - .name = _("SteelySpirit"), - #endif .description = COMPOUND_STRING("Boosts ally's Steel moves."), .aiRating = 2, }, @@ -2017,33 +1929,21 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_WANDERING_SPIRIT] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Wandering Spirit"), - #else - .name = _("WandrngSprit"), - #endif .description = COMPOUND_STRING("Trade abilities on contact."), .aiRating = 2, }, [ABILITY_GORILLA_TACTICS] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Gorilla Tactics"), - #else - .name = _("GorillaTacti"), - #endif .description = COMPOUND_STRING("Ups Attack and locks move."), .aiRating = 4, }, [ABILITY_NEUTRALIZING_GAS] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Neutralizing Gas"), - #else - .name = _("NeutrlzngGas"), - #endif .description = COMPOUND_STRING("All Abilities are nullified."), .aiRating = 5, .cantBeCopied = TRUE, @@ -2062,11 +1962,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_HUNGER_SWITCH] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Hunger Switch"), - #else - .name = _("HungerSwitch"), - #endif .description = COMPOUND_STRING("Changes form each turn."), .aiRating = 2, .cantBeCopied = TRUE, @@ -2091,11 +1987,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_CURIOUS_MEDICINE] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Curious Medicine"), - #else - .name = _("CuriusMedicn"), - #endif .description = COMPOUND_STRING("Remove ally's stat changes."), .aiRating = 3, }, @@ -2116,11 +2008,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_CHILLING_NEIGH] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Chilling Neigh"), - #else - .name = _("ChillngNeigh"), - #endif .description = COMPOUND_STRING("KOs boost Attack stat."), .aiRating = 7, }, @@ -2158,11 +2046,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_LINGERING_AROMA] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Lingering Aroma"), - #else - .name = _("LngerngAroma"), - #endif .description = COMPOUND_STRING("Spreads with contact."), .aiRating = 5, }, @@ -2176,11 +2060,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_THERMAL_EXCHANGE] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Thermal Exchange"), - #else - .name = _("ThrmlExchnge"), - #endif .description = COMPOUND_STRING("Fire hits up Attack."), .aiRating = 4, .breakable = TRUE, @@ -2195,11 +2075,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_PURIFYING_SALT] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Purifying Salt"), - #else - .name = _("PurfyingSalt"), - #endif .description = COMPOUND_STRING("Protected by pure salts."), .aiRating = 6, .breakable = TRUE, @@ -2207,11 +2083,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_WELL_BAKED_BODY] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Well-Baked Body"), - #else - .name = _("WellBakedBdy"), - #endif .description = COMPOUND_STRING("Strengthened by Fire."), .aiRating = 5, .breakable = TRUE, @@ -2235,11 +2107,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_ROCKY_PAYLOAD] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Rocky Payload"), - #else - .name = _("RockyPayload"), - #endif .description = COMPOUND_STRING("Powers up Rock moves."), .aiRating = 6, }, @@ -2277,22 +2145,14 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_ELECTROMORPHOSIS] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Electromorphosis"), - #else - .name = _("Elecmrphosis"), - #endif .description = COMPOUND_STRING("Gets Charged when hit."), .aiRating = 5, }, [ABILITY_PROTOSYNTHESIS] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Protosynthesis"), - #else - .name = _("Protosnthsis"), - #endif .description = COMPOUND_STRING("Sun boosts best stat."), .aiRating = 7, .cantBeCopied = TRUE, @@ -2322,11 +2182,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_VESSEL_OF_RUIN] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Vessel of Ruin"), - #else - .name = _("VesselOfRuin"), - #endif .description = COMPOUND_STRING("Lowers foes' sp. damage."), .aiRating = 5, .breakable = TRUE, @@ -2334,11 +2190,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_SWORD_OF_RUIN] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Sword of Ruin"), - #else - .name = _("SwordOfRuin"), - #endif .description = COMPOUND_STRING("Lowers foes' Defense."), .aiRating = 5, .breakable = TRUE, @@ -2346,11 +2198,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_TABLETS_OF_RUIN] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Tablets of Ruin"), - #else - .name = _("TabltsOfRuin"), - #endif .description = COMPOUND_STRING("Lowers foes' damage."), .aiRating = 5, .breakable = TRUE, @@ -2358,11 +2206,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_BEADS_OF_RUIN] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Beads of Ruin"), - #else - .name = _("BeadsOfRuin"), - #endif .description = COMPOUND_STRING("Lowers foes' Sp. Defense."), .aiRating = 5, .breakable = TRUE, @@ -2370,22 +2214,14 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_ORICHALCUM_PULSE] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Orichalcum Pulse"), - #else - .name = _("OrchlcumPlse"), - #endif .description = COMPOUND_STRING("Summons sunlight in battle."), .aiRating = 8, }, [ABILITY_HADRON_ENGINE] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Hadron Engine"), - #else - .name = _("HadronEngine"), - #endif .description = COMPOUND_STRING("Field becomes Electric."), .aiRating = 8, }, @@ -2413,11 +2249,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_SUPREME_OVERLORD] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Supreme Overlord"), - #else - .name = _("SuprmeOvrlrd"), - #endif .description = COMPOUND_STRING("Inherits fallen's strength."), .aiRating = 6, }, @@ -2454,11 +2286,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_MYCELIUM_MIGHT] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Mycelium Might"), - #else - .name = _("MceliumMight"), - #endif .description = COMPOUND_STRING("Status moves never fail."), .aiRating = 2, }, @@ -2480,11 +2308,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_EMBODY_ASPECT_TEAL_MASK] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Embody Aspect"), - #else - .name = _("EmbodyAspect"), - #endif .description = COMPOUND_STRING("Raises Speed."), .aiRating = 6, .cantBeCopied = TRUE, @@ -2495,11 +2319,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_EMBODY_ASPECT_HEARTHFLAME_MASK] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Embody Aspect"), - #else - .name = _("EmbodyAspect"), - #endif .description = COMPOUND_STRING("Raises Attack."), .aiRating = 6, .cantBeCopied = TRUE, @@ -2510,11 +2330,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_EMBODY_ASPECT_WELLSPRING_MASK] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Embody Aspect"), - #else - .name = _("EmbodyAspect"), - #endif .description = COMPOUND_STRING("Raises Sp. Def."), .aiRating = 6, .cantBeCopied = TRUE, @@ -2525,11 +2341,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_EMBODY_ASPECT_CORNERSTONE_MASK] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Embody Aspect"), - #else - .name = _("EmbodyAspect"), - #endif .description = COMPOUND_STRING("Raises Defense."), .aiRating = 6, .cantBeCopied = TRUE, @@ -2547,11 +2359,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_SUPERSWEET_SYRUP] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Supersweet Syrup"), - #else - .name = _("SuprswtSyrup"), - #endif .description = COMPOUND_STRING("Lowers the foe's Evasion."), .aiRating = 5, }, @@ -2582,11 +2390,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_TERAFORM_ZERO] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Teraform Zero"), - #else - .name = _("TeraformZero"), - #endif .description = COMPOUND_STRING("Removes weather and terrain."), .aiRating = 10, .cantBeCopied = TRUE, @@ -2596,11 +2400,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_POISON_PUPPETEER] = { - #if B_EXPANDED_ABILITY_NAMES == TRUE .name = _("Poison Puppeteer"), - #else - .name = _("PoisnPuppter"), - #endif .description = COMPOUND_STRING("Confuses poisoned foes."), .aiRating = 8, .cantBeCopied = TRUE, diff --git a/src/data/items.h b/src/data/items.h index f97c4670c1..27d9829899 100644 --- a/src/data/items.h +++ b/src/data/items.h @@ -1,9 +1,3 @@ -#if I_EXPANDED_ITEM_NAMES == TRUE -#define HANDLE_EXPANDED_ITEM_NAME(_name, ...) _(DEFAULT(_name, __VA_ARGS__)) -#else -#define HANDLE_EXPANDED_ITEM_NAME(_name, ...) _(_name) -#endif - #if I_USE_EVO_HELD_ITEMS_FROM_BAG == TRUE #define EVO_HELD_ITEM_TYPE ITEM_USE_PARTY_MENU #define EVO_HELD_ITEM_FIELD_FUNC ItemUseOutOfBattle_EvolutionStone @@ -1159,8 +1153,8 @@ const struct Item gItemsInfo[] = [ITEM_PEWTER_CRUNCHIES] = { - .name = HANDLE_EXPANDED_ITEM_NAME("PewtrCrnches", "Pewter Crunchies"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("PewtrCrnches", "Pewter Crunchies"), + .name = _("Pewter Crunchies"), + .pluralName = _("Pewter Crunchies"), .price = 250, .description = sFullHealDesc, .pocket = POCKET_ITEMS, @@ -1175,7 +1169,7 @@ const struct Item gItemsInfo[] = [ITEM_RAGE_CANDY_BAR] = { - .name = HANDLE_EXPANDED_ITEM_NAME("RageCandyBar", "Rage Candy Bar"), + .name = _("Rage Candy Bar"), .price = (I_PRICE >= GEN_7) ? 350 : 300, .description = sFullHealDesc, .pocket = POCKET_ITEMS, @@ -1239,7 +1233,7 @@ const struct Item gItemsInfo[] = [ITEM_LUMIOSE_GALETTE] = { - .name = HANDLE_EXPANDED_ITEM_NAME("LumioseGlete", "Lumiose Galette"), + .name = _("Lumiose Galette"), .price = (I_PRICE >= GEN_7) ? 350 : 200, .description = sFullHealDesc, .pocket = POCKET_ITEMS, @@ -1254,7 +1248,7 @@ const struct Item gItemsInfo[] = [ITEM_SHALOUR_SABLE] = { - .name = HANDLE_EXPANDED_ITEM_NAME("ShalourSable", "Shalour Sable"), + .name = _("Shalour Sable"), .price = (I_PRICE >= GEN_7) ? 350 : 200, .description = sFullHealDesc, .pocket = POCKET_ITEMS, @@ -1425,7 +1419,7 @@ const struct Item gItemsInfo[] = [ITEM_HEALTH_FEATHER] = { - .name = HANDLE_EXPANDED_ITEM_NAME("HealthFeather", "Health Feather"), + .name = _("Health Feather"), .price = (I_PRICE >= GEN_7) ? 300 : 3000, .description = sHealthFeatherDesc, .pocket = POCKET_ITEMS, @@ -1439,7 +1433,7 @@ const struct Item gItemsInfo[] = [ITEM_MUSCLE_FEATHER] = { - .name = HANDLE_EXPANDED_ITEM_NAME("MuscleFeather", "Muscle Feather"), + .name = _("Muscle Feather"), .price = (I_PRICE >= GEN_7) ? 300 : 3000, .description = sMuscleFeatherDesc, .pocket = POCKET_ITEMS, @@ -1453,7 +1447,7 @@ const struct Item gItemsInfo[] = [ITEM_RESIST_FEATHER] = { - .name = HANDLE_EXPANDED_ITEM_NAME("ResistFeather", "Resist Feather"), + .name = _("Resist Feather"), .price = (I_PRICE >= GEN_7) ? 300 : 3000, .description = sResistFeatherDesc, .pocket = POCKET_ITEMS, @@ -1467,7 +1461,7 @@ const struct Item gItemsInfo[] = [ITEM_GENIUS_FEATHER] = { - .name = HANDLE_EXPANDED_ITEM_NAME("GeniusFeather", "Genius Feather"), + .name = _("Genius Feather"), .price = (I_PRICE >= GEN_7) ? 300 : 3000, .description = sGeniusFeatherDesc, .pocket = POCKET_ITEMS, @@ -1481,7 +1475,7 @@ const struct Item gItemsInfo[] = [ITEM_CLEVER_FEATHER] = { - .name = HANDLE_EXPANDED_ITEM_NAME("CleverFeather", "Clever Feather"), + .name = _("Clever Feather"), .price = (I_PRICE >= GEN_7) ? 300 : 3000, .description = sCleverFeatherDesc, .pocket = POCKET_ITEMS, @@ -1495,7 +1489,7 @@ const struct Item gItemsInfo[] = [ITEM_SWIFT_FEATHER] = { - .name = HANDLE_EXPANDED_ITEM_NAME("SwiftFeather", "Swift Feather"), + .name = _("Swift Feather"), .price = (I_PRICE >= GEN_7) ? 300 : 3000, .description = sSwiftFeatherDesc, .pocket = POCKET_ITEMS, @@ -1511,7 +1505,7 @@ const struct Item gItemsInfo[] = [ITEM_ABILITY_CAPSULE] = { - .name = HANDLE_EXPANDED_ITEM_NAME("AbilityCapsle", "Ability Capsule"), + .name = _("Ability Capsule"), .price = (I_PRICE < GEN_7) ? 1000 : ((I_PRICE < GEN_9) ? 10000 : 100000), .holdEffectParam = 0, .description = COMPOUND_STRING( @@ -1526,8 +1520,8 @@ const struct Item gItemsInfo[] = [ITEM_ABILITY_PATCH] = { - .name = HANDLE_EXPANDED_ITEM_NAME("AbilityPatch", "Ability Patch"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("AbilityPatches", "Ability Patches"), + .name = _("Ability Patch"), + .pluralName = _("Ability Patches"), .price = (I_PRICE >= GEN_9) ? 250000 : 20, .holdEffectParam = 0, .description = COMPOUND_STRING( @@ -1922,8 +1916,8 @@ const struct Item gItemsInfo[] = [ITEM_EXP_CANDY_XS] = { - .name = HANDLE_EXPANDED_ITEM_NAME("Exp.Candy XS", "Exp. Candy XS"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("Exp.Candies XS", "Exp. Candies XS"), + .name = _("Exp. Candy XS"), + .pluralName = _("Exp. Candies XS"), .price = 20, .holdEffectParam = EXP_100, .description = COMPOUND_STRING( @@ -1941,8 +1935,8 @@ const struct Item gItemsInfo[] = [ITEM_EXP_CANDY_S] = { - .name = HANDLE_EXPANDED_ITEM_NAME("Exp.Candy S", "Exp. Candy S"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("Exp.Candies S", "Exp. Candies S"), + .name = _("Exp. Candy S"), + .pluralName = _("Exp. Candies S"), .price = 240, .holdEffectParam = EXP_800, .description = COMPOUND_STRING( @@ -1960,8 +1954,8 @@ const struct Item gItemsInfo[] = [ITEM_EXP_CANDY_M] = { - .name = HANDLE_EXPANDED_ITEM_NAME("Exp.Candy M", "Exp. Candy M"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("Exp.Candies M", "Exp. Candies M"), + .name = _("Exp. Candy M"), + .pluralName = _("Exp. Candies M"), .price = 1000, .holdEffectParam = EXP_3000, .description = COMPOUND_STRING( @@ -1979,8 +1973,8 @@ const struct Item gItemsInfo[] = [ITEM_EXP_CANDY_L] = { - .name = HANDLE_EXPANDED_ITEM_NAME("Exp.Candy L", "Exp. Candy L"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("Exp.Candies L", "Exp. Candies L"), + .name = _("Exp. Candy L"), + .pluralName = _("Exp. Candies L"), .price = 3000, .holdEffectParam = EXP_10000, .description = COMPOUND_STRING( @@ -1998,8 +1992,8 @@ const struct Item gItemsInfo[] = [ITEM_EXP_CANDY_XL] = { - .name = HANDLE_EXPANDED_ITEM_NAME("Exp.Candy XL", "Exp. Candy XL"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("Exp.Candies XL", "Exp. Candies XL"), + .name = _("Exp. Candy XL"), + .pluralName = _("Exp. Candies XL"), .price = 10000, .holdEffectParam = EXP_30000, .description = COMPOUND_STRING( @@ -2017,8 +2011,8 @@ const struct Item gItemsInfo[] = [ITEM_DYNAMAX_CANDY] = { - .name = HANDLE_EXPANDED_ITEM_NAME("DynamaxCandy", "Dynamax Candy"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("DynamaxCandies", "Dynamax Candies"), + .name = _("Dynamax Candy"), + .pluralName = _("Dynamax Candies"), .price = 0, .description = COMPOUND_STRING( "Raises the Dynamax\n" @@ -2486,8 +2480,8 @@ const struct Item gItemsInfo[] = [ITEM_MAX_MUSHROOMS] = { - .name = HANDLE_EXPANDED_ITEM_NAME("MaxMushrooms", "Max Mushrooms"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("MaxMushrooms", "Max Mushrooms"), + .name = _("Max Mushrooms"), + .pluralName = _("Max Mushrooms"), .price = 8000, .description = COMPOUND_STRING( "Raises every stat\n" @@ -2522,7 +2516,7 @@ const struct Item gItemsInfo[] = [ITEM_GOLD_BOTTLE_CAP] = { - .name = HANDLE_EXPANDED_ITEM_NAME("GoldBottlCap", "Gold Bottle Cap"), + .name = _("Gold Bottle Cap"), .price = (I_PRICE >= GEN_9) ? 60000 : 10000, .description = COMPOUND_STRING( "A beautiful bottle\n" @@ -2859,7 +2853,7 @@ const struct Item gItemsInfo[] = [ITEM_PRETTY_FEATHER] = { - .name = HANDLE_EXPANDED_ITEM_NAME("PrettyFeather", "Pretty Feather"), + .name = _("Pretty Feather"), .price = (I_PRICE >= GEN_7) ? 1000 * TREASURE_FACTOR: 200, .description = COMPOUND_STRING( "A beautiful yet\n" @@ -2987,7 +2981,7 @@ const struct Item gItemsInfo[] = [ITEM_STRANGE_SOUVENIR] = { - .name = HANDLE_EXPANDED_ITEM_NAME("StrngeSouvnr", "Strange Souvenir"), + .name = _("Strange Souvenir"), .price = (I_PRICE >= GEN_7) ? 3000 : 10, .description = COMPOUND_STRING( "An ornament that\n" @@ -3205,7 +3199,7 @@ const struct Item gItemsInfo[] = [ITEM_FOSSILIZED_BIRD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("FosslzedBird", "Fossilized Bird"), + .name = _("Fossilized Bird"), .price = 5000, .description = COMPOUND_STRING( "A fossil of an\n" @@ -3221,8 +3215,8 @@ const struct Item gItemsInfo[] = [ITEM_FOSSILIZED_FISH] = { - .name = HANDLE_EXPANDED_ITEM_NAME("FosslzedFish", "Fossilized Fish"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("FosslzedFishes", "Fossilized Fishes"), + .name = _("Fossilized Fish"), + .pluralName = _("Fossilized Fishes"), .price = 5000, .description = sFossilizedFishDesc, .pocket = POCKET_ITEMS, @@ -3235,7 +3229,7 @@ const struct Item gItemsInfo[] = [ITEM_FOSSILIZED_DRAKE] = { - .name = HANDLE_EXPANDED_ITEM_NAME("FosslzedDrke", "Fossilized Drake"), + .name = _("Fossilized Drake"), .price = 5000, .description = COMPOUND_STRING( "A fossil of an\n" @@ -3251,7 +3245,7 @@ const struct Item gItemsInfo[] = [ITEM_FOSSILIZED_DINO] = { - .name = HANDLE_EXPANDED_ITEM_NAME("FosslzedDino", "Fossilized Dino"), + .name = _("Fossilized Dino"), .price = 5000, .description = sFossilizedFishDesc, .pocket = POCKET_ITEMS, @@ -3376,8 +3370,8 @@ const struct Item gItemsInfo[] = [ITEM_SURPRISE_MULCH] = { - .name = HANDLE_EXPANDED_ITEM_NAME("SurprseMulch", "Surprise Mulch"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("SurprseMulch", "Surprise Mulch"), + .name = _("Surprise Mulch"), + .pluralName = _("Surprise Mulch"), .price = 200, #if OW_BERRY_MULCH_USAGE == TRUE .description = COMPOUND_STRING( @@ -3474,7 +3468,7 @@ const struct Item gItemsInfo[] = [ITEM_YELLOW_APRICORN] = { - .name = HANDLE_EXPANDED_ITEM_NAME("YellwApricorn", "Yellow Apricorn"), + .name = _("Yellow Apricorn"), .price = (I_PRICE == GEN_4) ? 0 : ((I_PRICE >= GEN_5 && I_PRICE <= GEN_7) ? 20 : 200), .description = COMPOUND_STRING( "A yellow apricorn.\n" @@ -3489,7 +3483,7 @@ const struct Item gItemsInfo[] = [ITEM_GREEN_APRICORN] = { - .name = HANDLE_EXPANDED_ITEM_NAME("GreenApricorn", "Green Apricorn"), + .name = _("Green Apricorn"), .price = (I_PRICE == GEN_4) ? 0 : ((I_PRICE >= GEN_5 && I_PRICE <= GEN_7) ? 20 : 200), .description = COMPOUND_STRING( "A green apricorn.\n" @@ -3519,7 +3513,7 @@ const struct Item gItemsInfo[] = [ITEM_WHITE_APRICORN] = { - .name = HANDLE_EXPANDED_ITEM_NAME("WhiteApricorn", "White Apricorn"), + .name = _("White Apricorn"), .price = (I_PRICE == GEN_4) ? 0 : ((I_PRICE >= GEN_5 && I_PRICE <= GEN_7) ? 20 : 200), .description = COMPOUND_STRING( "A white apricorn.\n" @@ -3534,7 +3528,7 @@ const struct Item gItemsInfo[] = [ITEM_BLACK_APRICORN] = { - .name = HANDLE_EXPANDED_ITEM_NAME("BlackApricorn", "Black Apricorn"), + .name = _("Black Apricorn"), .price = (I_PRICE == GEN_4) ? 0 : ((I_PRICE >= GEN_5 && I_PRICE <= GEN_7) ? 20 : 200), .description = COMPOUND_STRING( "A black apricorn.\n" @@ -3549,7 +3543,7 @@ const struct Item gItemsInfo[] = [ITEM_WISHING_PIECE] = { - .name = HANDLE_EXPANDED_ITEM_NAME("WishingPiece", "Wishing Piece"), + .name = _("Wishing Piece"), .price = 20, .description = COMPOUND_STRING( "Throw into a\n" @@ -3565,7 +3559,7 @@ const struct Item gItemsInfo[] = [ITEM_GALARICA_TWIG] = { - .name = HANDLE_EXPANDED_ITEM_NAME("GalaricaTwig", "Galarica Twig"), + .name = _("Galarica Twig"), .price = 20 * TREASURE_FACTOR, .description = COMPOUND_STRING( "A twig from a tree\n" @@ -4025,7 +4019,7 @@ const struct Item gItemsInfo[] = [ITEM_GALARICA_CUFF] = { - .name = HANDLE_EXPANDED_ITEM_NAME("GalaricaCuff", "Galarica Cuff"), + .name = _("Galarica Cuff"), .price = (I_PRICE >= GEN_9) ? 3000 : 6000, .description = COMPOUND_STRING( "A cuff from Galar\n" @@ -4042,8 +4036,8 @@ const struct Item gItemsInfo[] = [ITEM_GALARICA_WREATH] = { - .name = HANDLE_EXPANDED_ITEM_NAME("GalrcaWreath", "Galarica Wreath"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("GalrcaWreathes", "Galarica Wreathes"), + .name = _("Galarica Wreath"), + .pluralName = _("Galarica Wreathes"), .price = (I_PRICE >= GEN_9) ? 3000 : 6000, .description = COMPOUND_STRING( "A wreath made in\n" @@ -4251,7 +4245,7 @@ const struct Item gItemsInfo[] = [ITEM_STRAWBERRY_SWEET] = { - .name = HANDLE_EXPANDED_ITEM_NAME("StrwbrySweet", "Strawberry Sweet"), + .name = _("Strawberry Sweet"), .price = 500 * TREASURE_FACTOR, .description = COMPOUND_STRING( "Strawberry-shaped\n" @@ -4879,8 +4873,8 @@ const struct Item gItemsInfo[] = [ITEM_ELECTRIC_MEMORY] = { - .name = HANDLE_EXPANDED_ITEM_NAME("ElectrcMemory", "Electric Memory"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("ElectrcMemories", "Electric Memories"), + .name = _("Electric Memory"), + .pluralName = _("Electric Memories"), .price = 1000, .holdEffect = HOLD_EFFECT_MEMORY, .holdEffectParam = 0, @@ -4939,8 +4933,8 @@ const struct Item gItemsInfo[] = [ITEM_FIGHTING_MEMORY] = { - .name = HANDLE_EXPANDED_ITEM_NAME("FightngMemory", "Fighting Memory"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("FightngMemories", "Fighting Memories"), + .name = _("Fighting Memory"), + .pluralName = _("Fighting Memories"), .price = 1000, .holdEffect = HOLD_EFFECT_MEMORY, .holdEffectParam = 0, @@ -5019,8 +5013,8 @@ const struct Item gItemsInfo[] = [ITEM_PSYCHIC_MEMORY] = { - .name = HANDLE_EXPANDED_ITEM_NAME("PsychicMemory", "Psychic Memory"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("PsychicMemories", "Psychic Memories"), + .name = _("Psychic Memory"), + .pluralName = _("Psychic Memories"), .price = 1000, .holdEffect = HOLD_EFFECT_MEMORY, .holdEffectParam = 0, @@ -5179,7 +5173,7 @@ const struct Item gItemsInfo[] = [ITEM_RUSTED_SWORD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("RustedSword", "Rusted Sword"), + .name = _("Rusted Sword"), .price = 0, .description = COMPOUND_STRING( "A rusty sword. A\n" @@ -5194,7 +5188,7 @@ const struct Item gItemsInfo[] = [ITEM_RUSTED_SHIELD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("RustedShield", "Rusted Shield"), + .name = _("Rusted Shield"), .price = 0, .description = COMPOUND_STRING( "A rusty shield. A\n" @@ -5262,7 +5256,7 @@ const struct Item gItemsInfo[] = [ITEM_CHARIZARDITE_X] = { - .name = HANDLE_EXPANDED_ITEM_NAME("CharizarditeX", "Charizardite X"), + .name = _("Charizardite X"), .pluralName = _("Charizardites X"), .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, @@ -5277,7 +5271,7 @@ const struct Item gItemsInfo[] = [ITEM_CHARIZARDITE_Y] = { - .name = HANDLE_EXPANDED_ITEM_NAME("CharizarditeY", "Charizardite Y"), + .name = _("Charizardite Y"), .pluralName = _("Charizardites Y"), .price = 0, .holdEffect = HOLD_EFFECT_MEGA_STONE, @@ -6942,7 +6936,7 @@ const struct Item gItemsInfo[] = [ITEM_ULTRANECROZIUM_Z] = { - .name = HANDLE_EXPANDED_ITEM_NAME("U-Necrozium Z", "Ultranecrozium Z"), + .name = _("Ultranecrozium Z"), .price = 0, .holdEffect = HOLD_EFFECT_Z_CRYSTAL, .description = COMPOUND_STRING( @@ -7066,7 +7060,7 @@ const struct Item gItemsInfo[] = [ITEM_DEEP_SEA_SCALE] = { - .name = HANDLE_EXPANDED_ITEM_NAME("DeepSeaScale", "Deep Sea Scale"), + .name = _("Deep Sea Scale"), .price = (I_PRICE >= GEN_7) ? 2000 : 200, .holdEffect = HOLD_EFFECT_DEEP_SEA_SCALE, .description = COMPOUND_STRING( @@ -7084,7 +7078,7 @@ const struct Item gItemsInfo[] = [ITEM_DEEP_SEA_TOOTH] = { - .name = HANDLE_EXPANDED_ITEM_NAME("DeepSeaTooth", "Deep Sea Tooth"), + .name = _("Deep Sea Tooth"), .pluralName = _("Deep Sea Teeth"), .price = (I_PRICE >= GEN_7) ? 2000 : 200, .holdEffect = HOLD_EFFECT_DEEP_SEA_TOOTH, @@ -7631,8 +7625,8 @@ const struct Item gItemsInfo[] = [ITEM_NEVER_MELT_ICE] = { - .name = HANDLE_EXPANDED_ITEM_NAME("Never-MeltIce", "Never-Melt Ice"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("Never-MeltIce", "Never-Melt Ice"), + .name = _("Never-Melt Ice"), + .pluralName = _("Never-Melt Ice"), .price = (I_PRICE >= GEN_9) ? 3000 : ((I_PRICE >= GEN_7) ? 1000 : 100), .holdEffect = HOLD_EFFECT_ICE_POWER, .holdEffectParam = TYPE_BOOST_PARAM, @@ -8921,8 +8915,8 @@ const struct Item gItemsInfo[] = [ITEM_WEAKNESS_POLICY] = { - .name = HANDLE_EXPANDED_ITEM_NAME("WeaknssPolicy", "Weakness Policy"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("WeaknssPolicies", "Weakness Policies"), + .name = _("Weakness Policy"), + .pluralName = _("Weakness Policies"), .price = (I_PRICE >= GEN_9) ? 50000 : 1000, .holdEffect = HOLD_EFFECT_WEAKNESS_POLICY, .holdEffectParam = 0, @@ -8958,8 +8952,8 @@ const struct Item gItemsInfo[] = [ITEM_SAFETY_GOGGLES] = { - .name = HANDLE_EXPANDED_ITEM_NAME("SafetyGoggles", "Safety Goggles"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("SafetyGoggles", "Safety Goggles"), + .name = _("Safety Goggles"), + .pluralName = _("Safety Goggles"), .price = (I_PRICE >= GEN_9) ? 20000 : ((I_PRICE >= GEN_7) ? 4000 : 1000), .holdEffect = HOLD_EFFECT_SAFETY_GOGGLES, .description = COMPOUND_STRING( @@ -8976,7 +8970,7 @@ const struct Item gItemsInfo[] = [ITEM_ADRENALINE_ORB] = { - .name = HANDLE_EXPANDED_ITEM_NAME("AdrenalineOrb", "Adrenaline Orb"), + .name = _("Adrenaline Orb"), .price = (I_PRICE >= GEN_9) ? 5000 : ((I_PRICE >= GEN_8) ? 4000 : 300), .holdEffect = HOLD_EFFECT_ADRENALINE_ORB, .description = COMPOUND_STRING( @@ -8993,7 +8987,7 @@ const struct Item gItemsInfo[] = [ITEM_TERRAIN_EXTENDER] = { - .name = HANDLE_EXPANDED_ITEM_NAME("TerainExtendr", "Terrain Extender"), + .name = _("Terrain Extender"), .price = (I_PRICE >= GEN_9) ? 15000 : 4000, .holdEffect = HOLD_EFFECT_TERRAIN_EXTENDER, .description = COMPOUND_STRING( @@ -9010,8 +9004,8 @@ const struct Item gItemsInfo[] = [ITEM_PROTECTIVE_PADS] = { - .name = HANDLE_EXPANDED_ITEM_NAME("ProtectvePads", "Protective Pads"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("ProtectvePads", "Protective Pads"), + .name = _("Protective Pads"), + .pluralName = _("Protective Pads"), .price = (I_PRICE >= GEN_9) ? 15000 : 4000, .holdEffect = HOLD_EFFECT_PROTECTIVE_PADS, .description = COMPOUND_STRING( @@ -9062,8 +9056,8 @@ const struct Item gItemsInfo[] = [ITEM_HEAVY_DUTY_BOOTS] = { - .name = HANDLE_EXPANDED_ITEM_NAME("Heavy-DtyBts", "Heavy-Duty Boots"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("Heavy-DtyBts", "Heavy-Duty Boots"), + .name = _("Heavy-Duty Boots"), + .pluralName = _("Heavy-Duty Boots"), .price = (I_PRICE >= GEN_9) ? 20000 : 4000, .holdEffect = HOLD_EFFECT_HEAVY_DUTY_BOOTS, .description = COMPOUND_STRING( @@ -9080,8 +9074,8 @@ const struct Item gItemsInfo[] = [ITEM_BLUNDER_POLICY] = { - .name = HANDLE_EXPANDED_ITEM_NAME("BlundrPolicy", "Blunder Policy"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("BlundrPolicies", "Blunder Policies"), + .name = _("Blunder Policy"), + .pluralName = _("Blunder Policies"), .price = (I_PRICE >= GEN_9) ? 30000 : 4000, .holdEffect = HOLD_EFFECT_BLUNDER_POLICY, .description = COMPOUND_STRING( @@ -9115,7 +9109,7 @@ const struct Item gItemsInfo[] = [ITEM_UTILITY_UMBRELLA] = { - .name = HANDLE_EXPANDED_ITEM_NAME("UtltyUmbrlla", "Utility Umbrella"), + .name = _("Utility Umbrella"), .price = (I_PRICE >= GEN_9) ? 15000 : 4000, .holdEffect = HOLD_EFFECT_UTILITY_UMBRELLA, .description = COMPOUND_STRING( @@ -11910,7 +11904,7 @@ const struct Item gItemsInfo[] = [ITEM_CATCHING_CHARM] = { - .name = HANDLE_EXPANDED_ITEM_NAME("CatchngCharm", "Catching Charm"), + .name = _("Catching Charm"), .price = 0, .importance = 1, .description = COMPOUND_STRING( @@ -11944,7 +11938,7 @@ const struct Item gItemsInfo[] = [ITEM_ROTOM_CATALOG] = { - .name = HANDLE_EXPANDED_ITEM_NAME("RotomCatalog", "Rotom Catalog"), + .name = _("Rotom Catalog"), .price = 0, .importance = 1, .description = COMPOUND_STRING( @@ -12074,8 +12068,8 @@ const struct Item gItemsInfo[] = [ITEM_REINS_OF_UNITY] = { - .name = HANDLE_EXPANDED_ITEM_NAME("ReinsOfUnity", "Reins of Unity"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("ReinsOfUnity", "Reins of Unity"), + .name = _("Reins of Unity"), + .pluralName = _("Reins of Unity"), .price = 0, .importance = 1, .description = COMPOUND_STRING( @@ -12243,7 +12237,7 @@ const struct Item gItemsInfo[] = [ITEM_DOWSING_MACHINE] = { - .name = HANDLE_EXPANDED_ITEM_NAME("Dowsing MCHN", "Dowsing Machine"), + .name = _("Dowsing Machine"), .price = 0, .description = COMPOUND_STRING( "A device that\n" @@ -12985,7 +12979,7 @@ const struct Item gItemsInfo[] = [ITEM_ABILITY_SHIELD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("AbilityShield", "Ability Shield"), + .name = _("Ability Shield"), .price = 20000, .holdEffect = HOLD_EFFECT_ABILITY_SHIELD, .description = COMPOUND_STRING( @@ -13021,7 +13015,7 @@ const struct Item gItemsInfo[] = [ITEM_PUNCHING_GLOVE] = { - .name = HANDLE_EXPANDED_ITEM_NAME("PunchingGlove", "Punching Glove"), + .name = _("Punching Glove"), .price = 15000, .holdEffect = HOLD_EFFECT_PUNCHING_GLOVE, .description = COMPOUND_STRING( @@ -13073,7 +13067,7 @@ const struct Item gItemsInfo[] = [ITEM_AUSPICIOUS_ARMOR] = { - .name = HANDLE_EXPANDED_ITEM_NAME("AuspciousArmr", "Auspicious Armor"), + .name = _("Auspicious Armor"), .price = 3000, .description = COMPOUND_STRING( "Armor inhabited by\n" @@ -13090,8 +13084,8 @@ const struct Item gItemsInfo[] = [ITEM_BOOSTER_ENERGY] = { - .name = HANDLE_EXPANDED_ITEM_NAME("BoosterEnergy", "Booster Energy"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("BoosterEnergies", "Booster Energies"), + .name = _("Booster Energy"), + .pluralName = _("Booster Energies"), .price = 0, .holdEffect = HOLD_EFFECT_BOOSTER_ENERGY, .description = COMPOUND_STRING( @@ -13108,7 +13102,7 @@ const struct Item gItemsInfo[] = [ITEM_BIG_BAMBOO_SHOOT] = { - .name = HANDLE_EXPANDED_ITEM_NAME("BigBmbooShoot", "Big Bamboo Shoot"), + .name = _("Big Bamboo Shoot"), .price = 3000, .description = COMPOUND_STRING( "A large and rare\n" @@ -13124,7 +13118,7 @@ const struct Item gItemsInfo[] = [ITEM_GIMMIGHOUL_COIN] = { - .name = HANDLE_EXPANDED_ITEM_NAME("GimighoulCoin", "Gimmighoul Coin"), + .name = _("Gimmighoul Coin"), .price = 400, .description = COMPOUND_STRING( "Gimmighoul hoard\n" @@ -13139,7 +13133,7 @@ const struct Item gItemsInfo[] = [ITEM_LEADERS_CREST] = { - .name = HANDLE_EXPANDED_ITEM_NAME("Leader'sCrest", "Leader's Crest"), + .name = _("Leader's Crest"), .price = 3000, .description = COMPOUND_STRING( "A shard of an old\n" @@ -13154,7 +13148,7 @@ const struct Item gItemsInfo[] = [ITEM_MALICIOUS_ARMOR] = { - .name = HANDLE_EXPANDED_ITEM_NAME("MaliciousArmr", "Malicious Armor"), + .name = _("Malicious Armor"), .price = 3000, .description = COMPOUND_STRING( "Armor inhabited by\n" @@ -13188,8 +13182,8 @@ const struct Item gItemsInfo[] = [ITEM_SCROLL_OF_DARKNESS] = { - .name = HANDLE_EXPANDED_ITEM_NAME("ScrllOfDrknss", "Scroll of Darkness"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("ScrllsOfDrknss", "Scrolls of Darkness"), + .name = _("Scroll of Darkness"), + .pluralName = _("Scrolls of Darkness"), .price = 0, .description = COMPOUND_STRING( "A peculiar scroll\n" @@ -13206,8 +13200,8 @@ const struct Item gItemsInfo[] = [ITEM_SCROLL_OF_WATERS] = { - .name = HANDLE_EXPANDED_ITEM_NAME("ScrollOfWatrs", "Scroll of Waters"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("ScrollsOfWatrs", "Scrolls of Waters"), + .name = _("Scroll of Waters"), + .pluralName = _("Scrolls of Waters"), .price = 0, .description = COMPOUND_STRING( "A peculiar scroll\n" @@ -13240,7 +13234,7 @@ const struct Item gItemsInfo[] = [ITEM_TINY_BAMBOO_SHOOT] = { - .name = HANDLE_EXPANDED_ITEM_NAME("TinyBmbooShot", "Tiny Bamboo Shoot"), + .name = _("Tiny Bamboo Shoot"), .price = 750, .description = COMPOUND_STRING( "A small and rare\n" @@ -13256,7 +13250,7 @@ const struct Item gItemsInfo[] = [ITEM_BUG_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("Bug TeraShard", "Bug Tera Shard"), + .name = _("Bug Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13268,7 +13262,7 @@ const struct Item gItemsInfo[] = [ITEM_DARK_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("DarkTeraShard", "Dark Tera Shard"), + .name = _("Dark Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13280,7 +13274,7 @@ const struct Item gItemsInfo[] = [ITEM_DRAGON_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("DragnTeraShrd", "Dragon Tera Shard"), + .name = _("Dragon Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13292,7 +13286,7 @@ const struct Item gItemsInfo[] = [ITEM_ELECTRIC_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("EltrcTeraShrd", "Electric Tera Shard"), + .name = _("Electric Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13304,7 +13298,7 @@ const struct Item gItemsInfo[] = [ITEM_FAIRY_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("FairyTeraShrd", "Fairy Tera Shard"), + .name = _("Fairy Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13316,7 +13310,7 @@ const struct Item gItemsInfo[] = [ITEM_FIGHTING_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("FghtngTerShrd", "Fighting Tera Shard"), + .name = _("Fighting Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13328,7 +13322,7 @@ const struct Item gItemsInfo[] = [ITEM_FIRE_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("FireTeraShard", "Fire Tera Shard"), + .name = _("Fire Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13340,7 +13334,7 @@ const struct Item gItemsInfo[] = [ITEM_FLYING_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("FlyngTeraShrd", "Flying Tera Shard"), + .name = _("Flying Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13352,7 +13346,7 @@ const struct Item gItemsInfo[] = [ITEM_GHOST_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("GhostTeraShrd", "Ghost Tera Shard"), + .name = _("Ghost Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13364,7 +13358,7 @@ const struct Item gItemsInfo[] = [ITEM_GRASS_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("GrassTeraShrd", "Grass Tera Shard"), + .name = _("Grass Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13376,7 +13370,7 @@ const struct Item gItemsInfo[] = [ITEM_GROUND_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("GrondTeraShrd", "Ground Tera Shard"), + .name = _("Ground Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13388,7 +13382,7 @@ const struct Item gItemsInfo[] = [ITEM_ICE_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("Ice TeraShard", "Ice Tera Shard"), + .name = _("Ice Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13400,7 +13394,7 @@ const struct Item gItemsInfo[] = [ITEM_NORMAL_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("NormlTeraShrd", "Normal Tera Shard"), + .name = _("Normal Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13412,7 +13406,7 @@ const struct Item gItemsInfo[] = [ITEM_POISON_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("PoisnTeraShrd", "Poison Tera Shard"), + .name = _("Poison Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13424,7 +13418,7 @@ const struct Item gItemsInfo[] = [ITEM_PSYCHIC_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("PschcTeraShrd", "Psychic Tera Shard"), + .name = _("Psychic Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13436,7 +13430,7 @@ const struct Item gItemsInfo[] = [ITEM_ROCK_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("RockTeraShard", "Rock Tera Shard"), + .name = _("Rock Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13448,7 +13442,7 @@ const struct Item gItemsInfo[] = [ITEM_STEEL_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("SteelTeraShrd", "Steel Tera Shard"), + .name = _("Steel Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13460,7 +13454,7 @@ const struct Item gItemsInfo[] = [ITEM_WATER_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("WaterTeraShrd", "Water Tera Shard"), + .name = _("Water Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13472,7 +13466,7 @@ const struct Item gItemsInfo[] = [ITEM_ADAMANT_CRYSTAL] = { - .name = HANDLE_EXPANDED_ITEM_NAME("AdamantCrystl", "Adamant Crystal"), + .name = _("Adamant Crystal"), .price = 0, .description = COMPOUND_STRING( "A large, glowing gem\n" @@ -13504,7 +13498,7 @@ const struct Item gItemsInfo[] = [ITEM_LUSTROUS_GLOBE] = { - .name = HANDLE_EXPANDED_ITEM_NAME("LustrousGlobe", "Lustrous Globe"), + .name = _("Lustrous Globe"), .price = 0, .description = COMPOUND_STRING( "A large, glowing gem\n" @@ -13520,7 +13514,7 @@ const struct Item gItemsInfo[] = [ITEM_BLACK_AUGURITE] = { - .name = HANDLE_EXPANDED_ITEM_NAME("BlackAugurite", "Black Augurite"), + .name = _("Black Augurite"), .price = 8000, .description = COMPOUND_STRING( "A black stone that\n" @@ -13623,7 +13617,7 @@ const struct Item gItemsInfo[] = [ITEM_UNREMARKABLE_TEACUP] = { - .name = HANDLE_EXPANDED_ITEM_NAME("UnrmkblTeacup", "Unremarkable Teacup"), + .name = _("Unremarkable Teacup"), .price = 1600, .description = COMPOUND_STRING( "A cracked teacup\n" @@ -13640,7 +13634,7 @@ const struct Item gItemsInfo[] = [ITEM_MASTERPIECE_TEACUP] = { - .name = HANDLE_EXPANDED_ITEM_NAME("MstrpceTeacup", "Masterpiece Teacup"), + .name = _("Masterpiece Teacup"), .price = 38000, .description = COMPOUND_STRING( "A chipped teacup\n" @@ -13657,7 +13651,7 @@ const struct Item gItemsInfo[] = [ITEM_CORNERSTONE_MASK] = { - .name = HANDLE_EXPANDED_ITEM_NAME("CornrstneMask", "Cornerstone Mask"), + .name = _("Cornerstone Mask"), .price = 0, .description = COMPOUND_STRING( "Allows Ogerpon to\n" @@ -13672,7 +13666,7 @@ const struct Item gItemsInfo[] = [ITEM_WELLSPRING_MASK] = { - .name = HANDLE_EXPANDED_ITEM_NAME("WellsprngMask", "Wellspring Mask"), + .name = _("Wellspring Mask"), .price = 0, .description = COMPOUND_STRING( "Allows Ogerpon to\n" @@ -13687,7 +13681,7 @@ const struct Item gItemsInfo[] = [ITEM_HEARTHFLAME_MASK] = { - .name = HANDLE_EXPANDED_ITEM_NAME("HrthflameMask", "Hearthflame Mask"), + .name = _("Hearthflame Mask"), .price = 0, .description = COMPOUND_STRING( "Allows Ogerpon to\n" @@ -13792,8 +13786,8 @@ const struct Item gItemsInfo[] = [ITEM_FRESH_START_MOCHI] = { - .name = HANDLE_EXPANDED_ITEM_NAME("FrshStrtMochi", "Fresh Start Mochi"), - .pluralName = HANDLE_EXPANDED_ITEM_NAME("FrshStrtMochi", "Fresh Start Mochi"), + .name = _("Fresh Start Mochi"), + .pluralName = _("Fresh Start Mochi"), .price = 300, .description = COMPOUND_STRING( "An item that resets\n" @@ -13810,7 +13804,7 @@ const struct Item gItemsInfo[] = [ITEM_GLIMMERING_CHARM] = { - .name = HANDLE_EXPANDED_ITEM_NAME("GlmmringCharm", "Glimmering Charm"), + .name = _("Glimmering Charm"), .price = 0, .importance = 1, .description = COMPOUND_STRING( @@ -13842,7 +13836,7 @@ const struct Item gItemsInfo[] = [ITEM_STELLAR_TERA_SHARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("StllrTeraShrd", "Stellar Tera Shard"), + .name = _("Stellar Tera Shard"), .price = 0, .description = sTeraShardDesc, .pocket = POCKET_ITEMS, @@ -13854,7 +13848,7 @@ const struct Item gItemsInfo[] = [ITEM_JUBILIFE_MUFFIN] = { - .name = HANDLE_EXPANDED_ITEM_NAME("JublifeMuffin", "Jubilife Muffin"), + .name = _("Jubilife Muffin"), .price = 250, .description = sFullHealDesc, .pocket = POCKET_ITEMS, @@ -13996,7 +13990,7 @@ const struct Item gItemsInfo[] = [ITEM_AUX_POWERGUARD] = { - .name = HANDLE_EXPANDED_ITEM_NAME("AuxPowerguard", "Aux Powerguard"), + .name = _("Aux Powerguard"), .price = 1200, .holdEffectParam = X_ITEM_STAGES, .description = COMPOUND_STRING( @@ -14019,7 +14013,7 @@ const struct Item gItemsInfo[] = [ITEM_CHOICE_DUMPLING] = { - .name = HANDLE_EXPANDED_ITEM_NAME("ChoiceDumplng", "Choice Dumpling"), + .name = _("Choice Dumpling"), .price = 1200, .description = sQuestionMarksDesc, .pocket = POCKET_ITEMS, @@ -14045,7 +14039,7 @@ const struct Item gItemsInfo[] = [ITEM_TWICE_SPICED_RADISH] = { - .name = HANDLE_EXPANDED_ITEM_NAME("2xSpicedRadsh", "Twice-Spiced Radish"), + .name = _("Twice-Spiced Radish"), .price = 1600, .description = sQuestionMarksDesc, .pocket = POCKET_ITEMS, diff --git a/src/data/moves_info.h b/src/data/moves_info.h index cef7b6971a..99217808ac 100644 --- a/src/data/moves_info.h +++ b/src/data/moves_info.h @@ -11,12 +11,6 @@ // The Gen. 4+ contest data comes from urpg's contest movedex. -#if B_EXPANDED_MOVE_NAMES == TRUE -#define HANDLE_EXPANDED_MOVE_NAME(_name, ...) COMPOUND_STRING(DEFAULT(_name, __VA_ARGS__)) -#else -#define HANDLE_EXPANDED_MOVE_NAME(_name, ...) COMPOUND_STRING(_name) -#endif - #if B_BINDING_TURNS >= GEN_5 #define BINDING_TURNS "4 or 5" #else @@ -335,7 +329,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_THUNDER_PUNCH] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ThunderPunch", "Thunder Punch"), + .name = COMPOUND_STRING("Thunder Punch"), .description = COMPOUND_STRING( "An electrified punch that\n" "may paralyze the foe."), @@ -2008,7 +2002,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_POISON_POWDER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PoisonPowder", "Poison Powder"), + .name = COMPOUND_STRING("Poison Powder"), .description = COMPOUND_STRING( "Scatters a toxic powder\n" "that may poison the foe."), @@ -2185,7 +2179,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_THUNDER_SHOCK] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ThunderShock", "Thunder Shock"), + .name = COMPOUND_STRING("Thunder Shock"), .description = COMPOUND_STRING( "An electrical attack that\n" "may paralyze the foe."), @@ -3082,7 +3076,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_SELF_DESTRUCT] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SelfDestruct", "Self-Destruct"), + .name = COMPOUND_STRING("Self-Destruct"), .description = COMPOUND_STRING( "Inflicts severe damage but\n" "makes the user faint."), @@ -3478,7 +3472,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_HIGH_JUMP_KICK] = { - .name = HANDLE_EXPANDED_MOVE_NAME("HighJumpKick", "High Jump Kick"), + .name = COMPOUND_STRING("High Jump Kick"), .description = COMPOUND_STRING( "A jumping knee kick. If it\n" "misses, the user is hurt."), @@ -5657,7 +5651,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_DYNAMIC_PUNCH] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DynamicPunch", "Dynamic Punch"), + .name = COMPOUND_STRING("Dynamic Punch"), .description = COMPOUND_STRING( "Powerful and sure to cause\n" "confusion, but inaccurate."), @@ -5706,7 +5700,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_DRAGON_BREATH] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DragonBreath", "Dragon Breath"), + .name = COMPOUND_STRING("Dragon Breath"), .description = COMPOUND_STRING( "Strikes the foe with an\n" "incredible blast of breath."), @@ -6219,7 +6213,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_EXTREME_SPEED] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ExtremeSpeed", "Extreme Speed"), + .name = COMPOUND_STRING("Extreme Speed"), .description = COMPOUND_STRING( "An extremely fast and\n" "powerful attack."), @@ -6241,7 +6235,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_ANCIENT_POWER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("AncientPower", "Ancient Power"), + .name = COMPOUND_STRING("Ancient Power"), .description = COMPOUND_STRING( "An attack that may raise\n" "all stats."), @@ -6720,7 +6714,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_SMELLING_SALTS] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SmellngSalts", "Smelling Salts"), + .name = COMPOUND_STRING("Smelling Salts"), .description = COMPOUND_STRING( "Powerful against paralyzed\n" "foes, but also heals them."), @@ -7521,7 +7515,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_FEATHER_DANCE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("FeatherDance", "Feather Dance"), + .name = COMPOUND_STRING("Feather Dance"), .description = COMPOUND_STRING( "Envelops the foe with down\n" "to sharply reduce Attack."), @@ -8102,7 +8096,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_GRASS_WHISTLE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("GrassWhistle", "Grass Whistle"), + .name = COMPOUND_STRING("Grass Whistle"), .description = COMPOUND_STRING( "Lulls the foe into sleep\n" "with a pleasant melody."), @@ -14089,7 +14083,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_PHANTOM_FORCE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PhantomForce", "Phantom Force"), + .name = COMPOUND_STRING("Phantom Force"), .description = sShadowForceDescription, .effect = EFFECT_SEMI_INVULNERABLE, .power = 90, @@ -14118,7 +14112,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_TRICK_OR_TREAT] = { - .name = HANDLE_EXPANDED_MOVE_NAME("TrickOrTreat", "Trick-or-Treat"), + .name = COMPOUND_STRING("Trick-or-Treat"), .description = COMPOUND_STRING( "Goes trick-or-treating\n" "making the foe Ghost-type."), @@ -14191,7 +14185,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_PARABOLIC_CHARGE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ParabolcChrg", "Parabolic Charge"), + .name = COMPOUND_STRING("Parabolic Charge"), .description = COMPOUND_STRING( "Damages adjacent Pokémon and\n" "heals up by half of it."), @@ -14213,7 +14207,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_FORESTS_CURSE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("Forest'sCurs", "Forest's Curse"), + .name = COMPOUND_STRING("Forest's Curse"), .description = COMPOUND_STRING( "Puts a curse on the foe\n" "making the foe Grass-type."), @@ -14237,7 +14231,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_PETAL_BLIZZARD] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PetalBlizzrd", "Petal Blizzard"), + .name = COMPOUND_STRING("Petal Blizzard"), .description = COMPOUND_STRING( "Stirs up a violent storm\n" "of petals to attack."), @@ -14289,7 +14283,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_DISARMING_VOICE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DisrmngVoice", "Disarming Voice"), + .name = COMPOUND_STRING("Disarming Voice"), .description = COMPOUND_STRING( "Lets out a charming cry\n" "that cannot be evaded."), @@ -14360,7 +14354,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_DRAINING_KISS] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DrainingKiss", "Draining Kiss"), + .name = COMPOUND_STRING("Draining Kiss"), .description = sDrainingKissDescription, .effect = EFFECT_ABSORB, .power = 50, @@ -14382,7 +14376,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_CRAFTY_SHIELD] = { - .name = HANDLE_EXPANDED_MOVE_NAME("CraftyShield", "Crafty Shield"), + .name = COMPOUND_STRING("Crafty Shield"), .description = COMPOUND_STRING( "Evades status moves for\n" "one turn."), @@ -14408,7 +14402,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_FLOWER_SHIELD] = { - .name = HANDLE_EXPANDED_MOVE_NAME("FlowerShield", "Flower Shield"), + .name = COMPOUND_STRING("Flower Shield"), .description = COMPOUND_STRING( "Raises the Defense of\n" "Grass-type Pokémon."), @@ -14432,7 +14426,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_GRASSY_TERRAIN] = { - .name = HANDLE_EXPANDED_MOVE_NAME("GrssyTerrain", "Grassy Terrain"), + .name = COMPOUND_STRING("Grassy Terrain"), .description = COMPOUND_STRING( "The ground turns to grass\n" "for 5 turns. Restores HP."), @@ -14457,7 +14451,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_MISTY_TERRAIN] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MistyTerrain", "Misty Terrain"), + .name = COMPOUND_STRING("Misty Terrain"), .description = COMPOUND_STRING( "Covers the ground with mist\n" "for 5 turns. Blocks status."), @@ -14624,7 +14618,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_KINGS_SHIELD] = { - .name = HANDLE_EXPANDED_MOVE_NAME("King'sShield", "King's Shield"), + .name = COMPOUND_STRING("King's Shield"), .description = COMPOUND_STRING( "Evades damage, and sharply\n" "reduces Attack if struck."), @@ -14703,7 +14697,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_DIAMOND_STORM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DiamondStorm", "Diamond Storm"), + .name = COMPOUND_STRING("Diamond Storm"), .description = COMPOUND_STRING( "Whips up a storm of\n" "diamonds. May up Defense."), @@ -14730,7 +14724,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_STEAM_ERUPTION] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SteamErption", "Steam Eruption"), + .name = COMPOUND_STRING("Steam Eruption"), .description = COMPOUND_STRING( "Immerses the foe in heated\n" "steam. May inflict a burn."), @@ -14757,7 +14751,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_HYPERSPACE_HOLE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("HyprspceHole", "Hyperspace Hole"), + .name = COMPOUND_STRING("Hyperspace Hole"), .description = sHyperspaceHoleDescription, .effect = EFFECT_HIT, .power = 80, @@ -14782,7 +14776,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_WATER_SHURIKEN] = { - .name = HANDLE_EXPANDED_MOVE_NAME("WatrShuriken", "Water Shuriken"), + .name = COMPOUND_STRING("Water Shuriken"), .description = COMPOUND_STRING( "Throws 2 to 5 stars that\n" "are sure to strike first."), @@ -14803,7 +14797,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_MYSTICAL_FIRE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MysticalFire", "Mystical Fire"), + .name = COMPOUND_STRING("Mystical Fire"), .description = COMPOUND_STRING( "Breathes a special, hot\n" "fire. Lowers Sp. Atk."), @@ -14855,7 +14849,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_AROMATIC_MIST] = { - .name = HANDLE_EXPANDED_MOVE_NAME("AromaticMist", "Aromatic Mist"), + .name = COMPOUND_STRING("Aromatic Mist"), .description = COMPOUND_STRING( "Raises the Sp. Def of a\n" "partner Pokémon."), @@ -14880,7 +14874,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_EERIE_IMPULSE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("EerieImpulse", "Eerie Impulse"), + .name = COMPOUND_STRING("Eerie Impulse"), .description = COMPOUND_STRING( "Exposes the foe to a pulse\n" "that sharply cuts Sp. Atk."), @@ -14976,7 +14970,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_MAGNETIC_FLUX] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MagneticFlux", "Magnetic Flux"), + .name = COMPOUND_STRING("Magnetic Flux"), .description = COMPOUND_STRING( "Boosts the defenses of\n" "those with Plus or Minus."), @@ -15026,7 +15020,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_ELECTRIC_TERRAIN] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ElctrcTrrain", "Electric Terrain"), + .name = COMPOUND_STRING("Electric Terrain"), .description = COMPOUND_STRING( "Electrifies the ground for\n" "5 turns. Prevents sleep."), @@ -15051,7 +15045,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_DAZZLING_GLEAM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DazzlngGleam", "Dazzling Gleam"), + .name = COMPOUND_STRING("Dazzling Gleam"), .description = COMPOUND_STRING( "Damages foes by emitting\n" "a bright flash."), @@ -15132,7 +15126,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_BABY_DOLL_EYES] = { - .name = HANDLE_EXPANDED_MOVE_NAME("BabyDollEyes", "Baby-Doll Eyes"), + .name = COMPOUND_STRING("Baby-Doll Eyes"), .description = COMPOUND_STRING( "Lowers the foe's Attack\n" "before it can move."), @@ -15226,7 +15220,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_POWER_UP_PUNCH] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PowerUpPunch", "Power-Up Punch"), + .name = COMPOUND_STRING("Power-Up Punch"), .description = COMPOUND_STRING( "A hard punch that raises\n" "the user's Attack."), @@ -15254,7 +15248,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_OBLIVION_WING] = { - .name = HANDLE_EXPANDED_MOVE_NAME("OblivionWing", "Oblivion Wing"), + .name = COMPOUND_STRING("Oblivion Wing"), .description = sDrainingKissDescription, .effect = EFFECT_ABSORB, .power = 80, @@ -15275,7 +15269,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_THOUSAND_ARROWS] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ThousndArrws", "Thousand Arrows"), + .name = COMPOUND_STRING("Thousand Arrows"), .description = COMPOUND_STRING( "Can hit Flying foes, then\n" "knocks them to the ground."), @@ -15303,7 +15297,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_THOUSAND_WAVES] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ThousndWaves", "Thousand Waves"), + .name = COMPOUND_STRING("Thousand Waves"), .description = COMPOUND_STRING( "Those hit by the wave can\n" "no longer escape."), @@ -15351,7 +15345,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_LIGHT_OF_RUIN] = { - .name = HANDLE_EXPANDED_MOVE_NAME("LightOfRuin", "Light Of Ruin"), + .name = COMPOUND_STRING("Light Of Ruin"), .description = COMPOUND_STRING( "Fires a great beam of light\n" "that also hurts the user."), @@ -15393,7 +15387,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_PRECIPICE_BLADES] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PrcipceBldes", "Precipice Blades"), + .name = COMPOUND_STRING("Precipice Blades"), .description = COMPOUND_STRING( "Fearsome blades of stone\n" "attack both foes."), @@ -15415,7 +15409,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_DRAGON_ASCENT] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DragonAscent", "Dragon Ascent"), + .name = COMPOUND_STRING("Dragon Ascent"), .description = sCloseCombatDescription, .effect = EFFECT_HIT, .power = 120, @@ -15440,7 +15434,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_HYPERSPACE_FURY] = { - .name = HANDLE_EXPANDED_MOVE_NAME("HyprspceFury", "Hyperspace Fury"), + .name = COMPOUND_STRING("Hyperspace Fury"), .description = sHyperspaceHoleDescription, .effect = EFFECT_HYPERSPACE_FURY, .power = 100, @@ -15494,7 +15488,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_FIRST_IMPRESSION] = { - .name = HANDLE_EXPANDED_MOVE_NAME("FrstImpressn", "First Impression"), + .name = COMPOUND_STRING("First Impression"), .description = COMPOUND_STRING( "Hits hard and first.\n" "Only works first turn."), @@ -15517,7 +15511,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_BANEFUL_BUNKER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("BanefulBunkr", "Baneful Bunker"), + .name = COMPOUND_STRING("Baneful Bunker"), .description = COMPOUND_STRING( "Protects user and poisons\n" "foes on contact."), @@ -15544,7 +15538,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_SPIRIT_SHACKLE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SpiritShackl", "Spirit Shackle"), + .name = COMPOUND_STRING("Spirit Shackle"), .description = COMPOUND_STRING( "After being hit, foes can\n" "no longer escape."), @@ -15569,7 +15563,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_DARKEST_LARIAT] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DarkstLariat", "Darkest Lariat"), + .name = COMPOUND_STRING("Darkest Lariat"), .description = COMPOUND_STRING( "Swings the arms to strike\n" "It ignores stat changes."), @@ -15592,7 +15586,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_SPARKLING_ARIA] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SparklngAria", "Sparkling Aria"), + .name = COMPOUND_STRING("Sparkling Aria"), .description = COMPOUND_STRING( "Sings with bubbles. Cures\n" "burns on contact."), @@ -15647,7 +15641,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_FLORAL_HEALING] = { - .name = HANDLE_EXPANDED_MOVE_NAME("FloralHealng", "Floral Healing"), + .name = COMPOUND_STRING("Floral Healing"), .description = COMPOUND_STRING( "Restores an ally's HP.\n" "Heals more on grass."), @@ -15673,7 +15667,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_HIGH_HORSEPOWER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("HighHorsepwr", "High Horsepower"), + .name = COMPOUND_STRING("High Horsepower"), .description = COMPOUND_STRING( "Slams hard into the foe with\n" "its entire body."), @@ -15941,7 +15935,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_PSYCHIC_TERRAIN] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PsychcTrrain", "Psychic Terrain"), + .name = COMPOUND_STRING("Psychic Terrain"), .description = COMPOUND_STRING( "The ground turns weird for\n" "5 turns. Blocks priority."), @@ -16136,7 +16130,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_REVELATION_DANCE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("RvlationDnce", "Revelation Dance"), + .name = COMPOUND_STRING("Revelation Dance"), .description = COMPOUND_STRING( "Dances with mystical power.\n" "Matches user's first type."), @@ -16158,7 +16152,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_CORE_ENFORCER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("CoreEnforcer", "Core Enforcer"), + .name = COMPOUND_STRING("Core Enforcer"), .description = COMPOUND_STRING( "Hits with a ray that\n" "nullifies the foe's ability."), @@ -16264,7 +16258,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_CLANGING_SCALES] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ClngngScales", "Clanging Scales"), + .name = COMPOUND_STRING("Clanging Scales"), .description = COMPOUND_STRING( "Makes a big noise with\n" "its scales. Drops Defense."), @@ -16291,7 +16285,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_DRAGON_HAMMER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DragonHammer", "Dragon Hammer"), + .name = COMPOUND_STRING("Dragon Hammer"), .description = COMPOUND_STRING( "Swings its whole body\n" "like a hammer to damage."), @@ -16414,7 +16408,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_PSYCHIC_FANGS] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PsychicFangs", "Psychic Fangs"), + .name = COMPOUND_STRING("Psychic Fangs"), .description = COMPOUND_STRING( "Chomps with psychic fangs.\n" "Destroys any barriers."), @@ -16437,7 +16431,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_STOMPING_TANTRUM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("StmpngTantrm", "Stomping Tantrum"), + .name = COMPOUND_STRING("Stomping Tantrum"), .description = COMPOUND_STRING( "Stomps around angrily.\n" "Stronger after a failure."), @@ -16533,7 +16527,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_PRISMATIC_LASER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PrsmaticLasr", "Prismatic Laser"), + .name = COMPOUND_STRING("Prismatic Laser"), .description = COMPOUND_STRING( "A high power laser that\n" "forces recharge next turn."), @@ -16558,7 +16552,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_SPECTRAL_THIEF] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SpectrlThief", "Spectral Thief"), + .name = COMPOUND_STRING("Spectral Thief"), .description = COMPOUND_STRING( "Steals the target's stat\n" "boosts, then attacks."), @@ -16585,7 +16579,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_SUNSTEEL_STRIKE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SnsteelStrke", "Sunsteel Strike"), + .name = COMPOUND_STRING("Sunsteel Strike"), .description = COMPOUND_STRING( "A sun-fueled strike that\n" "ignores abilities."), @@ -16609,7 +16603,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_MOONGEIST_BEAM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MoongestBeam", "Moongeist Beam"), + .name = COMPOUND_STRING("Moongeist Beam"), .description = COMPOUND_STRING( "A moon-powered beam that\n" "ignores abilities."), @@ -16682,7 +16676,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_NATURES_MADNESS] = { - .name = HANDLE_EXPANDED_MOVE_NAME("Natur'sMadns", "Nature's Madness"), + .name = COMPOUND_STRING("Nature's Madness"), .description = COMPOUND_STRING( "Halves the foe's HP with\n" "the power of nature."), @@ -16773,7 +16767,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_PHOTON_GEYSER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PhotonGeyser", "Photon Geyser"), + .name = COMPOUND_STRING("Photon Geyser"), .description = COMPOUND_STRING( "User's highest attack stat\n" "determines its category."), @@ -16823,7 +16817,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_SPLISHY_SPLASH] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SplishySplsh", "Splishy Splash"), + .name = COMPOUND_STRING("Splishy Splash"), .description = COMPOUND_STRING( "A huge electrified wave that\n" "may paralyze the foe."), @@ -16890,7 +16884,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_BOUNCY_BUBBLE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("BouncyBubble", "Bouncy Bubble"), + .name = COMPOUND_STRING("Bouncy Bubble"), .description = COMPOUND_STRING( "An attack that absorbs\n" #if B_UPDATED_MOVE_DATA >= GEN_8 @@ -17040,7 +17034,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_SPARKLY_SWIRL] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SparklySwirl", "Sparkly Swirl"), + .name = COMPOUND_STRING("Sparkly Swirl"), .description = COMPOUND_STRING( "Wrap foe with whirlwind of\n" "scent. Heals party's status."), @@ -17059,7 +17053,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_VEEVEE_VOLLEY] = { - .name = HANDLE_EXPANDED_MOVE_NAME("VeeveeVolley", "Veevee Volley"), + .name = COMPOUND_STRING("Veevee Volley"), .description = COMPOUND_STRING( "Eevee's love increases its\n" "power. It never misses."), @@ -17079,7 +17073,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_DOUBLE_IRON_BASH] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DublIronBash", "Double Iron Bash"), + .name = COMPOUND_STRING("Double Iron Bash"), .description = COMPOUND_STRING( "The user spins and hits with\n" "its arms. May cause flinch."), @@ -17109,7 +17103,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_DYNAMAX_CANNON] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DynamxCannon", "Dynamax Cannon"), + .name = COMPOUND_STRING("Dynamax Cannon"), .description = COMPOUND_STRING( "Fires a strong beam. Deals\n" "2x damage to Dynamaxed foes."), @@ -17371,7 +17365,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_FISHIOUS_REND] = { - .name = HANDLE_EXPANDED_MOVE_NAME("FishiousRend", "Fishious Rend"), + .name = COMPOUND_STRING("Fishious Rend"), .description = COMPOUND_STRING( "Double power if the user\n" "moves before the target."), @@ -17416,7 +17410,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_CLANGOROUS_SOUL] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ClngrousSoul", "Clangorous Soul"), + .name = COMPOUND_STRING("Clangorous Soul"), .description = COMPOUND_STRING( "The user uses some of its\n" "HP to raise all its stats."), @@ -17572,7 +17566,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_BEHEMOTH_BLADE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("BehemthBlade", "Behemoth Blade"), + .name = COMPOUND_STRING("Behemoth Blade"), .description = COMPOUND_STRING( "Strikes as a sword. Deals 2x\n" "damage to Dynamaxed foes."), @@ -17599,7 +17593,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_BEHEMOTH_BASH] = { - .name = HANDLE_EXPANDED_MOVE_NAME("BehemothBash", "Behemoth Bash"), + .name = COMPOUND_STRING("Behemoth Bash"), .description = COMPOUND_STRING( "Attacks as a shield. Deals 2x\n" "damage to Dynamaxed foes."), @@ -17652,7 +17646,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_BREAKING_SWIPE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("BreakngSwipe", "Breaking Swipe"), + .name = COMPOUND_STRING("Breaking Swipe"), .description = COMPOUND_STRING( "Swings its tail to attack.\n" "Lowers the Atk of those hit."), @@ -17805,7 +17799,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_STRANGE_STEAM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("StrangeSteam", "Strange Steam"), + .name = COMPOUND_STRING("Strange Steam"), .description = COMPOUND_STRING( "Emits a strange steam to\n" "potentially confuse the foe."), @@ -17883,7 +17877,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_FALSE_SURRENDER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("FalsSurrendr", "False Surrender"), + .name = COMPOUND_STRING("False Surrender"), .description = COMPOUND_STRING( "Bows to stab the foe\n" "with hair. It never misses."), @@ -17906,7 +17900,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_METEOR_ASSAULT] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MeteorAssalt", "Meteor Assault"), + .name = COMPOUND_STRING("Meteor Assault"), .description = COMPOUND_STRING( "Attacks with a thick leek.\n" "The user must then rest."), @@ -17981,7 +17975,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_EXPANDING_FORCE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ExpandngForc", "Expanding Force"), + .name = COMPOUND_STRING("Expanding Force"), .description = COMPOUND_STRING( "Power goes up and damages\n" "all foes on Psychic Terrain."), @@ -18076,7 +18070,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_SHELL_SIDE_ARM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ShellSideArm", "Shell Side Arm"), + .name = COMPOUND_STRING("Shell Side Arm"), .description = COMPOUND_STRING( "Deals better of physical and\n" "special damage. May poison."), @@ -18101,7 +18095,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_MISTY_EXPLOSION] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MstyExplsion", "Misty Explosion"), + .name = COMPOUND_STRING("Misty Explosion"), .description = COMPOUND_STRING( "Hit everything and faint.\n" "Powers up on Misty Terrain."), @@ -18145,7 +18139,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_RISING_VOLTAGE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("RisngVoltage", "Rising Voltage"), + .name = COMPOUND_STRING("Rising Voltage"), .description = COMPOUND_STRING( "This move's power doubles\n" "when on Electric Terrain."), @@ -18166,7 +18160,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_TERRAIN_PULSE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("TerrainPulse", "Terrain Pulse"), + .name = COMPOUND_STRING("Terrain Pulse"), .description = COMPOUND_STRING( "Type and power changes\n" "depending on the terrain."), @@ -18188,7 +18182,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_SKITTER_SMACK] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SkitterSmack", "Skitter Smack"), + .name = COMPOUND_STRING("Skitter Smack"), .description = COMPOUND_STRING( "User skitters behind foe to\n" "attack. Lowers foe's Sp. Atk."), @@ -18214,7 +18208,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_BURNING_JEALOUSY] = { - .name = HANDLE_EXPANDED_MOVE_NAME("BrningJelosy", "Burning Jealousy"), + .name = COMPOUND_STRING("Burning Jealousy"), .description = COMPOUND_STRING( "Foes that have stats upped\n" "during the turn get burned."), @@ -18283,7 +18277,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_CORROSIVE_GAS] = { - .name = HANDLE_EXPANDED_MOVE_NAME("CorrosiveGas", "Corrosive Gas"), + .name = COMPOUND_STRING("Corrosive Gas"), .description = COMPOUND_STRING( "Highly acidic gas melts items\n" "held by surrounding Pokémon."), @@ -18374,7 +18368,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_DUAL_WINGBEAT] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DualWingbeat", "Dual Wingbeat"), + .name = COMPOUND_STRING("Dual Wingbeat"), .description = COMPOUND_STRING( "User slams the target with\n" "wings and hits twice in a row."), @@ -18397,7 +18391,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_SCORCHING_SANDS] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ScorchngSnds", "Scorching Sands"), + .name = COMPOUND_STRING("Scorching Sands"), .description = COMPOUND_STRING( "Throws scorching sand at\n" "the target. May leave a burn."), @@ -18423,7 +18417,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_JUNGLE_HEALING] = { - .name = HANDLE_EXPANDED_MOVE_NAME("JungleHealng", "Jungle Healing"), + .name = COMPOUND_STRING("Jungle Healing"), .description = COMPOUND_STRING( "Heals HP and status of\n" "itself and allies in battle."), @@ -18474,7 +18468,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_SURGING_STRIKES] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SurgngStrkes", "Surging Strikes"), + .name = COMPOUND_STRING("Surging Strikes"), .description = COMPOUND_STRING( "Mastering the Water style,\n" "strikes with 3 critical hits."), @@ -18525,7 +18519,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_DRAGON_ENERGY] = { - .name = HANDLE_EXPANDED_MOVE_NAME("DragonEnergy", "Dragon Energy"), + .name = COMPOUND_STRING("Dragon Energy"), .description = COMPOUND_STRING( "The higher the user's HP\n" "the more damage caused."), @@ -18547,7 +18541,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_FREEZING_GLARE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("FreezngGlare", "Freezing Glare"), + .name = COMPOUND_STRING("Freezing Glare"), .description = COMPOUND_STRING( "Shoots psychic power from\n" #if B_USE_FROSTBITE == TRUE @@ -18603,7 +18597,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_THUNDEROUS_KICK] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ThnderusKick", "Thunderous Kick"), + .name = COMPOUND_STRING("Thunderous Kick"), .description = COMPOUND_STRING( "Uses a lightning-like kick\n" "to hit. Lowers foe's Defense."), @@ -18630,7 +18624,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_GLACIAL_LANCE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("GlacialLance", "Glacial Lance"), + .name = COMPOUND_STRING("Glacial Lance"), .description = COMPOUND_STRING( "Strikes by hurling a blizzard-\n" "cloaked icicle lance at foes."), @@ -18652,7 +18646,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_ASTRAL_BARRAGE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("AstrlBarrage", "Astral Barrage"), + .name = COMPOUND_STRING("Astral Barrage"), .description = COMPOUND_STRING( "Strikes by sending a frightful\n" "amount of ghosts at foes."), @@ -18719,7 +18713,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_PSYSHIELD_BASH] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PsyshieldBsh", "Psyshield Bash"), + .name = COMPOUND_STRING("Psyshield Bash"), .description = COMPOUND_STRING( "Hits a foe with psychic\n" "energy. May raise Defense."), @@ -18786,7 +18780,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_SPRINGTIDE_STORM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SprngtdeStrm", "Springtide Storm"), + .name = COMPOUND_STRING("Springtide Storm"), .description = COMPOUND_STRING( "Wraps a foe in fierce winds.\n" "Varies with the user's form."), @@ -18809,7 +18803,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_MYSTICAL_POWER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MystcalPower", "Mystical Power"), + .name = COMPOUND_STRING("Mystical Power"), .description = COMPOUND_STRING( "A mysterious power strikes,\n" "raising the user's Sp. Atk."), @@ -18890,7 +18884,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_MOUNTAIN_GALE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MountainGale", "Mountain Gale"), + .name = COMPOUND_STRING("Mountain Gale"), .description = COMPOUND_STRING( "Giant chunks of ice damage\n" "the foe. It may flinch."), @@ -18911,7 +18905,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_VICTORY_DANCE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("VictoryDance", "Victory Dance"), + .name = COMPOUND_STRING("Victory Dance"), .description = COMPOUND_STRING( "Dances to raise Attack,\n" "Defense and Speed."), @@ -18932,7 +18926,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_HEADLONG_RUSH] = { - .name = HANDLE_EXPANDED_MOVE_NAME("HeadlongRush", "Headlong Rush"), + .name = COMPOUND_STRING("Headlong Rush"), .description = COMPOUND_STRING( "Hits with a full-body tackle.\n" "Lowers the users's defenses."), @@ -19000,7 +18994,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_BITTER_MALICE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("BitterMalice", "Bitter Malice"), + .name = COMPOUND_STRING("Bitter Malice"), .description = COMPOUND_STRING( "A spine-chilling resentment.\n" "Lowers the foe's Attack."), @@ -19041,7 +19035,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_TRIPLE_ARROWS] = { - .name = HANDLE_EXPANDED_MOVE_NAME("TripleArrows", "Triple Arrows"), + .name = COMPOUND_STRING("Triple Arrows"), .description = COMPOUND_STRING( "High critical hit ratio.\n" "May lower Defense or flinch."), @@ -19067,7 +19061,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_INFERNAL_PARADE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("InfrnlParade", "Infernal Parade"), + .name = COMPOUND_STRING("Infernal Parade"), .description = COMPOUND_STRING( "Hurts a foe harder if it has\n" "an ailment. May leave a burn."), @@ -19089,7 +19083,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_CEASELESS_EDGE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("CeaslessEdge", "Ceaseless Edge"), + .name = COMPOUND_STRING("Ceaseless Edge"), .description = COMPOUND_STRING( "High critical hit ratio. Sets\n" "Splinters that hurt the foe."), @@ -19112,7 +19106,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_BLEAKWIND_STORM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("BlekwndStorm", "Bleakwind Storm"), + .name = COMPOUND_STRING("Bleakwind Storm"), .description = COMPOUND_STRING( "Hits with brutal, cold winds.\n" "May lower the foe's Speed."), @@ -19134,7 +19128,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_WILDBOLT_STORM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("WildbltStorm", "Wildbolt Storm"), + .name = COMPOUND_STRING("Wildbolt Storm"), .description = COMPOUND_STRING( "Hits with a brutal tempest.\n" "May inflict paralysis."), @@ -19156,7 +19150,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_SANDSEAR_STORM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SndsearStorm", "Sandsear Storm"), + .name = COMPOUND_STRING("Sandsear Storm"), .description = COMPOUND_STRING( "Hits with brutally hot sand.\n" "May inflict a burn."), @@ -19178,7 +19172,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_LUNAR_BLESSING] = { - .name = HANDLE_EXPANDED_MOVE_NAME("LunarBlessng", "Lunar Blessing"), + .name = COMPOUND_STRING("Lunar Blessing"), .description = COMPOUND_STRING( "The user heals and cures\n" "itself and its ally."), @@ -19283,7 +19277,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_LAST_RESPECTS] = { - .name = HANDLE_EXPANDED_MOVE_NAME("LastRespects", "Last Respects"), + .name = COMPOUND_STRING("Last Respects"), .description = COMPOUND_STRING( "This move deals more damage\n" "for each defeated ally."), @@ -19361,7 +19355,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_SPICY_EXTRACT] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SpicyExtract", "Spicy Extract"), + .name = COMPOUND_STRING("Spicy Extract"), .description = COMPOUND_STRING( "Sharply ups target's Attack,\n" "harshly lowers its Defense."), @@ -19403,7 +19397,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_POPULATION_BOMB] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PoplatinBomb", "Population Bomb"), + .name = COMPOUND_STRING("Population Bomb"), .description = COMPOUND_STRING( "The user's fellows hit one\n" "to ten times in a row."), @@ -19462,7 +19456,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_REVIVAL_BLESSING] = { - .name = HANDLE_EXPANDED_MOVE_NAME("RevivlBlesng", "Revival Blessing"), + .name = COMPOUND_STRING("Revival Blessing"), .description = COMPOUND_STRING( "Revives a fainted party {PKMN}\n" "and restores half of its HP."), @@ -19589,7 +19583,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_KOWTOW_CLEAVE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("KowtowCleave", "Kowtow Cleave"), + .name = COMPOUND_STRING("Kowtow Cleave"), .description = COMPOUND_STRING( "User slashes the foe after\n" "kowtowing. It never misses."), @@ -19736,7 +19730,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_COLLISION_COURSE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ColisinCours", "Collision Course"), + .name = COMPOUND_STRING("Collision Course"), .description = COMPOUND_STRING( "Prehistoric explosion that's\n" "stronger if super effective."), @@ -19755,7 +19749,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_ELECTRO_DRIFT] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ElectroDrift", "Electro Drift"), + .name = COMPOUND_STRING("Electro Drift"), .description = COMPOUND_STRING( "Futuristic electricity. It's\n" "stronger if super effective."), @@ -19795,7 +19789,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_CHILLY_RECEPTION] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ChilReceptin", "Chilly Reception"), + .name = COMPOUND_STRING("Chilly Reception"), .description = COMPOUND_STRING( "Bad joke summons snowstorm.\n" "The user also switches out."), @@ -19904,7 +19898,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_CHILLING_WATER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("ChillingWatr", "Chilling Water"), + .name = COMPOUND_STRING("Chilling Water"), .description = COMPOUND_STRING( "A shower with ice-cold water\n" "lowers the target's Attack."), @@ -20051,7 +20045,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_GIGATON_HAMMER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("GigatonHammr", "Gigaton Hammer"), + .name = COMPOUND_STRING("Gigaton Hammer"), .description = COMPOUND_STRING( "Swings a huge hammer. Can't\n" "be used twice in a row."), @@ -20108,7 +20102,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_BLAZING_TORQUE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("BlazngTorque", "Blazing Torque"), + .name = COMPOUND_STRING("Blazing Torque"), .description = COMPOUND_STRING("---"), .effect = EFFECT_HIT, .power = 80, @@ -20137,7 +20131,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_WICKED_TORQUE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("WickedTorque", "Wicked Torque"), + .name = COMPOUND_STRING("Wicked Torque"), .description = COMPOUND_STRING("---"), .effect = EFFECT_HIT, .power = 80, @@ -20166,7 +20160,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_NOXIOUS_TORQUE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("NoxiusTorque", "Noxious Torque"), + .name = COMPOUND_STRING("Noxious Torque"), .description = COMPOUND_STRING("---"), .effect = EFFECT_HIT, .power = 100, @@ -20195,7 +20189,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_COMBAT_TORQUE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("CombatTorque", "Combat Torque"), + .name = COMPOUND_STRING("Combat Torque"), .description = COMPOUND_STRING("---"), .effect = EFFECT_HIT, .power = 100, @@ -20224,7 +20218,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_MAGICAL_TORQUE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MagiclTorque", "Magical Torque"), + .name = COMPOUND_STRING("Magical Torque"), .description = COMPOUND_STRING("---"), .effect = EFFECT_HIT, .power = 100, @@ -20308,7 +20302,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_MATCHA_GOTCHA] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MatchaGotcha", "Matcha Gotcha"), + .name = COMPOUND_STRING("Matcha Gotcha"), .description = COMPOUND_STRING( "Absorbs half the damage\n" "inflicted. May cause a burn."), @@ -20397,7 +20391,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_TERA_STARSTORM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("TeraStarstrm", "Tera Starstorm"), + .name = COMPOUND_STRING("Tera Starstorm"), .description = COMPOUND_STRING( "Damages all opponents if user is\n" "Stellar form Terapagos."), @@ -20435,7 +20429,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_BURNING_BULWARK] = { - .name = HANDLE_EXPANDED_MOVE_NAME("BurnngBulwrk", "Burning Bulwark"), + .name = COMPOUND_STRING("Burning Bulwark"), .description = COMPOUND_STRING( "Evades attack, and burns\n" "the foe if struck."), @@ -20473,7 +20467,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_MIGHTY_CLEAVE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MightyCleave", "Mighty Cleave"), + .name = COMPOUND_STRING("Mighty Cleave"), .description = sFeintDescription, .effect = EFFECT_HIT, .power = 95, @@ -20491,7 +20485,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_TACHYON_CUTTER] = { - .name = HANDLE_EXPANDED_MOVE_NAME("TachyonCuttr", "Tachyon Cutter"), + .name = COMPOUND_STRING("Tachyon Cutter"), .description = COMPOUND_STRING( "Launches particle blades at\n" "the target. Strikes twice."), @@ -20545,7 +20539,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_ALLURING_VOICE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("AllurngVoice", "Alluring Voice"), + .name = COMPOUND_STRING("Alluring Voice"), .description = COMPOUND_STRING( "Confuses the target if their\n" "stats were boosted this turn."), @@ -20587,7 +20581,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_SUPERCELL_SLAM] = { - .name = HANDLE_EXPANDED_MOVE_NAME("SuprcellSlam", "Supercell Slam"), + .name = COMPOUND_STRING("Supercell Slam"), .description = COMPOUND_STRING( "An electrified slam. If it\n" "misses, the user is hurt."), @@ -20605,7 +20599,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_PSYCHIC_NOISE] = { - .name = HANDLE_EXPANDED_MOVE_NAME("PsychicNoise", "Psychic Noise"), + .name = COMPOUND_STRING("Psychic Noise"), .description = COMPOUND_STRING( "Unpleasant sound waves that\n" "damage and prevent healing."), @@ -20650,7 +20644,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = [MOVE_MALIGNANT_CHAIN] = { - .name = HANDLE_EXPANDED_MOVE_NAME("MalignntChan", "Malignant Chain"), + .name = COMPOUND_STRING("Malignant Chain"), .description = COMPOUND_STRING( "A corrosive chain attack\n" "that may badly poison."), diff --git a/src/data/pokemon/species_info.h b/src/data/pokemon/species_info.h index 61da487389..939f1d4635 100644 --- a/src/data/pokemon/species_info.h +++ b/src/data/pokemon/species_info.h @@ -60,12 +60,6 @@ #define FLIP 0 #define NO_FLIP 1 -#if POKEMON_NAME_LENGTH >= 12 -#define HANDLE_EXPANDED_SPECIES_NAME(_name, ...) _(DEFAULT(_name, __VA_ARGS__)) -#else -#define HANDLE_EXPANDED_SPECIES_NAME(_name, ...) _(_name) -#endif - const struct SpeciesInfo gSpeciesInfo[] = { [SPECIES_NONE] = diff --git a/src/data/pokemon/species_info/gen_2_families.h b/src/data/pokemon/species_info/gen_2_families.h index 3bde875fd7..b1d1dfbbbc 100644 --- a/src/data/pokemon/species_info/gen_2_families.h +++ b/src/data/pokemon/species_info/gen_2_families.h @@ -3913,7 +3913,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_SERENE_GRACE, ABILITY_RUN_AWAY, ABILITY_RATTLED }, .bodyColor = BODY_COLOR_YELLOW, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Dudunsprce", "Dudunsparce"), + .speciesName = _("Dudunsparce"), .cryId = CRY_DUDUNSPARCE, .natDexNum = NATIONAL_DEX_DUDUNSPARCE, .categoryName = _("Land Snake"), @@ -3966,7 +3966,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD), .abilities = { ABILITY_SERENE_GRACE, ABILITY_RUN_AWAY, ABILITY_RATTLED }, .bodyColor = BODY_COLOR_YELLOW, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Dudunsprce", "Dudunsparce"), + .speciesName = _("Dudunsparce"), .cryId = CRY_DUDUNSPARCE, .natDexNum = NATIONAL_DEX_DUDUNSPARCE, .categoryName = _("Land Snake"), diff --git a/src/data/pokemon/species_info/gen_5_families.h b/src/data/pokemon/species_info/gen_5_families.h index 2495cfa961..d7927e028e 100644 --- a/src/data/pokemon/species_info/gen_5_families.h +++ b/src/data/pokemon/species_info/gen_5_families.h @@ -3989,7 +3989,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_ADAPTABILITY, ABILITY_MOLD_BREAKER }, .bodyColor = BODY_COLOR_GREEN, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Bsculegion", "Basculegion"), + .speciesName = _("Basculegion"), .cryId = CRY_BASCULEGION, .natDexNum = NATIONAL_DEX_BASCULEGION, .categoryName = _("Big Fish"), @@ -4051,7 +4051,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_ADAPTABILITY, ABILITY_MOLD_BREAKER }, .bodyColor = BODY_COLOR_GREEN, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Bsculegion", "Basculegion"), + .speciesName = _("Basculegion"), .cryId = CRY_BASCULEGION, .natDexNum = NATIONAL_DEX_BASCULEGION, .categoryName = _("Big Fish"), diff --git a/src/data/pokemon/species_info/gen_6_families.h b/src/data/pokemon/species_info/gen_6_families.h index d9fdf67355..bae2833b9e 100644 --- a/src/data/pokemon/species_info/gen_6_families.h +++ b/src/data/pokemon/species_info/gen_6_families.h @@ -876,7 +876,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_FLAME_BODY, ABILITY_NONE, ABILITY_GALE_WINGS }, .bodyColor = BODY_COLOR_RED, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Flechinder", "Fletchinder"), + .speciesName = _("Fletchinder"), .cryId = CRY_FLETCHINDER, .natDexNum = NATIONAL_DEX_FLETCHINDER, .categoryName = _("Ember"), diff --git a/src/data/pokemon/species_info/gen_7_families.h b/src/data/pokemon/species_info/gen_7_families.h index c16220ca62..0465def06b 100644 --- a/src/data/pokemon/species_info/gen_7_families.h +++ b/src/data/pokemon/species_info/gen_7_families.h @@ -1327,7 +1327,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_3), .abilities = { ABILITY_HYPER_CUTTER, ABILITY_IRON_FIST, ABILITY_ANGER_POINT }, .bodyColor = BODY_COLOR_WHITE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Crabminabl", "Crabominable"), + .speciesName = _("Crabominable"), .cryId = CRY_CRABOMINABLE, .natDexNum = NATIONAL_DEX_CRABOMINABLE, .categoryName = _("Woolly Crab"), @@ -6778,7 +6778,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .abilities = { ABILITY_BEAST_BOOST, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, .noFlip = TRUE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Blacephaln", "Blacephalon"), + .speciesName = _("Blacephalon"), .cryId = CRY_BLACEPHALON, .natDexNum = NATIONAL_DEX_BLACEPHALON, .categoryName = _("Fireworks"), diff --git a/src/data/pokemon/species_info/gen_8_families.h b/src/data/pokemon/species_info/gen_8_families.h index 83a2c99bc8..ca1791caa0 100644 --- a/src/data/pokemon/species_info/gen_8_families.h +++ b/src/data/pokemon/species_info/gen_8_families.h @@ -938,7 +938,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_KEEN_EYE, ABILITY_UNNERVE, ABILITY_BIG_PECKS }, .bodyColor = BODY_COLOR_BLUE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Corvisquir", "Corvisquire"), + .speciesName = _("Corvisquire"), .cryId = CRY_CORVISQUIRE, .natDexNum = NATIONAL_DEX_CORVISQUIRE, .categoryName = _("Raven"), @@ -1000,7 +1000,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_PRESSURE, ABILITY_UNNERVE, ABILITY_MIRROR_ARMOR }, .bodyColor = BODY_COLOR_PURPLE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Corviknigh", "Corviknight"), + .speciesName = _("Corviknight"), .cryId = CRY_CORVIKNIGHT, .natDexNum = NATIONAL_DEX_CORVIKNIGHT, .categoryName = _("Raven"), @@ -3117,7 +3117,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_2), .abilities = { ABILITY_SWIFT_SWIM, ABILITY_NONE, ABILITY_PROPELLER_TAIL }, .bodyColor = BODY_COLOR_BROWN, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Barraskewd", "Barraskewda"), + .speciesName = _("Barraskewda"), .cryId = CRY_BARRASKEWDA, .natDexNum = NATIONAL_DEX_BARRASKEWDA, .categoryName = _("Skewer"), @@ -3542,7 +3542,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_FLASH_FIRE, ABILITY_WHITE_SMOKE, ABILITY_FLAME_BODY }, .bodyColor = BODY_COLOR_RED, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Centiskorc", "Centiskorch"), + .speciesName = _("Centiskorch"), .cryId = CRY_CENTISKORCH, .natDexNum = NATIONAL_DEX_CENTISKORCH, .categoryName = _("Radiator"), @@ -3911,7 +3911,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_WEAK_ARMOR, ABILITY_NONE, ABILITY_CURSED_BODY }, .bodyColor = BODY_COLOR_PURPLE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Polteageis", "Polteageist"), + .speciesName = _("Polteageist"), .cryId = CRY_POLTEAGEIST, .natDexNum = NATIONAL_DEX_POLTEAGEIST, .categoryName = _("Black Tea"), @@ -3972,7 +3972,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_WEAK_ARMOR, ABILITY_NONE, ABILITY_CURSED_BODY }, .bodyColor = BODY_COLOR_PURPLE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Polteageis", "Polteageist"), + .speciesName = _("Polteageist"), .cryId = CRY_POLTEAGEIST, .natDexNum = NATIONAL_DEX_POLTEAGEIST, .categoryName = _("Black Tea"), @@ -5007,7 +5007,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL), .abilities = { ABILITY_POWER_SPOT, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Stonjourne", "Stonjourner"), + .speciesName = _("Stonjourner"), .cryId = CRY_STONJOURNER, .natDexNum = NATIONAL_DEX_STONJOURNER, .categoryName = _("Big Rock"), diff --git a/src/data/pokemon/species_info/gen_9_families.h b/src/data/pokemon/species_info/gen_9_families.h index 66ae0b8dff..d17f807499 100644 --- a/src/data/pokemon/species_info/gen_9_families.h +++ b/src/data/pokemon/species_info/gen_9_families.h @@ -130,7 +130,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FIELD, EGG_GROUP_GRASS), .abilities = { ABILITY_OVERGROW, ABILITY_NONE, ABILITY_PROTEAN }, .bodyColor = BODY_COLOR_GREEN, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Meowscarad", "Meowscarada"), + .speciesName = _("Meowscarada"), .cryId = CRY_MEOWSCARADA, .natDexNum = NATIONAL_DEX_MEOWSCARADA, .categoryName = _("Magician"), @@ -1476,7 +1476,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_INTIMIDATE, ABILITY_HUSTLE, ABILITY_GUTS }, .bodyColor = BODY_COLOR_GREEN, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Sqawkabily", "Squawkabilly"), + .speciesName = _("Squawkabilly"), .cryId = CRY_SQUAWKABILLY, .natDexNum = NATIONAL_DEX_SQUAWKABILLY, .categoryName = _("Parrot"), @@ -1530,7 +1530,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_INTIMIDATE, ABILITY_HUSTLE, ABILITY_GUTS }, .bodyColor = BODY_COLOR_BLUE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Sqawkabily", "Squawkabilly"), + .speciesName = _("Squawkabilly"), .cryId = CRY_SQUAWKABILLY, .natDexNum = NATIONAL_DEX_SQUAWKABILLY, .categoryName = _("Parrot"), @@ -1584,7 +1584,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_INTIMIDATE, ABILITY_HUSTLE, ABILITY_SHEER_FORCE }, .bodyColor = BODY_COLOR_YELLOW, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Sqawkabily", "Squawkabilly"), + .speciesName = _("Squawkabilly"), .cryId = CRY_SQUAWKABILLY, .natDexNum = NATIONAL_DEX_SQUAWKABILLY, .categoryName = _("Parrot"), @@ -1638,7 +1638,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_INTIMIDATE, ABILITY_HUSTLE, ABILITY_SHEER_FORCE }, .bodyColor = BODY_COLOR_WHITE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Sqawkabily", "Squawkabilly"), + .speciesName = _("Squawkabilly"), .cryId = CRY_SQUAWKABILLY, .natDexNum = NATIONAL_DEX_SQUAWKABILLY, .categoryName = _("Parrot"), @@ -2179,7 +2179,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_WATER_1, EGG_GROUP_FLYING), .abilities = { ABILITY_WIND_POWER, ABILITY_VOLT_ABSORB, ABILITY_COMPETITIVE }, .bodyColor = BODY_COLOR_YELLOW, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Kilowatrel", "Kilowattrel"), + .speciesName = _("Kilowattrel"), .cryId = CRY_KILOWATTREL, .natDexNum = NATIONAL_DEX_KILOWATTREL, .categoryName = _("Frigatebird"), @@ -2503,7 +2503,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_GRASS), .abilities = { ABILITY_WIND_RIDER, ABILITY_NONE, ABILITY_INFILTRATOR }, .bodyColor = BODY_COLOR_BROWN, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Brmblghast", "Brambleghast"), + .speciesName = _("Brambleghast"), .cryId = CRY_BRAMBLEGHAST, .natDexNum = NATIONAL_DEX_BRAMBLEGHAST, .categoryName = _("Tumbleweed"), @@ -4464,7 +4464,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_PINK, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("ScreamTail", "Scream Tail"), + .speciesName = _("Scream Tail"), .cryId = CRY_SCREAM_TAIL, .natDexNum = NATIONAL_DEX_SCREAM_TAIL, .categoryName = _("Paradox"), @@ -4520,7 +4520,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("BruteBonet", "Brute Bonnet"), + .speciesName = _("Brute Bonnet"), .cryId = CRY_BRUTE_BONNET, .natDexNum = NATIONAL_DEX_BRUTE_BONNET, .categoryName = _("Paradox"), @@ -4578,7 +4578,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("FluttrMane", "Flutter Mane"), + .speciesName = _("Flutter Mane"), .cryId = CRY_FLUTTER_MANE, .natDexNum = NATIONAL_DEX_FLUTTER_MANE, .categoryName = _("Paradox"), @@ -4635,7 +4635,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("SlithrWing", "Slither Wing"), + .speciesName = _("Slither Wing"), .cryId = CRY_SLITHER_WING, .natDexNum = NATIONAL_DEX_SLITHER_WING, .categoryName = _("Paradox"), @@ -4690,7 +4690,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("SndyShocks", "Sandy Shocks"), + .speciesName = _("Sandy Shocks"), .cryId = CRY_SANDY_SHOCKS, .natDexNum = NATIONAL_DEX_SANDY_SHOCKS, .categoryName = _("Paradox"), @@ -4746,7 +4746,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("IronTreads", "Iron Treads"), + .speciesName = _("Iron Treads"), .cryId = CRY_IRON_TREADS, .natDexNum = NATIONAL_DEX_IRON_TREADS, .categoryName = _("Paradox"), @@ -4802,7 +4802,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_RED, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("IronBundle", "Iron Bundle"), + .speciesName = _("Iron Bundle"), .cryId = CRY_IRON_BUNDLE, .natDexNum = NATIONAL_DEX_IRON_BUNDLE, .categoryName = _("Paradox"), @@ -4914,7 +4914,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("IronJuguls", "Iron Jugulis"), + .speciesName = _("Iron Jugulis"), .cryId = CRY_IRON_JUGULIS, .natDexNum = NATIONAL_DEX_IRON_JUGULIS, .categoryName = _("Paradox"), @@ -5028,7 +5028,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GREEN, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("IronThorns", "Iron Thorns"), + .speciesName = _("Iron Thorns"), .cryId = CRY_IRON_THORNS, .natDexNum = NATIONAL_DEX_IRON_THORNS, .categoryName = _("Paradox"), @@ -5632,7 +5632,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("RoarngMoon", "Roaring Moon"), + .speciesName = _("Roaring Moon"), .cryId = CRY_ROARING_MOON, .natDexNum = NATIONAL_DEX_ROARING_MOON, .categoryName = _("Paradox"), @@ -5689,7 +5689,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_WHITE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("IronVliant", "Iron Valiant"), + .speciesName = _("Iron Valiant"), .cryId = CRY_IRON_VALIANT, .natDexNum = NATIONAL_DEX_IRON_VALIANT, .categoryName = _("Paradox"), @@ -5858,7 +5858,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BLUE, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("WalkngWake", "Walking Wake"), + .speciesName = _("Walking Wake"), .cryId = CRY_WALKING_WAKE, .natDexNum = NATIONAL_DEX_WALKING_WAKE, .categoryName = _("Paradox"), @@ -5913,7 +5913,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GREEN, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("IronLeaves", "Iron Leaves"), + .speciesName = _("Iron Leaves"), .cryId = CRY_IRON_LEAVES, .natDexNum = NATIONAL_DEX_IRON_LEAVES, .categoryName = _("Paradox"), @@ -5967,7 +5967,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_HOSPITALITY, ABILITY_NONE, ABILITY_HEATPROOF }, .bodyColor = BODY_COLOR_GREEN, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Ptchageist", "Poltchageist"), + .speciesName = _("Poltchageist"), .cryId = CRY_POLTCHAGEIST, .natDexNum = NATIONAL_DEX_POLTCHAGEIST, .categoryName = _("Matcha"), @@ -6020,7 +6020,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_MINERAL, EGG_GROUP_AMORPHOUS), .abilities = { ABILITY_HOSPITALITY, ABILITY_NONE, ABILITY_HEATPROOF }, .bodyColor = BODY_COLOR_GREEN, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Ptchageist", "Poltchageist"), + .speciesName = _("Poltchageist"), .cryId = CRY_POLTCHAGEIST, .natDexNum = NATIONAL_DEX_POLTCHAGEIST, .categoryName = _("Matcha"), @@ -6293,7 +6293,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_TOXIC_CHAIN, ABILITY_NONE, ABILITY_TECHNICIAN }, .bodyColor = BODY_COLOR_BLACK, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Fezndipiti", "Fezandipiti"), + .speciesName = _("Fezandipiti"), .cryId = CRY_FEZANDIPITI, .natDexNum = NATIONAL_DEX_FEZANDIPITI, .categoryName = _("Retainer"), @@ -6418,7 +6418,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_BROWN, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("GouginFire", "Gouging Fire"), + .speciesName = _("Gouging Fire"), .cryId = CRY_GOUGING_FIRE, .natDexNum = NATIONAL_DEX_GOUGING_FIRE, .categoryName = _("Paradox"), @@ -6474,7 +6474,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_PROTOSYNTHESIS, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_YELLOW, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("RagingBolt", "Raging Bolt"), + .speciesName = _("Raging Bolt"), .cryId = CRY_RAGING_BOLT, .natDexNum = NATIONAL_DEX_RAGING_BOLT, .categoryName = _("Paradox"), @@ -6530,7 +6530,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_NO_EGGS_DISCOVERED), .abilities = { ABILITY_QUARK_DRIVE, ABILITY_NONE, ABILITY_NONE }, .bodyColor = BODY_COLOR_GRAY, - .speciesName = HANDLE_EXPANDED_SPECIES_NAME("IronBouldr", "Iron Boulder"), + .speciesName = _("Iron Boulder"), .cryId = CRY_IRON_BOULDER, .natDexNum = NATIONAL_DEX_IRON_BOULDER, .categoryName = _("Paradox"), diff --git a/src/data/types_info.h b/src/data/types_info.h index df74199bdd..d14012ed5c 100644 --- a/src/data/types_info.h +++ b/src/data/types_info.h @@ -40,12 +40,6 @@ const uq4_12_t gTypeEffectivenessTable[NUMBER_OF_MON_TYPES][NUMBER_OF_MON_TYPES] #undef ______ #undef X -#if B_EXPANDED_TYPE_NAMES == TRUE -#define HANDLE_EXPANDED_TYPE_NAME(_name, ...) _(DEFAULT(_name, __VA_ARGS__)) -#else -#define HANDLE_EXPANDED_TYPE_NAME(_name, ...) _(_name) -#endif - // .generic is large enough that the text for TYPE_ELECTRIC will exceed TEXT_BUFF_ARRAY_COUNT. // In this array there's commented-out data such as references to type-resist berries that would otherwise would go unused. // However, we figured this information would be useful for users that want to add their own types as a reminder of @@ -84,7 +78,7 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = }, [TYPE_FIGHTING] = { - .name = HANDLE_EXPANDED_TYPE_NAME("Fight", "Fighting"), + .name = _("Fighting"), .generic = _("a FIGHTING move"), .palette = 13, .zMove = MOVE_ALL_OUT_PUMMELING, @@ -325,7 +319,7 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = }, [TYPE_ELECTRIC] = { - .name = HANDLE_EXPANDED_TYPE_NAME("Electr", "Electric"), + .name = _("Electric"), .generic = _("an ELECTRIC move"), .palette = 13, .zMove = MOVE_GIGAVOLT_HAVOC, @@ -346,7 +340,7 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = }, [TYPE_PSYCHIC] = { - .name = HANDLE_EXPANDED_TYPE_NAME("Psychc", "Psychic"), + .name = _("Psychic"), .generic = _("a PSYCHIC move"), .palette = 14, .zMove = MOVE_SHATTERED_PSYCHE, @@ -451,7 +445,7 @@ const struct TypeInfo gTypesInfo[NUMBER_OF_MON_TYPES] = }, [TYPE_STELLAR] = { - .name = HANDLE_EXPANDED_TYPE_NAME("Stellr", "Stellar"), + .name = _("Stellar"), .generic = _("a STELLAR move"), .palette = 15, .zMove = MOVE_BREAKNECK_BLITZ, From addaf40971e9891f5d5036c2d75dceb7d4f029b3 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Sat, 31 Aug 2024 01:36:14 +0200 Subject: [PATCH 23/78] Fixes Scale Shot not activating + Known Failing Round test (#5292) * Fixes Scale Shot not activating + Known Failing Round test * Update test/battle/move_effect/multi_hit.c --- src/battle_script_commands.c | 9 +++--- test/battle/move_effect/multi_hit.c | 48 +++++++++++++++++++++++++++++ test/battle/move_effect/round.c | 1 - 3 files changed, 53 insertions(+), 5 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 9e1af78714..3724208374 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -6016,15 +6016,18 @@ static void Cmd_moveend(void) && gMultiHitCounter && !(gMovesInfo[gCurrentMove].effect == EFFECT_PRESENT && gBattleStruct->presentBasePower == 0)) // Silly edge case { + gMultiHitCounter--; + if (!IsBattlerAlive(gBattlerTarget) && gMovesInfo[gCurrentMove].effect != EFFECT_DRAGON_DARTS) + gMultiHitCounter = 0; + gBattleScripting.multihitString[4]++; - if (--gMultiHitCounter == 0) + if (gMultiHitCounter == 0) { if (gMovesInfo[gCurrentMove].argument == MOVE_EFFECT_SCALE_SHOT && !NoAliveMonsForEitherParty()) { BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_DefDownSpeedUp; } - BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_MultiHitPrintStrings; effect = TRUE; @@ -16124,7 +16127,6 @@ static void TryUpdateRoundTurnOrder(void) for (i = 0; roundUsers[i] != 0xFF && i < 3; i++) { gBattlerByTurnOrder[currRounder] = roundUsers[i]; - gActionsByTurnOrder[currRounder] = gActionsByTurnOrder[roundUsers[i]]; gProtectStructs[roundUsers[i]].quash = TRUE; // Make it so their turn order can't be changed again currRounder++; } @@ -16133,7 +16135,6 @@ static void TryUpdateRoundTurnOrder(void) for (i = 0; nonRoundUsers[i] != 0xFF && i < 3; i++) { gBattlerByTurnOrder[currRounder] = nonRoundUsers[i]; - gActionsByTurnOrder[currRounder] = gActionsByTurnOrder[nonRoundUsers[i]]; currRounder++; } } diff --git a/test/battle/move_effect/multi_hit.c b/test/battle/move_effect/multi_hit.c index af3a9bc0f4..df9cfea807 100644 --- a/test/battle/move_effect/multi_hit.c +++ b/test/battle/move_effect/multi_hit.c @@ -183,3 +183,51 @@ SINGLE_BATTLE_TEST("Endure does not prevent multiple hits and stat changes occur MESSAGE("Wobbuffet's Speed rose!"); } } + +SINGLE_BATTLE_TEST("Scale Shot decreases defense and increases speed after the 4th hit of Loaded Dice") +{ + PASSES_RANDOMLY(50, 100, RNG_LOADED_DICE); + GIVEN { + ASSUME(gMovesInfo[MOVE_SCALE_SHOT].effect == EFFECT_MULTI_HIT); + PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_LOADED_DICE); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_SCALE_SHOT); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_SCALE_SHOT, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_SCALE_SHOT, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_SCALE_SHOT, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_SCALE_SHOT, player); + MESSAGE("Hit 4 time(s)!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); + MESSAGE("Wobbuffet's Defense fell!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); + MESSAGE("Wobbuffet's Speed rose!"); + } +} + +SINGLE_BATTLE_TEST("Scale Shot decreases defense and increases speed after killing opposing with less then 4 hits") +{ + u32 item; + PARAMETRIZE { item = ITEM_NONE; } + PARAMETRIZE { item = ITEM_LOADED_DICE; } + + GIVEN { + ASSUME(gMovesInfo[MOVE_SCALE_SHOT].effect == EFFECT_MULTI_HIT); + PLAYER(SPECIES_BAGON) { Item(item); } + OPPONENT(SPECIES_SLUGMA) { Ability(ABILITY_WEAK_ARMOR); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_SCALE_SHOT); SEND_OUT(opponent, 1); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_SCALE_SHOT, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_SCALE_SHOT, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_SCALE_SHOT, player); + MESSAGE("Foe Slugma fainted!"); + MESSAGE("Hit 3 time(s)!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); + MESSAGE("Bagon's Defense fell!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_STATS_CHANGE, player); + MESSAGE("Bagon's Speed rose!"); + } +} diff --git a/test/battle/move_effect/round.c b/test/battle/move_effect/round.c index c911c96b63..09209c79a2 100644 --- a/test/battle/move_effect/round.c +++ b/test/battle/move_effect/round.c @@ -74,7 +74,6 @@ DOUBLE_BATTLE_TEST("Round still preserves the turn order outside of the other Ro } DOUBLE_BATTLE_TEST("Round still preserves the turn order outside of the other Round users moving immediately with switch") { - KNOWN_FAILING; // #5148 GIVEN { PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WYNAUT); From ac9b40a423fc9faf26e79336a06542cd3f01c917 Mon Sep 17 00:00:00 2001 From: PhallenTree <168426989+PhallenTree@users.noreply.github.com> Date: Sat, 31 Aug 2024 11:39:37 +0100 Subject: [PATCH 24/78] Fixes Max Moves ignoring absorbing abilities, G-Max Corviknight and Centiskorch names (#5296) * Fix Max and G-Max Moves bypassing absorbing abilities * Fix G-Max Corviknight and Centiskorch speciesName * Remove some outdated comments * Missing Dynamax check * Add Max Quake and Max Overgrowth to test --- src/battle_dynamax.c | 1 - src/battle_script_commands.c | 2 + src/data/moves_info.h | 10 ++--- .../pokemon/species_info/gen_8_families.h | 4 +- test/battle/gimmick/dynamax.c | 37 +++++++++++++++++++ 5 files changed, 46 insertions(+), 8 deletions(-) diff --git a/src/battle_dynamax.c b/src/battle_dynamax.c index cdcf05f7db..073e2c55bc 100644 --- a/src/battle_dynamax.c +++ b/src/battle_dynamax.c @@ -406,7 +406,6 @@ static u8 GetMaxPowerTier(u32 move) case EFFECT_NATURAL_GIFT: case EFFECT_MIRROR_COAT: case EFFECT_FINAL_GAMBIT: - //case EFFECT_DRAGON_DARTS: return MAX_POWER_TIER_2; case EFFECT_OHKO: case EFFECT_RETURN: diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 3724208374..8da71c45fb 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1729,6 +1729,8 @@ static void AccuracyCheck(bool32 recalcDragonDarts, const u8 *nextInstr, const u gBattlescriptCurrInstr = failInstr; else if (!JumpIfMoveAffectedByProtect(gCurrentMove)) gBattlescriptCurrInstr = nextInstr; + if (GetActiveGimmick(gBattlerAttacker) == GIMMICK_DYNAMAX) + AbilityBattleEffects(ABILITYEFFECT_ABSORBING, gBattlerTarget, 0, 0, gCurrentMove); } else if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_2ND_HIT || (gSpecialStatuses[gBattlerAttacker].multiHitOn diff --git a/src/data/moves_info.h b/src/data/moves_info.h index cef7b6971a..6e0230cf31 100644 --- a/src/data/moves_info.h +++ b/src/data/moves_info.h @@ -21719,7 +21719,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .argument = MAX_EFFECT_FIXED_POWER, //EFFECT TODO + .argument = MAX_EFFECT_FIXED_POWER, .ignoresTargetAbility = TRUE, .battleAnimScript = Move_G_MAX_DRUM_SOLO, }, @@ -21736,7 +21736,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .argument = MAX_EFFECT_FIXED_POWER, //EFFECT TODO + .argument = MAX_EFFECT_FIXED_POWER, .ignoresTargetAbility = TRUE, .battleAnimScript = Move_G_MAX_FIREBALL, }, @@ -21753,7 +21753,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .argument = MAX_EFFECT_FIXED_POWER, //EFFECT TODO + .argument = MAX_EFFECT_FIXED_POWER, .ignoresTargetAbility = TRUE, .battleAnimScript = Move_G_MAX_HYDROSNIPE, }, @@ -21995,7 +21995,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .argument = MAX_EFFECT_BYPASS_PROTECT, //EFFECT TODO + .argument = MAX_EFFECT_BYPASS_PROTECT, .battleAnimScript = Move_G_MAX_ONE_BLOW, }, @@ -22011,7 +22011,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .argument = MAX_EFFECT_BYPASS_PROTECT, //EFFECT TODO + .argument = MAX_EFFECT_BYPASS_PROTECT, .battleAnimScript = Move_G_MAX_RAPID_FLOW, }, diff --git a/src/data/pokemon/species_info/gen_8_families.h b/src/data/pokemon/species_info/gen_8_families.h index ed5e89407c..fd52785a54 100644 --- a/src/data/pokemon/species_info/gen_8_families.h +++ b/src/data/pokemon/species_info/gen_8_families.h @@ -1063,7 +1063,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_FLYING), .abilities = { ABILITY_PRESSURE, ABILITY_UNNERVE, ABILITY_MIRROR_ARMOR }, .bodyColor = BODY_COLOR_PURPLE, - .speciesName = _("Corviknigh"), + .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Corviknigh", "Corviknight"), .cryId = CRY_CORVIKNIGHT, .natDexNum = NATIONAL_DEX_CORVIKNIGHT, .categoryName = _("Raven"), @@ -3605,7 +3605,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .eggGroups = MON_EGG_GROUPS(EGG_GROUP_BUG), .abilities = { ABILITY_FLASH_FIRE, ABILITY_WHITE_SMOKE, ABILITY_FLAME_BODY }, .bodyColor = BODY_COLOR_RED, - .speciesName = _("Centiskorc"), + .speciesName = HANDLE_EXPANDED_SPECIES_NAME("Centiskorc", "Centiskorch"), .cryId = CRY_CENTISKORCH, .natDexNum = NATIONAL_DEX_CENTISKORCH, .categoryName = _("Radiator"), diff --git a/test/battle/gimmick/dynamax.c b/test/battle/gimmick/dynamax.c index b865ef2f1c..d0360918c8 100644 --- a/test/battle/gimmick/dynamax.c +++ b/test/battle/gimmick/dynamax.c @@ -1476,3 +1476,40 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Moxie clones can be triggered by Max Moves faintin MESSAGE("Gyarados's Moxie raised its Attack!"); } } + +SINGLE_BATTLE_TEST("(DYNAMAX) Max Moves don't bypass absorbing abilities") +{ + u32 move, ability, species; + PARAMETRIZE { move = MOVE_SPARK; ability = ABILITY_VOLT_ABSORB; species = SPECIES_LANTURN; } + PARAMETRIZE { move = MOVE_WATER_GUN; ability = ABILITY_WATER_ABSORB; species = SPECIES_LANTURN; } + PARAMETRIZE { move = MOVE_EMBER; ability = ABILITY_FLASH_FIRE; species = SPECIES_HEATRAN; } + PARAMETRIZE { move = MOVE_SPARK; ability = ABILITY_LIGHTNING_ROD; species = SPECIES_PIKACHU; } + PARAMETRIZE { move = MOVE_WATER_GUN; ability = ABILITY_STORM_DRAIN; species = SPECIES_GASTRODON; } + PARAMETRIZE { move = MOVE_EMBER; ability = ABILITY_WELL_BAKED_BODY; species = SPECIES_DACHSBUN; } + PARAMETRIZE { move = MOVE_SPARK; ability = ABILITY_MOTOR_DRIVE; species = SPECIES_ELECTIVIRE; } + PARAMETRIZE { move = MOVE_WATER_GUN; ability = ABILITY_DRY_SKIN; species = SPECIES_PARASECT; } + PARAMETRIZE { move = MOVE_MUD_BOMB; ability = ABILITY_EARTH_EATER; species = SPECIES_ORTHWORM; } + PARAMETRIZE { move = MOVE_VINE_WHIP; ability = ABILITY_SAP_SIPPER; species = SPECIES_MILTANK; } + + GIVEN { + ASSUME(gMovesInfo[MOVE_WATER_GUN].type == TYPE_WATER); + ASSUME(gMovesInfo[MOVE_SPARK].type == TYPE_ELECTRIC); + ASSUME(gMovesInfo[MOVE_EMBER].type == TYPE_FIRE); + ASSUME(gMovesInfo[MOVE_MUD_BOMB].type == TYPE_GROUND); + ASSUME(gMovesInfo[MOVE_VINE_WHIP].type == TYPE_GRASS); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(species) { Ability(ability); } + } WHEN { + TURN { MOVE(player, move, gimmick: GIMMICK_DYNAMAX); } + } SCENE { + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_MAX_LIGHTNING, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_MAX_FLARE, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_MAX_GEYSER, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_MAX_QUAKE, player); + ANIMATION(ANIM_TYPE_MOVE, MOVE_MAX_OVERGROWTH, player); + HP_BAR(opponent); + } + ABILITY_POPUP(opponent, ability); + } +} From 073d599fc58e54f4dc1f910c843940c12ca6ad4b Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Sat, 31 Aug 2024 12:39:56 +0200 Subject: [PATCH 25/78] Fixed Cinderace GMax back sprite (#5295) Co-authored-by: Hedara --- graphics/pokemon/cinderace/gigantamax/back.png | Bin 690 -> 664 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/graphics/pokemon/cinderace/gigantamax/back.png b/graphics/pokemon/cinderace/gigantamax/back.png index b9e6b813de2c86b3dbcababb8f76f7106fe75526..d07be68143cc27af57e9053198180cf1579fbdee 100644 GIT binary patch delta 592 zcmV-W0c0004VQb$4nuFf3kks&{S7D+@wR9J=WmEm^7 zAP9v8*JeFOegDTDhzdr`+U?&~PScYn-j55IG=z7&;~jrJK1TddeH-xuhLtzQujDTx zJUPYjBtg?70=!Pp^awFVf+*k#f~NnddJeU5+-_qffTuR{h;amPOho_`JZr5QC%qau z4zU2`tT)plag>jLgQylLeTg$5;0XQ!K#OOsA&`90cMRR4YJ+0{8{s%O{YD>HNeqlD zKpe3%)^7n!h%R7QxYlzsWa$nd=Yi+CCHR2eN502C%4HQEU|6VAxTpec!UfQ~xzST) zIImx7XhrO^cOh&oM7$nC2l#V%(4D=UYf!)I<0OD`ML?5(ZYiQ!xB{305PLak0K@_f z@d*R^6SEQ+@F;r=S~ci}4oJO*&n-cV9t+5I5&))N!<{$cHwJXjh$&YBCR2lN0b!{i z@lgS_5EuZrk4pzgoC4;|1Okv5&hg+TcovKSQ~(+*8+NgKmfU3c$oYpfI7+9 z!u0G805${k1Tp}76DnY~umSYT6_7EbX~Jv)d_dPnuAk;m0JI6#!qfuYiCxbIcuS)E z@3p;TEu3Cou<8>QZea&}o-AAdisZ+70v&L+u>2V>kBgiKu%BXkqVHls-wQ5a5DLTv ea9;=UkK+rTY9P51J=K5!0000n` z$GdkF&Dj6=S7S+WK7FxVQ7o^|?q79rbA}l5=ZK4yiTl^`A2IPc9&2FzN(suZV#t4E z4V;$H0*ep;IISK&(M$fvfQuX`I3IUC_+i++r203B5YR<7UOzDAsfn$>5IGD068FrD z+8$sD1@n0pc4>U@^>w6j%kjP9fyn#)_{`pZQ82LpAJhQ`04rr#)H(nYU;uLA3hWM8 z0!Od`^q6pN6Nv?6^vk(AI3>UUWC?$fYe@iv1^^B)veF(GUGL*bV2{ArFS=bv%Pe;q zu!P=^3^0Sh$uq9yk6#Oc#s!3S8+xGSqYL=DLqd(72?*g)eK-LoR4A`IiJfvJbn}2f z0;NW>N(<9AZ-YXmk%LRdfr zP|BjlIW39M0ua8GKk5o*M#4A1n?0_7%9j#>of;%MM-BJ|E*kkVEi}-c0zw1jGzn>p zUc$2ge9p64?wgRt=q0)-^+{Gz0d-l)O5yk13=;iC%lZP1EPhpU1nve22bg04p_&MR zTh&VpS2Z9&wIhKP{#AFkTV>ygo}H@(2H;M)_wKL7Zw56L3@e!? Date: Sat, 31 Aug 2024 04:15:56 -0700 Subject: [PATCH 26/78] fixed dupe gimmick use in doubles (#5235) Co-authored-by: psf <77138753+pkmnsnfrn@users.noreply.github.com> --- src/battle_controller_player.c | 2 +- src/battle_gimmick.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 5fac761cf7..bcdab75081 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -890,7 +890,7 @@ static void HandleInputChooseMove(u32 battler) } else if (JOY_NEW(START_BUTTON)) { - if (gBattleStruct->gimmick.usableGimmick[battler] != GIMMICK_NONE) + if (gBattleStruct->gimmick.usableGimmick[battler] != GIMMICK_NONE && !HasTrainerUsedGimmick(battler, gBattleStruct->gimmick.usableGimmick[battler])) { gBattleStruct->gimmick.playerSelect ^= 1; ReloadMoveNames(battler); diff --git a/src/battle_gimmick.c b/src/battle_gimmick.c index c8ee932218..79165c8901 100644 --- a/src/battle_gimmick.c +++ b/src/battle_gimmick.c @@ -144,7 +144,8 @@ void CreateGimmickTriggerSprite(u32 battler) // Exit if there shouldn't be a sprite produced. if (GetBattlerSide(battler) == B_SIDE_OPPONENT || gBattleStruct->gimmick.usableGimmick[battler] == GIMMICK_NONE - || gimmick->triggerSheet == NULL) + || gimmick->triggerSheet == NULL + || HasTrainerUsedGimmick(battler, gBattleStruct->gimmick.usableGimmick[battler])) { return; } From e09a59a7e4b2c8c7b3c340fdec557e80fb75d83a Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Sat, 31 Aug 2024 18:24:28 +0200 Subject: [PATCH 27/78] Fixes Tar Shot on Tera mons (#5302) * Fixes Tar Shot on Tera mon * new line --- asm/macros/battle_script.inc | 10 +++---- data/battle_scripts_1.s | 2 +- src/battle_script_commands.c | 28 +++++++++---------- test/battle/move_effect/tar_shot.c | 43 ++++++++++++++++++++++++++++++ 4 files changed, 63 insertions(+), 20 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 9d61889b40..e18ce91f28 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1674,6 +1674,11 @@ callnative BS_FickleBeamDamageCalculation .endm + .macro trytarshot failInstr:req + callnative BS_TryTarShot + .4byte \failInstr + .endm + @ various command changed to more readable macros .macro cancelmultiturnmoves battler:req various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES @@ -2210,11 +2215,6 @@ .4byte \failInstr .endm - .macro trytarshot battler:req, failInstr:req - various \battler, VARIOUS_TRY_TAR_SHOT - .4byte \failInstr - .endm - .macro cantarshotwork battler:req, failInstr:req various \battler, VARIOUS_CAN_TAR_SHOT_WORK .4byte \failInstr diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 9d0bc6fc1f..1a80940b72 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -902,7 +902,7 @@ BattleScript_EffectTarShot:: printfromtable gStatDownStringIds waitmessage B_WAIT_TIME_LONG BattleScript_TryTarShot: - trytarshot BS_TARGET, BattleScript_MoveEnd + trytarshot BattleScript_MoveEnd printstring STRINGID_PKMNBECAMEWEAKERTOFIRE waitmessage B_WAIT_TIME_LONG goto BattleScript_MoveEnd diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 8da71c45fb..6509dab069 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -10715,20 +10715,6 @@ static void Cmd_various(void) } return; } - case VARIOUS_TRY_TAR_SHOT: - { - VARIOUS_ARGS(const u8 *failInstr); - if (gDisableStructs[battler].tarShot) - { - gBattlescriptCurrInstr = cmd->failInstr; - } - else - { - gDisableStructs[battler].tarShot = TRUE; - gBattlescriptCurrInstr = cmd->nextInstr; - } - return; - } case VARIOUS_CAN_TAR_SHOT_WORK: { VARIOUS_ARGS(const u8 *failInstr); @@ -17209,3 +17195,17 @@ void BS_FickleBeamDamageCalculation(void) gBattlescriptCurrInstr = cmd->nextInstr; } } + +void BS_TryTarShot(void) +{ + NATIVE_ARGS(const u8 *failInstr); + if (gDisableStructs[gBattlerTarget].tarShot || GetActiveGimmick(gBattlerTarget) == GIMMICK_TERA) + { + gBattlescriptCurrInstr = cmd->failInstr; + } + else + { + gDisableStructs[gBattlerTarget].tarShot = TRUE; + gBattlescriptCurrInstr = cmd->nextInstr; + } +} diff --git a/test/battle/move_effect/tar_shot.c b/test/battle/move_effect/tar_shot.c index 61aca1bec1..2b780577ec 100644 --- a/test/battle/move_effect/tar_shot.c +++ b/test/battle/move_effect/tar_shot.c @@ -42,3 +42,46 @@ SINGLE_BATTLE_TEST("Tar Shot doubles the effectiveness of Fire-type moves used o } } +SINGLE_BATTLE_TEST("Tar Shot does not affect Pokemon that are Terastallized") +{ + s16 damage[2]; + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { TeraType(TYPE_NORMAL); } + OPPONENT(SPECIES_WOBBUFFET) ; + } WHEN { + TURN { MOVE(player, MOVE_CELEBRATE, gimmick: GIMMICK_TERA); MOVE(opponent, MOVE_EMBER); } + TURN { MOVE(opponent, MOVE_TAR_SHOT); } + TURN { MOVE(opponent, MOVE_EMBER); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_EMBER, opponent); + HP_BAR(player, captureDamage: &damage[0]); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TAR_SHOT, opponent); + ANIMATION(ANIM_TYPE_MOVE, MOVE_EMBER, opponent); + HP_BAR(player, captureDamage: &damage[1]); + NOT MESSAGE("It's super effective!"); + } THEN { + EXPECT_EQ(damage[0], damage[1]); + } +} + +SINGLE_BATTLE_TEST("Tar Shot does affect Pokemon that Terastallized after Tar Shot status was applied") +{ + s16 damage[2]; + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { TeraType(TYPE_NORMAL); } + OPPONENT(SPECIES_WOBBUFFET) ; + } WHEN { + TURN { MOVE(opponent, MOVE_EMBER); } + TURN { MOVE(opponent, MOVE_TAR_SHOT); } + TURN { MOVE(player, MOVE_CELEBRATE, gimmick: GIMMICK_TERA); MOVE(opponent, MOVE_EMBER); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_EMBER, opponent); + HP_BAR(player, captureDamage: &damage[0]); + ANIMATION(ANIM_TYPE_MOVE, MOVE_TAR_SHOT, opponent); + ANIMATION(ANIM_TYPE_MOVE, MOVE_EMBER, opponent); + HP_BAR(player, captureDamage: &damage[1]); + MESSAGE("It's super effective!"); + } THEN { + EXPECT_MUL_EQ(damage[0], Q_4_12(2.0), damage[1]); + } +} From bbcb1cd5a2175d72a7608dc67c1d2be24f752e7d Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Sat, 31 Aug 2024 23:50:37 +0200 Subject: [PATCH 28/78] Adds basic trainer and smart trainer flags (#5298) --- include/constants/battle_ai.h | 4 + src/data/trainers.h | 358 +++++++++++++++++----------------- src/data/trainers.party | 358 +++++++++++++++++----------------- 3 files changed, 362 insertions(+), 358 deletions(-) diff --git a/include/constants/battle_ai.h b/include/constants/battle_ai.h index 38d058a8cb..75802bad49 100644 --- a/include/constants/battle_ai.h +++ b/include/constants/battle_ai.h @@ -50,6 +50,10 @@ #define AI_FLAG_COUNT 20 +// The following options are enough to have a basic/smart trainer. Any other addtion could make the trainer worse/better depending on the flag +#define AI_FLAG_BASIC_TRAINER (AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY) +#define AI_FLAG_SMART_TRAINER (AI_FLAG_BASIC_TRAINER | AI_FLAG_OMNISCIENT | AI_FLAG_SMART_SWITCHING | AI_FLAG_SMART_MON_CHOICES) + // 'other' ai logic flags #define AI_FLAG_DYNAMIC_FUNC (1 << 28) // Create custom AI functions for specific battles via "setdynamicaifunc" cmd #define AI_FLAG_ROAMING (1 << 29) diff --git a/src/data/trainers.h b/src/data/trainers.h index 0ef947a14b..c1907cfee5 100644 --- a/src/data/trainers.h +++ b/src/data/trainers.h @@ -40,7 +40,7 @@ #line 90 .doubleBattle = FALSE, #line 91 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -430,7 +430,7 @@ F_TRAINER_FEMALE | #line 245 .doubleBattle = FALSE, #line 246 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -1113,7 +1113,7 @@ F_TRAINER_FEMALE | #line 515 .doubleBattle = FALSE, #line 516 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -1158,7 +1158,7 @@ F_TRAINER_FEMALE | #line 533 .doubleBattle = FALSE, #line 534 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -1235,7 +1235,7 @@ F_TRAINER_FEMALE | #line 563 .doubleBattle = FALSE, #line 564 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -1280,7 +1280,7 @@ F_TRAINER_FEMALE | #line 580 .doubleBattle = FALSE, #line 581 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -1325,7 +1325,7 @@ F_TRAINER_FEMALE | #line 598 .doubleBattle = FALSE, #line 599 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -1516,7 +1516,7 @@ F_TRAINER_FEMALE | #line 671 .doubleBattle = FALSE, #line 672 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -2990,7 +2990,7 @@ F_TRAINER_FEMALE | #line 1268 .doubleBattle = FALSE, #line 1269 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -3030,7 +3030,7 @@ F_TRAINER_FEMALE | #line 1285 .doubleBattle = FALSE, #line 1286 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -3070,7 +3070,7 @@ F_TRAINER_FEMALE | #line 1302 .doubleBattle = FALSE, #line 1303 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -3112,7 +3112,7 @@ F_TRAINER_FEMALE | #line 1319 .doubleBattle = FALSE, #line 1320 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -3151,7 +3151,7 @@ F_TRAINER_FEMALE | #line 1335 .doubleBattle = FALSE, #line 1336 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -3264,7 +3264,7 @@ F_TRAINER_FEMALE | #line 1385 .doubleBattle = FALSE, #line 1386 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -3320,7 +3320,7 @@ F_TRAINER_FEMALE | #line 1407 .doubleBattle = FALSE, #line 1408 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -3365,7 +3365,7 @@ F_TRAINER_FEMALE | #line 1425 .doubleBattle = FALSE, #line 1426 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -3421,7 +3421,7 @@ F_TRAINER_FEMALE | #line 1447 .doubleBattle = FALSE, #line 1448 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -3466,7 +3466,7 @@ F_TRAINER_FEMALE | #line 1465 .doubleBattle = FALSE, #line 1466 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -3511,7 +3511,7 @@ F_TRAINER_FEMALE | #line 1483 .doubleBattle = FALSE, #line 1484 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -3567,7 +3567,7 @@ F_TRAINER_FEMALE | #line 1505 .doubleBattle = FALSE, #line 1506 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -3634,7 +3634,7 @@ F_TRAINER_FEMALE | #line 1531 .doubleBattle = FALSE, #line 1532 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -3690,7 +3690,7 @@ F_TRAINER_FEMALE | #line 1553 .doubleBattle = FALSE, #line 1554 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -3746,7 +3746,7 @@ F_TRAINER_FEMALE | #line 1575 .doubleBattle = FALSE, #line 1576 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -3802,7 +3802,7 @@ F_TRAINER_FEMALE | #line 1597 .doubleBattle = FALSE, #line 1598 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -3858,7 +3858,7 @@ F_TRAINER_FEMALE | #line 1619 .doubleBattle = FALSE, #line 1620 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -3914,7 +3914,7 @@ F_TRAINER_FEMALE | #line 1641 .doubleBattle = FALSE, #line 1642 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -3961,7 +3961,7 @@ F_TRAINER_FEMALE | #line 1659 .doubleBattle = FALSE, #line 1660 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -4002,7 +4002,7 @@ F_TRAINER_FEMALE | #line 1675 .doubleBattle = FALSE, #line 1676 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -4211,7 +4211,7 @@ F_TRAINER_FEMALE | #line 1760 .doubleBattle = FALSE, #line 1761 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -4269,7 +4269,7 @@ F_TRAINER_FEMALE | #line 1782 .doubleBattle = FALSE, #line 1783 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -4305,7 +4305,7 @@ F_TRAINER_FEMALE | #line 1796 .doubleBattle = FALSE, #line 1797 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -4341,7 +4341,7 @@ F_TRAINER_FEMALE | #line 1810 .doubleBattle = FALSE, #line 1811 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -4377,7 +4377,7 @@ F_TRAINER_FEMALE | #line 1824 .doubleBattle = FALSE, #line 1825 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -4435,7 +4435,7 @@ F_TRAINER_FEMALE | #line 1846 .doubleBattle = FALSE, #line 1847 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -4482,7 +4482,7 @@ F_TRAINER_FEMALE | #line 1864 .doubleBattle = FALSE, #line 1865 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -4540,7 +4540,7 @@ F_TRAINER_FEMALE | #line 1886 .doubleBattle = FALSE, #line 1887 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -4598,7 +4598,7 @@ F_TRAINER_FEMALE | #line 1908 .doubleBattle = FALSE, #line 1909 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -4656,7 +4656,7 @@ F_TRAINER_FEMALE | #line 1930 .doubleBattle = FALSE, #line 1931 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -4714,7 +4714,7 @@ F_TRAINER_FEMALE | #line 1952 .doubleBattle = FALSE, #line 1953 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -11394,7 +11394,7 @@ F_TRAINER_FEMALE | #line 4594 .doubleBattle = FALSE, #line 4595 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_BASIC_TRAINER | AI_FLAG_SETUP_FIRST_TURN, #line 4596 .mugshotEnabled = TRUE, .mugshotColor = MUGSHOT_COLOR_PURPLE, @@ -11514,7 +11514,7 @@ F_TRAINER_FEMALE | #line 4645 .doubleBattle = FALSE, #line 4646 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, #line 4647 .mugshotEnabled = TRUE, .mugshotColor = MUGSHOT_COLOR_GREEN, @@ -11634,7 +11634,7 @@ F_TRAINER_FEMALE | #line 4696 .doubleBattle = FALSE, #line 4697 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, #line 4698 .mugshotEnabled = TRUE, .mugshotColor = MUGSHOT_COLOR_PINK, @@ -11752,7 +11752,7 @@ F_TRAINER_FEMALE | #line 4747 .doubleBattle = FALSE, #line 4748 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, #line 4749 .mugshotEnabled = TRUE, .mugshotColor = MUGSHOT_COLOR_BLUE, @@ -11872,7 +11872,7 @@ F_TRAINER_FEMALE | #line 4798 .doubleBattle = FALSE, #line 4799 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -11951,7 +11951,7 @@ F_TRAINER_FEMALE | #line 4832 .doubleBattle = FALSE, #line 4833 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -12030,7 +12030,7 @@ F_TRAINER_FEMALE | #line 4866 .doubleBattle = FALSE, #line 4867 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -12129,7 +12129,7 @@ F_TRAINER_FEMALE | #line 4908 .doubleBattle = FALSE, #line 4909 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -12226,7 +12226,7 @@ F_TRAINER_FEMALE | #line 4950 .doubleBattle = FALSE, #line 4951 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -12325,7 +12325,7 @@ F_TRAINER_FEMALE | #line 4992 .doubleBattle = FALSE, #line 4993 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_RISKY, + .aiFlags = AI_FLAG_BASIC_TRAINER | AI_FLAG_RISKY, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -12440,7 +12440,7 @@ F_TRAINER_FEMALE | #line 5042 .doubleBattle = TRUE, #line 5043 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -12539,7 +12539,7 @@ F_TRAINER_FEMALE | #line 5084 .doubleBattle = FALSE, #line 5085 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -14286,7 +14286,7 @@ F_TRAINER_FEMALE | #line 5766 .doubleBattle = FALSE, #line 5767 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -14318,7 +14318,7 @@ F_TRAINER_FEMALE | #line 5779 .doubleBattle = FALSE, #line 5780 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -14357,7 +14357,7 @@ F_TRAINER_FEMALE | #line 5796 .doubleBattle = FALSE, #line 5797 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -14396,7 +14396,7 @@ F_TRAINER_FEMALE | #line 5813 .doubleBattle = FALSE, #line 5814 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -14435,7 +14435,7 @@ F_TRAINER_FEMALE | #line 5830 .doubleBattle = FALSE, #line 5831 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -14476,7 +14476,7 @@ F_TRAINER_FEMALE | #line 5847 .doubleBattle = FALSE, #line 5848 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -14517,7 +14517,7 @@ F_TRAINER_FEMALE | #line 5864 .doubleBattle = FALSE, #line 5865 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -14562,7 +14562,7 @@ F_TRAINER_FEMALE | #line 5881 .doubleBattle = FALSE, #line 5882 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -14607,7 +14607,7 @@ F_TRAINER_FEMALE | #line 5898 .doubleBattle = FALSE, #line 5899 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -14652,7 +14652,7 @@ F_TRAINER_FEMALE | #line 5915 .doubleBattle = FALSE, #line 5916 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -14697,7 +14697,7 @@ F_TRAINER_FEMALE | #line 5932 .doubleBattle = FALSE, #line 5933 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -14985,7 +14985,7 @@ F_TRAINER_FEMALE | #line 6049 .doubleBattle = FALSE, #line 6050 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -15046,7 +15046,7 @@ F_TRAINER_FEMALE | #line 6075 .doubleBattle = FALSE, #line 6076 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -15481,7 +15481,7 @@ F_TRAINER_FEMALE | #line 6250 .doubleBattle = FALSE, #line 6251 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, #line 6252 .mugshotEnabled = TRUE, .mugshotColor = MUGSHOT_COLOR_YELLOW, @@ -22954,7 +22954,7 @@ F_TRAINER_FEMALE | #line 9191 .doubleBattle = FALSE, #line 9192 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -22986,7 +22986,7 @@ F_TRAINER_FEMALE | #line 9204 .doubleBattle = FALSE, #line 9205 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -23156,7 +23156,7 @@ F_TRAINER_FEMALE | #line 9273 .doubleBattle = FALSE, #line 9274 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -23629,7 +23629,7 @@ F_TRAINER_FEMALE | #line 9461 .doubleBattle = FALSE, #line 9462 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -23740,7 +23740,7 @@ F_TRAINER_FEMALE | #line 9510 .doubleBattle = FALSE, #line 9511 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -23772,7 +23772,7 @@ F_TRAINER_FEMALE | #line 9523 .doubleBattle = FALSE, #line 9524 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -23826,7 +23826,7 @@ F_TRAINER_FEMALE | #line 9544 .doubleBattle = FALSE, #line 9545 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -23912,7 +23912,7 @@ F_TRAINER_FEMALE | #line 9578 .doubleBattle = FALSE, #line 9579 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -23966,7 +23966,7 @@ F_TRAINER_FEMALE | #line 9599 .doubleBattle = FALSE, #line 9600 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -24020,7 +24020,7 @@ F_TRAINER_FEMALE | #line 9620 .doubleBattle = FALSE, #line 9621 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -24052,7 +24052,7 @@ F_TRAINER_FEMALE | #line 9633 .doubleBattle = FALSE, #line 9634 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -24106,7 +24106,7 @@ F_TRAINER_FEMALE | #line 9654 .doubleBattle = FALSE, #line 9655 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -24162,7 +24162,7 @@ F_TRAINER_FEMALE | #line 9675 .doubleBattle = FALSE, #line 9676 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -24196,7 +24196,7 @@ F_TRAINER_FEMALE | #line 9688 .doubleBattle = FALSE, #line 9689 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -24252,7 +24252,7 @@ F_TRAINER_FEMALE | #line 9709 .doubleBattle = FALSE, #line 9710 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -24308,7 +24308,7 @@ F_TRAINER_FEMALE | #line 9730 .doubleBattle = FALSE, #line 9731 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -24342,7 +24342,7 @@ F_TRAINER_FEMALE | #line 9743 .doubleBattle = FALSE, #line 9744 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -24398,7 +24398,7 @@ F_TRAINER_FEMALE | #line 9764 .doubleBattle = FALSE, #line 9765 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -24454,7 +24454,7 @@ F_TRAINER_FEMALE | #line 9785 .doubleBattle = FALSE, #line 9786 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -24488,7 +24488,7 @@ F_TRAINER_FEMALE | #line 9798 .doubleBattle = FALSE, #line 9799 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -24544,7 +24544,7 @@ F_TRAINER_FEMALE | #line 9819 .doubleBattle = FALSE, #line 9820 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -24717,7 +24717,7 @@ F_TRAINER_FEMALE | #line 9886 .doubleBattle = FALSE, #line 9887 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -25215,7 +25215,7 @@ F_TRAINER_FEMALE | #line 10077 .doubleBattle = FALSE, #line 10078 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -25648,7 +25648,7 @@ F_TRAINER_FEMALE | #line 10240 .doubleBattle = FALSE, #line 10241 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -25682,7 +25682,7 @@ F_TRAINER_FEMALE | #line 10254 .doubleBattle = FALSE, #line 10255 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -25738,7 +25738,7 @@ F_TRAINER_FEMALE | #line 10276 .doubleBattle = FALSE, #line 10277 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -25806,7 +25806,7 @@ F_TRAINER_FEMALE | #line 10304 .doubleBattle = FALSE, #line 10305 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -25874,7 +25874,7 @@ F_TRAINER_FEMALE | #line 10332 .doubleBattle = FALSE, #line 10333 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -26026,7 +26026,7 @@ F_TRAINER_FEMALE | #line 10390 .doubleBattle = FALSE, #line 10391 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -26120,7 +26120,7 @@ F_TRAINER_FEMALE | #line 10426 .doubleBattle = FALSE, #line 10427 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -26214,7 +26214,7 @@ F_TRAINER_FEMALE | #line 10462 .doubleBattle = FALSE, #line 10463 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -26676,7 +26676,7 @@ F_TRAINER_FEMALE | #line 10643 .doubleBattle = FALSE, #line 10644 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -27283,7 +27283,7 @@ F_TRAINER_FEMALE | #line 10885 .doubleBattle = FALSE, #line 10886 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -27405,7 +27405,7 @@ F_TRAINER_FEMALE | #line 10932 .doubleBattle = FALSE, #line 10933 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -27515,7 +27515,7 @@ F_TRAINER_FEMALE | #line 10975 .doubleBattle = FALSE, #line 10976 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -27605,7 +27605,7 @@ F_TRAINER_FEMALE | #line 11010 .doubleBattle = FALSE, #line 11011 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -27661,7 +27661,7 @@ F_TRAINER_FEMALE | #line 11032 .doubleBattle = FALSE, #line 11033 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -27841,7 +27841,7 @@ F_TRAINER_FEMALE | #line 11100 .doubleBattle = FALSE, #line 11101 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -29814,7 +29814,7 @@ F_TRAINER_FEMALE | #line 11869 .doubleBattle = FALSE, #line 11870 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -30223,7 +30223,7 @@ F_TRAINER_FEMALE | #line 12041 .doubleBattle = FALSE, #line 12042 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -30257,7 +30257,7 @@ F_TRAINER_FEMALE | #line 12055 .doubleBattle = FALSE, #line 12056 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -30370,7 +30370,7 @@ F_TRAINER_FEMALE | #line 12105 .doubleBattle = FALSE, #line 12106 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -30483,7 +30483,7 @@ F_TRAINER_FEMALE | #line 12155 .doubleBattle = FALSE, #line 12156 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -30596,7 +30596,7 @@ F_TRAINER_FEMALE | #line 12205 .doubleBattle = FALSE, #line 12206 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -30707,7 +30707,7 @@ F_TRAINER_FEMALE | #line 12254 .doubleBattle = FALSE, #line 12255 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -30772,7 +30772,7 @@ F_TRAINER_FEMALE | #line 12279 .doubleBattle = FALSE, #line 12280 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -30837,7 +30837,7 @@ F_TRAINER_FEMALE | #line 12304 .doubleBattle = FALSE, #line 12305 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -30904,7 +30904,7 @@ F_TRAINER_FEMALE | #line 12329 .doubleBattle = FALSE, #line 12330 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -30971,7 +30971,7 @@ F_TRAINER_FEMALE | #line 12354 .doubleBattle = FALSE, #line 12355 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -31038,7 +31038,7 @@ F_TRAINER_FEMALE | #line 12379 .doubleBattle = FALSE, #line 12380 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -31258,7 +31258,7 @@ F_TRAINER_FEMALE | #line 12464 .doubleBattle = FALSE, #line 12465 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -31303,7 +31303,7 @@ F_TRAINER_FEMALE | #line 12482 .doubleBattle = FALSE, #line 12483 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -31766,7 +31766,7 @@ F_TRAINER_FEMALE | #line 12672 .doubleBattle = TRUE, #line 12673 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -31823,7 +31823,7 @@ F_TRAINER_FEMALE | #line 12697 .doubleBattle = TRUE, #line 12698 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -31880,7 +31880,7 @@ F_TRAINER_FEMALE | #line 12722 .doubleBattle = TRUE, #line 12723 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -31994,7 +31994,7 @@ F_TRAINER_FEMALE | #line 12772 .doubleBattle = TRUE, #line 12773 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -33888,7 +33888,7 @@ F_TRAINER_FEMALE | #line 13518 .doubleBattle = FALSE, #line 13519 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -33931,7 +33931,7 @@ F_TRAINER_FEMALE | #line 13535 .doubleBattle = FALSE, #line 13536 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -34227,7 +34227,7 @@ F_TRAINER_FEMALE | #line 13651 .doubleBattle = FALSE, #line 13652 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -34958,7 +34958,7 @@ F_TRAINER_FEMALE | #line 13933 .doubleBattle = FALSE, #line 13934 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -35112,7 +35112,7 @@ F_TRAINER_FEMALE | #line 13994 .doubleBattle = FALSE, #line 13995 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -35418,7 +35418,7 @@ F_TRAINER_FEMALE | #line 14111 .doubleBattle = FALSE, #line 14112 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -35463,7 +35463,7 @@ F_TRAINER_FEMALE | #line 14128 .doubleBattle = FALSE, #line 14129 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -35508,7 +35508,7 @@ F_TRAINER_FEMALE | #line 14145 .doubleBattle = FALSE, #line 14146 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -35555,7 +35555,7 @@ F_TRAINER_FEMALE | #line 14163 .doubleBattle = TRUE, #line 14164 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -35656,7 +35656,7 @@ F_TRAINER_FEMALE | #line 14205 .doubleBattle = TRUE, #line 14206 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -35775,7 +35775,7 @@ F_TRAINER_FEMALE | #line 14255 .doubleBattle = TRUE, #line 14256 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -35894,7 +35894,7 @@ F_TRAINER_FEMALE | #line 14305 .doubleBattle = TRUE, #line 14306 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -36029,7 +36029,7 @@ F_TRAINER_FEMALE | #line 14363 .doubleBattle = TRUE, #line 14364 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -36128,7 +36128,7 @@ F_TRAINER_FEMALE | #line 14405 .doubleBattle = TRUE, #line 14406 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -36227,7 +36227,7 @@ F_TRAINER_FEMALE | #line 14447 .doubleBattle = TRUE, #line 14448 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -36344,7 +36344,7 @@ F_TRAINER_FEMALE | #line 14497 .doubleBattle = TRUE, #line 14498 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -36479,7 +36479,7 @@ F_TRAINER_FEMALE | #line 14555 .doubleBattle = TRUE, #line 14556 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -36578,7 +36578,7 @@ F_TRAINER_FEMALE | #line 14597 .doubleBattle = TRUE, #line 14598 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -36695,7 +36695,7 @@ F_TRAINER_FEMALE | #line 14647 .doubleBattle = TRUE, #line 14648 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -36812,7 +36812,7 @@ F_TRAINER_FEMALE | #line 14697 .doubleBattle = TRUE, #line 14698 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -36949,7 +36949,7 @@ F_TRAINER_FEMALE | #line 14755 .doubleBattle = TRUE, #line 14756 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -37052,7 +37052,7 @@ F_TRAINER_FEMALE | #line 14797 .doubleBattle = TRUE, #line 14798 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -37173,7 +37173,7 @@ F_TRAINER_FEMALE | #line 14847 .doubleBattle = TRUE, #line 14848 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -37312,7 +37312,7 @@ F_TRAINER_FEMALE | #line 14905 .doubleBattle = TRUE, #line 14906 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -37449,7 +37449,7 @@ F_TRAINER_FEMALE | #line 14963 .doubleBattle = TRUE, #line 14964 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 4, .party = (const struct TrainerMon[]) { @@ -37548,7 +37548,7 @@ F_TRAINER_FEMALE | #line 15005 .doubleBattle = TRUE, #line 15006 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -37665,7 +37665,7 @@ F_TRAINER_FEMALE | #line 15055 .doubleBattle = TRUE, #line 15056 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -37782,7 +37782,7 @@ F_TRAINER_FEMALE | #line 15105 .doubleBattle = TRUE, #line 15106 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -37919,7 +37919,7 @@ F_TRAINER_FEMALE | #line 15163 .doubleBattle = TRUE, #line 15164 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_RISKY, + .aiFlags = AI_FLAG_BASIC_TRAINER | AI_FLAG_RISKY, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -38038,7 +38038,7 @@ F_TRAINER_FEMALE | #line 15213 .doubleBattle = TRUE, #line 15214 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_RISKY, + .aiFlags = AI_FLAG_BASIC_TRAINER | AI_FLAG_RISKY, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -38175,7 +38175,7 @@ F_TRAINER_FEMALE | #line 15271 .doubleBattle = TRUE, #line 15272 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_RISKY, + .aiFlags = AI_FLAG_BASIC_TRAINER | AI_FLAG_RISKY, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -38312,7 +38312,7 @@ F_TRAINER_FEMALE | #line 15329 .doubleBattle = TRUE, #line 15330 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_RISKY, + .aiFlags = AI_FLAG_BASIC_TRAINER | AI_FLAG_RISKY, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -38447,7 +38447,7 @@ F_TRAINER_FEMALE | #line 15387 .doubleBattle = TRUE, #line 15388 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -38566,7 +38566,7 @@ F_TRAINER_FEMALE | #line 15437 .doubleBattle = TRUE, #line 15438 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -38703,7 +38703,7 @@ F_TRAINER_FEMALE | #line 15495 .doubleBattle = TRUE, #line 15496 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -38840,7 +38840,7 @@ F_TRAINER_FEMALE | #line 15553 .doubleBattle = TRUE, #line 15554 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -38977,7 +38977,7 @@ F_TRAINER_FEMALE | #line 15611 .doubleBattle = TRUE, #line 15612 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -39094,7 +39094,7 @@ F_TRAINER_FEMALE | #line 15661 .doubleBattle = TRUE, #line 15662 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 5, .party = (const struct TrainerMon[]) { @@ -39211,7 +39211,7 @@ F_TRAINER_FEMALE | #line 15711 .doubleBattle = TRUE, #line 15712 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -39346,7 +39346,7 @@ F_TRAINER_FEMALE | #line 15769 .doubleBattle = TRUE, #line 15770 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -39479,7 +39479,7 @@ F_TRAINER_FEMALE | #line 15826 .doubleBattle = FALSE, #line 15827 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -39534,7 +39534,7 @@ F_TRAINER_FEMALE | #line 15849 .doubleBattle = FALSE, #line 15850 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -39568,7 +39568,7 @@ F_TRAINER_FEMALE | #line 15863 .doubleBattle = FALSE, #line 15864 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 6, .party = (const struct TrainerMon[]) { @@ -39701,7 +39701,7 @@ F_TRAINER_FEMALE | #line 15920 .doubleBattle = FALSE, #line 15921 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -39733,7 +39733,7 @@ F_TRAINER_FEMALE | #line 15933 .doubleBattle = FALSE, #line 15934 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -39765,7 +39765,7 @@ F_TRAINER_FEMALE | #line 15946 .doubleBattle = FALSE, #line 15947 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -39799,7 +39799,7 @@ F_TRAINER_FEMALE | #line 15959 .doubleBattle = FALSE, #line 15960 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -39831,7 +39831,7 @@ F_TRAINER_FEMALE | #line 15972 .doubleBattle = FALSE, #line 15973 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -39865,7 +39865,7 @@ F_TRAINER_FEMALE | #line 15985 .doubleBattle = FALSE, #line 15986 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -39897,7 +39897,7 @@ F_TRAINER_FEMALE | #line 15998 .doubleBattle = FALSE, #line 15999 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -40764,7 +40764,7 @@ F_TRAINER_FEMALE | #line 16336 .doubleBattle = FALSE, #line 16337 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -40811,7 +40811,7 @@ F_TRAINER_FEMALE | #line 16354 .doubleBattle = FALSE, #line 16355 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -40869,7 +40869,7 @@ F_TRAINER_FEMALE | #line 16376 .doubleBattle = FALSE, #line 16377 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -40927,7 +40927,7 @@ F_TRAINER_FEMALE | #line 16398 .doubleBattle = FALSE, #line 16399 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -41197,7 +41197,7 @@ F_TRAINER_FEMALE | #line 16503 .doubleBattle = FALSE, #line 16504 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -41240,7 +41240,7 @@ F_TRAINER_FEMALE | #line 16520 .doubleBattle = FALSE, #line 16521 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -41294,7 +41294,7 @@ F_TRAINER_FEMALE | #line 16541 .doubleBattle = FALSE, #line 16542 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -41348,7 +41348,7 @@ F_TRAINER_FEMALE | #line 16562 .doubleBattle = FALSE, #line 16563 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY, + .aiFlags = AI_FLAG_BASIC_TRAINER, .partySize = 3, .party = (const struct TrainerMon[]) { diff --git a/src/data/trainers.party b/src/data/trainers.party index c5d2626b3d..34a736429e 100644 --- a/src/data/trainers.party +++ b/src/data/trainers.party @@ -88,7 +88,7 @@ Pic: Hiker Gender: Male Music: Hiker Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Geodude Level: 21 @@ -243,7 +243,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Manectric Level: 29 @@ -513,7 +513,7 @@ Pic: Expert M Gender: Male Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Makuhita Level: 30 @@ -531,7 +531,7 @@ Gender: Male Music: Aqua Items: Super Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mightyena Level: 34 @@ -561,7 +561,7 @@ Pic: Aqua Admin F Gender: Female Music: Aqua Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Carvanha Level: 28 @@ -578,7 +578,7 @@ Pic: Aqua Admin F Gender: Female Music: Aqua Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Sharpedo Level: 37 @@ -596,7 +596,7 @@ Gender: Male Music: Aqua Items: Super Potion / Super Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mightyena Level: 41 @@ -669,7 +669,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Medicham Level: 43 @@ -1266,7 +1266,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Swellow Level: 26 @@ -1283,7 +1283,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Spinda Level: 26 @@ -1300,7 +1300,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Slakoth @ Sitrus Berry Level: 26 @@ -1317,7 +1317,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Vigoroth Level: 26 @@ -1333,7 +1333,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Swellow Level: 28 @@ -1383,7 +1383,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Sableye Level: 44 @@ -1405,7 +1405,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mawile Level: 46 @@ -1423,7 +1423,7 @@ Gender: Male Music: Cool Items: Super Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Electrike Level: 17 @@ -1445,7 +1445,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Cacturne Level: 43 @@ -1463,7 +1463,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Magneton Level: 43 @@ -1481,7 +1481,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Swellow Level: 42 @@ -1503,7 +1503,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Dodrio Level: 42 @@ -1529,7 +1529,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Kecleon Level: 42 @@ -1551,7 +1551,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Electrike Level: 26 @@ -1573,7 +1573,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Manectric Level: 29 @@ -1595,7 +1595,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Manectric Level: 32 @@ -1617,7 +1617,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Manectric Level: 35 @@ -1639,7 +1639,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Graveler Level: 33 @@ -1657,7 +1657,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Delcatty Level: 26 @@ -1673,7 +1673,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Wigglytuff Level: 26 @@ -1758,7 +1758,7 @@ Gender: Female Music: Cool Items: Super Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Wingull Level: 17 @@ -1780,7 +1780,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Sableye Level: 30 @@ -1794,7 +1794,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Roselia Level: 45 @@ -1808,7 +1808,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Claydol Level: 45 @@ -1822,7 +1822,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Torkoal Level: 42 @@ -1844,7 +1844,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Skarmory Level: 43 @@ -1862,7 +1862,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Sandslash Level: 42 @@ -1884,7 +1884,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Wingull Level: 26 @@ -1906,7 +1906,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Pelipper Level: 29 @@ -1928,7 +1928,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Pelipper Level: 32 @@ -1950,7 +1950,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Pelipper Level: 34 @@ -4592,7 +4592,7 @@ Gender: Male Music: Elite Four Items: Full Restore / Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability / Setup First Turn +AI: Basic Trainer / Setup First Turn Mugshot: Purple Mightyena @@ -4643,7 +4643,7 @@ Gender: Female Music: Elite Four Items: Full Restore / Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mugshot: Green Dusclops @@ -4694,7 +4694,7 @@ Gender: Female Music: Elite Four Items: Full Restore / Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mugshot: Pink Sealeo @@ -4745,7 +4745,7 @@ Gender: Male Music: Elite Four Items: Full Restore / Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mugshot: Blue Shelgon @@ -4796,7 +4796,7 @@ Gender: Female Music: Female Items: Potion / Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Geodude Level: 12 @@ -4830,7 +4830,7 @@ Gender: Male Music: Male Items: Super Potion / Super Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Machop Level: 16 @@ -4864,7 +4864,7 @@ Gender: Male Music: Male Items: Super Potion / Super Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Voltorb Level: 20 @@ -4906,7 +4906,7 @@ Gender: Female Music: Female Items: Hyper Potion / Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Numel Level: 24 @@ -4948,7 +4948,7 @@ Gender: Male Music: Male Items: Hyper Potion / Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Spinda Level: 27 @@ -4990,7 +4990,7 @@ Gender: Female Music: Female Items: Hyper Potion / Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability / Risky +AI: Basic Trainer / Risky Swablu Level: 29 @@ -5040,7 +5040,7 @@ Gender: Male Music: Female Items: Hyper Potion / Hyper Potion / Hyper Potion / Hyper Potion Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Claydol Level: 41 @@ -5082,7 +5082,7 @@ Gender: Male Music: Male Items: Hyper Potion / Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Luvdisc Level: 41 @@ -5764,7 +5764,7 @@ Pic: Expert M Gender: Male Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Hariyama Level: 27 @@ -5777,7 +5777,7 @@ Pic: Expert M Gender: Male Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Hariyama Level: 33 @@ -5794,7 +5794,7 @@ Pic: Expert M Gender: Male Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Hariyama Level: 36 @@ -5811,7 +5811,7 @@ Pic: Expert M Gender: Male Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Hariyama Level: 39 @@ -5828,7 +5828,7 @@ Pic: Expert M Gender: Male Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Hariyama Level: 42 @@ -5845,7 +5845,7 @@ Pic: Expert F Gender: Female Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Meditite Level: 18 @@ -5862,7 +5862,7 @@ Pic: Expert F Gender: Female Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Meditite Level: 21 @@ -5879,7 +5879,7 @@ Pic: Expert F Gender: Female Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Meditite Level: 30 @@ -5896,7 +5896,7 @@ Pic: Expert F Gender: Female Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Medicham Level: 33 @@ -5913,7 +5913,7 @@ Pic: Expert F Gender: Female Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Medicham Level: 36 @@ -5930,7 +5930,7 @@ Pic: Expert F Gender: Female Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Medicham Level: 39 @@ -6047,7 +6047,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Slaking Level: 43 @@ -6073,7 +6073,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Gardevoir Level: 43 @@ -6248,7 +6248,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore / Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mugshot: Yellow Wailord @@ -9189,7 +9189,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Absol Level: 27 @@ -9202,7 +9202,7 @@ Pic: Ninja Boy Gender: Male Music: Suspicious Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Koffing Level: 31 @@ -9271,7 +9271,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Manectric Level: 34 @@ -9459,7 +9459,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Altaria Level: 44 @@ -9508,7 +9508,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Treecko Level: 5 @@ -9521,7 +9521,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Slugma Level: 18 @@ -9542,7 +9542,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Slugma Level: 29 @@ -9576,7 +9576,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Wingull Level: 18 @@ -9597,7 +9597,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Pelipper Level: 29 @@ -9618,7 +9618,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mudkip Level: 5 @@ -9631,7 +9631,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Lombre Level: 18 @@ -9652,7 +9652,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Lombre Level: 29 @@ -9673,7 +9673,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Treecko Level: 5 @@ -9686,7 +9686,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Wingull Level: 18 @@ -9707,7 +9707,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Slugma Level: 29 @@ -9728,7 +9728,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Torchic Level: 5 @@ -9741,7 +9741,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Wingull Level: 18 @@ -9762,7 +9762,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Pelipper Level: 29 @@ -9783,7 +9783,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mudkip Level: 5 @@ -9796,7 +9796,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Lombre Level: 18 @@ -9817,7 +9817,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Lombre Level: 29 @@ -9884,7 +9884,7 @@ Pic: Cooltrainer M Gender: Male Music: Cool Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Lunatone Level: 43 @@ -10075,7 +10075,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Sableye Level: 43 @@ -10238,7 +10238,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Breloom Level: 27 @@ -10252,7 +10252,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Seedot Level: 28 @@ -10274,7 +10274,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Cacturne Level: 39 @@ -10302,7 +10302,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Breloom Level: 34 @@ -10330,7 +10330,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Kecleon Level: 39 @@ -10388,7 +10388,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Swablu Level: 38 @@ -10424,7 +10424,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Gloom Level: 33 @@ -10460,7 +10460,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Bellossom Level: 39 @@ -10641,7 +10641,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Manectric Level: 32 @@ -10883,7 +10883,7 @@ Pic: Expert M Gender: Male Music: Intense Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Swellow Level: 33 @@ -10930,7 +10930,7 @@ Pic: Magma Admin Gender: Male Music: Magma Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Numel Level: 18 @@ -10973,7 +10973,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Slugma Level: 13 @@ -11008,7 +11008,7 @@ Gender: Male Music: Magma Items: Super Potion / Super Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mightyena Level: 37 @@ -11030,7 +11030,7 @@ Gender: Male Music: Magma Items: Super Potion / Super Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mightyena Level: 24 @@ -11098,7 +11098,7 @@ Pic: Lass Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Marill Level: 15 @@ -11867,7 +11867,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Kecleon Level: 23 @@ -12039,7 +12039,7 @@ Pic: Wally Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Ralts Level: 16 @@ -12053,7 +12053,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Altaria Level: 47 @@ -12103,7 +12103,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Altaria Level: 50 @@ -12153,7 +12153,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Altaria Level: 53 @@ -12203,7 +12203,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Altaria Level: 56 @@ -12252,7 +12252,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Tropius Level: 31 @@ -12277,7 +12277,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Tropius Level: 31 @@ -12302,7 +12302,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Tropius Level: 31 @@ -12327,7 +12327,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Tropius Level: 31 @@ -12352,7 +12352,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Tropius Level: 31 @@ -12377,7 +12377,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Tropius Level: 31 @@ -12462,7 +12462,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Gloom Level: 34 @@ -12480,7 +12480,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Shiftry Level: 34 @@ -12670,7 +12670,7 @@ Pic: Old Couple Gender: Male Music: Intense Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Medicham Level: 39 @@ -12695,7 +12695,7 @@ Pic: Old Couple Gender: Male Music: Intense Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Medicham Level: 43 @@ -12720,7 +12720,7 @@ Pic: Old Couple Gender: Male Music: Intense Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Medicham Level: 46 @@ -12770,7 +12770,7 @@ Pic: Old Couple Gender: Male Music: Intense Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Medicham Level: 52 @@ -13516,7 +13516,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Pelipper Level: 33 @@ -13533,7 +13533,7 @@ Pic: Magma Leader Maxie Gender: Male Music: Magma Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mightyena Level: 42 @@ -13649,7 +13649,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Manectric Level: 24 @@ -13931,7 +13931,7 @@ Gender: Female Music: Intense Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Roselia Level: 33 @@ -13992,7 +13992,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Manectric Level: 30 @@ -14109,7 +14109,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Loudred Level: 29 @@ -14126,7 +14126,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Lotad Level: 13 @@ -14143,7 +14143,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Torkoal Level: 13 @@ -14161,7 +14161,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Golem Level: 32 @@ -14203,7 +14203,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Omanyte Level: 37 @@ -14253,7 +14253,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Omastar Level: 42 @@ -14303,7 +14303,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Aerodactyl Level: 47 @@ -14361,7 +14361,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Machamp @ Sitrus Berry Level: 33 @@ -14403,7 +14403,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Machamp @ Sitrus Berry Level: 38 @@ -14445,7 +14445,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Hitmonchan Level: 40 @@ -14495,7 +14495,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Hitmonlee Level: 46 @@ -14553,7 +14553,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Mareep Level: 36 @@ -14595,7 +14595,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Pikachu Level: 39 @@ -14645,7 +14645,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Raichu Level: 44 @@ -14695,7 +14695,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Electabuzz Level: 50 @@ -14753,7 +14753,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Magcargo @ White Herb Level: 38 @@ -14795,7 +14795,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Growlithe Level: 41 @@ -14845,7 +14845,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Houndour Level: 46 @@ -14903,7 +14903,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Arcanine Level: 51 @@ -14961,7 +14961,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Chansey Level: 42 @@ -15003,7 +15003,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Slaking @ Sitrus Berry Level: 47 @@ -15053,7 +15053,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Slaking @ Sitrus Berry Level: 52 @@ -15103,7 +15103,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Slaking @ Sitrus Berry Level: 57 @@ -15161,7 +15161,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability / Risky +AI: Basic Trainer / Risky Dratini @ Sitrus Berry Level: 40 @@ -15211,7 +15211,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability / Risky +AI: Basic Trainer / Risky Hoothoot Level: 43 @@ -15269,7 +15269,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability / Risky +AI: Basic Trainer / Risky Noctowl Level: 48 @@ -15327,7 +15327,7 @@ Gender: Female Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability / Risky +AI: Basic Trainer / Risky Noctowl Level: 53 @@ -15385,7 +15385,7 @@ Gender: Male Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Slowpoke Level: 48 @@ -15435,7 +15435,7 @@ Gender: Male Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Drowzee Level: 53 @@ -15493,7 +15493,7 @@ Gender: Male Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Hypno Level: 58 @@ -15551,7 +15551,7 @@ Gender: Male Music: Female Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Hypno Level: 63 @@ -15609,7 +15609,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Poliwag Level: 46 @@ -15659,7 +15659,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Poliwhirl Level: 50 @@ -15709,7 +15709,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Lapras Level: 56 @@ -15767,7 +15767,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore Double Battle: Yes -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Lapras Level: 61 @@ -15824,7 +15824,7 @@ Pic: Bug Maniac Gender: Male Music: Suspicious Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Illumise Level: 17 @@ -15847,7 +15847,7 @@ Pic: Bird Keeper Gender: Male Music: Cool Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Tropius Level: 30 @@ -15861,7 +15861,7 @@ Gender: Male Music: Male Items: Full Restore / Full Restore / Full Restore / Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Skarmory Level: 77 @@ -15918,7 +15918,7 @@ Pic: Salon Maiden Anabel Gender: Female Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Beldum Level: 5 @@ -15931,7 +15931,7 @@ Pic: Dome Ace Tucker Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Beldum Level: 5 @@ -15944,7 +15944,7 @@ Pic: Palace Maven Spenser Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Beldum Level: 5 @@ -15957,7 +15957,7 @@ Pic: Arena Tycoon Greta Gender: Female Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Beldum Level: 5 @@ -15970,7 +15970,7 @@ Pic: Factory Head Noland Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Beldum Level: 5 @@ -15983,7 +15983,7 @@ Pic: Pike Queen Lucy Gender: Female Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Beldum Level: 5 @@ -15996,7 +15996,7 @@ Pic: Pyramid King Brandon Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Beldum Level: 5 @@ -16334,7 +16334,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Loudred Level: 35 @@ -16352,7 +16352,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Spinda Level: 37 @@ -16374,7 +16374,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Spinda Level: 39 @@ -16396,7 +16396,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Spinda Level: 41 @@ -16501,7 +16501,7 @@ Pic: Hiker Gender: Male Music: Hiker Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Geodude Level: 26 @@ -16518,7 +16518,7 @@ Pic: Hiker Gender: Male Music: Hiker Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Machop Level: 28 @@ -16539,7 +16539,7 @@ Pic: Hiker Gender: Male Music: Hiker Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Machop Level: 30 @@ -16560,7 +16560,7 @@ Pic: Hiker Gender: Male Music: Hiker Double Battle: No -AI: Check Bad Move / Try To Faint / Check Viability +AI: Basic Trainer Machoke Level: 33 From 484acdc13898afad470698c0d18cfe53f04c5c72 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 1 Sep 2024 09:12:43 -0400 Subject: [PATCH 29/78] Convert 8 various to callnatives (#5172) * Convert 8 various to callnatives * Address review comments --- asm/macros/battle_script.inc | 77 ++++--- include/constants/battle_script_commands.h | 8 - src/battle_script_commands.c | 243 +++++++++++---------- test/battle/hold_effect/red_card.c | 2 +- 4 files changed, 168 insertions(+), 162 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 9d61889b40..7ad110ab11 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1674,14 +1674,51 @@ callnative BS_FickleBeamDamageCalculation .endm -@ various command changed to more readable macros - .macro cancelmultiturnmoves battler:req - various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES + .macro jumpifteainvulnerable battler:req, jumpInstr:req + callnative BS_TeatimeInvul + .byte \battler + .4byte \jumpInstr + .endm + + .macro jumpifteanoberry failInstr:req + callnative BS_TeatimeTargets + .4byte \failInstr + .endm + + .macro trywindriderpower battler:req, failInstr:req + callnative BS_TryWindRiderPower + .byte \battler + .4byte \failInstr + .endm + + .macro activateweatherchangeabilities battler:req + callnative BS_ActivateWeatherChangeAbilities + .byte \battler + .endm + + .macro activateterrainchangeabilities battler:req + callnative BS_ActivateTerrainChangeAbilities + .byte \battler .endm @ Stores Healing Wish effect. .macro storehealingwish battler:req - various \battler, VARIOUS_STORE_HEALING_WISH + callnative BS_StoreHealingWish + .byte \battler + .endm + + .macro hitswitchtargetfailed + callnative BS_HitSwitchTargetFailed + .endm + + .macro tryrevivalblessing, failInstr:req + callnative BS_TryRevivalBlessing + .4byte \failInstr + .endm + +@ various command changed to more readable macros + .macro cancelmultiturnmoves battler:req + various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES .endm .macro setmagiccoattarget battler:req @@ -2230,16 +2267,6 @@ .4byte \failInstr .endm - .macro jumpifteanoberry jumpInstr:req - various BS_ATTACKER, VARIOUS_TEATIME_TARGETS - .4byte \jumpInstr - .endm - - .macro jumpifteainvulnerable battler:req, jumpInstr:req - various \battler, VARIOUS_TEATIME_INVUL - .4byte \jumpInstr - .endm - .macro curecertainstatuses battler:req various \battler, VARIOUS_CURE_CERTAIN_STATUSES .endm @@ -2284,19 +2311,6 @@ .byte \stat .endm - .macro trywindriderpower battler:req, failInstr:req - various \battler, VARIOUS_TRY_WIND_RIDER_POWER - .4byte \failInstr - .endm - - .macro activateweatherchangeabilities battler:req - various \battler, VARIOUS_ACTIVATE_WEATHER_CHANGE_ABILITIES - .endm - - .macro activateterrainchangeabilities battler:req - various \battler, VARIOUS_ACTIVATE_TERRAIN_CHANGE_ABILITIES - .endm - @ helpful macros .macro setstatchanger stat:req, stages:req, down:req setbyte sSTATCHANGER, \stat | \stages << 3 | \down << 7 @@ -2491,15 +2505,6 @@ waitmessage B_WAIT_TIME_LONG .endm - .macro hitswitchtargetfailed - various 0, VARIOUS_HIT_SWITCH_TARGET_FAILED - .endm - - .macro tryrevivalblessing, jumpInstr:req - various 0, VARIOUS_TRY_REVIVAL_BLESSING - .4byte \jumpInstr - .endm - @ Will jump to script pointer if the specified battler has or has not fainted. .macro jumpiffainted battler:req, value:req, ptr:req getbattlerfainted \battler diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index 03173c43cf..156eeda613 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -226,14 +226,6 @@ #define VARIOUS_SET_BEAK_BLAST 134 #define VARIOUS_SWAP_SIDE_STATUSES 135 #define VARIOUS_SWAP_STATS 136 -#define VARIOUS_TEATIME_INVUL 137 -#define VARIOUS_TEATIME_TARGETS 138 -#define VARIOUS_TRY_WIND_RIDER_POWER 139 -#define VARIOUS_ACTIVATE_WEATHER_CHANGE_ABILITIES 140 -#define VARIOUS_ACTIVATE_TERRAIN_CHANGE_ABILITIES 141 -#define VARIOUS_STORE_HEALING_WISH 142 -#define VARIOUS_HIT_SWITCH_TARGET_FAILED 143 -#define VARIOUS_TRY_REVIVAL_BLESSING 144 // Cmd_manipulatedamage #define DMG_CHANGE_SIGN 0 diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 369698f3ff..103819bb45 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -10863,123 +10863,6 @@ static void Cmd_various(void) gBattlescriptCurrInstr = cmd->nextInstr; return; } - case VARIOUS_TEATIME_TARGETS: - { - VARIOUS_ARGS(const u8 *jumpInstr); - u32 count = 0; - - for (i = 0; i < gBattlersCount; i++) - { - if (IsTeatimeAffected(i)) - count++; - } - if (count == 0) - gBattlescriptCurrInstr = cmd->jumpInstr; // Teatime fails - else - gBattlescriptCurrInstr = cmd->nextInstr; - return; - } - case VARIOUS_TEATIME_INVUL: - { - VARIOUS_ARGS(const u8 *jumpInstr); - if (ItemId_GetPocket(gBattleMons[battler].item) == POCKET_BERRIES && !(gStatuses3[gBattlerTarget] & (STATUS3_SEMI_INVULNERABLE))) - gBattlescriptCurrInstr = cmd->nextInstr; - else - gBattlescriptCurrInstr = cmd->jumpInstr; - return; - } - case VARIOUS_TRY_WIND_RIDER_POWER: - { - VARIOUS_ARGS(const u8 *failInstr); - u16 ability = GetBattlerAbility(battler); - if (GetBattlerSide(battler) == GetBattlerSide(gBattlerAttacker) - && (ability == ABILITY_WIND_RIDER || ability == ABILITY_WIND_POWER)) - { - gLastUsedAbility = ability; - RecordAbilityBattle(battler, gLastUsedAbility); - gBattlerAbility = gBattleScripting.battler = battler; - gBattlescriptCurrInstr = cmd->nextInstr; - } - else - { - gBattlescriptCurrInstr = cmd->failInstr; - } - return; - } - case VARIOUS_ACTIVATE_WEATHER_CHANGE_ABILITIES: - { - VARIOUS_ARGS(); - gBattlescriptCurrInstr = cmd->nextInstr; - AbilityBattleEffects(ABILITYEFFECT_ON_WEATHER, battler, 0, 0, 0); - return; - } - case VARIOUS_ACTIVATE_TERRAIN_CHANGE_ABILITIES: - { - VARIOUS_ARGS(); - gBattlescriptCurrInstr = cmd->nextInstr; - AbilityBattleEffects(ABILITYEFFECT_ON_TERRAIN, battler, 0, 0, 0); - return; - } - case VARIOUS_STORE_HEALING_WISH: - { - VARIOUS_ARGS(); - if (gCurrentMove == MOVE_LUNAR_DANCE) - gBattleStruct->storedLunarDance |= 1u << battler; - else - gBattleStruct->storedHealingWish |= 1u << battler; - break; - } - case VARIOUS_HIT_SWITCH_TARGET_FAILED: - { - VARIOUS_ARGS(); - gBattleStruct->hitSwitchTargetFailed = TRUE; - gBattlescriptCurrInstr = cmd->nextInstr; - return; - } - case VARIOUS_TRY_REVIVAL_BLESSING: - { - VARIOUS_ARGS(const u8 *failInstr); - u32 side = GetBattlerSide(gBattlerAttacker); - u8 index = GetFirstFaintedPartyIndex(gBattlerAttacker); - - // Move fails if there are no battlers to revive. - if (index == PARTY_SIZE) - { - gBattlescriptCurrInstr = cmd->failInstr; - return; - } - - // Battler selected! Revive and go to next instruction. - if (gSelectedMonPartyId != PARTY_SIZE) - { - struct Pokemon *party = GetSideParty(side); - - u16 hp = GetMonData(&party[gSelectedMonPartyId], MON_DATA_MAX_HP) / 2; - BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_HP_BATTLE, 1u << gSelectedMonPartyId, sizeof(hp), &hp); - MarkBattlerForControllerExec(gBattlerAttacker); - PREPARE_SPECIES_BUFFER(gBattleTextBuff1, GetMonData(&party[gSelectedMonPartyId], MON_DATA_SPECIES)); - - // If an on-field battler is revived, it needs to be sent out again. - if (IsDoubleBattle() && - gBattlerPartyIndexes[BATTLE_PARTNER(gBattlerAttacker)] == gSelectedMonPartyId) - { - gBattleScripting.battler = BATTLE_PARTNER(gBattlerAttacker); - gBattleCommunication[MULTIUSE_STATE] = TRUE; - } - - gSelectedMonPartyId = PARTY_SIZE; - gBattlescriptCurrInstr = cmd->nextInstr; - return; - } - - // Open party menu, wait to go to next instruction. - else - { - BtlController_EmitChoosePokemon(gBattlerAttacker, BUFFER_A, PARTY_ACTION_CHOOSE_FAINTED_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gBattlerAttacker]); - MarkBattlerForControllerExec(gBattlerAttacker); - } - return; - } } // End of switch (cmd->id) gBattlescriptCurrInstr = cmd->nextInstr; @@ -17197,3 +17080,129 @@ void BS_FickleBeamDamageCalculation(void) gBattlescriptCurrInstr = cmd->nextInstr; } } + +void BS_TeatimeInvul(void) +{ + NATIVE_ARGS(u8 battler, const u8 *jumpInstr); + + u32 battler = GetBattlerForBattleScript(cmd->battler); + if (ItemId_GetPocket(gBattleMons[battler].item) == POCKET_BERRIES && !(gStatuses3[gBattlerTarget] & (STATUS3_SEMI_INVULNERABLE))) + gBattlescriptCurrInstr = cmd->nextInstr; + else + gBattlescriptCurrInstr = cmd->jumpInstr; +} + +void BS_TeatimeTargets(void) +{ + NATIVE_ARGS(const u8 *failInstr); + u32 count = 0, i; + + for (i = 0; i < gBattlersCount; i++) + { + if (IsTeatimeAffected(i)) + count++; + } + if (count == 0) + gBattlescriptCurrInstr = cmd->failInstr; + else + gBattlescriptCurrInstr = cmd->nextInstr; +} + +void BS_TryWindRiderPower(void) +{ + NATIVE_ARGS(u8 battler, const u8 *failInstr); + + u32 battler = GetBattlerForBattleScript(cmd->battler); + u16 ability = GetBattlerAbility(battler); + if (GetBattlerSide(battler) == GetBattlerSide(gBattlerAttacker) + && (ability == ABILITY_WIND_RIDER || ability == ABILITY_WIND_POWER)) + { + gLastUsedAbility = ability; + RecordAbilityBattle(battler, gLastUsedAbility); + gBattlerAbility = gBattleScripting.battler = battler; + gBattlescriptCurrInstr = cmd->nextInstr; + } + else + { + gBattlescriptCurrInstr = cmd->failInstr; + } +} + +void BS_ActivateWeatherChangeAbilities(void) +{ + NATIVE_ARGS(u8 battler); + + u32 battler = GetBattlerForBattleScript(cmd->battler); + gBattlescriptCurrInstr = cmd->nextInstr; + AbilityBattleEffects(ABILITYEFFECT_ON_WEATHER, battler, 0, 0, 0); +} + +void BS_ActivateTerrainChangeAbilities(void) +{ + NATIVE_ARGS(u8 battler); + + u32 battler = GetBattlerForBattleScript(cmd->battler); + gBattlescriptCurrInstr = cmd->nextInstr; + AbilityBattleEffects(ABILITYEFFECT_ON_TERRAIN, battler, 0, 0, 0); +} + +void BS_StoreHealingWish(void) +{ + NATIVE_ARGS(u8 battler); + + u32 battler = GetBattlerForBattleScript(cmd->battler); + if (gCurrentMove == MOVE_LUNAR_DANCE) + gBattleStruct->storedLunarDance |= 1u << battler; + else + gBattleStruct->storedHealingWish |= 1u << battler; + gBattlescriptCurrInstr = cmd->nextInstr; +} + +void BS_HitSwitchTargetFailed(void) +{ + NATIVE_ARGS(); + gBattleStruct->hitSwitchTargetFailed = TRUE; + gBattlescriptCurrInstr = cmd->nextInstr; +} + +void BS_TryRevivalBlessing(void) +{ + NATIVE_ARGS(const u8 *failInstr); + u32 side = GetBattlerSide(gBattlerAttacker); + u8 index = GetFirstFaintedPartyIndex(gBattlerAttacker); + + // Move fails if there are no battlers to revive. + if (index == PARTY_SIZE) + { + gBattlescriptCurrInstr = cmd->failInstr; + return; + } + + // Battler selected! Revive and go to next instruction. + if (gSelectedMonPartyId != PARTY_SIZE) + { + struct Pokemon *party = GetSideParty(side); + + u16 hp = GetMonData(&party[gSelectedMonPartyId], MON_DATA_MAX_HP) / 2; + BtlController_EmitSetMonData(gBattlerAttacker, BUFFER_A, REQUEST_HP_BATTLE, 1u << gSelectedMonPartyId, sizeof(hp), &hp); + MarkBattlerForControllerExec(gBattlerAttacker); + PREPARE_SPECIES_BUFFER(gBattleTextBuff1, GetMonData(&party[gSelectedMonPartyId], MON_DATA_SPECIES)); + + // If an on-field battler is revived, it needs to be sent out again. + if (IsDoubleBattle() && + gBattlerPartyIndexes[BATTLE_PARTNER(gBattlerAttacker)] == gSelectedMonPartyId) + { + gBattleScripting.battler = BATTLE_PARTNER(gBattlerAttacker); + gBattleCommunication[MULTIUSE_STATE] = TRUE; + } + + gSelectedMonPartyId = PARTY_SIZE; + gBattlescriptCurrInstr = cmd->nextInstr; + } + else + { + // Open party menu, wait to go to next instruction. + BtlController_EmitChoosePokemon(gBattlerAttacker, BUFFER_A, PARTY_ACTION_CHOOSE_FAINTED_MON, PARTY_SIZE, ABILITY_NONE, gBattleStruct->battlerPartyOrders[gBattlerAttacker]); + MarkBattlerForControllerExec(gBattlerAttacker); + } +} diff --git a/test/battle/hold_effect/red_card.c b/test/battle/hold_effect/red_card.c index 138e3a3692..ad2f77861f 100644 --- a/test/battle/hold_effect/red_card.c +++ b/test/battle/hold_effect/red_card.c @@ -468,4 +468,4 @@ SINGLE_BATTLE_TEST("Red Card does not activate if holder is switched in mid-turn } } -// SINGLE_BATTLE_TEST("Red Card activates but fails if the attacker has Dynamaxed") +TO_DO_BATTLE_TEST("Red Card activates but fails if the attacker has Dynamaxed"); From 6648498e2ec1a2e9b7d16d963bc682a289b7cd9b Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Sun, 1 Sep 2024 18:07:18 +0200 Subject: [PATCH 30/78] Fixes dmax move base power not seen by ai (#5299) --- src/battle_util.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/battle_util.c b/src/battle_util.c index c6199453ea..656607480b 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -8820,6 +8820,9 @@ static inline u32 CalcMoveBasePower(u32 move, u32 battlerAtk, u32 battlerDef, u3 if (GetActiveGimmick(battlerAtk) == GIMMICK_Z_MOVE) return GetZMovePower(gBattleStruct->zmove.baseMoves[battlerAtk]); + if (GetActiveGimmick(battlerAtk) == GIMMICK_DYNAMAX) + return GetMaxMovePower(move); + switch (gMovesInfo[move].effect) { case EFFECT_PLEDGE: From 33d5cbd7a284dce2234de8bb6bff615accbf5049 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 1 Sep 2024 17:13:58 -0400 Subject: [PATCH 31/78] Moved ASSUMEs to inside GIVEN blocks (#5308) --- test/battle/ability/anger_point.c | 13 +++----- test/battle/ability/galvanize.c | 6 ++-- test/battle/ability/harvest.c | 20 ++++++------ test/battle/ability/pickup.c | 18 +++++------ test/battle/ability/wind_rider.c | 2 +- test/battle/form_change/status.c | 10 +++--- test/battle/gimmick/dynamax.c | 2 +- test/battle/move.c | 14 ++++---- test/battle/move_effect/absorb.c | 2 +- test/battle/move_effect/accuracy_down.c | 2 +- test/battle/move_effect/dream_eater.c | 2 +- test/battle/move_effect/evasion_up.c | 2 +- test/battle/move_effect/future_sight.c | 4 +-- test/battle/move_effect/heal_bell.c | 3 +- test/battle/move_effect/instruct.c | 22 ++++++------- test/battle/move_effect/reflect_type.c | 32 +++++++++---------- .../move_effects_combined/triple_arrows.c | 4 +-- 17 files changed, 77 insertions(+), 81 deletions(-) diff --git a/test/battle/ability/anger_point.c b/test/battle/ability/anger_point.c index 270d66f28e..ddfa3c841d 100644 --- a/test/battle/ability/anger_point.c +++ b/test/battle/ability/anger_point.c @@ -3,9 +3,8 @@ SINGLE_BATTLE_TEST("Anger Point raises Attack stage to maximum after receiving a critical hit") { - ASSUME(gMovesInfo[MOVE_FROST_BREATH].alwaysCriticalHit); - GIVEN { + ASSUME(gMovesInfo[MOVE_FROST_BREATH].alwaysCriticalHit); PLAYER(SPECIES_PRIMEAPE) { Ability(ABILITY_ANGER_POINT); } OPPONENT(SPECIES_SNORUNT); } WHEN { @@ -23,10 +22,9 @@ SINGLE_BATTLE_TEST("Anger Point raises Attack stage to maximum after receiving a SINGLE_BATTLE_TEST("Anger Point does not trigger when already at maximum Attack stage") { - ASSUME(gMovesInfo[MOVE_FROST_BREATH].alwaysCriticalHit); - ASSUME(gMovesInfo[MOVE_BELLY_DRUM].effect == EFFECT_BELLY_DRUM); - GIVEN { + ASSUME(gMovesInfo[MOVE_FROST_BREATH].alwaysCriticalHit); + ASSUME(gMovesInfo[MOVE_BELLY_DRUM].effect == EFFECT_BELLY_DRUM); PLAYER(SPECIES_PRIMEAPE) { Ability(ABILITY_ANGER_POINT); Speed(2); } OPPONENT(SPECIES_SNORUNT) { Speed(1); } } WHEN { @@ -51,10 +49,9 @@ TO_DO_BATTLE_TEST("Anger Point triggers when a substitute takes the hit (Gen4)") SINGLE_BATTLE_TEST("Anger Point does not trigger when a substitute takes the hit (Gen5+)") { - ASSUME(gMovesInfo[MOVE_FROST_BREATH].alwaysCriticalHit); - ASSUME(gMovesInfo[MOVE_SUBSTITUTE].effect == EFFECT_SUBSTITUTE); - GIVEN { + ASSUME(gMovesInfo[MOVE_FROST_BREATH].alwaysCriticalHit); + ASSUME(gMovesInfo[MOVE_SUBSTITUTE].effect == EFFECT_SUBSTITUTE); PLAYER(SPECIES_PRIMEAPE) { Ability(ABILITY_ANGER_POINT); Speed(2); } OPPONENT(SPECIES_SNORUNT) { Speed(1); } } WHEN { diff --git a/test/battle/ability/galvanize.c b/test/battle/ability/galvanize.c index 55dfd7287a..7f604f3dac 100644 --- a/test/battle/ability/galvanize.c +++ b/test/battle/ability/galvanize.c @@ -28,10 +28,10 @@ SINGLE_BATTLE_TEST("Galvanize can not turn certain moves into Electric type move PARAMETRIZE { move = MOVE_WEATHER_BALL; } PARAMETRIZE { move = MOVE_MULTI_ATTACK; } - ASSUME(gMovesInfo[MOVE_HIDDEN_POWER].effect == EFFECT_HIDDEN_POWER); - ASSUME(gMovesInfo[MOVE_WEATHER_BALL].effect == EFFECT_WEATHER_BALL); - ASSUME(gMovesInfo[MOVE_MULTI_ATTACK].effect == EFFECT_CHANGE_TYPE_ON_ITEM); GIVEN { + ASSUME(gMovesInfo[MOVE_HIDDEN_POWER].effect == EFFECT_HIDDEN_POWER); + ASSUME(gMovesInfo[MOVE_WEATHER_BALL].effect == EFFECT_WEATHER_BALL); + ASSUME(gMovesInfo[MOVE_MULTI_ATTACK].effect == EFFECT_CHANGE_TYPE_ON_ITEM); PLAYER(SPECIES_KRABBY); OPPONENT(SPECIES_GEODUDE_ALOLAN) { Ability(ABILITY_GALVANIZE); } } WHEN { diff --git a/test/battle/ability/harvest.c b/test/battle/ability/harvest.c index f19e0715de..03e13b394e 100644 --- a/test/battle/ability/harvest.c +++ b/test/battle/ability/harvest.c @@ -60,8 +60,8 @@ SINGLE_BATTLE_TEST("Harvest doesn't always restore a Berry if Cloud Nine/Air Loc SINGLE_BATTLE_TEST("Harvest restores a Berry even after being switched out and back in") { - ASSUME(gMovesInfo[MOVE_PARTING_SHOT].effect == EFFECT_PARTING_SHOT); GIVEN { + ASSUME(gMovesInfo[MOVE_PARTING_SHOT].effect == EFFECT_PARTING_SHOT); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_EXEGGUTOR) { Ability(ABILITY_HARVEST); MaxHP(500); HP(251); Item(ITEM_SITRUS_BERRY); } OPPONENT(SPECIES_WOBBUFFET); @@ -79,8 +79,8 @@ SINGLE_BATTLE_TEST("Harvest restores a Berry even after being switched out and b SINGLE_BATTLE_TEST("Harvest restores a Berry consumed by Fling") { - ASSUME(gMovesInfo[MOVE_FLING].effect == EFFECT_FLING); GIVEN { + ASSUME(gMovesInfo[MOVE_FLING].effect == EFFECT_FLING); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_EXEGGUTOR) { Ability(ABILITY_HARVEST); Item(ITEM_SITRUS_BERRY); } } WHEN { @@ -96,8 +96,8 @@ SINGLE_BATTLE_TEST("Harvest restores a Berry consumed by Fling") SINGLE_BATTLE_TEST("Harvest restores a Berry consumed by Natural Gift") { - ASSUME(gMovesInfo[MOVE_NATURAL_GIFT].effect == EFFECT_NATURAL_GIFT); GIVEN { + ASSUME(gMovesInfo[MOVE_NATURAL_GIFT].effect == EFFECT_NATURAL_GIFT); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_EXEGGUTOR) { Ability(ABILITY_HARVEST); Item(ITEM_SITRUS_BERRY); } } WHEN { @@ -116,8 +116,8 @@ TO_DO_BATTLE_TEST("Harvest only works once per turn"); // Check for berries that SINGLE_BATTLE_TEST("Harvest doesn't restore a Berry when destroyed by Incinerate") { PASSES_RANDOMLY(1, 1, RNG_HARVEST); - ASSUME(MoveHasAdditionalEffect(MOVE_INCINERATE, MOVE_EFFECT_INCINERATE)); GIVEN { + ASSUME(MoveHasAdditionalEffect(MOVE_INCINERATE, MOVE_EFFECT_INCINERATE)); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_EXEGGUTOR) { Ability(ABILITY_HARVEST); Item(ITEM_SITRUS_BERRY); } } WHEN { @@ -134,8 +134,8 @@ SINGLE_BATTLE_TEST("Harvest doesn't restore a Berry when destroyed by Incinerate SINGLE_BATTLE_TEST("Harvest doesn't restore a Berry when knocked off by Knock Off") { PASSES_RANDOMLY(1, 1, RNG_HARVEST); - ASSUME(MoveHasAdditionalEffect(MOVE_KNOCK_OFF, MOVE_EFFECT_KNOCK_OFF)); GIVEN { + ASSUME(MoveHasAdditionalEffect(MOVE_KNOCK_OFF, MOVE_EFFECT_KNOCK_OFF)); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_EXEGGUTOR) { Ability(ABILITY_HARVEST); Item(ITEM_SITRUS_BERRY); } } WHEN { @@ -152,8 +152,8 @@ SINGLE_BATTLE_TEST("Harvest doesn't restore a Berry when knocked off by Knock Of SINGLE_BATTLE_TEST("Harvest doesn't restore a Berry when eaten by Bug Bite/Pluck") { PASSES_RANDOMLY(1, 1, RNG_HARVEST); - ASSUME(MoveHasAdditionalEffect(MOVE_BUG_BITE, MOVE_EFFECT_BUG_BITE)); GIVEN { + ASSUME(MoveHasAdditionalEffect(MOVE_BUG_BITE, MOVE_EFFECT_BUG_BITE)); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_EXEGGUTOR) { Ability(ABILITY_HARVEST); Item(ITEM_SITRUS_BERRY); } } WHEN { @@ -208,8 +208,8 @@ DOUBLE_BATTLE_TEST("Harvest order is affected by speed") SINGLE_BATTLE_TEST("Harvest doesn't restore a Berry when transfered to another Pokémon") { - ASSUME(gMovesInfo[MOVE_TRICK].effect == EFFECT_TRICK); GIVEN { + ASSUME(gMovesInfo[MOVE_TRICK].effect == EFFECT_TRICK); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_EXEGGUTOR) { Ability(ABILITY_HARVEST); Item(ITEM_SITRUS_BERRY); } } WHEN { @@ -225,8 +225,8 @@ SINGLE_BATTLE_TEST("Harvest doesn't restore a Berry when transfered to another P SINGLE_BATTLE_TEST("Harvest can restore a Berry that was transferred from another Pokémon") { - ASSUME(gMovesInfo[MOVE_TRICK].effect == EFFECT_TRICK); GIVEN { + ASSUME(gMovesInfo[MOVE_TRICK].effect == EFFECT_TRICK); PLAYER(SPECIES_TORKOAL) { Ability(ABILITY_DROUGHT); Item(ITEM_SITRUS_BERRY); } OPPONENT(SPECIES_EXEGGUTOR) { Ability(ABILITY_HARVEST); HP(100); MaxHP(500); } } WHEN { @@ -244,9 +244,9 @@ SINGLE_BATTLE_TEST("Harvest can restore a Berry that was transferred from anothe SINGLE_BATTLE_TEST("Harvest can only restore the newest berry consumed that was transferred from another Pokémon instead of its original Berry") { - ASSUME(gMovesInfo[MOVE_TRICK].effect == EFFECT_TRICK); - ASSUME(gItemsInfo[ITEM_APICOT_BERRY].holdEffect == HOLD_EFFECT_SP_DEFENSE_UP); GIVEN { + ASSUME(gMovesInfo[MOVE_TRICK].effect == EFFECT_TRICK); + ASSUME(gItemsInfo[ITEM_APICOT_BERRY].holdEffect == HOLD_EFFECT_SP_DEFENSE_UP); PLAYER(SPECIES_TORKOAL) { Ability(ABILITY_DROUGHT); Item(ITEM_SITRUS_BERRY); } OPPONENT(SPECIES_EXEGGUTOR) { Ability(ABILITY_HARVEST); HP(100); MaxHP(500); Item(ITEM_APICOT_BERRY); } } WHEN { diff --git a/test/battle/ability/pickup.c b/test/battle/ability/pickup.c index 57f6429feb..927e1b3468 100644 --- a/test/battle/ability/pickup.c +++ b/test/battle/ability/pickup.c @@ -43,8 +43,8 @@ SINGLE_BATTLE_TEST("Pickup doesn't grant the user their item") SINGLE_BATTLE_TEST("Pickup doesn't grant another Pokémon's popped Air Balloon") { - ASSUME(gItemsInfo[ITEM_AIR_BALLOON].holdEffect == HOLD_EFFECT_AIR_BALLOON); GIVEN { + ASSUME(gItemsInfo[ITEM_AIR_BALLOON].holdEffect == HOLD_EFFECT_AIR_BALLOON); PLAYER(SPECIES_ZIGZAGOON) { Ability(ABILITY_PICKUP); } OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_AIR_BALLOON); } } WHEN { @@ -102,8 +102,8 @@ SINGLE_BATTLE_TEST("Pickup doesn't grant an item after its holder faints") SINGLE_BATTLE_TEST("Pickup doesn't grant an used item if holder is replaced") { - ASSUME(gMovesInfo[MOVE_PARTING_SHOT].effect == EFFECT_PARTING_SHOT); GIVEN { + ASSUME(gMovesInfo[MOVE_PARTING_SHOT].effect == EFFECT_PARTING_SHOT); PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_ZIGZAGOON) { Ability(ABILITY_PICKUP); } OPPONENT(SPECIES_WOBBUFFET) { MaxHP(300); HP(151); Item(ITEM_SITRUS_BERRY); } @@ -127,8 +127,8 @@ SINGLE_BATTLE_TEST("Pickup doesn't grant an used item if holder is replaced") SINGLE_BATTLE_TEST("Pickup doesn't grant an item if it destroyed the item with Incinerate") { - ASSUME(MoveHasAdditionalEffect(MOVE_INCINERATE, MOVE_EFFECT_INCINERATE)); GIVEN { + ASSUME(MoveHasAdditionalEffect(MOVE_INCINERATE, MOVE_EFFECT_INCINERATE)); PLAYER(SPECIES_ZIGZAGOON) { Ability(ABILITY_PICKUP); } OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_SITRUS_BERRY); } } WHEN { @@ -146,8 +146,8 @@ SINGLE_BATTLE_TEST("Pickup doesn't grant an item if it destroyed the item with I SINGLE_BATTLE_TEST("Pickup doesn't grant an item if it knocked off that item") { - ASSUME(MoveHasAdditionalEffect(MOVE_KNOCK_OFF, MOVE_EFFECT_KNOCK_OFF)); GIVEN { + ASSUME(MoveHasAdditionalEffect(MOVE_KNOCK_OFF, MOVE_EFFECT_KNOCK_OFF)); PLAYER(SPECIES_ZIGZAGOON) { Ability(ABILITY_PICKUP); } OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_SITRUS_BERRY); } } WHEN { @@ -165,8 +165,8 @@ SINGLE_BATTLE_TEST("Pickup doesn't grant an item if it knocked off that item") SINGLE_BATTLE_TEST("Pickup doesn't grant an item if the user eats it with Bug Bite/Pluck") { - ASSUME(MoveHasAdditionalEffect(MOVE_BUG_BITE, MOVE_EFFECT_BUG_BITE)); GIVEN { + ASSUME(MoveHasAdditionalEffect(MOVE_BUG_BITE, MOVE_EFFECT_BUG_BITE)); PLAYER(SPECIES_ZIGZAGOON) { Ability(ABILITY_PICKUP); } OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_SITRUS_BERRY); } } WHEN { @@ -184,8 +184,8 @@ SINGLE_BATTLE_TEST("Pickup doesn't grant an item if the user eats it with Bug Bi SINGLE_BATTLE_TEST("Pickup doesn't grant an used item if its user already restored it") { - ASSUME(gMovesInfo[MOVE_RECYCLE].effect == EFFECT_RECYCLE); GIVEN { + ASSUME(gMovesInfo[MOVE_RECYCLE].effect == EFFECT_RECYCLE); PLAYER(SPECIES_ZIGZAGOON) { Ability(ABILITY_PICKUP); } OPPONENT(SPECIES_WOBBUFFET) { MaxHP(100); HP(51); Item(ITEM_SITRUS_BERRY); } } WHEN { @@ -204,8 +204,8 @@ SINGLE_BATTLE_TEST("Pickup doesn't grant an used item if its user already restor SINGLE_BATTLE_TEST("Pickup restores an item that has been Flinged") { - ASSUME(gMovesInfo[MOVE_FLING].effect == EFFECT_FLING); GIVEN { + ASSUME(gMovesInfo[MOVE_FLING].effect == EFFECT_FLING); PLAYER(SPECIES_ZIGZAGOON) { Ability(ABILITY_PICKUP); } OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_SITRUS_BERRY); } } WHEN { @@ -221,8 +221,8 @@ SINGLE_BATTLE_TEST("Pickup restores an item that has been Flinged") SINGLE_BATTLE_TEST("Pickup restores an item that was used by Natural Gift") { - ASSUME(gMovesInfo[MOVE_NATURAL_GIFT].effect == EFFECT_NATURAL_GIFT); GIVEN { + ASSUME(gMovesInfo[MOVE_NATURAL_GIFT].effect == EFFECT_NATURAL_GIFT); PLAYER(SPECIES_ZIGZAGOON) { Ability(ABILITY_PICKUP); } OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_SITRUS_BERRY); } } WHEN { @@ -258,8 +258,8 @@ DOUBLE_BATTLE_TEST("Pickup triggers based on Speed order") DOUBLE_BATTLE_TEST("Pickup grants a random item used by another Pokémon") { PASSES_RANDOMLY(1, 3, RNG_PICKUP); - ASSUME(gItemsInfo[ITEM_WHITE_HERB].holdEffect == HOLD_EFFECT_RESTORE_STATS); GIVEN { + ASSUME(gItemsInfo[ITEM_WHITE_HERB].holdEffect == HOLD_EFFECT_RESTORE_STATS); PLAYER(SPECIES_ZIGZAGOON) { Ability(ABILITY_PICKUP); } PLAYER(SPECIES_WOBBUFFET) { Item(ITEM_WHITE_HERB); } OPPONENT(SPECIES_WOBBUFFET) { MaxHP(100); HP(51); Item(ITEM_SITRUS_BERRY); } diff --git a/test/battle/ability/wind_rider.c b/test/battle/ability/wind_rider.c index 57e6f0d275..cd4dbeed1f 100644 --- a/test/battle/ability/wind_rider.c +++ b/test/battle/ability/wind_rider.c @@ -107,8 +107,8 @@ SINGLE_BATTLE_TEST("Wind Rider activates when it's no longer effected by Neutral SINGLE_BATTLE_TEST("Wind Rider absorbs Wind moves and raises Attack by one stage") { - ASSUME(gMovesInfo[MOVE_GUST].windMove == TRUE); GIVEN { + ASSUME(gMovesInfo[MOVE_GUST].windMove == TRUE); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_BRAMBLIN) { Ability(ABILITY_WIND_RIDER); } } WHEN { diff --git a/test/battle/form_change/status.c b/test/battle/form_change/status.c index 0b94202bbd..612c125497 100644 --- a/test/battle/form_change/status.c +++ b/test/battle/form_change/status.c @@ -11,12 +11,12 @@ SINGLE_BATTLE_TEST("Shaymin-Sky reverts to Shaymin-Land when frozen or frostbitt PARAMETRIZE { move = MOVE_POISON_STING; } PARAMETRIZE { move = MOVE_POISON_FANG; } - ASSUME(MoveHasAdditionalEffect(MOVE_POWDER_SNOW, MOVE_EFFECT_FREEZE_OR_FROSTBITE)); - ASSUME(MoveHasAdditionalEffect(MOVE_EMBER, MOVE_EFFECT_BURN)); - ASSUME(MoveHasAdditionalEffect(MOVE_THUNDERSHOCK, MOVE_EFFECT_PARALYSIS)); - ASSUME(MoveHasAdditionalEffect(MOVE_POISON_STING, MOVE_EFFECT_POISON)); - ASSUME(MoveHasAdditionalEffect(MOVE_POISON_FANG, MOVE_EFFECT_TOXIC)); GIVEN { + ASSUME(MoveHasAdditionalEffect(MOVE_POWDER_SNOW, MOVE_EFFECT_FREEZE_OR_FROSTBITE)); + ASSUME(MoveHasAdditionalEffect(MOVE_EMBER, MOVE_EFFECT_BURN)); + ASSUME(MoveHasAdditionalEffect(MOVE_THUNDERSHOCK, MOVE_EFFECT_PARALYSIS)); + ASSUME(MoveHasAdditionalEffect(MOVE_POISON_STING, MOVE_EFFECT_POISON)); + ASSUME(MoveHasAdditionalEffect(MOVE_POISON_FANG, MOVE_EFFECT_TOXIC)); PLAYER(SPECIES_SHAYMIN_SKY); OPPONENT(SPECIES_WOBBUFFET); } WHEN { diff --git a/test/battle/gimmick/dynamax.c b/test/battle/gimmick/dynamax.c index d0360918c8..599ae4d454 100644 --- a/test/battle/gimmick/dynamax.c +++ b/test/battle/gimmick/dynamax.c @@ -1463,8 +1463,8 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Max Moves don't execute effects on fainted battler SINGLE_BATTLE_TEST("(DYNAMAX) Moxie clones can be triggered by Max Moves fainting opponents") { - ASSUME(gMovesInfo[MOVE_WATERFALL].power > 0); GIVEN { + ASSUME(gMovesInfo[MOVE_WATERFALL].power > 0); PLAYER(SPECIES_GYARADOS) { Ability(ABILITY_MOXIE); } OPPONENT(SPECIES_WOBBUFFET) { HP(1); } OPPONENT(SPECIES_WYNAUT); diff --git a/test/battle/move.c b/test/battle/move.c index 081a91712d..655895da77 100644 --- a/test/battle/move.c +++ b/test/battle/move.c @@ -85,11 +85,11 @@ DOUBLE_BATTLE_TEST("Turn order is determined randomly if priority and Speed tie PARAMETRIZE {} // Hack to make permutations legal. PASSES_RANDOMLY(24, 24, RNG_SPEED_TIE); - ASSUME(gMovesInfo[MOVE_ENDEAVOR].effect == EFFECT_ENDEAVOR); - ASSUME(gMovesInfo[MOVE_LIFE_DEW].effect == EFFECT_JUNGLE_HEALING); - ASSUME(gMovesInfo[MOVE_CRUSH_GRIP].effect == EFFECT_VARY_POWER_BASED_ON_HP); - ASSUME(gMovesInfo[MOVE_SUPER_FANG].effect == EFFECT_SUPER_FANG); GIVEN { + ASSUME(gMovesInfo[MOVE_ENDEAVOR].effect == EFFECT_ENDEAVOR); + ASSUME(gMovesInfo[MOVE_LIFE_DEW].effect == EFFECT_JUNGLE_HEALING); + ASSUME(gMovesInfo[MOVE_CRUSH_GRIP].effect == EFFECT_VARY_POWER_BASED_ON_HP); + ASSUME(gMovesInfo[MOVE_SUPER_FANG].effect == EFFECT_SUPER_FANG); PLAYER(SPECIES_WOBBUFFET) { MaxHP(480); HP(360); Defense(100); Speed(1); } PLAYER(SPECIES_WYNAUT) { Speed(1); } OPPONENT(SPECIES_WOBBUFFET) { Attack(100); Speed(1); } @@ -136,9 +136,9 @@ DOUBLE_BATTLE_TEST("Turn order is determined randomly if priority and Speed tie SINGLE_BATTLE_TEST("Critical hits occur at a 1/24 rate") { - ASSUME(B_CRIT_CHANCE >= GEN_7); PASSES_RANDOMLY(1, 24, RNG_CRITICAL_HIT); GIVEN { + ASSUME(B_CRIT_CHANCE >= GEN_7); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET); } WHEN { @@ -150,10 +150,10 @@ SINGLE_BATTLE_TEST("Critical hits occur at a 1/24 rate") SINGLE_BATTLE_TEST("Slash's critical hits occur at a 1/8 rate") { - ASSUME(B_CRIT_CHANCE >= GEN_7); - ASSUME(gMovesInfo[MOVE_SLASH].criticalHitStage == 1); PASSES_RANDOMLY(1, 8, RNG_CRITICAL_HIT); GIVEN { + ASSUME(B_CRIT_CHANCE >= GEN_7); + ASSUME(gMovesInfo[MOVE_SLASH].criticalHitStage == 1); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET); } WHEN { diff --git a/test/battle/move_effect/absorb.c b/test/battle/move_effect/absorb.c index b0140a7a65..698ea41091 100644 --- a/test/battle/move_effect/absorb.c +++ b/test/battle/move_effect/absorb.c @@ -26,8 +26,8 @@ SINGLE_BATTLE_TEST("Absorb recovers 50% of the damage dealt") SINGLE_BATTLE_TEST("Absorb fails if Heal Block applies") { - ASSUME(B_HEAL_BLOCKING >= GEN_6); GIVEN { + ASSUME(B_HEAL_BLOCKING >= GEN_6); PLAYER(SPECIES_WOBBUFFET) { HP(1); } OPPONENT(SPECIES_WOBBUFFET); } WHEN { diff --git a/test/battle/move_effect/accuracy_down.c b/test/battle/move_effect/accuracy_down.c index a4a8ad49bf..8a015c4a67 100644 --- a/test/battle/move_effect/accuracy_down.c +++ b/test/battle/move_effect/accuracy_down.c @@ -8,9 +8,9 @@ ASSUMPTIONS SINGLE_BATTLE_TEST("Sand Attack lowers Accuracy by 1 stage") { - ASSUME(gMovesInfo[MOVE_SCRATCH].accuracy == 100); PASSES_RANDOMLY(gMovesInfo[MOVE_SCRATCH].accuracy * 3 / 4, 100, RNG_ACCURACY); GIVEN { + ASSUME(gMovesInfo[MOVE_SCRATCH].accuracy == 100); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET); } WHEN { diff --git a/test/battle/move_effect/dream_eater.c b/test/battle/move_effect/dream_eater.c index 4ce749b5d2..f0fd113d2b 100644 --- a/test/battle/move_effect/dream_eater.c +++ b/test/battle/move_effect/dream_eater.c @@ -39,8 +39,8 @@ SINGLE_BATTLE_TEST("Dream Eater fails on awake targets") SINGLE_BATTLE_TEST("Dream Eater fails if Heal Block applies") { - ASSUME(B_HEAL_BLOCKING >= GEN_6); GIVEN { + ASSUME(B_HEAL_BLOCKING >= GEN_6); PLAYER(SPECIES_WOBBUFFET) { HP(1); } OPPONENT(SPECIES_WOBBUFFET); } WHEN { diff --git a/test/battle/move_effect/evasion_up.c b/test/battle/move_effect/evasion_up.c index 4dcd92c7b3..7058694e9d 100644 --- a/test/battle/move_effect/evasion_up.c +++ b/test/battle/move_effect/evasion_up.c @@ -8,9 +8,9 @@ ASSUMPTIONS SINGLE_BATTLE_TEST("Double Team raises Evasion") { - ASSUME(gMovesInfo[MOVE_SCRATCH].accuracy == 100); PASSES_RANDOMLY(gMovesInfo[MOVE_SCRATCH].accuracy * 3 / 4, 100, RNG_ACCURACY); GIVEN { + ASSUME(gMovesInfo[MOVE_SCRATCH].accuracy == 100); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET); } WHEN { diff --git a/test/battle/move_effect/future_sight.c b/test/battle/move_effect/future_sight.c index fa78461a9d..778895ba58 100644 --- a/test/battle/move_effect/future_sight.c +++ b/test/battle/move_effect/future_sight.c @@ -158,9 +158,9 @@ SINGLE_BATTLE_TEST("Future Sight will miss timing if target faints by residual d SINGLE_BATTLE_TEST("Future Sight breaks Focus Sash and doesn't make the holder endure another move") { - ASSUME(gMovesInfo[MOVE_PSYCHIC].power > 0); - ASSUME(gItemsInfo[ITEM_FOCUS_SASH].holdEffect == HOLD_EFFECT_FOCUS_SASH); GIVEN { + ASSUME(gMovesInfo[MOVE_PSYCHIC].power > 0); + ASSUME(gItemsInfo[ITEM_FOCUS_SASH].holdEffect == HOLD_EFFECT_FOCUS_SASH); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_PIDGEY) { Level(1); Item(ITEM_FOCUS_SASH); } } WHEN { diff --git a/test/battle/move_effect/heal_bell.c b/test/battle/move_effect/heal_bell.c index 743af905ce..c098886a98 100644 --- a/test/battle/move_effect/heal_bell.c +++ b/test/battle/move_effect/heal_bell.c @@ -88,9 +88,8 @@ SINGLE_BATTLE_TEST("Heal Bell cures inactive soundproof Pokemon") SINGLE_BATTLE_TEST("Heal Bell cures a soundproof user") { - ASSUME(B_HEAL_BELL_SOUNDPROOF == GEN_5 || B_HEAL_BELL_SOUNDPROOF >= GEN_8); - GIVEN { + ASSUME(B_HEAL_BELL_SOUNDPROOF == GEN_5 || B_HEAL_BELL_SOUNDPROOF >= GEN_8); PLAYER(SPECIES_EXPLOUD) { Ability(ABILITY_SOUNDPROOF); Status1(STATUS1_POISON); } OPPONENT(SPECIES_WYNAUT); } WHEN { diff --git a/test/battle/move_effect/instruct.c b/test/battle/move_effect/instruct.c index 4521969920..59772ea944 100644 --- a/test/battle/move_effect/instruct.c +++ b/test/battle/move_effect/instruct.c @@ -23,8 +23,8 @@ DOUBLE_BATTLE_TEST("Instruct fails if target hasn't made a move") DOUBLE_BATTLE_TEST("Instruct fails if move is banned by Instruct") { - ASSUME(gMovesInfo[MOVE_BIDE].instructBanned == TRUE); GIVEN { + ASSUME(gMovesInfo[MOVE_BIDE].instructBanned == TRUE); PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_TACKLE, MOVE_POUND, MOVE_SCRATCH, MOVE_BIDE); } OPPONENT(SPECIES_WOBBUFFET); @@ -59,8 +59,8 @@ DOUBLE_BATTLE_TEST("Instruct-called move targets the target of the move picked o DOUBLE_BATTLE_TEST("Instruct doesn't bypass sleep") { - ASSUME(gMovesInfo[MOVE_SPORE].effect == EFFECT_SLEEP); GIVEN { + ASSUME(gMovesInfo[MOVE_SPORE].effect == EFFECT_SLEEP); PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_TACKLE, MOVE_POUND, MOVE_SCRATCH, MOVE_GROWL); } OPPONENT(SPECIES_WOBBUFFET); @@ -78,8 +78,8 @@ DOUBLE_BATTLE_TEST("Instruct doesn't bypass sleep") DOUBLE_BATTLE_TEST("Instruct fails if target doesn't know the last move it used") { - ASSUME(gMovesInfo[MOVE_DRAGON_DANCE].danceMove == TRUE); GIVEN { + ASSUME(gMovesInfo[MOVE_DRAGON_DANCE].danceMove == TRUE); PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_ORICORIO) { Moves(MOVE_TACKLE, MOVE_POUND, MOVE_SCRATCH, MOVE_CELEBRATE); } OPPONENT(SPECIES_WOBBUFFET); @@ -99,8 +99,8 @@ DOUBLE_BATTLE_TEST("Instruct fails if target doesn't know the last move it used" DOUBLE_BATTLE_TEST("Instruct-called move fails if it can only be used on the first turn but consumes PP") { - ASSUME(gMovesInfo[MOVE_FAKE_OUT].effect == EFFECT_FIRST_TURN_ONLY); GIVEN { + ASSUME(gMovesInfo[MOVE_FAKE_OUT].effect == EFFECT_FIRST_TURN_ONLY); PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_TACKLE, MOVE_POUND, MOVE_SCRATCH, MOVE_FAKE_OUT); } OPPONENT(SPECIES_WOBBUFFET); @@ -118,8 +118,8 @@ DOUBLE_BATTLE_TEST("Instruct-called move fails if it can only be used on the fir DOUBLE_BATTLE_TEST("Instruct-called move doesn't fail if tormented") { - ASSUME(gMovesInfo[MOVE_TORMENT].effect == EFFECT_TORMENT); GIVEN { + ASSUME(gMovesInfo[MOVE_TORMENT].effect == EFFECT_TORMENT); PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_TACKLE, MOVE_POUND, MOVE_SCRATCH, MOVE_FAKE_OUT); } OPPONENT(SPECIES_WOBBUFFET); @@ -136,9 +136,9 @@ DOUBLE_BATTLE_TEST("Instruct-called move doesn't fail if tormented") DOUBLE_BATTLE_TEST("Instruct-called status moves don't fail if holding Assault Vest") { - ASSUME(gItemsInfo[ITEM_ASSAULT_VEST].holdEffect == HOLD_EFFECT_ASSAULT_VEST); - ASSUME(gMovesInfo[MOVE_TRICK].effect == EFFECT_TRICK); GIVEN { + ASSUME(gItemsInfo[ITEM_ASSAULT_VEST].holdEffect == HOLD_EFFECT_ASSAULT_VEST); + ASSUME(gMovesInfo[MOVE_TRICK].effect == EFFECT_TRICK); PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_TACKLE, MOVE_POUND, MOVE_SCRATCH, MOVE_TRICK); } OPPONENT(SPECIES_WOBBUFFET) { Item(ITEM_ASSAULT_VEST); } @@ -154,8 +154,8 @@ DOUBLE_BATTLE_TEST("Instruct-called status moves don't fail if holding Assault V DOUBLE_BATTLE_TEST("Instruct-called status move fails if taunted") { - ASSUME(gMovesInfo[MOVE_TAUNT].effect == EFFECT_TAUNT); GIVEN { + ASSUME(gMovesInfo[MOVE_TAUNT].effect == EFFECT_TAUNT); PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_TACKLE, MOVE_POUND, MOVE_SCRATCH, MOVE_GROWL); } OPPONENT(SPECIES_WOBBUFFET); @@ -180,8 +180,8 @@ DOUBLE_BATTLE_TEST("Instruct-called status move fails if taunted") DOUBLE_BATTLE_TEST("Instruct-called moves fail if disabled") { - ASSUME(gMovesInfo[MOVE_DISABLE].effect == EFFECT_DISABLE); GIVEN { + ASSUME(gMovesInfo[MOVE_DISABLE].effect == EFFECT_DISABLE); PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_TACKLE, MOVE_POUND, MOVE_SCRATCH, MOVE_GROWL); } OPPONENT(SPECIES_WOBBUFFET); @@ -200,9 +200,9 @@ DOUBLE_BATTLE_TEST("Instruct-called moves fail if disabled") DOUBLE_BATTLE_TEST("Instruct-called moves keep their priority") { - ASSUME(gMovesInfo[MOVE_QUICK_ATTACK].priority == 1); - ASSUME(gMovesInfo[MOVE_PSYCHIC_TERRAIN].effect == EFFECT_PSYCHIC_TERRAIN); GIVEN { + ASSUME(gMovesInfo[MOVE_QUICK_ATTACK].priority == 1); + ASSUME(gMovesInfo[MOVE_PSYCHIC_TERRAIN].effect == EFFECT_PSYCHIC_TERRAIN); PLAYER(SPECIES_WOBBUFFET); PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_TACKLE, MOVE_POUND, MOVE_SCRATCH, MOVE_QUICK_ATTACK); } OPPONENT(SPECIES_WOBBUFFET); diff --git a/test/battle/move_effect/reflect_type.c b/test/battle/move_effect/reflect_type.c index 32ed9520c8..0b610efe6e 100644 --- a/test/battle/move_effect/reflect_type.c +++ b/test/battle/move_effect/reflect_type.c @@ -88,11 +88,11 @@ SINGLE_BATTLE_TEST("Reflect Type does not affect any of Silvally's forms") SINGLE_BATTLE_TEST("Reflect Type does not affect Pokémon with no types") { - ASSUME(gSpeciesInfo[SPECIES_ARCANINE].types[0] == TYPE_FIRE); - ASSUME(gSpeciesInfo[SPECIES_ARCANINE].types[1] == TYPE_FIRE); - ASSUME(gSpeciesInfo[SPECIES_POLIWRATH].types[0] == TYPE_WATER); - ASSUME(gSpeciesInfo[SPECIES_POLIWRATH].types[1] == TYPE_FIGHTING); GIVEN { + ASSUME(gSpeciesInfo[SPECIES_ARCANINE].types[0] == TYPE_FIRE); + ASSUME(gSpeciesInfo[SPECIES_ARCANINE].types[1] == TYPE_FIRE); + ASSUME(gSpeciesInfo[SPECIES_POLIWRATH].types[0] == TYPE_WATER); + ASSUME(gSpeciesInfo[SPECIES_POLIWRATH].types[1] == TYPE_FIGHTING); PLAYER(SPECIES_ARCANINE); OPPONENT(SPECIES_POLIWRATH); } WHEN { @@ -109,11 +109,11 @@ SINGLE_BATTLE_TEST("Reflect Type does not affect Pokémon with no types") SINGLE_BATTLE_TEST("Reflect Type copies a target's dual types") { - ASSUME(gSpeciesInfo[SPECIES_ARCANINE].types[0] == TYPE_FIRE); - ASSUME(gSpeciesInfo[SPECIES_ARCANINE].types[1] == TYPE_FIRE); - ASSUME(gSpeciesInfo[SPECIES_POLIWRATH].types[0] == TYPE_WATER); - ASSUME(gSpeciesInfo[SPECIES_POLIWRATH].types[1] == TYPE_FIGHTING); GIVEN { + ASSUME(gSpeciesInfo[SPECIES_ARCANINE].types[0] == TYPE_FIRE); + ASSUME(gSpeciesInfo[SPECIES_ARCANINE].types[1] == TYPE_FIRE); + ASSUME(gSpeciesInfo[SPECIES_POLIWRATH].types[0] == TYPE_WATER); + ASSUME(gSpeciesInfo[SPECIES_POLIWRATH].types[1] == TYPE_FIGHTING); PLAYER(SPECIES_ARCANINE); OPPONENT(SPECIES_POLIWRATH); } WHEN { @@ -131,11 +131,11 @@ SINGLE_BATTLE_TEST("Reflect Type copies a target's dual types") SINGLE_BATTLE_TEST("Reflect Type copies a target's pure type") { - ASSUME(gSpeciesInfo[SPECIES_ARCANINE].types[0] == TYPE_FIRE); - ASSUME(gSpeciesInfo[SPECIES_ARCANINE].types[1] == TYPE_FIRE); - ASSUME(gSpeciesInfo[SPECIES_SUDOWOODO].types[0] == TYPE_ROCK); - ASSUME(gSpeciesInfo[SPECIES_SUDOWOODO].types[1] == TYPE_ROCK); GIVEN { + ASSUME(gSpeciesInfo[SPECIES_ARCANINE].types[0] == TYPE_FIRE); + ASSUME(gSpeciesInfo[SPECIES_ARCANINE].types[1] == TYPE_FIRE); + ASSUME(gSpeciesInfo[SPECIES_SUDOWOODO].types[0] == TYPE_ROCK); + ASSUME(gSpeciesInfo[SPECIES_SUDOWOODO].types[1] == TYPE_ROCK); PLAYER(SPECIES_ARCANINE); OPPONENT(SPECIES_SUDOWOODO); } WHEN { @@ -153,11 +153,11 @@ SINGLE_BATTLE_TEST("Reflect Type copies a target's pure type") SINGLE_BATTLE_TEST("Reflect Type defaults to Normal type for the user's types[0] and types[1] if the target only has a 3rd type") { - ASSUME(gSpeciesInfo[SPECIES_WOBBUFFET].types[0] == TYPE_PSYCHIC); - ASSUME(gSpeciesInfo[SPECIES_WOBBUFFET].types[1] == TYPE_PSYCHIC); - ASSUME(gSpeciesInfo[SPECIES_ARCANINE].types[0] == TYPE_FIRE); - ASSUME(gSpeciesInfo[SPECIES_ARCANINE].types[1] == TYPE_FIRE); GIVEN { + ASSUME(gSpeciesInfo[SPECIES_WOBBUFFET].types[0] == TYPE_PSYCHIC); + ASSUME(gSpeciesInfo[SPECIES_WOBBUFFET].types[1] == TYPE_PSYCHIC); + ASSUME(gSpeciesInfo[SPECIES_ARCANINE].types[0] == TYPE_FIRE); + ASSUME(gSpeciesInfo[SPECIES_ARCANINE].types[1] == TYPE_FIRE); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_ARCANINE); } WHEN { diff --git a/test/battle/move_effects_combined/triple_arrows.c b/test/battle/move_effects_combined/triple_arrows.c index 4286a9ba07..383fce6cbf 100644 --- a/test/battle/move_effects_combined/triple_arrows.c +++ b/test/battle/move_effects_combined/triple_arrows.c @@ -46,10 +46,10 @@ SINGLE_BATTLE_TEST("Triple Arrows makes the foe flinch 30% of the time") SINGLE_BATTLE_TEST("Triple Arrows lands a critical hit") { - ASSUME(B_CRIT_CHANCE >= GEN_7); - ASSUME(gMovesInfo[MOVE_TRIPLE_ARROWS].criticalHitStage == 1); PASSES_RANDOMLY(1, 8, RNG_CRITICAL_HIT); GIVEN { + ASSUME(B_CRIT_CHANCE >= GEN_7); + ASSUME(gMovesInfo[MOVE_TRIPLE_ARROWS].criticalHitStage == 1); PLAYER(SPECIES_WOBBUFFET); OPPONENT(SPECIES_WOBBUFFET); } WHEN { From de242c8a29ffebad2b9469a45e13eefd34c7a69c Mon Sep 17 00:00:00 2001 From: Erickson Russell <99516581+Flash1Lucky@users.noreply.github.com> Date: Sun, 1 Sep 2024 17:15:39 -0400 Subject: [PATCH 32/78] EV Caps and EV Items (#5269) * EV Caps and EV Items Introduces EV caps, inspired by level caps, with configurable options for various cap implementations. Additionally, modifies EV items to interact with these caps based on a configurable setting. * EV Caps fixes Changed the EV caps to be less redundant and work better overall. * EV Caps Fix part 2 Set the items back to ItemUseOutOfBattle_Medicine, got rid of ItemUseOutOfBattle_EVItem and ItemUseCB_EVItem, and reverted CB2_ReturnToPartyMenuUsingItem to CB2_ReturnToPartyMenuUsingRareCandy * EV Caps Fixes Part 3 Fixed being able to use EV items to go over 252 limit on single stats. * Update src/ev_caps.c Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com> --------- Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com> --- include/config/ev_caps.h | 16 +++++++++ include/constants/global.h | 1 + include/ev_caps.h | 10 ++++++ src/ev_caps.c | 41 ++++++++++++++++++++++ src/pokemon.c | 71 ++++++++++++++++++++++---------------- 5 files changed, 110 insertions(+), 29 deletions(-) create mode 100644 include/config/ev_caps.h create mode 100644 include/ev_caps.h create mode 100644 src/ev_caps.c diff --git a/include/config/ev_caps.h b/include/config/ev_caps.h new file mode 100644 index 0000000000..0513ff086e --- /dev/null +++ b/include/config/ev_caps.h @@ -0,0 +1,16 @@ +#ifndef GUARD_CONFIG_EV_CAP_H +#define GUARD_CONFIG_EV_CAP_H + +// Constants for EV Cap Types +#define EV_CAP_NONE 0 // Regular behavior, no EV caps are applied +#define EV_CAP_FLAG_LIST 1 // EV cap is chosen according to the first unset flag in `sEVCapFlagMap` +#define EV_CAP_VARIABLE 2 // EV cap is chosen according to the contents of the event variable specified by B_EV_CAP_VARIABLE +#define EV_CAP_NO_GAIN 3 // No EVs can be gained + +// Configs for EV Cap +#define B_EV_CAP_TYPE EV_CAP_NONE // [EV_CAP_NONE, EV_CAP_FLAG_LIST, EV_CAP_VARIABLE, EV_CAP_NO_GAIN] choose the type of EV cap to apply#define B_EV_CAP_VARIABLE 12 // event variable used to derive EV cap if B_EV_CAP_TYPE is set to EV_CAP_VARIABLE +#define B_EV_CAP_VARIABLE 8 // event variable used to derive EV cap if B_EV_CAP_TYPE is set to EV_CAP_VARIABLE + +#define B_EV_ITEMS_CAP FALSE // If set to true, EV-boosting items can't be used to go over the EV cap + +#endif /*GUARD_CONFIG_EV_CAP_H*/ diff --git a/include/constants/global.h b/include/constants/global.h index 7e26bd5a0d..a4623c9d8b 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -8,6 +8,7 @@ #include "config/level_caps.h" #include "config/pokemon.h" #include "config/overworld.h" +#include "config/ev_caps.h" // Invalid Versions show as "----------" in Gen 4 and Gen 5's summary screen. // In Gens 6 and 7, invalid versions instead show "a distant land" in the summary screen. diff --git a/include/ev_caps.h b/include/ev_caps.h new file mode 100644 index 0000000000..2b2dd0b02b --- /dev/null +++ b/include/ev_caps.h @@ -0,0 +1,10 @@ +#ifndef GUARD_EV_CAP_H +#define GUARD_EV_CAP_H + +#if B_EV_CAP_TYPE != EV_CAP_NONE && B_EV_CAP_TYPE != EV_CAP_FLAG_LIST && B_EV_CAP_TYPE != EV_CAP_VARIABLE && B_EV_CAP_TYPE != EV_CAP_NO_GAIN +#error "Invalid choice for B_EV_CAP_TYPE, must be one of [EV_CAP_NONE, EV_CAP_FLAG_LIST, EV_CAP_VARIABLE, EV_CAP_NO_GAIN]" +#endif + +u32 GetCurrentEVCap(void); + +#endif /* GUARD_EV_CAP_H */ diff --git a/src/ev_caps.c b/src/ev_caps.c new file mode 100644 index 0000000000..8eb3531ca4 --- /dev/null +++ b/src/ev_caps.c @@ -0,0 +1,41 @@ +#include "global.h" +#include "battle.h" +#include "event_data.h" +#include "ev_caps.h" +#include "pokemon.h" + +u32 GetCurrentEVCap(void) +{ + + static const u16 sEvCapFlagMap[][2] = { + // Define EV caps for each milestone + {FLAG_BADGE01_GET, 30}, + {FLAG_BADGE02_GET, 90}, + {FLAG_BADGE03_GET, 150}, + {FLAG_BADGE04_GET, 210}, + {FLAG_BADGE05_GET, 270}, + {FLAG_BADGE06_GET, 330}, + {FLAG_BADGE07_GET, 390}, + {FLAG_BADGE08_GET, 450}, + {FLAG_IS_CHAMPION, MAX_TOTAL_EVS}, + }; + + if (B_EV_CAP_TYPE == EV_CAP_FLAG_LIST) + { + for (u32 evCap = 0; evCap < ARRAY_COUNT(sEvCapFlagMap); evCap++) + { + if (!FlagGet(sEvCapFlagMap[evCap][0])) + return sEvCapFlagMap[evCap][1]; + } + } + else if (B_EV_CAP_TYPE == EV_CAP_VARIABLE) + { + return VarGet(B_EV_CAP_VARIABLE); + } + else if (B_EV_CAP_TYPE == EV_CAP_NO_GAIN) + { + return 0; + } + + return MAX_TOTAL_EVS; +} diff --git a/src/pokemon.c b/src/pokemon.c index 718ce00c65..165c430d96 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -60,6 +60,7 @@ #include "constants/union_room.h" #include "constants/weather.h" #include "wild_encounter.h" +#include "ev_caps.h" #define FRIENDSHIP_EVO_THRESHOLD ((P_FRIENDSHIP_EVO_THRESHOLD >= GEN_9) ? 160 : 220) @@ -3752,6 +3753,9 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov s8 evChange; u16 evCount; + // Determine the EV cap to use + u32 maxAllowedEVs = !B_EV_ITEMS_CAP ? MAX_TOTAL_EVS : GetCurrentEVCap(); + // Get item hold effect heldItem = GetMonData(mon, MON_DATA_HELD_ITEM, NULL); if (heldItem == ITEM_ENIGMA_BERRY_E_READER) @@ -3879,27 +3883,31 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov if (evChange > 0) // Increasing EV (HP or Atk) { - // Has EV increase limit already been reached? - if (evCount >= MAX_TOTAL_EVS) + // Check if the total EV limit is reached + if (evCount >= maxAllowedEVs) return TRUE; - if (itemEffect[10] & ITEM10_IS_VITAMIN) - evCap = EV_ITEM_RAISE_LIMIT; - else - evCap = MAX_PER_STAT_EVS; - + // Ensure the increase does not exceed the max EV per stat (252) + evCap = (itemEffect[10] & ITEM10_IS_VITAMIN) ? EV_ITEM_RAISE_LIMIT : MAX_PER_STAT_EVS; + + // Check if the per-stat limit is reached if (dataSigned >= evCap) - break; - - // Limit the increase + return TRUE; // Prevents item use if the per-stat cap is already reached + if (dataSigned + evChange > evCap) - temp2 = evCap - (dataSigned + evChange) + evChange; + temp2 = evCap - dataSigned; else temp2 = evChange; - if (evCount + temp2 > MAX_TOTAL_EVS) - temp2 += MAX_TOTAL_EVS - (evCount + temp2); + // Ensure the total EVs do not exceed the maximum allowed (510) + if (evCount + temp2 > maxAllowedEVs) + temp2 = maxAllowedEVs - evCount; + // Prevent item use if no EVs can be increased + if (temp2 == 0) + return TRUE; + + // Apply the EV increase dataSigned += temp2; } else if (evChange < 0) // Decreasing EV (HP or Atk) @@ -4064,27 +4072,31 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov evChange = temp2; if (evChange > 0) // Increasing EV { - // Has EV increase limit already been reached? - if (evCount >= MAX_TOTAL_EVS) + // Check if the total EV limit is reached + if (evCount >= maxAllowedEVs) return TRUE; - if (itemEffect[10] & ITEM10_IS_VITAMIN) - evCap = EV_ITEM_RAISE_LIMIT; - else - evCap = MAX_PER_STAT_EVS; - + // Ensure the increase does not exceed the max EV per stat (252) + evCap = (itemEffect[10] & ITEM10_IS_VITAMIN) ? EV_ITEM_RAISE_LIMIT : MAX_PER_STAT_EVS; + + // Check if the per-stat limit is reached if (dataSigned >= evCap) - break; - - // Limit the increase + return TRUE; // Prevents item use if the per-stat cap is already reached + if (dataSigned + evChange > evCap) - temp2 = evCap - (dataSigned + evChange) + evChange; + temp2 = evCap - dataSigned; else temp2 = evChange; - if (evCount + temp2 > MAX_TOTAL_EVS) - temp2 += MAX_TOTAL_EVS - (evCount + temp2); + // Ensure the total EVs do not exceed the maximum allowed (510) + if (evCount + temp2 > maxAllowedEVs) + temp2 = maxAllowedEVs - evCount; + // Prevent item use if no EVs can be increased + if (temp2 == 0) + return TRUE; + + // Apply the EV increase dataSigned += temp2; } else if (evChange < 0) // Decreasing EV @@ -5195,6 +5207,7 @@ void MonGainEVs(struct Pokemon *mon, u16 defeatedSpecies) int i, multiplier; u8 stat; u8 bonus; + u32 currentEVCap = GetCurrentEVCap(); heldItem = GetMonData(mon, MON_DATA_HELD_ITEM, 0); if (heldItem == ITEM_ENIGMA_BERRY_E_READER) @@ -5224,7 +5237,7 @@ void MonGainEVs(struct Pokemon *mon, u16 defeatedSpecies) for (i = 0; i < NUM_STATS; i++) { - if (totalEVs >= MAX_TOTAL_EVS) + if (totalEVs >= currentEVCap) break; if (CheckPartyHasHadPokerus(mon, 0)) @@ -5275,8 +5288,8 @@ void MonGainEVs(struct Pokemon *mon, u16 defeatedSpecies) if (holdEffect == HOLD_EFFECT_MACHO_BRACE) evIncrease *= 2; - if (totalEVs + (s16)evIncrease > MAX_TOTAL_EVS) - evIncrease = ((s16)evIncrease + MAX_TOTAL_EVS) - (totalEVs + evIncrease); + if (totalEVs + (s16)evIncrease > currentEVCap) + evIncrease = ((s16)evIncrease + currentEVCap) - (totalEVs + evIncrease); if (evs[i] + (s16)evIncrease > MAX_PER_STAT_EVS) { From fb1f12aa1b6fbe31875a3aa565160fa5b04ca49d Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Mon, 2 Sep 2024 13:58:10 +0200 Subject: [PATCH 33/78] Fixed Max Attacks into Max Guards message printing (#5312) * Fixed Max Attacks into Max Guards message printing * Updated the solution --------- Co-authored-by: Hedara --- src/battle_script_commands.c | 7 ++++++- test/battle/gimmick/dynamax.c | 17 ++++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 6509dab069..9d8c0d4491 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1730,7 +1730,12 @@ static void AccuracyCheck(bool32 recalcDragonDarts, const u8 *nextInstr, const u else if (!JumpIfMoveAffectedByProtect(gCurrentMove)) gBattlescriptCurrInstr = nextInstr; if (GetActiveGimmick(gBattlerAttacker) == GIMMICK_DYNAMAX) - AbilityBattleEffects(ABILITYEFFECT_ABSORBING, gBattlerTarget, 0, 0, gCurrentMove); + { + if (gProtectStructs[gBattlerTarget].maxGuarded) + gBattlescriptCurrInstr = nextInstr; + else + AbilityBattleEffects(ABILITYEFFECT_ABSORBING, gBattlerTarget, 0, 0, gCurrentMove); + } } else if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_2ND_HIT || (gSpecialStatuses[gBattlerAttacker].multiHitOn diff --git a/test/battle/gimmick/dynamax.c b/test/battle/gimmick/dynamax.c index 599ae4d454..f9865f7b6c 100644 --- a/test/battle/gimmick/dynamax.c +++ b/test/battle/gimmick/dynamax.c @@ -400,6 +400,7 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Max Moves deal 1/4 damage through protect", s16 da } } +// This test will fail if it's the first test a thread runs SINGLE_BATTLE_TEST("(DYNAMAX) Max Moves don't bypass Max Guard") { GIVEN { @@ -1477,6 +1478,20 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Moxie clones can be triggered by Max Moves faintin } } +// This test will fail if it's the first test a thread runs +SINGLE_BATTLE_TEST("(DYNAMAX) Max Attacks prints a message when hitting into Max Guard") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(player, MOVE_GROWL, gimmick: GIMMICK_DYNAMAX); MOVE(opponent, MOVE_TACKLE, gimmick: GIMMICK_DYNAMAX); } + } SCENE { + MESSAGE("Wobbuffet used Max Guard!"); + MESSAGE("Foe Wobbuffet used Max Strike!"); + } +} + SINGLE_BATTLE_TEST("(DYNAMAX) Max Moves don't bypass absorbing abilities") { u32 move, ability, species; @@ -1512,4 +1527,4 @@ SINGLE_BATTLE_TEST("(DYNAMAX) Max Moves don't bypass absorbing abilities") } ABILITY_POPUP(opponent, ability); } -} +} \ No newline at end of file From a422db09c69d8d07e336878081b63c716cf19b32 Mon Sep 17 00:00:00 2001 From: SarnPoke <77281351+SarnPoke@users.noreply.github.com> Date: Mon, 2 Sep 2024 22:53:03 +0200 Subject: [PATCH 34/78] Fix Slateport Battle Tent/Battle Factory (#5281) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix Slateport Battle Tent/Battle Factory Stops the Battle Factory and Slateport Battle Tent from returning no Pokémon when player wants to swap their Pokémon. * Fix player rental party being junk data after rest Fixes #5280 * Consolidate checks into single method Consolidates every gSpecialVar_0x8005 check into a singular method. --- include/frontier_util.h | 1 + src/battle_arena.c | 1 + src/battle_dome.c | 1 + src/battle_factory.c | 11 ++--------- src/battle_main.c | 9 +++++++-- src/battle_palace.c | 1 + src/battle_pike.c | 1 + src/battle_pyramid.c | 2 ++ src/battle_tent.c | 3 +++ src/battle_tower.c | 1 + src/frontier_util.c | 11 +++++++++++ 11 files changed, 31 insertions(+), 11 deletions(-) diff --git a/include/frontier_util.h b/include/frontier_util.h index 637b7f91bb..0d617782a3 100644 --- a/include/frontier_util.h +++ b/include/frontier_util.h @@ -24,5 +24,6 @@ u16 GetFrontierBrainMonMove(u8 monId, u8 moveSlotId); u8 GetFrontierBrainMonNature(u8 monId); u8 GetFrontierBrainMonEvs(u8 monId, u8 evStatId); s32 GetFronterBrainSymbol(void); +void ClearEnemyPartyAfterChallenge(void); #endif // GUARD_FRONTIER_UTIL_H diff --git a/src/battle_arena.c b/src/battle_arena.c index 26df519be0..d0819fa8f0 100644 --- a/src/battle_arena.c +++ b/src/battle_arena.c @@ -529,6 +529,7 @@ static void SetArenaData(void) static void SaveArenaChallenge(void) { + ClearEnemyPartyAfterChallenge(); gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; VarSet(VAR_TEMP_CHALLENGE_STATUS, 0); gSaveBlock2Ptr->frontier.challengePaused = TRUE; diff --git a/src/battle_dome.c b/src/battle_dome.c index 06acf6e2f2..a91da6fda7 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -2593,6 +2593,7 @@ static void SetDomeOpponentGraphicsId(void) static void SaveDomeChallenge(void) { + ClearEnemyPartyAfterChallenge(); gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; VarSet(VAR_TEMP_CHALLENGE_STATUS, 0); gSaveBlock2Ptr->frontier.challengePaused = TRUE; diff --git a/src/battle_factory.c b/src/battle_factory.c index b5645368c2..8edd9a2ddf 100644 --- a/src/battle_factory.c +++ b/src/battle_factory.c @@ -268,6 +268,7 @@ static void SetBattleFactoryData(void) static void SaveFactoryChallenge(void) { + ClearEnemyPartyAfterChallenge(); gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; VarSet(VAR_TEMP_CHALLENGE_STATUS, 0); gSaveBlock2Ptr->frontier.challengePaused = TRUE; @@ -430,9 +431,6 @@ static void SetPlayerAndOpponentParties(void) ivs = gSaveBlock2Ptr->frontier.rentalMons[i].ivs; CreateFacilityMon(&gFacilityTrainerMons[monId], monLevel, ivs, OT_ID_PLAYER_ID, FLAG_FRONTIER_MON_FACTORY, &gPlayerParty[i]); - SetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY, - &gSaveBlock2Ptr->frontier.rentalMons[i].personality); - CalculateMonStats(&gPlayerParty[i]); } } @@ -444,12 +442,7 @@ static void SetPlayerAndOpponentParties(void) { monId = gSaveBlock2Ptr->frontier.rentalMons[i + FRONTIER_PARTY_SIZE].monId; ivs = gSaveBlock2Ptr->frontier.rentalMons[i + FRONTIER_PARTY_SIZE].ivs; - CreateFacilityMon(&gFacilityTrainerMons[monId], - monLevel, ivs, OT_ID_PLAYER_ID, FLAG_FRONTIER_MON_FACTORY, - &gEnemyParty[i]); - SetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY, - &gSaveBlock2Ptr->frontier.rentalMons[i + FRONTIER_PARTY_SIZE].personality); - CalculateMonStats(&gPlayerParty[i]); + CreateFacilityMon(&gFacilityTrainerMons[monId], monLevel, ivs, OT_ID_PLAYER_ID, FLAG_FRONTIER_MON_FACTORY, &gEnemyParty[i]); } break; } diff --git a/src/battle_main.c b/src/battle_main.c index 4165dea20d..d011cde1db 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -5624,9 +5624,14 @@ static void FreeResetData_ReturnToOvOrDoEvolutions(void) } FreeAllWindowBuffers(); - if (gBattleStruct != NULL && !(gBattleTypeFlags & BATTLE_TYPE_LINK)) + if (!(gBattleTypeFlags & BATTLE_TYPE_LINK)) { - ZeroEnemyPartyMons(); + // To account for Battle Factory and Slateport Battle Tent, enemy parties are zeroed out in the facilitites respective src/xxx.c files + // The ZeroEnemyPartyMons() call happens in SaveXXXChallenge function (eg. SaveFactoryChallenge) + if (!(gBattleTypeFlags & BATTLE_TYPE_FRONTIER)) + { + ZeroEnemyPartyMons(); + } ResetDynamicAiFunc(); FreeMonSpritesGfx(); FreeBattleResources(); diff --git a/src/battle_palace.c b/src/battle_palace.c index a521acea2b..fdcb8d3903 100644 --- a/src/battle_palace.c +++ b/src/battle_palace.c @@ -180,6 +180,7 @@ static void IncrementPalaceStreak(void) static void SavePalaceChallenge(void) { + ClearEnemyPartyAfterChallenge(); gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; VarSet(VAR_TEMP_CHALLENGE_STATUS, 0); gSaveBlock2Ptr->frontier.challengePaused = TRUE; diff --git a/src/battle_pike.c b/src/battle_pike.c index 3869531d20..3ce3cd443a 100644 --- a/src/battle_pike.c +++ b/src/battle_pike.c @@ -707,6 +707,7 @@ static void ClearInWildMonRoom(void) static void SavePikeChallenge(void) { + ClearEnemyPartyAfterChallenge(); gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; VarSet(VAR_TEMP_CHALLENGE_STATUS, 0); gSaveBlock2Ptr->frontier.challengePaused = TRUE; diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c index ce7a0526f2..0a82124428 100644 --- a/src/battle_pyramid.c +++ b/src/battle_pyramid.c @@ -2,6 +2,7 @@ #include "battle_pyramid.h" #include "battle_pyramid_bag.h" #include "event_data.h" +#include "frontier_util.h" #include "battle.h" #include "battle_setup.h" #include "battle_tower.h" @@ -936,6 +937,7 @@ static void SetBattlePyramidData(void) static void SavePyramidChallenge(void) { + ClearEnemyPartyAfterChallenge(); gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; VarSet(VAR_TEMP_CHALLENGE_STATUS, 0); gSaveBlock2Ptr->frontier.challengePaused = TRUE; diff --git a/src/battle_tent.c b/src/battle_tent.c index 8c6a94509a..49df90ffd6 100644 --- a/src/battle_tent.c +++ b/src/battle_tent.c @@ -139,6 +139,7 @@ static void BufferVerdanturfTentTrainerIntro(void) static void SaveVerdanturfTentChallenge(void) { + ClearEnemyPartyAfterChallenge(); gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; VarSet(VAR_TEMP_CHALLENGE_STATUS, 0); gSaveBlock2Ptr->frontier.challengePaused = TRUE; @@ -189,6 +190,7 @@ static void SetFallarborTentPrize(void) static void SaveFallarborTentChallenge(void) { + ClearEnemyPartyAfterChallenge(); gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; VarSet(VAR_TEMP_CHALLENGE_STATUS, 0); gSaveBlock2Ptr->frontier.challengePaused = TRUE; @@ -244,6 +246,7 @@ static void SetSlateportTentPrize(void) static void SaveSlateportTentChallenge(void) { + ClearEnemyPartyAfterChallenge(); gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; VarSet(VAR_TEMP_CHALLENGE_STATUS, 0); gSaveBlock2Ptr->frontier.challengePaused = TRUE; diff --git a/src/battle_tower.c b/src/battle_tower.c index 51200512f1..72858a854c 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -2206,6 +2206,7 @@ static void SaveTowerChallenge(void) if (gSpecialVar_0x8005 == 0 && (challengeNum > 1 || gSaveBlock2Ptr->frontier.curChallengeBattleNum != 0)) SaveBattleTowerRecord(); + ClearEnemyPartyAfterChallenge(); gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005; VarSet(VAR_TEMP_CHALLENGE_STATUS, 0); gSaveBlock2Ptr->frontier.challengePaused = TRUE; diff --git a/src/frontier_util.c b/src/frontier_util.c index ca8c76a0fd..3561ef5472 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -2578,3 +2578,14 @@ static void CopyFrontierBrainText(bool8 playerWonText) break; } } + +void ClearEnemyPartyAfterChallenge() +{ + // We zero out the Enemy's party here when the player either wins or loses the challenge since we + // can't do it the usual way in FreeResetData_ReturnToOvOrDoEvolutions() in battle_main.c due to the + // way facilities like the Battle Factory and the Slateport Battle Tent work + if (gSpecialVar_0x8005 == 0) + { + ZeroEnemyPartyMons(); + } +} From 9bd5601b5c085a70111f0fc4eaf7d98e43adbfa8 Mon Sep 17 00:00:00 2001 From: Pawkkie <61265402+Pawkkie@users.noreply.github.com> Date: Mon, 2 Sep 2024 17:43:41 -0400 Subject: [PATCH 35/78] Wonder Guard AI Fix (#5317) * Fix Wonder Guard looping * Review + Sheer Cold --- src/battle_ai_main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 67e9b90a24..869f5dded3 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -889,7 +889,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) break; case ABILITY_WONDER_GUARD: if (effectiveness < AI_EFFECTIVENESS_x2) - return 0; + RETURN_SCORE_MINUS(20); break; case ABILITY_JUSTIFIED: if (moveType == TYPE_DARK && !IS_MOVE_STATUS(move)) @@ -1498,7 +1498,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) break; case EFFECT_OHKO: if (B_SHEER_COLD_IMMUNITY >= GEN_7 && move == MOVE_SHEER_COLD && IS_BATTLER_OF_TYPE(battlerDef, TYPE_ICE)) - return 0; + RETURN_SCORE_MINUS(20); if (!ShouldTryOHKO(battlerAtk, battlerDef, aiData->abilities[battlerAtk], aiData->abilities[battlerDef], move)) ADJUST_SCORE(-10); else if (GetActiveGimmick(battlerDef) == GIMMICK_DYNAMAX) @@ -2478,7 +2478,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) if (IS_TARGETING_PARTNER(battlerAtk, battlerDef)) { if (gStatuses3[battlerDef] & STATUS3_HEAL_BLOCK) - return 0; + return 0; // cannot even select if (AtMaxHp(battlerDef)) ADJUST_SCORE(-10); else if (gBattleMons[battlerDef].hp > gBattleMons[battlerDef].maxHP / 2) From 04b5c013a9668e3bd5ab967679962cdf036de3f8 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Tue, 3 Sep 2024 19:28:59 +0200 Subject: [PATCH 36/78] Adds config to show target of ingame partner (#5307) * Adds config to show chosen move and target of ingame partner, `#define B_SHOW_PARTNER_TARGET`, default `FALSE` --------- Co-authored-by: Hedara --- charmap.txt | 1 + gflib/characters.h | 1 + graphics/fonts/latin_normal.png | Bin 3543 -> 4661 bytes include/config/battle.h | 3 +++ src/battle_controller_player.c | 36 +++++++++++++++++++++++++++++++- src/fonts.c | 2 +- 6 files changed, 41 insertions(+), 2 deletions(-) diff --git a/charmap.txt b/charmap.txt index 4c9f2e0497..e5a901d6d9 100644 --- a/charmap.txt +++ b/charmap.txt @@ -45,6 +45,7 @@ SUPER_ER = 2C LV = 34 '=' = 35 ';' = 36 +V_D_ARROW = 38 '¿' = 51 '¡' = 52 PK = 53 diff --git a/gflib/characters.h b/gflib/characters.h index 8ed440e63a..3725cecce0 100644 --- a/gflib/characters.h +++ b/gflib/characters.h @@ -53,6 +53,7 @@ #define CHAR_EQUALS 0x35 #define CHAR_SEMICOLON 0x36 #define CHAR_BARD_WORD_DELIMIT 0x37 // Empty space to separate words in Bard's song +#define CHAR_V_D_ARROW 0x38 #define CHAR_INV_QUESTION_MARK 0x51 #define CHAR_INV_EXCL_MARK 0x52 #define CHAR_PK 0x53 diff --git a/graphics/fonts/latin_normal.png b/graphics/fonts/latin_normal.png index ade914858f4810795c03faa18e38f1263f761091..d1de69d136c6fff2a296f42ee6e46c003f6c0493 100644 GIT binary patch literal 4661 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 z-d7!~6`&_U!iVU;chosenMovePositions + B_POSITION_PLAYER_RIGHT)]; + StringAppend(gStringVar1, gMovesInfo[move].name); + if (gMovesInfo[move].target == MOVE_TARGET_SELECTED) + { + if (gBattleStruct->aiChosenTarget[B_POSITION_PLAYER_RIGHT] == B_POSITION_OPPONENT_LEFT) + StringAppend(gStringVar1, COMPOUND_STRING(" -{UP_ARROW}")); + else if (gBattleStruct->aiChosenTarget[B_POSITION_PLAYER_RIGHT] == B_POSITION_OPPONENT_RIGHT) + StringAppend(gStringVar1, COMPOUND_STRING(" {UP_ARROW}-")); + else if (gBattleStruct->aiChosenTarget[B_POSITION_PLAYER_RIGHT] == B_POSITION_PLAYER_LEFT) + StringAppend(gStringVar1, COMPOUND_STRING(" {DOWN_ARROW}-")); + else if (gBattleStruct->aiChosenTarget[B_POSITION_PLAYER_RIGHT] == B_POSITION_PLAYER_RIGHT) + StringAppend(gStringVar1, COMPOUND_STRING(" {DOWN_ARROW}-")); + } + else if (gMovesInfo[move].target == MOVE_TARGET_BOTH) + { + StringAppend(gStringVar1, COMPOUND_STRING(" {UP_ARROW}{UP_ARROW}")); + } + else if (gMovesInfo[move].target == MOVE_TARGET_FOES_AND_ALLY) + { + StringAppend(gStringVar1, COMPOUND_STRING(" {V_D_ARROW}{UP_ARROW}")); + } + else if (gMovesInfo[move].target == MOVE_TARGET_ALL_BATTLERS) + { + StringAppend(gStringVar1, COMPOUND_STRING(" {V_D_ARROW}{V_D_ARROW}")); + } + BattlePutTextOnWindow(gStringVar1, B_WIN_ACTION_PROMPT); + } + else + { + BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_ACTION_PROMPT); + } } static void PlayerHandleYesNoBox(u32 battler) diff --git a/src/fonts.c b/src/fonts.c index 6bd2d35e83..3f2c536985 100644 --- a/src/fonts.c +++ b/src/fonts.c @@ -149,7 +149,7 @@ ALIGNED(4) const u8 gFontNormalLatinGlyphWidths[] = { 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6, 8, 6, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6, 6, 3, 6, 6, 6, 6, 6, 8, 6, 6, 6, 6, 6, 6, 9, 7, 6, 3, - 3, 3, 3, 3, 10, 8, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 10, 8, 3, 3, 7, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6, 6, 4, 8, 8, 8, 7, 8, 8, 4, 6, 6, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6, 3, 3, 3, 3, 3, 3, 6, From 28a9ad3399ac3a72f3e44cbebb6e2885305c5253 Mon Sep 17 00:00:00 2001 From: ghoulslash <41651341+ghoulslash@users.noreply.github.com> Date: Tue, 3 Sep 2024 14:22:01 -0400 Subject: [PATCH 37/78] (Default Off) Item Description Headers (#4767) * add item descption headers and (default-off) config * revert test script * OW_SHOW_ITEM_DESCRIPTIONS can be 0(off), 1(first time) or 2(always), move code to overworld.c to prevent issues with users whove merged original branch. fix styling * add ow item header config value labels * Update include/config/overworld.h Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com> * Update src/overworld.c * Update include/overworld.h * ScriptShowItemDescription remove unused var * fix ScriptShowItemDescription warning --------- Co-authored-by: ghoulslash Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com> --- asm/macros/event.inc | 17 ++ data/maps/MtChimney/scripts.inc | 14 ++ data/maps/Route109_SeashoreHouse/scripts.inc | 5 + data/scripts/berry_tree.inc | 3 + data/scripts/obtain_item.inc | 14 ++ include/config/overworld.h | 6 + include/global.h | 5 + include/overworld.h | 8 + src/berry.c | 2 + src/overworld.c | 207 +++++++++++++++++++ src/shop.c | 1 + 11 files changed, 282 insertions(+) diff --git a/asm/macros/event.inc b/asm/macros/event.inc index 891c7fd4ed..89a6a46830 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -2321,3 +2321,20 @@ .macro togglefakertc callnative Script_ToggleFakeRtc .endm + + @ ============================ @ + @ ITEM DESCRIPTION HEADER MACROS + @ Used with OW_SHOW_ITEM_DESCRIPTIONS config + .macro showitemdescription + callnative ScriptShowItemDescription + .byte 0 + .endm + + .macro showberrydescription + callnative ScriptShowItemDescription + .byte 1 + .endm + + .macro hideitemdescription + callnative ScriptHideItemDescription + .endm diff --git a/data/maps/MtChimney/scripts.inc b/data/maps/MtChimney/scripts.inc index b4becfabee..fbd0da31ae 100644 --- a/data/maps/MtChimney/scripts.inc +++ b/data/maps/MtChimney/scripts.inc @@ -111,6 +111,7 @@ MtChimney_EventScript_LavaCookieLady:: msgbox MtChimney_Text_ThankYouDear, MSGBOX_DEFAULT checkitemspace ITEM_LAVA_COOKIE call_if_eq VAR_RESULT, TRUE, MtChimney_EventScript_RemoveMoney +.if OW_SHOW_ITEM_DESCRIPTIONS == OW_ITEM_DESCRIPTIONS_OFF giveitem ITEM_LAVA_COOKIE goto_if_eq VAR_RESULT, FALSE, MtChimney_EventScript_BagIsFull hidemoneybox @@ -122,6 +123,19 @@ MtChimney_EventScript_BagIsFull:: hidemoneybox release end +.else + hidemoneybox + giveitem ITEM_LAVA_COOKIE + goto_if_eq VAR_RESULT, FALSE, MtChimney_EventScript_BagIsFull + release + end + +MtChimney_EventScript_BagIsFull:: + msgbox gText_TooBadBagIsFull, MSGBOX_DEFAULT + release + end +.endif @ OW_SHOW_ITEM_DESCRIPTIONS + MtChimney_EventScript_RemoveMoney:: removemoney 200 diff --git a/data/maps/Route109_SeashoreHouse/scripts.inc b/data/maps/Route109_SeashoreHouse/scripts.inc index afb2a4aa0d..d871596b9a 100644 --- a/data/maps/Route109_SeashoreHouse/scripts.inc +++ b/data/maps/Route109_SeashoreHouse/scripts.inc @@ -52,8 +52,13 @@ Route109_SeashoreHouse_EventScript_BuySodaPop:: msgbox Route109_SeashoreHouse_Text_HereYouGo, MSGBOX_DEFAULT removemoney 300 updatemoneybox +.if OW_SHOW_ITEM_DESCRIPTIONS != OW_ITEM_DESCRIPTIONS_OFF + hidemoneybox + giveitem ITEM_SODA_POP +.else giveitem ITEM_SODA_POP hidemoneybox +.endif release end diff --git a/data/scripts/berry_tree.inc b/data/scripts/berry_tree.inc index 4f4f723f1c..fc9abe960d 100644 --- a/data/scripts/berry_tree.inc +++ b/data/scripts/berry_tree.inc @@ -176,6 +176,8 @@ BerryTree_EventScript_PickBerry:: special IncrementDailyPickedBerries special ObjectEventInteractionRemoveBerryTree message BerryTree_Text_PickedTheBerry + delay 10 + showberrydescription playfanfare MUS_OBTAIN_BERRY waitmessage waitfanfare @@ -183,6 +185,7 @@ BerryTree_EventScript_PickBerry:: message BerryTree_Text_PutAwayBerry waitmessage waitbuttonpress + hideitemdescription release end diff --git a/data/scripts/obtain_item.inc b/data/scripts/obtain_item.inc index d052fa7004..c54b2f8dc5 100644 --- a/data/scripts/obtain_item.inc +++ b/data/scripts/obtain_item.inc @@ -2,6 +2,7 @@ .set AMOUNT, VAR_0x8001 Std_ObtainItem:: + copyvar VAR_0x8006, ITEMID additem ITEMID, AMOUNT copyvar VAR_0x8007, VAR_RESULT call EventScript_ObtainItemMessage @@ -58,8 +59,11 @@ EventScript_ObtainedItem:: EventScript_ObtainedItemMessage: message gText_ObtainedTheItem EventScript_ContinueObtainedItem: + delay 10 + showitemdescription waitfanfare msgbox gText_PutItemInPocket, MSGBOX_DEFAULT + hideitemdescription setvar VAR_RESULT, TRUE return @@ -103,6 +107,7 @@ Std_FindItem:: lock faceplayer waitse + copyvar VAR_0x8006, ITEMID copyvar VAR_0x8004, ITEMID copyvar VAR_0x8005, AMOUNT checkitemspace ITEMID, AMOUNT @@ -118,20 +123,25 @@ Std_FindItem:: EventScript_PickUpItem:: removeobject VAR_LAST_TALKED additem VAR_0x8004, VAR_0x8005 + copyvar VAR_0x8006 VAR_0x8004 specialvar VAR_RESULT, BufferTMHMMoveName copyvar VAR_0x8008, VAR_RESULT call_if_eq VAR_0x8008, TRUE, EventScript_FoundTMHM call_if_eq VAR_0x8008, FALSE, EventScript_FoundItem + delay 10 + showitemdescription waitfanfare waitmessage bufferitemnameplural STR_VAR_2, VAR_0x8004, VAR_0x8005 pyramid_inchallenge goto_if_eq VAR_RESULT, TRUE, EventScript_PutBattlePyramidItemInBag msgbox gText_PutItemInPocket, MSGBOX_DEFAULT + hideitemdescription return EventScript_PutBattlePyramidItemInBag:: msgbox gText_PlayerPutItemInBag, MSGBOX_DEFAULT + hideitemdescription return EventScript_FoundTMHM:: @@ -165,6 +175,7 @@ EventScript_NoRoomToPickUpItem:: EventScript_HiddenItemScript:: lockall waitse + copyvar VAR_0x8006, VAR_0x8005 additem VAR_0x8005 copyvar VAR_0x8007, VAR_RESULT bufferitemnameplural STR_VAR_2, VAR_0x8005, 1 @@ -194,11 +205,14 @@ EventScript_FoundHiddenItem:: end EventScript_PutHiddenItemInPocket:: + delay 10 + showitemdescription waitmessage waitfanfare bufferitemnameplural STR_VAR_2, VAR_0x8004, 1 copyvar VAR_0x8004, VAR_0x8008 msgbox gText_PutItemInPocket, MSGBOX_DEFAULT + hideitemdescription special TryPutTreasureInvestigatorsOnAir special SetHiddenItemFlag releaseall diff --git a/include/config/overworld.h b/include/config/overworld.h index 63479f1831..cebbe5b34b 100644 --- a/include/config/overworld.h +++ b/include/config/overworld.h @@ -10,6 +10,12 @@ #define OW_HIDE_REPEAT_MAP_POPUP FALSE // If enabled, map popups will not appear if entering a map with the same Map Section Id as the last. #define OW_FRLG_WHITEOUT FALSE // If enabled, shows an additional whiteout message and post whiteout event script with healing NPC. +// Item Obtain Description Box +#define OW_ITEM_DESCRIPTIONS_OFF 0 // never show descriptions +#define OW_ITEM_DESCRIPTIONS_FIRST_TIME 1 // show first time (** SAVE-BREAKING - see struct SaveBlock3 **) +#define OW_ITEM_DESCRIPTIONS_ALWAYS 2 // always show description +#define OW_SHOW_ITEM_DESCRIPTIONS OW_ITEM_DESCRIPTIONS_OFF // If enabled, item descriptions/images will be shown when finding items. + // These generational defines only make a distinction for Berries and the OW_PC_MOVE_ORDER #define GEN_6_XY GEN_6 #define GEN_6_ORAS GEN_LATEST + 1 diff --git a/include/global.h b/include/global.h index 783a913106..86ada60364 100644 --- a/include/global.h +++ b/include/global.h @@ -200,12 +200,17 @@ struct Time /*0x04*/ s8 seconds; }; +#include "constants/items.h" +#define ITEM_FLAGS_COUNT ((ITEMS_COUNT / 8) + ((ITEMS_COUNT % 8) ? 1 : 0)) struct SaveBlock3 { #if OW_USE_FAKE_RTC struct Time fakeRTC; #endif +#if OW_SHOW_ITEM_DESCRIPTIONS == OW_ITEM_DESCRIPTIONS_FIRST_TIME + u8 itemFlags[ITEM_FLAGS_COUNT]; +#endif }; extern struct SaveBlock3 *gSaveBlock3Ptr; diff --git a/include/overworld.h b/include/overworld.h index bda2046ec7..3e9dbc30b6 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -155,4 +155,12 @@ bool32 Overworld_SendKeysToLinkIsRunning(void); bool32 IsSendingKeysOverCable(void); void ClearLinkPlayerObjectEvents(void); +// Item Description Headers +enum ItemObtainFlags +{ + FLAG_GET_ITEM_OBTAINED, + FLAG_SET_ITEM_OBTAINED, +}; +bool8 GetSetItemObtained(u16 item, enum ItemObtainFlags caseId); + #endif // GUARD_OVERWORLD_H diff --git a/src/berry.c b/src/berry.c index 1a1c3b7f1f..5c23623e3b 100644 --- a/src/berry.c +++ b/src/berry.c @@ -2144,6 +2144,8 @@ void ObjectEventInteractionGetBerryCountString(void) u8 treeId = GetObjectEventBerryTreeId(gSelectedObjectEvent); u8 berry = GetBerryTypeByBerryTreeId(treeId); u8 count = GetBerryCountByBerryTreeId(treeId); + + gSpecialVar_0x8006 = BerryTypeToItemId(berry); CopyItemNameHandlePlural(BerryTypeToItemId(berry), gStringVar1, count); berry = GetTreeMutationValue(treeId); if (berry > 0) diff --git a/src/overworld.c b/src/overworld.c index babdfad7b6..2bb49591bb 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -24,6 +24,8 @@ #include "gpu_regs.h" #include "heal_location.h" #include "io_reg.h" +#include "item.h" +#include "item_icon.h" #include "link.h" #include "link_rfu.h" #include "load_save.h" @@ -51,6 +53,7 @@ #include "secret_base.h" #include "sound.h" #include "start_menu.h" +#include "string_util.h" #include "task.h" #include "tileset_anims.h" #include "time_events.h" @@ -3290,3 +3293,207 @@ static void SpriteCB_LinkPlayer(struct Sprite *sprite) sprite->data[7]++; } } + +// ---------------- +// Item Header Descriptions +// Item Description Header + +#define ITEM_ICON_X 26 +#define ITEM_ICON_Y 24 +#define ITEM_TAG 0x2722 //same as money label + +bool8 GetSetItemObtained(u16 item, enum ItemObtainFlags caseId) +{ +#if OW_SHOW_ITEM_DESCRIPTIONS == OW_ITEM_DESCRIPTIONS_FIRST_TIME + u8 index = item / 8; + u8 bit = item % 8; + u8 mask = 1 << bit; + switch (caseId) + { + case FLAG_GET_ITEM_OBTAINED: + return gSaveBlock3Ptr->itemFlags[index] & mask; + case FLAG_SET_ITEM_OBTAINED: + gSaveBlock3Ptr->itemFlags[index] |= mask; + return TRUE; + } +#endif + return FALSE; +} + +#if OW_SHOW_ITEM_DESCRIPTIONS != OW_ITEM_DESCRIPTIONS_OFF + +EWRAM_DATA static u8 sHeaderBoxWindowId = 0; +EWRAM_DATA u8 sItemIconSpriteId = 0; +EWRAM_DATA u8 sItemIconSpriteId2 = 0; + +static void ShowItemIconSprite(u16 item, bool8 firstTime, bool8 flash); +static void DestroyItemIconSprite(void); + +static u8 ReformatItemDescription(u16 item, u8 *dest) +{ + u8 count = 0; + u8 numLines = 1; + u8 maxChars = 32; + u8 *desc = (u8 *)gItemsInfo[item].description; + + while (*desc != EOS) + { + if (count >= maxChars) + { + while (*desc != CHAR_SPACE && *desc != CHAR_NEWLINE) + { + *dest = *desc; //finish word + dest++; + desc++; + } + + *dest = CHAR_NEWLINE; + count = 0; + numLines++; + dest++; + desc++; + continue; + } + + *dest = *desc; + if (*desc == CHAR_NEWLINE) + { + *dest = CHAR_SPACE; + } + + dest++; + desc++; + count++; + } + + // finish string + *dest = EOS; + return numLines; +} + +void ScriptShowItemDescription(struct ScriptContext *ctx) +{ + u8 headerType = ScriptReadByte(ctx); + struct WindowTemplate template; + u16 item = gSpecialVar_0x8006; + u8 textY; + u8 *dst; + bool8 handleFlash = FALSE; + + if (GetFlashLevel() > 0 || InBattlePyramid_()) + handleFlash = TRUE; + + if (headerType == 1) // berry + dst = gStringVar3; + else + dst = gStringVar1; + + if (GetSetItemObtained(item, FLAG_GET_ITEM_OBTAINED)) + { + ShowItemIconSprite(item, FALSE, handleFlash); + return; //no box if item obtained previously + } + + SetWindowTemplateFields(&template, 0, 1, 1, 28, 3, 15, 8); + sHeaderBoxWindowId = AddWindow(&template); + FillWindowPixelBuffer(sHeaderBoxWindowId, PIXEL_FILL(0)); + PutWindowTilemap(sHeaderBoxWindowId); + CopyWindowToVram(sHeaderBoxWindowId, 3); + SetStandardWindowBorderStyle(sHeaderBoxWindowId, FALSE); + DrawStdFrameWithCustomTileAndPalette(sHeaderBoxWindowId, FALSE, 0x214, 14); + + if (ReformatItemDescription(item, dst) == 1) + textY = 4; + else + textY = 0; + + ShowItemIconSprite(item, TRUE, handleFlash); + AddTextPrinterParameterized(sHeaderBoxWindowId, 0, dst, ITEM_ICON_X + 2, textY, 0, NULL); +} + +void ScriptHideItemDescription(struct ScriptContext *ctx) +{ + DestroyItemIconSprite(); + + if (!GetSetItemObtained(gSpecialVar_0x8006, FLAG_GET_ITEM_OBTAINED)) + { + //header box only exists if haven't seen item before + GetSetItemObtained(gSpecialVar_0x8006, FLAG_SET_ITEM_OBTAINED); + ClearStdWindowAndFrameToTransparent(sHeaderBoxWindowId, FALSE); + CopyWindowToVram(sHeaderBoxWindowId, 3); + RemoveWindow(sHeaderBoxWindowId); + } +} + +static void ShowItemIconSprite(u16 item, bool8 firstTime, bool8 flash) +{ + s16 x = 0, y = 0; + u8 iconSpriteId; + u8 spriteId2 = MAX_SPRITES; + + if (flash) + { + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON); + SetGpuRegBits(REG_OFFSET_WINOUT, WINOUT_WINOBJ_OBJ); + } + + iconSpriteId = AddItemIconSprite(ITEM_TAG, ITEM_TAG, item); + if (flash) + spriteId2 = AddItemIconSprite(ITEM_TAG, ITEM_TAG, item); + if (iconSpriteId != MAX_SPRITES) + { + if (!firstTime) + { + //show in message box + x = 213; + y = 140; + } + else + { + // show in header box + x = ITEM_ICON_X; + y = ITEM_ICON_Y; + } + + gSprites[iconSpriteId].x2 = x; + gSprites[iconSpriteId].y2 = y; + gSprites[iconSpriteId].oam.priority = 0; + } + + if (spriteId2 != MAX_SPRITES) + { + gSprites[spriteId2].x2 = x; + gSprites[spriteId2].y2 = y; + gSprites[spriteId2].oam.priority = 0; + gSprites[spriteId2].oam.objMode = ST_OAM_OBJ_WINDOW; + sItemIconSpriteId2 = spriteId2; + } + + sItemIconSpriteId = iconSpriteId; +} + +static void DestroyItemIconSprite(void) +{ + FreeSpriteTilesByTag(ITEM_TAG); + FreeSpritePaletteByTag(ITEM_TAG); + FreeSpriteOamMatrix(&gSprites[sItemIconSpriteId]); + DestroySprite(&gSprites[sItemIconSpriteId]); + + if ((GetFlashLevel() > 0 || InBattlePyramid_()) && sItemIconSpriteId2 != MAX_SPRITES) + { + FreeSpriteOamMatrix(&gSprites[sItemIconSpriteId2]); + DestroySprite(&gSprites[sItemIconSpriteId2]); + } +} + +#else +void ScriptShowItemDescription(struct ScriptContext *ctx) +{ + (void) ScriptReadByte(ctx); +} +void ScriptHideItemDescription(struct ScriptContext *ctx) +{ +} +#endif // OW_SHOW_ITEM_DESCRIPTIONS + + diff --git a/src/shop.c b/src/shop.c index 77f2039e3b..a343bab0d3 100644 --- a/src/shop.c +++ b/src/shop.c @@ -1127,6 +1127,7 @@ static void BuyMenuTryMakePurchase(u8 taskId) { if (AddBagItem(tItemId, tItemCount) == TRUE) { + GetSetItemObtained(tItemId, FLAG_SET_ITEM_OBTAINED); RecordItemPurchase(taskId); BuyMenuDisplayMessage(taskId, gText_HereYouGoThankYou, BuyMenuSubtractMoney); } From 7c7fd905bae849bc1244a66545e10677fed763dd Mon Sep 17 00:00:00 2001 From: Hiram Anderson <37224753+hjk321@users.noreply.github.com> Date: Tue, 3 Sep 2024 13:54:03 -0600 Subject: [PATCH 38/78] RTC-based wild encounters (#5313) * Some jsonproc string utility functions Adds stringContains, stringStartsWith and stringEndsWith for use in jsonproc. * Time-based wild encounters This adds some configs that allows users to define wild encounter groups on a map that are automatically cycled through depending on the time of day. --- include/config/overworld.h | 7 +++++ include/wild_encounter.h | 1 + src/data/wild_encounters.json.txt | 2 ++ src/wild_encounter.c | 45 +++++++++++++++++++++++++++++-- tools/jsonproc/jsonproc.cpp | 21 +++++++++++++++ 5 files changed, 74 insertions(+), 2 deletions(-) diff --git a/include/config/overworld.h b/include/config/overworld.h index cebbe5b34b..8be52abfb5 100644 --- a/include/config/overworld.h +++ b/include/config/overworld.h @@ -74,6 +74,13 @@ #define OW_USE_FAKE_RTC FALSE // When TRUE, seconds on the in-game clock will only advance once every 60 playTimeVBlanks (every 60 frames). #define OW_ALTERED_TIME_RATIO GEN_LATEST // In GEN_8_PLA, the time in game moves forward 60 seconds for every second in the RTC. In GEN_9, it is 20 seconds. This has no effect if OW_USE_FAKE_RTC is FALSE. +// Time-based wild Pokemon encounters - Allows you to create additional encounter groups in wild_encounters.json (or in porymap). +// The groups are processed by base label's suffix. For example, "gRoute101" (no suffix) contains daytime encounters, and "gRoute101_Night" contains nighttime encounters. +// Not every group needs to be defined for every map - you could for example omit them inside caves and it would fall back to the unsuffixed daytime encounter group. +#define OW_TIME_BASED_WILD_ENCOUNTERS FALSE // Enables the system. If disabled, all suffixes are ignored and the first encounter group found for a map will be used for wild encounters. +#define OW_ENABLE_MORNING_WILD_ENCOUNTERS FALSE // If true, allows definition of morning encounter groups such as "gRoute101_Morning". Otherwise, morning is considered to be day for encounters. No effect if OW_TIME_BASED_WILD_ENCOUNTERS is false. +#define OW_ENABLE_EVENING_WILD_ENCOUNTERS FALSE // If true, allows definition of evening encounter groups such as "gRoute101_Evening". Otherwise, evening is considered to be night for encounters. No effect if OW_TIME_BASED_WILD_ENCOUNTERS is false. + // Overworld flags // To use the following features in scripting, replace the 0s with the flag ID you're assigning it to. // Eg: Replace with FLAG_UNUSED_0x264 so you can use that flag to toggle the feature. diff --git a/include/wild_encounter.h b/include/wild_encounter.h index 63289f081c..fb0f5ab00e 100644 --- a/include/wild_encounter.h +++ b/include/wild_encounter.h @@ -20,6 +20,7 @@ struct WildPokemonHeader { u8 mapGroup; u8 mapNum; + u8 timeOfDay; const struct WildPokemonInfo *landMonsInfo; const struct WildPokemonInfo *waterMonsInfo; const struct WildPokemonInfo *rockSmashMonsInfo; diff --git a/src/data/wild_encounters.json.txt b/src/data/wild_encounters.json.txt index bf848249f0..55dd20cd52 100755 --- a/src/data/wild_encounters.json.txt +++ b/src/data/wild_encounters.json.txt @@ -72,6 +72,7 @@ const struct WildPokemonHeader {{ wild_encounter_group.label }}[] = { .mapGroup = {% if wild_encounter_group.for_maps %}MAP_GROUP({{ removePrefix(encounter.map, "MAP_") }}){% else %}0{% endif %}, .mapNum = {% if wild_encounter_group.for_maps %}MAP_NUM({{ removePrefix(encounter.map, "MAP_") }}){% else %}{{ loop.index1 }}{% endif %}, + .timeOfDay = {% if stringEndsWith(encounter.base_label, "_Night") or stringContains(encounter.base_label, "_Night_") %}TIME_NIGHT{% else if stringEndsWith(encounter.base_label, "_Morning") or stringContains(encounter.base_label, "_Morning_") %}TIME_MORNING{% else if stringEndsWith(encounter.base_label, "_Evening") or stringContains(encounter.base_label, "_Evening_") %}TIME_EVENING{% else %}TIME_DAY{% endif %}, .landMonsInfo = {% if existsIn(encounter, "land_mons") %}&{{ encounter.base_label }}_LandMonsInfo{% else %}NULL{% endif %}, .waterMonsInfo = {% if existsIn(encounter, "water_mons") %}&{{ encounter.base_label }}_WaterMonsInfo{% else %}NULL{% endif %}, .rockSmashMonsInfo = {% if existsIn(encounter, "rock_smash_mons") %}&{{ encounter.base_label }}_RockSmashMonsInfo{% else %}NULL{% endif %}, @@ -81,6 +82,7 @@ const struct WildPokemonHeader {{ wild_encounter_group.label }}[] = { .mapGroup = MAP_GROUP(UNDEFINED), .mapNum = MAP_NUM(UNDEFINED), + .timeOfDay = TIME_DAY, .landMonsInfo = NULL, .waterMonsInfo = NULL, .rockSmashMonsInfo = NULL, diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 033eec56da..3cfdfb1191 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -11,6 +11,7 @@ #include "pokeblock.h" #include "battle_setup.h" #include "roamer.h" +#include "rtc.h" #include "tv.h" #include "link.h" #include "script.h" @@ -354,9 +355,32 @@ static u8 ChooseWildMonLevel(const struct WildPokemon *wildPokemon, u8 wildMonIn } } +static bool8 IsExactTimeOfDayMatchForWildEncounters(u8 currentTimeOfDay, u8 encounterTimeOfDay) +{ + switch (currentTimeOfDay) + { + case TIME_MORNING: + if (OW_ENABLE_MORNING_WILD_ENCOUNTERS) + return encounterTimeOfDay == TIME_MORNING; + // fallthrough + case TIME_DAY: + return encounterTimeOfDay == TIME_DAY; + case TIME_EVENING: + if (OW_ENABLE_EVENING_WILD_ENCOUNTERS) + return encounterTimeOfDay == TIME_EVENING; + // fallthrough + case TIME_NIGHT: + return encounterTimeOfDay == TIME_NIGHT; + } + return FALSE; +} + static u16 GetCurrentMapWildMonHeaderId(void) { u16 i; + u8 currentTimeOfDay = GetTimeOfDay(); + u16 dayId = HEADER_NONE; + u16 nightId = HEADER_NONE; for (i = 0; ; i++) { @@ -375,13 +399,30 @@ static u16 GetCurrentMapWildMonHeaderId(void) alteringCaveId = 0; i += alteringCaveId; + return i; // Altering cave is not affected by time-of-day encounters. } - return i; + if (OW_TIME_BASED_WILD_ENCOUNTERS) + { + if (IsExactTimeOfDayMatchForWildEncounters(currentTimeOfDay, gWildMonHeaders[i].timeOfDay)) + return i; + else if (gWildMonHeaders[i].timeOfDay == TIME_DAY && dayId == HEADER_NONE) + dayId = i; + else if (gWildMonHeaders[i].timeOfDay == TIME_NIGHT && nightId == HEADER_NONE) + nightId = i; + } + else + return i; } } - return HEADER_NONE; + if (!OW_TIME_BASED_WILD_ENCOUNTERS) + return HEADER_NONE; + + // Exact match for time of day was not found. We fall back to other encounter groups for this map + if (currentTimeOfDay == TIME_EVENING && OW_ENABLE_EVENING_WILD_ENCOUNTERS && nightId != HEADER_NONE) + return nightId; + return dayId; } u8 PickWildMonNature(void) diff --git a/tools/jsonproc/jsonproc.cpp b/tools/jsonproc/jsonproc.cpp index 9ef23cd43e..5e661e40d3 100755 --- a/tools/jsonproc/jsonproc.cpp +++ b/tools/jsonproc/jsonproc.cpp @@ -118,6 +118,27 @@ int main(int argc, char *argv[]) return str; }); + env.add_callback("stringContains", 2, [](Arguments& args) { + string str = args.at(0)->get(); + string check = args.at(1)->get(); + + return str.find(check) != std::string::npos; + }); + + env.add_callback("stringStartsWith", 2, [](Arguments& args) { + string str = args.at(0)->get(); + string check = args.at(1)->get(); + + return str.find(check) == 0; + }); + + env.add_callback("stringEndsWith", 2, [](Arguments& args) { + string str = args.at(0)->get(); + string check = args.at(1)->get(); + + return str.rfind(check) == (str.length() - check.length()); + }); + try { env.write_with_json_file(templateFilepath, jsonfilepath, outputFilepath); From 720bc6464dfd6f7c5502a48729633b1151d10053 Mon Sep 17 00:00:00 2001 From: Pawkkie <61265402+Pawkkie@users.noreply.github.com> Date: Wed, 4 Sep 2024 05:12:55 -0400 Subject: [PATCH 39/78] AI_FLAG_SETUP_FIRST_TURN Rename and Clarifications (#5310) * Rename AI_FLAG_SETUP_FIRST_TURN * Update all AI flags with comments --- docs/ai_flags.md | 4 ++-- include/constants/battle_ai.h | 35 ++++++++++++++++++----------------- src/battle_ai_main.c | 6 +++--- src/data/trainers.h | 28 ++++++++++++++-------------- src/data/trainers.party | 28 ++++++++++++++-------------- 5 files changed, 51 insertions(+), 50 deletions(-) diff --git a/docs/ai_flags.md b/docs/ai_flags.md index bb7b1b7444..8ba2e33253 100644 --- a/docs/ai_flags.md +++ b/docs/ai_flags.md @@ -42,8 +42,8 @@ This flag is divided into two components to calculate the best available move fo This is different to `AI_FLAG_CHECK_BAD_MOVE` as it calculates how poor a move is and not whether it will fail or not. -## `AI_FLAG_SETUP_FIRST_TURN` -AI will prioritize using setup moves on the first turn. These include stat buffs, field effects, status moves, etc. +## `AI_FLAG_FORCE_SETUP_FIRST_TURN` +AI will prioritize using setup moves on the first turn at the expense of all else. These include stat buffs, field effects, status moves, etc. AI_FLAG_CHECK_VIABILITY will instead do this when the AI determines it makes sense. This is just a flat increase without any consideration of whether it makes sense to use the move or not. For better move choice quality for those moves, `AI_FLAG_CHECK_VIABILITY` should be used. diff --git a/include/constants/battle_ai.h b/include/constants/battle_ai.h index 75802bad49..ca469cadeb 100644 --- a/include/constants/battle_ai.h +++ b/include/constants/battle_ai.h @@ -25,28 +25,29 @@ #define AI_EFFECTIVENESS_x0 0 // AI Flags. Most run specific functions to update score, new flags are used for internal logic in other scripts -#define AI_FLAG_CHECK_BAD_MOVE (1 << 0) -#define AI_FLAG_TRY_TO_FAINT (1 << 1) -#define AI_FLAG_CHECK_VIABILITY (1 << 2) -#define AI_FLAG_SETUP_FIRST_TURN (1 << 3) -#define AI_FLAG_RISKY (1 << 4) -#define AI_FLAG_PREFER_STRONGEST_MOVE (1 << 5) -#define AI_FLAG_PREFER_BATON_PASS (1 << 6) -#define AI_FLAG_DOUBLE_BATTLE (1 << 7) // Automatically set for double battles, handles AI behaviour with partner -#define AI_FLAG_HP_AWARE (1 << 8) -#define AI_FLAG_POWERFUL_STATUS (1 << 9) // AI prefers moves that set up field effects or side statuses, even if the user can faint the target +// See docs/ai_flags.md for more details. +#define AI_FLAG_CHECK_BAD_MOVE (1 << 0) // AI will avoid using moves that are likely to fail or be ineffective in the current situation. +#define AI_FLAG_TRY_TO_FAINT (1 << 1) // AI will prioritize KOing the player's mon if able. +#define AI_FLAG_CHECK_VIABILITY (1 << 2) // AI damaging moves and move effects to determine the best available move in the current situation. +#define AI_FLAG_FORCE_SETUP_FIRST_TURN (1 << 3) // AI will prioritize using setup moves on the first turn at the expensve of all else. AI_FLAG_CHECK_VIABILITY will instead do this when the AI determines it makes sense. +#define AI_FLAG_RISKY (1 << 4) // AI will generally behave more recklessly, prioritizing damage over accuracy, explosions, etc. +#define AI_FLAG_PREFER_STRONGEST_MOVE (1 << 5) // AI adds score bonus to any move the AI has that either OHKOs or 2HKOs the player. +#define AI_FLAG_PREFER_BATON_PASS (1 << 6) // AI prefers raising its own stats and setting for / using Baton Pass. +#define AI_FLAG_DOUBLE_BATTLE (1 << 7) // Automatically set for double battles, handles AI behaviour with partner. +#define AI_FLAG_HP_AWARE (1 << 8) // AI will favour certain move effects based on how much remaining HP it and the player's mon have. +#define AI_FLAG_POWERFUL_STATUS (1 << 9) // AI prefers moves that set up field effects or side statuses, even if the user can faint the target. // New, Trainer Handicap Flags -#define AI_FLAG_NEGATE_UNAWARE (1 << 10) // AI is NOT aware of negating effects like wonder room, mold breaker, etc -#define AI_FLAG_WILL_SUICIDE (1 << 11) // AI will use explosion / self destruct / final gambit / etc +#define AI_FLAG_NEGATE_UNAWARE (1 << 10) // AI is NOT aware of negating effects like wonder room, mold breaker, etc. +#define AI_FLAG_WILL_SUICIDE (1 << 11) // AI will use explosion / self destruct / final gambit / etc. // New, Trainer Strategy Flags -#define AI_FLAG_PREFER_STATUS_MOVES (1 << 12) // AI gets a score bonus for status moves. Should be combined with AI_FLAG_CHECK_BAD_MOVE to prevent using only status moves -#define AI_FLAG_STALL (1 << 13) // AI stalls battle and prefers secondary damage/trapping/etc. TODO not finished +#define AI_FLAG_PREFER_STATUS_MOVES (1 << 12) // AI gets a score bonus for status moves. Should be combined with AI_FLAG_CHECK_BAD_MOVE to prevent using only status moves. +#define AI_FLAG_STALL (1 << 13) // AI stalls battle and prefers secondary damage/trapping/etc. TODO not finished. #define AI_FLAG_SMART_SWITCHING (1 << 14) // AI includes a lot more switching checks. Automatically includes AI_FLAG_SMART_MON_CHOICES. #define AI_FLAG_ACE_POKEMON (1 << 15) // AI has an Ace Pokemon. The last Pokemon in the party will not be used until it's the last one remaining. -#define AI_FLAG_OMNISCIENT (1 << 16) // AI has full knowledge of player moves, abilities, hold items +#define AI_FLAG_OMNISCIENT (1 << 16) // AI has full knowledge of player moves, abilities, hold items. #define AI_FLAG_SMART_MON_CHOICES (1 << 17) // AI will make smarter decisions when choosing which mon to send out mid-battle and after a KO, which are separate decisions. Automatically included by AI_FLAG_SMART_SWITCHING. -#define AI_FLAG_CONSERVATIVE (1 << 18) // AI assumes all moves will low roll damage -#define AI_FLAG_SEQUENCE_SWITCHING (1 << 19) // AI switches in mons in exactly party order, and never switches mid-battle +#define AI_FLAG_CONSERVATIVE (1 << 18) // AI assumes all moves will low roll damage. +#define AI_FLAG_SEQUENCE_SWITCHING (1 << 19) // AI switches in mons in exactly party order, and never switches mid-battle. #define AI_FLAG_COUNT 20 diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index b622cf273a..ffaa058a08 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -46,7 +46,7 @@ EWRAM_DATA AiScoreFunc sDynamicAiFunc = NULL; static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); static s32 AI_TryToFaint(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); -static s32 AI_SetupFirstTurn(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); +static s32 AI_ForceSetupFirstTurn(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); static s32 AI_Risky(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); static s32 AI_PreferStrongestMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); static s32 AI_PreferBatonPass(u32 battlerAtk, u32 battlerDef, u32 move, s32 score); @@ -64,7 +64,7 @@ static s32 (*const sBattleAiFuncTable[])(u32, u32, u32, s32) = [0] = AI_CheckBadMove, // AI_FLAG_CHECK_BAD_MOVE [1] = AI_TryToFaint, // AI_FLAG_TRY_TO_FAINT [2] = AI_CheckViability, // AI_FLAG_CHECK_VIABILITY - [3] = AI_SetupFirstTurn, // AI_FLAG_SETUP_FIRST_TURN + [3] = AI_ForceSetupFirstTurn, // AI_FLAG_FORCE_SETUP_FIRST_TURN [4] = AI_Risky, // AI_FLAG_RISKY [5] = AI_PreferStrongestMove, // AI_FLAG_PREFER_STRONGEST_MOVE [6] = AI_PreferBatonPass, // AI_FLAG_PREFER_BATON_PASS @@ -4821,7 +4821,7 @@ static s32 AI_CheckViability(u32 battlerAtk, u32 battlerDef, u32 move, s32 score } // Effects that are encouraged on the first turn of battle -static s32 AI_SetupFirstTurn(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) +static s32 AI_ForceSetupFirstTurn(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) { u8 i; if (IS_TARGETING_PARTNER(battlerAtk, battlerDef) diff --git a/src/data/trainers.h b/src/data/trainers.h index c1907cfee5..ebc85e9cab 100644 --- a/src/data/trainers.h +++ b/src/data/trainers.h @@ -4044,7 +4044,7 @@ F_TRAINER_FEMALE | #line 1692 .doubleBattle = FALSE, #line 1693 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -4085,7 +4085,7 @@ F_TRAINER_FEMALE | #line 1708 .doubleBattle = FALSE, #line 1709 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -4164,7 +4164,7 @@ F_TRAINER_FEMALE | #line 1742 .doubleBattle = FALSE, #line 1743 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -11394,7 +11394,7 @@ F_TRAINER_FEMALE | #line 4594 .doubleBattle = FALSE, #line 4595 - .aiFlags = AI_FLAG_BASIC_TRAINER | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_BASIC_TRAINER | AI_FLAG_FORCE_SETUP_FIRST_TURN, #line 4596 .mugshotEnabled = TRUE, .mugshotColor = MUGSHOT_COLOR_PURPLE, @@ -23880,7 +23880,7 @@ F_TRAINER_FEMALE | #line 9565 .doubleBattle = FALSE, #line 9566 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -25772,7 +25772,7 @@ F_TRAINER_FEMALE | #line 10290 .doubleBattle = FALSE, #line 10291 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -25840,7 +25840,7 @@ F_TRAINER_FEMALE | #line 10318 .doubleBattle = FALSE, #line 10319 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 1, .party = (const struct TrainerMon[]) { @@ -25921,7 +25921,7 @@ F_TRAINER_FEMALE | #line 10350 .doubleBattle = FALSE, #line 10351 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -25968,7 +25968,7 @@ F_TRAINER_FEMALE | #line 10368 .doubleBattle = FALSE, #line 10369 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 3, .party = (const struct TrainerMon[]) { @@ -26073,7 +26073,7 @@ F_TRAINER_FEMALE | #line 10408 .doubleBattle = FALSE, #line 10409 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -26167,7 +26167,7 @@ F_TRAINER_FEMALE | #line 10444 .doubleBattle = FALSE, #line 10445 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -27472,7 +27472,7 @@ F_TRAINER_FEMALE | #line 10958 .doubleBattle = FALSE, #line 10959 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -27560,7 +27560,7 @@ F_TRAINER_FEMALE | #line 10992 .doubleBattle = FALSE, #line 10993 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 2, .party = (const struct TrainerMon[]) { @@ -31937,7 +31937,7 @@ F_TRAINER_FEMALE | #line 12747 .doubleBattle = TRUE, #line 12748 - .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_SETUP_FIRST_TURN, + .aiFlags = AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_FORCE_SETUP_FIRST_TURN, .partySize = 2, .party = (const struct TrainerMon[]) { diff --git a/src/data/trainers.party b/src/data/trainers.party index 34a736429e..14304518b6 100644 --- a/src/data/trainers.party +++ b/src/data/trainers.party @@ -1690,7 +1690,7 @@ Gender: Female Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Zangoose Level: 26 @@ -1706,7 +1706,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Mawile Level: 29 @@ -1740,7 +1740,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Lairon Level: 45 @@ -4592,7 +4592,7 @@ Gender: Male Music: Elite Four Items: Full Restore / Full Restore Double Battle: No -AI: Basic Trainer / Setup First Turn +AI: Basic Trainer / Force Setup First Turn Mugshot: Purple Mightyena @@ -9563,7 +9563,7 @@ Pic: Brendan Gender: Male Music: Male Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Torchic Level: 5 @@ -10288,7 +10288,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Breloom Level: 31 @@ -10316,7 +10316,7 @@ Gender: Male Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Breloom Level: 37 @@ -10348,7 +10348,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Gloom Level: 26 @@ -10366,7 +10366,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Lotad Level: 28 @@ -10406,7 +10406,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Gloom Level: 30 @@ -10442,7 +10442,7 @@ Gender: Female Music: Cool Items: Full Restore Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Gloom Level: 36 @@ -10956,7 +10956,7 @@ Gender: Male Music: Cool Items: Hyper Potion Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Kecleon Level: 33 @@ -10990,7 +10990,7 @@ Pic: May Gender: Female Music: Female Double Battle: No -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Wingull Level: 13 @@ -12745,7 +12745,7 @@ Pic: Old Couple Gender: Male Music: Intense Double Battle: Yes -AI: Check Bad Move / Try To Faint / Setup First Turn +AI: Check Bad Move / Try To Faint / Force Setup First Turn Medicham Level: 49 From 6e3ce9db2feca1823a57472430aa486a2e64fd82 Mon Sep 17 00:00:00 2001 From: cawtds <38510667+cawtds@users.noreply.github.com> Date: Wed, 4 Sep 2024 11:21:40 +0200 Subject: [PATCH 40/78] Move battle anim arrays to C (#5306) * move battle anim arrays to c * use ARRAY_COUNT instead * remove B_ANIM_STATUS_WRAPPED * move anim rename * rename battle anims status/general/special --- data/battle_anim_scripts.s | 2283 +++++++++++++++---------------- include/battle_anim_scripts.h | 1948 +++++++++++++------------- include/constants/battle_anim.h | 13 +- src/battle_anim.c | 103 +- src/battle_gfx_sfx_util.c | 2 - src/data/moves_info.h | 1872 ++++++++++++------------- src/pokemon.c | 2 +- 7 files changed, 3150 insertions(+), 3073 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index fdc7a59e4e..622dd24f18 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -14,92 +14,8 @@ .section script_data, "aw", %progbits - .align 2 -gMovesWithQuietBGM:: - .2byte MOVE_SING, MOVE_PERISH_SONG, MOVE_GRASS_WHISTLE, 0xFFFF - - .align 2 -gBattleAnims_StatusConditions:: - .4byte Status_Poison @ B_ANIM_STATUS_PSN - .4byte Status_Confusion @ B_ANIM_STATUS_CONFUSION - .4byte Status_Burn @ B_ANIM_STATUS_BRN - .4byte Status_Infatuation @ B_ANIM_STATUS_INFATUATION - .4byte Status_Sleep @ B_ANIM_STATUS_SLP - .4byte Status_Paralysis @ B_ANIM_STATUS_PRZ - .4byte Status_Freeze @ B_ANIM_STATUS_FRZ - .4byte Status_Curse @ B_ANIM_STATUS_CURSED - .4byte Status_Nightmare @ B_ANIM_STATUS_NIGHTMARE - .4byte Status_Powder - - .align 2 -gBattleAnims_General:: - .4byte General_StatsChange @ B_ANIM_STATS_CHANGE - .4byte General_SubstituteFade @ B_ANIM_SUBSTITUTE_FADE - .4byte General_SubstituteAppear @ B_ANIM_SUBSTITUTE_APPEAR - .4byte General_PokeblockThrow @ B_ANIM_POKEBLOCK_THROW - .4byte General_ItemKnockoff @ B_ANIM_ITEM_KNOCKOFF - .4byte General_TurnTrap @ B_ANIM_TURN_TRAP - .4byte General_HeldItemEffect @ B_ANIM_HELD_ITEM_EFFECT - .4byte General_SmokeballEscape @ B_ANIM_SMOKEBALL_ESCAPE - .4byte General_HangedOn @ B_ANIM_HANGED_ON - .4byte General_Rain @ B_ANIM_RAIN_CONTINUES - .4byte General_Sun @ B_ANIM_SUN_CONTINUES - .4byte General_Sandstorm @ B_ANIM_SANDSTORM_CONTINUES - .4byte General_Hail @ B_ANIM_HAIL_CONTINUES - .4byte General_LeechSeedDrain @ B_ANIM_LEECH_SEED_DRAIN - .4byte General_MonHit @ B_ANIM_MON_HIT - .4byte General_ItemSteal @ B_ANIM_ITEM_STEAL - .4byte General_SnatchMove @ B_ANIM_SNATCH_MOVE - .4byte General_FutureSightHit @ B_ANIM_FUTURE_SIGHT_HIT - .4byte General_DoomDesireHit @ B_ANIM_DOOM_DESIRE_HIT - .4byte General_FocusPunchSetUp @ B_ANIM_FOCUS_PUNCH_SETUP - .4byte General_IngrainHeal @ B_ANIM_INGRAIN_HEAL - .4byte General_WishHeal @ B_ANIM_WISH_HEAL - .4byte General_MegaEvolution @ B_ANIM_MEGA_EVOLUTION - .4byte General_IllusionOff @ B_ANIM_ILLUSION_OFF - .4byte General_FormChange @ B_ANIM_FORM_CHANGE - .4byte General_SlideOffScreen @ B_ANIM_SLIDE_OFFSCREEN - .4byte General_RestoreBg @ B_ANIM_RESTORE_BG - .4byte General_TotemFlare @ B_ANIM_TOTEM_FLARE - .4byte General_GulpMissile @ B_ANIM_GULP_MISSILE - .4byte General_StrongWinds @ B_ANIM_STRONG_WINDS - .4byte General_PrimalReversion @ B_ANIM_PRIMAL_REVERSION - .4byte General_AquaRingHeal @ B_ANIM_AQUA_RING_HEAL - .4byte General_BeakBlastSetUp @ B_ANIM_BEAK_BLAST_SETUP - .4byte General_ShellTrapSetUp @ B_ANIM_SHELL_TRAP_SETUP - .4byte General_ZMoveActivate @ B_ANIM_ZMOVE_ACTIVATE - .4byte General_AffectionHangedOn @ B_ANIM_AFFECTION_HANGED_ON - .4byte General_Snow @ B_ANIM_SNOW_CONTINUES - .4byte General_UltraBurst @ B_ANIM_ULTRA_BURST - .4byte General_SaltCureDamage @ B_ANIM_SALT_CURE_DAMAGE - .4byte General_DynamaxGrowth @ B_ANIM_DYNAMAX_GROWTH - .4byte General_SetWeather @ B_ANIM_MAX_SET_WEATHER - .4byte General_SyrupBombSpeedDrop @ B_ANIM_SYRUP_BOMB_SPEED_DROP - .4byte General_Rainbow @ B_ANIM_RAINBOW - .4byte General_SeaOfFire @ B_ANIM_SEA_OF_FIRE - .4byte General_Swamp @ B_ANIM_SWAMP - .4byte General_TrickRoom @ B_ANIM_TRICK_ROOM - .4byte General_WonderRoom @ B_ANIM_WONDER_ROOM - .4byte General_MagicRoom @ B_ANIM_MAGIC_ROOM - .4byte General_Tailwind @ B_ANIM_TAILLWIND - .4byte General_Fog @ B_ANIM_FOG_CONTINUES - .4byte General_TeraCharge @ B_ANIM_TERA_CHARGE - .4byte General_TeraActivate @ B_ANIM_TERA_ACTIVATE - .4byte General_SimpleHeal @ B_ANIM_SIMPLE_HEAL - - .align 2 -gBattleAnims_Special:: - .4byte Special_LevelUp @ B_ANIM_LVL_UP - .4byte Special_SwitchOutPlayerMon @ B_ANIM_SWITCH_OUT_PLAYER_MON - .4byte Special_SwitchOutOpponentMon @ B_ANIM_SWITCH_OUT_OPPONENT_MON - .4byte Special_BallThrow @ B_ANIM_BALL_THROW - .4byte Special_BallThrowWithTrainer @ B_ANIM_BALL_THROW_WITH_TRAINER - .4byte Special_SubstituteToMon @ B_ANIM_SUBSTITUTE_TO_MON - .4byte Special_MonToSubstitute @ B_ANIM_MON_TO_SUBSTITUTE - .4byte Special_CriticalCaptureBallThrow @ B_ANIM_CRITICAL_CAPTURE_THROW - @@@@@@@@@@@@@@@@@@@@@@@ GEN 4 @@@@@@@@@@@@@@@@@@@@@@@ -Move_ROOST:: +gBattleAnimMove_Roost:: loadspritegfx ANIM_TAG_WHITE_FEATHER loadspritegfx ANIM_TAG_BLUE_STAR monbg ANIM_ATTACKER @@ -124,7 +40,7 @@ Move_ROOST:: waitforvisualfinish end -Move_GRAVITY:: +gBattleAnimMove_Gravity:: fadetobg BG_COSMIC waitbgfadein createvisualtask AnimTask_SetAnimTargetToAttackerOpposite, 1 @@ -145,7 +61,7 @@ Move_GRAVITY:: waitforvisualfinish end -Move_MIRACLE_EYE:: +gBattleAnimMove_MiracleEye:: loadspritegfx ANIM_TAG_TEAL_ALERT loadspritegfx ANIM_TAG_OPENING_EYE loadspritegfx ANIM_TAG_ROUND_WHITE_HALO @@ -163,7 +79,7 @@ Move_MIRACLE_EYE:: clearmonbg ANIM_DEF_PARTNER end -Move_WAKE_UP_SLAP:: +gBattleAnimMove_WakeUpSlap:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_SMELLINGSALT_EFFECT @@ -183,7 +99,7 @@ Move_WAKE_UP_SLAP:: blendoff end -Move_HAMMER_ARM:: +gBattleAnimMove_HammerArm:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ROCKS loadspritegfx ANIM_TAG_SLAM_HIT @@ -207,7 +123,7 @@ Move_HAMMER_ARM:: blendoff end -Move_GYRO_BALL:: +gBattleAnimMove_GyroBall:: loadspritegfx ANIM_TAG_IMPACT loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 createvisualtask AnimTask_MetallicShine, 5, 0, 0, RGB_BLACK @@ -237,7 +153,7 @@ Move_GYRO_BALL:: waitforvisualfinish end -Move_HEALING_WISH:: +gBattleAnimMove_HealingWish:: loadspritegfx ANIM_TAG_GREEN_SPARKLE setalpha 0, 16 createvisualtask AnimTask_AlphaFadeIn, 3, 0, 16, 16, 0, 1 @@ -257,7 +173,7 @@ Move_HEALING_WISH:: waitforvisualfinish end -Move_BRINE:: +gBattleAnimMove_Brine:: loadspritegfx ANIM_TAG_GLOWY_BLUE_ORB loadspritegfx ANIM_TAG_WATER_IMPACT monbg ANIM_DEF_PARTNER @@ -271,7 +187,7 @@ Move_BRINE:: blendoff end -Move_NATURAL_GIFT:: +gBattleAnimMove_NaturalGift:: loadspritegfx ANIM_TAG_SPARKLE_2 loadspritegfx ANIM_TAG_HOLLOW_ORB monbg ANIM_ATTACKER @@ -300,7 +216,7 @@ Move_NATURAL_GIFT:: delay 1 end -Move_FEINT:: +gBattleAnimMove_Feint:: loadspritegfx ANIM_TAG_FEINT createsprite gFeintSwipeSpriteTemplate, ANIM_ATTACKER, 10, -32, 0, 15 playsewithpan SE_M_RAZOR_WIND2, SOUND_PAN_ATTACKER @@ -314,7 +230,7 @@ Move_FEINT:: waitforvisualfinish end -Move_PLUCK:: +gBattleAnimMove_Pluck:: loadspritegfx ANIM_TAG_SEED_BROWN loadspritegfx ANIM_TAG_IMPACT playsewithpan SE_M_POISON_POWDER, SOUND_PAN_ATTACKER @@ -340,7 +256,7 @@ Move_PLUCK:: waitforvisualfinish end -Move_TAILWIND:: +gBattleAnimMove_Tailwind:: loadspritegfx ANIM_TAG_FLYING_DIRT playsewithpan SE_M_GUST, SOUND_PAN_ATTACKER call SetHighSpeedBg @@ -374,7 +290,7 @@ Move_TAILWIND:: delay 1 end -General_Tailwind: +gBattleAnimGeneral_Tailwind:: loadspritegfx ANIM_TAG_FLYING_DIRT playsewithpan SE_M_GUST, SOUND_PAN_ATTACKER call SetHighSpeedBg @@ -403,7 +319,7 @@ General_Tailwind: delay 1 end -Move_ACUPRESSURE:: +gBattleAnimMove_Acupressure:: loadspritegfx ANIM_TAG_ACUPRESSURE loadspritegfx ANIM_TAG_SPARK_2 createsprite gAcupressureSpriteTemplate, ANIM_ATTACKER, 40, 0, -40, 40 @@ -411,7 +327,7 @@ Move_ACUPRESSURE:: call ElectricityEffect end -Move_METAL_BURST:: +gBattleAnimMove_MetalBurst:: loadspritegfx ANIM_TAG_ECLIPSING_ORB loadspritegfx ANIM_TAG_RED_ORB loopsewithpan SE_M_TRI_ATTACK, -64, 18, 3 @@ -434,7 +350,7 @@ Move_METAL_BURST:: waitforvisualfinish end -Move_U_TURN:: +gBattleAnimMove_UTurn:: loadspritegfx ANIM_TAG_ROUND_SHADOW loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -463,7 +379,7 @@ UTurnVisible: createsprite gFlyBallAttackSpriteTemplate, ANIM_ATTACKER, 2, 20, FALSE goto UTurnContinue -Move_CLOSE_COMBAT:: +gBattleAnimMove_CloseCombat:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET call SetHighSpeedBg @@ -499,7 +415,7 @@ Move_CLOSE_COMBAT:: delay 1 end -Move_PAYBACK:: +gBattleAnimMove_Payback:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET fadetobg BG_DARK @@ -531,7 +447,7 @@ Move_PAYBACK:: waitbgfadein end -Move_ASSURANCE:: +gBattleAnimMove_Assurance:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_PURPLE_HAND_OUTLINE monbg ANIM_TARGET @@ -550,7 +466,7 @@ Move_ASSURANCE:: waitbgfadein end -Move_EMBARGO:: +gBattleAnimMove_Embargo:: loadspritegfx ANIM_TAG_RED_ORB monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET @@ -572,7 +488,7 @@ EmbargoOrbs1: delay 12 return -Move_FLING:: +gBattleAnimMove_Fling:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_BLACK_BALL monbg ANIM_DEF_PARTNER @@ -588,7 +504,7 @@ Move_FLING:: blendoff end -Move_PSYCHO_SHIFT:: +gBattleAnimMove_PsychoShift:: loadspritegfx ANIM_TAG_ELECTRIC_ORBS loadspritegfx ANIM_TAG_HOLLOW_ORB loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @@ -614,7 +530,7 @@ Move_PSYCHO_SHIFT:: blendoff end -Move_TRUMP_CARD:: +gBattleAnimMove_TrumpCard:: loadspritegfx ANIM_TAG_TRUMP_CARD loadspritegfx ANIM_TAG_CUT loadspritegfx ANIM_TAG_TRUMP_CARD_PARTICLES @@ -658,7 +574,7 @@ Move_TRUMP_CARD:: waitforvisualfinish end -Move_HEAL_BLOCK:: +gBattleAnimMove_HealBlock:: loadspritegfx ANIM_TAG_BLUE_STAR monbg ANIM_TARGET createsoundtask SoundTask_PlaySeChangingVolume, SE_M_ABSORB_2, SOUND_PAN_TARGET, 256, -16, 0, 2 @@ -682,7 +598,7 @@ Move_HEAL_BLOCK:: clearmonbg ANIM_TARGET end -Move_WRING_OUT:: +gBattleAnimMove_WringOut:: loadspritegfx ANIM_TAG_WRING_OUT monbg ANIM_TARGET setalpha 12, 8 @@ -703,7 +619,7 @@ Move_WRING_OUT:: waitforvisualfinish end -Move_POWER_TRICK:: +gBattleAnimMove_PowerTrick:: loadspritegfx ANIM_TAG_POWER_TRICK loopsewithpan SE_M_SELF_DESTRUCT, SOUND_PAN_TARGET 0xa 0x3 createvisualtask AnimTask_UproarDistortion 0x2, 0x0 @@ -715,7 +631,7 @@ Move_POWER_TRICK:: waitforvisualfinish end -Move_GASTRO_ACID:: +gBattleAnimMove_GastroAcid:: loadspritegfx ANIM_TAG_GREEN_POISON_BUBBLE monbg ANIM_DEF_PARTNER createsprite gGreenPoisonBubble, ANIM_TARGET, 2, 20, 0, 40, 1, 0, 0, FALSE @@ -747,7 +663,7 @@ Move_GASTRO_ACID:: clearmonbg ANIM_DEF_PARTNER end -Move_LUCKY_CHANT:: +gBattleAnimMove_LuckyChant:: loadspritegfx ANIM_TAG_GOLD_STARS monbg ANIM_DEF_PARTNER setalpha 12, 8 @@ -774,10 +690,10 @@ Move_LUCKY_CHANT:: unloadspritegfx ANIM_TAG_GOLD_STARS end -Move_ME_FIRST:: +gBattleAnimMove_MeFirst:: end -Move_COPYCAT:: +gBattleAnimMove_Copycat:: loadspritegfx ANIM_TAG_GRAY_ORB loadspritegfx ANIM_TAG_THIN_RING playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER @@ -799,7 +715,7 @@ Move_COPYCAT:: waitforvisualfinish end -Move_POWER_SWAP:: +gBattleAnimMove_PowerSwap:: loadspritegfx ANIM_TAG_COLORED_ORBS playsewithpan SE_M_DOUBLE_TEAM, 0 createsprite gPowerSwapGuardSwapSpriteTemplate, ANIM_TARGET, 3, 0, 0, 0, 0, 42, -32 @@ -841,7 +757,7 @@ Move_POWER_SWAP:: waitforvisualfinish end -Move_GUARD_SWAP:: +gBattleAnimMove_GuardSwap:: loadspritegfx ANIM_TAG_COLORED_ORBS playsewithpan SE_M_DOUBLE_TEAM, 0 createsprite gPowerSwapGuardSwapSpriteTemplate, ANIM_TARGET, 3, 0, 0, 2, 0, 42, -32 @@ -883,7 +799,7 @@ Move_GUARD_SWAP:: waitforvisualfinish end -Move_PUNISHMENT:: +gBattleAnimMove_Punishment:: loadspritegfx ANIM_TAG_SCRATCH loadspritegfx ANIM_TAG_POISON_BUBBLE monbg ANIM_TARGET @@ -906,7 +822,7 @@ Move_PUNISHMENT:: blendoff end -Move_LAST_RESORT:: +gBattleAnimMove_LastResort:: fadetobg BG_COSMIC waitbgfadeout createvisualtask AnimTask_StartSlidingBg, 2, 4, 0, 128, 0, -1 @@ -944,7 +860,7 @@ Move_LAST_RESORT:: call UnsetHighSpeedBg end -Move_WORRY_SEED:: +gBattleAnimMove_WorrySeed:: loadspritegfx ANIM_TAG_WORRY_SEED loadspritegfx ANIM_TAG_SMALL_CLOUD playsewithpan SE_M_POISON_POWDER, SOUND_PAN_ATTACKER @@ -958,7 +874,7 @@ Move_WORRY_SEED:: waitforvisualfinish end -Move_SUCKER_PUNCH:: +gBattleAnimMove_SuckerPunch:: loadspritegfx ANIM_TAG_POISON_JAB loadspritegfx ANIM_TAG_IMPACT createsprite gSlideMonToOffsetSpriteTemplate, 2, 5, 0, 20, 0, 0, 4 @@ -971,7 +887,7 @@ Move_SUCKER_PUNCH:: createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 3, 0, 1, 4 end -Move_TOXIC_SPIKES:: +gBattleAnimMove_ToxicSpikes:: loadspritegfx ANIM_TAG_TOXIC_SPIKES loadspritegfx ANIM_TAG_POISON_BUBBLE monbg ANIM_DEF_PARTNER @@ -991,11 +907,11 @@ Move_TOXIC_SPIKES:: clearmonbg ANIM_DEF_PARTNER end -Move_HEART_SWAP:: +gBattleAnimMove_HeartSwap:: end -Move_AQUA_RING:: -General_AquaRingHeal: +gBattleAnimMove_AquaRing:: +gBattleAnimGeneral_AquaRingHeal:: loadspritegfx ANIM_TAG_BLUE_STAR loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_ICE_CRYSTALS @@ -1043,7 +959,7 @@ General_AquaRingHeal: blendoff end -Move_MAGNET_RISE:: +gBattleAnimMove_MagnetRise:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_SPARK_2 delay 0 @@ -1080,7 +996,7 @@ Move_MAGNET_RISE:: waitforvisualfinish end -Move_FLARE_BLITZ:: +gBattleAnimMove_FlareBlitz:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_SMALL_EMBER @@ -1157,7 +1073,7 @@ Move_FLARE_BLITZ:: waitbgfadein end -Move_FORCE_PALM:: +gBattleAnimMove_ForcePalm:: loadspritegfx ANIM_TAG_SHADOW_BALL loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT @@ -1175,7 +1091,7 @@ Move_FORCE_PALM:: blendoff end -Move_AURA_SPHERE:: +gBattleAnimMove_AuraSphere:: loadspritegfx ANIM_TAG_METEOR loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT monbg ANIM_ATK_PARTNER @@ -1200,7 +1116,7 @@ SetAuraSphereBG: fadetobg BG_AURA_SPHERE goto SetHighSpeedBgFade -Move_ROCK_POLISH:: +gBattleAnimMove_RockPolish:: loadspritegfx ANIM_TAG_WHITE_STREAK loadspritegfx ANIM_TAG_SPARKLE_3 setalpha 12, 8 @@ -1267,7 +1183,7 @@ Move_ROCK_POLISH:: blendoff end -Move_POISON_JAB:: +gBattleAnimMove_PoisonJab:: loadspritegfx ANIM_TAG_PURPLE_JAB loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_POISON_BUBBLE @@ -1321,7 +1237,7 @@ Move_POISON_JAB:: blendoff end -Move_DARK_PULSE:: +gBattleAnimMove_DarkPulse:: loadspritegfx ANIM_TAG_THIN_RING monbg ANIM_TARGET fadetobg BG_DARK @@ -1349,7 +1265,7 @@ Move_DARK_PULSE:: waitbgfadein end -Move_NIGHT_SLASH:: +gBattleAnimMove_NightSlash:: loadspritegfx ANIM_TAG_SLASH createvisualtask AnimTask_BlendNightSlash, 2, ANIM_TARGET, 2, 0, 8, 1 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 1, 3, 0, 12, RGB_BLACK @@ -1369,7 +1285,7 @@ Move_NIGHT_SLASH:: waitforvisualfinish end -Move_AQUA_TAIL:: +gBattleAnimMove_AquaTail:: loadspritegfx ANIM_TAG_WATER_IMPACT loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_ICE_CRYSTALS @@ -1423,7 +1339,7 @@ Move_AQUA_TAIL:: blendoff end -Move_SEED_BOMB:: +gBattleAnimMove_SeedBomb:: loadspritegfx ANIM_TAG_SEED loadspritegfx ANIM_TAG_EXPLOSION createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0 @@ -1472,7 +1388,7 @@ Move_SEED_BOMB:: waitforvisualfinish end -Move_AIR_SLASH:: +gBattleAnimMove_AirSlash:: loadspritegfx ANIM_TAG_SLASH call SetSkyBg createsprite gSlashSliceSpriteTemplate, ANIM_TARGET, 2, 1, -8, 0 @@ -1485,7 +1401,7 @@ Move_AIR_SLASH:: call UnsetSkyBg end -Move_X_SCISSOR:: +gBattleAnimMove_XScissor:: loadspritegfx ANIM_TAG_CUT monbg ANIM_TARGET setalpha 12, 8 @@ -1503,7 +1419,7 @@ Move_X_SCISSOR:: blendoff end -Move_BUG_BUZZ:: +gBattleAnimMove_BugBuzz:: loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE loadspritegfx ANIM_TAG_THIN_RING monbg ANIM_DEF_PARTNER @@ -1530,7 +1446,7 @@ Move_BUG_BUZZ:: call UnsetBugBg end -Move_DRAGON_PULSE:: +gBattleAnimMove_DragonPulse:: loadspritegfx ANIM_TAG_DRAGON_PULSE monbg ANIM_TARGET setalpha 12, 8 @@ -1563,7 +1479,7 @@ DragonPulseParticle: delay 4 return -Move_DRAGON_RUSH:: +gBattleAnimMove_DragonRush:: loadspritegfx ANIM_TAG_SLAM_HIT_2 loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ROCKS @@ -1592,7 +1508,7 @@ Move_DRAGON_RUSH:: blendoff end -Move_POWER_GEM:: @ Copy of Hidden Power with background blackened +gBattleAnimMove_PowerGem:: @ Copy of Hidden Power with background blackened loadspritegfx ANIM_TAG_POWER_GEM createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 5, 1, 1, 0, 7, RGB_BLACK waitforvisualfinish @@ -1626,7 +1542,7 @@ Move_POWER_GEM:: @ Copy of Hidden Power with background blackened waitforvisualfinish end -Move_DRAIN_PUNCH:: +gBattleAnimMove_DrainPunch:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_BLUE_STAR @@ -1647,7 +1563,7 @@ Move_DRAIN_PUNCH:: blendoff end -Move_VACUUM_WAVE:: +gBattleAnimMove_VacuumWave:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_THIN_RING @@ -1663,7 +1579,7 @@ Move_VACUUM_WAVE:: blendoff end -Move_FOCUS_BLAST:: +gBattleAnimMove_FocusBlast:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_METEOR loadspritegfx ANIM_TAG_FLAT_ROCK @@ -1687,7 +1603,7 @@ SetFocusBlastBG: fadetobg BG_FOCUS_BLAST goto SetHighSpeedBgFade -Move_ENERGY_BALL:: +gBattleAnimMove_EnergyBall:: loadspritegfx ANIM_TAG_ENERGY_BALL monbg ANIM_TARGET setalpha 12, 8 @@ -1705,7 +1621,7 @@ Move_ENERGY_BALL:: blendoff end -Move_BRAVE_BIRD:: +gBattleAnimMove_BraveBird:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_BIRD call SetSkyBg @@ -1728,7 +1644,7 @@ Move_BRAVE_BIRD:: call UnsetSkyBg end -Move_EARTH_POWER:: +gBattleAnimMove_EarthPower:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_FIRE_PLUME createvisualtask AnimTask_HorizontalShake, 3, ANIM_DEF_PARTNER, 10, 50 @@ -1757,7 +1673,7 @@ Move_EARTH_POWER:: waitforvisualfinish end -Move_SWITCHEROO:: +gBattleAnimMove_Switcheroo:: fadetobg BG_DARK waitbgfadein loadspritegfx ANIM_TAG_ITEM_BAG @@ -1789,7 +1705,7 @@ Move_SWITCHEROO:: waitbgfadein end -Move_GIGA_IMPACT:: +gBattleAnimMove_GigaImpact:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER setalpha 12, 8 @@ -1833,7 +1749,7 @@ GigaImpactContinuity: waitforvisualfinish end -Move_NASTY_PLOT:: +gBattleAnimMove_NastyPlot:: loadspritegfx ANIM_TAG_AMNESIA fadetobg BG_DARK waitbgfadeout @@ -1848,7 +1764,7 @@ Move_NASTY_PLOT:: call UnsetPsychicBg end -Move_BULLET_PUNCH:: +gBattleAnimMove_BulletPunch:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET monbg ANIM_TARGET @@ -1902,7 +1818,7 @@ Move_BULLET_PUNCH:: blendoff end -Move_AVALANCHE:: +gBattleAnimMove_Avalanche:: loadspritegfx ANIM_TAG_ROCKS loadspritegfx ANIM_TAG_ICE_CHUNK monbg ANIM_DEF_PARTNER @@ -1953,7 +1869,7 @@ SnowSlide1: delay 2 return -Move_ICE_SHARD:: +gBattleAnimMove_IceShard:: monbg ANIM_TARGET splitbgprio ANIM_TARGET setalpha 12, 8 @@ -1989,7 +1905,7 @@ Move_ICE_SHARD:: blendoff end -Move_SHADOW_CLAW:: +gBattleAnimMove_ShadowClaw:: loadspritegfx ANIM_TAG_BLUE_LIGHT_WALL loadspritegfx ANIM_TAG_CLAW_SLASH loadspritegfx ANIM_TAG_TORN_METAL @@ -2015,7 +1931,7 @@ Move_SHADOW_CLAW:: clearmonbg ANIM_TARGET end -Move_THUNDER_FANG:: +gBattleAnimMove_ThunderFang:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_LIGHTNING loadspritegfx ANIM_TAG_SHARP_TEETH @@ -2049,7 +1965,7 @@ Move_THUNDER_FANG:: delay 1 end -Move_ICE_FANG:: +gBattleAnimMove_IceFang:: monbg ANIM_TARGET setalpha 12, 8 loadspritegfx ANIM_TAG_ICE_CRYSTALS @@ -2086,7 +2002,7 @@ Move_ICE_FANG:: delay 1 end -Move_FIRE_FANG:: +gBattleAnimMove_FireFang:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_SHARP_TEETH loadspritegfx ANIM_TAG_IMPACT @@ -2115,7 +2031,7 @@ Move_FIRE_FANG:: delay 1 end -Move_SHADOW_SNEAK:: +gBattleAnimMove_ShadowSneak:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_WHITE_SHADOW @Destiny Bond loadspritegfx ANIM_TAG_QUICK_GUARD_HAND @Black Colour @@ -2153,7 +2069,7 @@ ShadowSneakMovement: delay 0x4 return -Move_MUD_BOMB:: +gBattleAnimMove_MudBomb:: loadspritegfx ANIM_TAG_MUD_SAND playsewithpan SE_M_BUBBLE3, SOUND_PAN_ATTACKER createsprite gMudBombToss, ANIM_TARGET, 2, 20, 0, 0, 0, 35, -25 @@ -2204,7 +2120,7 @@ Move_MUD_BOMB:: waitforvisualfinish end -Move_PSYCHO_CUT:: +gBattleAnimMove_PsychoCut:: loadspritegfx ANIM_TAG_SPIRAL loadspritegfx ANIM_TAG_PSYCHO_CUT loadspritegfx ANIM_TAG_CROSS_IMPACT @@ -2232,7 +2148,7 @@ Move_PSYCHO_CUT:: waitforvisualfinish end -Move_ZEN_HEADBUTT:: +gBattleAnimMove_ZenHeadbutt:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_WATER_IMPACT monbg ANIM_ATTACKER @@ -2264,7 +2180,7 @@ Move_ZEN_HEADBUTT:: delay 1 end -Move_MIRROR_SHOT:: +gBattleAnimMove_MirrorShot:: loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 createvisualtask AnimTask_MetallicShine, 5, 1, 0, RGB_BLACK waitforvisualfinish @@ -2298,7 +2214,7 @@ Move_MIRROR_SHOT:: blendoff end -Move_FLASH_CANNON:: +gBattleAnimMove_FlashCannon:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_ELECTRIC_ORBS @@ -2335,7 +2251,7 @@ Move_FLASH_CANNON:: clearmonbg ANIM_TARGET end -Move_ROCK_CLIMB:: +gBattleAnimMove_RockClimb:: delay 8 loopsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER, 38, 3 waitforvisualfinish @@ -2370,7 +2286,7 @@ Move_ROCK_CLIMB:: blendoff end -Move_DEFOG:: +gBattleAnimMove_Defog:: loadspritegfx ANIM_TAG_WHITE_CIRCLE_OF_LIGHT monbg ANIM_ATTACKER setalpha 12, 8 @@ -2388,9 +2304,9 @@ Move_DEFOG:: blendoff end -Move_TRICK_ROOM:: +gBattleAnimMove_TrickRoom:: call InitRoomAnimation -General_TrickRoom: +gBattleAnimGeneral_TrickRoom:: playsewithpan SE_M_SUPERSONIC, SOUND_PAN_TARGET fadetobg BG_TRICK_ROOM waitbgfadein @@ -2405,7 +2321,7 @@ InitRoomAnimation: return @ Credits to Skeli -Move_DRACO_METEOR:: +gBattleAnimMove_DracoMeteor:: loadspritegfx ANIM_TAG_ROCKS @Rocks loadspritegfx ANIM_TAG_FAIRY_LOCK_CHAINS @Gray Colour loadspritegfx ANIM_TAG_WATER_GUN @Sparkles Trail @@ -2490,7 +2406,7 @@ DracoMeteor4: createsprite gDracoMeteorTailSpriteTemplate 0x83, 5, 0xffb0, 0xffc0, 0xFFF8, 0x20, 0x19 return -Move_DISCHARGE:: +gBattleAnimMove_Discharge:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_SPARK_2 delay 0 @@ -2595,7 +2511,7 @@ DischargeElectrify: createsprite gElectricitySpriteTemplate, ANIM_TARGET, 2, -20, 15, 5, 1, ANIM_ATK_PARTNER return -Move_LAVA_PLUME:: +gBattleAnimMove_LavaPlume:: loadspritegfx ANIM_TAG_FIRE_PLUME loopsewithpan 152, SOUND_PAN_ATTACKER, 9, 2 createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 11, RGB_RED @@ -2615,7 +2531,7 @@ Move_LAVA_PLUME:: waitforvisualfinish end -Move_LEAF_STORM:: +gBattleAnimMove_LeafStorm:: loadspritegfx ANIM_TAG_RAZOR_LEAF loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_LEAF @@ -2727,7 +2643,7 @@ Move_LEAF_STORM:: clearmonbg ANIM_DEF_PARTNER end -Move_POWER_WHIP:: +gBattleAnimMove_PowerWhip:: loadspritegfx ANIM_TAG_WHIP_HIT playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 10 @@ -2741,7 +2657,7 @@ Move_POWER_WHIP:: waitbgfadein end -Move_ROCK_WRECKER:: +gBattleAnimMove_RockWrecker:: jumpargeq 7, 1, RockWrecker_1 fadetobg BG_ROCK_WRECKER waitbgfadeout @@ -2787,7 +2703,7 @@ RockWrecker_2: call UnsetPsychicBg end -Move_CROSS_POISON:: +gBattleAnimMove_CrossPoison:: loadspritegfx ANIM_TAG_POISON_BUBBLE loadspritegfx ANIM_TAG_CROSS_IMPACT monbg ANIM_TARGET @@ -2803,7 +2719,7 @@ Move_CROSS_POISON:: blendoff end -Move_GUNK_SHOT:: +gBattleAnimMove_GunkShot:: loadspritegfx ANIM_TAG_WATER_ORB loadspritegfx ANIM_TAG_POISON_BUBBLE loadspritegfx ANIM_TAG_WATER_IMPACT @@ -2860,7 +2776,7 @@ SetGunkShotBG: goto SetHighSpeedBgFade -Move_IRON_HEAD:: +gBattleAnimMove_IronHead:: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_IMPACT loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 @@ -2882,7 +2798,7 @@ Move_IRON_HEAD:: waitforvisualfinish end -Move_MAGNET_BOMB:: +gBattleAnimMove_MagnetBomb:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_SPARK_2 delay 0 @@ -2947,7 +2863,7 @@ Move_MAGNET_BOMB:: waitforvisualfinish end -Move_STONE_EDGE:: +gBattleAnimMove_StoneEdge:: loadspritegfx ANIM_TAG_STONE_EDGE loadspritegfx ANIM_TAG_IMPACT playsewithpan SE_M_ROCK_THROW SOUND_PAN_TARGET @@ -3006,7 +2922,7 @@ Move_STONE_EDGE:: blendoff end -Move_CAPTIVATE:: +gBattleAnimMove_Captivate:: loadspritegfx ANIM_TAG_MAGENTA_HEART loadspritegfx ANIM_TAG_SPARKLE_2 createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_DEF_PARTNER, 0, 2, 0 @@ -3022,7 +2938,7 @@ Move_CAPTIVATE:: waitforvisualfinish end -Move_STEALTH_ROCK:: +gBattleAnimMove_StealthRock:: loadspritegfx ANIM_TAG_STEALTH_ROCK monbg ANIM_DEF_PARTNER playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER @@ -3039,7 +2955,7 @@ Move_STEALTH_ROCK:: clearmonbg ANIM_DEF_PARTNER end -Move_GRASS_KNOT:: +gBattleAnimMove_GrassKnot:: loadspritegfx ANIM_TAG_RAZOR_LEAF loadspritegfx ANIM_TAG_IMPACT createsprite gSlideMonToOffsetSpriteTemplate, 2, 5, 0, 20, 0, 0, 4 @@ -3052,7 +2968,7 @@ Move_GRASS_KNOT:: createsprite gSlideMonToOriginalPosSpriteTemplate, 2, 3, 0, 1, 4 end -Move_CHATTER:: +gBattleAnimMove_Chatter:: loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_MUSIC_NOTES @@ -3092,7 +3008,7 @@ Move_CHATTER:: clearmonbg ANIM_DEF_PARTNER end -Move_JUDGMENT:: +gBattleAnimMove_Judgment:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_GREEN_SPIKE @@ -3188,7 +3104,7 @@ JudgmentInwardSpikes2: createsprite gJudgmentGrayInwardOrbsTemplate, ANIM_TARGET, 2, 1, 0, 0xFFDA, 0xFF94, 16 @between up and upper left return -Move_BUG_BITE:: +gBattleAnimMove_BugBite:: loadspritegfx ANIM_TAG_ROCKS loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET @@ -3229,7 +3145,7 @@ Move_BUG_BITE:: blendoff end -Move_CHARGE_BEAM:: +gBattleAnimMove_ChargeBeam:: loadspritegfx ANIM_TAG_ELECTRIC_ORBS loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_ELECTRICITY @@ -3281,7 +3197,7 @@ SparkBeam: delay 1 return -Move_WOOD_HAMMER:: +gBattleAnimMove_WoodHammer:: loadspritegfx ANIM_TAG_WOOD_HAMMER loadspritegfx ANIM_TAG_WOOD_HAMMER_HAMMER loadspritegfx ANIM_TAG_IMPACT @@ -3310,7 +3226,7 @@ WoodHammerImpact: createsprite gWoodHammerSmallSpriteTemplate, ANIM_TARGET, 2, -5, 0, -20, -24, 20, 2 return -Move_AQUA_JET:: +gBattleAnimMove_AquaJet:: loadspritegfx ANIM_TAG_SPARKLE_6 loadspritegfx ANIM_TAG_ROUND_SHADOW loadspritegfx ANIM_TAG_SPLASH @@ -3343,7 +3259,7 @@ Move_AQUA_JET:: blendoff end -Move_ATTACK_ORDER:: +gBattleAnimMove_AttackOrder:: loadspritegfx ANIM_TAG_ATTACK_ORDER loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ROCKS @@ -3389,7 +3305,7 @@ Move_ATTACK_ORDER:: blendoff end -Move_DEFEND_ORDER:: +gBattleAnimMove_DefendOrder:: loadspritegfx ANIM_TAG_ATTACK_ORDER loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ROCKS @@ -3426,7 +3342,7 @@ Move_DEFEND_ORDER:: waitforvisualfinish end -Move_HEAL_ORDER:: +gBattleAnimMove_HealOrder:: loadspritegfx ANIM_TAG_ATTACK_ORDER loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ROCKS @@ -3463,7 +3379,7 @@ Move_HEAL_ORDER:: waitforvisualfinish end -Move_HEAD_SMASH:: +gBattleAnimMove_HeadSmash:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ROCKS createvisualtask AnimTask_SkullBashPosition, 2, 0 @@ -3485,7 +3401,7 @@ Move_HEAD_SMASH:: waitbgfadein end -Move_DOUBLE_HIT:: +gBattleAnimMove_DoubleHit:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET setalpha 12, 8 @@ -3507,7 +3423,7 @@ Move_DOUBLE_HIT:: blendoff end -Move_ROAR_OF_TIME:: +gBattleAnimMove_RoarOfTime:: loadspritegfx ANIM_TAG_ORBS loadspritegfx ANIM_TAG_EXPLOSION loadspritegfx ANIM_TAG_WATER_GUN @@ -3548,7 +3464,7 @@ Move_ROAR_OF_TIME:: waitforvisualfinish end -Move_SPACIAL_REND:: +gBattleAnimMove_SpacialRend:: loadspritegfx ANIM_TAG_PUNISHMENT_BLADES loadspritegfx ANIM_TAG_PINK_HEART_2 @ANIM_TAG_BERRY_EATEN monbg ANIM_ATK_PARTNER @@ -3582,7 +3498,7 @@ Move_SPACIAL_REND:: blendoff end -Move_LUNAR_DANCE:: +gBattleAnimMove_LunarDance:: loadspritegfx ANIM_TAG_MOON loadspritegfx ANIM_TAG_GREEN_SPARKLE loadspritegfx ANIM_TAG_HOLLOW_ORB @@ -3623,7 +3539,7 @@ Move_LUNAR_DANCE:: delay 1 end -Move_CRUSH_GRIP:: +gBattleAnimMove_CrushGrip:: loadspritegfx ANIM_TAG_EXPLOSION loadspritegfx ANIM_TAG_ACUPRESSURE loadspritegfx ANIM_TAG_PURPLE_HAND_OUTLINE @@ -3648,7 +3564,7 @@ Move_CRUSH_GRIP:: blendoff end -Move_MAGMA_STORM:: +gBattleAnimMove_MagmaStorm:: loadspritegfx ANIM_TAG_SMALL_EMBER fadetobg BG_MAGMA_STORM @Add new bg waitbgfadeout @@ -3673,7 +3589,7 @@ Move_MAGMA_STORM:: blendoff end -Move_DARK_VOID:: +gBattleAnimMove_DarkVoid:: loadspritegfx ANIM_TAG_WHITE_SHADOW @Destiny Bond loadspritegfx ANIM_TAG_QUICK_GUARD_HAND @Black Colour loadspritegfx ANIM_TAG_SPARKLE_2 @Healing Stars @@ -3700,7 +3616,7 @@ Move_DARK_VOID:: visible ANIM_DEF_PARTNER end -Move_SEED_FLARE:: +gBattleAnimMove_SeedFlare:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge animation loadspritegfx ANIM_TAG_LEAF @green color loadspritegfx ANIM_TAG_RAZOR_LEAF @green color 2 @@ -3785,7 +3701,7 @@ Move_SEED_FLARE:: blendoff end -Move_OMINOUS_WIND:: +gBattleAnimMove_OminousWind:: loadspritegfx ANIM_TAG_SPARKLE_6 panse SE_M_GUST, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET 2, 0 playsewithpan 228, 0 @@ -3844,7 +3760,7 @@ OminousWindHit: waitbgfadein end -Move_SHADOW_FORCE:: +gBattleAnimMove_ShadowForce:: loadspritegfx ANIM_TAG_ROUND_SHADOW loadspritegfx ANIM_TAG_IMPACT choosetwoturnanim ShadowForcePrep ShadowForceAttack @@ -3898,7 +3814,7 @@ ShadowForceBg: return @@@@@@@@@@@@@@@@@@@@@@@ GEN 5 @@@@@@@@@@@@@@@@@@@@@@@ -Move_HONE_CLAWS:: +gBattleAnimMove_HoneClaws:: loadspritegfx ANIM_TAG_SWIPE call HoneClawsAnim createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_SWIPE, 0, 6, 6, RGB_BLACK @@ -3919,7 +3835,7 @@ HoneClawsAnim: delay 10 return -Move_WIDE_GUARD:: +gBattleAnimMove_WideGuard:: loadspritegfx ANIM_TAG_ICE_SPIKES @motion from icy wind loadspritegfx ANIM_TAG_PINK_PETAL @pink color loadspritegfx ANIM_TAG_SMALL_EMBER @yellow color @@ -3969,7 +3885,7 @@ Move_WIDE_GUARD:: blendoff end -Move_GUARD_SPLIT:: +gBattleAnimMove_GuardSplit:: loadspritegfx ANIM_TAG_BLUEGREEN_ORB createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 0x1, 0x0, 0xC, 0x0 loopsewithpan SE_M_LOCK_ON, SOUND_PAN_ATTACKER, 0x18, 0x3 @@ -3993,7 +3909,7 @@ GuardSplitLaunch: delay 0x5 return -Move_POWER_SPLIT:: +gBattleAnimMove_PowerSplit:: loadspritegfx ANIM_TAG_RED_HEART loadspritegfx ANIM_TAG_BLUEGREEN_ORB createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 0x1, 0x0, 0xC, 0x0 @@ -4018,9 +3934,9 @@ PowerSplitLaunch: delay 5 return -Move_WONDER_ROOM:: +gBattleAnimMove_WonderRoom:: call InitRoomAnimation -General_WonderRoom: +gBattleAnimGeneral_WonderRoom:: playsewithpan SE_M_SUPERSONIC, SOUND_PAN_TARGET fadetobg BG_WONDER_ROOM waitbgfadein @@ -4030,7 +3946,7 @@ General_WonderRoom: blendoff end -Move_PSYSHOCK:: +gBattleAnimMove_Psyshock:: loadspritegfx ANIM_TAG_RED_ORB_2 loadspritegfx ANIM_TAG_POISON_JAB loadspritegfx ANIM_TAG_GRAY_SMOKE @@ -4107,7 +4023,7 @@ PsyshockConverge: delay 2 return -Move_VENOSHOCK:: +gBattleAnimMove_Venoshock:: loadspritegfx ANIM_TAG_POISON_BUBBLE loadspritegfx ANIM_TAG_TOXIC_BUBBLE createsprite gToxicBubbleSpriteTemplate, ANIM_TARGET, 2, -24, 16, 1, 1 @@ -4135,7 +4051,7 @@ Move_VENOSHOCK:: delay 15 end -Move_AUTOTOMIZE:: +gBattleAnimMove_Autotomize:: loadspritegfx ANIM_TAG_METAL_BITS @Metal Bits setalpha 12, 8 monbg ANIM_ATK_PARTNER @@ -4160,7 +4076,7 @@ Move_AUTOTOMIZE:: blendoff end -Move_RAGE_POWDER:: +gBattleAnimMove_RagePowder:: loadspritegfx ANIM_TAG_SPORE @Powder loadspritegfx ANIM_TAG_HEART_STAMP @Red Colour monbg ANIM_DEF_PARTNER @@ -4182,7 +4098,7 @@ RagePowderSprinkle: delay 0xc return -Move_TELEKINESIS:: +gBattleAnimMove_Telekinesis:: loadspritegfx ANIM_TAG_SPARKLE_4 @detect createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 0x1, 0x0, 0x9, 0x0 waitforvisualfinish @@ -4200,9 +4116,9 @@ Move_TELEKINESIS:: waitforvisualfinish end -Move_MAGIC_ROOM:: +gBattleAnimMove_MagicRoom:: call InitRoomAnimation -General_MagicRoom: +gBattleAnimGeneral_MagicRoom:: playsewithpan SE_M_SUPERSONIC, SOUND_PAN_TARGET fadetobg BG_MAGIC_ROOM waitbgfadein @@ -4212,7 +4128,7 @@ General_MagicRoom: blendoff end -Move_SMACK_DOWN:: +gBattleAnimMove_SmackDown:: loadspritegfx ANIM_TAG_BLACK_BALL loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ROCKS @@ -4225,7 +4141,7 @@ Move_SMACK_DOWN:: createvisualtask AnimTask_SeismicTossBgAccelerateDownAtEnd, 3 goto SeismicTossWeak -Move_STORM_THROW:: +gBattleAnimMove_StormThrow:: call StormThorwAnim call StormThorwAnim call StormThorwAnim @@ -4248,7 +4164,7 @@ StormThorwAnim: delay 8 return -Move_FLAME_BURST:: +gBattleAnimMove_FlameBurst:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_EXPLOSION playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER @@ -4281,13 +4197,13 @@ FlameBurstSpread: return -Move_SLUDGE_WAVE:: +gBattleAnimMove_SludgeWave:: panse SE_M_WHIRLPOOL, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 0x2, 0x0 createvisualtask AnimTask_CreateSurfWave, 2, ANIM_SURF_PAL_SLUDGE_WAVE waitforvisualfinish end -Move_QUIVER_DANCE:: +gBattleAnimMove_QuiverDance:: loadspritegfx ANIM_TAG_HOLLOW_ORB monbg ANIM_ATTACKER call SetBugBg @@ -4310,7 +4226,7 @@ Move_QUIVER_DANCE:: call UnsetBugBg end -Move_HEAVY_SLAM:: +gBattleAnimMove_HeavySlam:: loadspritegfx ANIM_TAG_CLAW_SLASH loadspritegfx ANIM_TAG_IMPACT loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 @@ -4340,7 +4256,7 @@ Move_HEAVY_SLAM:: blendoff end -Move_SYNCHRONOISE:: +gBattleAnimMove_Synchronoise:: loadspritegfx ANIM_TAG_THIN_RING @hypervoice ring loadspritegfx ANIM_TAG_SPARK_2 @yellow color loadspritegfx ANIM_TAG_WATER_ORB @blue color @@ -4379,7 +4295,7 @@ Move_SYNCHRONOISE:: clearmonbg ANIM_DEF_PARTNER end -Move_ELECTRO_BALL:: +gBattleAnimMove_ElectroBall:: loadspritegfx ANIM_TAG_SPARK_2 @yelow loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge loadspritegfx ANIM_TAG_FLASH_CANNON_BALL @ball @@ -4406,7 +4322,7 @@ Move_ELECTRO_BALL:: blendoff end -Move_SOAK:: +gBattleAnimMove_Soak:: loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_WATER_IMPACT monbg ANIM_TARGET @@ -4441,7 +4357,7 @@ Move_SOAK:: blendoff end -Move_FLAME_CHARGE:: +gBattleAnimMove_FlameCharge:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -4474,7 +4390,7 @@ FlameChargeSwirl: createsprite gFlameChargeEmberTemplate, ANIM_ATTACKER, 2, 0x0, 0xffe8, 0x8, 0x8c return -Move_COIL:: +gBattleAnimMove_Coil:: loadspritegfx ANIM_TAG_TENDRILS loopsewithpan SE_M_SCRATCH, SOUND_PAN_TARGET, 0x6, 0x4 createsprite gConstrictBindingSpriteTemplate, ANIM_TARGET, 4, 0x0, 0x10, 0x0, 0x2 @@ -4493,7 +4409,7 @@ Move_COIL:: waitforvisualfinish end -Move_LOW_SWEEP:: +gBattleAnimMove_LowSweep:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 0, 0, 4 @@ -4505,7 +4421,7 @@ Move_LOW_SWEEP:: createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 4 end -Move_ACID_SPRAY:: +gBattleAnimMove_AcidSpray:: loadspritegfx ANIM_TAG_POISON_BUBBLE monbg ANIM_TARGET createsprite gAcidPoisonBubbleSpriteTemplate, ANIM_TARGET, 2, 20, 0, 40, 1, 0, -20, FALSE @@ -4531,7 +4447,7 @@ Move_ACID_SPRAY:: clearmonbg ANIM_TARGET end -Move_FOUL_PLAY:: +gBattleAnimMove_FoulPlay:: loadspritegfx ANIM_TAG_POISON_BUBBLE loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_IMPACT @@ -4554,7 +4470,7 @@ Move_FOUL_PLAY:: blendoff end -Move_SIMPLE_BEAM:: +gBattleAnimMove_SimpleBeam:: loadspritegfx ANIM_TAG_GOLD_RING @psybeam loadspritegfx ANIM_TAG_ROCKS @brown color loadspritegfx ANIM_TAG_PINK_PETAL @pink color @@ -4600,7 +4516,7 @@ SimpleBeamWithRings: delay 0x2 return -Move_ENTRAINMENT:: +gBattleAnimMove_Entrainment:: createvisualtask AnimTask_TeeterDanceMovement, 5 playsewithpan SE_M_TEETER_DANCE, SOUND_PAN_ATTACKER delay 0x18 @@ -4615,7 +4531,7 @@ Move_ENTRAINMENT:: waitforvisualfinish end -Move_AFTER_YOU:: +gBattleAnimMove_AfterYou:: loadspritegfx ANIM_TAG_ANGER @rage loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @green color createvisualtask AnimTask_SwayMon, 5, 1, 15, 1536, 2, ANIM_ATTACKER @@ -4630,7 +4546,7 @@ Move_AFTER_YOU:: waitforvisualfinish end -Move_ROUND:: +gBattleAnimMove_Round:: loadspritegfx ANIM_TAG_MUSIC_NOTES createvisualtask AnimTask_MusicNotesRainbowBlend, 2 waitforvisualfinish @@ -4652,7 +4568,7 @@ Move_ROUND:: waitforvisualfinish end -Move_ECHOED_VOICE:: +gBattleAnimMove_EchoedVoice:: loadspritegfx ANIM_TAG_METAL_SOUND_WAVES monbg ANIM_DEF_PARTNER splitbgprio_foes ANIM_TARGET @@ -4672,7 +4588,7 @@ MetalSoundPlayNote: delay 0x2 return -Move_CHIP_AWAY:: +gBattleAnimMove_ChipAway:: loadspritegfx ANIM_TAG_IMPACT createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_ATTACKER, 0x2, 0x0, 0x9, 0x7FFF waitforvisualfinish @@ -4690,7 +4606,7 @@ Move_CHIP_AWAY:: blendoff end -Move_CLEAR_SMOG:: +gBattleAnimMove_ClearSmog:: loadspritegfx ANIM_TAG_MIST_CLOUD monbg ANIM_TARGET splitbgprio_all @@ -4718,7 +4634,7 @@ ClearSmogCloud: delay 7 return -Move_STORED_POWER:: +gBattleAnimMove_StoredPower:: loadspritegfx ANIM_TAG_RED_ORB_2 loadspritegfx ANIM_TAG_IMPACT call SetPsychicBackground @@ -4748,7 +4664,7 @@ Move_STORED_POWER:: waitforvisualfinish end -Move_QUICK_GUARD:: +gBattleAnimMove_QuickGuard:: loadspritegfx ANIM_TAG_QUICK_GUARD_HAND @hand loadspritegfx ANIM_TAG_SPARKLE_4 @sparkles setalpha 12, 8 @@ -4778,7 +4694,7 @@ Move_QUICK_GUARD:: clearmonbg ANIM_ATTACKER end -Move_ALLY_SWITCH:: +gBattleAnimMove_AllySwitch:: call SetPsychicBackground createvisualtask AnimTask_AllySwitchAttacker, 2 createvisualtask AnimTask_AllySwitchPartner, 2 @@ -4786,7 +4702,7 @@ Move_ALLY_SWITCH:: call UnsetPsychicBg end -Move_SCALD:: +gBattleAnimMove_Scald:: loadspritegfx ANIM_TAG_WATER_ORB loadspritegfx ANIM_TAG_WATER_IMPACT monbg ANIM_DEF_PARTNER @@ -4832,7 +4748,7 @@ ScaldHitSplats: createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, ANIM_TARGET, 1 return -Move_SHELL_SMASH:: +gBattleAnimMove_ShellSmash:: loadspritegfx ANIM_TAG_SHELL_RIGHT loadspritegfx ANIM_TAG_SHELL_LEFT loadspritegfx ANIM_TAG_IMPACT @@ -4860,7 +4776,7 @@ Move_SHELL_SMASH:: waitforvisualfinish end -Move_HEAL_PULSE:: +gBattleAnimMove_HealPulse:: loadspritegfx ANIM_TAG_GREEN_SPARKLE loadspritegfx ANIM_TAG_BLUE_STAR loadspritegfx ANIM_TAG_THIN_RING @@ -4891,7 +4807,7 @@ Move_HEAL_PULSE:: call HealingEffect2 end -Move_HEX:: +gBattleAnimMove_Hex:: loadspritegfx ANIM_TAG_PURPLE_FLAME loadspritegfx ANIM_TAG_GHOSTLY_SPIRIT createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x0, 0x0, 0x10, 0x4C4A @;Deep purple @@ -4912,7 +4828,7 @@ Move_HEX:: waitforvisualfinish end -Move_SKY_DROP:: +gBattleAnimMove_SkyDrop:: loadspritegfx ANIM_TAG_ROUND_SHADOW loadspritegfx ANIM_TAG_IMPACT choosetwoturnanim SkyDropSetup SkyDropUnleash @@ -4945,7 +4861,7 @@ SkyDropUnleash: blendoff end -Move_SHIFT_GEAR:: +gBattleAnimMove_ShiftGear:: loadspritegfx ANIM_TAG_GEAR @Gear monbg ANIM_ATTACKER playsewithpan SE_ESCALATOR, SOUND_PAN_ATTACKER @@ -4955,7 +4871,7 @@ Move_SHIFT_GEAR:: clearmonbg ANIM_ATTACKER end -Move_CIRCLE_THROW:: +gBattleAnimMove_CircleThrow:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_ICE_CHUNK @@ -4982,7 +4898,7 @@ Move_CIRCLE_THROW:: blendoff end -Move_INCINERATE:: +gBattleAnimMove_Incinerate:: loadspritegfx ANIM_TAG_SMALL_EMBER monbg ANIM_TARGET splitbgprio ANIM_TARGET @@ -5022,7 +4938,7 @@ Move_INCINERATE:: blendoff end -Move_QUASH:: +gBattleAnimMove_Quash:: loadspritegfx ANIM_TAG_ASSURANCE_HAND @hand fadetobg BG_DARK waitbgfadein @@ -5039,7 +4955,7 @@ Move_QUASH:: waitbgfadein end -Move_ACROBATICS:: +gBattleAnimMove_Acrobatics:: loadspritegfx ANIM_TAG_ROUND_SHADOW loadspritegfx ANIM_TAG_WHITE_STREAK loadspritegfx ANIM_TAG_IMPACT @@ -5114,7 +5030,7 @@ AcrobaticsSlashes: delay 2 return -Move_REFLECT_TYPE:: +gBattleAnimMove_ReflectType:: loadspritegfx ANIM_TAG_GUARD_RING @ring around user loadspritegfx ANIM_TAG_ICE_CHUNK @blue green color loadspritegfx ANIM_TAG_PURPLE_FLAME @violet color @@ -5152,7 +5068,7 @@ Move_REFLECT_TYPE:: blendoff end -Move_RETALIATE:: +gBattleAnimMove_Retaliate:: loadspritegfx ANIM_TAG_CUT @Cut monbg ANIM_DEF_PARTNER setalpha 9, 8 @@ -5173,7 +5089,7 @@ Move_RETALIATE:: blendoff end -Move_FINAL_GAMBIT:: +gBattleAnimMove_FinalGambit:: loadspritegfx ANIM_TAG_PINK_CLOUD @yawn animation loadspritegfx ANIM_TAG_WATER_IMPACT @blue colour loadspritegfx ANIM_TAG_EXPLOSION @explosion animation @@ -5200,7 +5116,7 @@ Move_FINAL_GAMBIT:: waitforvisualfinish end -Move_BESTOW:: +gBattleAnimMove_Bestow:: monbg ANIM_TARGET splitbgprio ANIM_TARGET panse SE_M_METRONOME, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, 0x2, 0x0 @@ -5210,7 +5126,7 @@ Move_BESTOW:: clearmonbg ANIM_TARGET end -Move_INFERNO:: +gBattleAnimMove_Inferno:: loadspritegfx ANIM_TAG_SMALL_EMBER call SetImpactBackground loopsewithpan SE_M_SACRED_FIRE2, SOUND_PAN_TARGET, 40, 4 @@ -5254,7 +5170,7 @@ InfernoAnim: delay 1 return -Move_WATER_PLEDGE:: +gBattleAnimMove_WaterPledge:: loadspritegfx ANIM_TAG_WATER_ORB loadspritegfx ANIM_TAG_WATER_IMPACT monbg ANIM_DEF_PARTNER @@ -5374,7 +5290,7 @@ Move_WATER_PLEDGE:: blendoff end -Move_FIRE_PLEDGE:: +gBattleAnimMove_FirePledge:: loadspritegfx ANIM_TAG_SMALL_EMBER monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET @@ -5473,7 +5389,7 @@ Move_FIRE_PLEDGE:: blendoff end -Move_GRASS_PLEDGE:: +gBattleAnimMove_GrassPledge:: loadspritegfx ANIM_TAG_LEAF loadspritegfx ANIM_TAG_WHIP_HIT monbg ANIM_DEF_PARTNER @@ -5580,7 +5496,7 @@ GrassPledgeMiddleFountain: delay 4 return -Move_VOLT_SWITCH:: +gBattleAnimMove_VoltSwitch:: loadspritegfx ANIM_TAG_SPARK loadspritegfx ANIM_TAG_SPARK_2 loadspritegfx ANIM_TAG_THIN_RING @@ -5619,7 +5535,7 @@ VoltSwitchAgainstPartner: createvisualtask AnimTask_SlideOffScreen, 5, ANIM_ATTACKER, 2 goto VoltSwitchContinue -Move_STRUGGLE_BUG:: +gBattleAnimMove_StruggleBug:: loadspritegfx ANIM_TAG_MOVEMENT_WAVES loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -5645,12 +5561,12 @@ Move_STRUGGLE_BUG:: blendoff end -Move_BULLDOZE:: +gBattleAnimMove_Bulldoze:: createvisualtask AnimTask_Splash, 2, ANIM_ATTACKER, 3 delay 0x8 - goto Move_EARTHQUAKE + goto gBattleAnimMove_Earthquake -Move_FROST_BREATH:: +gBattleAnimMove_FrostBreath:: loadspritegfx ANIM_TAG_ICE_CHUNK loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_FIRE_PLUME @@ -5688,7 +5604,7 @@ Move_FROST_BREATH:: call UnsetPsychicBg end -Move_DRAGON_TAIL:: +gBattleAnimMove_DragonTail:: loadspritegfx ANIM_TAG_ROCKS loadspritegfx ANIM_TAG_SLAM_HIT loadspritegfx ANIM_TAG_IMPACT @@ -5724,7 +5640,7 @@ TailWhackDown: createsprite gRockScatterSpriteTemplate, ANIM_TARGET, 2, 12, 25, 4, 4 return -Move_WORK_UP:: +gBattleAnimMove_WorkUp:: loadspritegfx ANIM_TAG_FOCUS_ENERGY playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -28, 26, 2 @@ -5758,7 +5674,7 @@ Move_WORK_UP:: waitforvisualfinish end -Move_ELECTROWEB:: +gBattleAnimMove_Electroweb:: loadspritegfx ANIM_TAG_SPIDER_WEB loadspritegfx ANIM_TAG_WEB_THREAD loadspritegfx ANIM_TAG_SPARK_2 @@ -5776,11 +5692,11 @@ Move_ELECTROWEB:: delay 1 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 5, 1, 2, 9, 0, RGB_BLACK call ElectricityEffect_OnTargets -Move_ELECTROWEB_Wait:: +gBattleAnimMove_ElectrowebWait:: waitforvisualfinish end -Move_WILD_CHARGE:: +gBattleAnimMove_WildCharge:: loadspritegfx ANIM_TAG_SPARK_2 loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_IMPACT @@ -5815,7 +5731,7 @@ ScreenFlash: createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0xC, 0x0, 0x07FE return -Move_DRILL_RUN:: +gBattleAnimMove_DrillRun:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HORN_HIT setalpha 12, 8 @@ -5870,7 +5786,7 @@ Move_DRILL_RUN:: call UnsetPsychicBg end -Move_DUAL_CHOP:: +gBattleAnimMove_DualChop:: loadspritegfx ANIM_TAG_HANDS_AND_FEET @hand loadspritegfx ANIM_TAG_IMPACT @hit loadspritegfx ANIM_TAG_POISON_BUBBLE @purple @@ -5892,7 +5808,7 @@ Move_DUAL_CHOP:: blendoff end -Move_HEART_STAMP:: +gBattleAnimMove_HeartStamp:: loadspritegfx ANIM_TAG_HEART_STAMP monbg ANIM_TARGET loopsewithpan SE_M_CHARM, SOUND_PAN_ATTACKER, 0xc, 0x3 @@ -5905,7 +5821,7 @@ Move_HEART_STAMP:: waitforvisualfinish end -Move_HORN_LEECH:: +gBattleAnimMove_HornLeech:: loadspritegfx ANIM_TAG_HORN_LEECH @Horn loadspritegfx ANIM_TAG_IMPACT @hit loadspritegfx ANIM_TAG_ORBS @@ -5922,7 +5838,7 @@ Move_HORN_LEECH:: waitforvisualfinish end -Move_SACRED_SWORD:: +gBattleAnimMove_SacredSword:: loadspritegfx ANIM_TAG_CUT @Cut loadspritegfx ANIM_TAG_SWORD @Sword loadspritegfx ANIM_TAG_HYDRO_PUMP @Blue Colour @@ -5948,7 +5864,7 @@ Move_SACRED_SWORD:: waitforvisualfinish end -Move_RAZOR_SHELL:: +gBattleAnimMove_RazorShell:: loadspritegfx ANIM_TAG_RAZOR_SHELL loadspritegfx ANIM_TAG_CUT monbg ANIM_TARGET @@ -5962,7 +5878,7 @@ Move_RAZOR_SHELL:: waitforvisualfinish end -Move_HEAT_CRASH:: +gBattleAnimMove_HeatCrash:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_WARM_ROCK loadspritegfx ANIM_TAG_ROCKS @@ -5986,7 +5902,7 @@ Move_HEAT_CRASH:: blendoff end -Move_LEAF_TORNADO:: +gBattleAnimMove_LeafTornado:: loadspritegfx ANIM_TAG_GUST @Gust loadspritegfx ANIM_TAG_LEAF @Leaves monbg ANIM_DEF_PARTNER @@ -6017,7 +5933,7 @@ LeafTornadoVortex: delay 0x2 return -Move_STEAMROLLER:: +gBattleAnimMove_Steamroller:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET setalpha 12, 8 @@ -6043,7 +5959,7 @@ Move_STEAMROLLER:: blendoff end -Move_COTTON_GUARD:: +gBattleAnimMove_CottonGuard:: loadspritegfx ANIM_TAG_SPORE monbg ANIM_ATK_PARTNER setalpha 12, 8 @@ -6073,7 +5989,7 @@ CottonSporesSpiralInward: delay 0x3 return -Move_NIGHT_DAZE:: +gBattleAnimMove_NightDaze:: loadspritegfx ANIM_TAG_THIN_RING @uproar loadspritegfx ANIM_TAG_PURPLE_FLAME @dark violet color loadspritegfx ANIM_TAG_RED_ORB @circles @@ -6111,7 +6027,7 @@ Move_NIGHT_DAZE:: waitforvisualfinish end -Move_PSYSTRIKE:: +gBattleAnimMove_Psystrike:: monbg ANIM_TARGET setalpha 8, 8 createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 10, 1 @@ -6128,7 +6044,7 @@ Move_PSYSTRIKE:: blendoff end -Move_TAIL_SLAP:: +gBattleAnimMove_TailSlap:: loadspritegfx ANIM_TAG_IMPACT @Hit loadspritegfx ANIM_TAG_AIR_WAVE_2 @Aeroblast loadspritegfx ANIM_TAG_PUNISHMENT_BLADES @Punishment Blades @@ -6149,7 +6065,7 @@ TailSlapLeft: createsprite gTailSlapTemplate, ANIM_ATTACKER, 2, 0x8, 0x0, 0x1, 0x0 goto TailSlapContinue -Move_HURRICANE:: +gBattleAnimMove_Hurricane:: loadspritegfx ANIM_TAG_GUST monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET @@ -6186,7 +6102,7 @@ HurricaneGustCentered: createvisualtask AnimTask_AnimateGustTornadoPalette, 5, 1, 70 return -Move_HEAD_CHARGE:: +gBattleAnimMove_HeadCharge:: loadspritegfx ANIM_TAG_IMPACT fadetobgfromset BG_GIGA_IMPACT_OPPONENT, BG_GIGA_IMPACT_PLAYER, BG_GIGA_IMPACT_OPPONENT waitbgfadein @@ -6206,7 +6122,7 @@ Move_HEAD_CHARGE:: waitbgfadeout end -Move_GEAR_GRIND:: +gBattleAnimMove_GearGrind:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_GEAR @Gear monbg ANIM_TARGET @@ -6229,7 +6145,7 @@ Move_GEAR_GRIND:: blendoff end -Move_SEARING_SHOT:: +gBattleAnimMove_SearingShot:: loadspritegfx ANIM_TAG_SPARK_2 @yellow color loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE @red color loadspritegfx ANIM_TAG_ELECTRIC_ORBS @charge @@ -6315,7 +6231,7 @@ Move_SEARING_SHOT:: blendoff end -Move_TECHNO_BLAST:: +gBattleAnimMove_TechnoBlast:: createvisualtask AnimTask_TechnoBlast, 0x5 jumpargeq 0x0, TYPE_FIRE, TechnoBlastFire jumpargeq 0x0, TYPE_WATER, TechnoBlastWater @@ -6778,7 +6694,7 @@ TechnoBlastIceChargeParticles: delay 0x4 return -Move_RELIC_SONG:: +gBattleAnimMove_RelicSong:: loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_MUSIC_NOTES @@ -6859,7 +6775,7 @@ Move_RELIC_SONG:: waitforvisualfinish end -Move_SECRET_SWORD:: +gBattleAnimMove_SecretSword:: loadspritegfx ANIM_TAG_CUT @Cut loadspritegfx ANIM_TAG_SWORD @Sword loadspritegfx ANIM_TAG_HYDRO_PUMP @Blue Colour @@ -6888,7 +6804,7 @@ Move_SECRET_SWORD:: waitforvisualfinish end -Move_GLACIATE:: +gBattleAnimMove_Glaciate:: loadspritegfx ANIM_TAG_ICE_CRYSTALS @ice loadspritegfx ANIM_TAG_BLACK_SMOKE @smoke loadspritegfx ANIM_TAG_ICE_CHUNK @White Colour @@ -6919,7 +6835,7 @@ Move_GLACIATE:: call UnsetPsychicBg end -Move_BOLT_STRIKE:: +gBattleAnimMove_BoltStrike:: loadspritegfx ANIM_TAG_SPARK_2 @Electricity loadspritegfx ANIM_TAG_IMPACT @Hit loadspritegfx ANIM_TAG_ELECTRIC_ORBS @Electric Balls @@ -6962,7 +6878,7 @@ Move_BOLT_STRIKE:: waitforvisualfinish end -Move_BLUE_FLARE:: +gBattleAnimMove_BlueFlare:: loadspritegfx ANIM_TAG_SMALL_EMBER @Fire loadspritegfx ANIM_TAG_METAL_BITS @Blue Flare Colour createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x0, 0x0, 0x10, 0x0 @@ -7032,7 +6948,7 @@ BlueFlareFlameSpreadEffect: createsprite gBlueFlareBurnTemplate, ANIM_TARGET, 1, 0x0, 0xa, 0x70, 0xff80, 0x28 return -Move_FIERY_DANCE:: +gBattleAnimMove_FieryDance:: loadspritegfx ANIM_TAG_SMALL_EMBER createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0xc, 0x14be waitforvisualfinish @@ -7052,7 +6968,7 @@ Move_FIERY_DANCE:: waitforvisualfinish end -Move_FREEZE_SHOCK:: +gBattleAnimMove_FreezeShock:: loadspritegfx ANIM_TAG_SPARK loadspritegfx ANIM_TAG_SPARK_2 loadspritegfx ANIM_TAG_ICE_CHUNK @Ice Ball @@ -7093,7 +7009,7 @@ FreezeShockAttack: waitforvisualfinish end -Move_ICE_BURN:: +gBattleAnimMove_IceBurn:: loadspritegfx ANIM_TAG_BLACK_SMOKE @smoke loadspritegfx ANIM_TAG_ICE_CHUNK @white color loadspritegfx ANIM_TAG_ICE_CRYSTALS @ice @@ -7159,7 +7075,7 @@ IceBurnUnleash: clearmonbg ANIM_TARGET end -Move_SNARL:: +gBattleAnimMove_Snarl:: loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_IMPACT @@ -7203,7 +7119,7 @@ Move_SNARL:: blendoff end -Move_ICICLE_CRASH:: +gBattleAnimMove_IcicleCrash:: loadspritegfx ANIM_TAG_ICICLE_SPEAR @Icicle fadetobg BG_ICE waitbgfadein @@ -7255,7 +7171,7 @@ LaunchIcicleCrashSpear: delay 0x2 return -Move_V_CREATE:: +gBattleAnimMove_VCreate:: loadspritegfx ANIM_TAG_SMALL_EMBER @fire blast flame loadspritegfx ANIM_TAG_THIN_RING @calm mind animation loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE @red color @@ -7333,7 +7249,7 @@ VCreateFlames: delay 0x3 return -Move_FUSION_FLARE:: +gBattleAnimMove_FusionFlare:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @ball loadspritegfx ANIM_TAG_VERTICAL_HEX @ball palette @@ -7391,7 +7307,7 @@ FusionFlareBuff: createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0xfff4, 0x0, 0x1 return -Move_FUSION_BOLT:: +gBattleAnimMove_FusionBolt:: loadspritegfx ANIM_TAG_SPARK loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_ELECTRICITY @@ -7438,7 +7354,7 @@ Move_FUSION_BOLT:: end @@@@@@@@@@@@@@@@@@@@@@@ GEN 6 @@@@@@@@@@@@@@@@@@@@@@@ -Move_FLYING_PRESS:: +gBattleAnimMove_FlyingPress:: loadspritegfx ANIM_TAG_ROUND_SHADOW @fly/bounce loadspritegfx ANIM_TAG_GRAY_SMOKE @smoke setalpha 15, 0 @@ -7471,7 +7387,7 @@ Move_FLYING_PRESS:: blendoff end -Move_MAT_BLOCK:: +gBattleAnimMove_MatBlock:: loadspritegfx ANIM_TAG_CONVERSION loadspritegfx ANIM_TAG_GREEN_LIGHT_WALL @green color monbg ANIM_ATK_PARTNER @@ -7501,7 +7417,7 @@ Move_MAT_BLOCK:: blendoff end -Move_BELCH:: +gBattleAnimMove_Belch:: loadspritegfx ANIM_TAG_BERRY_NORMAL loadspritegfx ANIM_TAG_EXPLOSION @Explosion monbg ANIM_TARGET @@ -7533,7 +7449,7 @@ Move_BELCH:: blendoff end -Move_ROTOTILLER:: +gBattleAnimMove_Rototiller:: loadspritegfx ANIM_TAG_MUD_SAND loadspritegfx ANIM_TAG_DIRT_MOUND loadspritegfx ANIM_TAG_GREEN_SPARKLE @@ -7552,7 +7468,7 @@ Move_ROTOTILLER:: waitforvisualfinish end -Move_STICKY_WEB:: +gBattleAnimMove_StickyWeb:: loadspritegfx ANIM_TAG_SPIDER_WEB loadspritegfx ANIM_TAG_WEB_THREAD monbg ANIM_DEF_PARTNER @@ -7590,7 +7506,7 @@ Move_STICKY_WEB:: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 5, 1, 2, 9, 0, RGB_BLACK end -Move_FELL_STINGER:: +gBattleAnimMove_FellStinger:: loadspritegfx ANIM_TAG_NEEDLE loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -7611,7 +7527,7 @@ Move_FELL_STINGER:: clearmonbg ANIM_TARGET end -Move_PHANTOM_FORCE:: +gBattleAnimMove_PhantomForce:: loadspritegfx ANIM_TAG_ROUND_SHADOW loadspritegfx ANIM_TAG_IMPACT choosetwoturnanim PhantomForcePrep PhantomForceAttack @@ -7683,7 +7599,7 @@ PhantomForceBg: waitbgfadein return -Move_TRICK_OR_TREAT:: +gBattleAnimMove_TrickOrTreat:: loadspritegfx ANIM_TAG_EYE_SPARKLE loadspritegfx ANIM_TAG_GHOSTLY_SPIRIT fadetobg BG_NIGHTMARE @@ -7707,7 +7623,7 @@ Move_TRICK_OR_TREAT:: waitbgfadein end -Move_NOBLE_ROAR:: +gBattleAnimMove_NobleRoar:: loadspritegfx ANIM_TAG_NOISE_LINE monbg ANIM_ATTACKER splitbgprio ANIM_ATTACKER @@ -7728,10 +7644,10 @@ Move_NOBLE_ROAR:: delay 20 end -Move_ION_DELUGE:: +gBattleAnimMove_IonDeluge:: end -Move_PARABOLIC_CHARGE:: +gBattleAnimMove_ParabolicCharge:: loadspritegfx ANIM_TAG_ELECTRIC_ORBS loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_SPARK @@ -7786,7 +7702,7 @@ ParabolicChargeDouble: createvisualtask AnimTask_BlendBattleAnimPal, 5, 4 | 8 | 0x10, 0, 0, 0, RGB_BLACK goto ParabolicChargeHeal; -Move_FORESTS_CURSE:: +gBattleAnimMove_ForestsCurse:: loadspritegfx ANIM_TAG_ROOTS @frenzy plant loadspritegfx ANIM_TAG_GHOSTLY_SPIRIT @curse monbg ANIM_ATTACKER @@ -7824,7 +7740,7 @@ Move_FORESTS_CURSE:: clearmonbg ANIM_ATTACKER end -Move_PETAL_BLIZZARD:: +gBattleAnimMove_PetalBlizzard:: loadspritegfx ANIM_TAG_LEAF loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_FLOWER @@ -7871,7 +7787,7 @@ Move_PETAL_BLIZZARD:: blendoff end -Move_FREEZE_DRY:: +gBattleAnimMove_FreezeDry:: monbg ANIM_DEF_PARTNER setalpha 12, 8 loadspritegfx ANIM_TAG_ICE_CRYSTALS @@ -7907,7 +7823,7 @@ Move_FREEZE_DRY:: blendoff end -Move_DISARMING_VOICE:: +gBattleAnimMove_DisarmingVoice:: loadspritegfx ANIM_TAG_NOISE_LINE createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x8, 0x6e7d waitforvisualfinish @@ -7923,7 +7839,7 @@ Move_DISARMING_VOICE:: waitforvisualfinish end -Move_PARTING_SHOT:: +gBattleAnimMove_PartingShot:: loadspritegfx ANIM_TAG_NOISE_LINE fadetobg BG_DARK waitbgfadein @@ -7941,7 +7857,7 @@ Move_PARTING_SHOT:: waitbgfadein end -Move_TOPSY_TURVY:: +gBattleAnimMove_TopsyTurvy:: loadspritegfx ANIM_TAG_SWEAT_DROP setalpha 12, 8 createsprite gSimplePaletteBlendSpriteTemplate ANIM_TARGET, 2, 1, 2, 0, 4, RGB_BLACK @@ -7958,7 +7874,7 @@ Move_TOPSY_TURVY:: blendoff end -Move_DRAINING_KISS:: +gBattleAnimMove_DrainingKiss:: loadspritegfx ANIM_TAG_ORBS loadspritegfx ANIM_TAG_BLUE_STAR loadspritegfx ANIM_TAG_IMPACT @@ -7988,7 +7904,7 @@ Move_DRAINING_KISS:: waitforvisualfinish end -Move_CRAFTY_SHIELD:: +gBattleAnimMove_CraftyShield:: loadspritegfx ANIM_TAG_CRAFTY_SHIELD monbg ANIM_ATK_PARTNER splitbgprio ANIM_ATTACKER @@ -8043,7 +7959,7 @@ Move_CRAFTY_SHIELD:: blendoff end -Move_FLOWER_SHIELD:: +gBattleAnimMove_FlowerShield:: loadspritegfx ANIM_TAG_FLOWER loadspritegfx ANIM_TAG_IMPACT setalpha 12, 8 @@ -8073,7 +7989,7 @@ Move_FLOWER_SHIELD:: blendoff end -Move_GRASSY_TERRAIN:: +gBattleAnimMove_GrassyTerrain:: loadspritegfx ANIM_TAG_ORBS @Recover Ball loadspritegfx ANIM_TAG_GREEN_SPARKLE @Green Star playsewithpan SE_M_TAKE_DOWN, SOUND_PAN_ATTACKER @@ -8110,7 +8026,7 @@ Move_GRASSY_TERRAIN:: waitforvisualfinish end -Move_MISTY_TERRAIN:: +gBattleAnimMove_MistyTerrain:: loadspritegfx ANIM_TAG_ORBS @Recover Ball loadspritegfx ANIM_TAG_WATER_GUN @Light Blue Colour loadspritegfx ANIM_TAG_GREEN_SPARKLE @@ -8148,7 +8064,7 @@ Move_MISTY_TERRAIN:: waitforvisualfinish end -Move_ELECTRIFY:: +gBattleAnimMove_Electrify:: loadspritegfx ANIM_TAG_GUARD_RING @ring around user loadspritegfx ANIM_TAG_SPARK_2 @yellow color loadspritegfx ANIM_TAG_SMALL_EMBER @yellow color @@ -8211,7 +8127,7 @@ Move_ELECTRIFY:: clearmonbg ANIM_DEF_PARTNER end -Move_PLAY_ROUGH:: +gBattleAnimMove_PlayRough:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_PINK_HEART loadspritegfx ANIM_TAG_DUCK @@ -8267,7 +8183,7 @@ Move_PLAY_ROUGH:: waitforvisualfinish end -Move_FAIRY_WIND:: +gBattleAnimMove_FairyWind:: loadspritegfx ANIM_TAG_PINK_CLOUD monbg ANIM_DEF_PARTNER setalpha 12, 8 @@ -8294,7 +8210,7 @@ Move_FAIRY_WIND:: blendoff end -Move_MOONBLAST:: +gBattleAnimMove_Moonblast:: loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_MOON loadspritegfx ANIM_TAG_GREEN_SPARKLE @@ -8317,7 +8233,7 @@ Move_MOONBLAST:: blendoff end -Move_BOOMBURST:: +gBattleAnimMove_Boomburst:: loadspritegfx ANIM_TAG_EXPLOSION loadspritegfx ANIM_TAG_THIN_RING createvisualtask AnimTask_InvertScreenColor, 2, 0x1 | 0x4 | 0x8 | 0x10 @@ -8368,7 +8284,7 @@ Boomburst_Doubles: createsprite gExplosionSpriteTemplate, ANIM_ATTACKER, 3, 16, 16, 1, 1 goto Boomburst_Last -Move_FAIRY_LOCK:: +gBattleAnimMove_FairyLock:: loadspritegfx ANIM_TAG_FAIRY_LOCK_CHAINS setalpha 8, 8 monbg ANIM_ATK_PARTNER @@ -8389,12 +8305,12 @@ Move_FAIRY_LOCK:: blendoff end -Move_KINGS_SHIELD:: +gBattleAnimMove_KingsShield:: loadspritegfx ANIM_TAG_PROTECT @protect createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_PROTECT, 0x0, 0xC, 0xC, 0x318C @Gray - goto Move_PROTECT + goto gBattleAnimMove_Protect -Move_PLAY_NICE:: +gBattleAnimMove_PlayNice:: loadspritegfx ANIM_TAG_RED_HEART loopsewithpan SE_M_SANDSTORM, SOUND_PAN_ATTACKER, 0xc, 0x3 createvisualtask AnimTask_SwayMon, 5, 0, 12, 4096, 4, ANIM_ATTACKER @@ -8402,7 +8318,7 @@ Move_PLAY_NICE:: createsprite gRedHeartProjectileSpriteTemplate, ANIM_TARGET, 3, 0x14, 0xfff8 end -Move_CONFIDE:: +gBattleAnimMove_Confide:: loadspritegfx ANIM_TAG_CONFIDE @Confide Bubble createvisualtask AnimTask_Splash, 2, ANIM_ATTACKER, 3 createsprite gConfideBubbleTemplate, ANIM_ATTACKER, 11, 0x0, 0x64 @@ -8410,7 +8326,7 @@ Move_CONFIDE:: waitforvisualfinish end -Move_DIAMOND_STORM:: +gBattleAnimMove_DiamondStorm:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ICE_CRYSTALS monbg ANIM_DEF_PARTNER @@ -8483,7 +8399,7 @@ Move_DIAMOND_STORM:: blendoff end -Move_STEAM_ERUPTION:: +gBattleAnimMove_SteamEruption:: loadspritegfx ANIM_TAG_STEAM_ERUPTION @Steam Eruption Particle createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x7, 0x043D delay 0x20 @@ -8523,7 +8439,7 @@ SteamEruptionBreath: delay 0x1 return -Move_HYPERSPACE_HOLE:: +gBattleAnimMove_HyperspaceHole:: loadspritegfx ANIM_TAG_IMPACT @Hits loadspritegfx ANIM_TAG_WHITE_SHADOW @Destiny Bond loadspritegfx ANIM_TAG_QUICK_GUARD_HAND @Black Colour @@ -8576,7 +8492,7 @@ HyperspaceHoleMovement: delay 0x4 return -Move_WATER_SHURIKEN:: +gBattleAnimMove_WaterShuriken:: loadspritegfx ANIM_TAG_WATER_ORB @blue color loadspritegfx ANIM_TAG_YELLOW_STAR @swift loadspritegfx ANIM_TAG_BLUE_RING_2 @rings @@ -8599,7 +8515,7 @@ Move_WATER_SHURIKEN:: clearmonbg ANIM_DEF_PARTNER end -Move_MYSTICAL_FIRE:: +gBattleAnimMove_MysticalFire:: call SetPsychicBackground loadspritegfx ANIM_TAG_FIRE setalpha 8, 8 @@ -8629,7 +8545,7 @@ Move_MYSTICAL_FIRE:: call UnsetPsychicBg end -Move_SPIKY_SHIELD:: +gBattleAnimMove_SpikyShield:: loadspritegfx ANIM_TAG_PROTECT loadspritegfx ANIM_TAG_GREEN_SPIKE monbg ANIM_ATK_PARTNER @@ -8664,7 +8580,7 @@ Move_SPIKY_SHIELD:: clearmonbg ANIM_ATK_PARTNER end -Move_AROMATIC_MIST:: +gBattleAnimMove_AromaticMist:: loadspritegfx ANIM_TAG_PINK_PETAL playsewithpan SE_M_SWEET_SCENT, SOUND_PAN_ATTACKER createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x8, 0x6E7D @@ -8681,7 +8597,7 @@ Move_AROMATIC_MIST:: waitforvisualfinish end -Move_EERIE_IMPULSE:: +gBattleAnimMove_EerieImpulse:: loadspritegfx ANIM_TAG_THIN_RING @hypervoice circle loadspritegfx ANIM_TAG_SPARK @electric particles loadspritegfx ANIM_TAG_SPARK_2 @electric particles @@ -8726,7 +8642,7 @@ Move_EERIE_IMPULSE:: clearmonbg ANIM_DEF_PARTNER end -Move_VENOM_DRENCH:: +gBattleAnimMove_VenomDrench:: loadspritegfx ANIM_TAG_POISON_BUBBLE monbg ANIM_DEF_PARTNER createsprite gVenomDrenchAcidTemplate, ANIM_TARGET, 2, 0xfffb, 0x1, 0xfffb, 1 @@ -8773,7 +8689,7 @@ AcidDrench: delay 0x2 return -Move_POWDER:: +gBattleAnimMove_Powder:: loadspritegfx ANIM_TAG_HANDS_AND_FEET @black color loadspritegfx ANIM_TAG_SPORE @powder monbg ANIM_DEF_PARTNER @@ -8794,7 +8710,7 @@ POWDER_SPORE: delay 0xc return -Move_GEOMANCY:: +gBattleAnimMove_Geomancy:: loadspritegfx ANIM_TAG_ZYGARDE_HEXES @Hex loadspritegfx ANIM_TAG_GUARD_RING @safeguard loadspritegfx ANIM_TAG_PAW_PRINT @yellow color @@ -8924,7 +8840,7 @@ GeomancyRageBuff: delay 0x1 return -Move_MAGNETIC_FLUX:: +gBattleAnimMove_MagneticFlux:: loadspritegfx ANIM_TAG_THIN_RING @uproar loadspritegfx ANIM_TAG_SPARK_2 @ElectricityEffect loadspritegfx ANIM_TAG_SMALL_EMBER @yellow color @@ -8956,7 +8872,7 @@ MagneticFluxSparks2: createsprite gSparkElectricitySpriteTemplate, ANIM_ATTACKER, 0, 0xee, 0x18, 0xa5, 0xa, 0x0, 0x1, 0x1 return -Move_HAPPY_HOUR:: +gBattleAnimMove_HappyHour:: loadspritegfx ANIM_TAG_COIN monbg ANIM_ATTACKER loopsewithpan SE_M_PAY_DAY, SOUND_PAN_TARGET, 0x8, 10 @@ -8992,7 +8908,7 @@ CoinShower: delay 0x2 return -Move_ELECTRIC_TERRAIN:: +gBattleAnimMove_ElectricTerrain:: loadspritegfx ANIM_TAG_ELECTRIC_ORBS playsewithpan SE_M_CHARGE, SOUND_PAN_ATTACKER createvisualtask AnimTask_ScaleMonAndRestore, 5, -7, -7, 11, ANIM_ATTACKER, 0 @@ -9028,7 +8944,7 @@ Move_ELECTRIC_TERRAIN:: waitforvisualfinish end -Move_DAZZLING_GLEAM:: +gBattleAnimMove_DazzlingGleam:: loadspritegfx ANIM_TAG_SPARKLE_2 loadspritegfx ANIM_TAG_BLUE_STAR createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 0x1, 0x2, 0x0, 0xd, 0x7fff @@ -9047,7 +8963,7 @@ Move_DAZZLING_GLEAM:: blendoff end -Move_CELEBRATE:: +gBattleAnimMove_Celebrate:: loadspritegfx ANIM_TAG_ITEM_BAG createsprite gCelebrateBagTemplate, ANIM_ATTACKER, 2, 0x0 playsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER @@ -9057,7 +8973,7 @@ Move_CELEBRATE:: loopsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER 0x16 0x3 end -Move_HOLD_HANDS:: +gBattleAnimMove_HoldHands:: loadspritegfx ANIM_TAG_TAG_HAND @hand loadspritegfx ANIM_TAG_MAGENTA_HEART @charm loadspritegfx ANIM_TAG_VERTICAL_HEX @red @@ -9098,7 +9014,7 @@ Move_HOLD_HANDS:: createvisualtask AnimTask_BlendMonInAndOut, 2, ANIM_ATK_PARTNER, RGB_YELLOW, 12, 1, 1 end -Move_BABY_DOLL_EYES:: +gBattleAnimMove_BabyDollEyes:: loadspritegfx ANIM_TAG_LEER loadspritegfx ANIM_TAG_PINK_CLOUD loadspritegfx ANIM_TAG_OPENING_EYE @eye @@ -9120,7 +9036,7 @@ Move_BABY_DOLL_EYES:: blendoff end -Move_NUZZLE:: +gBattleAnimMove_Nuzzle:: loadspritegfx ANIM_TAG_MAGENTA_HEART loadspritegfx ANIM_TAG_ITEM_BAG loadspritegfx ANIM_TAG_SPARK_2 @@ -9141,7 +9057,7 @@ Move_NUZZLE:: waitforvisualfinish end -Move_HOLD_BACK:: +gBattleAnimMove_HoldBack:: loadspritegfx ANIM_TAG_PAW_PRINT @ yellow/brown loadspritegfx ANIM_TAG_IMPACT @ hit loadspritegfx ANIM_TAG_PURPLE_SWIPE @ swipe @@ -9168,7 +9084,7 @@ Move_HOLD_BACK:: blendoff end -Move_INFESTATION:: +gBattleAnimMove_Infestation:: loadspritegfx ANIM_TAG_HANDS_AND_FEET @black color loadspritegfx ANIM_TAG_SMALL_BUBBLES @circle particles monbg ANIM_DEF_PARTNER @@ -9201,7 +9117,7 @@ InfestationVortex: delay 0x1 return -Move_POWER_UP_PUNCH:: +gBattleAnimMove_PowerUpPunch:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_BREATH @@ -9218,7 +9134,7 @@ Move_POWER_UP_PUNCH:: blendoff end -Move_OBLIVION_WING:: +gBattleAnimMove_OblivionWing:: loadspritegfx ANIM_TAG_HYDRO_PUMP loadspritegfx ANIM_TAG_ROUND_SHADOW loadspritegfx ANIM_TAG_BLUE_STAR @@ -9258,7 +9174,7 @@ OblivionWingBeam: delay 0x2 return -Move_THOUSAND_ARROWS:: +gBattleAnimMove_ThousandArrows:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge animation loadspritegfx ANIM_TAG_ELECTRICITY @charge animation loadspritegfx ANIM_TAG_LEAF @green color @@ -9346,7 +9262,7 @@ ThousandArrowsDown: playsewithpan SE_M_DIG, SOUND_PAN_ATTACKER return -Move_THOUSAND_WAVES:: +gBattleAnimMove_ThousandWaves:: loadspritegfx ANIM_TAG_ZYGARDE_HEXES @Hex loadspritegfx ANIM_TAG_FLYING_DIRT @heat wave animation loadspritegfx ANIM_TAG_LEAF @green color @@ -9475,7 +9391,7 @@ ThousandWavesRotatingImpact: createsprite gThousandWavesPoundImpactTemplate, ANIM_TARGET, 2, 0x1, 0xfffa, 0x0, 0x3 return -Move_LANDS_WRATH:: +gBattleAnimMove_LandsWrath:: loadspritegfx ANIM_TAG_WATER_ORB @whirl motion loadspritegfx ANIM_TAG_SPARK_2 @yellow color monbg ANIM_ATTACKER @@ -9514,7 +9430,7 @@ LandsWrathVortex: delay 0x2 return -Move_LIGHT_OF_RUIN:: +gBattleAnimMove_LightOfRuin:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge loadspritegfx ANIM_TAG_ELECTRIC_ORBS @createvisualtask particles loadspritegfx ANIM_TAG_ORBS @beam particles @@ -9575,7 +9491,7 @@ LightOfRuinBeam: delay 0x1 return -Move_ORIGIN_PULSE:: +gBattleAnimMove_OriginPulse:: loadspritegfx ANIM_TAG_THIN_RING @uproar loadspritegfx ANIM_TAG_WATER_ORB @blue color loadspritegfx ANIM_TAG_ORBS @circles @@ -9647,7 +9563,7 @@ Move_ORIGIN_PULSE:: blendoff end -Move_PRECIPICE_BLADES:: +gBattleAnimMove_PrecipiceBlades:: loadspritegfx ANIM_TAG_LARGE_SPIKE loadspritegfx ANIM_TAG_FIRE_PLUME createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_LARGE_SPIKE, 0, 10, 10, 0x159F @Blood orange @@ -9703,7 +9619,7 @@ PrecipiceBladesOpponent: createsprite gPrecipiceBladesSpikeTemplate, ANIM_ATTACKER, 69, ANIM_ATTACKER, 0, -17, 120, 0x0 goto PrecipiceBladesContinue -Move_DRAGON_ASCENT:: +gBattleAnimMove_DragonAscent:: loadspritegfx ANIM_TAG_DRAGON_ASCENT loadspritegfx ANIM_TAG_IMPACT createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_IMPACT, 0, 11, 11, RGB(16, 31, 16) @@ -9743,7 +9659,7 @@ Move_DRAGON_ASCENT:: call UnsetPsychicBg end -Move_HYPERSPACE_FURY:: +gBattleAnimMove_HyperspaceFury:: loadspritegfx ANIM_TAG_HOOPA_HAND @Hoopa Hand loadspritegfx ANIM_TAG_HOOPA_RING @Hoopa Ring loadspritegfx ANIM_TAG_IMPACT @@ -9830,7 +9746,7 @@ HyperspaceFuryRandomImpact: return @@@@@@@@@@@@@@@@@@@@@@@ GEN 7 @@@@@@@@@@@@@@@@@@@@@@@ -Move_SHORE_UP:: +gBattleAnimMove_ShoreUp:: loadspritegfx ANIM_TAG_FLYING_DIRT @sandstorm loadspritegfx ANIM_TAG_BLUE_STAR @heal2 playsewithpan SE_M_SANDSTORM, 0x0 @@ -9853,7 +9769,7 @@ Move_SHORE_UP:: waitforvisualfinish end -Move_FIRST_IMPRESSION:: +gBattleAnimMove_FirstImpression:: loadspritegfx ANIM_TAG_SWEAT_BEAD @astonish loadspritegfx ANIM_TAG_IMPACT @pound hit loadspritegfx ANIM_TAG_RAZOR_LEAF @green @@ -9883,7 +9799,7 @@ Move_FIRST_IMPRESSION:: clearmonbg ANIM_TARGET end -Move_BANEFUL_BUNKER:: +gBattleAnimMove_BanefulBunker:: loadspritegfx ANIM_TAG_PROTECT @protect loadspritegfx ANIM_TAG_POISON_BUBBLE @poison monbg ANIM_ATK_PARTNER @@ -9909,7 +9825,7 @@ Move_BANEFUL_BUNKER:: clearmonbg ANIM_ATK_PARTNER end -Move_SPIRIT_SHACKLE:: +gBattleAnimMove_SpiritShackle:: loadspritegfx ANIM_TAG_SPIRIT_ARROW @Arrow loadspritegfx ANIM_TAG_CHAIN_LINK @Chain monbg ANIM_DEF_PARTNER @@ -9935,7 +9851,7 @@ Move_SPIRIT_SHACKLE:: blendoff end -Move_DARKEST_LARIAT:: +gBattleAnimMove_DarkestLariat:: fadetobg BG_DARK waitbgfadeout createvisualtask AnimTask_StartSlidingBg, 0x5, 0x0, 0x0, 0x0, 0xffff @@ -9973,7 +9889,7 @@ DarkestLariatImpact: delay 0x8 return -Move_SPARKLING_ARIA:: +gBattleAnimMove_SparklingAria:: loadspritegfx ANIM_TAG_WATER_ORB @blue color loadspritegfx ANIM_TAG_BUBBLE @circles loadspritegfx ANIM_TAG_HYDRO_PUMP @hydro pump @@ -10065,7 +9981,7 @@ SparklingAriaCharge: delay 0x4 return -Move_ICE_HAMMER:: +gBattleAnimMove_IceHammer:: loadspritegfx ANIM_TAG_HORSESHOE_SIDE_FIST @punch loadspritegfx ANIM_TAG_ICE_CRYSTALS @ice loadspritegfx ANIM_TAG_ECLIPSING_ORB @gray color @@ -10096,7 +10012,7 @@ Move_ICE_HAMMER:: blendoff end -Move_FLORAL_HEALING:: +gBattleAnimMove_FloralHealing:: loadspritegfx ANIM_TAG_SPARKLE_2 @heal loadspritegfx ANIM_TAG_FLOWER @flowers loadspritegfx ANIM_TAG_LEAF @leaves @@ -10201,7 +10117,7 @@ CIRCLES_LEAVES: delay 0x2 return -Move_HIGH_HORSEPOWER:: +gBattleAnimMove_HighHorsepower:: loadspritegfx ANIM_TAG_IMPACT @hit loadspritegfx ANIM_TAG_HORSESHOE_SIDE_FIST @horseshoe monbg ANIM_TARGET @@ -10226,7 +10142,7 @@ Move_HIGH_HORSEPOWER:: waitbgfadein end -Move_STRENGTH_SAP:: +gBattleAnimMove_StrengthSap:: loadspritegfx ANIM_TAG_GRAY_SMOKE @smoke loadspritegfx ANIM_TAG_TEAL_ALERT @inward loadspritegfx ANIM_TAG_RED_HEART @heart color @@ -10294,7 +10210,7 @@ Move_STRENGTH_SAP:: clearmonbg ANIM_DEF_PARTNER end -Move_SOLAR_BLADE:: +gBattleAnimMove_SolarBlade:: loadspritegfx ANIM_TAG_ORBS choosetwoturnanim SolarBeamSetUp SolarBladeUnleash SolarBladeUnleash: @@ -10332,7 +10248,7 @@ SolarBladeSunRays: delay 0x6 return -Move_LEAFAGE:: +gBattleAnimMove_Leafage:: loadspritegfx ANIM_TAG_RAZOR_LEAF @leaf loadspritegfx ANIM_TAG_IMPACT @hit monbg ANIM_DEF_PARTNER @@ -10347,7 +10263,7 @@ Move_LEAFAGE:: clearmonbg ANIM_DEF_PARTNER end -Move_SPOTLIGHT:: +gBattleAnimMove_Spotlight:: loadspritegfx ANIM_TAG_SPOTLIGHT loadspritegfx ANIM_TAG_TAG_HAND createvisualtask AnimTask_CreateSpotlight, 0x2 @@ -10361,7 +10277,7 @@ Move_SPOTLIGHT:: createvisualtask AnimTask_RemoveSpotlight, 0x2 end -Move_TOXIC_THREAD:: +gBattleAnimMove_ToxicThread:: loadspritegfx ANIM_TAG_STRING loadspritegfx ANIM_TAG_WEB_THREAD createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_STRING, 0, 0xA, 0xA, 0x6038 @Purple @@ -10403,7 +10319,7 @@ Move_TOXIC_THREAD:: createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x9, 0x0, 0x0 end -Move_LASER_FOCUS:: +gBattleAnimMove_LaserFocus:: loadspritegfx ANIM_TAG_EYE_SPARKLE @red loadspritegfx ANIM_TAG_OPENING_EYE @eyes loadspritegfx ANIM_TAG_LEER @leer @@ -10420,7 +10336,7 @@ Move_LASER_FOCUS:: clearmonbg ANIM_ATTACKER end -Move_GEAR_UP:: +gBattleAnimMove_GearUp:: loadspritegfx ANIM_TAG_GEAR loadspritegfx ANIM_TAG_SPARK_2 @sparks createvisualtask AnimTask_BlendBattleAnimPal, 0xA, F_PAL_ATTACKER, 0x2, 0x0, 0x9, 0x039B @@ -10473,7 +10389,7 @@ GearUpSparks: delay 0xF return -Move_THROAT_CHOP:: +gBattleAnimMove_ThroatChop:: loadspritegfx ANIM_TAG_HANDS_AND_FEET @karate chop loadspritegfx ANIM_TAG_IMPACT @hit loadspritegfx ANIM_TAG_SMALL_RED_EYE @red color @@ -10508,7 +10424,7 @@ Move_THROAT_CHOP:: blendoff end -Move_POLLEN_PUFF:: +gBattleAnimMove_PollenPuff:: createvisualtask AnimTask_IsTargetSameSide, 0x5 jumpargeq 0x0, 0x1, PollenPuffAlly PollenPuffOpponent: @@ -10624,7 +10540,7 @@ PollenPuffAlly: blendoff end -Move_ANCHOR_SHOT:: +gBattleAnimMove_AnchorShot:: loadspritegfx ANIM_TAG_CHAIN_LINK loadspritegfx ANIM_TAG_ANCHOR playsewithpan SE_FALL SOUND_PAN_TARGET @@ -10646,7 +10562,7 @@ Move_ANCHOR_SHOT:: clearmonbg ANIM_TARGET end -Move_PSYCHIC_TERRAIN:: +gBattleAnimMove_PsychicTerrain:: loadspritegfx ANIM_TAG_ORBS @Recover Ball loadspritegfx ANIM_TAG_GREEN_SPARKLE @Green Star loadspritegfx ANIM_TAG_POISON_BUBBLE @Purple Colour @@ -10684,7 +10600,7 @@ Move_PSYCHIC_TERRAIN:: waitforvisualfinish end -Move_LUNGE:: +gBattleAnimMove_Lunge:: loadspritegfx ANIM_TAG_IMPACT @hit loadspritegfx ANIM_TAG_TEAL_ALERT @hit particles loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @psycho boost charge @@ -10736,7 +10652,7 @@ Move_LUNGE:: clearmonbg ANIM_DEF_PARTNER end -Move_FIRE_LASH:: +gBattleAnimMove_FireLash:: loadspritegfx ANIM_TAG_SMALL_EMBER monbg ANIM_DEF_PARTNER splitbgprio_foes ANIM_TARGET @@ -10779,7 +10695,7 @@ Move_FIRE_LASH:: clearmonbg ANIM_DEF_PARTNER end -Move_POWER_TRIP:: +gBattleAnimMove_PowerTrip:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_HANDS_AND_FEET @black color loadspritegfx ANIM_TAG_PURPLE_FLAME @dark violet color @@ -10820,7 +10736,7 @@ PowerTripBuffUp: createsprite gPowerTripFocusEnergyTemplate, ANIM_ATTACKER, 2, 0x0, 0xfff4, 0x0, 0x1 return -Move_BURN_UP:: +gBattleAnimMove_BurnUp:: loadspritegfx ANIM_TAG_THIN_RING @ring loadspritegfx ANIM_TAG_SMALL_RED_EYE @red color loadspritegfx ANIM_TAG_PINK_CLOUD @yawn @@ -10880,7 +10796,7 @@ Move_BURN_UP:: blendoff end -Move_SPEED_SWAP:: +gBattleAnimMove_SpeedSwap:: loadspritegfx ANIM_TAG_THIN_RING @ring loadspritegfx ANIM_TAG_ICE_CHUNK @blue green loadspritegfx ANIM_TAG_ORBS @circle @@ -10914,7 +10830,7 @@ Move_SPEED_SWAP:: clearmonbg ANIM_TARGET end -Move_SMART_STRIKE:: +gBattleAnimMove_SmartStrike:: loadspritegfx ANIM_TAG_POWER_GEM @gem loadspritegfx ANIM_TAG_AIR_WAVE @sonicboom loadspritegfx ANIM_TAG_IMPACT @hit @@ -10953,7 +10869,7 @@ Move_SMART_STRIKE:: waitforvisualfinish end -Move_PURIFY:: +gBattleAnimMove_Purify:: loadspritegfx ANIM_TAG_FLASH_CANNON_BALL @Ball loadspritegfx ANIM_TAG_BLACK_SMOKE @smoke loadspritegfx ANIM_TAG_ICE_CHUNK @White Colour @@ -10981,7 +10897,7 @@ Move_PURIFY:: blendoff end -Move_REVELATION_DANCE:: +gBattleAnimMove_RevelationDance:: loadspritegfx ANIM_TAG_ORBS @circles loadspritegfx ANIM_TAG_FLOWER @particles loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE @another yellow @@ -11036,7 +10952,7 @@ Move_REVELATION_DANCE:: clearmonbg ANIM_TARGET end -Move_CORE_ENFORCER:: +gBattleAnimMove_CoreEnforcer:: loadspritegfx ANIM_TAG_SPARK_2 @yellow color loadspritegfx ANIM_TAG_LEAF @green color loadspritegfx ANIM_TAG_RAZOR_LEAF @another green color @@ -11254,7 +11170,7 @@ Move_CORE_ENFORCER:: blendoff end -Move_TROP_KICK:: +gBattleAnimMove_TropKick:: loadspritegfx ANIM_TAG_HANDS_AND_FEET @kick loadspritegfx ANIM_TAG_LEAF @leaves loadspritegfx ANIM_TAG_FLOWER @flowers @@ -11275,7 +11191,7 @@ Move_TROP_KICK:: clearmonbg ANIM_DEF_PARTNER end -Move_INSTRUCT:: +gBattleAnimMove_Instruct:: loadspritegfx ANIM_TAG_FINGER @finger loadspritegfx ANIM_TAG_SPOTLIGHT @spotlight setalpha 12, 8 @@ -11305,7 +11221,7 @@ Move_INSTRUCT:: blendoff end -General_BeakBlastSetUp: +gBattleAnimGeneral_BeakBlastSetUp:: loadspritegfx ANIM_TAG_SMALL_EMBER @Fire playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER delay 0x3 @@ -11313,7 +11229,7 @@ General_BeakBlastSetUp: createsprite gFireSpiralOutwardSpriteTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x38, 0x0 waitforvisualfinish end -Move_BEAK_BLAST:: +gBattleAnimMove_BeakBlast:: loadspritegfx ANIM_TAG_IMPACT createvisualtask AnimTask_BlendBattleAnimPal, 0xA, F_PAL_ATTACKER, 0x2, 0x0, 0x9, 0x1F waitforvisualfinish @@ -11335,7 +11251,7 @@ Move_BEAK_BLAST:: waitforvisualfinish end -Move_CLANGING_SCALES:: +gBattleAnimMove_ClangingScales:: loadspritegfx ANIM_TAG_METAL_SOUND_WAVES @metal sound loadspritegfx ANIM_TAG_POISON_BUBBLE @purple color monbg ANIM_DEF_PARTNER @@ -11364,7 +11280,7 @@ ClangingScalesMetalSound: delay 0x2 return -Move_DRAGON_HAMMER:: +gBattleAnimMove_DragonHammer:: loadspritegfx ANIM_TAG_ROUND_SHADOW loadspritegfx ANIM_TAG_GRAY_SMOKE createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_ROUND_SHADOW, 0, 12, 12, 0x7D7F @Pinkish purple @@ -11403,7 +11319,7 @@ Move_DRAGON_HAMMER:: blendoff end -Move_BRUTAL_SWING:: +gBattleAnimMove_BrutalSwing:: loadspritegfx ANIM_TAG_IMPACT @hits loadspritegfx ANIM_TAG_HANDS_AND_FEET @black color monbg ANIM_TARGET @@ -11438,7 +11354,7 @@ Move_BRUTAL_SWING:: clearmonbg ANIM_TARGET end -Move_AURORA_VEIL:: +gBattleAnimMove_AuroraVeil:: loadspritegfx ANIM_TAG_GUARD_RING fadetobg BG_AURORA waitbgfadeout @@ -11462,7 +11378,7 @@ Move_AURORA_VEIL:: blendoff end -General_ShellTrapSetUp: +gBattleAnimGeneral_ShellTrapSetUp:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -11479,7 +11395,7 @@ General_ShellTrapSetUp: clearmonbg ANIM_TARGET blendoff end -Move_SHELL_TRAP:: +gBattleAnimMove_ShellTrap:: ShellTrapUnleash: loadspritegfx ANIM_TAG_IMPACT @pound loadspritegfx ANIM_TAG_SMALL_RED_EYE @red @@ -11655,7 +11571,7 @@ ShellTrapFireLaunch2: delay 0x3 return -Move_FLEUR_CANNON:: +gBattleAnimMove_FleurCannon:: loadspritegfx ANIM_TAG_ORBS @beam particles loadspritegfx ANIM_TAG_ELECTRICITY @discharge loadspritegfx ANIM_TAG_PINK_PETAL @pink color @@ -11710,7 +11626,7 @@ FleurCannonBeam: delay 0x1 return -Move_PSYCHIC_FANGS:: +gBattleAnimMove_PsychicFangs:: loadspritegfx ANIM_TAG_SHARP_TEETH @Teeth loadspritegfx ANIM_TAG_IMPACT @Hit loadspritegfx ANIM_TAG_BLUE_LIGHT_WALL @Screen @@ -11763,7 +11679,7 @@ PsychicFangsDestroyWall: delay 0x10 goto PsychicFangsEnd -Move_STOMPING_TANTRUM:: +gBattleAnimMove_StompingTantrum:: loadspritegfx ANIM_TAG_ROCKS @rock colour loadspritegfx ANIM_TAG_SMALL_ROCK @small rock loadspritegfx ANIM_TAG_IMPACT @pound hit @@ -11800,7 +11716,7 @@ StompingTantrumImpact: createsprite gRandomPosHitSplatSpriteTemplate, ANIM_TARGET, 3, 0x1, 0x1 return -Move_SHADOW_BONE:: +gBattleAnimMove_ShadowBone:: loadspritegfx ANIM_TAG_BONE loadspritegfx ANIM_TAG_IMPACT fadetobg BG_NIGHTMARE @@ -11826,7 +11742,7 @@ Move_SHADOW_BONE:: blendoff end -Move_ACCELEROCK:: +gBattleAnimMove_Accelerock:: loadspritegfx ANIM_TAG_ROCKS loadspritegfx ANIM_TAG_IMPACT monbg ANIM_ATK_PARTNER @@ -11849,7 +11765,7 @@ Move_ACCELEROCK:: waitforvisualfinish end -Move_LIQUIDATION:: +gBattleAnimMove_Liquidation:: loadspritegfx ANIM_TAG_WATER_IMPACT loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_ICE_CRYSTALS @@ -11868,7 +11784,7 @@ Move_LIQUIDATION:: blendoff end -Move_PRISMATIC_LASER:: +gBattleAnimMove_PrismaticLaser:: loadspritegfx ANIM_TAG_ICE_CHUNK @blue green color loadspritegfx ANIM_TAG_SPARK_H @yellow color loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE @red color @@ -11990,7 +11906,7 @@ PrismaticLaserRain: createsprite gPrismaticLaserGreenRainTemplate, ANIM_TARGET, 2, -23, 0x28, 4, ANIM_TARGET return -Move_SPECTRAL_THIEF:: +gBattleAnimMove_SpectralThief:: choosetwoturnanim SpectralThiefSteal SpectralThiefUnleash SpectralThiefUnleash: loadspritegfx ANIM_TAG_HANDS_AND_FEET @Black Colour @@ -12111,7 +12027,7 @@ SpectralThiefBuffUp: createsprite gSpectralThiefBlackBuffTemplate, ANIM_ATTACKER, 2, 0x0, 0xfff4, 0x0, 0x1 return -Move_SUNSTEEL_STRIKE:: +gBattleAnimMove_SunsteelStrike:: loadspritegfx ANIM_TAG_ROUND_SHADOW @fly loadspritegfx ANIM_TAG_AIR_WAVE_2 @black color loadspritegfx ANIM_TAG_ROCKS @rock colour @@ -12175,7 +12091,7 @@ SunsteelStrikeBeam: delay 0x1 return -Move_MOONGEIST_BEAM:: +gBattleAnimMove_MoongeistBeam:: loadspritegfx ANIM_TAG_MOON loadspritegfx ANIM_TAG_ELECTRIC_ORBS loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @@ -12256,7 +12172,7 @@ MoongeistBeamOrbs: delay 0x1 return -Move_TEARFUL_LOOK:: +gBattleAnimMove_TearfulLook:: loadspritegfx ANIM_TAG_SMALL_BUBBLES @tears loadspritegfx ANIM_TAG_OPENING_EYE @eye monbg ANIM_DEF_PARTNER @@ -12282,7 +12198,7 @@ Move_TEARFUL_LOOK:: clearmonbg ANIM_DEF_PARTNER end -Move_ZING_ZAP:: +gBattleAnimMove_ZingZap:: loadspritegfx ANIM_TAG_SPARK_2 @sparks loadspritegfx ANIM_TAG_YELLOW_BALL @ball loadspritegfx ANIM_TAG_THIN_RING @ring @@ -12334,7 +12250,7 @@ ZingZapSparks2: createsprite gSparkElectricitySpriteTemplate, ANIM_ATTACKER, 0, 0xee, 0x18, 0xa5, 0xa, 0x0, 0x1, 0x1 return -Move_NATURES_MADNESS:: +gBattleAnimMove_NaturesMadness:: loadspritegfx ANIM_TAG_ICE_CRYSTALS @small circles loadspritegfx ANIM_TAG_THIN_RING @ring loadspritegfx ANIM_TAG_SPARKLE_2 @stars @@ -12415,7 +12331,7 @@ Move_NATURES_MADNESS:: blendoff end -Move_MULTI_ATTACK:: +gBattleAnimMove_MultiAttack:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_CUT @cut monbg ANIM_TARGET @@ -12452,7 +12368,7 @@ MultiAttackBuff: createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0x0, 0xfff4, 0x0, 0x1 return -Move_MIND_BLOWN:: +gBattleAnimMove_MindBlown:: loadspritegfx ANIM_TAG_PINK_HEART @pink color loadspritegfx ANIM_TAG_SMALL_BUBBLES @blue color loadspritegfx ANIM_TAG_BLACEPHALON_HEAD @head @@ -12509,7 +12425,7 @@ MindBlownPinkOrbs: createsprite gMindBlownPinkOrbsTemplate, ANIM_TARGET, 2, 0x1, 0x1, 0xFFDA, 0xFF94, 0x8 @between up and upper left return -Move_PLASMA_FISTS:: +gBattleAnimMove_PlasmaFists:: loadspritegfx ANIM_TAG_SHOCK_3 @charge loadspritegfx ANIM_TAG_SPARK_2 @ElectricityEffect loadspritegfx ANIM_TAG_SPARK @shock wave @@ -12594,7 +12510,7 @@ PlasmaFistsImpact: createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0x0, 0x0, 0x1, 0x2 return -Move_PHOTON_GEYSER:: +gBattleAnimMove_PhotonGeyser:: loadspritegfx ANIM_TAG_SHOCK_3 @charge loadspritegfx ANIM_TAG_SPARK_2 @ElectricityEffect loadspritegfx ANIM_TAG_SMALL_RED_EYE @red color @@ -12704,46 +12620,46 @@ PhotonGeyserBeam: createsprite gPhotonGeyserBeam, ANIM_TARGET, 3, 0, -77, ANIM_TARGET, 180, 2, 0 return -Move_ZIPPY_ZAP:: +gBattleAnimMove_ZippyZap:: end @to do: -Move_SPLISHY_SPLASH:: +gBattleAnimMove_SplishySplash:: end @to do: -Move_FLOATY_FALL:: +gBattleAnimMove_FloatyFall:: end @to do: -Move_PIKA_PAPOW:: +gBattleAnimMove_PikaPapow:: end @to do: -Move_BOUNCY_BUBBLE:: +gBattleAnimMove_BouncyBubble:: end @to do: -Move_BUZZY_BUZZ:: +gBattleAnimMove_BuzzyBuzz:: end @to do: -Move_SIZZLY_SLIDE:: +gBattleAnimMove_SizzlySlide:: end @to do: -Move_GLITZY_GLOW:: +gBattleAnimMove_GlitzyGlow:: end @to do: -Move_BADDY_BAD:: +gBattleAnimMove_BaddyBad:: end @to do: -Move_SAPPY_SEED:: +gBattleAnimMove_SappySeed:: end @to do: -Move_FREEZY_FROST:: +gBattleAnimMove_FreezyFrost:: end @to do: -Move_SPARKLY_SWIRL:: +gBattleAnimMove_SparklySwirl:: end @to do: -Move_VEEVEE_VOLLEY:: +gBattleAnimMove_VeeveeVolley:: end @to do: -Move_DOUBLE_IRON_BASH:: +gBattleAnimMove_DoubleIronBash:: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_IMPACT loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 0x1c, 0x2 @@ -12774,10 +12690,10 @@ Move_DOUBLE_IRON_BASH:: end @@@@@@@@@@@@@@@@@@@@@@@ GEN 8 @@@@@@@@@@@@@@@@@@@@@@@ -Move_DYNAMAX_CANNON:: - goto Move_HYPER_BEAM +gBattleAnimMove_DynamaxCannon:: + goto gBattleAnimMove_HyperBeam -Move_SNIPE_SHOT:: +gBattleAnimMove_SnipeShot:: loadspritegfx ANIM_TAG_IMPACT_2 loadspritegfx ANIM_TAG_LEER createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 0, 0, 16, 0 @;Black @@ -12795,7 +12711,7 @@ Move_SNIPE_SHOT:: waitforvisualfinish end -Move_JAW_LOCK:: +gBattleAnimMove_JawLock:: loadspritegfx ANIM_TAG_SHARP_TEETH loadspritegfx ANIM_TAG_IMPACT createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_SHARP_TEETH, 0, 10, 10, 0x0B1D @Light orange @@ -12815,7 +12731,7 @@ Move_JAW_LOCK:: delay 0x1 end -Move_STUFF_CHEEKS:: +gBattleAnimMove_StuffCheeks:: loadspritegfx ANIM_TAG_BERRY_NORMAL loadspritegfx ANIM_TAG_SHARP_TEETH loadspritegfx ANIM_TAG_THIN_RING @@ -12853,7 +12769,7 @@ BiteOpponent: createsprite gSharpTeethSpriteTemplate, ANIM_ATTACKER, 2, 0xffDF, 0x10, 0x4, 0x0, 0xfccd, 0xa return -Move_NO_RETREAT:: +gBattleAnimMove_NoRetreat:: loadspritegfx ANIM_TAG_SMALL_EMBER loopsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_ATTACKER 0x7 0x12 createsprite gNoRetreatFlameTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 20, 10, 0xA0, 0 @@ -12862,7 +12778,7 @@ Move_NO_RETREAT:: waitforvisualfinish end -Move_TAR_SHOT:: +gBattleAnimMove_TarShot:: loadspritegfx ANIM_TAG_POISON_BUBBLE createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_POISON_BUBBLE, 0, 15, 15, 0 @Black monbg ANIM_TARGET @@ -12886,7 +12802,7 @@ Move_TAR_SHOT:: clearmonbg ANIM_TARGET end -Move_MAGIC_POWDER:: +gBattleAnimMove_MagicPowder:: loadspritegfx ANIM_TAG_POISON_POWDER loadspritegfx ANIM_TAG_WATER_GUN loopsewithpan SE_M_MORNING_SUN, SOUND_PAN_ATTACKER 0xE 0x8 @@ -12914,7 +12830,7 @@ Move_MAGIC_POWDER:: waitforvisualfinish end -Move_DRAGON_DARTS:: +gBattleAnimMove_DragonDarts:: loadspritegfx ANIM_TAG_DREEPY_SHINY loadspritegfx ANIM_TAG_DREEPY loadspritegfx ANIM_TAG_AIR_WAVE @@ -12928,7 +12844,7 @@ Move_DRAGON_DARTS:: waitforvisualfinish end -Move_TEATIME:: +gBattleAnimMove_Teatime:: loadspritegfx ANIM_TAG_TEAPOT loadspritegfx ANIM_TAG_THOUGHT_BUBBLE createsprite gThoughtBubbleSpriteTemplate, ANIM_ATTACKER, 11, 0, 100 @@ -12942,7 +12858,7 @@ Move_TEATIME:: waitforvisualfinish end -Move_OCTOLOCK:: +gBattleAnimMove_Octolock:: loadspritegfx ANIM_TAG_TENDRILS createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_TENDRILS, 0, 12, 12, 0x3D98 @Pinkish Red loopsewithpan SE_M_SCRATCH, SOUND_PAN_TARGET 0x6 0x4 @@ -12961,7 +12877,7 @@ Move_OCTOLOCK:: waitforvisualfinish end -Move_BOLT_BEAK:: +gBattleAnimMove_BoltBeak:: loadspritegfx ANIM_TAG_HORN_HIT loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_SPARK_2 @@ -13014,7 +12930,7 @@ BoltBeakSparks: delay 0x4 return -Move_FISHIOUS_REND:: +gBattleAnimMove_FishiousRend:: loadspritegfx ANIM_TAG_SHARP_TEETH @Teeth loadspritegfx ANIM_TAG_SMALL_BUBBLES createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_SHARP_TEETH, 0, 10, 10, 0x726A @Blue Teeth @@ -13068,10 +12984,10 @@ FishousRendBubbles: createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0xA, 0x0 return -Move_COURT_CHANGE:: - goto Move_TRICK_ROOM +gBattleAnimMove_CourtChange:: + goto gBattleAnimMove_TrickRoom -Move_CLANGOROUS_SOUL:: +gBattleAnimMove_ClangorousSoul:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_WATER_ORB @blue loadspritegfx ANIM_TAG_POISON_BUBBLE @purple @@ -13107,7 +13023,7 @@ ClangorousSoulStarBuffEffect: createsprite gGrantingStarsSpriteTemplate, ANIM_ATTACKER, 2, 0xc, 0xfffb, 0x0, 0x0, 0x20, 0x3c return -Move_BODY_PRESS:: +gBattleAnimMove_BodyPress:: loadspritegfx ANIM_TAG_ROUND_SHADOW @fly and bounce animation loadspritegfx ANIM_TAG_GRAY_SMOKE @smoke createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_ROUND_SHADOW, 0, 0xD, 0xD, 0x1E5D @Orange @@ -13124,10 +13040,10 @@ Move_BODY_PRESS:: waitforvisualfinish end -Move_DECORATE:: - goto Move_FLOWER_SHIELD +gBattleAnimMove_Decorate:: + goto gBattleAnimMove_FlowerShield -Move_DRUM_BEATING:: +gBattleAnimMove_DrumBeating:: loadspritegfx ANIM_TAG_MUSIC_NOTES loadspritegfx ANIM_TAG_PURPLE_HAND_OUTLINE loadspritegfx ANIM_TAG_ROOTS @@ -13188,10 +13104,10 @@ Move_DRUM_BEATING:: blendoff end -Move_SNAP_TRAP:: @ placeholder - goto Move_BITE +gBattleAnimMove_SnapTrap:: @ placeholder + goto gBattleAnimMove_Bite -Move_PYRO_BALL:: +gBattleAnimMove_PyroBall:: loadspritegfx ANIM_TAG_FLAT_ROCK loadspritegfx ANIM_TAG_SMALL_EMBER playsewithpan SE_LEDGE, SOUND_PAN_ATTACKER @;Hop @@ -13219,13 +13135,13 @@ Move_PYRO_BALL:: waitforvisualfinish end -Move_BEHEMOTH_BLADE:: - goto Move_SACRED_SWORD +gBattleAnimMove_BehemothBlade:: + goto gBattleAnimMove_SacredSword -Move_BEHEMOTH_BASH:: - goto Move_SUNSTEEL_STRIKE +gBattleAnimMove_BehemothBash:: + goto gBattleAnimMove_SunsteelStrike -Move_AURA_WHEEL:: +gBattleAnimMove_AuraWheel:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_SPARK loadspritegfx ANIM_TAG_SPARK_2 @@ -13273,7 +13189,7 @@ Move_AURA_WHEEL:: blendoff end -Move_BREAKING_SWIPE:: +gBattleAnimMove_BreakingSwipe:: loadspritegfx ANIM_TAG_IMPACT @hits loadspritegfx ANIM_TAG_SPARK_2 createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_IMPACT, 0, 12, 12, 0x001F @Red @@ -13303,7 +13219,7 @@ Move_BREAKING_SWIPE:: clearmonbg ANIM_TARGET end -Move_BRANCH_POKE:: +gBattleAnimMove_BranchPoke:: loadspritegfx ANIM_TAG_BRANCH loadspritegfx ANIM_TAG_IMPACT playsewithpan SE_M_HEADBUTT, SOUND_PAN_ATTACKER @@ -13315,7 +13231,7 @@ Move_BRANCH_POKE:: waitforvisualfinish end -Move_OVERDRIVE:: +gBattleAnimMove_Overdrive:: loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_SPARK_2 loadspritegfx ANIM_TAG_ELECTRICITY @@ -13341,7 +13257,7 @@ OverdriveRings: createvisualtask SoundTask_WaitForCry, 0x5 return -Move_APPLE_ACID:: +gBattleAnimMove_AppleAcid:: loadspritegfx ANIM_TAG_APPLE loadspritegfx ANIM_TAG_POISON_BUBBLE createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_POISON_BUBBLE, 0, 12, 12, 0x061D @Orange @@ -13377,7 +13293,7 @@ Move_APPLE_ACID:: clearmonbg ANIM_TARGET end -Move_GRAV_APPLE:: +gBattleAnimMove_GravApple:: loadspritegfx ANIM_TAG_APPLE fadetobg BG_IN_AIR waitbgfadeout @@ -13428,7 +13344,7 @@ SmallAppleShower: return @ credits to Skeli -Move_SPIRIT_BREAK:: +gBattleAnimMove_SpiritBreak:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_TEAL_ALERT loadspritegfx ANIM_TAG_EXPLOSION_2 @@ -13454,7 +13370,7 @@ Move_SPIRIT_BREAK:: waitforvisualfinish end -Move_STRANGE_STEAM:: +gBattleAnimMove_StrangeSteam:: loadspritegfx ANIM_TAG_PINK_CLOUD loadspritegfx ANIM_TAG_FINGER loadspritegfx ANIM_TAG_WATER_GUN @blue colour @@ -13487,7 +13403,7 @@ StrangeSteamCloud: delay 0x2 return -Move_LIFE_DEW:: +gBattleAnimMove_LifeDew:: loadspritegfx ANIM_TAG_WATER_DROPLET loadspritegfx ANIM_TAG_BLUE_STAR monbg ANIM_ATK_PARTNER @@ -13513,7 +13429,7 @@ Move_LIFE_DEW:: clearmonbg ANIM_ATK_PARTNER end -Move_OBSTRUCT:: +gBattleAnimMove_Obstruct:: loadspritegfx ANIM_TAG_NOISE_LINE @growl loadspritegfx ANIM_TAG_PROTECT loadspritegfx ANIM_TAG_OBSTRUCT_CROSS @@ -13535,7 +13451,7 @@ Move_OBSTRUCT:: end @Credits to Skeli -Move_FALSE_SURRENDER:: +gBattleAnimMove_FalseSurrender:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_CROSS_IMPACT monbg ANIM_ATTACKER @@ -13573,7 +13489,7 @@ Move_FALSE_SURRENDER:: waitbgfadein end -Move_METEOR_ASSAULT:: +gBattleAnimMove_MeteorAssault:: loadspritegfx ANIM_TAG_ELECTRIC_ORBS loadspritegfx ANIM_TAG_METEOR loadspritegfx ANIM_TAG_EXPLOSION @@ -13612,10 +13528,10 @@ BasicExplosion: createsprite gExplosionSpriteTemplate, ANIM_TARGET, 3, 0x10, 0x10, 0x1, 0x1 return -Move_ETERNABEAM:: - goto Move_HYPER_BEAM +gBattleAnimMove_Eternabeam:: + goto gBattleAnimMove_HyperBeam -Move_STEEL_BEAM:: +gBattleAnimMove_SteelBeam:: loadspritegfx ANIM_TAG_CLAW_SLASH loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 createvisualtask AnimTask_MetallicShine, 5, 0, 0, RGB_BLACK @@ -13676,7 +13592,7 @@ SetSteelBeamBgPlayer: fadetobg BG_STEEL_BEAM_PLAYER @Credits to Skeli -Move_EXPANDING_FORCE:: +gBattleAnimMove_ExpandingForce:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_EXPLOSION_2 createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_CIRCLE_OF_LIGHT, 0x0, 0xA, 0xA, 0x7DDE @@ -13787,7 +13703,7 @@ MaxKnuckleExplosionGeyser: @Credits to Skeli -Move_STEEL_ROLLER:: +gBattleAnimMove_SteelRoller:: loadspritegfx ANIM_TAG_STEAMROLLER loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ROCKS @@ -13810,7 +13726,7 @@ SteelRollerRocks: return @Credits to Skeli -Move_SCALE_SHOT:: +gBattleAnimMove_ScaleShot:: loadspritegfx ANIM_TAG_SHELL_RIGHT loadspritegfx ANIM_TAG_IMPACT createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 0x4, 0x6 @@ -13827,7 +13743,7 @@ Move_SCALE_SHOT:: end @Credits to Skeli -Move_METEOR_BEAM:: +gBattleAnimMove_MeteorBeam:: loadspritegfx ANIM_TAG_ROCKS fadetobg BG_COSMIC waitbgfadeout @@ -13886,11 +13802,11 @@ MeteorBeamRockLaunch: delay 0x2 return -Move_SHELL_SIDE_ARM:: +gBattleAnimMove_ShellSideArm:: createvisualtask AnimTask_ShellSideArm, 0x5 - jumpargeq 0x0, TRUE, Move_SHELL_SIDE_ARM_PHYSICAL - jumpargeq 0x0, FALSE, Move_SHELL_SIDE_ARM_SPECIAL -Move_SHELL_SIDE_ARM_PHYSICAL:: @ Modified Body Slam, placeholder + jumpargeq 0x0, TRUE, gBattleAnimMove_ShellSideArmPhysical + jumpargeq 0x0, FALSE, gBattleAnimMove_ShellSideArmSpecial +gBattleAnimMove_ShellSideArmPhysical:: @ Modified Body Slam, placeholder loadspritegfx ANIM_TAG_IMPACT createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_IMPACT, 0, 6, 6, RGB_MAGENTA monbg ANIM_DEF_PARTNER @@ -13916,7 +13832,7 @@ Move_SHELL_SIDE_ARM_PHYSICAL:: @ Modified Body Slam, placeholder clearmonbg ANIM_DEF_PARTNER blendoff end -Move_SHELL_SIDE_ARM_SPECIAL:: @ Modified Snipe Shot, placeholder +gBattleAnimMove_ShellSideArmSpecial:: @ Modified Snipe Shot, placeholder loadspritegfx ANIM_TAG_IMPACT_2 loadspritegfx ANIM_TAG_LEER createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_IMPACT_2, 0, 6, 6, RGB_MAGENTA @@ -13933,7 +13849,7 @@ Move_SHELL_SIDE_ARM_SPECIAL:: @ Modified Snipe Shot, placeholder end @Credits to Skeli -Move_MISTY_EXPLOSION:: +gBattleAnimMove_MistyExplosion:: loadspritegfx ANIM_TAG_EXPLOSION createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 0x1, 0x8, 0x9, 0x7A5B, 0x8, 0x0, 0x8 createvisualtask AnimTask_ShakeMon2, 5, ANIM_PLAYER_LEFT, 8, 0, 40, 1 @@ -13950,7 +13866,7 @@ Move_MISTY_EXPLOSION:: end @Credits to Skeli -Move_GRASSY_GLIDE:: +gBattleAnimMove_GrassyGlide:: loadspritegfx ANIM_TAG_LEAF @leaves loadspritegfx ANIM_TAG_IMPACT @hits loadspritegfx ANIM_TAG_WHIP_HIT @@ -13966,7 +13882,7 @@ Move_GRASSY_GLIDE:: end @Credits to Skeli -Move_RISING_VOLTAGE:: +gBattleAnimMove_RisingVoltage:: loadspritegfx ANIM_TAG_ELECTRIC_ORBS loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_SPARK_2 @@ -14038,7 +13954,7 @@ ANIM_RISING_VOLTAGE_STRONGER: end -Move_TERRAIN_PULSE:: +gBattleAnimMove_TerrainPulse:: loadspritegfx ANIM_TAG_DRAGON_PULSE monbg ANIM_TARGET setalpha 12, 8 @@ -14121,7 +14037,7 @@ TerrainPulseEnd: clearmonbg ANIM_TARGET end -Move_SKITTER_SMACK:: +gBattleAnimMove_SkitterSmack:: loadspritegfx ANIM_TAG_IMPACT @Hits loadspritegfx ANIM_TAG_WHITE_SHADOW @Destiny Bond loadspritegfx ANIM_TAG_QUICK_GUARD_HAND @Black Colour @@ -14170,7 +14086,7 @@ Move_SKITTER_SMACK:: end @Credits to Skeli -Move_BURNING_JEALOUSY:: +gBattleAnimMove_BurningJealousy:: loadspritegfx ANIM_TAG_SMALL_EMBER playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 42, 1 @@ -14223,7 +14139,7 @@ BurningJealousyFlames: @Credits to Skeli -Move_LASH_OUT:: +gBattleAnimMove_LashOut:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_HANDS_AND_FEET @black color loadspritegfx ANIM_TAG_SLAM_HIT_2 @@ -14264,7 +14180,7 @@ Move_LASH_OUT:: end -Move_POLTERGEIST:: +gBattleAnimMove_Poltergeist:: loadspritegfx ANIM_TAG_EYE_SPARKLE loadspritegfx ANIM_TAG_WHITE_SHADOW @Destiny Bond loadspritegfx ANIM_TAG_QUICK_GUARD_HAND @Black Colour @@ -14303,7 +14219,7 @@ Move_POLTERGEIST:: end @Credits to Skeli -Move_CORROSIVE_GAS:: +gBattleAnimMove_CorrosiveGas:: loadspritegfx ANIM_TAG_PINK_CLOUD @Fumes createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_PINK_CLOUD, 0x0, 0xE, 0xE, 0x19EF @;Garbage green monbg ANIM_ATTACKER @@ -14329,7 +14245,7 @@ Move_CORROSIVE_GAS:: end @Credits to Skeli -Move_COACHING:: +gBattleAnimMove_Coaching:: playsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER createvisualtask AnimTask_Splash, 2, ANIM_ATTACKER, 1 waitforvisualfinish @@ -14340,7 +14256,7 @@ Move_COACHING:: end @Credits to Skeli -Move_FLIP_TURN:: +gBattleAnimMove_FlipTurn:: loadspritegfx ANIM_TAG_ICE_CRYSTALS @;Bubbles loadspritegfx ANIM_TAG_HYDRO_PUMP loadspritegfx ANIM_TAG_WATER_IMPACT @@ -14364,7 +14280,7 @@ Move_FLIP_TURN:: @Credits to Skeli -Move_TRIPLE_AXEL:: +gBattleAnimMove_TripleAxel:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ICE_CRYSTALS @@ -14409,7 +14325,7 @@ TripleAxelEnd: end @Credits to Skeli -Move_DUAL_WINGBEAT:: +gBattleAnimMove_DualWingbeat:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_WHITE_FEATHER setalpha 12, 8 @@ -14466,7 +14382,7 @@ DualWingbeatFeatherScatterRight: return @ credits to Skeli -Move_SCORCHING_SANDS:: +gBattleAnimMove_ScorchingSands:: loadspritegfx ANIM_TAG_MUD_SAND loadspritegfx ANIM_TAG_SMALL_EMBER monbg ANIM_ATK_PARTNER @@ -14491,7 +14407,7 @@ Move_SCORCHING_SANDS:: end @ credits to skeli -Move_JUNGLE_HEALING:: +gBattleAnimMove_JungleHealing:: loadspritegfx ANIM_TAG_ROOTS loadspritegfx ANIM_TAG_ORBS loadspritegfx ANIM_TAG_SPARKLE_2 @@ -14529,7 +14445,7 @@ Move_JUNGLE_HEALING:: end @ credits to ghoulslash -Move_SILK_TRAP:: +gBattleAnimMove_SilkTrap:: loadspritegfx ANIM_TAG_PROTECT loadspritegfx ANIM_TAG_SPIDER_WEB splitbgprio ANIM_ATTACKER @@ -14545,7 +14461,7 @@ Move_SILK_TRAP:: end @ Also used by Snow weather. Credits to Dat.H A -Move_SNOWSCAPE:: +gBattleAnimMove_Snowscape:: loadspritegfx ANIM_TAG_SNOWFLAKES playsewithpan SE_M_GUST, SOUND_PAN_ATTACKER createvisualtask AnimTask_BlendBattleAnimPal, 10, (F_PAL_BG | F_PAL_BATTLERS_2), 2, 0, 4, RGB(11, 18, 22) @@ -14562,7 +14478,7 @@ Move_SNOWSCAPE:: end @Credits to Skeli -Move_WICKED_BLOW:: +gBattleAnimMove_WickedBlow:: loadspritegfx ANIM_TAG_FOCUS_ENERGY loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT @@ -14625,7 +14541,7 @@ WickedBlowBuffEffect: @Credits to Skeli -Move_SURGING_STRIKES:: +gBattleAnimMove_SurgingStrikes:: loadspritegfx ANIM_TAG_IMPACT_2 loadspritegfx ANIM_TAG_WATER_IMPACT jumpifmoveturn 1 SURGING_STRIKES_1 @@ -14672,7 +14588,7 @@ SURGING_STRIKES_2: @Credits to Skeli -Move_THUNDER_CAGE:: +gBattleAnimMove_ThunderCage:: loadspritegfx ANIM_TAG_SHOCK_3 @Thunderbolt Ball loadspritegfx ANIM_TAG_SPARK @Electric lines loadspritegfx ANIM_TAG_SPARK_H @Thunder Wave @@ -14711,7 +14627,7 @@ ThunderCageBolts: @Credits to Skeli -Move_DRAGON_ENERGY:: +gBattleAnimMove_DragonEnergy:: loadspritegfx ANIM_TAG_HYDRO_PUMP createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_HYDRO_PUMP, 0x0, 0xC, 0xC, 0x2C5E @;Regidrago Reddish Reddish, Purple monbg ANIM_TARGET @@ -14770,7 +14686,7 @@ DragonEnergyShot: @Credits to Skeli -Move_FREEZING_GLARE:: +gBattleAnimMove_FreezingGlare:: loadspritegfx ANIM_TAG_SMALL_RED_EYE loadspritegfx ANIM_TAG_EYE_SPARKLE loadspritegfx ANIM_TAG_ICE_CRYSTALS @ice @@ -14789,7 +14705,7 @@ Move_FREEZING_GLARE:: @Credits to Skeli -Move_FIERY_WRATH:: +gBattleAnimMove_FieryWrath:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_PURPLE_RING monbg ANIM_DEF_PARTNER @@ -14869,7 +14785,7 @@ FieryWrathGeyser: @Credits to Skeli -Move_THUNDEROUS_KICK:: +gBattleAnimMove_ThunderousKick:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_SPARK_2 @@ -14906,7 +14822,7 @@ Move_THUNDEROUS_KICK:: @Credits to Skeli -Move_GLACIAL_LANCE:: +gBattleAnimMove_GlacialLance:: loadspritegfx ANIM_TAG_ICICLE_SPEAR loadspritegfx ANIM_TAG_ICE_CUBE loadspritegfx ANIM_TAG_ICE_CRYSTALS @ice @@ -14931,12 +14847,12 @@ Move_GLACIAL_LANCE:: end -Move_ASTRAL_BARRAGE:: - goto Move_SHADOW_BALL +gBattleAnimMove_AstralBarrage:: + goto gBattleAnimMove_ShadowBall @Credits to Skeli -Move_EERIE_SPELL:: +gBattleAnimMove_EerieSpell:: loadspritegfx ANIM_TAG_PURPLE_FLAME call SetPsychicBackground waitforvisualfinish @@ -14979,7 +14895,7 @@ EerieSpellConvergingFlames: @@@@@@@@@@@@@@@@@@@@@@@ GEN 9 @@@@@@@@@@@@@@@@@@@@@@@ @ credits to Skeli -Move_DIRE_CLAW:: +gBattleAnimMove_DireClaw:: loadspritegfx ANIM_TAG_SLASH loadspritegfx ANIM_TAG_POISON_BUBBLE createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_SLASH, 0x0, 0xC, 0xC, 0x6038 @;Purple @@ -15000,7 +14916,7 @@ Move_DIRE_CLAW:: @ credits to Skeli -Move_PSYSHIELD_BASH:: +gBattleAnimMove_PsyshieldBash:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_WATER_GUN @Blue colour call SetPsychicBackground @@ -15029,7 +14945,7 @@ Move_PSYSHIELD_BASH:: end @ credits to skeli -Move_POWER_SHIFT:: +gBattleAnimMove_PowerShift:: loadspritegfx ANIM_TAG_BLUEGREEN_ORB loadspritegfx ANIM_TAG_RED_HEART @Red colour for orb monbg ANIM_ATK_PARTNER @@ -15045,7 +14961,7 @@ Move_POWER_SHIFT:: @ credits to skeli -Move_STONE_AXE:: +gBattleAnimMove_StoneAxe:: loadspritegfx ANIM_TAG_SLAM_HIT_2 @Cut loadspritegfx ANIM_TAG_ROCKS monbg ANIM_TARGET @@ -15075,7 +14991,7 @@ StoneAxeRockFragments: @Credits to Skeli -Move_SPRINGTIDE_STORM:: +gBattleAnimMove_SpringtideStorm:: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_RED_HEART playsewithpan SE_M_GUST, SOUND_PAN_TARGET @@ -15113,7 +15029,7 @@ SpringtideStormHeartSwirl: @Credits to Skeli -Move_MYSTICAL_POWER:: +gBattleAnimMove_MysticalPower:: loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_POISON_BUBBLE @Purple Colour loadspritegfx ANIM_TAG_HYDRO_PUMP @Blue colour @@ -15168,7 +15084,7 @@ MysticalPowerFoeTwoRingsOnly: @Credits to Skeli -Move_RAGING_FURY:: +gBattleAnimMove_RagingFury:: loadspritegfx ANIM_TAG_SMALL_EMBER loopsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER, 0x8, 0x3 createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_ATTACKER | F_PAL_TARGET), 2, 5, 3, 8, RGB_RED @@ -15185,7 +15101,7 @@ Move_RAGING_FURY:: end @Credits to Skeli -Move_WAVE_CRASH:: +gBattleAnimMove_WaveCrash:: loadspritegfx ANIM_TAG_WATER_IMPACT loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_ICE_CRYSTALS @Bubbles on attacker @@ -15206,7 +15122,7 @@ Move_WAVE_CRASH:: @Credits to Skeli -Move_CHLOROBLAST:: +gBattleAnimMove_Chloroblast:: loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_HYDRO_PUMP createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_THIN_RING, 0x0, 0xA, 0xA, 0x03AC @@ -15267,7 +15183,7 @@ ChloroblastShot: return @Credits to Skeli -Move_MOUNTAIN_GALE:: +gBattleAnimMove_MountainGale:: loadspritegfx ANIM_TAG_ROCKS @Rocks loadspritegfx ANIM_TAG_DRAGON_ASCENT_FOE @White Rock Colour monbg ANIM_TARGET @@ -15300,7 +15216,7 @@ MountainGaleIceRock: @Credits to Skeli -Move_VICTORY_DANCE:: +gBattleAnimMove_VictoryDance:: loadspritegfx ANIM_TAG_HOLLOW_ORB createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 40, 6, 3, 3 playsewithpan SE_M_TELEPORT, SOUND_PAN_ATTACKER @@ -15320,7 +15236,7 @@ Move_VICTORY_DANCE:: end @Credits to Skeli -Move_HEADLONG_RUSH:: +gBattleAnimMove_HeadlongRush:: loadspritegfx ANIM_TAG_MUD_SAND @Dig loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_EXPLOSION_2 @@ -15407,7 +15323,7 @@ MaxQuake_DirtGeyser: @Credits to Skeli -Move_BARB_BARRAGE:: +gBattleAnimMove_BarbBarrage:: loadspritegfx ANIM_TAG_SPIKES loadspritegfx ANIM_TAG_SHADOW_BALL @Spikes colour loadspritegfx ANIM_TAG_POISON_BUBBLE @@ -15440,7 +15356,7 @@ BarbBarrageSpikeShoot: @Credits to Skeli -Move_ESPER_WING:: +gBattleAnimMove_EsperWing:: loadspritegfx ANIM_TAG_PUNISHMENT_BLADES @Punishment Blade loadspritegfx ANIM_TAG_WHITE_FEATHER createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_WHITE_FEATHER, 0x0, 0xA, 0xA, 0x7DDE @@ -15477,7 +15393,7 @@ WingAttackFeatherScatter: @Credits to Skeli -Move_BITTER_MALICE:: +gBattleAnimMove_BitterMalice:: loadspritegfx ANIM_TAG_PURPLE_RING loadspritegfx ANIM_TAG_EYE_SPARKLE loadspritegfx ANIM_TAG_ICE_CRYSTALS @@ -15511,7 +15427,7 @@ BitterMaliceSwirl: return @ credits to Skeli -Move_SHELTER:: +gBattleAnimMove_Shelter:: loadspritegfx ANIM_TAG_SHELL_LEFT loadspritegfx ANIM_TAG_SHELL_RIGHT playsewithpan SE_M_HEADBUTT, SOUND_PAN_ATTACKER @@ -15527,7 +15443,7 @@ Move_SHELTER:: @Credits to Skeli -Move_TRIPLE_ARROWS:: +gBattleAnimMove_TripleArrows:: loadspritegfx ANIM_TAG_SPIRIT_ARROW @Arrow loadspritegfx ANIM_TAG_HANDS_AND_FEET monbg ANIM_DEF_PARTNER @@ -15561,7 +15477,7 @@ TripleArrowsOnOpponent: @Credits to Skeli -Move_INFERNAL_PARADE:: +gBattleAnimMove_InfernalParade:: loadspritegfx ANIM_TAG_PURPLE_FLAME loadspritegfx ANIM_TAG_WISP_FIRE monbg ANIM_TARGET @@ -15607,7 +15523,7 @@ InfernalFlames: @Credits to Skeli -Move_CEASELESS_EDGE:: +gBattleAnimMove_CeaselessEdge:: loadspritegfx ANIM_TAG_SLASH playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, ANIM_ATTACKER, 0x2C, 0x0, 0x0, 0x5 @@ -15645,7 +15561,7 @@ CeaselessEdgeSlashes: @Credits to Skeli -Move_BLEAKWIND_STORM:: +gBattleAnimMove_BleakwindStorm:: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_ICE_CRYSTALS playsewithpan SE_M_GUST, SOUND_PAN_TARGET @@ -15684,7 +15600,7 @@ BleakwindStormIceSwirl: @Credits to Skeli -Move_WILDBOLT_STORM:: +gBattleAnimMove_WildboltStorm:: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_SPARK_2 fadetobg BG_MAX_LIGHTNING @@ -15729,7 +15645,7 @@ WildboltStormSparkSwirl: @Credits to Skeli -Move_SANDSEAR_STORM:: +gBattleAnimMove_SandsearStorm:: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_SMALL_EMBER createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_GUST, 0x0, 0xA, 0xA, 0x190B @@ -15770,7 +15686,7 @@ SandsearStormFireSpin: @Credits to Skeli -Move_LUNAR_BLESSING:: +gBattleAnimMove_LunarBlessing:: loadspritegfx ANIM_TAG_MOON loadspritegfx ANIM_TAG_SPARKLE_2 loadspritegfx ANIM_TAG_GUARD_RING @@ -15805,7 +15721,7 @@ Move_LUNAR_BLESSING:: @Credits to Skeli -Move_TAKE_HEART:: +gBattleAnimMove_TakeHeart:: loadspritegfx ANIM_TAG_RED_HEART loadspritegfx ANIM_TAG_SPARKLE_2 loadspritegfx ANIM_TAG_GUARD_RING @@ -15834,7 +15750,7 @@ TakeHeartRings: delay 0x4 return -Move_BITTER_BLADE:: +gBattleAnimMove_BitterBlade:: loadspritegfx ANIM_TAG_FOCUS_ENERGY loadspritegfx ANIM_TAG_CLAW_SLASH loadspritegfx ANIM_TAG_POISON_BUBBLE @@ -15870,7 +15786,7 @@ Move_BITTER_BLADE:: blendoff end -Move_DOUBLE_SHOCK:: +gBattleAnimMove_DoubleShock:: loadspritegfx ANIM_TAG_ELECTRIC_ORBS loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_LIGHTNING @@ -15902,13 +15818,13 @@ Move_DOUBLE_SHOCK:: waitforvisualfinish end -Move_SYRUP_BOMB:: +gBattleAnimMove_SyrupBomb:: createvisualtask AnimTask_SyrupBomb, 0x5 - jumpargeq 0x0, FALSE, Move_SYRUP_BOMB_RED - jumpargeq 0x0, TRUE, Move_SYRUP_BOMB_YELLOW + jumpargeq 0x0, FALSE, gBattleAnimMove_SyrupBombRed + jumpargeq 0x0, TRUE, gBattleAnimMove_SyrupBombYellow @ Credits to Dat.H A -Move_SYRUP_BOMB_RED:: +gBattleAnimMove_SyrupBombRed:: loadspritegfx ANIM_TAG_SYRUP_BLOB_RED loadspritegfx ANIM_TAG_SYRUP_SPLAT_RED loadspritegfx ANIM_TAG_SYRUP_SHELL_RED @@ -15946,7 +15862,7 @@ SyrupBombProjectileRed: delay 3 return -Move_SYRUP_BOMB_YELLOW:: +gBattleAnimMove_SyrupBombYellow:: loadspritegfx ANIM_TAG_SYRUP_BLOB_YELLOW loadspritegfx ANIM_TAG_SYRUP_SPLAT_YELLOW loadspritegfx ANIM_TAG_SYRUP_SHELL_YELLOW @@ -15984,7 +15900,7 @@ SyrupBombProjectileYellow: delay 3 return -General_SyrupBombSpeedDrop:: +gBattleAnimGeneral_SyrupBombSpeedDrop:: createvisualtask AnimTask_StickySyrup, 0x5 jumpargeq 0x0, FALSE, SyrupBombSpeedDropRed jumpargeq 0x0, TRUE, SyrupBombSpeedDropYellow @@ -16009,7 +15925,7 @@ SyrupBombSpeedDropYellow: waitforvisualfinish end -Move_CHILLY_RECEPTION:: +gBattleAnimMove_ChillyReception:: loadspritegfx ANIM_TAG_CONFETTI loadspritegfx ANIM_TAG_PINK_CLOUD loadspritegfx ANIM_TAG_ICE_CRYSTALS @@ -16080,10 +15996,10 @@ ChillyReceptionSnowballs: delay 3 return -Move_BURNING_BULWARK:: - goto Move_PROTECT +gBattleAnimMove_BurningBulwark:: + goto gBattleAnimMove_Protect -Move_ALLURING_VOICE:: +gBattleAnimMove_AlluringVoice:: loadspritegfx ANIM_TAG_THIN_RING createvisualtask AnimTask_BlendBattleAnimPal, 0xa, F_PAL_BG, 0x1, 0x0, 0x8, 0x6e7d waitforvisualfinish @@ -16104,7 +16020,7 @@ Move_ALLURING_VOICE:: end @ Credits to Z-nogyroP -Move_AQUA_CUTTER:: +gBattleAnimMove_AquaCutter:: loadspritegfx ANIM_TAG_SLASH_2 loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_ICE_CRYSTALS @@ -16143,7 +16059,7 @@ Move_AQUA_CUTTER:: end @ Credits to Z-nogyroP -Move_GIGATON_HAMMER:: +gBattleAnimMove_GigatonHammer:: loadspritegfx ANIM_TAG_ROCKS loadspritegfx ANIM_TAG_WOOD_HAMMER_HAMMER loadspritegfx ANIM_TAG_CLAW_SLASH @@ -16172,7 +16088,7 @@ GigatonHammerImpact: return @ Credits to Z-nogyroP -Move_ICE_SPINNER:: +gBattleAnimMove_IceSpinner:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_RAPID_SPIN monbg ANIM_ATTACKER @@ -16215,7 +16131,7 @@ IceCrystalSpinEffect: return @ Credits to Z-nogyroP -Move_RAGING_BULL:: +gBattleAnimMove_RagingBull:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ANGER loadspritegfx ANIM_TAG_BREATH @@ -16302,7 +16218,7 @@ RagingBullShatteredWall: end @ Credits to Z-nogyroP. Simple anim that combines Force Palm + Fake Out -Move_UPPER_HAND:: +gBattleAnimMove_UpperHand:: loadspritegfx ANIM_TAG_SHADOW_BALL loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT @@ -16328,7 +16244,7 @@ Move_UPPER_HAND:: blendoff end -Move_JET_PUNCH:: +gBattleAnimMove_JetPunch:: loadspritegfx ANIM_TAG_ICE_CRYSTALS loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT @@ -16370,7 +16286,7 @@ Move_JET_PUNCH:: blendoff end -Move_PSYCHIC_NOISE:: +gBattleAnimMove_PsychicNoise:: loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE loadspritegfx ANIM_TAG_THIN_RING monbg ANIM_DEF_PARTNER @@ -16400,7 +16316,7 @@ Move_PSYCHIC_NOISE:: call UnsetPsychicBg end -Move_TEMPER_FLARE:: +gBattleAnimMove_TemperFlare:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ANGER @@ -16437,7 +16353,7 @@ Move_TEMPER_FLARE:: waitforvisualfinish end -Move_TRAILBLAZE:: +gBattleAnimMove_Trailblaze:: loadspritegfx ANIM_TAG_LEAF loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_FLOWER @@ -16483,7 +16399,7 @@ TrailblazeVortex: delay 0x2 return -Move_LAST_RESPECTS:: +gBattleAnimMove_LastRespects:: loadspritegfx ANIM_TAG_FOCUS_ENERGY loadspritegfx ANIM_TAG_SWEAT_BEAD @blue color loadspritegfx ANIM_TAG_GHOSTLY_SPIRIT @@ -16529,7 +16445,7 @@ Move_LAST_RESPECTS:: waitbgfadein end -Move_TIDY_UP:: +gBattleAnimMove_TidyUp:: loadspritegfx ANIM_TAG_PINK_CLOUD monbg ANIM_ATTACKER setalpha 12, 4 @@ -16550,7 +16466,7 @@ Move_TIDY_UP:: blendoff end -Move_KOWTOW_CLEAVE:: +gBattleAnimMove_KowtowCleave:: loadspritegfx ANIM_TAG_SLASH loadspritegfx ANIM_TAG_CROSS_IMPACT loadspritegfx ANIM_TAG_LEER @@ -16581,7 +16497,7 @@ Move_KOWTOW_CLEAVE:: waitbgfadein end -Move_LUMINA_CRASH:: +gBattleAnimMove_LuminaCrash:: loadspritegfx ANIM_TAG_ELECTRIC_ORBS loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_IMPACT @@ -16645,7 +16561,7 @@ Move_LUMINA_CRASH:: blendoff end -Move_TORCH_SONG:: +gBattleAnimMove_TorchSong:: loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_IMPACT @@ -16704,7 +16620,7 @@ TorchSongEffect: createvisualtask SoundTask_WaitForCry, 5 return -Move_AQUA_STEP:: +gBattleAnimMove_AquaStep:: loadspritegfx ANIM_TAG_GLOWY_BLUE_ORB loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_RAPID_SPIN @@ -16743,7 +16659,7 @@ Move_AQUA_STEP:: clearmonbg ANIM_ATTACKER end -Move_RAGE_FIST:: +gBattleAnimMove_RageFist:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_ANGER @@ -16781,7 +16697,7 @@ Move_RAGE_FIST:: waitbgfadein end -Move_CHILLING_WATER:: +gBattleAnimMove_ChillingWater:: loadspritegfx ANIM_TAG_ICE_CRYSTALS loadspritegfx ANIM_TAG_POISON_BUBBLE monbg ANIM_TARGET @@ -16810,7 +16726,7 @@ Move_CHILLING_WATER:: clearmonbg ANIM_TARGET end -Move_HYDRO_STEAM:: +gBattleAnimMove_HydroSteam:: loadspritegfx ANIM_TAG_WATER_ORB loadspritegfx ANIM_TAG_WATER_IMPACT createvisualtask AnimTask_ShakeMon, 5, ANIM_ATTACKER, 0, 2, 40, 1 @@ -16844,7 +16760,7 @@ Move_HYDRO_STEAM:: waitforvisualfinish end -Move_POUNCE:: +gBattleAnimMove_Pounce:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET setalpha 12, 8 @@ -16861,7 +16777,7 @@ Move_POUNCE:: blendoff end -Move_ELECTRO_SHOT:: +gBattleAnimMove_ElectroShot:: choosetwoturnanim ElectroShotSetUp, ElectroShotUnleash ElectroShotEnd: waitforvisualfinish @@ -16949,7 +16865,7 @@ ElectroShotUnleash: blendoff end -Move_IVY_CUDGEL:: +gBattleAnimMove_IvyCudgel:: loadspritegfx ANIM_TAG_IVY_CUDGEL_GRASS loadspritegfx ANIM_TAG_WOOD_HAMMER loadspritegfx ANIM_TAG_WOOD_HAMMER_HAMMER @@ -17002,7 +16918,7 @@ IvyCudgelWater: waitforvisualfinish end -Move_SPICY_EXTRACT:: +gBattleAnimMove_SpicyExtract:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_POISON_BUBBLE loadspritegfx ANIM_TAG_SMALL_BUBBLES @@ -17047,7 +16963,7 @@ Move_SPICY_EXTRACT:: waitforvisualfinish end -Move_AXE_KICK:: +gBattleAnimMove_AxeKick:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER @@ -17062,7 +16978,7 @@ Move_AXE_KICK:: createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 4 end -Move_SPIN_OUT:: +gBattleAnimMove_SpinOut:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_RAPID_SPIN loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 @@ -17088,7 +17004,7 @@ Move_SPIN_OUT:: clearmonbg ANIM_ATTACKER end -Move_MORTAL_SPIN:: +gBattleAnimMove_MortalSpin:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_RAPID_SPIN loadspritegfx ANIM_TAG_POISON_BUBBLE @@ -17113,7 +17029,7 @@ Move_MORTAL_SPIN:: blendoff end -Move_FILLET_AWAY:: +gBattleAnimMove_FilletAway:: loadspritegfx ANIM_TAG_CUT createsprite gCuttingSliceSpriteTemplate, ANIM_ATTACKER, 2, 40, -32, 0 playsewithpan SE_M_CUT, SOUND_PAN_ATTACKER @@ -17133,7 +17049,7 @@ Move_FILLET_AWAY:: blendoff end -Move_FLOWER_TRICK:: +gBattleAnimMove_FlowerTrick:: loadspritegfx ANIM_TAG_SPOTLIGHT loadspritegfx ANIM_TAG_LEAF @leaves loadspritegfx ANIM_TAG_FLOWER @flowers @@ -17162,7 +17078,7 @@ Move_FLOWER_TRICK:: createvisualtask AnimTask_RemoveSpotlight, 2 end -Move_MAKE_IT_RAIN:: +gBattleAnimMove_MakeItRain:: loadspritegfx ANIM_TAG_COIN loadspritegfx ANIM_TAG_IMPACT monbg ANIM_ATTACKER @@ -17226,7 +17142,7 @@ MakingItRain: delay 2 return -Move_SHED_TAIL:: +gBattleAnimMove_ShedTail:: loopsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER, 24, 3 createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 4, 2, 3 waitforvisualfinish @@ -17234,7 +17150,7 @@ Move_SHED_TAIL:: createvisualtask AnimTask_MonToSubstitute, 2 end -Move_HYPER_DRILL:: +gBattleAnimMove_HyperDrill:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HORN_HIT fadetobgfromset BG_GUILLOTINE_OPPONENT, BG_GUILLOTINE_PLAYER, BG_GUILLOTINE_CONTESTS @@ -17292,7 +17208,7 @@ Move_HYPER_DRILL:: blendoff end -Move_TWIN_BEAM:: +gBattleAnimMove_TwinBeam:: loadspritegfx ANIM_TAG_BLUE_RING loadspritegfx ANIM_TAG_GOLD_RING playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER @@ -17317,7 +17233,7 @@ Move_TWIN_BEAM:: call UnsetPsychicBg end -Move_COMEUPPANCE:: +gBattleAnimMove_Comeuppance:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET fadetobg BG_DARK @@ -17359,7 +17275,7 @@ Move_COMEUPPANCE:: clearmonbg ANIM_DEF_PARTNER end -Move_BLOOD_MOON:: +gBattleAnimMove_BloodMoon:: loadspritegfx ANIM_TAG_BLOOD_MOON loadspritegfx ANIM_TAG_BEAM loadspritegfx ANIM_TAG_RED_EXPLOSION @@ -17448,7 +17364,7 @@ BloodMoonOnslaughtPlayer: delay 0 return -Move_FICKLE_BEAM:: +gBattleAnimMove_FickleBeam:: createvisualtask AnimTask_IsPowerOver99, 2 waitforvisualfinish jumpreteq FALSE, FickleBeamRegular @@ -17516,7 +17432,7 @@ FickleBeamIntense: waitbgfadein end -Move_THUNDERCLAP:: +gBattleAnimMove_Thunderclap:: loadspritegfx ANIM_TAG_LIGHTNING monbg ANIM_ATK_PARTNER setalpha 12, 8 @@ -17547,7 +17463,7 @@ Move_THUNDERCLAP:: waitforvisualfinish end -Move_HARD_PRESS:: +gBattleAnimMove_HardPress:: loadspritegfx ANIM_TAG_EXPLOSION loadspritegfx ANIM_TAG_ACUPRESSURE loadspritegfx ANIM_TAG_PURPLE_HAND_OUTLINE @@ -17572,7 +17488,7 @@ Move_HARD_PRESS:: call UnsetHighSpeedBg end -Move_DRAGON_CHEER:: +gBattleAnimMove_DragonCheer:: loadspritegfx ANIM_TAG_NOISE_LINE loadspritegfx ANIM_TAG_CONFETTI loadspritegfx ANIM_TAG_PINK_CLOUD @@ -17613,7 +17529,7 @@ Move_DRAGON_CHEER:: delay 10 end -Move_MALIGNANT_CHAIN:: +gBattleAnimMove_MalignantChain:: loadspritegfx ANIM_TAG_PURPLE_CHAIN loadspritegfx ANIM_TAG_POISON_BUBBLE loopsewithpan SE_M_SCRATCH, SOUND_PAN_TARGET, 6, 2 @@ -17630,7 +17546,7 @@ Move_MALIGNANT_CHAIN:: waitforvisualfinish end -Move_POPULATION_BOMB:: +gBattleAnimMove_PopulationBomb:: loadspritegfx ANIM_TAG_CUT monbg ANIM_TARGET setalpha 12, 8 @@ -17652,34 +17568,34 @@ PopulationBombContinue: waitforvisualfinish end -Move_TERA_BLAST:: -Move_ORDER_UP:: -Move_GLAIVE_RUSH:: -Move_REVIVAL_BLESSING:: -Move_SALT_CURE:: -Move_TRIPLE_DIVE:: -Move_DOODLE:: -Move_RUINATION:: -Move_COLLISION_COURSE:: -Move_ELECTRO_DRIFT:: -Move_ARMOR_CANNON:: -Move_BLAZING_TORQUE:: -Move_WICKED_TORQUE:: -Move_NOXIOUS_TORQUE:: -Move_COMBAT_TORQUE:: -Move_MAGICAL_TORQUE:: -Move_PSYBLADE:: -Move_MATCHA_GOTCHA:: -Move_TERA_STARSTORM:: -Move_MIGHTY_CLEAVE:: -Move_TACHYON_CUTTER:: -Move_SUPERCELL_SLAM:: +gBattleAnimMove_TeraBlast:: +gBattleAnimMove_OrderUp:: +gBattleAnimMove_GlaiveRush:: +gBattleAnimMove_RevivalBlessing:: +gBattleAnimMove_SaltCure:: +gBattleAnimMove_TripleDive:: +gBattleAnimMove_Doodle:: +gBattleAnimMove_Ruination:: +gBattleAnimMove_CollisionCourse:: +gBattleAnimMove_ElectroDrift:: +gBattleAnimMove_ArmorCannon:: +gBattleAnimMove_BlazingTorque:: +gBattleAnimMove_WickedTorque:: +gBattleAnimMove_NoxiousTorque:: +gBattleAnimMove_CombatTorque:: +gBattleAnimMove_MagicalTorque:: +gBattleAnimMove_Psyblade:: +gBattleAnimMove_MatchaGotcha:: +gBattleAnimMove_TeraStarstorm:: +gBattleAnimMove_MightyCleave:: +gBattleAnimMove_TachyonCutter:: +gBattleAnimMove_SupercellSlam:: end @to do @@@@@@@@@@@@@@@@@@@@@@@ GEN 1-3 @@@@@@@@@@@@@@@@@@@@@@@ -Move_NONE:: -Move_MIRROR_MOVE:: -Move_POUND:: +gBattleAnimMove_None:: +gBattleAnimMove_MirrorMove:: +gBattleAnimMove_Pound:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET setalpha 12, 8 @@ -17691,7 +17607,7 @@ Move_POUND:: blendoff end -Move_DOUBLE_SLAP:: +gBattleAnimMove_DoubleSlap:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET setalpha 12, 8 @@ -17710,7 +17626,7 @@ DoubleSlapRight: createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 8, 0, ANIM_TARGET, 2 goto DoubleSlapContinue -Move_POISON_POWDER:: +gBattleAnimMove_PoisonPowder:: loadspritegfx ANIM_TAG_POISON_POWDER loadspritegfx ANIM_TAG_POISON_BUBBLE loopsewithpan SE_M_POISON_POWDER, SOUND_PAN_TARGET, 10, 6 @@ -17735,7 +17651,7 @@ Move_POISON_POWDER:: waitforvisualfinish end -Move_STUN_SPORE:: +gBattleAnimMove_StunSpore:: loadspritegfx ANIM_TAG_STUN_SPORE loopsewithpan SE_M_POISON_POWDER, SOUND_PAN_TARGET, 10, 6 createsprite gStunSporeParticleSpriteTemplate, ANIM_TARGET, 2, -30, -22, 117, 80, 5, 1 @@ -17759,7 +17675,7 @@ Move_STUN_SPORE:: waitforvisualfinish end -Move_SLEEP_POWDER:: +gBattleAnimMove_SleepPowder:: loadspritegfx ANIM_TAG_SLEEP_POWDER loopsewithpan SE_M_POISON_POWDER, SOUND_PAN_TARGET, 10, 6 createsprite gSleepPowderParticleSpriteTemplate, ANIM_TARGET, 2, -30, -22, 117, 80, 5, 1 @@ -17783,7 +17699,7 @@ Move_SLEEP_POWDER:: waitforvisualfinish end -Move_SWIFT:: +gBattleAnimMove_Swift:: loadspritegfx ANIM_TAG_YELLOW_STAR loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -17810,7 +17726,7 @@ Move_SWIFT:: blendoff end -Move_STRENGTH:: +gBattleAnimMove_Strength:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER setalpha 12, 8 @@ -17836,7 +17752,7 @@ Move_STRENGTH:: blendoff end -Move_TACKLE:: +gBattleAnimMove_Tackle:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET setalpha 12, 8 @@ -17850,7 +17766,7 @@ Move_TACKLE:: blendoff end -Move_BODY_SLAM:: +gBattleAnimMove_BodySlam:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER setalpha 12, 8 @@ -17876,7 +17792,7 @@ Move_BODY_SLAM:: blendoff end -Move_SUPERSONIC:: +gBattleAnimMove_Supersonic:: loadspritegfx ANIM_TAG_GOLD_RING monbg ANIM_ATK_PARTNER splitbgprio_foes ANIM_ATTACKER @@ -17898,7 +17814,7 @@ SupersonicRing: delay 2 return -Move_SCREECH:: +gBattleAnimMove_Screech:: loadspritegfx ANIM_TAG_PURPLE_RING createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 3, 0, 2, 1 call ScreechRing @@ -17913,7 +17829,7 @@ ScreechRing: delay 2 return -Move_FLAME_WHEEL:: +gBattleAnimMove_FlameWheel:: loadspritegfx ANIM_TAG_SMALL_EMBER monbg ANIM_DEF_PARTNER splitbgprio_foes ANIM_TARGET @@ -17955,7 +17871,7 @@ FlameWheel1: @ Unused delay 4 return -Move_PIN_MISSILE:: +gBattleAnimMove_PinMissile:: loadspritegfx ANIM_TAG_NEEDLE loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -17984,7 +17900,7 @@ Move_PIN_MISSILE:: blendoff end -Move_ICICLE_SPEAR:: +gBattleAnimMove_IcicleSpear:: loadspritegfx ANIM_TAG_ICICLE_SPEAR loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -18013,7 +17929,7 @@ Move_ICICLE_SPEAR:: blendoff end -Move_TAKE_DOWN:: +gBattleAnimMove_TakeDown:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER setalpha 12, 8 @@ -18036,7 +17952,7 @@ Move_TAKE_DOWN:: blendoff end -Move_DOUBLE_EDGE:: +gBattleAnimMove_DoubleEdge:: loadspritegfx ANIM_TAG_IMPACT playsewithpan SE_M_SWIFT, SOUND_PAN_ATTACKER createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_ATTACKER, 4, 2, RGB_WHITE, 10, RGB_BLACK, 0 @@ -18069,7 +17985,7 @@ Move_DOUBLE_EDGE:: waitforvisualfinish end -Move_POISON_STING:: +gBattleAnimMove_PoisonSting:: loadspritegfx ANIM_TAG_NEEDLE loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_POISON_BUBBLE @@ -18089,7 +18005,7 @@ Move_POISON_STING:: blendoff end -Move_TWINEEDLE:: +gBattleAnimMove_Twineedle:: loadspritegfx ANIM_TAG_NEEDLE loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -18109,7 +18025,7 @@ Move_TWINEEDLE:: blendoff end -Move_FIRE_BLAST:: +gBattleAnimMove_FireBlast:: loadspritegfx ANIM_TAG_SMALL_EMBER createsoundtask SoundTask_FireBlast, SE_M_FLAME_WHEEL, SE_M_FLAME_WHEEL2 call FireBlastRing @@ -18157,7 +18073,7 @@ FireBlastCross: createsprite gFireBlastCrossSpriteTemplate, ANIM_TARGET, 2, 0, 0, 15, 2, 2 return -Move_LEECH_SEED:: +gBattleAnimMove_LeechSeed:: loadspritegfx ANIM_TAG_SEED playsewithpan SE_M_POISON_POWDER, SOUND_PAN_ATTACKER createsprite gLeechSeedSpriteTemplate, ANIM_TARGET, 2, 15, 0, 0, 24, 35, -32 @@ -18172,7 +18088,7 @@ Move_LEECH_SEED:: waitforvisualfinish end -Move_EMBER:: +gBattleAnimMove_Ember:: loadspritegfx ANIM_TAG_SMALL_EMBER loopsewithpan SE_M_EMBER, SOUND_PAN_ATTACKER, 5, 2 createsprite gEmberSpriteTemplate, ANIM_TARGET, 2, 20, 0, -16, 24, 20, 1 @@ -18211,7 +18127,7 @@ SetImpactContestsBG: changebg BG_IMPACT_CONTESTS goto SetImpactBackgroundRet -Move_MEGA_PUNCH:: +gBattleAnimMove_MegaPunch:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET monbg ANIM_TARGET @@ -18236,7 +18152,7 @@ Move_MEGA_PUNCH:: waitbgfadein end -Move_MEGA_KICK:: +gBattleAnimMove_MegaKick:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET monbg ANIM_TARGET @@ -18261,7 +18177,7 @@ Move_MEGA_KICK:: waitbgfadein end -Move_COMET_PUNCH:: +gBattleAnimMove_CometPunch:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET monbg ANIM_TARGET @@ -18283,7 +18199,7 @@ CometPunchRight: createsprite gFistFootSpriteTemplate, ANIM_ATTACKER, 3, 8, 0, 8, 1, 0 goto CometPunchContinue -Move_SONIC_BOOM:: +gBattleAnimMove_SonicBoom:: loadspritegfx ANIM_TAG_AIR_WAVE loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -18308,7 +18224,7 @@ SonicBoomHit: delay 4 return -Move_THUNDER_SHOCK:: +gBattleAnimMove_ThunderShock:: loadspritegfx ANIM_TAG_SPARK loadspritegfx ANIM_TAG_SPARK_2 createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 0, 0, 6, RGB_BLACK @@ -18329,7 +18245,7 @@ Move_THUNDER_SHOCK:: waitforvisualfinish end -Move_THUNDERBOLT:: +gBattleAnimMove_Thunderbolt:: loadspritegfx ANIM_TAG_SPARK loadspritegfx ANIM_TAG_SHOCK_3 loadspritegfx ANIM_TAG_SPARK_2 @@ -18378,7 +18294,7 @@ Move_THUNDERBOLT:: waitforvisualfinish end -Move_THUNDER_WAVE:: +gBattleAnimMove_ThunderWave:: loadspritegfx ANIM_TAG_SPARK loadspritegfx ANIM_TAG_SPARK_2 loadspritegfx ANIM_TAG_SPARK_H @@ -18399,7 +18315,7 @@ Move_THUNDER_WAVE:: waitforvisualfinish end -Move_BEAT_UP:: +gBattleAnimMove_BeatUp:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET monbg ANIM_TARGET @@ -18433,7 +18349,7 @@ BeatUpRight: playsewithpan SE_M_VITAL_THROW2, SOUND_PAN_TARGET goto BeatUpContinue -Move_STOMP:: +gBattleAnimMove_Stomp:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -18449,13 +18365,13 @@ Move_STOMP:: blendoff end -Move_TAIL_WHIP:: +gBattleAnimMove_TailWhip:: loopsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER, 24, 3 createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 12, 4, 2, 3 waitforvisualfinish end -Move_CUT:: +gBattleAnimMove_Cut:: loadspritegfx ANIM_TAG_CUT monbg ANIM_TARGET setalpha 12, 8 @@ -18469,7 +18385,7 @@ Move_CUT:: waitforvisualfinish end -Move_HIDDEN_POWER:: +gBattleAnimMove_HiddenPower:: loadspritegfx ANIM_TAG_RED_ORB playsewithpan SE_M_TAKE_DOWN, SOUND_PAN_ATTACKER createvisualtask AnimTask_ScaleMonAndRestore, 5, -7, -7, 11, ANIM_ATTACKER, 0 @@ -18499,7 +18415,7 @@ Move_HIDDEN_POWER:: createsprite gHiddenPowerOrbScatterSpriteTemplate, ANIM_TARGET, 2, 224 end -Move_REVERSAL:: +gBattleAnimMove_Reversal:: loadspritegfx ANIM_TAG_BLUE_ORB loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT @@ -18527,7 +18443,7 @@ Move_REVERSAL:: createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 5, FALSE, 1, 8, 1, 0 end -Move_PURSUIT:: +gBattleAnimMove_Pursuit:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET fadetobg BG_DARK @@ -18554,7 +18470,7 @@ PursuitOnSwitchout: createvisualtask AnimTask_ShakeTargetBasedOnMovePowerOrDmg, 5, FALSE, 1, 6, 1, 0 goto PursuitContinue -Move_SPIKE_CANNON:: +gBattleAnimMove_SpikeCannon:: loadspritegfx ANIM_TAG_NEEDLE loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -18578,7 +18494,7 @@ Move_SPIKE_CANNON:: blendoff end -Move_SWORDS_DANCE:: +gBattleAnimMove_SwordsDance:: loadspritegfx ANIM_TAG_SWORD monbg ANIM_ATTACKER setalpha 12, 8 @@ -18593,7 +18509,7 @@ Move_SWORDS_DANCE:: delay 1 end -Move_PSYCH_UP:: +gBattleAnimMove_PsychUp:: loadspritegfx ANIM_TAG_SPIRAL monbg ANIM_ATK_PARTNER createvisualtask AnimTask_BlendColorCycleExclude, 2, 1, 2, 6, 1, 11, RGB_BLACK @@ -18612,7 +18528,7 @@ Move_PSYCH_UP:: waitforvisualfinish end -Move_DIZZY_PUNCH:: +gBattleAnimMove_DizzyPunch:: loadspritegfx ANIM_TAG_DUCK loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT @@ -18649,7 +18565,7 @@ DizzyPunchLunge: createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 7, 1 return -Move_FIRE_SPIN:: +gBattleAnimMove_FireSpin:: loadspritegfx ANIM_TAG_SMALL_EMBER playsewithpan SE_M_SACRED_FIRE2, SOUND_PAN_TARGET createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 47, 1 @@ -18674,7 +18590,7 @@ FireSpinEffect: delay 2 return -Move_FURY_CUTTER:: +gBattleAnimMove_FuryCutter:: loadspritegfx ANIM_TAG_CUT monbg ANIM_TARGET setalpha 12, 8 @@ -18712,7 +18628,7 @@ FuryCutterStrongest: createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG | F_PAL_BATTLERS, 3, 3, RGB(9, 8, 10), 4, RGB_BLACK, 0 goto FuryCutterContinue2 -Move_SELF_DESTRUCT:: +gBattleAnimMove_SelfDestruct:: loadspritegfx ANIM_TAG_EXPLOSION createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_ATTACKER, 1, 0, 9, RGB_RED createvisualtask AnimTask_ShakeMon2, 5, ANIM_PLAYER_LEFT, 6, 0, 38, 1 @@ -18743,7 +18659,7 @@ SelfDestructExplode: delay 6 return -Move_SLAM:: +gBattleAnimMove_Slam:: loadspritegfx ANIM_TAG_SLAM_HIT loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -18767,7 +18683,7 @@ Move_SLAM:: blendoff end -Move_VINE_WHIP:: +gBattleAnimMove_VineWhip:: loadspritegfx ANIM_TAG_WHIP_HIT playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 6 @@ -18778,7 +18694,7 @@ Move_VINE_WHIP:: createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 6, 1 end -Move_DRILL_PECK:: +gBattleAnimMove_DrillPeck:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_WHIRLWIND_LINES createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0 @@ -18797,7 +18713,7 @@ Move_DRILL_PECK:: waitforvisualfinish end -Move_WATERFALL:: +gBattleAnimMove_Waterfall:: loadspritegfx ANIM_TAG_WATER_IMPACT loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_ICE_CRYSTALS @@ -18882,7 +18798,7 @@ RisingWaterHitEffect: createsprite gSmallDriftingBubblesSpriteTemplate, ANIM_ATTACKER, 4, 0, -20 return -Move_EXPLOSION:: +gBattleAnimMove_Explosion:: loadspritegfx ANIM_TAG_EXPLOSION createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 8, 9, RGB(26, 8, 8), 8, RGB_BLACK, 8 createvisualtask AnimTask_ShakeMon2, 5, ANIM_PLAYER_LEFT, 8, 0, 40, 1 @@ -18915,7 +18831,7 @@ Explosion1: delay 6 return -Move_DEFENSE_CURL:: +gBattleAnimMove_DefenseCurl:: loadspritegfx ANIM_TAG_ECLIPSING_ORB loopsewithpan SE_M_TRI_ATTACK, SOUND_PAN_ATTACKER, 18, 3 createvisualtask AnimTask_SetGrayscaleOrOriginalPal, 5, ANIM_ATTACKER, FALSE @@ -18927,7 +18843,7 @@ Move_DEFENSE_CURL:: waitforvisualfinish end -Move_PROTECT:: +gBattleAnimMove_Protect:: loadspritegfx ANIM_TAG_PROTECT monbg ANIM_ATK_PARTNER splitbgprio ANIM_ATTACKER @@ -18937,7 +18853,7 @@ Move_PROTECT:: clearmonbg ANIM_ATK_PARTNER end -Move_DETECT:: +gBattleAnimMove_Detect:: loadspritegfx ANIM_TAG_SPARKLE_4 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 2, 0, 9, RGB_BLACK waitforvisualfinish @@ -18952,7 +18868,7 @@ Move_DETECT:: waitforvisualfinish end -Move_FRUSTRATION:: +gBattleAnimMove_Frustration:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ANGER monbg ANIM_DEF_PARTNER @@ -19057,7 +18973,7 @@ Frustration_Weak: createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 6, 1 goto Frustration_Continue -Move_SAFEGUARD:: +gBattleAnimMove_Safeguard:: loadspritegfx ANIM_TAG_GUARD_RING monbg ANIM_ATK_PARTNER setalpha 8, 8 @@ -19075,7 +18991,7 @@ Move_SAFEGUARD:: blendoff end -Move_PAIN_SPLIT:: +gBattleAnimMove_PainSplit:: loadspritegfx ANIM_TAG_PAIN_SPLIT createsprite gPainSplitProjectileSpriteTemplate, ANIM_ATTACKER, 2, -8, -42, ANIM_ATTACKER createsprite gPainSplitProjectileSpriteTemplate, ANIM_TARGET, 2, -8, -42, ANIM_TARGET @@ -19099,7 +19015,7 @@ Move_PAIN_SPLIT:: createvisualtask AnimTask_PainSplitMovement, 2, ANIM_TARGET, 2 end -Move_VISE_GRIP:: +gBattleAnimMove_ViseGrip:: loadspritegfx ANIM_TAG_CUT loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -19115,7 +19031,7 @@ Move_VISE_GRIP:: blendoff end -Move_GUILLOTINE:: +gBattleAnimMove_Guillotine:: loadspritegfx ANIM_TAG_CUT loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -19140,7 +19056,7 @@ Move_GUILLOTINE:: waitbgfadein end -Move_PAY_DAY:: +gBattleAnimMove_PayDay:: loadspritegfx ANIM_TAG_COIN loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -19158,7 +19074,7 @@ Move_PAY_DAY:: blendoff end -Move_OUTRAGE:: +gBattleAnimMove_Outrage:: loadspritegfx ANIM_TAG_SMALL_EMBER loopsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER, 8, 3 createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_ATTACKER | F_PAL_TARGET), 2, 5, 3, 8, RGB(14, 13, 0) @@ -19203,7 +19119,7 @@ OutrageFlames: createsprite gOutrageFlameSpriteTemplate, ANIM_TARGET, 2, 0, 0, 30, -1280, -768, 3 return -Move_SPARK:: +gBattleAnimMove_Spark:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_SPARK_2 delay 0 @@ -19249,7 +19165,7 @@ Move_SPARK:: waitforvisualfinish end -Move_ATTRACT:: +gBattleAnimMove_Attract:: loadspritegfx ANIM_TAG_RED_HEART loopsewithpan SE_M_CHARM, SOUND_PAN_ATTACKER, 12, 3 createvisualtask AnimTask_SwayMon, 5, 0, 12, 4096, 4, ANIM_ATTACKER @@ -19278,7 +19194,7 @@ Move_ATTRACT:: createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_TARGET, 4, 4, 0, 10, RGB(31, 25, 27) end -Move_GROWTH:: +gBattleAnimMove_Growth:: call GrowthEffect waitforvisualfinish call GrowthEffect @@ -19290,7 +19206,7 @@ GrowthEffect: createvisualtask AnimTask_ScaleMonAndRestore, 5, -3, -3, 16, ANIM_ATTACKER, 0 return -Move_WHIRLWIND:: +gBattleAnimMove_Whirlwind:: loadspritegfx ANIM_TAG_WHIRLWIND_LINES createsprite gWhirlwindLineSpriteTemplate, ANIM_ATTACKER, 2, 0, -8, ANIM_TARGET, 60, 0 createsprite gWhirlwindLineSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, ANIM_TARGET, 60, 1 @@ -19309,7 +19225,7 @@ Move_WHIRLWIND:: waitforvisualfinish end -Move_CONFUSE_RAY:: +gBattleAnimMove_ConfuseRay:: loadspritegfx ANIM_TAG_YELLOW_BALL monbg ANIM_DEF_PARTNER fadetobg BG_GHOST @@ -19329,7 +19245,7 @@ Move_CONFUSE_RAY:: waitbgfadein end -Move_LOCK_ON:: +gBattleAnimMove_LockOn:: loadspritegfx ANIM_TAG_LOCK_ON createsprite gLockOnTargetSpriteTemplate, ANIM_ATTACKER, 40 createsprite gLockOnMoveTargetSpriteTemplate, ANIM_ATTACKER, 40, 1 @@ -19341,7 +19257,7 @@ Move_LOCK_ON:: waitforvisualfinish end -Move_MEAN_LOOK:: +gBattleAnimMove_MeanLook:: loadspritegfx ANIM_TAG_EYE monbg ANIM_DEF_PARTNER playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER @@ -19356,7 +19272,7 @@ Move_MEAN_LOOK:: waitforvisualfinish end -Move_ROCK_THROW:: +gBattleAnimMove_RockThrow:: loadspritegfx ANIM_TAG_ROCKS createsprite gShakeMonOrTerrainSpriteTemplate, ANIM_TARGET, 2, 6, 1, 15, 1 createsprite gFallingRockSpriteTemplate, ANIM_TARGET, 2, 0, 1, 0, 0 @@ -19377,7 +19293,7 @@ Move_ROCK_THROW:: waitforvisualfinish end -Move_ROCK_SLIDE:: +gBattleAnimMove_RockSlide:: loadspritegfx ANIM_TAG_ROCKS monbg ANIM_DEF_PARTNER createsprite gShakeMonOrTerrainSpriteTemplate, ANIM_ATTACKER, 2, 7, 1, 11, 1 @@ -19428,7 +19344,7 @@ RockSlideRocks: delay 2 return -Move_THIEF:: +gBattleAnimMove_Thief:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET delay 1 @@ -19448,7 +19364,7 @@ Move_THIEF:: waitbgfadein end -Move_BUBBLE_BEAM:: +gBattleAnimMove_BubbleBeam:: loadspritegfx ANIM_TAG_BUBBLE loadspritegfx ANIM_TAG_SMALL_BUBBLES monbg ANIM_TARGET @@ -19486,7 +19402,7 @@ BulbblebeamCreateBubbles: delay 3 return -Move_ICY_WIND:: +gBattleAnimMove_IcyWind:: loadspritegfx ANIM_TAG_ICE_CRYSTALS loadspritegfx ANIM_TAG_ICE_SPIKES monbg ANIM_DEF_PARTNER @@ -19522,7 +19438,7 @@ IcyWindSwirlingSnowballs: createsprite gSwirlingSnowballSpriteTemplate, ANIM_TARGET, 40, 0, -5, 0, -5, 72, 1 return -Move_SMOKESCREEN:: +gBattleAnimMove_Smokescreen:: loadspritegfx ANIM_TAG_BLACK_SMOKE loadspritegfx ANIM_TAG_BLACK_BALL playsewithpan SE_M_DOUBLE_TEAM, SOUND_PAN_ATTACKER @@ -19546,7 +19462,7 @@ Move_SMOKESCREEN:: waitforvisualfinish end -Move_CONVERSION:: +gBattleAnimMove_Conversion:: loadspritegfx ANIM_TAG_CONVERSION monbg ANIM_ATK_PARTNER splitbgprio ANIM_ATTACKER @@ -19598,7 +19514,7 @@ Move_CONVERSION:: blendoff end -Move_CONVERSION_2:: +gBattleAnimMove_Conversion2:: loadspritegfx ANIM_TAG_CONVERSION monbg ANIM_DEF_PARTNER splitbgprio_foes ANIM_TARGET @@ -19643,7 +19559,7 @@ Move_CONVERSION_2:: blendoff end -Move_ROLLING_KICK:: +gBattleAnimMove_RollingKick:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -19665,7 +19581,7 @@ Move_ROLLING_KICK:: blendoff end -Move_HEADBUTT:: +gBattleAnimMove_Headbutt:: loadspritegfx ANIM_TAG_IMPACT createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0 playsewithpan SE_M_HEADBUTT, SOUND_PAN_ATTACKER @@ -19681,7 +19597,7 @@ Move_HEADBUTT:: waitforvisualfinish end -Move_HORN_ATTACK:: +gBattleAnimMove_HornAttack:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HORN_HIT createsprite gBowMonSpriteTemplate, ANIM_ATTACKER, 2, 0 @@ -19699,7 +19615,7 @@ Move_HORN_ATTACK:: waitforvisualfinish end -Move_FURY_ATTACK:: +gBattleAnimMove_FuryAttack:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HORN_HIT createvisualtask AnimTask_RotateMonSpriteToSide, 2, 4, 256, ANIM_ATTACKER, 2 @@ -19723,7 +19639,7 @@ FuryAttackLeft: playsewithpan SE_M_HORN_ATTACK, SOUND_PAN_TARGET goto FuryAttackContinue -Move_HORN_DRILL:: +gBattleAnimMove_HornDrill:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HORN_HIT jumpifcontest HornDrillInContest @@ -19790,7 +19706,7 @@ HornDrillInContest: createvisualtask AnimTask_StartSlidingBg, 5, 2304, 768, 0, -1 goto HornDrillContinue -Move_THRASH:: +gBattleAnimMove_Thrash:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET createvisualtask AnimTask_ThrashMoveMonHorizontal, 2 @@ -19808,7 +19724,7 @@ Move_THRASH:: playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_TARGET end -Move_SING:: +gBattleAnimMove_Sing:: loadspritegfx ANIM_TAG_MUSIC_NOTES monbg ANIM_DEF_PARTNER createvisualtask AnimTask_MusicNotesRainbowBlend, 2 @@ -19844,7 +19760,7 @@ Move_SING:: waitforvisualfinish end -Move_LOW_KICK:: +gBattleAnimMove_LowKick:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, 0, 0, 4 @@ -19857,7 +19773,7 @@ Move_LOW_KICK:: createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 2, 0, 1, 4 end -Move_EARTHQUAKE:: +gBattleAnimMove_Earthquake:: createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_RIGHT, 10, 50 createvisualtask AnimTask_HorizontalShake, 5, ANIM_PLAYER_LEFT, 10, 50 playsewithpan SE_M_EARTHQUAKE, 0 @@ -19867,7 +19783,7 @@ Move_EARTHQUAKE:: createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 3, 1, RGB_BLACK, 14, RGB_WHITE, 14 end -Move_FISSURE:: +gBattleAnimMove_Fissure:: loadspritegfx ANIM_TAG_MUD_SAND createvisualtask AnimTask_HorizontalShake, 3, ANIM_PLAYER_RIGHT, 10, 50 createvisualtask AnimTask_HorizontalShake, 3, ANIM_TARGET, 10, 50 @@ -19910,7 +19826,7 @@ FissureDirtPlumeClose: playsewithpan SE_M_DIG, SOUND_PAN_TARGET return -Move_DIG:: +gBattleAnimMove_Dig:: choosetwoturnanim DigSetUp, DigUnleash DigEnd: end @@ -19958,7 +19874,7 @@ DigThrowDirt: delay 32 return -Move_MEDITATE:: +gBattleAnimMove_Meditate:: call SetPsychicBackground createvisualtask AnimTask_MeditateStretchAttacker, 2 playsewithpan SE_M_HEADBUTT, SOUND_PAN_ATTACKER @@ -19968,7 +19884,7 @@ Move_MEDITATE:: call UnsetPsychicBg end -Move_AGILITY:: +gBattleAnimMove_Agility:: monbg ANIM_ATK_PARTNER setalpha 12, 8 createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 24, 6, 4, 4 @@ -19989,7 +19905,7 @@ Move_AGILITY:: delay 1 end -Move_QUICK_ATTACK:: +gBattleAnimMove_QuickAttack:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_ATK_PARTNER setalpha 12, 8 @@ -20006,7 +19922,7 @@ Move_QUICK_ATTACK:: waitforvisualfinish end -Move_RAGE:: +gBattleAnimMove_Rage:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ANGER monbg ANIM_TARGET @@ -20027,7 +19943,7 @@ Move_RAGE:: clearmonbg ANIM_TARGET end -Move_TELEPORT:: +gBattleAnimMove_Teleport:: call SetPsychicBackground createvisualtask AnimTask_Teleport, 2 playsewithpan SE_M_TELEPORT, SOUND_PAN_ATTACKER @@ -20062,12 +19978,12 @@ DoubleTeamAnimRet: delay 1 return -Move_DOUBLE_TEAM:: +gBattleAnimMove_DoubleTeam:: createvisualtask AnimTask_DoubleTeam, 2 call DoubleTeamAnimRet end -Move_MINIMIZE:: +gBattleAnimMove_Minimize:: setalpha 10, 8 createvisualtask AnimTask_Minimize, 2 loopsewithpan SE_M_MINIMIZE, SOUND_PAN_ATTACKER, 34, 3 @@ -20075,7 +19991,7 @@ Move_MINIMIZE:: blendoff end -Move_METRONOME:: +gBattleAnimMove_Metronome:: loadspritegfx ANIM_TAG_FINGER loadspritegfx ANIM_TAG_THOUGHT_BUBBLE createsprite gThoughtBubbleSpriteTemplate, ANIM_ATTACKER, 11, 0, 100 @@ -20087,7 +20003,7 @@ Move_METRONOME:: waitforvisualfinish end -Move_SKULL_BASH:: +gBattleAnimMove_SkullBash:: choosetwoturnanim SkullBashSetUp, SkullBashAttack SkullBashEnd: end @@ -20120,7 +20036,7 @@ SkullBashAttack: createvisualtask AnimTask_SkullBashPosition, 2, 1 goto SkullBashEnd -Move_AMNESIA:: +gBattleAnimMove_Amnesia:: loadspritegfx ANIM_TAG_AMNESIA call SetPsychicBackground delay 8 @@ -20132,7 +20048,7 @@ Move_AMNESIA:: call UnsetPsychicBg end -Move_KINESIS:: +gBattleAnimMove_Kinesis:: loadspritegfx ANIM_TAG_ALERT loadspritegfx ANIM_TAG_BENT_SPOON playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER @@ -20151,7 +20067,7 @@ Move_KINESIS:: call UnsetPsychicBg end -Move_GLARE:: +gBattleAnimMove_Glare:: loadspritegfx ANIM_TAG_SMALL_RED_EYE loadspritegfx ANIM_TAG_EYE_SPARKLE createvisualtask AnimTask_GlareEyeDots, 5, 0 @@ -20169,7 +20085,7 @@ Move_GLARE:: createvisualtask AnimTask_BlendBattleAnimPal, 5, F_PAL_BG, 0, 16, 0, RGB_BLACK end -Move_BARRAGE:: +gBattleAnimMove_Barrage:: loadspritegfx ANIM_TAG_RED_BALL createvisualtask AnimTask_BarrageBall, 3 playsewithpan SE_M_SWAGGER, SOUND_PAN_ATTACKER @@ -20180,7 +20096,7 @@ Move_BARRAGE:: loopsewithpan SE_M_STRENGTH, SOUND_PAN_TARGET, 8, 2 end -Move_SKY_ATTACK:: +gBattleAnimMove_SkyAttack:: choosetwoturnanim SkyAttackSetUp, SkyAttackUnleash SkyAttackEnd: end @@ -20246,20 +20162,20 @@ SkyAttackUnleash: call UnsetSkyBg goto SkyAttackEnd -Move_FLASH:: +gBattleAnimMove_Flash:: playsewithpan SE_M_LEER, SOUND_PAN_ATTACKER createvisualtask AnimTask_Flash, 2 waitforvisualfinish end -Move_SPLASH:: +gBattleAnimMove_Splash:: createvisualtask AnimTask_Splash, 2, ANIM_ATTACKER, 3 delay 8 loopsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER, 38, 3 waitforvisualfinish end -Move_ACID_ARMOR:: +gBattleAnimMove_AcidArmor:: monbg ANIM_ATTACKER setalpha 15, 0 createvisualtask AnimTask_AcidArmor, 2, ANIM_ATTACKER @@ -20270,13 +20186,13 @@ Move_ACID_ARMOR:: delay 1 end -Move_SHARPEN:: +gBattleAnimMove_Sharpen:: loadspritegfx ANIM_TAG_SPHERE_TO_CUBE createsprite gSharpenSphereSpriteTemplate, ANIM_ATTACKER, 2 waitforvisualfinish end -Move_SUPER_FANG:: +gBattleAnimMove_SuperFang:: loadspritegfx ANIM_TAG_FANG_ATTACK createvisualtask AnimTask_ShakeMonInPlace, 2, ANIM_ATTACKER, 1, 0, 20, 1 playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER @@ -20296,7 +20212,7 @@ Move_SUPER_FANG:: blendoff end -Move_SLASH:: +gBattleAnimMove_Slash:: loadspritegfx ANIM_TAG_SLASH createsprite gSlashSliceSpriteTemplate, ANIM_TARGET, 2, 1, -8, 0 playsewithpan SE_M_RAZOR_WIND, SOUND_PAN_TARGET @@ -20307,7 +20223,7 @@ Move_SLASH:: waitforvisualfinish end -Move_STRUGGLE:: +gBattleAnimMove_Struggle:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_MOVEMENT_WAVES monbg ANIM_TARGET @@ -20325,7 +20241,7 @@ Move_STRUGGLE:: blendoff end -Move_SKETCH:: +gBattleAnimMove_Sketch:: loadspritegfx ANIM_TAG_PENCIL monbg ANIM_TARGET createvisualtask AnimTask_SketchDrawMon, 2 @@ -20336,7 +20252,7 @@ Move_SKETCH:: loopsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER, 38, 2 end -Move_NIGHTMARE:: +gBattleAnimMove_Nightmare:: fadetobg BG_GHOST waitbgfadein jumpifcontest NightmareInContest @@ -20358,7 +20274,7 @@ NightmareInContest: waitbgfadein end -Move_FLAIL:: +gBattleAnimMove_Flail:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET setalpha 12, 8 @@ -20373,7 +20289,7 @@ Move_FLAIL:: blendoff end -Move_SPITE:: +gBattleAnimMove_Spite:: fadetobg BG_GHOST playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER waitbgfadein @@ -20407,7 +20323,7 @@ UnsetHighSpeedBg: waitbgfadein return -Move_MACH_PUNCH:: +gBattleAnimMove_MachPunch:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET monbg ANIM_ATK_PARTNER @@ -20427,7 +20343,7 @@ Move_MACH_PUNCH:: call UnsetHighSpeedBg end -Move_FORESIGHT:: +gBattleAnimMove_Foresight:: loadspritegfx ANIM_TAG_MAGNIFYING_GLASS monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET @@ -20446,7 +20362,7 @@ Move_FORESIGHT:: clearmonbg ANIM_DEF_PARTNER end -Move_DESTINY_BOND:: +gBattleAnimMove_DestinyBond:: loadspritegfx ANIM_TAG_WHITE_SHADOW fadetobg BG_GHOST playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER @@ -20466,7 +20382,7 @@ Move_DESTINY_BOND:: clearmonbg 5 end -Move_ENDURE:: +gBattleAnimMove_Endure:: loadspritegfx ANIM_TAG_FOCUS_ENERGY playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call EndureEffect @@ -20491,7 +20407,7 @@ EndureEffect: createsprite gEndureEnergySpriteTemplate, ANIM_ATTACKER, 2, 0, -12, 0, 1 return -Move_CHARM:: +gBattleAnimMove_Charm:: loadspritegfx ANIM_TAG_MAGENTA_HEART createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0 createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 0, 20 @@ -20505,7 +20421,7 @@ Move_CHARM:: waitforvisualfinish end -Move_ROLLOUT:: +gBattleAnimMove_Rollout:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_MUD_SAND loadspritegfx ANIM_TAG_ROCKS @@ -20522,7 +20438,7 @@ Move_ROLLOUT:: blendoff end -Move_FALSE_SWIPE:: +gBattleAnimMove_FalseSwipe:: loadspritegfx ANIM_TAG_SLASH_2 loadspritegfx ANIM_TAG_IMPACT createsprite gFalseSwipeSliceSpriteTemplate, ANIM_TARGET, 2 @@ -20549,7 +20465,7 @@ Move_FALSE_SWIPE:: playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET end -Move_SWAGGER:: +gBattleAnimMove_Swagger:: loadspritegfx ANIM_TAG_BREATH loadspritegfx ANIM_TAG_ANGER createvisualtask AnimTask_GrowAndShrink, 2 @@ -20567,7 +20483,7 @@ Move_SWAGGER:: waitforvisualfinish end -Move_MILK_DRINK:: +gBattleAnimMove_MilkDrink:: loadspritegfx ANIM_TAG_MILK_BOTTLE loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_BLUE_STAR @@ -20588,7 +20504,7 @@ Move_MILK_DRINK:: waitforvisualfinish end -Move_MAGNITUDE:: +gBattleAnimMove_Magnitude:: createvisualtask AnimTask_IsPowerOver99, 2 waitforvisualfinish jumpreteq FALSE, MagnitudeRegular @@ -20610,7 +20526,7 @@ MagnitudeIntense: createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 3, 1, RGB_BLACK, 14, RGB_WHITE, 14 goto MagnitudeEnd -Move_RAPID_SPIN:: +gBattleAnimMove_RapidSpin:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_RAPID_SPIN monbg ANIM_ATTACKER @@ -20629,7 +20545,7 @@ Move_RAPID_SPIN:: clearmonbg ANIM_ATTACKER end -Move_MOONLIGHT:: +gBattleAnimMove_Moonlight:: loadspritegfx ANIM_TAG_MOON loadspritegfx ANIM_TAG_GREEN_SPARKLE loadspritegfx ANIM_TAG_BLUE_STAR @@ -20656,7 +20572,7 @@ Move_MOONLIGHT:: waitforvisualfinish end -Move_EXTREME_SPEED:: +gBattleAnimMove_ExtremeSpeed:: loadspritegfx ANIM_TAG_SPEED_DUST loadspritegfx ANIM_TAG_IMPACT call SetHighSpeedBg @@ -20692,7 +20608,7 @@ Move_EXTREME_SPEED:: delay 1 end -Move_UPROAR:: +gBattleAnimMove_Uproar:: loadspritegfx ANIM_TAG_JAGGED_MUSIC_NOTE loadspritegfx ANIM_TAG_THIN_RING monbg ANIM_DEF_PARTNER @@ -20717,7 +20633,7 @@ Move_UPROAR:: clearmonbg ANIM_DEF_PARTNER end -Move_HEAT_WAVE:: +gBattleAnimMove_HeatWave:: loadspritegfx ANIM_TAG_FLYING_DIRT createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_FLYING_DIRT, 0, 6, 6, RGB_RED createvisualtask AnimTask_LoadSandstormBackground, 5, TRUE @@ -20742,7 +20658,7 @@ Move_HEAT_WAVE:: end @ Also used by Hail weather -Move_HAIL:: +gBattleAnimMove_Hail:: loadspritegfx ANIM_TAG_HAIL loadspritegfx ANIM_TAG_ICE_CRYSTALS createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 3, 0, 6, RGB_BLACK @@ -20753,7 +20669,7 @@ Move_HAIL:: createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BG, 3, 6, 0, RGB_BLACK end -Move_TORMENT:: +gBattleAnimMove_Torment:: loadspritegfx ANIM_TAG_ANGER loadspritegfx ANIM_TAG_THOUGHT_BUBBLE createvisualtask AnimTask_TormentAttacker, 2 @@ -20766,7 +20682,7 @@ Move_TORMENT:: playsewithpan SE_M_SWAGGER2, SOUND_PAN_TARGET end -Move_MEMENTO:: +gBattleAnimMove_Memento:: setalpha 0, 16 delay 1 createvisualtask AnimTask_InitMementoShadow, 2 @@ -20790,14 +20706,14 @@ Move_MEMENTO:: delay 1 end -Move_FACADE:: +gBattleAnimMove_Facade:: loadspritegfx ANIM_TAG_SWEAT_DROP createvisualtask AnimTask_SquishAndSweatDroplets, 2, ANIM_ATTACKER, 3 createvisualtask AnimTask_FacadeColorBlend, 2, ANIM_ATTACKER, 72 loopsewithpan SE_M_SWAGGER, SOUND_PAN_ATTACKER, 24, 3 end -Move_SMELLING_SALTS:: +gBattleAnimMove_SmellingSalts:: loadspritegfx ANIM_TAG_TAG_HAND loadspritegfx ANIM_TAG_SMELLINGSALT_EFFECT createsprite gSmellingSaltsHandSpriteTemplate, ANIM_TARGET, 2, ANIM_TARGET, 0, 2 @@ -20812,7 +20728,7 @@ Move_SMELLING_SALTS:: loopsewithpan SE_M_SWAGGER2, SOUND_PAN_TARGET, 16, 3 end -Move_FOLLOW_ME:: +gBattleAnimMove_FollowMe:: loadspritegfx ANIM_TAG_FINGER createsprite gFollowMeFingerSpriteTemplate, ANIM_ATTACKER, 2, 0 playsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER @@ -20822,7 +20738,7 @@ Move_FOLLOW_ME:: loopsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER, 22, 3 end -Move_CHARGE:: +gBattleAnimMove_Charge:: loadspritegfx ANIM_TAG_ELECTRIC_ORBS loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_ELECTRICITY @@ -20857,7 +20773,7 @@ Move_CHARGE:: blendoff end -Move_TAUNT:: +gBattleAnimMove_Taunt:: loadspritegfx ANIM_TAG_FINGER_2 loadspritegfx ANIM_TAG_THOUGHT_BUBBLE loadspritegfx ANIM_TAG_ANGER @@ -20877,7 +20793,7 @@ Move_TAUNT:: playsewithpan SE_M_SWAGGER2, SOUND_PAN_TARGET end -Move_HELPING_HAND:: +gBattleAnimMove_HelpingHand:: loadspritegfx ANIM_TAG_TAG_HAND createvisualtask AnimTask_HelpingHandAttackerMovement, 5 createsprite gHelpingHandClapSpriteTemplate, ANIM_ATTACKER, 40, 0 @@ -20894,7 +20810,7 @@ Move_HELPING_HAND:: createvisualtask AnimTask_BlendMonInAndOut, 2, ANIM_ATK_PARTNER, RGB_YELLOW, 12, 1, 1 end -Move_ASSIST:: +gBattleAnimMove_Assist:: loadspritegfx ANIM_TAG_PAW_PRINT createsprite gAssistPawprintSpriteTemplate, ANIM_ATTACKER, 50, 112, -16, 140, 128, 36 delay 2 @@ -20911,7 +20827,7 @@ Move_ASSIST:: playsewithpan SE_M_SCRATCH, 0 end -Move_SUPERPOWER:: +gBattleAnimMove_Superpower:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_METEOR loadspritegfx ANIM_TAG_FLAT_ROCK @@ -20945,7 +20861,7 @@ Move_SUPERPOWER:: delay 1 end -Move_RECYCLE:: +gBattleAnimMove_Recycle:: loadspritegfx ANIM_TAG_RECYCLE monbg ANIM_ATTACKER setalpha 0, 16 @@ -20961,7 +20877,7 @@ Move_RECYCLE:: delay 1 end -Move_BRICK_BREAK:: +gBattleAnimMove_BrickBreak:: loadspritegfx ANIM_TAG_BLUE_LIGHT_WALL loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET @@ -21025,7 +20941,7 @@ BrickBreakShatteredWall: clearmonbg ANIM_TARGET end -Move_YAWN:: +gBattleAnimMove_Yawn:: loadspritegfx ANIM_TAG_PINK_CLOUD createvisualtask AnimTask_DeepInhale, 2, ANIM_ATTACKER playsewithpan SE_M_YAWN, SOUND_PAN_ATTACKER @@ -21041,7 +20957,7 @@ Move_YAWN:: playsewithpan SE_M_YAWN, SOUND_PAN_TARGET end -Move_ENDEAVOR:: +gBattleAnimMove_Endeavor:: loadspritegfx ANIM_TAG_SWEAT_DROP loadspritegfx ANIM_TAG_IMPACT createvisualtask AnimTask_SquishAndSweatDroplets, 2, ANIM_ATTACKER, 2 @@ -21057,7 +20973,7 @@ Move_ENDEAVOR:: playsewithpan SE_M_COMET_PUNCH, SOUND_PAN_TARGET end -Move_ERUPTION:: +gBattleAnimMove_Eruption:: loadspritegfx ANIM_TAG_WARM_ROCK createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG | F_PAL_BATTLERS, 2, 0, 4, RGB_RED waitforvisualfinish @@ -21082,7 +20998,7 @@ Move_ERUPTION:: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 40, F_PAL_BG | F_PAL_BATTLERS, 4, 4, 0, RGB_RED end -Move_SKILL_SWAP:: +gBattleAnimMove_SkillSwap:: loadspritegfx ANIM_TAG_BLUEGREEN_ORB call SetPsychicBackground createvisualtask AnimTask_SkillSwap, 3, ANIM_TARGET @@ -21095,7 +21011,7 @@ Move_SKILL_SWAP:: call UnsetPsychicBg end -Move_IMPRISON:: +gBattleAnimMove_Imprison:: loadspritegfx ANIM_TAG_HOLLOW_ORB loadspritegfx ANIM_TAG_X_SIGN call SetPsychicBackground @@ -21112,7 +21028,7 @@ Move_IMPRISON:: call UnsetPsychicBg end -Move_GRUDGE:: +gBattleAnimMove_Grudge:: loadspritegfx ANIM_TAG_PURPLE_FLAME monbg ANIM_ATTACKER splitbgprio_all @@ -21130,7 +21046,7 @@ Move_GRUDGE:: clearmonbg ANIM_ATTACKER end -Move_CAMOUFLAGE:: +gBattleAnimMove_Camouflage:: monbg ANIM_ATK_PARTNER splitbgprio ANIM_ATTACKER setalpha 16, 0 @@ -21148,7 +21064,7 @@ Move_CAMOUFLAGE:: clearmonbg ANIM_ATK_PARTNER end -Move_TAIL_GLOW:: +gBattleAnimMove_TailGlow:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT monbg ANIM_ATTACKER setalpha 12, 8 @@ -21164,7 +21080,7 @@ Move_TAIL_GLOW:: delay 1 end -Move_LUSTER_PURGE:: +gBattleAnimMove_LusterPurge:: loadspritegfx ANIM_TAG_WHITE_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_IMPACT fadetobg BG_PSYCHIC @@ -21207,7 +21123,7 @@ Move_LUSTER_PURGE:: call UnsetPsychicBg end -Move_MIST_BALL:: +gBattleAnimMove_MistBall:: loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_WHITE_FEATHER delay 0 @@ -21227,7 +21143,7 @@ Move_MIST_BALL:: createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 2, 16, 0, RGB_WHITE end -Move_FEATHER_DANCE:: +gBattleAnimMove_FeatherDance:: loadspritegfx ANIM_TAG_WHITE_FEATHER monbg ANIM_DEF_PARTNER splitbgprio_all @@ -21249,7 +21165,7 @@ Move_FEATHER_DANCE:: clearmonbg ANIM_DEF_PARTNER end -Move_TEETER_DANCE:: +gBattleAnimMove_TeeterDance:: loadspritegfx ANIM_TAG_MUSIC_NOTES loadspritegfx ANIM_TAG_DUCK createvisualtask AnimTask_TeeterDanceMovement, 5 @@ -21269,7 +21185,7 @@ Move_TEETER_DANCE:: playsewithpan SE_M_TEETER_DANCE, SOUND_PAN_ATTACKER end -Move_MUD_SPORT:: +gBattleAnimMove_MudSport:: loadspritegfx ANIM_TAG_MUD_SAND createvisualtask AnimTask_Splash, 2, ANIM_ATTACKER, 6 delay 24 @@ -21316,7 +21232,7 @@ Move_MUD_SPORT:: waitplaysewithpan SE_M_BUBBLE2, 0, 10 end -Move_NEEDLE_ARM:: +gBattleAnimMove_NeedleArm:: loadspritegfx ANIM_TAG_GREEN_SPIKE loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET @@ -21359,7 +21275,7 @@ Move_NEEDLE_ARM:: createsprite gNeedleArmSpikeSpriteTemplate, ANIM_TARGET, 2, 1, 1, -17, -17, 10 end -Move_SLACK_OFF:: +gBattleAnimMove_SlackOff:: loadspritegfx ANIM_TAG_BLUE_STAR createvisualtask AnimTask_SlackOffSquish, 2, ANIM_ATTACKER playsewithpan SE_M_YAWN, SOUND_PAN_ATTACKER @@ -21368,7 +21284,7 @@ Move_SLACK_OFF:: waitforvisualfinish end -Move_CRUSH_CLAW:: +gBattleAnimMove_CrushClaw:: loadspritegfx ANIM_TAG_BLUE_LIGHT_WALL loadspritegfx ANIM_TAG_CLAW_SLASH loadspritegfx ANIM_TAG_TORN_METAL @@ -21389,7 +21305,7 @@ Move_CRUSH_CLAW:: clearmonbg ANIM_TARGET end -Move_AROMATHERAPY:: +gBattleAnimMove_Aromatherapy:: playsewithpan SE_M_PETAL_DANCE, 0 loadspritegfx ANIM_TAG_FLOWER loadspritegfx ANIM_TAG_THIN_RING @@ -21428,7 +21344,7 @@ Move_AROMATHERAPY:: waitforvisualfinish end -Move_FAKE_TEARS:: +gBattleAnimMove_FakeTears:: loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_THOUGHT_BUBBLE loadspritegfx ANIM_TAG_MUSIC_NOTES @@ -21451,7 +21367,7 @@ Move_FAKE_TEARS:: waitforvisualfinish end -Move_AIR_CUTTER:: +gBattleAnimMove_AirCutter:: loadspritegfx ANIM_TAG_AIR_WAVE loadspritegfx ANIM_TAG_CUT loadspritegfx ANIM_TAG_IMPACT @@ -21472,7 +21388,7 @@ Move_AIR_CUTTER:: delay 0 end -Move_ODOR_SLEUTH:: +gBattleAnimMove_OdorSleuth:: monbg ANIM_TARGET createvisualtask AnimTask_OdorSleuthMovement, 5 delay 24 @@ -21488,7 +21404,7 @@ Move_ODOR_SLEUTH:: playsewithpan SE_M_LEER, SOUND_PAN_ATTACKER end -Move_GRASS_WHISTLE:: +gBattleAnimMove_GrassWhistle:: loadspritegfx ANIM_TAG_MUSIC_NOTES createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 2, 0, 4, RGB(18, 31, 12) waitforvisualfinish @@ -21525,7 +21441,7 @@ Move_GRASS_WHISTLE:: waitforvisualfinish end -Move_TICKLE:: +gBattleAnimMove_Tickle:: loadspritegfx ANIM_TAG_EYE_SPARKLE createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_ATTACKER, 0, 0, 16, RGB_BLACK waitforvisualfinish @@ -21543,7 +21459,7 @@ Move_TICKLE:: waitforvisualfinish end -Move_WATER_SPOUT:: +gBattleAnimMove_WaterSpout:: loadspritegfx ANIM_TAG_GLOWY_BLUE_ORB loadspritegfx ANIM_TAG_WATER_IMPACT monbg ANIM_DEF_PARTNER @@ -21560,7 +21476,7 @@ Move_WATER_SPOUT:: blendoff end -Move_SHADOW_PUNCH:: +gBattleAnimMove_ShadowPunch:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET fadetobg BG_GHOST @@ -21581,7 +21497,7 @@ Move_SHADOW_PUNCH:: waitbgfadein end -Move_EXTRASENSORY:: +gBattleAnimMove_Extrasensory:: call SetPsychicBackground monbg ANIM_DEF_PARTNER setalpha 12, 8 @@ -21602,7 +21518,7 @@ Move_EXTRASENSORY:: call UnsetPsychicBg end -Move_AERIAL_ACE:: +gBattleAnimMove_AerialAce:: loadspritegfx ANIM_TAG_CUT monbg ANIM_TARGET setalpha 12, 8 @@ -21619,20 +21535,20 @@ Move_AERIAL_ACE:: blendoff end -Move_IRON_DEFENSE:: +gBattleAnimMove_IronDefense:: loopsewithpan SE_SHINY, SOUND_PAN_ATTACKER, 28, 2 createvisualtask AnimTask_MetallicShine, 5, 0, 0, RGB_BLACK createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 8, 2, RGB_WHITEALPHA, 14, RGB_WHITEALPHA, 0 waitforvisualfinish end -Move_BLOCK:: +gBattleAnimMove_Block:: loadspritegfx ANIM_TAG_X_SIGN createsprite gBlockXSpriteTemplate, ANIM_TARGET, 66 playsewithpan SE_M_SWAGGER, SOUND_PAN_TARGET end -Move_HOWL:: +gBattleAnimMove_Howl:: loadspritegfx ANIM_TAG_NOISE_LINE createvisualtask AnimTask_DeepInhale, 2, ANIM_ATTACKER delay 12 @@ -21642,7 +21558,7 @@ Move_HOWL:: delay 30 end -Move_BULK_UP:: +gBattleAnimMove_BulkUp:: loadspritegfx ANIM_TAG_BREATH createvisualtask AnimTask_GrowAndShrink, 2 playsewithpan SE_M_SWAGGER, SOUND_PAN_ATTACKER @@ -21652,7 +21568,7 @@ Move_BULK_UP:: waitforvisualfinish end -Move_COVET:: +gBattleAnimMove_Covet:: loadspritegfx ANIM_TAG_MAGENTA_HEART loadspritegfx ANIM_TAG_ITEM_BAG createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0 @@ -21669,7 +21585,7 @@ Move_COVET:: loopsewithpan SE_M_DIZZY_PUNCH, SOUND_PAN_TARGET, 4, 3 end -Move_VOLT_TACKLE:: +gBattleAnimMove_VoltTackle:: loadspritegfx ANIM_TAG_SPARK loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_ELECTRICITY @@ -21716,7 +21632,7 @@ Move_VOLT_TACKLE:: waitforvisualfinish end -Move_WATER_SPORT:: +gBattleAnimMove_WaterSport:: loadspritegfx ANIM_TAG_GLOWY_BLUE_ORB createvisualtask AnimTask_WaterSport, 5 delay 8 @@ -21729,7 +21645,7 @@ Move_WATER_SPORT:: panse SE_M_SURF, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 end -Move_CALM_MIND:: +gBattleAnimMove_CalmMind:: loadspritegfx ANIM_TAG_THIN_RING monbg ANIM_ATK_PARTNER createvisualtask AnimTask_BlendBattleAnimPalExclude, 5, ANIM_ATTACKER, 0, 0, 16, RGB_BLACK @@ -21752,7 +21668,7 @@ Move_CALM_MIND:: clearmonbg ANIM_ATK_PARTNER end -Move_LEAF_BLADE:: +gBattleAnimMove_LeafBlade:: loadspritegfx ANIM_TAG_LEAF loadspritegfx ANIM_TAG_CROSS_IMPACT createvisualtask AnimTask_LeafBlade, 5 @@ -21777,7 +21693,7 @@ Move_LEAF_BLADE:: blendoff end -Move_DRAGON_DANCE:: +gBattleAnimMove_DragonDance:: loadspritegfx ANIM_TAG_HOLLOW_ORB monbg ANIM_ATTACKER splitbgprio ANIM_ATTACKER @@ -21801,7 +21717,7 @@ Move_DRAGON_DANCE:: delay 1 end -Move_SHOCK_WAVE:: +gBattleAnimMove_ShockWave:: loadspritegfx ANIM_TAG_ELECTRIC_ORBS loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_SPARK @@ -21831,13 +21747,13 @@ Move_SHOCK_WAVE:: blendoff end -Move_HARDEN:: +gBattleAnimMove_Harden:: loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 createvisualtask AnimTask_MetallicShine, 5, 0, 0, RGB_BLACK waitforvisualfinish end -Move_BELLY_DRUM:: +gBattleAnimMove_BellyDrum:: loadspritegfx ANIM_TAG_MUSIC_NOTES loadspritegfx ANIM_TAG_PURPLE_HAND_OUTLINE createvisualtask AnimTask_MusicNotesRainbowBlend, 2 @@ -21880,7 +21796,7 @@ BellyDrumRight: createvisualtask AnimTask_ShakeMon, 2, ANIM_ATTACKER, 0, 8, 2, 1 return -Move_MIND_READER:: +gBattleAnimMove_MindReader:: loadspritegfx ANIM_TAG_TEAL_ALERT loadspritegfx ANIM_TAG_OPENING_EYE loadspritegfx ANIM_TAG_ROUND_WHITE_HALO @@ -21920,7 +21836,7 @@ MindReaderEyeSpikeEffect: delay 2 return -Move_ICE_PUNCH:: +gBattleAnimMove_IcePunch:: monbg ANIM_DEF_PARTNER setalpha 12, 8 loadspritegfx ANIM_TAG_ICE_CRYSTALS @@ -21957,7 +21873,7 @@ Move_ICE_PUNCH:: blendoff end -Move_REST:: +gBattleAnimMove_Rest:: playsewithpan SE_M_SNORE, SOUND_PAN_ATTACKER loadspritegfx ANIM_TAG_LETTER_Z createsprite gSleepLetterZSpriteTemplate, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 @@ -21968,7 +21884,7 @@ Move_REST:: waitforvisualfinish end -Move_CONFUSION:: +gBattleAnimMove_Confusion:: monbg ANIM_DEF_PARTNER call SetPsychicBackground setalpha 8, 8 @@ -21985,7 +21901,7 @@ Move_CONFUSION:: call UnsetPsychicBg end -Move_PSYCHIC:: +gBattleAnimMove_Psychic:: monbg ANIM_DEF_PARTNER call SetPsychicBackground setalpha 8, 8 @@ -22002,7 +21918,7 @@ Move_PSYCHIC:: call UnsetPsychicBg end -Move_FUTURE_SIGHT:: +gBattleAnimMove_FutureSight:: goto FutureSight FutureSightContinue: waitforvisualfinish @@ -22022,7 +21938,7 @@ FutureSight: blendoff goto FutureSightContinue -Move_THUNDER:: +gBattleAnimMove_Thunder:: loadspritegfx ANIM_TAG_LIGHTNING fadetobg BG_THUNDER waitbgfadeout @@ -22080,7 +21996,7 @@ Move_THUNDER:: waitbgfadein end -Move_THUNDER_PUNCH:: +gBattleAnimMove_ThunderPunch:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_LIGHTNING @@ -22113,7 +22029,7 @@ Move_THUNDER_PUNCH:: blendoff end -Move_SACRED_FIRE:: +gBattleAnimMove_SacredFire:: loadspritegfx ANIM_TAG_FIRE loadspritegfx ANIM_TAG_FIRE_PLUME loopsewithpan SE_M_SACRED_FIRE, SOUND_PAN_ATTACKER, 7, 5 @@ -22170,7 +22086,7 @@ Move_SACRED_FIRE:: waitforvisualfinish end -Move_SCRATCH:: +gBattleAnimMove_Scratch:: loadspritegfx ANIM_TAG_SCRATCH monbg ANIM_TARGET setalpha 12, 8 @@ -22183,7 +22099,7 @@ Move_SCRATCH:: waitforvisualfinish end -Move_DRAGON_BREATH:: +gBattleAnimMove_DragonBreath:: loadspritegfx ANIM_TAG_SMALL_EMBER monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET @@ -22217,7 +22133,7 @@ Move_DRAGON_BREATH:: clearmonbg ANIM_DEF_PARTNER end -Move_ROAR:: +gBattleAnimMove_Roar:: loadspritegfx ANIM_TAG_NOISE_LINE monbg ANIM_ATTACKER splitbgprio ANIM_ATTACKER @@ -22245,7 +22161,7 @@ RoarEffect: createsprite gRoarNoiseLineSpriteTemplate, ANIM_ATTACKER, 2, 24, 8, 1 return -Move_GROWL:: +gBattleAnimMove_Growl:: loadspritegfx ANIM_TAG_NOISE_LINE createvisualtask SoundTask_PlayDoubleCry, 2, ANIM_ATTACKER, DOUBLE_CRY_GROWL call RoarEffect @@ -22257,7 +22173,7 @@ Move_GROWL:: waitforvisualfinish end -Move_SNORE:: +gBattleAnimMove_Snore:: loadspritegfx ANIM_TAG_SNORE_Z monbg ANIM_ATK_PARTNER setalpha 8, 8 @@ -22278,7 +22194,7 @@ SnoreEffect: createsprite gSnoreZSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 42, -38, 24, 0, 0 return -Move_LIGHT_SCREEN:: +gBattleAnimMove_LightScreen:: loadspritegfx ANIM_TAG_SPARKLE_3 loadspritegfx ANIM_TAG_GREEN_LIGHT_WALL setalpha 0, 16 @@ -22305,7 +22221,7 @@ SpecialScreenSparkle: createsprite gSpecialScreenSparkleSpriteTemplate, ANIM_ATTACKER, 2, 10, 18, ANIM_ATTACKER, TRUE return -Move_MIRROR_COAT:: +gBattleAnimMove_MirrorCoat:: loadspritegfx ANIM_TAG_SPARKLE_3 loadspritegfx ANIM_TAG_RED_LIGHT_WALL setalpha 0, 16 @@ -22318,7 +22234,7 @@ Move_MIRROR_COAT:: blendoff end -Move_REFLECT:: +gBattleAnimMove_Reflect:: loadspritegfx ANIM_TAG_SPARKLE_4 loadspritegfx ANIM_TAG_BLUE_LIGHT_WALL setalpha 0, 16 @@ -22335,7 +22251,7 @@ Move_REFLECT:: blendoff end -Move_BARRIER:: +gBattleAnimMove_Barrier:: loadspritegfx ANIM_TAG_GRAY_LIGHT_WALL setalpha 0, 16 waitplaysewithpan SE_M_BARRIER, SOUND_PAN_ATTACKER, 15 @@ -22345,7 +22261,7 @@ Move_BARRIER:: blendoff end -Move_BUBBLE:: +gBattleAnimMove_Bubble:: loadspritegfx ANIM_TAG_BUBBLE loadspritegfx ANIM_TAG_SMALL_BUBBLES monbg ANIM_TARGET @@ -22381,7 +22297,7 @@ Move_BUBBLE:: blendoff end -Move_SMOG:: +gBattleAnimMove_Smog:: loadspritegfx ANIM_TAG_PURPLE_GAS_CLOUD monbg ANIM_DEF_PARTNER splitbgprio_all @@ -22408,7 +22324,7 @@ SmogCloud: delay 7 return -Move_FEINT_ATTACK:: +gBattleAnimMove_FeintAttack:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_ATTACKER fadetobg BG_DARK @@ -22444,7 +22360,7 @@ Move_FEINT_ATTACK:: waitbgfadein end -Move_SAND_ATTACK:: +gBattleAnimMove_SandAttack:: loadspritegfx ANIM_TAG_MUD_SAND monbg ANIM_ATK_PARTNER splitbgprio ANIM_ATTACKER @@ -22472,7 +22388,7 @@ SandAttackDirt: delay 2 return -Move_MUD_SLAP:: +gBattleAnimMove_MudSlap:: loadspritegfx ANIM_TAG_MUD_SAND playsewithpan SE_M_SAND_ATTACK, SOUND_PAN_ATTACKER createsprite gSlideMonToOffsetSpriteTemplate, ANIM_ATTACKER, 2, 0, -10, 0, 0, 3 @@ -22495,7 +22411,7 @@ MudSlapMud: delay 2 return -Move_DRAGON_RAGE:: +gBattleAnimMove_DragonRage:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_FIRE_PLUME playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER @@ -22527,7 +22443,7 @@ Move_DRAGON_RAGE:: waitforvisualfinish end -Move_RAIN_DANCE:: +gBattleAnimMove_RainDance:: loadspritegfx ANIM_TAG_RAIN_DROPS playsewithpan SE_M_RAIN_DANCE, SOUND_PAN_ATTACKER createvisualtask AnimTask_BlendBattleAnimPal, 10, (F_PAL_BG | F_PAL_BATTLERS_2), 2, 0, 4, RGB_BLACK @@ -22541,7 +22457,7 @@ Move_RAIN_DANCE:: waitforvisualfinish end -Move_BITE:: +gBattleAnimMove_Bite:: loadspritegfx ANIM_TAG_SHARP_TEETH loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -22558,7 +22474,7 @@ Move_BITE:: delay 1 end -Move_CRUNCH:: +gBattleAnimMove_Crunch:: loadspritegfx ANIM_TAG_SHARP_TEETH loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -22586,7 +22502,7 @@ Move_CRUNCH:: waitbgfadein end -Move_CLAMP:: +gBattleAnimMove_Clamp:: loadspritegfx ANIM_TAG_CLAMP loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -22603,7 +22519,7 @@ Move_CLAMP:: waitforvisualfinish end -Move_ICE_BEAM:: +gBattleAnimMove_IceBeam:: monbg ANIM_TARGET splitbgprio ANIM_TARGET setalpha 12, 8 @@ -22647,13 +22563,13 @@ IceBeamCreateCrystals: delay 1 return -Move_WITHDRAW:: +gBattleAnimMove_Withdraw:: playsewithpan SE_M_HEADBUTT, SOUND_PAN_ATTACKER createvisualtask AnimTask_Withdraw, 5 waitforvisualfinish end -Move_AURORA_BEAM:: +gBattleAnimMove_AuroraBeam:: loadspritegfx ANIM_TAG_RAINBOW_RINGS fadetobg BG_AURORA waitbgfadein @@ -22689,7 +22605,7 @@ AuroraBeamCreateRings: delay 1 return -Move_SOLAR_BEAM:: +gBattleAnimMove_SolarBeam:: loadspritegfx ANIM_TAG_ORBS choosetwoturnanim SolarBeamSetUp, SolarBeamUnleash SolarBeamEnd: @@ -22778,7 +22694,7 @@ SolarBeamUnleash1: delay 4 return -Move_BLIZZARD:: +gBattleAnimMove_Blizzard:: loadspritegfx ANIM_TAG_ICE_CRYSTALS monbg ANIM_DEF_PARTNER call SetHighSpeedBg @@ -22818,7 +22734,7 @@ BlizzardIceCrystals: delay 3 return -Move_POWDER_SNOW:: +gBattleAnimMove_PowderSnow:: loadspritegfx ANIM_TAG_ICE_CRYSTALS monbg ANIM_DEF_PARTNER createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG | F_PAL_BATTLERS, 1, 0, 3, RGB_BLACK @@ -22852,7 +22768,7 @@ PowderSnowSnowballs: delay 3 return -Move_HYDRO_PUMP:: +gBattleAnimMove_HydroPump:: loadspritegfx ANIM_TAG_WATER_ORB loadspritegfx ANIM_TAG_WATER_IMPACT monbg ANIM_DEF_PARTNER @@ -22899,7 +22815,7 @@ HydroPumpHitSplats: createsprite gWaterHitSplatSpriteTemplate, ANIM_ATTACKER, 4, 0, -15, ANIM_TARGET, 1 return -Move_SIGNAL_BEAM:: +gBattleAnimMove_SignalBeam:: loadspritegfx ANIM_TAG_GLOWY_RED_ORB loadspritegfx ANIM_TAG_GLOWY_GREEN_ORB loadspritegfx ANIM_TAG_DUCK @@ -22940,7 +22856,7 @@ SignalBeamOrbs: delay 1 return -Move_ABSORB:: +gBattleAnimMove_Absorb:: loadspritegfx ANIM_TAG_ORBS loadspritegfx ANIM_TAG_BLUE_STAR loadspritegfx ANIM_TAG_IMPACT @@ -22993,7 +22909,7 @@ AbsorbEffect: delay 4 return -Move_MEGA_DRAIN:: +gBattleAnimMove_MegaDrain:: loadspritegfx ANIM_TAG_ORBS loadspritegfx ANIM_TAG_BLUE_STAR loadspritegfx ANIM_TAG_IMPACT @@ -23054,7 +22970,7 @@ MegaDrainAbsorbEffect: delay 4 return -Move_GIGA_DRAIN:: +gBattleAnimMove_GigaDrain:: loadspritegfx ANIM_TAG_ORBS loadspritegfx ANIM_TAG_BLUE_STAR loadspritegfx ANIM_TAG_IMPACT @@ -23123,7 +23039,7 @@ GigaDrainAbsorbEffect: delay 4 return -Move_LEECH_LIFE:: +gBattleAnimMove_LeechLife:: loadspritegfx ANIM_TAG_NEEDLE loadspritegfx ANIM_TAG_ORBS delay 1 @@ -23153,7 +23069,7 @@ Move_LEECH_LIFE:: blendoff end -Move_SYNTHESIS:: +gBattleAnimMove_Synthesis:: loadspritegfx ANIM_TAG_SPARKLE_2 createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 16, RGB(27, 31, 18) playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER @@ -23166,7 +23082,7 @@ Move_SYNTHESIS:: waitforvisualfinish end -Move_TOXIC:: +gBattleAnimMove_Toxic:: loadspritegfx ANIM_TAG_TOXIC_BUBBLE loadspritegfx ANIM_TAG_POISON_BUBBLE call ToxicBubbles @@ -23191,7 +23107,7 @@ ToxicBubbles: delay 15 return -Move_SLUDGE:: +gBattleAnimMove_Sludge:: loadspritegfx ANIM_TAG_POISON_BUBBLE playsewithpan SE_M_BUBBLE3, SOUND_PAN_ATTACKER createsprite gSludgeProjectileSpriteTemplate, ANIM_TARGET, 2, 20, 0, 40, 0 @@ -23202,7 +23118,7 @@ Move_SLUDGE:: waitforvisualfinish end -Move_SLUDGE_BOMB:: +gBattleAnimMove_SludgeBomb:: loadspritegfx ANIM_TAG_POISON_BUBBLE call SludgeBombProjectile call SludgeBombProjectile @@ -23245,7 +23161,7 @@ SludgeBombProjectile: delay 3 return -Move_ACID:: +gBattleAnimMove_Acid:: loadspritegfx ANIM_TAG_POISON_BUBBLE monbg ANIM_DEF_PARTNER createsprite gAcidPoisonBubbleSpriteTemplate, ANIM_TARGET, 2, 20, 0, 40, 1, 0, 0, TRUE @@ -23278,7 +23194,7 @@ Move_ACID:: clearmonbg ANIM_DEF_PARTNER end -Move_BONEMERANG:: +gBattleAnimMove_Bonemerang:: loadspritegfx ANIM_TAG_BONE loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23298,7 +23214,7 @@ Move_BONEMERANG:: blendoff end -Move_BONE_CLUB:: +gBattleAnimMove_BoneClub:: loadspritegfx ANIM_TAG_BONE loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23316,7 +23232,7 @@ Move_BONE_CLUB:: blendoff end -Move_BONE_RUSH:: +gBattleAnimMove_BoneRush:: loadspritegfx ANIM_TAG_BONE loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23332,7 +23248,7 @@ Move_BONE_RUSH:: blendoff end -Move_SPIKES:: +gBattleAnimMove_Spikes:: loadspritegfx ANIM_TAG_SPIKES monbg ANIM_DEF_PARTNER playsewithpan SE_M_JUMP_KICK, SOUND_PAN_ATTACKER @@ -23349,7 +23265,7 @@ Move_SPIKES:: clearmonbg ANIM_DEF_PARTNER end -Move_MEGAHORN:: +gBattleAnimMove_Megahorn:: loadspritegfx ANIM_TAG_HORN_HIT_2 loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23392,7 +23308,7 @@ MegahornInContest: createvisualtask AnimTask_StartSlidingBg, 5, 2304, 768, 0, -1 goto MegahornContinue -Move_GUST:: +gBattleAnimMove_Gust:: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23410,7 +23326,7 @@ Move_GUST:: blendoff end -Move_WING_ATTACK:: +gBattleAnimMove_WingAttack:: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23434,7 +23350,7 @@ Move_WING_ATTACK:: blendoff end -Move_PECK:: +gBattleAnimMove_Peck:: loadspritegfx ANIM_TAG_IMPACT playsewithpan SE_M_HORN_ATTACK, SOUND_PAN_TARGET createvisualtask AnimTask_RotateMonToSideAndRestore, 2, 3, -768, ANIM_TARGET, 2 @@ -23442,7 +23358,7 @@ Move_PECK:: waitforvisualfinish end -Move_AEROBLAST:: +gBattleAnimMove_Aeroblast:: loadspritegfx ANIM_TAG_AIR_WAVE_2 loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23483,7 +23399,7 @@ AeroblastBeam: delay 3 return -Move_WATER_GUN:: +gBattleAnimMove_WaterGun:: loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_WATER_IMPACT monbg ANIM_DEF_PARTNER @@ -23507,7 +23423,7 @@ Move_WATER_GUN:: blendoff end -Move_CRABHAMMER:: +gBattleAnimMove_Crabhammer:: loadspritegfx ANIM_TAG_ICE_CRYSTALS loadspritegfx ANIM_TAG_WATER_IMPACT monbg ANIM_DEF_PARTNER @@ -23544,14 +23460,14 @@ Move_CRABHAMMER:: blendoff end -Move_SURF:: +gBattleAnimMove_Surf:: createvisualtask AnimTask_CreateSurfWave, 2, ANIM_SURF_PAL_SURF delay 24 panse SE_M_SURF, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 waitforvisualfinish end -Move_FLAMETHROWER:: +gBattleAnimMove_Flamethrower:: loadspritegfx ANIM_TAG_SMALL_EMBER monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET @@ -23585,7 +23501,7 @@ FlamethrowerCreateFlames: return @ Also used by Sandstorm weather -Move_SANDSTORM:: +gBattleAnimMove_Sandstorm:: loadspritegfx ANIM_TAG_FLYING_DIRT playsewithpan SE_M_SANDSTORM, 0 createvisualtask AnimTask_LoadSandstormBackground, 5, FALSE @@ -23605,7 +23521,7 @@ Move_SANDSTORM:: createsprite gFlyingSandCrescentSpriteTemplate, ANIM_ATTACKER, 40, 60, 2560, 96, 0 end -Move_WHIRLPOOL:: +gBattleAnimMove_Whirlpool:: loadspritegfx ANIM_TAG_WATER_ORB monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET @@ -23638,7 +23554,7 @@ WhirlpoolEffect: delay 2 return -Move_FLY:: +gBattleAnimMove_Fly:: loadspritegfx ANIM_TAG_ROUND_SHADOW loadspritegfx ANIM_TAG_IMPACT choosetwoturnanim FlySetUp, FlyUnleash @@ -23665,7 +23581,7 @@ FlyUnleash: blendoff goto FlyEnd -Move_BOUNCE:: +gBattleAnimMove_Bounce:: loadspritegfx ANIM_TAG_ROUND_SHADOW loadspritegfx ANIM_TAG_IMPACT choosetwoturnanim BounceSetUp, BounceUnleash @@ -23691,7 +23607,7 @@ BounceUnleash: blendoff goto BounceEnd -Move_KARATE_CHOP:: +gBattleAnimMove_KarateChop:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23708,7 +23624,7 @@ Move_KARATE_CHOP:: blendoff end -Move_CROSS_CHOP:: +gBattleAnimMove_CrossChop:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_CROSS_IMPACT monbg ANIM_DEF_PARTNER @@ -23726,7 +23642,7 @@ Move_CROSS_CHOP:: blendoff end -Move_JUMP_KICK:: +gBattleAnimMove_JumpKick:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23744,7 +23660,7 @@ Move_JUMP_KICK:: blendoff end -Move_HIGH_JUMP_KICK:: +gBattleAnimMove_HighJumpKick:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23770,7 +23686,7 @@ Move_HIGH_JUMP_KICK:: blendoff end -Move_DOUBLE_KICK:: +gBattleAnimMove_DoubleKick:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23783,7 +23699,7 @@ Move_DOUBLE_KICK:: blendoff end -Move_TRIPLE_KICK:: +gBattleAnimMove_TripleKick:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -23816,7 +23732,7 @@ TripleKickCenter: createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 6, 0, 8, 1 goto TripleKickContinue -Move_DYNAMIC_PUNCH:: +gBattleAnimMove_DynamicPunch:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_EXPLOSION @@ -23850,7 +23766,7 @@ Move_DYNAMIC_PUNCH:: blendoff end -Move_COUNTER:: +gBattleAnimMove_Counter:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET monbg ANIM_DEF_PARTNER @@ -23882,7 +23798,7 @@ Move_COUNTER:: blendoff end -Move_VITAL_THROW:: +gBattleAnimMove_VitalThrow:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER setalpha 12, 8 @@ -23905,7 +23821,7 @@ Move_VITAL_THROW:: blendoff end -Move_ROCK_SMASH:: +gBattleAnimMove_RockSmash:: loadspritegfx ANIM_TAG_ROCKS loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET @@ -23932,7 +23848,7 @@ Move_ROCK_SMASH:: blendoff end -Move_SUBMISSION:: +gBattleAnimMove_Submission:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER setalpha 12, 8 @@ -23966,7 +23882,7 @@ SubmissionHit: return @ Also used by Sunny weather -Move_SUNNY_DAY:: +gBattleAnimMove_SunnyDay:: loadspritegfx ANIM_TAG_SUNLIGHT monbg ANIM_ATK_PARTNER setalpha 13, 3 @@ -23989,7 +23905,7 @@ SunnyDayLightRay: delay 6 return -Move_COTTON_SPORE:: +gBattleAnimMove_CottonSpore:: loadspritegfx ANIM_TAG_SPORE monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET @@ -24010,7 +23926,7 @@ CreateCottonSpores: delay 12 return -Move_SPORE:: +gBattleAnimMove_Spore:: loadspritegfx ANIM_TAG_SPORE monbg ANIM_DEF_PARTNER setalpha 12, 8 @@ -24034,7 +23950,7 @@ CreateSpore: delay 12 return -Move_PETAL_DANCE:: +gBattleAnimMove_PetalDance:: loadspritegfx ANIM_TAG_FLOWER loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -24072,7 +23988,7 @@ Move_PETAL_DANCE:: blendoff end -Move_RAZOR_LEAF:: +gBattleAnimMove_RazorLeaf:: loadspritegfx ANIM_TAG_LEAF loadspritegfx ANIM_TAG_RAZOR_LEAF loadspritegfx ANIM_TAG_IMPACT @@ -24112,10 +24028,10 @@ Move_RAZOR_LEAF:: blendoff end -Move_NATURE_POWER:: +gBattleAnimMove_NaturePower:: @ No actual animation, uses the animation of a move from sNaturePowerMoves instead -Move_ANCIENT_POWER:: +gBattleAnimMove_AncientPower:: loadspritegfx ANIM_TAG_ROCKS loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -24148,7 +24064,7 @@ Move_ANCIENT_POWER:: blendoff end -Move_OCTAZOOKA:: +gBattleAnimMove_Octazooka:: loadspritegfx ANIM_TAG_GRAY_SMOKE loadspritegfx ANIM_TAG_BLACK_BALL playsewithpan SE_M_MEGA_KICK2, SOUND_PAN_ATTACKER @@ -24165,7 +24081,7 @@ Move_OCTAZOOKA:: waitforvisualfinish end -Move_MIST:: +gBattleAnimMove_Mist:: loadspritegfx ANIM_TAG_MIST_CLOUD monbg ANIM_ATK_PARTNER setalpha 12, 8 @@ -24189,7 +24105,7 @@ MistCloud: delay 7 return -Move_HAZE:: +gBattleAnimMove_Haze:: waitforvisualfinish playsewithpan SE_M_HAZE, 0 createvisualtask AnimTask_HazeScrollingFog, 5 @@ -24199,7 +24115,7 @@ Move_HAZE:: createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_BATTLERS_2, 1, 16, 0, RGB_BLACK end -Move_FIRE_PUNCH:: +gBattleAnimMove_FirePunch:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_IMPACT @@ -24235,7 +24151,7 @@ FireSpreadEffect: createsprite gFireSpreadSpriteTemplate, ANIM_TARGET, 1, 0, 10, 112, -128, 40 return -Move_LEER:: +gBattleAnimMove_Leer:: loadspritegfx ANIM_TAG_LEER monbg ANIM_ATTACKER splitbgprio ANIM_ATTACKER @@ -24254,7 +24170,7 @@ Move_LEER:: waitforvisualfinish end -Move_DREAM_EATER:: +gBattleAnimMove_DreamEater:: loadspritegfx ANIM_TAG_ORBS loadspritegfx ANIM_TAG_BLUE_STAR monbg ANIM_DEF_PARTNER @@ -24321,7 +24237,7 @@ DreamEaterAbsorb: delay 4 return -Move_POISON_GAS:: +gBattleAnimMove_PoisonGas:: loadspritegfx ANIM_TAG_PURPLE_GAS_CLOUD loadspritegfx ANIM_TAG_POISON_BUBBLE delay 0 @@ -24359,7 +24275,7 @@ Move_POISON_GAS:: delay 0 end -Move_BIND:: +gBattleAnimMove_Bind:: createvisualtask AnimTask_SwayMon, 5, 0, 6, 3328, 4, ANIM_ATTACKER goto BindWrap @@ -24374,11 +24290,11 @@ BindWrapSqueezeTarget: delay 16 return -Move_WRAP:: +gBattleAnimMove_Wrap:: createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, ANIM_ATTACKER, 6, 4, 2, 4 goto BindWrap -Move_PSYBEAM:: +gBattleAnimMove_Psybeam:: loadspritegfx ANIM_TAG_GOLD_RING playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER call SetPsychicBackground @@ -24405,7 +24321,7 @@ PsybeamRings: delay 4 return -Move_HYPNOSIS:: +gBattleAnimMove_Hypnosis:: loadspritegfx ANIM_TAG_GOLD_RING call SetPsychicBackground call HypnosisRings @@ -24423,7 +24339,7 @@ HypnosisRings: delay 6 return -Move_PSYWAVE:: +gBattleAnimMove_Psywave:: loadspritegfx ANIM_TAG_BLUE_RING playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER call SetPsychicBackground @@ -24447,7 +24363,7 @@ PsywaveRings: delay 4 return -Move_ZAP_CANNON:: +gBattleAnimMove_ZapCannon:: loadspritegfx ANIM_TAG_BLACK_BALL_2 loadspritegfx ANIM_TAG_SPARK_2 playsewithpan SE_M_THUNDER_WAVE, SOUND_PAN_ATTACKER @@ -24468,7 +24384,7 @@ Move_ZAP_CANNON:: waitforvisualfinish end -Move_STEEL_WING:: +gBattleAnimMove_SteelWing:: loadspritegfx ANIM_TAG_GUST loadspritegfx ANIM_TAG_IMPACT loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 @@ -24495,7 +24411,7 @@ Move_STEEL_WING:: blendoff end -Move_IRON_TAIL:: +gBattleAnimMove_IronTail:: loadspritegfx ANIM_TAG_IMPACT loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 createvisualtask AnimTask_MetallicShine, 5, 1, 0, RGB_BLACK @@ -24514,7 +24430,7 @@ Move_IRON_TAIL:: waitforvisualfinish end -Move_POISON_TAIL:: +gBattleAnimMove_PoisonTail:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_POISON_BUBBLE loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 @@ -24535,7 +24451,7 @@ Move_POISON_TAIL:: waitforvisualfinish end -Move_METAL_CLAW:: +gBattleAnimMove_MetalClaw:: loadspritegfx ANIM_TAG_CLAW_SLASH loopsewithpan SE_M_HARDEN, SOUND_PAN_ATTACKER, 28, 2 createvisualtask AnimTask_MetallicShine, 5, 0, 0, RGB_BLACK @@ -24556,7 +24472,7 @@ Move_METAL_CLAW:: waitforvisualfinish end -Move_NIGHT_SHADE:: +gBattleAnimMove_NightShade:: monbg ANIM_ATTACKER splitbgprio ANIM_ATTACKER playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER @@ -24575,7 +24491,7 @@ Move_NIGHT_SHADE:: waitbgfadein end -Move_EGG_BOMB:: +gBattleAnimMove_EggBomb:: loadspritegfx ANIM_TAG_EXPLOSION loadspritegfx ANIM_TAG_LARGE_FRESH_EGG playsewithpan SE_M_TAIL_WHIP, SOUND_PAN_ATTACKER @@ -24600,7 +24516,7 @@ Move_EGG_BOMB:: waitforvisualfinish end -Move_SHADOW_BALL:: +gBattleAnimMove_ShadowBall:: loadspritegfx ANIM_TAG_SHADOW_BALL fadetobg BG_GHOST waitbgfadein @@ -24615,7 +24531,7 @@ Move_SHADOW_BALL:: waitbgfadein end -Move_LICK:: +gBattleAnimMove_Lick:: loadspritegfx ANIM_TAG_LICK delay 15 playsewithpan SE_M_LICK, SOUND_PAN_TARGET @@ -24624,7 +24540,7 @@ Move_LICK:: waitforvisualfinish end -Move_FOCUS_ENERGY:: +gBattleAnimMove_FocusEnergy:: loadspritegfx ANIM_TAG_FOCUS_ENERGY playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call EndureEffect @@ -24637,7 +24553,7 @@ Move_FOCUS_ENERGY:: waitforvisualfinish end -Move_BIDE:: +gBattleAnimMove_Bide:: choosetwoturnanim BideSetUp, BideUnleash end BideSetUp: @@ -24677,7 +24593,7 @@ BideUnleash: blendoff end -Move_STRING_SHOT:: +gBattleAnimMove_StringShot:: loadspritegfx ANIM_TAG_STRING loadspritegfx ANIM_TAG_WEB_THREAD monbg ANIM_DEF_PARTNER @@ -24722,7 +24638,7 @@ StringShotThread: delay 1 return -Move_SPIDER_WEB:: +gBattleAnimMove_SpiderWeb:: loadspritegfx ANIM_TAG_SPIDER_WEB loadspritegfx ANIM_TAG_WEB_THREAD monbg ANIM_DEF_PARTNER @@ -24759,7 +24675,7 @@ SpiderWebThread: delay 1 return -Move_RAZOR_WIND:: +gBattleAnimMove_RazorWind:: choosetwoturnanim RazorWindSetUp, RazorWindUnleash RazorWindEnd: waitforvisualfinish @@ -24797,7 +24713,7 @@ RazorWindUnleash: blendoff goto RazorWindEnd -Move_DISABLE:: +gBattleAnimMove_Disable:: loadspritegfx ANIM_TAG_SPARKLE_4 monbg ANIM_TARGET splitbgprio ANIM_TARGET @@ -24813,7 +24729,7 @@ Move_DISABLE:: blendoff end -Move_RECOVER:: +gBattleAnimMove_Recover:: loadspritegfx ANIM_TAG_ORBS loadspritegfx ANIM_TAG_BLUE_STAR monbg ANIM_ATK_PARTNER @@ -24848,7 +24764,7 @@ RecoverAbsorbEffect: delay 3 return -Move_MIMIC:: +gBattleAnimMove_Mimic:: loadspritegfx ANIM_TAG_ORBS setalpha 11, 5 monbg_static ANIM_DEF_PARTNER @@ -24867,7 +24783,7 @@ Move_MIMIC:: blendoff end -Move_CONSTRICT:: +gBattleAnimMove_Constrict:: loadspritegfx ANIM_TAG_TENDRILS loopsewithpan SE_M_SCRATCH, SOUND_PAN_TARGET, 6, 4 createsprite gConstrictBindingSpriteTemplate, ANIM_TARGET, 4, 0, 16, 0, 2 @@ -24884,7 +24800,7 @@ Move_CONSTRICT:: waitforvisualfinish end -Move_CURSE:: +gBattleAnimMove_Curse:: choosetwoturnanim CurseGhost, CurseStats CurseGhost: loadspritegfx ANIM_TAG_NAIL @@ -24929,7 +24845,7 @@ CurseStats1: createvisualtask AnimTask_BlendColorCycle, 5, F_PAL_ATTACKER, 4, 2, 0, 10, RGB_RED return -Move_SOFT_BOILED:: +gBattleAnimMove_SoftBoiled:: loadspritegfx ANIM_TAG_BREAKING_EGG loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_BLUE_STAR @@ -24952,7 +24868,7 @@ Move_SOFT_BOILED:: call HealingEffect2 end -Move_HEAL_BELL:: +gBattleAnimMove_HealBell:: loadspritegfx ANIM_TAG_BELL loadspritegfx ANIM_TAG_MUSIC_NOTES_2 loadspritegfx ANIM_TAG_THIN_RING @@ -25004,7 +24920,7 @@ HealBellRing: playsewithpan SE_M_HEAL_BELL, SOUND_PAN_ATTACKER return -Move_FAKE_OUT:: +gBattleAnimMove_FakeOut:: playsewithpan SE_M_FLATTER, 0 createvisualtask AnimTask_FakeOut, 5 waitforvisualfinish @@ -25015,7 +24931,7 @@ Move_FAKE_OUT:: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 3, 16, 0, RGB_WHITE end -Move_SCARY_FACE:: +gBattleAnimMove_ScaryFace:: loadspritegfx ANIM_TAG_EYE_SPARKLE createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, (F_PAL_BG | F_PAL_ATK_SIDE | F_PAL_DEF_PARTNER), 3, 0, 16, RGB_BLACK playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER @@ -25033,7 +24949,7 @@ Move_SCARY_FACE:: waitforvisualfinish end -Move_SWEET_KISS:: +gBattleAnimMove_SweetKiss:: loadspritegfx ANIM_TAG_RED_HEART loadspritegfx ANIM_TAG_ANGEL createsprite gAngelSpriteTemplate, ANIM_TARGET, 2, 16, -48 @@ -25052,7 +24968,7 @@ Move_SWEET_KISS:: createsprite gRedHeartBurstSpriteTemplate, ANIM_TARGET, 3, -384, -31 end -Move_LOVELY_KISS:: +gBattleAnimMove_LovelyKiss:: loadspritegfx ANIM_TAG_PINK_HEART loadspritegfx ANIM_TAG_DEVIL createsprite gDevilSpriteTemplate, ANIM_TARGET, 2, 0, -24 @@ -25065,7 +24981,7 @@ Move_LOVELY_KISS:: createsprite gPinkHeartSpriteTemplate, ANIM_TARGET, 3, -128, -22 end -Move_FURY_SWIPES:: +gBattleAnimMove_FurySwipes:: loadspritegfx ANIM_TAG_SWIPE createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 5, 5 delay 4 @@ -25080,7 +24996,7 @@ Move_FURY_SWIPES:: createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 4, 0, 7, 1 end -Move_INGRAIN:: +gBattleAnimMove_Ingrain:: loadspritegfx ANIM_TAG_ROOTS loadspritegfx ANIM_TAG_ORBS createsprite gIngrainRootSpriteTemplate, ANIM_ATTACKER, 2, 16, 26, -1, 2, 150 @@ -25110,7 +25026,7 @@ Move_INGRAIN:: waitforvisualfinish end -Move_PRESENT:: +gBattleAnimMove_Present:: loadspritegfx ANIM_TAG_ITEM_BAG createvisualtask AnimTask_IsHealingMove, 2 createsprite gPresentSpriteTemplate, ANIM_TARGET, 2, 0, -5, 10, 2, -1 @@ -25170,14 +25086,14 @@ PresentHeal: call HealingEffect2 end -Move_BATON_PASS:: +gBattleAnimMove_BatonPass:: loadspritegfx ANIM_TAG_POKEBALL playsewithpan SE_M_BATON_PASS, SOUND_PAN_ATTACKER createvisualtask AnimTask_BlendColorCycle, 2, (F_PAL_BG | F_PAL_BATTLERS), 1, 2, 0, 11, RGB(31, 22, 30) createsprite gBatonPassPokeballSpriteTemplate, ANIM_ATTACKER, 2 end -Move_PERISH_SONG:: +gBattleAnimMove_PerishSong:: loadspritegfx ANIM_TAG_MUSIC_NOTES_2 createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 0, 0, 0 createsprite gPerishSongMusicNoteSpriteTemplate, ANIM_ATTACKER, 4, 1, 1, 16 @@ -25213,7 +25129,7 @@ Move_PERISH_SONG:: waitforvisualfinish end -Move_SLEEP_TALK:: +gBattleAnimMove_SleepTalk:: loadspritegfx ANIM_TAG_LETTER_Z createvisualtask AnimTask_SwayMon, 5, 0, 4, 4096, 2, ANIM_ATTACKER delay 20 @@ -25240,7 +25156,7 @@ Move_SLEEP_TALK:: waitforvisualfinish end -Move_HYPER_FANG:: +gBattleAnimMove_HyperFang:: loadspritegfx ANIM_TAG_FANG_ATTACK playsewithpan SE_M_BITE, SOUND_PAN_TARGET delay 1 @@ -25271,7 +25187,7 @@ HyperFangInContest: fadetobg BG_IMPACT_CONTESTS goto HyperFangContinue -Move_TRI_ATTACK:: +gBattleAnimMove_TriAttack:: loadspritegfx ANIM_TAG_TRI_ATTACK_TRIANGLE createsprite gTriAttackTriangleSpriteTemplate, ANIM_TARGET, 2, 16, 0 playsewithpan SE_M_TRI_ATTACK, SOUND_PAN_ATTACKER @@ -25320,7 +25236,7 @@ Move_TRI_ATTACK:: waitforvisualfinish end -Move_WILL_O_WISP:: +gBattleAnimMove_WillOWisp:: loadspritegfx ANIM_TAG_WISP_FIRE loadspritegfx ANIM_TAG_WISP_ORB monbg ANIM_DEF_PARTNER @@ -25351,7 +25267,7 @@ Move_WILL_O_WISP:: clearmonbg ANIM_DEF_PARTNER end -Move_ENCORE:: +gBattleAnimMove_Encore:: loadspritegfx ANIM_TAG_SPOTLIGHT loadspritegfx ANIM_TAG_TAG_HAND createvisualtask AnimTask_CreateSpotlight, 2 @@ -25371,7 +25287,7 @@ Move_ENCORE:: createvisualtask AnimTask_RemoveSpotlight, 2 end -Move_TRICK:: +gBattleAnimMove_Trick:: loadspritegfx ANIM_TAG_ITEM_BAG loadspritegfx ANIM_TAG_SPEED_DUST createsprite gTrickBagSpriteTemplate, ANIM_ATTACKER, 2, -40, 80 @@ -25399,7 +25315,7 @@ Move_TRICK:: waitforvisualfinish end -Move_WISH:: +gBattleAnimMove_Wish:: loadspritegfx ANIM_TAG_GOLD_STARS loadspritegfx ANIM_TAG_SPARKLE_2 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 3, 0, 10, RGB_BLACK @@ -25415,7 +25331,7 @@ Move_WISH:: waitforvisualfinish end -Move_STOCKPILE:: +gBattleAnimMove_Stockpile:: loadspritegfx ANIM_TAG_GRAY_ORB playsewithpan SE_M_MEGA_KICK, SOUND_PAN_ATTACKER createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 8, 1, 0, 12, RGB_WHITE @@ -25444,7 +25360,7 @@ StockpileAbsorb: delay 1 return -Move_SPIT_UP:: +gBattleAnimMove_SpitUp:: loadspritegfx ANIM_TAG_RED_ORB_2 loadspritegfx ANIM_TAG_IMPACT playsewithpan SE_M_TAKE_DOWN, SOUND_PAN_ATTACKER @@ -25491,7 +25407,7 @@ SpitUpStrongest: createsprite gSpitUpOrbSpriteTemplate, ANIM_ATTACKER, 2, 240 goto SpitUpContinue -Move_SWALLOW:: +gBattleAnimMove_Swallow:: loadspritegfx ANIM_TAG_BLUE_ORB loadspritegfx ANIM_TAG_BLUE_STAR playsewithpan SE_M_TAKE_DOWN, SOUND_PAN_ATTACKER @@ -25527,7 +25443,7 @@ SwallowBest: call SwallowEffect goto SwallowContinue -Move_TRANSFORM:: +gBattleAnimMove_Transform:: monbg ANIM_ATTACKER playsewithpan SE_M_TELEPORT, SOUND_PAN_ATTACKER waitplaysewithpan SE_M_MINIMIZE, SOUND_PAN_ATTACKER, 48 @@ -25536,7 +25452,7 @@ Move_TRANSFORM:: clearmonbg ANIM_ATTACKER end -Move_MORNING_SUN:: +gBattleAnimMove_MorningSun:: loadspritegfx ANIM_TAG_GREEN_STAR loadspritegfx ANIM_TAG_BLUE_STAR createvisualtask AnimTask_MorningSunLightBeam, 5 @@ -25568,7 +25484,7 @@ MorningSunStar: delay 5 return -Move_SWEET_SCENT:: +gBattleAnimMove_SweetScent:: loadspritegfx ANIM_TAG_PINK_PETAL playsewithpan SE_M_SWEET_SCENT, SOUND_PAN_ATTACKER createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 100, 0, 100 @@ -25606,7 +25522,7 @@ SweetScentEffect: delay 2 return -Move_HYPER_BEAM:: +gBattleAnimMove_HyperBeam:: loadspritegfx ANIM_TAG_ORBS createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 4, 0, 16, RGB_BLACK waitforvisualfinish @@ -25656,7 +25572,7 @@ HyperBeamOrbs: delay 1 return -Move_FLATTER:: +gBattleAnimMove_Flatter:: loadspritegfx ANIM_TAG_SPOTLIGHT loadspritegfx ANIM_TAG_CONFETTI createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_M_ENCORE2, SOUND_PAN_TARGET @@ -25701,7 +25617,7 @@ CreateFlatterConfetti: createsprite gFlatterConfettiSpriteTemplate, ANIM_ATTACKER, 40, ANIM_TARGET return -Move_ROLE_PLAY:: +gBattleAnimMove_RolePlay:: monbg ANIM_ATK_PARTNER createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 2, 0, 16, RGB_WHITE createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 2, 0, 10, RGB_BLACK @@ -25716,7 +25632,7 @@ Move_ROLE_PLAY:: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 2, 10, 0, RGB_BLACK end -Move_REFRESH:: +gBattleAnimMove_Refresh:: loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_SPARKLE_2 playsewithpan SE_M_STAT_INCREASE, SOUND_PAN_ATTACKER @@ -25730,7 +25646,7 @@ Move_REFRESH:: createsprite gThinRingExpandingSpriteTemplate, ANIM_ATTACKER, 3, 0, 0, 0, 0 end -Move_BLAZE_KICK:: +gBattleAnimMove_BlazeKick:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_SMALL_EMBER @@ -25751,7 +25667,7 @@ Move_BLAZE_KICK:: blendoff end -Move_HYPER_VOICE:: +gBattleAnimMove_HyperVoice:: loadspritegfx ANIM_TAG_THIN_RING createvisualtask SoundTask_PlayCryWithEcho, 5, FALSE call HyperVoiceEffect @@ -25772,7 +25688,7 @@ HyperVoiceEffect: createvisualtask SoundTask_WaitForCry, 5 return -Move_SAND_TOMB:: +gBattleAnimMove_SandTomb:: loadspritegfx ANIM_TAG_MUD_SAND createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, F_PAL_TARGET, 2, 0, 7, RGB(19, 17, 0) createvisualtask AnimTask_ShakeMon, 5, ANIM_TARGET, 0, 2, 43, 1 @@ -25800,7 +25716,7 @@ SandTombSwirlingDirt: delay 2 return -Move_SHEER_COLD:: +gBattleAnimMove_SheerCold:: fadetobg BG_ICE waitbgfadeout playsewithpan SE_M_ICY_WIND, 0 @@ -25818,7 +25734,7 @@ Move_SHEER_COLD:: waitbgfadein end -Move_ARM_THRUST:: +gBattleAnimMove_ArmThrust:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT splitbgprio ANIM_TARGET @@ -25845,13 +25761,13 @@ ArmThrustLeft: createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 2, -8, 0, ANIM_TARGET, 2 goto ArmThrustContinue -Move_MUDDY_WATER:: +gBattleAnimMove_MuddyWater:: panse SE_M_WHIRLPOOL, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 createvisualtask AnimTask_CreateSurfWave, 2, ANIM_SURF_PAL_MUDDY_WATER waitforvisualfinish end -Move_BULLET_SEED:: +gBattleAnimMove_BulletSeed:: loadspritegfx ANIM_TAG_SEED createsprite gBulletSeedSpriteTemplate, ANIM_TARGET, 2, 20, 0 delay 5 @@ -25876,7 +25792,7 @@ Move_BULLET_SEED:: waitforvisualfinish end -Move_DRAGON_CLAW:: +gBattleAnimMove_DragonClaw:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_CLAW_SLASH playsewithpan SE_M_SACRED_FIRE2, SOUND_PAN_ATTACKER @@ -25936,7 +25852,7 @@ DragonClawFireSpiral: return end -Move_MUD_SHOT:: +gBattleAnimMove_MudShot:: loadspritegfx ANIM_TAG_BROWN_ORB monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET @@ -25968,7 +25884,7 @@ MudShotOrbs: delay 2 return -Move_METEOR_MASH:: +gBattleAnimMove_MeteorMash:: loadspritegfx ANIM_TAG_GOLD_STARS loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET @@ -25993,7 +25909,7 @@ Move_METEOR_MASH:: waitforvisualfinish end -Move_REVENGE:: +gBattleAnimMove_Revenge:: loadspritegfx ANIM_TAG_PURPLE_SCRATCH monbg ANIM_TARGET setalpha 12, 8 @@ -26022,7 +25938,7 @@ Move_REVENGE:: blendoff end -Move_POISON_FANG:: +gBattleAnimMove_PoisonFang:: loadspritegfx ANIM_TAG_FANG_ATTACK loadspritegfx ANIM_TAG_POISON_BUBBLE playsewithpan SE_M_BITE, SOUND_PAN_TARGET @@ -26035,12 +25951,12 @@ Move_POISON_FANG:: waitforvisualfinish end -Move_SUBSTITUTE:: +gBattleAnimMove_Substitute:: playsewithpan SE_M_ATTRACT, SOUND_PAN_ATTACKER createvisualtask AnimTask_MonToSubstitute, 2 end -Move_FRENZY_PLANT:: +gBattleAnimMove_FrenzyPlant:: loadspritegfx ANIM_TAG_ROOTS loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET @@ -26100,7 +26016,7 @@ Move_FRENZY_PLANT:: blendoff end -Move_METAL_SOUND:: +gBattleAnimMove_MetalSound:: loadspritegfx ANIM_TAG_METAL_SOUND_WAVES monbg ANIM_DEF_PARTNER splitbgprio_foes ANIM_TARGET @@ -26120,7 +26036,7 @@ MetalSoundRings: delay 2 return -Move_FOCUS_PUNCH:: +gBattleAnimMove_FocusPunch:: goto FocusPunch FocusPunchEnd: waitforvisualfinish @@ -26168,7 +26084,7 @@ FocusPunchInContest: fadetobg BG_IMPACT_CONTESTS goto FocusPunchContinue -Move_RETURN:: +gBattleAnimMove_Return:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER setalpha 12, 8 @@ -26305,7 +26221,7 @@ ReturnStrongestHit: waitforvisualfinish return -Move_COSMIC_POWER:: +gBattleAnimMove_CosmicPower:: loadspritegfx ANIM_TAG_SPARKLE_2 createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_M_COSMIC_POWER, 0 playsewithpan SE_M_COSMIC_POWER, 0 @@ -26330,7 +26246,7 @@ Move_COSMIC_POWER:: waitforvisualfinish end -Move_BLAST_BURN:: +gBattleAnimMove_BlastBurn:: loadspritegfx ANIM_TAG_FIRE_PLUME loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -26375,7 +26291,7 @@ Move_BLAST_BURN:: blendoff end -Move_ROCK_TOMB:: +gBattleAnimMove_RockTomb:: loadspritegfx ANIM_TAG_X_SIGN loadspritegfx ANIM_TAG_ROCKS createvisualtask AnimTask_ShakeBattleTerrain, 2, 2, 0, 10, 1 @@ -26433,7 +26349,7 @@ UnsetBugBg: waitbgfadein return -Move_SILVER_WIND:: +gBattleAnimMove_SilverWind:: loadspritegfx ANIM_TAG_SPARKLE_6 panse SE_M_GUST, SOUND_PAN_ATTACKER, SOUND_PAN_TARGET, +2, 0 playsewithpan SE_M_MORNING_SUN, 0 @@ -26472,12 +26388,12 @@ Move_SILVER_WIND:: call UnsetBugBg end -Move_SNATCH:: +gBattleAnimMove_Snatch:: playsewithpan SE_M_TAKE_DOWN, SOUND_PAN_ATTACKER createvisualtask AnimTask_WindUpLunge, 5, ANIM_ATTACKER, -12, 4, 10, 10, 12, 6 end -Move_DIVE:: +gBattleAnimMove_Dive:: loadspritegfx ANIM_TAG_SPLASH loadspritegfx ANIM_TAG_SWEAT_BEAD choosetwoturnanim DiveSetUp, DiveAttack @@ -26522,7 +26438,7 @@ DiveAttackWaterDroplets: createsprite gSprayWaterDropletSpriteTemplate, ANIM_TARGET, 5, 1, 1 return -Move_ROCK_BLAST:: +gBattleAnimMove_RockBlast:: loadspritegfx ANIM_TAG_ROCKS loadspritegfx ANIM_TAG_IMPACT createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 6 @@ -26540,7 +26456,7 @@ Move_ROCK_BLAST:: waitforvisualfinish end -Move_OVERHEAT:: +gBattleAnimMove_Overheat:: loadspritegfx ANIM_TAG_SMALL_EMBER loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER @@ -26621,7 +26537,7 @@ Move_OVERHEAT:: waitforvisualfinish end -Move_HYDRO_CANNON:: +gBattleAnimMove_HydroCannon:: loadspritegfx ANIM_TAG_WATER_ORB loadspritegfx ANIM_TAG_WATER_IMPACT monbg ANIM_DEF_PARTNER @@ -26663,7 +26579,7 @@ HydroCannonBeam: createsprite gHydroCannonBeamSpriteTemplate, ANIM_TARGET, 2, 10, -10, 0, 0, 15, 257 return -Move_ASTONISH:: +gBattleAnimMove_Astonish:: loadspritegfx ANIM_TAG_SWEAT_BEAD playsewithpan SE_M_ENCORE, SOUND_PAN_ATTACKER createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 6 @@ -26676,7 +26592,7 @@ Move_ASTONISH:: waitforvisualfinish end -Move_SEISMIC_TOSS:: +gBattleAnimMove_SeismicToss:: loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ROCKS setarg 7, 0 @@ -26743,7 +26659,7 @@ SeismicTossRockScatter2: createsprite gRockScatterSpriteTemplate, ANIM_TARGET, 2, 12, 30, 4, 3 return -Move_MAGIC_COAT:: +gBattleAnimMove_MagicCoat:: loadspritegfx ANIM_TAG_ORANGE_LIGHT_WALL setalpha 0, 16 waitplaysewithpan SE_M_BARRIER, SOUND_PAN_ATTACKER, 15 @@ -26753,7 +26669,7 @@ Move_MAGIC_COAT:: blendoff end -Move_WATER_PULSE:: +gBattleAnimMove_WaterPulse:: loadspritegfx ANIM_TAG_SMALL_BUBBLES loadspritegfx ANIM_TAG_BLUE_RING_2 monbg ANIM_TARGET @@ -26784,7 +26700,7 @@ Move_WATER_PULSE:: clearmonbg ANIM_DEF_PARTNER end -Move_PSYCHO_BOOST:: +gBattleAnimMove_PsychoBoost:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT monbg ANIM_ATK_PARTNER fadetobg BG_PSYCHIC @@ -26811,7 +26727,7 @@ Move_PSYCHO_BOOST:: call UnsetPsychicBg end -Move_KNOCK_OFF:: +gBattleAnimMove_KnockOff:: loadspritegfx ANIM_TAG_SLAM_HIT_2 loadspritegfx ANIM_TAG_IMPACT createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 6 @@ -26832,7 +26748,7 @@ Move_KNOCK_OFF:: waitforvisualfinish end -Move_DOOM_DESIRE:: +gBattleAnimMove_DoomDesire:: createvisualtask GetIsDoomDesireHitTurn, 2 delay 1 monbg ANIM_ATK_PARTNER @@ -26851,7 +26767,7 @@ Move_DOOM_DESIRE:: blendoff end -Move_SKY_UPPERCUT:: +gBattleAnimMove_SkyUppercut:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET @@ -26895,52 +26811,52 @@ Move_SKY_UPPERCUT:: waitbgfadein end -Move_SECRET_POWER:: +gBattleAnimMove_SecretPower:: createvisualtask AnimTask_GetFieldTerrain, 5 - jumpargeq 0, STATUS_FIELD_MISTY_TERRAIN, Move_FAIRY_WIND - jumpargeq 0, STATUS_FIELD_GRASSY_TERRAIN, Move_NEEDLE_ARM - jumpargeq 0, STATUS_FIELD_ELECTRIC_TERRAIN, Move_THUNDER_SHOCK - jumpargeq 0, STATUS_FIELD_PSYCHIC_TERRAIN, Move_CONFUSION + jumpargeq 0, STATUS_FIELD_MISTY_TERRAIN, gBattleAnimMove_FairyWind + jumpargeq 0, STATUS_FIELD_GRASSY_TERRAIN, gBattleAnimMove_NeedleArm + jumpargeq 0, STATUS_FIELD_ELECTRIC_TERRAIN, gBattleAnimMove_ThunderShock + jumpargeq 0, STATUS_FIELD_PSYCHIC_TERRAIN, gBattleAnimMove_Confusion createvisualtask AnimTask_GetBattleTerrain, 5 - jumpargeq 0, BATTLE_TERRAIN_GRASS, Move_NEEDLE_ARM - jumpargeq 0, BATTLE_TERRAIN_LONG_GRASS, Move_MAGICAL_LEAF - jumpargeq 0, BATTLE_TERRAIN_SAND, Move_MUD_SHOT - jumpargeq 0, BATTLE_TERRAIN_UNDERWATER, Move_WATERFALL - jumpargeq 0, BATTLE_TERRAIN_WATER, Move_SURF - jumpargeq 0, BATTLE_TERRAIN_POND, Move_BUBBLE_BEAM - jumpargeq 0, BATTLE_TERRAIN_MOUNTAIN, Move_ROCK_THROW - jumpargeq 0, BATTLE_TERRAIN_CAVE, Move_BITE - jumpargeq 0, BATTLE_TERRAIN_BUILDING, Move_STRENGTH - jumpargeq 0, BATTLE_TERRAIN_SOARING, Move_GUST - jumpargeq 0, BATTLE_TERRAIN_SKY_PILLAR, Move_GUST - jumpargeq 0, BATTLE_TERRAIN_BURIAL_GROUND, Move_SHADOW_SNEAK - jumpargeq 0, BATTLE_TERRAIN_PUDDLE, Move_MUD_SHOT - jumpargeq 0, BATTLE_TERRAIN_MARSH, Move_MUD_SHOT - jumpargeq 0, BATTLE_TERRAIN_SWAMP, Move_MUD_SHOT - jumpargeq 0, BATTLE_TERRAIN_ICE, Move_ICE_SHARD - jumpargeq 0, BATTLE_TERRAIN_VOLCANO, Move_INCINERATE - jumpargeq 0, BATTLE_TERRAIN_DISTORTION_WORLD, Move_POUND - jumpargeq 0, BATTLE_TERRAIN_SPACE, Move_SWIFT - jumpargeq 0, BATTLE_TERRAIN_ULTRA_SPACE, Move_PSYWAVE + jumpargeq 0, BATTLE_TERRAIN_GRASS, gBattleAnimMove_NeedleArm + jumpargeq 0, BATTLE_TERRAIN_LONG_GRASS, gBattleAnimMove_MagicalLeaf + jumpargeq 0, BATTLE_TERRAIN_SAND, gBattleAnimMove_MudShot + jumpargeq 0, BATTLE_TERRAIN_UNDERWATER, gBattleAnimMove_Waterfall + jumpargeq 0, BATTLE_TERRAIN_WATER, gBattleAnimMove_Surf + jumpargeq 0, BATTLE_TERRAIN_POND, gBattleAnimMove_BubbleBeam + jumpargeq 0, BATTLE_TERRAIN_MOUNTAIN, gBattleAnimMove_RockThrow + jumpargeq 0, BATTLE_TERRAIN_CAVE, gBattleAnimMove_Bite + jumpargeq 0, BATTLE_TERRAIN_BUILDING, gBattleAnimMove_Strength + jumpargeq 0, BATTLE_TERRAIN_SOARING, gBattleAnimMove_Gust + jumpargeq 0, BATTLE_TERRAIN_SKY_PILLAR, gBattleAnimMove_Gust + jumpargeq 0, BATTLE_TERRAIN_BURIAL_GROUND, gBattleAnimMove_ShadowSneak + jumpargeq 0, BATTLE_TERRAIN_PUDDLE, gBattleAnimMove_MudShot + jumpargeq 0, BATTLE_TERRAIN_MARSH, gBattleAnimMove_MudShot + jumpargeq 0, BATTLE_TERRAIN_SWAMP, gBattleAnimMove_MudShot + jumpargeq 0, BATTLE_TERRAIN_ICE, gBattleAnimMove_IceShard + jumpargeq 0, BATTLE_TERRAIN_VOLCANO, gBattleAnimMove_Incinerate + jumpargeq 0, BATTLE_TERRAIN_DISTORTION_WORLD, gBattleAnimMove_Pound + jumpargeq 0, BATTLE_TERRAIN_SPACE, gBattleAnimMove_Swift + jumpargeq 0, BATTLE_TERRAIN_ULTRA_SPACE, gBattleAnimMove_Psywave .if B_SECRET_POWER_ANIMATION >= GEN_7 - jumpargeq 0, BATTLE_TERRAIN_SNOW, Move_ICE_SHARD - jumpargeq 0, BATTLE_TERRAIN_BUILDING, Move_SPIT_UP - goto Move_SPIT_UP + jumpargeq 0, BATTLE_TERRAIN_SNOW, gBattleAnimMove_IceShard + jumpargeq 0, BATTLE_TERRAIN_BUILDING, gBattleAnimMove_SpitUp + goto gBattleAnimMove_SpitUp .elseif B_SECRET_POWER_ANIMATION >= GEN_6 - jumpargeq 0, BATTLE_TERRAIN_SNOW, Move_AVALANCHE - jumpargeq 0, BATTLE_TERRAIN_BUILDING, Move_BODY_SLAM - goto Move_BODY_SLAM + jumpargeq 0, BATTLE_TERRAIN_SNOW, gBattleAnimMove_Avalanche + jumpargeq 0, BATTLE_TERRAIN_BUILDING, gBattleAnimMove_BodySlam + goto gBattleAnimMove_BodySlam .elseif B_SECRET_POWER_ANIMATION >= GEN_4 - jumpargeq 0, BATTLE_TERRAIN_SNOW, Move_AVALANCHE - jumpargeq 0, BATTLE_TERRAIN_BUILDING, Move_BODY_SLAM - goto Move_MUD_SLAP + jumpargeq 0, BATTLE_TERRAIN_SNOW, gBattleAnimMove_Avalanche + jumpargeq 0, BATTLE_TERRAIN_BUILDING, gBattleAnimMove_BodySlam + goto gBattleAnimMove_MudSlap .else - jumpargeq 0, BATTLE_TERRAIN_SNOW, Move_AVALANCHE - jumpargeq 0, BATTLE_TERRAIN_BUILDING, Move_STRENGTH - goto Move_SLAM + jumpargeq 0, BATTLE_TERRAIN_SNOW, gBattleAnimMove_Avalanche + jumpargeq 0, BATTLE_TERRAIN_BUILDING, gBattleAnimMove_Strength + goto gBattleAnimMove_Slam .endif -Move_TWISTER:: +gBattleAnimMove_Twister:: loadspritegfx ANIM_TAG_LEAF loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_ROCKS @@ -26986,7 +26902,7 @@ Move_TWISTER:: blendoff end -Move_MAGICAL_LEAF:: +gBattleAnimMove_MagicalLeaf:: loadspritegfx ANIM_TAG_LEAF loadspritegfx ANIM_TAG_RAZOR_LEAF loadspritegfx ANIM_TAG_IMPACT @@ -27030,7 +26946,7 @@ Move_MAGICAL_LEAF:: blendoff end -Move_ICE_BALL:: +gBattleAnimMove_IceBall:: loadspritegfx ANIM_TAG_ICE_CHUNK loadspritegfx ANIM_TAG_ICE_CRYSTALS createvisualtask AnimTask_GetIceBallCounter, 5, 0 @@ -27120,7 +27036,7 @@ IceBallImpactShard: createsprite gIceBallImpactShardSpriteTemplate, ANIM_TARGET, 4, -12, -16 return -Move_WEATHER_BALL:: +gBattleAnimMove_WeatherBall:: loadspritegfx ANIM_TAG_WEATHER_BALL createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 8, 1, ANIM_ATTACKER delay 8 @@ -27216,7 +27132,7 @@ WeatherBallIce: waitforvisualfinish end -Move_COUNT:: +gBattleAnimMove_Count:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET setalpha 12, 8 @@ -27530,18 +27446,18 @@ UnsetSolarBeamBg: waitbgfadein return -Status_Poison: +gBattleAnimStatus_Poison:: loopsewithpan SE_M_TOXIC, SOUND_PAN_TARGET, 13, 6 createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 18, 2 createvisualtask AnimTask_BlendColorCycle, 2, F_PAL_ATTACKER, 2, 2, 0, 12, RGB(30, 0, 31) end -Status_Confusion: +gBattleAnimStatus_Confusion:: loadspritegfx ANIM_TAG_DUCK call ConfusionEffect end -Status_Burn: +gBattleAnimStatus_Burn:: loadspritegfx ANIM_TAG_SMALL_EMBER playsewithpan SE_M_FLAME_WHEEL, SOUND_PAN_TARGET call BurnFlame @@ -27554,7 +27470,7 @@ BurnFlame: delay 4 return -Status_Infatuation: +gBattleAnimStatus_Infatuation:: loadspritegfx ANIM_TAG_MAGENTA_HEART playsewithpan SE_M_CHARM, SOUND_PAN_ATTACKER createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 0, 20 @@ -27566,7 +27482,7 @@ Status_Infatuation: createsprite gMagentaHeartSpriteTemplate, ANIM_ATTACKER, 3, 20, 20 end -Status_Sleep: +gBattleAnimStatus_Sleep:: loadspritegfx ANIM_TAG_LETTER_Z playsewithpan SE_M_SNORE, SOUND_PAN_ATTACKER createsprite gSleepLetterZSpriteTemplate, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 @@ -27574,13 +27490,13 @@ Status_Sleep: createsprite gSleepLetterZSpriteTemplate, ANIM_ATTACKER, 2, 4, -10, 16, 0, 0 end -Status_Paralysis: +gBattleAnimStatus_Paralysis:: loadspritegfx ANIM_TAG_SPARK_2 createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATTACKER, 1, 0, 10, 1 call ElectricityEffect end -Status_Freeze: +gBattleAnimStatus_Freeze:: playsewithpan SE_M_ICY_WIND, 0 loadspritegfx ANIM_TAG_ICE_CUBE monbg ANIM_DEF_PARTNER @@ -27591,7 +27507,7 @@ Status_Freeze: clearmonbg ANIM_DEF_PARTNER end -Status_Curse: +gBattleAnimStatus_Curse:: loadspritegfx ANIM_TAG_GHOSTLY_SPIRIT monbg ANIM_DEF_PARTNER playsewithpan SE_M_NIGHTMARE, SOUND_PAN_TARGET @@ -27601,7 +27517,7 @@ Status_Curse: clearmonbg ANIM_DEF_PARTNER end -Status_Nightmare: +gBattleAnimStatus_Nightmare:: loadspritegfx ANIM_TAG_DEVIL monbg ANIM_DEF_PARTNER playsewithpan SE_M_NIGHTMARE, SOUND_PAN_TARGET @@ -27611,15 +27527,12 @@ Status_Nightmare: clearmonbg ANIM_DEF_PARTNER end -Status_Powder: - end - -General_StatsChange: +gBattleAnimGeneral_StatsChange:: createvisualtask AnimTask_StatsChange, 5 waitforvisualfinish end -General_SubstituteFade: +gBattleAnimGeneral_SubstituteFade:: monbg ANIM_ATTACKER createvisualtask AnimTask_SubstituteFadeToInvisible, 5 createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_ATTACKER, 0, 0, 16, RGB_WHITE @@ -27632,11 +27545,11 @@ General_SubstituteFade: createvisualtask AnimTask_SwapMonSpriteToFromSubstitute, 2, TRUE end -General_SubstituteAppear: +gBattleAnimGeneral_SubstituteAppear:: createvisualtask AnimTask_MonToSubstitute, 2 end -General_PokeblockThrow: +gBattleAnimGeneral_PokeblockThrow:: createvisualtask AnimTask_SetAttackerTargetLeftPos, 2, 0 createvisualtask AnimTask_LoadPokeblockGfx, 2 delay 0 @@ -27649,12 +27562,12 @@ General_PokeblockThrow: createvisualtask AnimTask_FreePokeblockGfx, 2 end -General_ItemKnockoff: +gBattleAnimGeneral_ItemKnockoff:: loadspritegfx ANIM_TAG_ITEM_BAG createsprite gKnockOffItemSpriteTemplate, ANIM_TARGET, 2 end -General_TurnTrap: +gBattleAnimGeneral_TurnTrap:: createvisualtask AnimTask_GetTrappedMoveAnimId, 5 jumpargeq 0, TRAP_ANIM_FIRE_SPIN, Status_FireSpin jumpargeq 0, TRAP_ANIM_WHIRLPOOL, Status_Whirlpool @@ -27752,10 +27665,10 @@ Status_Clamp: Status_Thunder_Cage: @ TODO - goto Move_THUNDER_CAGE + goto gBattleAnimMove_ThunderCage Status_Snap_Trap: @ placeholder - goto Move_BITE + goto gBattleAnimMove_Bite Status_SandTomb: loadspritegfx ANIM_TAG_MUD_SAND @@ -27786,7 +27699,7 @@ Status_Infestation: clearmonbg ANIM_DEF_PARTNER end -General_HeldItemEffect: +gBattleAnimGeneral_HeldItemEffect:: loadspritegfx ANIM_TAG_THIN_RING loadspritegfx ANIM_TAG_SPARKLE_2 delay 0 @@ -27808,7 +27721,7 @@ General_HeldItemEffect: waitforvisualfinish end -General_SmokeballEscape: +gBattleAnimGeneral_SmokeballEscape:: loadspritegfx ANIM_TAG_PINK_CLOUD monbg ANIM_ATTACKER setalpha 12, 4 @@ -27846,7 +27759,7 @@ General_SmokeballEscape: blendoff end -General_HangedOn: +gBattleAnimGeneral_HangedOn:: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, F_PAL_ATTACKER, 7, 0, 9, RGB_RED playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER createvisualtask AnimTask_SlideMonForFocusBand, 5, 30, 128, 0, 1, 2, 0, 1 @@ -27857,7 +27770,7 @@ General_HangedOn: createsprite gSlideMonToOriginalPosSpriteTemplate, ANIM_ATTACKER, 0, 0, 0, 15 end -General_Rain: +gBattleAnimGeneral_Rain:: call RainDrops end @@ -27874,27 +27787,27 @@ RainDrops: waitforvisualfinish return -General_Sun: - goto Move_SUNNY_DAY +gBattleAnimGeneral_Sun:: + goto gBattleAnimMove_SunnyDay -General_Sandstorm: - goto Move_SANDSTORM +gBattleAnimGeneral_Sandstorm:: + goto gBattleAnimMove_Sandstorm -General_Hail: - goto Move_HAIL +gBattleAnimGeneral_Hail:: + goto gBattleAnimMove_Hail -General_Snow: - goto Move_SNOWSCAPE +gBattleAnimGeneral_Snow:: + goto gBattleAnimMove_Snowscape -General_Fog: - goto Move_HAZE +gBattleAnimGeneral_Fog:: + goto gBattleAnimMove_Haze -General_LeechSeedDrain: +gBattleAnimGeneral_LeechSeedDrain:: createvisualtask AnimTask_GetBattlersFromArg, 5 delay 0 - goto Move_ABSORB + goto gBattleAnimMove_Absorb -General_MonHit: +gBattleAnimGeneral_MonHit:: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET setalpha 12, 8 @@ -27906,7 +27819,7 @@ General_MonHit: blendoff end -General_ItemSteal: +gBattleAnimGeneral_ItemSteal:: loadspritegfx ANIM_TAG_ITEM_BAG createvisualtask AnimTask_SetAnimAttackerAndTargetForEffectAtk, 2 createvisualtask AnimTask_SetTargetToEffectBattler, 2 @ Redundant with above @@ -27914,7 +27827,7 @@ General_ItemSteal: createsprite gItemStealSpriteTemplate, ANIM_ATTACKER, 2, 0, -5, 10, 2, -1 end -General_SnatchMove: +gBattleAnimGeneral_SnatchMove:: loadspritegfx ANIM_TAG_ITEM_BAG createvisualtask AnimTask_SetAnimAttackerAndTargetForEffectTgt, 2 call SnatchMoveTrySwapFromSubstitute @@ -27937,7 +27850,7 @@ SnatchPartnerMonMove: createvisualtask AnimTask_SnatchPartnerMove, 2 goto SnatchMoveContinue -General_FutureSightHit: +gBattleAnimGeneral_FutureSightHit:: createvisualtask AnimTask_SetAnimTargetToBattlerTarget, 2 monbg ANIM_DEF_PARTNER playsewithpan SE_M_PSYBEAM, SOUND_PAN_ATTACKER @@ -27957,7 +27870,7 @@ General_FutureSightHit: call UnsetPsychicBg end -General_DoomDesireHit: +gBattleAnimGeneral_DoomDesireHit:: createvisualtask AnimTask_SetAnimTargetToBattlerTarget, 2 loadspritegfx ANIM_TAG_EXPLOSION createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 3, 0, 16, RGB_WHITE @@ -27991,7 +27904,7 @@ General_DoomDesireHit: waitforvisualfinish end -General_FocusPunchSetUp: +gBattleAnimGeneral_FocusPunchSetUp:: loadspritegfx ANIM_TAG_FOCUS_ENERGY playsewithpan SE_M_DRAGON_RAGE, SOUND_PAN_ATTACKER call EndureEffect @@ -28004,7 +27917,7 @@ General_FocusPunchSetUp: waitforvisualfinish end -General_IngrainHeal: +gBattleAnimGeneral_IngrainHeal:: loadspritegfx ANIM_TAG_ORBS loadspritegfx ANIM_TAG_BLUE_STAR monbg ANIM_DEF_PARTNER @@ -28023,7 +27936,7 @@ General_IngrainHeal: blendoff end -General_WishHeal: +gBattleAnimGeneral_WishHeal:: loadspritegfx ANIM_TAG_SPARKLE_2 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 3, 0, 10, RGB_BLACK waitforvisualfinish @@ -28037,34 +27950,34 @@ General_WishHeal: createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, F_PAL_BG, 3, 10, 0, RGB_BLACK end -General_SimpleHeal: +gBattleAnimGeneral_SimpleHeal:: loadspritegfx ANIM_TAG_BLUE_STAR call HealingEffect waitforvisualfinish end -General_IllusionOff: +gBattleAnimGeneral_IllusionOff:: monbg ANIM_TARGET createvisualtask AnimTask_TransformMon, 2, 1, 0 waitforvisualfinish clearmonbg ANIM_TARGET end -General_FormChange: +gBattleAnimGeneral_FormChange:: monbg ANIM_ATTACKER createvisualtask AnimTask_TransformMon, 2, 1, 0 waitforvisualfinish clearmonbg ANIM_ATTACKER end -General_SlideOffScreen: +gBattleAnimGeneral_SlideOffScreen:: createvisualtask AnimTask_SlideOffScreen, 5, ANIM_TARGET, 3 waitforvisualfinish createvisualtask AnimTask_SetInvisible, 1, ANIM_TARGET, TRUE waitforvisualfinish end -General_MegaEvolution: +gBattleAnimGeneral_MegaEvolution:: loadspritegfx ANIM_TAG_MEGA_STONE loadspritegfx ANIM_TAG_MEGA_PARTICLES loadspritegfx ANIM_TAG_MEGA_SYMBOL @@ -28109,7 +28022,7 @@ MegaEvolutionParticles: delay 3 return -General_TeraCharge: +gBattleAnimGeneral_TeraCharge:: loadspritegfx ANIM_TAG_TERA_CRYSTAL loadspritegfx ANIM_TAG_TERA_SHATTER loadspritegfx ANIM_TAG_FOCUS_ENERGY @@ -28147,7 +28060,7 @@ TeraChargeParticles: createsprite gTeraCrystalSpreadSpriteTemplate, ANIM_TARGET, 0, 0, 10, 0 return -General_TeraActivate: +gBattleAnimGeneral_TeraActivate:: createvisualtask AnimTask_BlendBattleAnimPalExclude, 5, 5, 2, 16, 0, RGB_WHITEALPHA createvisualtask AnimTask_HorizontalShake, 5, ANIM_TARGET, 5, 14 waitforvisualfinish @@ -28156,12 +28069,12 @@ General_TeraActivate: blendoff end -General_RestoreBg: +gBattleAnimGeneral_RestoreBg:: restorebg waitbgfadein end -General_ZMoveActivate: +gBattleAnimGeneral_ZMoveActivate:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_Z_MOVE_SYMBOL @Z-Move Symbol loadspritegfx ANIM_TAG_WHIP_HIT @green color @@ -28196,7 +28109,7 @@ ZMoveBuffEffect: delay 0x3 return -General_TotemFlare:: +gBattleAnimGeneral_TotemFlare:: loadspritegfx ANIM_TAG_FOCUS_ENERGY loadspritegfx ANIM_TAG_WHIP_HIT @green color loadspritegfx ANIM_TAG_SWEAT_BEAD @blue color @@ -28226,7 +28139,7 @@ RainbowEndureEffect: delay 0x3 return -General_GulpMissile: @ Tackle anim (placeholder) +gBattleAnimGeneral_GulpMissile:: @ Tackle anim (placeholder) loadspritegfx ANIM_TAG_IMPACT monbg ANIM_ATTACKER setalpha 12, 8 @@ -28240,7 +28153,7 @@ General_GulpMissile: @ Tackle anim (placeholder) blendoff end -General_StrongWinds:: +gBattleAnimGeneral_StrongWinds:: loadspritegfx ANIM_TAG_FLYING_DIRT playsewithpan SE_M_GUST, 0 createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_FLYING_DIRT, 0, 12, 12, RGB(20, 20, 20) @@ -28251,7 +28164,7 @@ General_StrongWinds:: stopsound end -General_PrimalReversion:: +gBattleAnimGeneral_PrimalReversion:: createvisualtask AnimTask_PrimalReversion, 0x5 jumpargeq 0x0, ITEM_RED_ORB, General_PrimalReversion_Omega jumpargeq 0x0, ITEM_BLUE_ORB, General_PrimalReversion_Alpha @@ -28310,7 +28223,7 @@ General_PrimalReversion_Omega: blendoff end -General_UltraBurst:: +gBattleAnimGeneral_UltraBurst:: loadspritegfx ANIM_TAG_ULTRA_BURST_SYMBOL loadspritegfx ANIM_TAG_SPARK_2 @spark loadspritegfx ANIM_TAG_LEAF @green @@ -28347,7 +28260,7 @@ General_UltraBurst:: blendoff end -General_AffectionHangedOn:: +gBattleAnimGeneral_AffectionHangedOn:: loadspritegfx ANIM_TAG_RED_HEART loopsewithpan SE_M_CHARM, SOUND_PAN_ATTACKER, 12, 3 createvisualtask AnimTask_SwayMon, 5, 0, 12, 4096, 4, ANIM_ATTACKER @@ -28368,10 +28281,10 @@ General_AffectionHangedOn_3Hearts: waitforvisualfinish end -General_SaltCureDamage:: - goto Status_Freeze +gBattleAnimGeneral_SaltCureDamage:: + goto gBattleAnimStatus_Freeze -General_Rainbow:: +gBattleAnimGeneral_Rainbow:: call RainDrops delay 30 loadspritegfx ANIM_TAG_SUNLIGHT @@ -28394,7 +28307,7 @@ General_Rainbow:: clearmonbg ANIM_ATK_PARTNER end -General_SeaOfFire:: +gBattleAnimGeneral_SeaOfFire:: loadspritegfx ANIM_TAG_SMALL_EMBER monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET @@ -28437,8 +28350,8 @@ SeaOfFireTwisterTres: delay 2 return -General_Swamp:: @ To do - goto Move_HAZE +gBattleAnimGeneral_Swamp:: @ To do + goto gBattleAnimMove_Haze SnatchMoveTrySwapFromSubstitute: createvisualtask AnimTask_IsAttackerBehindSubstitute, 2 @@ -28463,7 +28376,7 @@ SnatchMoveSwapMonForSubstitute: goto SnatchMoveTrySwapToSubstituteEnd @ Healthbox blue flash effect on level up -Special_LevelUp: +gBattleAnimSpecial_LevelUp:: playsewithpan SE_EXP_MAX, 0 createvisualtask AnimTask_LoadHealthboxPalsForLevelUp, 2 delay 0 @@ -28472,19 +28385,19 @@ Special_LevelUp: createvisualtask AnimTask_FreeHealthboxPalsForLevelUp, 2 end -Special_SwitchOutPlayerMon: +gBattleAnimSpecial_SwitchOutPlayerMon:: createvisualtask AnimTask_SwitchOutBallEffect, 2 delay 10 createvisualtask AnimTask_SwitchOutShrinkMon, 2 end -Special_SwitchOutOpponentMon: +gBattleAnimSpecial_SwitchOutOpponentMon:: createvisualtask AnimTask_SwitchOutBallEffect, 2 delay 10 createvisualtask AnimTask_SwitchOutShrinkMon, 2 end -Special_BallThrow: +gBattleAnimSpecial_BallThrow:: createvisualtask AnimTask_LoadBallGfx, 2 delay 0 playsewithpan SE_BALL_THROW, 0 @@ -28508,7 +28421,7 @@ BallThrowTrainerBlock: blendoff goto BallThrowEnd -Special_BallThrowWithTrainer: +gBattleAnimSpecial_BallThrowWithTrainer:: createvisualtask AnimTask_LoadBallGfx, 2 delay 0 createvisualtask AnimTask_ThrowBall_StandingTrainer, 2 @@ -28516,15 +28429,15 @@ Special_BallThrowWithTrainer: createvisualtask AnimTask_FreeBallGfx, 2 end -Special_SubstituteToMon: +gBattleAnimSpecial_SubstituteToMon:: createvisualtask AnimTask_SwapMonSpriteToFromSubstitute, 2, TRUE end -Special_MonToSubstitute: +gBattleAnimSpecial_MonToSubstitute:: createvisualtask AnimTask_SwapMonSpriteToFromSubstitute, 2, FALSE end -Special_CriticalCaptureBallThrow: +gBattleAnimSpecial_CriticalCaptureBallThrow:: createvisualtask AnimTask_LoadBallGfx, 2 delay 0 playsewithpan SE_FALL, 0 @@ -28534,7 +28447,7 @@ Special_CriticalCaptureBallThrow: goto BallThrowEnd @@@@@@@@@@ Z MOVES @@@@@@@@@@ -Move_BREAKNECK_BLITZ:: +gBattleAnimMove_BreakneckBlitz:: loadspritegfx ANIM_TAG_HOLLOW_ORB loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_HANDS_AND_FEET @@ -28615,7 +28528,7 @@ Move_BREAKNECK_BLITZ:: end -Move_ALL_OUT_PUMMELING:: +gBattleAnimMove_AllOutPummeling:: loadspritegfx ANIM_TAG_HANDS_AND_FEET loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_METEOR @@ -28705,7 +28618,7 @@ Move_ALL_OUT_PUMMELING:: end -Move_SUPERSONIC_SKYSTRIKE:: +gBattleAnimMove_SupersonicSkystrike:: loadspritegfx ANIM_TAG_ROUND_SHADOW @ fly loadspritegfx ANIM_TAG_MUD_SAND @ dig loadspritegfx ANIM_TAG_FOCUS_ENERGY @ focus energy @@ -28778,7 +28691,7 @@ FinishSupersonicSkystrike: end -Move_ACID_DOWNPOUR:: +gBattleAnimMove_AcidDownpour:: loadspritegfx ANIM_TAG_BLUE_ORB @ reversal loadspritegfx ANIM_TAG_POISON_JAB @ poison jab loadspritegfx ANIM_TAG_POISON_BUBBLE @ poison bubbles @@ -28864,7 +28777,7 @@ AcidDownpourFlareOnAttacker: return -Move_TECTONIC_RAGE:: +gBattleAnimMove_TectonicRage:: loadspritegfx ANIM_TAG_DIRT_MOUND @ dig loadspritegfx ANIM_TAG_MUD_SAND @ rollout small rocks loadspritegfx ANIM_TAG_ROCKS @ rollout @@ -28981,7 +28894,7 @@ TectonicRageExplosion: return -Move_CONTINENTAL_CRUSH:: +gBattleAnimMove_ContinentalCrush:: loadspritegfx ANIM_TAG_ROUND_SHADOW @ fly loadspritegfx ANIM_TAG_MUD_SAND @ dig loadspritegfx ANIM_TAG_ROCKS @ rocks @@ -29129,7 +29042,7 @@ ContinentalCrushStockpileRocks: return -Move_SAVAGE_SPIN_OUT:: +gBattleAnimMove_SavageSpinOut:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge loadspritegfx ANIM_TAG_RAZOR_LEAF @green color loadspritegfx ANIM_TAG_STRING @string shot @@ -29282,7 +29195,7 @@ SlowSavageSpinOutBackgroundSpeed: return -Move_NEVER_ENDING_NIGHTMARE:: +gBattleAnimMove_NeverEndingNightmare:: loadspritegfx ANIM_TAG_THIN_RING @ring loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_ASSURANCE_HAND @purple hand @@ -29466,7 +29379,7 @@ NeverendingNightmareGeyser: return -Move_CORKSCREW_CRASH:: +gBattleAnimMove_CorkscrewCrash:: loadspritegfx ANIM_TAG_SPIKES @metal bits loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge loadspritegfx ANIM_TAG_CORKSCREW @drill @@ -29593,7 +29506,7 @@ CorkscrewCrashSprayRocks: return -Move_INFERNO_OVERDRIVE:: +gBattleAnimMove_InfernoOverdrive:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge loadspritegfx ANIM_TAG_SMALL_EMBER @fire createvisualtask AnimTask_BlendParticle, 0x5, ANIM_TAG_CIRCLE_OF_LIGHT, 0x0, 0xA, 0xA, 0x1F @@ -29703,7 +29616,7 @@ InfernoOverdriveExplosion: return -Move_HYDRO_VORTEX:: +gBattleAnimMove_HydroVortex:: loadspritegfx ANIM_TAG_SPLASH @dive loadspritegfx ANIM_TAG_SWEAT_BEAD @dive loadspritegfx ANIM_TAG_ICE_CRYSTALS @crabhammer bubbles @@ -29817,7 +29730,7 @@ HydroVortexWhirlpoolHurricane: return -Move_BLOOM_DOOM:: +gBattleAnimMove_BloomDoom:: loadspritegfx ANIM_TAG_FLOWER @petal loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge loadspritegfx ANIM_TAG_RAZOR_LEAF @green @@ -30011,7 +29924,7 @@ ResetFromGreenScreen: return -Move_GIGAVOLT_HAVOC:: +gBattleAnimMove_GigavoltHavoc:: loadspritegfx ANIM_TAG_HAVOC_SPEAR loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT loadspritegfx ANIM_TAG_ELECTRIC_ORBS @@ -30185,7 +30098,7 @@ HavocSpearSparkTarget: return -Move_SHATTERED_PSYCHE:: +gBattleAnimMove_ShatteredPsyche:: loadspritegfx ANIM_TAG_IMPACT @hit loadspritegfx ANIM_TAG_BLUE_LIGHT_WALL @reflect loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge @@ -30346,7 +30259,7 @@ ShatteredPsycheFlingPlayer: return -Move_SUBZERO_SLAMMER:: +gBattleAnimMove_SubzeroSlammer:: loadspritegfx ANIM_TAG_ICE_CRYSTALS @ice loadspritegfx ANIM_TAG_ICE_CUBE @glacier loadspritegfx ANIM_TAG_EXPLOSION_2 @explosion @@ -30497,7 +30410,7 @@ SubzeroSlammerIceSwirl: return -Move_DEVASTATING_DRAKE:: +gBattleAnimMove_DevastatingDrake:: loadspritegfx ANIM_TAG_PURPLE_DRAKE loadspritegfx ANIM_TAG_POISON_BUBBLE @ purple loadspritegfx ANIM_TAG_FOCUS_ENERGY @ focus energy @@ -30717,7 +30630,7 @@ DevastatingDrakeExplosion: return -Move_BLACK_HOLE_ECLIPSE:: +gBattleAnimMove_BlackHoleEclipse:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @shock wave loadspritegfx ANIM_TAG_SHADOW_BALL @shadow ball @@ -30859,7 +30772,7 @@ ResetFromWhiteScreen: return -Move_TWINKLE_TACKLE:: +gBattleAnimMove_TwinkleTackle:: loadspritegfx ANIM_TAG_SPARKLE_2 @star loadspritegfx ANIM_TAG_PINK_PETAL @pink loadspritegfx ANIM_TAG_THIN_RING @ring @@ -31017,7 +30930,7 @@ TwinkleTackleStarsTarget: return @ signature z moves -Move_CATASTROPIKA:: +gBattleAnimMove_Catastropika:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_ROUND_SHADOW @fly invisible ANIM_TARGET @@ -31191,7 +31104,7 @@ CatastropikaThundering: return -Move_10000000_VOLT_THUNDERBOLT:: +gBattleAnimMove_10000000VoltThunderbolt:: loadspritegfx ANIM_TAG_CIRCLE_OF_LIGHT @charge loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_ROUND_SHADOW @fly @@ -31455,7 +31368,7 @@ TenMillionVoltThunderboltSparkGeyser: return -Move_STOKED_SPARKSURFER:: +gBattleAnimMove_StokedSparksurfer:: loadspritegfx ANIM_TAG_ROUND_SHADOW @fly loadspritegfx ANIM_TAG_SPARK_2 @spark invisible ANIM_TARGET @@ -31590,7 +31503,7 @@ StokedSparksurferSparkGeyser: return -Move_EXTREME_EVOBOOST:: +gBattleAnimMove_ExtremeEvoboost:: loadspritegfx ANIM_TAG_LEER @leer createvisualtask AnimTask_BlendBattleAnimPal, 0xa, (F_PAL_BG | F_PAL_BATTLERS_2), 0x3, 0x0, 0x10, 0x0000 waitforvisualfinish @@ -31728,7 +31641,7 @@ ExtremeEvoboostColorCharge: return -Move_PULVERIZING_PANCAKE:: +gBattleAnimMove_PulverizingPancake:: loadspritegfx ANIM_TAG_SPARKLE_4 @detect loadspritegfx ANIM_TAG_VERTICAL_HEX @red loadspritegfx ANIM_TAG_MUD_SAND @dig @@ -31842,7 +31755,7 @@ PulverizingPancakeExplosion: return -Move_GENESIS_SUPERNOVA:: +gBattleAnimMove_GenesisSupernova:: loadspritegfx ANIM_TAG_BLUE_ORB @reversal loadspritegfx ANIM_TAG_POISON_BUBBLE @poison bubble loadspritegfx ANIM_TAG_POISON_JAB @purple @@ -32029,7 +31942,7 @@ GenesisSupernovaBuffOpponent_2: return -Move_SINISTER_ARROW_RAID:: +gBattleAnimMove_SinisterArrowRaid:: loadspritegfx ANIM_TAG_ROUND_SHADOW @fly loadspritegfx ANIM_TAG_SPIRIT_ARROW @arrow loadspritegfx ANIM_TAG_LEAF @green @@ -32337,7 +32250,7 @@ SinisterArrowRaidFinalExplosion: return -Move_MALICIOUS_MOONSAULT:: +gBattleAnimMove_MaliciousMoonsault:: loadspritegfx ANIM_TAG_FIRE_PLUME @dragon rage loadspritegfx ANIM_TAG_ROUND_SHADOW @fly loadspritegfx ANIM_TAG_VERTICAL_HEX @red @@ -32457,7 +32370,7 @@ MaliciousMoonsaultExplosion: return -Move_OCEANIC_OPERETTA:: +gBattleAnimMove_OceanicOperetta:: createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA waitforvisualfinish loadspritegfx ANIM_TAG_SPOTLIGHT @@ -32643,7 +32556,7 @@ OceanicOperettaExplosion: return -Move_SPLINTERED_STORMSHARDS:: +gBattleAnimMove_SplinteredStormshards:: loadspritegfx ANIM_TAG_ROCKS @rock loadspritegfx ANIM_TAG_ICICLE_SPEAR @spear createvisualtask AnimTask_AllBattlersInvisibleExceptAttackerAndTarget, 0xA @@ -32902,7 +32815,7 @@ SplinteredStormshardsFinishFadeReturn: return -Move_LETS_SNUGGLE_FOREVER:: +gBattleAnimMove_LetsSnuggleForever:: loadspritegfx ANIM_TAG_MAGENTA_HEART @sharm loadspritegfx ANIM_TAG_MUSIC_NOTES @music note loadspritegfx ANIM_TAG_SMALL_BUBBLES @fake tears @@ -33030,7 +32943,7 @@ LetsSnuggleForeverStars_2: return -Move_CLANGOROUS_SOULBLAZE:: +gBattleAnimMove_ClangorousSoulblaze:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_WATER_ORB @blue loadspritegfx ANIM_TAG_POISON_BUBBLE @purple @@ -33314,7 +33227,7 @@ ClangorousSoulblazePulse_5: return -Move_GUARDIAN_OF_ALOLA:: +gBattleAnimMove_GuardianOfAlola:: loadspritegfx ANIM_TAG_THIN_RING @ring loadspritegfx ANIM_TAG_MUD_SAND @dig loadspritegfx ANIM_TAG_SPEED_DUST @extremespeed @@ -33412,7 +33325,7 @@ GuardianOfAlolaRockGeyser: return -Move_SEARING_SUNRAZE_SMASH:: +gBattleAnimMove_SearingSunrazeSmash:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_SPARKLE_2 @sparkles invisible ANIM_TARGET @@ -33641,7 +33554,7 @@ ResetFromRedScreen: return -Move_MENACING_MOONRAZE_MAELSTROM:: +gBattleAnimMove_MenacingMoonrazeMaelstrom:: loadspritegfx ANIM_TAG_FOCUS_ENERGY @focus energy loadspritegfx ANIM_TAG_SPARKLE_2 @sparkles loadspritegfx ANIM_TAG_WATER_ORB @blue @@ -33832,7 +33745,7 @@ MenacingMoonrazeMaelstromBeam: return -Move_LIGHT_THAT_BURNS_THE_SKY:: +gBattleAnimMove_LightThatBurnsTheSky:: loadspritegfx ANIM_TAG_SPARK_2 @spark loadspritegfx ANIM_TAG_LEAF @green loadspritegfx ANIM_TAG_ELECTRIC_ORBS @charge particles @@ -33990,7 +33903,7 @@ LightThatBurnsTheSkyGreenSparks: return -Move_SOUL_STEALING_7_STAR_STRIKE:: +gBattleAnimMove_SoulStealing7StarStrike:: loadspritegfx ANIM_TAG_ROUND_SHADOW @bounce loadspritegfx ANIM_TAG_ICE_CRYSTALS @ice blue loadspritegfx ANIM_TAG_WISP_FIRE @will o wisp @@ -34164,178 +34077,178 @@ SoulStealingSevenStarStrikeExplosion: return @@@@@@@@@@ MAX MOVES @@@@@@@@@@ -General_SetWeather:: +gBattleAnimGeneral_SetWeather:: createvisualtask AnimTask_GetWeatherToSet, 2 - jumpreteq 1, General_Sun - jumpreteq 2, General_Rain - jumpreteq 3, General_Sandstorm - jumpreteq 4, General_Hail + jumpreteq 1, gBattleAnimGeneral_Sun + jumpreteq 2, gBattleAnimGeneral_Rain + jumpreteq 3, gBattleAnimGeneral_Sandstorm + jumpreteq 4, gBattleAnimGeneral_Hail end -Move_MAX_GUARD:: +gBattleAnimMove_MaxGuard:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_PROTECT + goto gBattleAnimMove_Protect end -Move_MAX_STRIKE:: -Move_G_MAX_REPLENISH:: +gBattleAnimMove_MaxStrike:: +gBattleAnimMove_GMaxReplenish:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_GIGA_IMPACT + goto gBattleAnimMove_GigaImpact end -Move_MAX_AIRSTREAM:: -Move_G_MAX_WIND_RAGE:: +gBattleAnimMove_MaxAirstream:: +gBattleAnimMove_GMaxWindRage:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_AEROBLAST + goto gBattleAnimMove_Aeroblast end -Move_MAX_OOZE:: -Move_G_MAX_MALODOR:: +gBattleAnimMove_MaxOoze:: +gBattleAnimMove_GMaxMalodor:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_GUNK_SHOT + goto gBattleAnimMove_GunkShot end -Move_G_MAX_WILDFIRE:: -Move_G_MAX_FIREBALL:: -Move_G_MAX_CENTIFERNO:: -Move_MAX_FLARE:: +gBattleAnimMove_GMaxWildfire:: +gBattleAnimMove_GMaxFireball:: +gBattleAnimMove_GMaxCentiferno:: +gBattleAnimMove_MaxFlare:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_BLAST_BURN + goto gBattleAnimMove_BlastBurn end -Move_G_MAX_CANNONADE:: -Move_G_MAX_HYDROSNIPE:: -Move_G_MAX_FOAM_BURST:: -Move_MAX_GEYSER:: +gBattleAnimMove_GMaxCannonade:: +gBattleAnimMove_GMaxHydrosnipe:: +gBattleAnimMove_GMaxFoamBurst:: +gBattleAnimMove_MaxGeyser:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_HYDRO_CANNON + goto gBattleAnimMove_HydroCannon end -Move_G_MAX_VINE_LASH:: -Move_G_MAX_DRUM_SOLO:: -Move_G_MAX_TARTNESS:: -Move_G_MAX_SWEETNESS:: -Move_MAX_OVERGROWTH:: +gBattleAnimMove_GMaxVineLash:: +gBattleAnimMove_GMaxDrumSolo:: +gBattleAnimMove_GMaxTartness:: +gBattleAnimMove_GMaxSweetness:: +gBattleAnimMove_MaxOvergrowth:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_FRENZY_PLANT + goto gBattleAnimMove_FrenzyPlant end -Move_MAX_LIGHTNING:: -Move_G_MAX_STUN_SHOCK:: +gBattleAnimMove_MaxLightning:: +gBattleAnimMove_GMaxStunShock:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_ZAP_CANNON + goto gBattleAnimMove_ZapCannon end -Move_G_MAX_CHI_STRIKE:: -Move_G_MAX_ONE_BLOW:: -Move_G_MAX_RAPID_FLOW:: -Move_MAX_KNUCKLE:: +gBattleAnimMove_GMaxChiStrike:: +gBattleAnimMove_GMaxOneBlow:: +gBattleAnimMove_GMaxRapidFlow:: +gBattleAnimMove_MaxKnuckle:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_CLOSE_COMBAT + goto gBattleAnimMove_CloseCombat end -Move_G_MAX_RESONANCE:: -Move_MAX_HAILSTORM:: +gBattleAnimMove_GMaxResonance:: +gBattleAnimMove_MaxHailstorm:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_SHEER_COLD + goto gBattleAnimMove_SheerCold end -Move_G_MAX_SANDBLAST:: -Move_MAX_QUAKE:: +gBattleAnimMove_GMaxSandblast:: +gBattleAnimMove_MaxQuake:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_FISSURE + goto gBattleAnimMove_Fissure end -Move_G_MAX_BEFUDDLE:: -Move_MAX_FLUTTERBY:: +gBattleAnimMove_GMaxBefuddle:: +gBattleAnimMove_MaxFlutterby:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_BUG_BUZZ + goto gBattleAnimMove_BugBuzz end -Move_G_MAX_STEELSURGE:: -Move_G_MAX_MELTDOWN:: -Move_MAX_STEELSPIKE:: +gBattleAnimMove_GMaxSteelsurge:: +gBattleAnimMove_GMaxMeltdown:: +gBattleAnimMove_MaxSteelspike:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_HEAVY_SLAM + goto gBattleAnimMove_HeavySlam end -Move_G_MAX_TERROR:: -Move_MAX_PHANTASM:: +gBattleAnimMove_GMaxTerror:: +gBattleAnimMove_MaxPhantasm:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_PHANTOM_FORCE + goto gBattleAnimMove_PhantomForce end -Move_G_MAX_GRAVITAS:: -Move_MAX_MINDSTORM:: +gBattleAnimMove_GMaxGravitas:: +gBattleAnimMove_MaxMindstorm:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_PSYCHO_BOOST + goto gBattleAnimMove_PsychoBoost end -Move_G_MAX_SMITE:: -Move_G_MAX_FINALE:: -Move_MAX_STARFALL:: +gBattleAnimMove_GMaxSmite:: +gBattleAnimMove_GMaxFinale:: +gBattleAnimMove_MaxStarfall:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_MOONBLAST + goto gBattleAnimMove_Moonblast end -Move_G_MAX_STONESURGE:: -Move_G_MAX_VOLCALITH:: -Move_MAX_ROCKFALL:: +gBattleAnimMove_GMaxStonesurge:: +gBattleAnimMove_GMaxVolcalith:: +gBattleAnimMove_MaxRockfall:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_ROCK_WRECKER + goto gBattleAnimMove_RockWrecker end -Move_G_MAX_DEPLETION:: -Move_MAX_WYRMWIND:: +gBattleAnimMove_GMaxDepletion:: +gBattleAnimMove_MaxWyrmwind:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_SPACIAL_REND + goto gBattleAnimMove_SpacialRend end -Move_G_MAX_SNOOZE:: -Move_MAX_DARKNESS:: +gBattleAnimMove_GMaxSnooze:: +gBattleAnimMove_MaxDarkness:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_DARK_PULSE + goto gBattleAnimMove_DarkPulse end -Move_G_MAX_CUDDLE:: +gBattleAnimMove_GMaxCuddle:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_COVET + goto gBattleAnimMove_Covet end -Move_G_MAX_VOLT_CRASH:: +gBattleAnimMove_GMaxVoltCrash:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_VOLT_TACKLE + goto gBattleAnimMove_VoltTackle end -Move_G_MAX_GOLD_RUSH:: +gBattleAnimMove_GMaxGoldRush:: createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x1 waitforvisualfinish - goto Move_PAY_DAY + goto gBattleAnimMove_PayDay end @@@ DYNAMAX AND MAX RAIDS -General_DynamaxGrowth:: @ PORTED FROM CFRU +gBattleAnimGeneral_DynamaxGrowth:: @ PORTED FROM CFRU createvisualtask SoundTask_PlayCryWithEcho, 2, ANIM_ATTACKER, 2 delay 8 createvisualtask AnimTask_DynamaxGrowth, 0x5, 0x1, 0x0 diff --git a/include/battle_anim_scripts.h b/include/battle_anim_scripts.h index d97aaa421d..6c49788975 100644 --- a/include/battle_anim_scripts.h +++ b/include/battle_anim_scripts.h @@ -1,940 +1,1018 @@ #ifndef GUARD_BATTLE_ANIM_SCRIPTS_H #define GUARD_BATTLE_ANIM_SCRIPTS_H -extern const u8 Move_NONE[]; -extern const u8 Move_POUND[]; -extern const u8 Move_KARATE_CHOP[]; -extern const u8 Move_DOUBLE_SLAP[]; -extern const u8 Move_COMET_PUNCH[]; -extern const u8 Move_MEGA_PUNCH[]; -extern const u8 Move_PAY_DAY[]; -extern const u8 Move_FIRE_PUNCH[]; -extern const u8 Move_ICE_PUNCH[]; -extern const u8 Move_THUNDER_PUNCH[]; -extern const u8 Move_SCRATCH[]; -extern const u8 Move_VISE_GRIP[]; -extern const u8 Move_GUILLOTINE[]; -extern const u8 Move_RAZOR_WIND[]; -extern const u8 Move_SWORDS_DANCE[]; -extern const u8 Move_CUT[]; -extern const u8 Move_GUST[]; -extern const u8 Move_WING_ATTACK[]; -extern const u8 Move_WHIRLWIND[]; -extern const u8 Move_FLY[]; -extern const u8 Move_BIND[]; -extern const u8 Move_SLAM[]; -extern const u8 Move_VINE_WHIP[]; -extern const u8 Move_STOMP[]; -extern const u8 Move_DOUBLE_KICK[]; -extern const u8 Move_MEGA_KICK[]; -extern const u8 Move_JUMP_KICK[]; -extern const u8 Move_ROLLING_KICK[]; -extern const u8 Move_SAND_ATTACK[]; -extern const u8 Move_HEADBUTT[]; -extern const u8 Move_HORN_ATTACK[]; -extern const u8 Move_FURY_ATTACK[]; -extern const u8 Move_HORN_DRILL[]; -extern const u8 Move_TACKLE[]; -extern const u8 Move_BODY_SLAM[]; -extern const u8 Move_WRAP[]; -extern const u8 Move_TAKE_DOWN[]; -extern const u8 Move_THRASH[]; -extern const u8 Move_DOUBLE_EDGE[]; -extern const u8 Move_TAIL_WHIP[]; -extern const u8 Move_POISON_STING[]; -extern const u8 Move_TWINEEDLE[]; -extern const u8 Move_PIN_MISSILE[]; -extern const u8 Move_LEER[]; -extern const u8 Move_BITE[]; -extern const u8 Move_GROWL[]; -extern const u8 Move_ROAR[]; -extern const u8 Move_SING[]; -extern const u8 Move_SUPERSONIC[]; -extern const u8 Move_SONIC_BOOM[]; -extern const u8 Move_DISABLE[]; -extern const u8 Move_ACID[]; -extern const u8 Move_EMBER[]; -extern const u8 Move_FLAMETHROWER[]; -extern const u8 Move_MIST[]; -extern const u8 Move_WATER_GUN[]; -extern const u8 Move_HYDRO_PUMP[]; -extern const u8 Move_SURF[]; -extern const u8 Move_ICE_BEAM[]; -extern const u8 Move_BLIZZARD[]; -extern const u8 Move_PSYBEAM[]; -extern const u8 Move_BUBBLE_BEAM[]; -extern const u8 Move_AURORA_BEAM[]; -extern const u8 Move_HYPER_BEAM[]; -extern const u8 Move_PECK[]; -extern const u8 Move_DRILL_PECK[]; -extern const u8 Move_SUBMISSION[]; -extern const u8 Move_LOW_KICK[]; -extern const u8 Move_COUNTER[]; -extern const u8 Move_SEISMIC_TOSS[]; -extern const u8 Move_STRENGTH[]; -extern const u8 Move_ABSORB[]; -extern const u8 Move_MEGA_DRAIN[]; -extern const u8 Move_LEECH_SEED[]; -extern const u8 Move_GROWTH[]; -extern const u8 Move_RAZOR_LEAF[]; -extern const u8 Move_SOLAR_BEAM[]; -extern const u8 Move_POISON_POWDER[]; -extern const u8 Move_STUN_SPORE[]; -extern const u8 Move_SLEEP_POWDER[]; -extern const u8 Move_PETAL_DANCE[]; -extern const u8 Move_STRING_SHOT[]; -extern const u8 Move_DRAGON_RAGE[]; -extern const u8 Move_FIRE_SPIN[]; -extern const u8 Move_THUNDER_SHOCK[]; -extern const u8 Move_THUNDERBOLT[]; -extern const u8 Move_THUNDER_WAVE[]; -extern const u8 Move_THUNDER[]; -extern const u8 Move_ROCK_THROW[]; -extern const u8 Move_EARTHQUAKE[]; -extern const u8 Move_FISSURE[]; -extern const u8 Move_DIG[]; -extern const u8 Move_TOXIC[]; -extern const u8 Move_CONFUSION[]; -extern const u8 Move_PSYCHIC[]; -extern const u8 Move_HYPNOSIS[]; -extern const u8 Move_MEDITATE[]; -extern const u8 Move_AGILITY[]; -extern const u8 Move_QUICK_ATTACK[]; -extern const u8 Move_RAGE[]; -extern const u8 Move_TELEPORT[]; -extern const u8 Move_NIGHT_SHADE[]; -extern const u8 Move_MIMIC[]; -extern const u8 Move_SCREECH[]; -extern const u8 Move_DOUBLE_TEAM[]; -extern const u8 Move_RECOVER[]; -extern const u8 Move_HARDEN[]; -extern const u8 Move_MINIMIZE[]; -extern const u8 Move_SMOKESCREEN[]; -extern const u8 Move_CONFUSE_RAY[]; -extern const u8 Move_WITHDRAW[]; -extern const u8 Move_DEFENSE_CURL[]; -extern const u8 Move_BARRIER[]; -extern const u8 Move_LIGHT_SCREEN[]; -extern const u8 Move_HAZE[]; -extern const u8 Move_REFLECT[]; -extern const u8 Move_FOCUS_ENERGY[]; -extern const u8 Move_BIDE[]; -extern const u8 Move_METRONOME[]; -extern const u8 Move_MIRROR_MOVE[]; -extern const u8 Move_SELF_DESTRUCT[]; -extern const u8 Move_EGG_BOMB[]; -extern const u8 Move_LICK[]; -extern const u8 Move_SMOG[]; -extern const u8 Move_SLUDGE[]; -extern const u8 Move_BONE_CLUB[]; -extern const u8 Move_FIRE_BLAST[]; -extern const u8 Move_WATERFALL[]; -extern const u8 Move_CLAMP[]; -extern const u8 Move_SWIFT[]; -extern const u8 Move_SKULL_BASH[]; -extern const u8 Move_SPIKE_CANNON[]; -extern const u8 Move_CONSTRICT[]; -extern const u8 Move_AMNESIA[]; -extern const u8 Move_KINESIS[]; -extern const u8 Move_SOFT_BOILED[]; -extern const u8 Move_HIGH_JUMP_KICK[]; -extern const u8 Move_GLARE[]; -extern const u8 Move_DREAM_EATER[]; -extern const u8 Move_POISON_GAS[]; -extern const u8 Move_BARRAGE[]; -extern const u8 Move_LEECH_LIFE[]; -extern const u8 Move_LOVELY_KISS[]; -extern const u8 Move_SKY_ATTACK[]; -extern const u8 Move_TRANSFORM[]; -extern const u8 Move_BUBBLE[]; -extern const u8 Move_DIZZY_PUNCH[]; -extern const u8 Move_SPORE[]; -extern const u8 Move_FLASH[]; -extern const u8 Move_PSYWAVE[]; -extern const u8 Move_SPLASH[]; -extern const u8 Move_ACID_ARMOR[]; -extern const u8 Move_CRABHAMMER[]; -extern const u8 Move_EXPLOSION[]; -extern const u8 Move_FURY_SWIPES[]; -extern const u8 Move_BONEMERANG[]; -extern const u8 Move_REST[]; -extern const u8 Move_ROCK_SLIDE[]; -extern const u8 Move_HYPER_FANG[]; -extern const u8 Move_SHARPEN[]; -extern const u8 Move_CONVERSION[]; -extern const u8 Move_TRI_ATTACK[]; -extern const u8 Move_SUPER_FANG[]; -extern const u8 Move_SLASH[]; -extern const u8 Move_SUBSTITUTE[]; -extern const u8 Move_STRUGGLE[]; -extern const u8 Move_SKETCH[]; -extern const u8 Move_TRIPLE_KICK[]; -extern const u8 Move_THIEF[]; -extern const u8 Move_SPIDER_WEB[]; -extern const u8 Move_MIND_READER[]; -extern const u8 Move_NIGHTMARE[]; -extern const u8 Move_FLAME_WHEEL[]; -extern const u8 Move_SNORE[]; -extern const u8 Move_CURSE[]; -extern const u8 Move_FLAIL[]; -extern const u8 Move_CONVERSION_2[]; -extern const u8 Move_AEROBLAST[]; -extern const u8 Move_COTTON_SPORE[]; -extern const u8 Move_REVERSAL[]; -extern const u8 Move_SPITE[]; -extern const u8 Move_POWDER_SNOW[]; -extern const u8 Move_PROTECT[]; -extern const u8 Move_MACH_PUNCH[]; -extern const u8 Move_SCARY_FACE[]; -extern const u8 Move_FEINT_ATTACK[]; -extern const u8 Move_SWEET_KISS[]; -extern const u8 Move_BELLY_DRUM[]; -extern const u8 Move_SLUDGE_BOMB[]; -extern const u8 Move_MUD_SLAP[]; -extern const u8 Move_OCTAZOOKA[]; -extern const u8 Move_SPIKES[]; -extern const u8 Move_ZAP_CANNON[]; -extern const u8 Move_FORESIGHT[]; -extern const u8 Move_DESTINY_BOND[]; -extern const u8 Move_PERISH_SONG[]; -extern const u8 Move_ICY_WIND[]; -extern const u8 Move_DETECT[]; -extern const u8 Move_BONE_RUSH[]; -extern const u8 Move_LOCK_ON[]; -extern const u8 Move_OUTRAGE[]; -extern const u8 Move_SANDSTORM[]; -extern const u8 Move_GIGA_DRAIN[]; -extern const u8 Move_ENDURE[]; -extern const u8 Move_CHARM[]; -extern const u8 Move_ROLLOUT[]; -extern const u8 Move_FALSE_SWIPE[]; -extern const u8 Move_SWAGGER[]; -extern const u8 Move_MILK_DRINK[]; -extern const u8 Move_SPARK[]; -extern const u8 Move_FURY_CUTTER[]; -extern const u8 Move_STEEL_WING[]; -extern const u8 Move_MEAN_LOOK[]; -extern const u8 Move_ATTRACT[]; -extern const u8 Move_SLEEP_TALK[]; -extern const u8 Move_HEAL_BELL[]; -extern const u8 Move_RETURN[]; -extern const u8 Move_PRESENT[]; -extern const u8 Move_FRUSTRATION[]; -extern const u8 Move_SAFEGUARD[]; -extern const u8 Move_PAIN_SPLIT[]; -extern const u8 Move_SACRED_FIRE[]; -extern const u8 Move_MAGNITUDE[]; -extern const u8 Move_DYNAMIC_PUNCH[]; -extern const u8 Move_MEGAHORN[]; -extern const u8 Move_DRAGON_BREATH[]; -extern const u8 Move_BATON_PASS[]; -extern const u8 Move_ENCORE[]; -extern const u8 Move_PURSUIT[]; -extern const u8 Move_RAPID_SPIN[]; -extern const u8 Move_SWEET_SCENT[]; -extern const u8 Move_IRON_TAIL[]; -extern const u8 Move_METAL_CLAW[]; -extern const u8 Move_VITAL_THROW[]; -extern const u8 Move_MORNING_SUN[]; -extern const u8 Move_SYNTHESIS[]; -extern const u8 Move_MOONLIGHT[]; -extern const u8 Move_HIDDEN_POWER[]; -extern const u8 Move_CROSS_CHOP[]; -extern const u8 Move_TWISTER[]; -extern const u8 Move_RAIN_DANCE[]; -extern const u8 Move_SUNNY_DAY[]; -extern const u8 Move_CRUNCH[]; -extern const u8 Move_MIRROR_COAT[]; -extern const u8 Move_PSYCH_UP[]; -extern const u8 Move_EXTREME_SPEED[]; -extern const u8 Move_ANCIENT_POWER[]; -extern const u8 Move_SHADOW_BALL[]; -extern const u8 Move_FUTURE_SIGHT[]; -extern const u8 Move_ROCK_SMASH[]; -extern const u8 Move_WHIRLPOOL[]; -extern const u8 Move_BEAT_UP[]; -extern const u8 Move_FAKE_OUT[]; -extern const u8 Move_UPROAR[]; -extern const u8 Move_STOCKPILE[]; -extern const u8 Move_SPIT_UP[]; -extern const u8 Move_SWALLOW[]; -extern const u8 Move_HEAT_WAVE[]; -extern const u8 Move_HAIL[]; -extern const u8 Move_TORMENT[]; -extern const u8 Move_FLATTER[]; -extern const u8 Move_WILL_O_WISP[]; -extern const u8 Move_MEMENTO[]; -extern const u8 Move_FACADE[]; -extern const u8 Move_FOCUS_PUNCH[]; -extern const u8 Move_SMELLING_SALTS[]; -extern const u8 Move_FOLLOW_ME[]; -extern const u8 Move_NATURE_POWER[]; -extern const u8 Move_CHARGE[]; -extern const u8 Move_TAUNT[]; -extern const u8 Move_HELPING_HAND[]; -extern const u8 Move_TRICK[]; -extern const u8 Move_ROLE_PLAY[]; -extern const u8 Move_WISH[]; -extern const u8 Move_ASSIST[]; -extern const u8 Move_INGRAIN[]; -extern const u8 Move_SUPERPOWER[]; -extern const u8 Move_MAGIC_COAT[]; -extern const u8 Move_RECYCLE[]; -extern const u8 Move_REVENGE[]; -extern const u8 Move_BRICK_BREAK[]; -extern const u8 Move_YAWN[]; -extern const u8 Move_KNOCK_OFF[]; -extern const u8 Move_ENDEAVOR[]; -extern const u8 Move_ERUPTION[]; -extern const u8 Move_SKILL_SWAP[]; -extern const u8 Move_IMPRISON[]; -extern const u8 Move_REFRESH[]; -extern const u8 Move_GRUDGE[]; -extern const u8 Move_SNATCH[]; -extern const u8 Move_SECRET_POWER[]; -extern const u8 Move_DIVE[]; -extern const u8 Move_ARM_THRUST[]; -extern const u8 Move_CAMOUFLAGE[]; -extern const u8 Move_TAIL_GLOW[]; -extern const u8 Move_LUSTER_PURGE[]; -extern const u8 Move_MIST_BALL[]; -extern const u8 Move_FEATHER_DANCE[]; -extern const u8 Move_TEETER_DANCE[]; -extern const u8 Move_BLAZE_KICK[]; -extern const u8 Move_MUD_SPORT[]; -extern const u8 Move_ICE_BALL[]; -extern const u8 Move_NEEDLE_ARM[]; -extern const u8 Move_SLACK_OFF[]; -extern const u8 Move_HYPER_VOICE[]; -extern const u8 Move_POISON_FANG[]; -extern const u8 Move_CRUSH_CLAW[]; -extern const u8 Move_BLAST_BURN[]; -extern const u8 Move_HYDRO_CANNON[]; -extern const u8 Move_METEOR_MASH[]; -extern const u8 Move_ASTONISH[]; -extern const u8 Move_WEATHER_BALL[]; -extern const u8 Move_AROMATHERAPY[]; -extern const u8 Move_FAKE_TEARS[]; -extern const u8 Move_AIR_CUTTER[]; -extern const u8 Move_OVERHEAT[]; -extern const u8 Move_ODOR_SLEUTH[]; -extern const u8 Move_ROCK_TOMB[]; -extern const u8 Move_SILVER_WIND[]; -extern const u8 Move_METAL_SOUND[]; -extern const u8 Move_GRASS_WHISTLE[]; -extern const u8 Move_TICKLE[]; -extern const u8 Move_COSMIC_POWER[]; -extern const u8 Move_WATER_SPOUT[]; -extern const u8 Move_SIGNAL_BEAM[]; -extern const u8 Move_SHADOW_PUNCH[]; -extern const u8 Move_EXTRASENSORY[]; -extern const u8 Move_SKY_UPPERCUT[]; -extern const u8 Move_SAND_TOMB[]; -extern const u8 Move_SHEER_COLD[]; -extern const u8 Move_MUDDY_WATER[]; -extern const u8 Move_BULLET_SEED[]; -extern const u8 Move_AERIAL_ACE[]; -extern const u8 Move_ICICLE_SPEAR[]; -extern const u8 Move_IRON_DEFENSE[]; -extern const u8 Move_BLOCK[]; -extern const u8 Move_HOWL[]; -extern const u8 Move_DRAGON_CLAW[]; -extern const u8 Move_FRENZY_PLANT[]; -extern const u8 Move_BULK_UP[]; -extern const u8 Move_BOUNCE[]; -extern const u8 Move_MUD_SHOT[]; -extern const u8 Move_POISON_TAIL[]; -extern const u8 Move_COVET[]; -extern const u8 Move_VOLT_TACKLE[]; -extern const u8 Move_MAGICAL_LEAF[]; -extern const u8 Move_WATER_SPORT[]; -extern const u8 Move_CALM_MIND[]; -extern const u8 Move_LEAF_BLADE[]; -extern const u8 Move_DRAGON_DANCE[]; -extern const u8 Move_ROCK_BLAST[]; -extern const u8 Move_SHOCK_WAVE[]; -extern const u8 Move_WATER_PULSE[]; -extern const u8 Move_DOOM_DESIRE[]; -extern const u8 Move_PSYCHO_BOOST[]; -extern const u8 Move_ROOST[]; -extern const u8 Move_GRAVITY[]; -extern const u8 Move_MIRACLE_EYE[]; -extern const u8 Move_WAKE_UP_SLAP[]; -extern const u8 Move_HAMMER_ARM[]; -extern const u8 Move_GYRO_BALL[]; -extern const u8 Move_HEALING_WISH[]; -extern const u8 Move_BRINE[]; -extern const u8 Move_NATURAL_GIFT[]; -extern const u8 Move_FEINT[]; -extern const u8 Move_PLUCK[]; -extern const u8 Move_TAILWIND[]; -extern const u8 Move_ACUPRESSURE[]; -extern const u8 Move_METAL_BURST[]; -extern const u8 Move_U_TURN[]; -extern const u8 Move_CLOSE_COMBAT[]; -extern const u8 Move_PAYBACK[]; -extern const u8 Move_ASSURANCE[]; -extern const u8 Move_EMBARGO[]; -extern const u8 Move_FLING[]; -extern const u8 Move_PSYCHO_SHIFT[]; -extern const u8 Move_TRUMP_CARD[]; -extern const u8 Move_HEAL_BLOCK[]; -extern const u8 Move_WRING_OUT[]; -extern const u8 Move_POWER_TRICK[]; -extern const u8 Move_GASTRO_ACID[]; -extern const u8 Move_LUCKY_CHANT[]; -extern const u8 Move_ME_FIRST[]; -extern const u8 Move_COPYCAT[]; -extern const u8 Move_POWER_SWAP[]; -extern const u8 Move_GUARD_SWAP[]; -extern const u8 Move_PUNISHMENT[]; -extern const u8 Move_LAST_RESORT[]; -extern const u8 Move_WORRY_SEED[]; -extern const u8 Move_SUCKER_PUNCH[]; -extern const u8 Move_TOXIC_SPIKES[]; -extern const u8 Move_HEART_SWAP[]; -extern const u8 Move_AQUA_RING[]; -extern const u8 Move_MAGNET_RISE[]; -extern const u8 Move_FLARE_BLITZ[]; -extern const u8 Move_FORCE_PALM[]; -extern const u8 Move_AURA_SPHERE[]; -extern const u8 Move_ROCK_POLISH[]; -extern const u8 Move_POISON_JAB[]; -extern const u8 Move_DARK_PULSE[]; -extern const u8 Move_NIGHT_SLASH[]; -extern const u8 Move_AQUA_TAIL[]; -extern const u8 Move_SEED_BOMB[]; -extern const u8 Move_AIR_SLASH[]; -extern const u8 Move_X_SCISSOR[]; -extern const u8 Move_BUG_BUZZ[]; -extern const u8 Move_DRAGON_PULSE[]; -extern const u8 Move_DRAGON_RUSH[]; -extern const u8 Move_POWER_GEM[]; -extern const u8 Move_DRAIN_PUNCH[]; -extern const u8 Move_VACUUM_WAVE[]; -extern const u8 Move_FOCUS_BLAST[]; -extern const u8 Move_ENERGY_BALL[]; -extern const u8 Move_BRAVE_BIRD[]; -extern const u8 Move_EARTH_POWER[]; -extern const u8 Move_SWITCHEROO[]; -extern const u8 Move_GIGA_IMPACT[]; -extern const u8 Move_NASTY_PLOT[]; -extern const u8 Move_BULLET_PUNCH[]; -extern const u8 Move_AVALANCHE[]; -extern const u8 Move_ICE_SHARD[]; -extern const u8 Move_SHADOW_CLAW[]; -extern const u8 Move_THUNDER_FANG[]; -extern const u8 Move_ICE_FANG[]; -extern const u8 Move_FIRE_FANG[]; -extern const u8 Move_SHADOW_SNEAK[]; -extern const u8 Move_MUD_BOMB[]; -extern const u8 Move_PSYCHO_CUT[]; -extern const u8 Move_ZEN_HEADBUTT[]; -extern const u8 Move_MIRROR_SHOT[]; -extern const u8 Move_FLASH_CANNON[]; -extern const u8 Move_ROCK_CLIMB[]; -extern const u8 Move_DEFOG[]; -extern const u8 Move_TRICK_ROOM[]; -extern const u8 Move_DRACO_METEOR[]; -extern const u8 Move_DISCHARGE[]; -extern const u8 Move_LAVA_PLUME[]; -extern const u8 Move_LEAF_STORM[]; -extern const u8 Move_POWER_WHIP[]; -extern const u8 Move_ROCK_WRECKER[]; -extern const u8 Move_CROSS_POISON[]; -extern const u8 Move_GUNK_SHOT[]; -extern const u8 Move_IRON_HEAD[]; -extern const u8 Move_MAGNET_BOMB[]; -extern const u8 Move_STONE_EDGE[]; -extern const u8 Move_CAPTIVATE[]; -extern const u8 Move_STEALTH_ROCK[]; -extern const u8 Move_GRASS_KNOT[]; -extern const u8 Move_CHATTER[]; -extern const u8 Move_JUDGMENT[]; -extern const u8 Move_BUG_BITE[]; -extern const u8 Move_CHARGE_BEAM[]; -extern const u8 Move_WOOD_HAMMER[]; -extern const u8 Move_AQUA_JET[]; -extern const u8 Move_ATTACK_ORDER[]; -extern const u8 Move_DEFEND_ORDER[]; -extern const u8 Move_HEAL_ORDER[]; -extern const u8 Move_HEAD_SMASH[]; -extern const u8 Move_DOUBLE_HIT[]; -extern const u8 Move_ROAR_OF_TIME[]; -extern const u8 Move_SPACIAL_REND[]; -extern const u8 Move_LUNAR_DANCE[]; -extern const u8 Move_CRUSH_GRIP[]; -extern const u8 Move_MAGMA_STORM[]; -extern const u8 Move_DARK_VOID[]; -extern const u8 Move_SEED_FLARE[]; -extern const u8 Move_OMINOUS_WIND[]; -extern const u8 Move_SHADOW_FORCE[]; -extern const u8 Move_HONE_CLAWS[]; -extern const u8 Move_WIDE_GUARD[]; -extern const u8 Move_GUARD_SPLIT[]; -extern const u8 Move_POWER_SPLIT[]; -extern const u8 Move_WONDER_ROOM[]; -extern const u8 Move_PSYSHOCK[]; -extern const u8 Move_VENOSHOCK[]; -extern const u8 Move_AUTOTOMIZE[]; -extern const u8 Move_RAGE_POWDER[]; -extern const u8 Move_TELEKINESIS[]; -extern const u8 Move_MAGIC_ROOM[]; -extern const u8 Move_SMACK_DOWN[]; -extern const u8 Move_STORM_THROW[]; -extern const u8 Move_FLAME_BURST[]; -extern const u8 Move_SLUDGE_WAVE[]; -extern const u8 Move_QUIVER_DANCE[]; -extern const u8 Move_HEAVY_SLAM[]; -extern const u8 Move_SYNCHRONOISE[]; -extern const u8 Move_ELECTRO_BALL[]; -extern const u8 Move_SOAK[]; -extern const u8 Move_FLAME_CHARGE[]; -extern const u8 Move_COIL[]; -extern const u8 Move_LOW_SWEEP[]; -extern const u8 Move_ACID_SPRAY[]; -extern const u8 Move_FOUL_PLAY[]; -extern const u8 Move_SIMPLE_BEAM[]; -extern const u8 Move_ENTRAINMENT[]; -extern const u8 Move_AFTER_YOU[]; -extern const u8 Move_ROUND[]; -extern const u8 Move_ECHOED_VOICE[]; -extern const u8 Move_CHIP_AWAY[]; -extern const u8 Move_CLEAR_SMOG[]; -extern const u8 Move_STORED_POWER[]; -extern const u8 Move_QUICK_GUARD[]; -extern const u8 Move_ALLY_SWITCH[]; -extern const u8 Move_SCALD[]; -extern const u8 Move_SHELL_SMASH[]; -extern const u8 Move_HEAL_PULSE[]; -extern const u8 Move_HEX[]; -extern const u8 Move_SKY_DROP[]; -extern const u8 Move_SHIFT_GEAR[]; -extern const u8 Move_CIRCLE_THROW[]; -extern const u8 Move_INCINERATE[]; -extern const u8 Move_QUASH[]; -extern const u8 Move_ACROBATICS[]; -extern const u8 Move_REFLECT_TYPE[]; -extern const u8 Move_RETALIATE[]; -extern const u8 Move_FINAL_GAMBIT[]; -extern const u8 Move_BESTOW[]; -extern const u8 Move_INFERNO[]; -extern const u8 Move_WATER_PLEDGE[]; -extern const u8 Move_FIRE_PLEDGE[]; -extern const u8 Move_GRASS_PLEDGE[]; -extern const u8 Move_VOLT_SWITCH[]; -extern const u8 Move_STRUGGLE_BUG[]; -extern const u8 Move_BULLDOZE[]; -extern const u8 Move_FROST_BREATH[]; -extern const u8 Move_DRAGON_TAIL[]; -extern const u8 Move_WORK_UP[]; -extern const u8 Move_ELECTROWEB[]; -extern const u8 Move_WILD_CHARGE[]; -extern const u8 Move_DRILL_RUN[]; -extern const u8 Move_DUAL_CHOP[]; -extern const u8 Move_HEART_STAMP[]; -extern const u8 Move_HORN_LEECH[]; -extern const u8 Move_SACRED_SWORD[]; -extern const u8 Move_RAZOR_SHELL[]; -extern const u8 Move_HEAT_CRASH[]; -extern const u8 Move_LEAF_TORNADO[]; -extern const u8 Move_STEAMROLLER[]; -extern const u8 Move_COTTON_GUARD[]; -extern const u8 Move_NIGHT_DAZE[]; -extern const u8 Move_PSYSTRIKE[]; -extern const u8 Move_TAIL_SLAP[]; -extern const u8 Move_HURRICANE[]; -extern const u8 Move_HEAD_CHARGE[]; -extern const u8 Move_GEAR_GRIND[]; -extern const u8 Move_SEARING_SHOT[]; -extern const u8 Move_TECHNO_BLAST[]; -extern const u8 Move_RELIC_SONG[]; -extern const u8 Move_SECRET_SWORD[]; -extern const u8 Move_GLACIATE[]; -extern const u8 Move_BOLT_STRIKE[]; -extern const u8 Move_BLUE_FLARE[]; -extern const u8 Move_FIERY_DANCE[]; -extern const u8 Move_FREEZE_SHOCK[]; -extern const u8 Move_ICE_BURN[]; -extern const u8 Move_SNARL[]; -extern const u8 Move_ICICLE_CRASH[]; -extern const u8 Move_V_CREATE[]; -extern const u8 Move_FUSION_FLARE[]; -extern const u8 Move_FUSION_BOLT[]; -extern const u8 Move_FLYING_PRESS[]; -extern const u8 Move_MAT_BLOCK[]; -extern const u8 Move_BELCH[]; -extern const u8 Move_ROTOTILLER[]; -extern const u8 Move_STICKY_WEB[]; -extern const u8 Move_FELL_STINGER[]; -extern const u8 Move_PHANTOM_FORCE[]; -extern const u8 Move_TRICK_OR_TREAT[]; -extern const u8 Move_NOBLE_ROAR[]; -extern const u8 Move_ION_DELUGE[]; -extern const u8 Move_PARABOLIC_CHARGE[]; -extern const u8 Move_FORESTS_CURSE[]; -extern const u8 Move_PETAL_BLIZZARD[]; -extern const u8 Move_FREEZE_DRY[]; -extern const u8 Move_DISARMING_VOICE[]; -extern const u8 Move_PARTING_SHOT[]; -extern const u8 Move_TOPSY_TURVY[]; -extern const u8 Move_DRAINING_KISS[]; -extern const u8 Move_CRAFTY_SHIELD[]; -extern const u8 Move_FLOWER_SHIELD[]; -extern const u8 Move_GRASSY_TERRAIN[]; -extern const u8 Move_MISTY_TERRAIN[]; -extern const u8 Move_ELECTRIFY[]; -extern const u8 Move_PLAY_ROUGH[]; -extern const u8 Move_FAIRY_WIND[]; -extern const u8 Move_MOONBLAST[]; -extern const u8 Move_BOOMBURST[]; -extern const u8 Move_FAIRY_LOCK[]; -extern const u8 Move_KINGS_SHIELD[]; -extern const u8 Move_PLAY_NICE[]; -extern const u8 Move_CONFIDE[]; -extern const u8 Move_DIAMOND_STORM[]; -extern const u8 Move_STEAM_ERUPTION[]; -extern const u8 Move_HYPERSPACE_HOLE[]; -extern const u8 Move_WATER_SHURIKEN[]; -extern const u8 Move_MYSTICAL_FIRE[]; -extern const u8 Move_SPIKY_SHIELD[]; -extern const u8 Move_AROMATIC_MIST[]; -extern const u8 Move_EERIE_IMPULSE[]; -extern const u8 Move_VENOM_DRENCH[]; -extern const u8 Move_POWDER[]; -extern const u8 Move_GEOMANCY[]; -extern const u8 Move_MAGNETIC_FLUX[]; -extern const u8 Move_HAPPY_HOUR[]; -extern const u8 Move_ELECTRIC_TERRAIN[]; -extern const u8 Move_DAZZLING_GLEAM[]; -extern const u8 Move_CELEBRATE[]; -extern const u8 Move_HOLD_HANDS[]; -extern const u8 Move_BABY_DOLL_EYES[]; -extern const u8 Move_NUZZLE[]; -extern const u8 Move_HOLD_BACK[]; -extern const u8 Move_INFESTATION[]; -extern const u8 Move_POWER_UP_PUNCH[]; -extern const u8 Move_OBLIVION_WING[]; -extern const u8 Move_THOUSAND_ARROWS[]; -extern const u8 Move_THOUSAND_WAVES[]; -extern const u8 Move_LANDS_WRATH[]; -extern const u8 Move_LIGHT_OF_RUIN[]; -extern const u8 Move_ORIGIN_PULSE[]; -extern const u8 Move_PRECIPICE_BLADES[]; -extern const u8 Move_DRAGON_ASCENT[]; -extern const u8 Move_HYPERSPACE_FURY[]; -extern const u8 Move_SHORE_UP[]; -extern const u8 Move_FIRST_IMPRESSION[]; -extern const u8 Move_BANEFUL_BUNKER[]; -extern const u8 Move_SPIRIT_SHACKLE[]; -extern const u8 Move_DARKEST_LARIAT[]; -extern const u8 Move_SPARKLING_ARIA[]; -extern const u8 Move_ICE_HAMMER[]; -extern const u8 Move_FLORAL_HEALING[]; -extern const u8 Move_HIGH_HORSEPOWER[]; -extern const u8 Move_STRENGTH_SAP[]; -extern const u8 Move_SOLAR_BLADE[]; -extern const u8 Move_LEAFAGE[]; -extern const u8 Move_SPOTLIGHT[]; -extern const u8 Move_TOXIC_THREAD[]; -extern const u8 Move_LASER_FOCUS[]; -extern const u8 Move_GEAR_UP[]; -extern const u8 Move_THROAT_CHOP[]; -extern const u8 Move_POLLEN_PUFF[]; -extern const u8 Move_ANCHOR_SHOT[]; -extern const u8 Move_PSYCHIC_TERRAIN[]; -extern const u8 Move_LUNGE[]; -extern const u8 Move_FIRE_LASH[]; -extern const u8 Move_POWER_TRIP[]; -extern const u8 Move_BURN_UP[]; -extern const u8 Move_SPEED_SWAP[]; -extern const u8 Move_SMART_STRIKE[]; -extern const u8 Move_PURIFY[]; -extern const u8 Move_REVELATION_DANCE[]; -extern const u8 Move_CORE_ENFORCER[]; -extern const u8 Move_TROP_KICK[]; -extern const u8 Move_INSTRUCT[]; -extern const u8 Move_BEAK_BLAST[]; -extern const u8 Move_CLANGING_SCALES[]; -extern const u8 Move_DRAGON_HAMMER[]; -extern const u8 Move_BRUTAL_SWING[]; -extern const u8 Move_AURORA_VEIL[]; -extern const u8 Move_SHELL_TRAP[]; -extern const u8 Move_FLEUR_CANNON[]; -extern const u8 Move_PSYCHIC_FANGS[]; -extern const u8 Move_STOMPING_TANTRUM[]; -extern const u8 Move_SHADOW_BONE[]; -extern const u8 Move_ACCELEROCK[]; -extern const u8 Move_LIQUIDATION[]; -extern const u8 Move_PRISMATIC_LASER[]; -extern const u8 Move_SPECTRAL_THIEF[]; -extern const u8 Move_SUNSTEEL_STRIKE[]; -extern const u8 Move_MOONGEIST_BEAM[]; -extern const u8 Move_TEARFUL_LOOK[]; -extern const u8 Move_ZING_ZAP[]; -extern const u8 Move_NATURES_MADNESS[]; -extern const u8 Move_MULTI_ATTACK[]; -extern const u8 Move_MIND_BLOWN[]; -extern const u8 Move_PLASMA_FISTS[]; -extern const u8 Move_PHOTON_GEYSER[]; -extern const u8 Move_ZIPPY_ZAP[]; -extern const u8 Move_SPLISHY_SPLASH[]; -extern const u8 Move_FLOATY_FALL[]; -extern const u8 Move_PIKA_PAPOW[]; -extern const u8 Move_BOUNCY_BUBBLE[]; -extern const u8 Move_BUZZY_BUZZ[]; -extern const u8 Move_SIZZLY_SLIDE[]; -extern const u8 Move_GLITZY_GLOW[]; -extern const u8 Move_BADDY_BAD[]; -extern const u8 Move_SAPPY_SEED[]; -extern const u8 Move_FREEZY_FROST[]; -extern const u8 Move_SPARKLY_SWIRL[]; -extern const u8 Move_VEEVEE_VOLLEY[]; -extern const u8 Move_DOUBLE_IRON_BASH[]; -extern const u8 Move_DYNAMAX_CANNON[]; -extern const u8 Move_SNIPE_SHOT[]; -extern const u8 Move_JAW_LOCK[]; -extern const u8 Move_STUFF_CHEEKS[]; -extern const u8 Move_NO_RETREAT[]; -extern const u8 Move_TAR_SHOT[]; -extern const u8 Move_MAGIC_POWDER[]; -extern const u8 Move_DRAGON_DARTS[]; -extern const u8 Move_TEATIME[]; -extern const u8 Move_OCTOLOCK[]; -extern const u8 Move_BOLT_BEAK[]; -extern const u8 Move_FISHIOUS_REND[]; -extern const u8 Move_COURT_CHANGE[]; -extern const u8 Move_CLANGOROUS_SOUL[]; -extern const u8 Move_BODY_PRESS[]; -extern const u8 Move_DECORATE[]; -extern const u8 Move_DRUM_BEATING[]; -extern const u8 Move_SNAP_TRAP[]; -extern const u8 Move_PYRO_BALL[]; -extern const u8 Move_BEHEMOTH_BLADE[]; -extern const u8 Move_BEHEMOTH_BASH[]; -extern const u8 Move_AURA_WHEEL[]; -extern const u8 Move_BREAKING_SWIPE[]; -extern const u8 Move_BRANCH_POKE[]; -extern const u8 Move_OVERDRIVE[]; -extern const u8 Move_APPLE_ACID[]; -extern const u8 Move_GRAV_APPLE[]; -extern const u8 Move_SPIRIT_BREAK[]; -extern const u8 Move_STRANGE_STEAM[]; -extern const u8 Move_LIFE_DEW[]; -extern const u8 Move_OBSTRUCT[]; -extern const u8 Move_FALSE_SURRENDER[]; -extern const u8 Move_METEOR_ASSAULT[]; -extern const u8 Move_ETERNABEAM[]; -extern const u8 Move_STEEL_BEAM[]; -extern const u8 Move_EXPANDING_FORCE[]; -extern const u8 Move_STEEL_ROLLER[]; -extern const u8 Move_SCALE_SHOT[]; -extern const u8 Move_METEOR_BEAM[]; -extern const u8 Move_SHELL_SIDE_ARM[]; -extern const u8 Move_MISTY_EXPLOSION[]; -extern const u8 Move_GRASSY_GLIDE[]; -extern const u8 Move_RISING_VOLTAGE[]; -extern const u8 Move_TERRAIN_PULSE[]; -extern const u8 Move_SKITTER_SMACK[]; -extern const u8 Move_BURNING_JEALOUSY[]; -extern const u8 Move_LASH_OUT[]; -extern const u8 Move_POLTERGEIST[]; -extern const u8 Move_CORROSIVE_GAS[]; -extern const u8 Move_COACHING[]; -extern const u8 Move_FLIP_TURN[]; -extern const u8 Move_TRIPLE_AXEL[]; -extern const u8 Move_DUAL_WINGBEAT[]; -extern const u8 Move_SCORCHING_SANDS[]; -extern const u8 Move_JUNGLE_HEALING[]; -extern const u8 Move_WICKED_BLOW[]; -extern const u8 Move_SURGING_STRIKES[]; -extern const u8 Move_THUNDER_CAGE[]; -extern const u8 Move_DRAGON_ENERGY[]; -extern const u8 Move_FREEZING_GLARE[]; -extern const u8 Move_FIERY_WRATH[]; -extern const u8 Move_THUNDEROUS_KICK[]; -extern const u8 Move_GLACIAL_LANCE[]; -extern const u8 Move_ASTRAL_BARRAGE[]; -extern const u8 Move_EERIE_SPELL[]; -extern const u8 Move_DIRE_CLAW[]; -extern const u8 Move_PSYSHIELD_BASH[]; -extern const u8 Move_POWER_SHIFT[]; -extern const u8 Move_STONE_AXE[]; -extern const u8 Move_SPRINGTIDE_STORM[]; -extern const u8 Move_MYSTICAL_POWER[]; -extern const u8 Move_RAGING_FURY[]; -extern const u8 Move_WAVE_CRASH[]; -extern const u8 Move_CHLOROBLAST[]; -extern const u8 Move_MOUNTAIN_GALE[]; -extern const u8 Move_VICTORY_DANCE[]; -extern const u8 Move_HEADLONG_RUSH[]; -extern const u8 Move_BARB_BARRAGE[]; -extern const u8 Move_ESPER_WING[]; -extern const u8 Move_BITTER_MALICE[]; -extern const u8 Move_SHELTER[]; -extern const u8 Move_TRIPLE_ARROWS[]; -extern const u8 Move_INFERNAL_PARADE[]; -extern const u8 Move_CEASELESS_EDGE[]; -extern const u8 Move_BLEAKWIND_STORM[]; -extern const u8 Move_WILDBOLT_STORM[]; -extern const u8 Move_SANDSEAR_STORM[]; -extern const u8 Move_LUNAR_BLESSING[]; -extern const u8 Move_TAKE_HEART[]; -extern const u8 Move_TERA_BLAST[]; -extern const u8 Move_SILK_TRAP[]; -extern const u8 Move_AXE_KICK[]; -extern const u8 Move_LAST_RESPECTS[]; -extern const u8 Move_LUMINA_CRASH[]; -extern const u8 Move_ORDER_UP[]; -extern const u8 Move_JET_PUNCH[]; -extern const u8 Move_SPICY_EXTRACT[]; -extern const u8 Move_SPIN_OUT[]; -extern const u8 Move_POPULATION_BOMB[]; -extern const u8 Move_ICE_SPINNER[]; -extern const u8 Move_GLAIVE_RUSH[]; -extern const u8 Move_REVIVAL_BLESSING[]; -extern const u8 Move_SALT_CURE[]; -extern const u8 Move_TRIPLE_DIVE[]; -extern const u8 Move_MORTAL_SPIN[]; -extern const u8 Move_DOODLE[]; -extern const u8 Move_FILLET_AWAY[]; -extern const u8 Move_KOWTOW_CLEAVE[]; -extern const u8 Move_FLOWER_TRICK[]; -extern const u8 Move_TORCH_SONG[]; -extern const u8 Move_AQUA_STEP[]; -extern const u8 Move_RAGING_BULL[]; -extern const u8 Move_MAKE_IT_RAIN[]; -extern const u8 Move_RUINATION[]; -extern const u8 Move_COLLISION_COURSE[]; -extern const u8 Move_ELECTRO_DRIFT[]; -extern const u8 Move_SHED_TAIL[]; -extern const u8 Move_CHILLY_RECEPTION[]; -extern const u8 Move_TIDY_UP[]; -extern const u8 Move_SNOWSCAPE[]; -extern const u8 Move_POUNCE[]; -extern const u8 Move_TRAILBLAZE[]; -extern const u8 Move_CHILLING_WATER[]; -extern const u8 Move_HYPER_DRILL[]; -extern const u8 Move_TWIN_BEAM[]; -extern const u8 Move_RAGE_FIST[]; -extern const u8 Move_ARMOR_CANNON[]; -extern const u8 Move_BITTER_BLADE[]; -extern const u8 Move_DOUBLE_SHOCK[]; -extern const u8 Move_GIGATON_HAMMER[]; -extern const u8 Move_COMEUPPANCE[]; -extern const u8 Move_AQUA_CUTTER[]; -extern const u8 Move_BLAZING_TORQUE[]; -extern const u8 Move_WICKED_TORQUE[]; -extern const u8 Move_NOXIOUS_TORQUE[]; -extern const u8 Move_COMBAT_TORQUE[]; -extern const u8 Move_MAGICAL_TORQUE[]; -extern const u8 Move_PSYBLADE[]; -extern const u8 Move_HYDRO_STEAM[]; -extern const u8 Move_BLOOD_MOON[]; -extern const u8 Move_MATCHA_GOTCHA[]; -extern const u8 Move_SYRUP_BOMB[]; -extern const u8 Move_IVY_CUDGEL[]; -extern const u8 Move_ELECTRO_SHOT[]; -extern const u8 Move_TERA_STARSTORM[]; -extern const u8 Move_FICKLE_BEAM[]; -extern const u8 Move_BURNING_BULWARK[]; -extern const u8 Move_THUNDERCLAP[]; -extern const u8 Move_MIGHTY_CLEAVE[]; -extern const u8 Move_TACHYON_CUTTER[]; -extern const u8 Move_HARD_PRESS[]; -extern const u8 Move_DRAGON_CHEER[]; -extern const u8 Move_ALLURING_VOICE[]; -extern const u8 Move_TEMPER_FLARE[]; -extern const u8 Move_SUPERCELL_SLAM[]; -extern const u8 Move_PSYCHIC_NOISE[]; -extern const u8 Move_UPPER_HAND[]; -extern const u8 Move_MALIGNANT_CHAIN[]; -extern const u8 Move_BREAKNECK_BLITZ[]; -extern const u8 Move_ALL_OUT_PUMMELING[]; -extern const u8 Move_SUPERSONIC_SKYSTRIKE[]; -extern const u8 Move_ACID_DOWNPOUR[]; -extern const u8 Move_TECTONIC_RAGE[]; -extern const u8 Move_CONTINENTAL_CRUSH[]; -extern const u8 Move_SAVAGE_SPIN_OUT[]; -extern const u8 Move_NEVER_ENDING_NIGHTMARE[]; -extern const u8 Move_CORKSCREW_CRASH[]; -extern const u8 Move_INFERNO_OVERDRIVE[]; -extern const u8 Move_HYDRO_VORTEX[]; -extern const u8 Move_BLOOM_DOOM[]; -extern const u8 Move_GIGAVOLT_HAVOC[]; -extern const u8 Move_SHATTERED_PSYCHE[]; -extern const u8 Move_SUBZERO_SLAMMER[]; -extern const u8 Move_DEVASTATING_DRAKE[]; -extern const u8 Move_BLACK_HOLE_ECLIPSE[]; -extern const u8 Move_TWINKLE_TACKLE[]; -extern const u8 Move_CATASTROPIKA[]; -extern const u8 Move_10000000_VOLT_THUNDERBOLT[]; -extern const u8 Move_STOKED_SPARKSURFER[]; -extern const u8 Move_EXTREME_EVOBOOST[]; -extern const u8 Move_PULVERIZING_PANCAKE[]; -extern const u8 Move_GENESIS_SUPERNOVA[]; -extern const u8 Move_SINISTER_ARROW_RAID[]; -extern const u8 Move_MALICIOUS_MOONSAULT[]; -extern const u8 Move_OCEANIC_OPERETTA[]; -extern const u8 Move_SPLINTERED_STORMSHARDS[]; -extern const u8 Move_LETS_SNUGGLE_FOREVER[]; -extern const u8 Move_CLANGOROUS_SOULBLAZE[]; -extern const u8 Move_GUARDIAN_OF_ALOLA[]; -extern const u8 Move_SEARING_SUNRAZE_SMASH[]; -extern const u8 Move_MENACING_MOONRAZE_MAELSTROM[]; -extern const u8 Move_LIGHT_THAT_BURNS_THE_SKY[]; -extern const u8 Move_SOUL_STEALING_7_STAR_STRIKE[]; -extern const u8 Move_MAX_GUARD[]; -extern const u8 Move_MAX_FLARE[]; -extern const u8 Move_MAX_FLUTTERBY[]; -extern const u8 Move_MAX_LIGHTNING[]; -extern const u8 Move_MAX_STRIKE[]; -extern const u8 Move_MAX_KNUCKLE[]; -extern const u8 Move_MAX_PHANTASM[]; -extern const u8 Move_MAX_HAILSTORM[]; -extern const u8 Move_MAX_OOZE[]; -extern const u8 Move_MAX_GEYSER[]; -extern const u8 Move_MAX_AIRSTREAM[]; -extern const u8 Move_MAX_STARFALL[]; -extern const u8 Move_MAX_WYRMWIND[]; -extern const u8 Move_MAX_MINDSTORM[]; -extern const u8 Move_MAX_ROCKFALL[]; -extern const u8 Move_MAX_QUAKE[]; -extern const u8 Move_MAX_DARKNESS[]; -extern const u8 Move_MAX_OVERGROWTH[]; -extern const u8 Move_MAX_STEELSPIKE[]; -extern const u8 Move_G_MAX_VINE_LASH[]; -extern const u8 Move_G_MAX_WILDFIRE[]; -extern const u8 Move_G_MAX_CANNONADE[]; -extern const u8 Move_G_MAX_BEFUDDLE[]; -extern const u8 Move_G_MAX_VOLT_CRASH[]; -extern const u8 Move_G_MAX_GOLD_RUSH[]; -extern const u8 Move_G_MAX_CHI_STRIKE[]; -extern const u8 Move_G_MAX_TERROR[]; -extern const u8 Move_G_MAX_FOAM_BURST[]; -extern const u8 Move_G_MAX_RESONANCE[]; -extern const u8 Move_G_MAX_CUDDLE[]; -extern const u8 Move_G_MAX_REPLENISH[]; -extern const u8 Move_G_MAX_MALODOR[]; -extern const u8 Move_G_MAX_MELTDOWN[]; -extern const u8 Move_G_MAX_DRUM_SOLO[]; -extern const u8 Move_G_MAX_FIREBALL[]; -extern const u8 Move_G_MAX_HYDROSNIPE[]; -extern const u8 Move_G_MAX_WIND_RAGE[]; -extern const u8 Move_G_MAX_GRAVITAS[]; -extern const u8 Move_G_MAX_STONESURGE[]; -extern const u8 Move_G_MAX_VOLCALITH[]; -extern const u8 Move_G_MAX_TARTNESS[]; -extern const u8 Move_G_MAX_SWEETNESS[]; -extern const u8 Move_G_MAX_SANDBLAST[]; -extern const u8 Move_G_MAX_STUN_SHOCK[]; -extern const u8 Move_G_MAX_CENTIFERNO[]; -extern const u8 Move_G_MAX_SMITE[]; -extern const u8 Move_G_MAX_SNOOZE[]; -extern const u8 Move_G_MAX_FINALE[]; -extern const u8 Move_G_MAX_STEELSURGE[]; -extern const u8 Move_G_MAX_DEPLETION[]; -extern const u8 Move_G_MAX_ONE_BLOW[]; -extern const u8 Move_G_MAX_RAPID_FLOW[]; +// move animations +extern const u8 gBattleAnimMove_None[]; +extern const u8 gBattleAnimMove_Pound[]; +extern const u8 gBattleAnimMove_KarateChop[]; +extern const u8 gBattleAnimMove_DoubleSlap[]; +extern const u8 gBattleAnimMove_CometPunch[]; +extern const u8 gBattleAnimMove_MegaPunch[]; +extern const u8 gBattleAnimMove_PayDay[]; +extern const u8 gBattleAnimMove_FirePunch[]; +extern const u8 gBattleAnimMove_IcePunch[]; +extern const u8 gBattleAnimMove_ThunderPunch[]; +extern const u8 gBattleAnimMove_Scratch[]; +extern const u8 gBattleAnimMove_ViseGrip[]; +extern const u8 gBattleAnimMove_Guillotine[]; +extern const u8 gBattleAnimMove_RazorWind[]; +extern const u8 gBattleAnimMove_SwordsDance[]; +extern const u8 gBattleAnimMove_Cut[]; +extern const u8 gBattleAnimMove_Gust[]; +extern const u8 gBattleAnimMove_WingAttack[]; +extern const u8 gBattleAnimMove_Whirlwind[]; +extern const u8 gBattleAnimMove_Fly[]; +extern const u8 gBattleAnimMove_Bind[]; +extern const u8 gBattleAnimMove_Slam[]; +extern const u8 gBattleAnimMove_VineWhip[]; +extern const u8 gBattleAnimMove_Stomp[]; +extern const u8 gBattleAnimMove_DoubleKick[]; +extern const u8 gBattleAnimMove_MegaKick[]; +extern const u8 gBattleAnimMove_JumpKick[]; +extern const u8 gBattleAnimMove_RollingKick[]; +extern const u8 gBattleAnimMove_SandAttack[]; +extern const u8 gBattleAnimMove_Headbutt[]; +extern const u8 gBattleAnimMove_HornAttack[]; +extern const u8 gBattleAnimMove_FuryAttack[]; +extern const u8 gBattleAnimMove_HornDrill[]; +extern const u8 gBattleAnimMove_Tackle[]; +extern const u8 gBattleAnimMove_BodySlam[]; +extern const u8 gBattleAnimMove_Wrap[]; +extern const u8 gBattleAnimMove_TakeDown[]; +extern const u8 gBattleAnimMove_Thrash[]; +extern const u8 gBattleAnimMove_DoubleEdge[]; +extern const u8 gBattleAnimMove_TailWhip[]; +extern const u8 gBattleAnimMove_PoisonSting[]; +extern const u8 gBattleAnimMove_Twineedle[]; +extern const u8 gBattleAnimMove_PinMissile[]; +extern const u8 gBattleAnimMove_Leer[]; +extern const u8 gBattleAnimMove_Bite[]; +extern const u8 gBattleAnimMove_Growl[]; +extern const u8 gBattleAnimMove_Roar[]; +extern const u8 gBattleAnimMove_Sing[]; +extern const u8 gBattleAnimMove_Supersonic[]; +extern const u8 gBattleAnimMove_SonicBoom[]; +extern const u8 gBattleAnimMove_Disable[]; +extern const u8 gBattleAnimMove_Acid[]; +extern const u8 gBattleAnimMove_Ember[]; +extern const u8 gBattleAnimMove_Flamethrower[]; +extern const u8 gBattleAnimMove_Mist[]; +extern const u8 gBattleAnimMove_WaterGun[]; +extern const u8 gBattleAnimMove_HydroPump[]; +extern const u8 gBattleAnimMove_Surf[]; +extern const u8 gBattleAnimMove_IceBeam[]; +extern const u8 gBattleAnimMove_Blizzard[]; +extern const u8 gBattleAnimMove_Psybeam[]; +extern const u8 gBattleAnimMove_BubbleBeam[]; +extern const u8 gBattleAnimMove_AuroraBeam[]; +extern const u8 gBattleAnimMove_HyperBeam[]; +extern const u8 gBattleAnimMove_Peck[]; +extern const u8 gBattleAnimMove_DrillPeck[]; +extern const u8 gBattleAnimMove_Submission[]; +extern const u8 gBattleAnimMove_LowKick[]; +extern const u8 gBattleAnimMove_Counter[]; +extern const u8 gBattleAnimMove_SeismicToss[]; +extern const u8 gBattleAnimMove_Strength[]; +extern const u8 gBattleAnimMove_Absorb[]; +extern const u8 gBattleAnimMove_MegaDrain[]; +extern const u8 gBattleAnimMove_LeechSeed[]; +extern const u8 gBattleAnimMove_Growth[]; +extern const u8 gBattleAnimMove_RazorLeaf[]; +extern const u8 gBattleAnimMove_SolarBeam[]; +extern const u8 gBattleAnimMove_PoisonPowder[]; +extern const u8 gBattleAnimMove_StunSpore[]; +extern const u8 gBattleAnimMove_SleepPowder[]; +extern const u8 gBattleAnimMove_PetalDance[]; +extern const u8 gBattleAnimMove_StringShot[]; +extern const u8 gBattleAnimMove_DragonRage[]; +extern const u8 gBattleAnimMove_FireSpin[]; +extern const u8 gBattleAnimMove_ThunderShock[]; +extern const u8 gBattleAnimMove_Thunderbolt[]; +extern const u8 gBattleAnimMove_ThunderWave[]; +extern const u8 gBattleAnimMove_Thunder[]; +extern const u8 gBattleAnimMove_RockThrow[]; +extern const u8 gBattleAnimMove_Earthquake[]; +extern const u8 gBattleAnimMove_Fissure[]; +extern const u8 gBattleAnimMove_Dig[]; +extern const u8 gBattleAnimMove_Toxic[]; +extern const u8 gBattleAnimMove_Confusion[]; +extern const u8 gBattleAnimMove_Psychic[]; +extern const u8 gBattleAnimMove_Hypnosis[]; +extern const u8 gBattleAnimMove_Meditate[]; +extern const u8 gBattleAnimMove_Agility[]; +extern const u8 gBattleAnimMove_QuickAttack[]; +extern const u8 gBattleAnimMove_Rage[]; +extern const u8 gBattleAnimMove_Teleport[]; +extern const u8 gBattleAnimMove_NightShade[]; +extern const u8 gBattleAnimMove_Mimic[]; +extern const u8 gBattleAnimMove_Screech[]; +extern const u8 gBattleAnimMove_DoubleTeam[]; +extern const u8 gBattleAnimMove_Recover[]; +extern const u8 gBattleAnimMove_Harden[]; +extern const u8 gBattleAnimMove_Minimize[]; +extern const u8 gBattleAnimMove_Smokescreen[]; +extern const u8 gBattleAnimMove_ConfuseRay[]; +extern const u8 gBattleAnimMove_Withdraw[]; +extern const u8 gBattleAnimMove_DefenseCurl[]; +extern const u8 gBattleAnimMove_Barrier[]; +extern const u8 gBattleAnimMove_LightScreen[]; +extern const u8 gBattleAnimMove_Haze[]; +extern const u8 gBattleAnimMove_Reflect[]; +extern const u8 gBattleAnimMove_FocusEnergy[]; +extern const u8 gBattleAnimMove_Bide[]; +extern const u8 gBattleAnimMove_Metronome[]; +extern const u8 gBattleAnimMove_MirrorMove[]; +extern const u8 gBattleAnimMove_SelfDestruct[]; +extern const u8 gBattleAnimMove_EggBomb[]; +extern const u8 gBattleAnimMove_Lick[]; +extern const u8 gBattleAnimMove_Smog[]; +extern const u8 gBattleAnimMove_Sludge[]; +extern const u8 gBattleAnimMove_BoneClub[]; +extern const u8 gBattleAnimMove_FireBlast[]; +extern const u8 gBattleAnimMove_Waterfall[]; +extern const u8 gBattleAnimMove_Clamp[]; +extern const u8 gBattleAnimMove_Swift[]; +extern const u8 gBattleAnimMove_SkullBash[]; +extern const u8 gBattleAnimMove_SpikeCannon[]; +extern const u8 gBattleAnimMove_Constrict[]; +extern const u8 gBattleAnimMove_Amnesia[]; +extern const u8 gBattleAnimMove_Kinesis[]; +extern const u8 gBattleAnimMove_SoftBoiled[]; +extern const u8 gBattleAnimMove_HighJumpKick[]; +extern const u8 gBattleAnimMove_Glare[]; +extern const u8 gBattleAnimMove_DreamEater[]; +extern const u8 gBattleAnimMove_PoisonGas[]; +extern const u8 gBattleAnimMove_Barrage[]; +extern const u8 gBattleAnimMove_LeechLife[]; +extern const u8 gBattleAnimMove_LovelyKiss[]; +extern const u8 gBattleAnimMove_SkyAttack[]; +extern const u8 gBattleAnimMove_Transform[]; +extern const u8 gBattleAnimMove_Bubble[]; +extern const u8 gBattleAnimMove_DizzyPunch[]; +extern const u8 gBattleAnimMove_Spore[]; +extern const u8 gBattleAnimMove_Flash[]; +extern const u8 gBattleAnimMove_Psywave[]; +extern const u8 gBattleAnimMove_Splash[]; +extern const u8 gBattleAnimMove_AcidArmor[]; +extern const u8 gBattleAnimMove_Crabhammer[]; +extern const u8 gBattleAnimMove_Explosion[]; +extern const u8 gBattleAnimMove_FurySwipes[]; +extern const u8 gBattleAnimMove_Bonemerang[]; +extern const u8 gBattleAnimMove_Rest[]; +extern const u8 gBattleAnimMove_RockSlide[]; +extern const u8 gBattleAnimMove_HyperFang[]; +extern const u8 gBattleAnimMove_Sharpen[]; +extern const u8 gBattleAnimMove_Conversion[]; +extern const u8 gBattleAnimMove_TriAttack[]; +extern const u8 gBattleAnimMove_SuperFang[]; +extern const u8 gBattleAnimMove_Slash[]; +extern const u8 gBattleAnimMove_Substitute[]; +extern const u8 gBattleAnimMove_Struggle[]; +extern const u8 gBattleAnimMove_Sketch[]; +extern const u8 gBattleAnimMove_TripleKick[]; +extern const u8 gBattleAnimMove_Thief[]; +extern const u8 gBattleAnimMove_SpiderWeb[]; +extern const u8 gBattleAnimMove_MindReader[]; +extern const u8 gBattleAnimMove_Nightmare[]; +extern const u8 gBattleAnimMove_FlameWheel[]; +extern const u8 gBattleAnimMove_Snore[]; +extern const u8 gBattleAnimMove_Curse[]; +extern const u8 gBattleAnimMove_Flail[]; +extern const u8 gBattleAnimMove_Conversion2[]; +extern const u8 gBattleAnimMove_Aeroblast[]; +extern const u8 gBattleAnimMove_CottonSpore[]; +extern const u8 gBattleAnimMove_Reversal[]; +extern const u8 gBattleAnimMove_Spite[]; +extern const u8 gBattleAnimMove_PowderSnow[]; +extern const u8 gBattleAnimMove_Protect[]; +extern const u8 gBattleAnimMove_MachPunch[]; +extern const u8 gBattleAnimMove_ScaryFace[]; +extern const u8 gBattleAnimMove_FeintAttack[]; +extern const u8 gBattleAnimMove_SweetKiss[]; +extern const u8 gBattleAnimMove_BellyDrum[]; +extern const u8 gBattleAnimMove_SludgeBomb[]; +extern const u8 gBattleAnimMove_MudSlap[]; +extern const u8 gBattleAnimMove_Octazooka[]; +extern const u8 gBattleAnimMove_Spikes[]; +extern const u8 gBattleAnimMove_ZapCannon[]; +extern const u8 gBattleAnimMove_Foresight[]; +extern const u8 gBattleAnimMove_DestinyBond[]; +extern const u8 gBattleAnimMove_PerishSong[]; +extern const u8 gBattleAnimMove_IcyWind[]; +extern const u8 gBattleAnimMove_Detect[]; +extern const u8 gBattleAnimMove_BoneRush[]; +extern const u8 gBattleAnimMove_LockOn[]; +extern const u8 gBattleAnimMove_Outrage[]; +extern const u8 gBattleAnimMove_Sandstorm[]; +extern const u8 gBattleAnimMove_GigaDrain[]; +extern const u8 gBattleAnimMove_Endure[]; +extern const u8 gBattleAnimMove_Charm[]; +extern const u8 gBattleAnimMove_Rollout[]; +extern const u8 gBattleAnimMove_FalseSwipe[]; +extern const u8 gBattleAnimMove_Swagger[]; +extern const u8 gBattleAnimMove_MilkDrink[]; +extern const u8 gBattleAnimMove_Spark[]; +extern const u8 gBattleAnimMove_FuryCutter[]; +extern const u8 gBattleAnimMove_SteelWing[]; +extern const u8 gBattleAnimMove_MeanLook[]; +extern const u8 gBattleAnimMove_Attract[]; +extern const u8 gBattleAnimMove_SleepTalk[]; +extern const u8 gBattleAnimMove_HealBell[]; +extern const u8 gBattleAnimMove_Return[]; +extern const u8 gBattleAnimMove_Present[]; +extern const u8 gBattleAnimMove_Frustration[]; +extern const u8 gBattleAnimMove_Safeguard[]; +extern const u8 gBattleAnimMove_PainSplit[]; +extern const u8 gBattleAnimMove_SacredFire[]; +extern const u8 gBattleAnimMove_Magnitude[]; +extern const u8 gBattleAnimMove_DynamicPunch[]; +extern const u8 gBattleAnimMove_Megahorn[]; +extern const u8 gBattleAnimMove_DragonBreath[]; +extern const u8 gBattleAnimMove_BatonPass[]; +extern const u8 gBattleAnimMove_Encore[]; +extern const u8 gBattleAnimMove_Pursuit[]; +extern const u8 gBattleAnimMove_RapidSpin[]; +extern const u8 gBattleAnimMove_SweetScent[]; +extern const u8 gBattleAnimMove_IronTail[]; +extern const u8 gBattleAnimMove_MetalClaw[]; +extern const u8 gBattleAnimMove_VitalThrow[]; +extern const u8 gBattleAnimMove_MorningSun[]; +extern const u8 gBattleAnimMove_Synthesis[]; +extern const u8 gBattleAnimMove_Moonlight[]; +extern const u8 gBattleAnimMove_HiddenPower[]; +extern const u8 gBattleAnimMove_CrossChop[]; +extern const u8 gBattleAnimMove_Twister[]; +extern const u8 gBattleAnimMove_RainDance[]; +extern const u8 gBattleAnimMove_SunnyDay[]; +extern const u8 gBattleAnimMove_Crunch[]; +extern const u8 gBattleAnimMove_MirrorCoat[]; +extern const u8 gBattleAnimMove_PsychUp[]; +extern const u8 gBattleAnimMove_ExtremeSpeed[]; +extern const u8 gBattleAnimMove_AncientPower[]; +extern const u8 gBattleAnimMove_ShadowBall[]; +extern const u8 gBattleAnimMove_FutureSight[]; +extern const u8 gBattleAnimMove_RockSmash[]; +extern const u8 gBattleAnimMove_Whirlpool[]; +extern const u8 gBattleAnimMove_BeatUp[]; +extern const u8 gBattleAnimMove_FakeOut[]; +extern const u8 gBattleAnimMove_Uproar[]; +extern const u8 gBattleAnimMove_Stockpile[]; +extern const u8 gBattleAnimMove_SpitUp[]; +extern const u8 gBattleAnimMove_Swallow[]; +extern const u8 gBattleAnimMove_HeatWave[]; +extern const u8 gBattleAnimMove_Hail[]; +extern const u8 gBattleAnimMove_Torment[]; +extern const u8 gBattleAnimMove_Flatter[]; +extern const u8 gBattleAnimMove_WillOWisp[]; +extern const u8 gBattleAnimMove_Memento[]; +extern const u8 gBattleAnimMove_Facade[]; +extern const u8 gBattleAnimMove_FocusPunch[]; +extern const u8 gBattleAnimMove_SmellingSalts[]; +extern const u8 gBattleAnimMove_FollowMe[]; +extern const u8 gBattleAnimMove_NaturePower[]; +extern const u8 gBattleAnimMove_Charge[]; +extern const u8 gBattleAnimMove_Taunt[]; +extern const u8 gBattleAnimMove_HelpingHand[]; +extern const u8 gBattleAnimMove_Trick[]; +extern const u8 gBattleAnimMove_RolePlay[]; +extern const u8 gBattleAnimMove_Wish[]; +extern const u8 gBattleAnimMove_Assist[]; +extern const u8 gBattleAnimMove_Ingrain[]; +extern const u8 gBattleAnimMove_Superpower[]; +extern const u8 gBattleAnimMove_MagicCoat[]; +extern const u8 gBattleAnimMove_Recycle[]; +extern const u8 gBattleAnimMove_Revenge[]; +extern const u8 gBattleAnimMove_BrickBreak[]; +extern const u8 gBattleAnimMove_Yawn[]; +extern const u8 gBattleAnimMove_KnockOff[]; +extern const u8 gBattleAnimMove_Endeavor[]; +extern const u8 gBattleAnimMove_Eruption[]; +extern const u8 gBattleAnimMove_SkillSwap[]; +extern const u8 gBattleAnimMove_Imprison[]; +extern const u8 gBattleAnimMove_Refresh[]; +extern const u8 gBattleAnimMove_Grudge[]; +extern const u8 gBattleAnimMove_Snatch[]; +extern const u8 gBattleAnimMove_SecretPower[]; +extern const u8 gBattleAnimMove_Dive[]; +extern const u8 gBattleAnimMove_ArmThrust[]; +extern const u8 gBattleAnimMove_Camouflage[]; +extern const u8 gBattleAnimMove_TailGlow[]; +extern const u8 gBattleAnimMove_LusterPurge[]; +extern const u8 gBattleAnimMove_MistBall[]; +extern const u8 gBattleAnimMove_FeatherDance[]; +extern const u8 gBattleAnimMove_TeeterDance[]; +extern const u8 gBattleAnimMove_BlazeKick[]; +extern const u8 gBattleAnimMove_MudSport[]; +extern const u8 gBattleAnimMove_IceBall[]; +extern const u8 gBattleAnimMove_NeedleArm[]; +extern const u8 gBattleAnimMove_SlackOff[]; +extern const u8 gBattleAnimMove_HyperVoice[]; +extern const u8 gBattleAnimMove_PoisonFang[]; +extern const u8 gBattleAnimMove_CrushClaw[]; +extern const u8 gBattleAnimMove_BlastBurn[]; +extern const u8 gBattleAnimMove_HydroCannon[]; +extern const u8 gBattleAnimMove_MeteorMash[]; +extern const u8 gBattleAnimMove_Astonish[]; +extern const u8 gBattleAnimMove_WeatherBall[]; +extern const u8 gBattleAnimMove_Aromatherapy[]; +extern const u8 gBattleAnimMove_FakeTears[]; +extern const u8 gBattleAnimMove_AirCutter[]; +extern const u8 gBattleAnimMove_Overheat[]; +extern const u8 gBattleAnimMove_OdorSleuth[]; +extern const u8 gBattleAnimMove_RockTomb[]; +extern const u8 gBattleAnimMove_SilverWind[]; +extern const u8 gBattleAnimMove_MetalSound[]; +extern const u8 gBattleAnimMove_GrassWhistle[]; +extern const u8 gBattleAnimMove_Tickle[]; +extern const u8 gBattleAnimMove_CosmicPower[]; +extern const u8 gBattleAnimMove_WaterSpout[]; +extern const u8 gBattleAnimMove_SignalBeam[]; +extern const u8 gBattleAnimMove_ShadowPunch[]; +extern const u8 gBattleAnimMove_Extrasensory[]; +extern const u8 gBattleAnimMove_SkyUppercut[]; +extern const u8 gBattleAnimMove_SandTomb[]; +extern const u8 gBattleAnimMove_SheerCold[]; +extern const u8 gBattleAnimMove_MuddyWater[]; +extern const u8 gBattleAnimMove_BulletSeed[]; +extern const u8 gBattleAnimMove_AerialAce[]; +extern const u8 gBattleAnimMove_IcicleSpear[]; +extern const u8 gBattleAnimMove_IronDefense[]; +extern const u8 gBattleAnimMove_Block[]; +extern const u8 gBattleAnimMove_Howl[]; +extern const u8 gBattleAnimMove_DragonClaw[]; +extern const u8 gBattleAnimMove_FrenzyPlant[]; +extern const u8 gBattleAnimMove_BulkUp[]; +extern const u8 gBattleAnimMove_Bounce[]; +extern const u8 gBattleAnimMove_MudShot[]; +extern const u8 gBattleAnimMove_PoisonTail[]; +extern const u8 gBattleAnimMove_Covet[]; +extern const u8 gBattleAnimMove_VoltTackle[]; +extern const u8 gBattleAnimMove_MagicalLeaf[]; +extern const u8 gBattleAnimMove_WaterSport[]; +extern const u8 gBattleAnimMove_CalmMind[]; +extern const u8 gBattleAnimMove_LeafBlade[]; +extern const u8 gBattleAnimMove_DragonDance[]; +extern const u8 gBattleAnimMove_RockBlast[]; +extern const u8 gBattleAnimMove_ShockWave[]; +extern const u8 gBattleAnimMove_WaterPulse[]; +extern const u8 gBattleAnimMove_DoomDesire[]; +extern const u8 gBattleAnimMove_PsychoBoost[]; +extern const u8 gBattleAnimMove_Roost[]; +extern const u8 gBattleAnimMove_Gravity[]; +extern const u8 gBattleAnimMove_MiracleEye[]; +extern const u8 gBattleAnimMove_WakeUpSlap[]; +extern const u8 gBattleAnimMove_HammerArm[]; +extern const u8 gBattleAnimMove_GyroBall[]; +extern const u8 gBattleAnimMove_HealingWish[]; +extern const u8 gBattleAnimMove_Brine[]; +extern const u8 gBattleAnimMove_NaturalGift[]; +extern const u8 gBattleAnimMove_Feint[]; +extern const u8 gBattleAnimMove_Pluck[]; +extern const u8 gBattleAnimMove_Tailwind[]; +extern const u8 gBattleAnimMove_Acupressure[]; +extern const u8 gBattleAnimMove_MetalBurst[]; +extern const u8 gBattleAnimMove_UTurn[]; +extern const u8 gBattleAnimMove_CloseCombat[]; +extern const u8 gBattleAnimMove_Payback[]; +extern const u8 gBattleAnimMove_Assurance[]; +extern const u8 gBattleAnimMove_Embargo[]; +extern const u8 gBattleAnimMove_Fling[]; +extern const u8 gBattleAnimMove_PsychoShift[]; +extern const u8 gBattleAnimMove_TrumpCard[]; +extern const u8 gBattleAnimMove_HealBlock[]; +extern const u8 gBattleAnimMove_WringOut[]; +extern const u8 gBattleAnimMove_PowerTrick[]; +extern const u8 gBattleAnimMove_GastroAcid[]; +extern const u8 gBattleAnimMove_LuckyChant[]; +extern const u8 gBattleAnimMove_MeFirst[]; +extern const u8 gBattleAnimMove_Copycat[]; +extern const u8 gBattleAnimMove_PowerSwap[]; +extern const u8 gBattleAnimMove_GuardSwap[]; +extern const u8 gBattleAnimMove_Punishment[]; +extern const u8 gBattleAnimMove_LastResort[]; +extern const u8 gBattleAnimMove_WorrySeed[]; +extern const u8 gBattleAnimMove_SuckerPunch[]; +extern const u8 gBattleAnimMove_ToxicSpikes[]; +extern const u8 gBattleAnimMove_HeartSwap[]; +extern const u8 gBattleAnimMove_AquaRing[]; +extern const u8 gBattleAnimMove_MagnetRise[]; +extern const u8 gBattleAnimMove_FlareBlitz[]; +extern const u8 gBattleAnimMove_ForcePalm[]; +extern const u8 gBattleAnimMove_AuraSphere[]; +extern const u8 gBattleAnimMove_RockPolish[]; +extern const u8 gBattleAnimMove_PoisonJab[]; +extern const u8 gBattleAnimMove_DarkPulse[]; +extern const u8 gBattleAnimMove_NightSlash[]; +extern const u8 gBattleAnimMove_AquaTail[]; +extern const u8 gBattleAnimMove_SeedBomb[]; +extern const u8 gBattleAnimMove_AirSlash[]; +extern const u8 gBattleAnimMove_XScissor[]; +extern const u8 gBattleAnimMove_BugBuzz[]; +extern const u8 gBattleAnimMove_DragonPulse[]; +extern const u8 gBattleAnimMove_DragonRush[]; +extern const u8 gBattleAnimMove_PowerGem[]; +extern const u8 gBattleAnimMove_DrainPunch[]; +extern const u8 gBattleAnimMove_VacuumWave[]; +extern const u8 gBattleAnimMove_FocusBlast[]; +extern const u8 gBattleAnimMove_EnergyBall[]; +extern const u8 gBattleAnimMove_BraveBird[]; +extern const u8 gBattleAnimMove_EarthPower[]; +extern const u8 gBattleAnimMove_Switcheroo[]; +extern const u8 gBattleAnimMove_GigaImpact[]; +extern const u8 gBattleAnimMove_NastyPlot[]; +extern const u8 gBattleAnimMove_BulletPunch[]; +extern const u8 gBattleAnimMove_Avalanche[]; +extern const u8 gBattleAnimMove_IceShard[]; +extern const u8 gBattleAnimMove_ShadowClaw[]; +extern const u8 gBattleAnimMove_ThunderFang[]; +extern const u8 gBattleAnimMove_IceFang[]; +extern const u8 gBattleAnimMove_FireFang[]; +extern const u8 gBattleAnimMove_ShadowSneak[]; +extern const u8 gBattleAnimMove_MudBomb[]; +extern const u8 gBattleAnimMove_PsychoCut[]; +extern const u8 gBattleAnimMove_ZenHeadbutt[]; +extern const u8 gBattleAnimMove_MirrorShot[]; +extern const u8 gBattleAnimMove_FlashCannon[]; +extern const u8 gBattleAnimMove_RockClimb[]; +extern const u8 gBattleAnimMove_Defog[]; +extern const u8 gBattleAnimMove_TrickRoom[]; +extern const u8 gBattleAnimMove_DracoMeteor[]; +extern const u8 gBattleAnimMove_Discharge[]; +extern const u8 gBattleAnimMove_LavaPlume[]; +extern const u8 gBattleAnimMove_LeafStorm[]; +extern const u8 gBattleAnimMove_PowerWhip[]; +extern const u8 gBattleAnimMove_RockWrecker[]; +extern const u8 gBattleAnimMove_CrossPoison[]; +extern const u8 gBattleAnimMove_GunkShot[]; +extern const u8 gBattleAnimMove_IronHead[]; +extern const u8 gBattleAnimMove_MagnetBomb[]; +extern const u8 gBattleAnimMove_StoneEdge[]; +extern const u8 gBattleAnimMove_Captivate[]; +extern const u8 gBattleAnimMove_StealthRock[]; +extern const u8 gBattleAnimMove_GrassKnot[]; +extern const u8 gBattleAnimMove_Chatter[]; +extern const u8 gBattleAnimMove_Judgment[]; +extern const u8 gBattleAnimMove_BugBite[]; +extern const u8 gBattleAnimMove_ChargeBeam[]; +extern const u8 gBattleAnimMove_WoodHammer[]; +extern const u8 gBattleAnimMove_AquaJet[]; +extern const u8 gBattleAnimMove_AttackOrder[]; +extern const u8 gBattleAnimMove_DefendOrder[]; +extern const u8 gBattleAnimMove_HealOrder[]; +extern const u8 gBattleAnimMove_HeadSmash[]; +extern const u8 gBattleAnimMove_DoubleHit[]; +extern const u8 gBattleAnimMove_RoarOfTime[]; +extern const u8 gBattleAnimMove_SpacialRend[]; +extern const u8 gBattleAnimMove_LunarDance[]; +extern const u8 gBattleAnimMove_CrushGrip[]; +extern const u8 gBattleAnimMove_MagmaStorm[]; +extern const u8 gBattleAnimMove_DarkVoid[]; +extern const u8 gBattleAnimMove_SeedFlare[]; +extern const u8 gBattleAnimMove_OminousWind[]; +extern const u8 gBattleAnimMove_ShadowForce[]; +extern const u8 gBattleAnimMove_HoneClaws[]; +extern const u8 gBattleAnimMove_WideGuard[]; +extern const u8 gBattleAnimMove_GuardSplit[]; +extern const u8 gBattleAnimMove_PowerSplit[]; +extern const u8 gBattleAnimMove_WonderRoom[]; +extern const u8 gBattleAnimMove_Psyshock[]; +extern const u8 gBattleAnimMove_Venoshock[]; +extern const u8 gBattleAnimMove_Autotomize[]; +extern const u8 gBattleAnimMove_RagePowder[]; +extern const u8 gBattleAnimMove_Telekinesis[]; +extern const u8 gBattleAnimMove_MagicRoom[]; +extern const u8 gBattleAnimMove_SmackDown[]; +extern const u8 gBattleAnimMove_StormThrow[]; +extern const u8 gBattleAnimMove_FlameBurst[]; +extern const u8 gBattleAnimMove_SludgeWave[]; +extern const u8 gBattleAnimMove_QuiverDance[]; +extern const u8 gBattleAnimMove_HeavySlam[]; +extern const u8 gBattleAnimMove_Synchronoise[]; +extern const u8 gBattleAnimMove_ElectroBall[]; +extern const u8 gBattleAnimMove_Soak[]; +extern const u8 gBattleAnimMove_FlameCharge[]; +extern const u8 gBattleAnimMove_Coil[]; +extern const u8 gBattleAnimMove_LowSweep[]; +extern const u8 gBattleAnimMove_AcidSpray[]; +extern const u8 gBattleAnimMove_FoulPlay[]; +extern const u8 gBattleAnimMove_SimpleBeam[]; +extern const u8 gBattleAnimMove_Entrainment[]; +extern const u8 gBattleAnimMove_AfterYou[]; +extern const u8 gBattleAnimMove_Round[]; +extern const u8 gBattleAnimMove_EchoedVoice[]; +extern const u8 gBattleAnimMove_ChipAway[]; +extern const u8 gBattleAnimMove_ClearSmog[]; +extern const u8 gBattleAnimMove_StoredPower[]; +extern const u8 gBattleAnimMove_QuickGuard[]; +extern const u8 gBattleAnimMove_AllySwitch[]; +extern const u8 gBattleAnimMove_Scald[]; +extern const u8 gBattleAnimMove_ShellSmash[]; +extern const u8 gBattleAnimMove_HealPulse[]; +extern const u8 gBattleAnimMove_Hex[]; +extern const u8 gBattleAnimMove_SkyDrop[]; +extern const u8 gBattleAnimMove_ShiftGear[]; +extern const u8 gBattleAnimMove_CircleThrow[]; +extern const u8 gBattleAnimMove_Incinerate[]; +extern const u8 gBattleAnimMove_Quash[]; +extern const u8 gBattleAnimMove_Acrobatics[]; +extern const u8 gBattleAnimMove_ReflectType[]; +extern const u8 gBattleAnimMove_Retaliate[]; +extern const u8 gBattleAnimMove_FinalGambit[]; +extern const u8 gBattleAnimMove_Bestow[]; +extern const u8 gBattleAnimMove_Inferno[]; +extern const u8 gBattleAnimMove_WaterPledge[]; +extern const u8 gBattleAnimMove_FirePledge[]; +extern const u8 gBattleAnimMove_GrassPledge[]; +extern const u8 gBattleAnimMove_VoltSwitch[]; +extern const u8 gBattleAnimMove_StruggleBug[]; +extern const u8 gBattleAnimMove_Bulldoze[]; +extern const u8 gBattleAnimMove_FrostBreath[]; +extern const u8 gBattleAnimMove_DragonTail[]; +extern const u8 gBattleAnimMove_WorkUp[]; +extern const u8 gBattleAnimMove_Electroweb[]; +extern const u8 gBattleAnimMove_WildCharge[]; +extern const u8 gBattleAnimMove_DrillRun[]; +extern const u8 gBattleAnimMove_DualChop[]; +extern const u8 gBattleAnimMove_HeartStamp[]; +extern const u8 gBattleAnimMove_HornLeech[]; +extern const u8 gBattleAnimMove_SacredSword[]; +extern const u8 gBattleAnimMove_RazorShell[]; +extern const u8 gBattleAnimMove_HeatCrash[]; +extern const u8 gBattleAnimMove_LeafTornado[]; +extern const u8 gBattleAnimMove_Steamroller[]; +extern const u8 gBattleAnimMove_CottonGuard[]; +extern const u8 gBattleAnimMove_NightDaze[]; +extern const u8 gBattleAnimMove_Psystrike[]; +extern const u8 gBattleAnimMove_TailSlap[]; +extern const u8 gBattleAnimMove_Hurricane[]; +extern const u8 gBattleAnimMove_HeadCharge[]; +extern const u8 gBattleAnimMove_GearGrind[]; +extern const u8 gBattleAnimMove_SearingShot[]; +extern const u8 gBattleAnimMove_TechnoBlast[]; +extern const u8 gBattleAnimMove_RelicSong[]; +extern const u8 gBattleAnimMove_SecretSword[]; +extern const u8 gBattleAnimMove_Glaciate[]; +extern const u8 gBattleAnimMove_BoltStrike[]; +extern const u8 gBattleAnimMove_BlueFlare[]; +extern const u8 gBattleAnimMove_FieryDance[]; +extern const u8 gBattleAnimMove_FreezeShock[]; +extern const u8 gBattleAnimMove_IceBurn[]; +extern const u8 gBattleAnimMove_Snarl[]; +extern const u8 gBattleAnimMove_IcicleCrash[]; +extern const u8 gBattleAnimMove_VCreate[]; +extern const u8 gBattleAnimMove_FusionFlare[]; +extern const u8 gBattleAnimMove_FusionBolt[]; +extern const u8 gBattleAnimMove_FlyingPress[]; +extern const u8 gBattleAnimMove_MatBlock[]; +extern const u8 gBattleAnimMove_Belch[]; +extern const u8 gBattleAnimMove_Rototiller[]; +extern const u8 gBattleAnimMove_StickyWeb[]; +extern const u8 gBattleAnimMove_FellStinger[]; +extern const u8 gBattleAnimMove_PhantomForce[]; +extern const u8 gBattleAnimMove_TrickOrTreat[]; +extern const u8 gBattleAnimMove_NobleRoar[]; +extern const u8 gBattleAnimMove_IonDeluge[]; +extern const u8 gBattleAnimMove_ParabolicCharge[]; +extern const u8 gBattleAnimMove_ForestsCurse[]; +extern const u8 gBattleAnimMove_PetalBlizzard[]; +extern const u8 gBattleAnimMove_FreezeDry[]; +extern const u8 gBattleAnimMove_DisarmingVoice[]; +extern const u8 gBattleAnimMove_PartingShot[]; +extern const u8 gBattleAnimMove_TopsyTurvy[]; +extern const u8 gBattleAnimMove_DrainingKiss[]; +extern const u8 gBattleAnimMove_CraftyShield[]; +extern const u8 gBattleAnimMove_FlowerShield[]; +extern const u8 gBattleAnimMove_GrassyTerrain[]; +extern const u8 gBattleAnimMove_MistyTerrain[]; +extern const u8 gBattleAnimMove_Electrify[]; +extern const u8 gBattleAnimMove_PlayRough[]; +extern const u8 gBattleAnimMove_FairyWind[]; +extern const u8 gBattleAnimMove_Moonblast[]; +extern const u8 gBattleAnimMove_Boomburst[]; +extern const u8 gBattleAnimMove_FairyLock[]; +extern const u8 gBattleAnimMove_KingsShield[]; +extern const u8 gBattleAnimMove_PlayNice[]; +extern const u8 gBattleAnimMove_Confide[]; +extern const u8 gBattleAnimMove_DiamondStorm[]; +extern const u8 gBattleAnimMove_SteamEruption[]; +extern const u8 gBattleAnimMove_HyperspaceHole[]; +extern const u8 gBattleAnimMove_WaterShuriken[]; +extern const u8 gBattleAnimMove_MysticalFire[]; +extern const u8 gBattleAnimMove_SpikyShield[]; +extern const u8 gBattleAnimMove_AromaticMist[]; +extern const u8 gBattleAnimMove_EerieImpulse[]; +extern const u8 gBattleAnimMove_VenomDrench[]; +extern const u8 gBattleAnimMove_Powder[]; +extern const u8 gBattleAnimMove_Geomancy[]; +extern const u8 gBattleAnimMove_MagneticFlux[]; +extern const u8 gBattleAnimMove_HappyHour[]; +extern const u8 gBattleAnimMove_ElectricTerrain[]; +extern const u8 gBattleAnimMove_DazzlingGleam[]; +extern const u8 gBattleAnimMove_Celebrate[]; +extern const u8 gBattleAnimMove_HoldHands[]; +extern const u8 gBattleAnimMove_BabyDollEyes[]; +extern const u8 gBattleAnimMove_Nuzzle[]; +extern const u8 gBattleAnimMove_HoldBack[]; +extern const u8 gBattleAnimMove_Infestation[]; +extern const u8 gBattleAnimMove_PowerUpPunch[]; +extern const u8 gBattleAnimMove_OblivionWing[]; +extern const u8 gBattleAnimMove_ThousandArrows[]; +extern const u8 gBattleAnimMove_ThousandWaves[]; +extern const u8 gBattleAnimMove_LandsWrath[]; +extern const u8 gBattleAnimMove_LightOfRuin[]; +extern const u8 gBattleAnimMove_OriginPulse[]; +extern const u8 gBattleAnimMove_PrecipiceBlades[]; +extern const u8 gBattleAnimMove_DragonAscent[]; +extern const u8 gBattleAnimMove_HyperspaceFury[]; +extern const u8 gBattleAnimMove_ShoreUp[]; +extern const u8 gBattleAnimMove_FirstImpression[]; +extern const u8 gBattleAnimMove_BanefulBunker[]; +extern const u8 gBattleAnimMove_SpiritShackle[]; +extern const u8 gBattleAnimMove_DarkestLariat[]; +extern const u8 gBattleAnimMove_SparklingAria[]; +extern const u8 gBattleAnimMove_IceHammer[]; +extern const u8 gBattleAnimMove_FloralHealing[]; +extern const u8 gBattleAnimMove_HighHorsepower[]; +extern const u8 gBattleAnimMove_StrengthSap[]; +extern const u8 gBattleAnimMove_SolarBlade[]; +extern const u8 gBattleAnimMove_Leafage[]; +extern const u8 gBattleAnimMove_Spotlight[]; +extern const u8 gBattleAnimMove_ToxicThread[]; +extern const u8 gBattleAnimMove_LaserFocus[]; +extern const u8 gBattleAnimMove_GearUp[]; +extern const u8 gBattleAnimMove_ThroatChop[]; +extern const u8 gBattleAnimMove_PollenPuff[]; +extern const u8 gBattleAnimMove_AnchorShot[]; +extern const u8 gBattleAnimMove_PsychicTerrain[]; +extern const u8 gBattleAnimMove_Lunge[]; +extern const u8 gBattleAnimMove_FireLash[]; +extern const u8 gBattleAnimMove_PowerTrip[]; +extern const u8 gBattleAnimMove_BurnUp[]; +extern const u8 gBattleAnimMove_SpeedSwap[]; +extern const u8 gBattleAnimMove_SmartStrike[]; +extern const u8 gBattleAnimMove_Purify[]; +extern const u8 gBattleAnimMove_RevelationDance[]; +extern const u8 gBattleAnimMove_CoreEnforcer[]; +extern const u8 gBattleAnimMove_TropKick[]; +extern const u8 gBattleAnimMove_Instruct[]; +extern const u8 gBattleAnimMove_BeakBlast[]; +extern const u8 gBattleAnimMove_ClangingScales[]; +extern const u8 gBattleAnimMove_DragonHammer[]; +extern const u8 gBattleAnimMove_BrutalSwing[]; +extern const u8 gBattleAnimMove_AuroraVeil[]; +extern const u8 gBattleAnimMove_ShellTrap[]; +extern const u8 gBattleAnimMove_FleurCannon[]; +extern const u8 gBattleAnimMove_PsychicFangs[]; +extern const u8 gBattleAnimMove_StompingTantrum[]; +extern const u8 gBattleAnimMove_ShadowBone[]; +extern const u8 gBattleAnimMove_Accelerock[]; +extern const u8 gBattleAnimMove_Liquidation[]; +extern const u8 gBattleAnimMove_PrismaticLaser[]; +extern const u8 gBattleAnimMove_SpectralThief[]; +extern const u8 gBattleAnimMove_SunsteelStrike[]; +extern const u8 gBattleAnimMove_MoongeistBeam[]; +extern const u8 gBattleAnimMove_TearfulLook[]; +extern const u8 gBattleAnimMove_ZingZap[]; +extern const u8 gBattleAnimMove_NaturesMadness[]; +extern const u8 gBattleAnimMove_MultiAttack[]; +extern const u8 gBattleAnimMove_MindBlown[]; +extern const u8 gBattleAnimMove_PlasmaFists[]; +extern const u8 gBattleAnimMove_PhotonGeyser[]; +extern const u8 gBattleAnimMove_ZippyZap[]; +extern const u8 gBattleAnimMove_SplishySplash[]; +extern const u8 gBattleAnimMove_FloatyFall[]; +extern const u8 gBattleAnimMove_PikaPapow[]; +extern const u8 gBattleAnimMove_BouncyBubble[]; +extern const u8 gBattleAnimMove_BuzzyBuzz[]; +extern const u8 gBattleAnimMove_SizzlySlide[]; +extern const u8 gBattleAnimMove_GlitzyGlow[]; +extern const u8 gBattleAnimMove_BaddyBad[]; +extern const u8 gBattleAnimMove_SappySeed[]; +extern const u8 gBattleAnimMove_FreezyFrost[]; +extern const u8 gBattleAnimMove_SparklySwirl[]; +extern const u8 gBattleAnimMove_VeeveeVolley[]; +extern const u8 gBattleAnimMove_DoubleIronBash[]; +extern const u8 gBattleAnimMove_DynamaxCannon[]; +extern const u8 gBattleAnimMove_SnipeShot[]; +extern const u8 gBattleAnimMove_JawLock[]; +extern const u8 gBattleAnimMove_StuffCheeks[]; +extern const u8 gBattleAnimMove_NoRetreat[]; +extern const u8 gBattleAnimMove_TarShot[]; +extern const u8 gBattleAnimMove_MagicPowder[]; +extern const u8 gBattleAnimMove_DragonDarts[]; +extern const u8 gBattleAnimMove_Teatime[]; +extern const u8 gBattleAnimMove_Octolock[]; +extern const u8 gBattleAnimMove_BoltBeak[]; +extern const u8 gBattleAnimMove_FishiousRend[]; +extern const u8 gBattleAnimMove_CourtChange[]; +extern const u8 gBattleAnimMove_ClangorousSoul[]; +extern const u8 gBattleAnimMove_BodyPress[]; +extern const u8 gBattleAnimMove_Decorate[]; +extern const u8 gBattleAnimMove_DrumBeating[]; +extern const u8 gBattleAnimMove_SnapTrap[]; +extern const u8 gBattleAnimMove_PyroBall[]; +extern const u8 gBattleAnimMove_BehemothBlade[]; +extern const u8 gBattleAnimMove_BehemothBash[]; +extern const u8 gBattleAnimMove_AuraWheel[]; +extern const u8 gBattleAnimMove_BreakingSwipe[]; +extern const u8 gBattleAnimMove_BranchPoke[]; +extern const u8 gBattleAnimMove_Overdrive[]; +extern const u8 gBattleAnimMove_AppleAcid[]; +extern const u8 gBattleAnimMove_GravApple[]; +extern const u8 gBattleAnimMove_SpiritBreak[]; +extern const u8 gBattleAnimMove_StrangeSteam[]; +extern const u8 gBattleAnimMove_LifeDew[]; +extern const u8 gBattleAnimMove_Obstruct[]; +extern const u8 gBattleAnimMove_FalseSurrender[]; +extern const u8 gBattleAnimMove_MeteorAssault[]; +extern const u8 gBattleAnimMove_Eternabeam[]; +extern const u8 gBattleAnimMove_SteelBeam[]; +extern const u8 gBattleAnimMove_ExpandingForce[]; +extern const u8 gBattleAnimMove_SteelRoller[]; +extern const u8 gBattleAnimMove_ScaleShot[]; +extern const u8 gBattleAnimMove_MeteorBeam[]; +extern const u8 gBattleAnimMove_ShellSideArm[]; +extern const u8 gBattleAnimMove_MistyExplosion[]; +extern const u8 gBattleAnimMove_GrassyGlide[]; +extern const u8 gBattleAnimMove_RisingVoltage[]; +extern const u8 gBattleAnimMove_TerrainPulse[]; +extern const u8 gBattleAnimMove_SkitterSmack[]; +extern const u8 gBattleAnimMove_BurningJealousy[]; +extern const u8 gBattleAnimMove_LashOut[]; +extern const u8 gBattleAnimMove_Poltergeist[]; +extern const u8 gBattleAnimMove_CorrosiveGas[]; +extern const u8 gBattleAnimMove_Coaching[]; +extern const u8 gBattleAnimMove_FlipTurn[]; +extern const u8 gBattleAnimMove_TripleAxel[]; +extern const u8 gBattleAnimMove_DualWingbeat[]; +extern const u8 gBattleAnimMove_ScorchingSands[]; +extern const u8 gBattleAnimMove_JungleHealing[]; +extern const u8 gBattleAnimMove_WickedBlow[]; +extern const u8 gBattleAnimMove_SurgingStrikes[]; +extern const u8 gBattleAnimMove_ThunderCage[]; +extern const u8 gBattleAnimMove_DragonEnergy[]; +extern const u8 gBattleAnimMove_FreezingGlare[]; +extern const u8 gBattleAnimMove_FieryWrath[]; +extern const u8 gBattleAnimMove_ThunderousKick[]; +extern const u8 gBattleAnimMove_GlacialLance[]; +extern const u8 gBattleAnimMove_AstralBarrage[]; +extern const u8 gBattleAnimMove_EerieSpell[]; +extern const u8 gBattleAnimMove_DireClaw[]; +extern const u8 gBattleAnimMove_PsyshieldBash[]; +extern const u8 gBattleAnimMove_PowerShift[]; +extern const u8 gBattleAnimMove_StoneAxe[]; +extern const u8 gBattleAnimMove_SpringtideStorm[]; +extern const u8 gBattleAnimMove_MysticalPower[]; +extern const u8 gBattleAnimMove_RagingFury[]; +extern const u8 gBattleAnimMove_WaveCrash[]; +extern const u8 gBattleAnimMove_Chloroblast[]; +extern const u8 gBattleAnimMove_MountainGale[]; +extern const u8 gBattleAnimMove_VictoryDance[]; +extern const u8 gBattleAnimMove_HeadlongRush[]; +extern const u8 gBattleAnimMove_BarbBarrage[]; +extern const u8 gBattleAnimMove_EsperWing[]; +extern const u8 gBattleAnimMove_BitterMalice[]; +extern const u8 gBattleAnimMove_Shelter[]; +extern const u8 gBattleAnimMove_TripleArrows[]; +extern const u8 gBattleAnimMove_InfernalParade[]; +extern const u8 gBattleAnimMove_CeaselessEdge[]; +extern const u8 gBattleAnimMove_BleakwindStorm[]; +extern const u8 gBattleAnimMove_WildboltStorm[]; +extern const u8 gBattleAnimMove_SandsearStorm[]; +extern const u8 gBattleAnimMove_LunarBlessing[]; +extern const u8 gBattleAnimMove_TakeHeart[]; +extern const u8 gBattleAnimMove_TeraBlast[]; +extern const u8 gBattleAnimMove_SilkTrap[]; +extern const u8 gBattleAnimMove_AxeKick[]; +extern const u8 gBattleAnimMove_LastRespects[]; +extern const u8 gBattleAnimMove_LuminaCrash[]; +extern const u8 gBattleAnimMove_OrderUp[]; +extern const u8 gBattleAnimMove_JetPunch[]; +extern const u8 gBattleAnimMove_SpicyExtract[]; +extern const u8 gBattleAnimMove_SpinOut[]; +extern const u8 gBattleAnimMove_PopulationBomb[]; +extern const u8 gBattleAnimMove_IceSpinner[]; +extern const u8 gBattleAnimMove_GlaiveRush[]; +extern const u8 gBattleAnimMove_RevivalBlessing[]; +extern const u8 gBattleAnimMove_SaltCure[]; +extern const u8 gBattleAnimMove_TripleDive[]; +extern const u8 gBattleAnimMove_MortalSpin[]; +extern const u8 gBattleAnimMove_Doodle[]; +extern const u8 gBattleAnimMove_FilletAway[]; +extern const u8 gBattleAnimMove_KowtowCleave[]; +extern const u8 gBattleAnimMove_FlowerTrick[]; +extern const u8 gBattleAnimMove_TorchSong[]; +extern const u8 gBattleAnimMove_AquaStep[]; +extern const u8 gBattleAnimMove_RagingBull[]; +extern const u8 gBattleAnimMove_MakeItRain[]; +extern const u8 gBattleAnimMove_Ruination[]; +extern const u8 gBattleAnimMove_CollisionCourse[]; +extern const u8 gBattleAnimMove_ElectroDrift[]; +extern const u8 gBattleAnimMove_ShedTail[]; +extern const u8 gBattleAnimMove_ChillyReception[]; +extern const u8 gBattleAnimMove_TidyUp[]; +extern const u8 gBattleAnimMove_Snowscape[]; +extern const u8 gBattleAnimMove_Pounce[]; +extern const u8 gBattleAnimMove_Trailblaze[]; +extern const u8 gBattleAnimMove_ChillingWater[]; +extern const u8 gBattleAnimMove_HyperDrill[]; +extern const u8 gBattleAnimMove_TwinBeam[]; +extern const u8 gBattleAnimMove_RageFist[]; +extern const u8 gBattleAnimMove_ArmorCannon[]; +extern const u8 gBattleAnimMove_BitterBlade[]; +extern const u8 gBattleAnimMove_DoubleShock[]; +extern const u8 gBattleAnimMove_GigatonHammer[]; +extern const u8 gBattleAnimMove_Comeuppance[]; +extern const u8 gBattleAnimMove_AquaCutter[]; +extern const u8 gBattleAnimMove_BlazingTorque[]; +extern const u8 gBattleAnimMove_WickedTorque[]; +extern const u8 gBattleAnimMove_NoxiousTorque[]; +extern const u8 gBattleAnimMove_CombatTorque[]; +extern const u8 gBattleAnimMove_MagicalTorque[]; +extern const u8 gBattleAnimMove_Psyblade[]; +extern const u8 gBattleAnimMove_HydroSteam[]; +extern const u8 gBattleAnimMove_BloodMoon[]; +extern const u8 gBattleAnimMove_MatchaGotcha[]; +extern const u8 gBattleAnimMove_SyrupBomb[]; +extern const u8 gBattleAnimMove_IvyCudgel[]; +extern const u8 gBattleAnimMove_ElectroShot[]; +extern const u8 gBattleAnimMove_TeraStarstorm[]; +extern const u8 gBattleAnimMove_FickleBeam[]; +extern const u8 gBattleAnimMove_BurningBulwark[]; +extern const u8 gBattleAnimMove_Thunderclap[]; +extern const u8 gBattleAnimMove_MightyCleave[]; +extern const u8 gBattleAnimMove_TachyonCutter[]; +extern const u8 gBattleAnimMove_HardPress[]; +extern const u8 gBattleAnimMove_DragonCheer[]; +extern const u8 gBattleAnimMove_AlluringVoice[]; +extern const u8 gBattleAnimMove_TemperFlare[]; +extern const u8 gBattleAnimMove_SupercellSlam[]; +extern const u8 gBattleAnimMove_PsychicNoise[]; +extern const u8 gBattleAnimMove_UpperHand[]; +extern const u8 gBattleAnimMove_MalignantChain[]; +extern const u8 gBattleAnimMove_BreakneckBlitz[]; +extern const u8 gBattleAnimMove_AllOutPummeling[]; +extern const u8 gBattleAnimMove_SupersonicSkystrike[]; +extern const u8 gBattleAnimMove_AcidDownpour[]; +extern const u8 gBattleAnimMove_TectonicRage[]; +extern const u8 gBattleAnimMove_ContinentalCrush[]; +extern const u8 gBattleAnimMove_SavageSpinOut[]; +extern const u8 gBattleAnimMove_NeverEndingNightmare[]; +extern const u8 gBattleAnimMove_CorkscrewCrash[]; +extern const u8 gBattleAnimMove_InfernoOverdrive[]; +extern const u8 gBattleAnimMove_HydroVortex[]; +extern const u8 gBattleAnimMove_BloomDoom[]; +extern const u8 gBattleAnimMove_GigavoltHavoc[]; +extern const u8 gBattleAnimMove_ShatteredPsyche[]; +extern const u8 gBattleAnimMove_SubzeroSlammer[]; +extern const u8 gBattleAnimMove_DevastatingDrake[]; +extern const u8 gBattleAnimMove_BlackHoleEclipse[]; +extern const u8 gBattleAnimMove_TwinkleTackle[]; +extern const u8 gBattleAnimMove_Catastropika[]; +extern const u8 gBattleAnimMove_10000000VoltThunderbolt[]; +extern const u8 gBattleAnimMove_StokedSparksurfer[]; +extern const u8 gBattleAnimMove_ExtremeEvoboost[]; +extern const u8 gBattleAnimMove_PulverizingPancake[]; +extern const u8 gBattleAnimMove_GenesisSupernova[]; +extern const u8 gBattleAnimMove_SinisterArrowRaid[]; +extern const u8 gBattleAnimMove_MaliciousMoonsault[]; +extern const u8 gBattleAnimMove_OceanicOperetta[]; +extern const u8 gBattleAnimMove_SplinteredStormshards[]; +extern const u8 gBattleAnimMove_LetsSnuggleForever[]; +extern const u8 gBattleAnimMove_ClangorousSoulblaze[]; +extern const u8 gBattleAnimMove_GuardianOfAlola[]; +extern const u8 gBattleAnimMove_SearingSunrazeSmash[]; +extern const u8 gBattleAnimMove_MenacingMoonrazeMaelstrom[]; +extern const u8 gBattleAnimMove_LightThatBurnsTheSky[]; +extern const u8 gBattleAnimMove_SoulStealing7StarStrike[]; +extern const u8 gBattleAnimMove_MaxGuard[]; +extern const u8 gBattleAnimMove_MaxFlare[]; +extern const u8 gBattleAnimMove_MaxFlutterby[]; +extern const u8 gBattleAnimMove_MaxLightning[]; +extern const u8 gBattleAnimMove_MaxStrike[]; +extern const u8 gBattleAnimMove_MaxKnuckle[]; +extern const u8 gBattleAnimMove_MaxPhantasm[]; +extern const u8 gBattleAnimMove_MaxHailstorm[]; +extern const u8 gBattleAnimMove_MaxOoze[]; +extern const u8 gBattleAnimMove_MaxGeyser[]; +extern const u8 gBattleAnimMove_MaxAirstream[]; +extern const u8 gBattleAnimMove_MaxStarfall[]; +extern const u8 gBattleAnimMove_MaxWyrmwind[]; +extern const u8 gBattleAnimMove_MaxMindstorm[]; +extern const u8 gBattleAnimMove_MaxRockfall[]; +extern const u8 gBattleAnimMove_MaxQuake[]; +extern const u8 gBattleAnimMove_MaxDarkness[]; +extern const u8 gBattleAnimMove_MaxOvergrowth[]; +extern const u8 gBattleAnimMove_MaxSteelspike[]; +extern const u8 gBattleAnimMove_GMaxVineLash[]; +extern const u8 gBattleAnimMove_GMaxWildfire[]; +extern const u8 gBattleAnimMove_GMaxCannonade[]; +extern const u8 gBattleAnimMove_GMaxBefuddle[]; +extern const u8 gBattleAnimMove_GMaxVoltCrash[]; +extern const u8 gBattleAnimMove_GMaxGoldRush[]; +extern const u8 gBattleAnimMove_GMaxChiStrike[]; +extern const u8 gBattleAnimMove_GMaxTerror[]; +extern const u8 gBattleAnimMove_GMaxFoamBurst[]; +extern const u8 gBattleAnimMove_GMaxResonance[]; +extern const u8 gBattleAnimMove_GMaxCuddle[]; +extern const u8 gBattleAnimMove_GMaxReplenish[]; +extern const u8 gBattleAnimMove_GMaxMalodor[]; +extern const u8 gBattleAnimMove_GMaxMeltdown[]; +extern const u8 gBattleAnimMove_GMaxDrumSolo[]; +extern const u8 gBattleAnimMove_GMaxFireball[]; +extern const u8 gBattleAnimMove_GMaxHydrosnipe[]; +extern const u8 gBattleAnimMove_GMaxWindRage[]; +extern const u8 gBattleAnimMove_GMaxGravitas[]; +extern const u8 gBattleAnimMove_GMaxStonesurge[]; +extern const u8 gBattleAnimMove_GMaxVolcalith[]; +extern const u8 gBattleAnimMove_GMaxTartness[]; +extern const u8 gBattleAnimMove_GMaxSweetness[]; +extern const u8 gBattleAnimMove_GMaxSandblast[]; +extern const u8 gBattleAnimMove_GMaxStunShock[]; +extern const u8 gBattleAnimMove_GMaxCentiferno[]; +extern const u8 gBattleAnimMove_GMaxSmite[]; +extern const u8 gBattleAnimMove_GMaxSnooze[]; +extern const u8 gBattleAnimMove_GMaxFinale[]; +extern const u8 gBattleAnimMove_GMaxSteelsurge[]; +extern const u8 gBattleAnimMove_GMaxDepletion[]; +extern const u8 gBattleAnimMove_GMaxOneBlow[]; +extern const u8 gBattleAnimMove_GMaxRapidFlow[]; + +// status animations +extern const u8 gBattleAnimStatus_Poison[]; +extern const u8 gBattleAnimStatus_Confusion[]; +extern const u8 gBattleAnimStatus_Burn[]; +extern const u8 gBattleAnimStatus_Infatuation[]; +extern const u8 gBattleAnimStatus_Sleep[]; +extern const u8 gBattleAnimStatus_Paralysis[]; +extern const u8 gBattleAnimStatus_Freeze[]; +extern const u8 gBattleAnimStatus_Curse[]; +extern const u8 gBattleAnimStatus_Nightmare[]; + +// general animations +extern const u8 gBattleAnimGeneral_StatsChange[]; +extern const u8 gBattleAnimGeneral_SubstituteFade[]; +extern const u8 gBattleAnimGeneral_SubstituteAppear[]; +extern const u8 gBattleAnimGeneral_PokeblockThrow[]; +extern const u8 gBattleAnimGeneral_ItemKnockoff[]; +extern const u8 gBattleAnimGeneral_TurnTrap[]; +extern const u8 gBattleAnimGeneral_HeldItemEffect[]; +extern const u8 gBattleAnimGeneral_SmokeballEscape[]; +extern const u8 gBattleAnimGeneral_HangedOn[]; +extern const u8 gBattleAnimGeneral_Rain[]; +extern const u8 gBattleAnimGeneral_Sun[]; +extern const u8 gBattleAnimGeneral_Sandstorm[]; +extern const u8 gBattleAnimGeneral_Hail[]; +extern const u8 gBattleAnimGeneral_LeechSeedDrain[]; +extern const u8 gBattleAnimGeneral_MonHit[]; +extern const u8 gBattleAnimGeneral_ItemSteal[]; +extern const u8 gBattleAnimGeneral_SnatchMove[]; +extern const u8 gBattleAnimGeneral_FutureSightHit[]; +extern const u8 gBattleAnimGeneral_DoomDesireHit[]; +extern const u8 gBattleAnimGeneral_FocusPunchSetUp[]; +extern const u8 gBattleAnimGeneral_IngrainHeal[]; +extern const u8 gBattleAnimGeneral_WishHeal[]; +extern const u8 gBattleAnimGeneral_MegaEvolution[]; +extern const u8 gBattleAnimGeneral_IllusionOff[]; +extern const u8 gBattleAnimGeneral_FormChange[]; +extern const u8 gBattleAnimGeneral_SlideOffScreen[]; +extern const u8 gBattleAnimGeneral_RestoreBg[]; +extern const u8 gBattleAnimGeneral_TotemFlare[]; +extern const u8 gBattleAnimGeneral_GulpMissile[]; +extern const u8 gBattleAnimGeneral_StrongWinds[]; +extern const u8 gBattleAnimGeneral_PrimalReversion[]; +extern const u8 gBattleAnimGeneral_AquaRingHeal[]; +extern const u8 gBattleAnimGeneral_BeakBlastSetUp[]; +extern const u8 gBattleAnimGeneral_ShellTrapSetUp[]; +extern const u8 gBattleAnimGeneral_ZMoveActivate[]; +extern const u8 gBattleAnimGeneral_AffectionHangedOn[]; +extern const u8 gBattleAnimGeneral_Snow[]; +extern const u8 gBattleAnimGeneral_UltraBurst[]; +extern const u8 gBattleAnimGeneral_SaltCureDamage[]; +extern const u8 gBattleAnimGeneral_DynamaxGrowth[]; +extern const u8 gBattleAnimGeneral_SetWeather[]; +extern const u8 gBattleAnimGeneral_SyrupBombSpeedDrop[]; +extern const u8 gBattleAnimGeneral_Rainbow[]; +extern const u8 gBattleAnimGeneral_SeaOfFire[]; +extern const u8 gBattleAnimGeneral_Swamp[]; +extern const u8 gBattleAnimGeneral_TrickRoom[]; +extern const u8 gBattleAnimGeneral_WonderRoom[]; +extern const u8 gBattleAnimGeneral_MagicRoom[]; +extern const u8 gBattleAnimGeneral_Tailwind[]; +extern const u8 gBattleAnimGeneral_Fog[]; +extern const u8 gBattleAnimGeneral_TeraCharge[]; +extern const u8 gBattleAnimGeneral_TeraActivate[]; +extern const u8 gBattleAnimGeneral_SimpleHeal[]; + +// special animations +extern const u8 gBattleAnimSpecial_LevelUp[]; +extern const u8 gBattleAnimSpecial_SwitchOutPlayerMon[]; +extern const u8 gBattleAnimSpecial_SwitchOutOpponentMon[]; +extern const u8 gBattleAnimSpecial_BallThrow[]; +extern const u8 gBattleAnimSpecial_BallThrowWithTrainer[]; +extern const u8 gBattleAnimSpecial_SubstituteToMon[]; +extern const u8 gBattleAnimSpecial_MonToSubstitute[]; +extern const u8 gBattleAnimSpecial_CriticalCaptureBallThrow[]; + #endif // GUARD_BATTLE_ANIM_SCRIPTS_H diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index 54573a4868..986a95fb6d 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -528,7 +528,7 @@ #define BG_CHLOROBLAST 80 #define BG_RAINBOW 81 -// table ids for general animations (gBattleAnims_General) +// table ids for general animations (sBattleAnims_General) #define B_ANIM_STATS_CHANGE 0 #define B_ANIM_SUBSTITUTE_FADE 1 #define B_ANIM_SUBSTITUTE_APPEAR 2 @@ -583,7 +583,9 @@ #define B_ANIM_TERA_ACTIVATE 51 #define B_ANIM_SIMPLE_HEAL 52 -// special animations table (gBattleAnims_Special) +#define NUM_B_ANIMS_GENERAL 53 + +// special animations table (sBattleAnims_Special) #define B_ANIM_LVL_UP 0 #define B_ANIM_SWITCH_OUT_PLAYER_MON 1 #define B_ANIM_SWITCH_OUT_OPPONENT_MON 2 @@ -593,7 +595,9 @@ #define B_ANIM_MON_TO_SUBSTITUTE 6 #define B_ANIM_CRITICAL_CAPTURE_THROW 7 -// status animation table (gBattleAnims_StatusConditions) +#define NUM_B_ANIMS_SPECIAL 8 + +// status animation table (sBattleAnims_StatusConditions) #define B_ANIM_STATUS_PSN 0 #define B_ANIM_STATUS_CONFUSION 1 #define B_ANIM_STATUS_BRN 2 @@ -603,7 +607,8 @@ #define B_ANIM_STATUS_FRZ 6 #define B_ANIM_STATUS_CURSED 7 #define B_ANIM_STATUS_NIGHTMARE 8 -#define B_ANIM_STATUS_WRAPPED 9 // does not actually exist + +#define NUM_B_ANIMS_STATUS 9 // Tasks with return values often assign them to gBattleAnimArgs[7]. #define ARG_RET_ID 7 diff --git a/src/battle_anim.c b/src/battle_anim.c index 9f6648220e..b036f83cbf 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -1,6 +1,7 @@ #include "global.h" #include "battle.h" #include "battle_anim.h" +#include "battle_anim_scripts.h" #include "battle_controllers.h" #include "battle_interface.h" #include "battle_util.h" @@ -29,11 +30,6 @@ #define ANIM_SPRITE_INDEX_COUNT 8 -extern const u16 gMovesWithQuietBGM[]; -extern const u8 *const gBattleAnims_General[]; -extern const u8 *const gBattleAnims_Special[]; -extern const u8 *const gBattleAnims_StatusConditions[]; - static void Cmd_loadspritegfx(void); static void Cmd_unloadspritegfx(void); static void Cmd_createsprite(void); @@ -182,6 +178,93 @@ static void (* const sScriptCmdTable[])(void) = Cmd_createdragondartsprite, // 0x34 }; +static const u16 sMovesWithQuietBGM[] = +{ + MOVE_SING, MOVE_PERISH_SONG, MOVE_GRASS_WHISTLE +}; + +static const u8* const sBattleAnims_StatusConditions[NUM_B_ANIMS_STATUS] = +{ + [B_ANIM_STATUS_PSN] = gBattleAnimStatus_Poison, + [B_ANIM_STATUS_CONFUSION] = gBattleAnimStatus_Confusion, + [B_ANIM_STATUS_BRN] = gBattleAnimStatus_Burn, + [B_ANIM_STATUS_INFATUATION] = gBattleAnimStatus_Infatuation, + [B_ANIM_STATUS_SLP] = gBattleAnimStatus_Sleep, + [B_ANIM_STATUS_PRZ] = gBattleAnimStatus_Paralysis, + [B_ANIM_STATUS_FRZ] = gBattleAnimStatus_Freeze, + [B_ANIM_STATUS_CURSED] = gBattleAnimStatus_Curse, + [B_ANIM_STATUS_NIGHTMARE] = gBattleAnimStatus_Nightmare, +}; + +static const u8* const sBattleAnims_General[NUM_B_ANIMS_GENERAL] = +{ + [B_ANIM_STATS_CHANGE] = gBattleAnimGeneral_StatsChange, + [B_ANIM_SUBSTITUTE_FADE] = gBattleAnimGeneral_SubstituteFade, + [B_ANIM_SUBSTITUTE_APPEAR] = gBattleAnimGeneral_SubstituteAppear, + [B_ANIM_POKEBLOCK_THROW] = gBattleAnimGeneral_PokeblockThrow, + [B_ANIM_ITEM_KNOCKOFF] = gBattleAnimGeneral_ItemKnockoff, + [B_ANIM_TURN_TRAP] = gBattleAnimGeneral_TurnTrap, + [B_ANIM_HELD_ITEM_EFFECT] = gBattleAnimGeneral_HeldItemEffect, + [B_ANIM_SMOKEBALL_ESCAPE] = gBattleAnimGeneral_SmokeballEscape, + [B_ANIM_HANGED_ON] = gBattleAnimGeneral_HangedOn, + [B_ANIM_RAIN_CONTINUES] = gBattleAnimGeneral_Rain, + [B_ANIM_SUN_CONTINUES] = gBattleAnimGeneral_Sun, + [B_ANIM_SANDSTORM_CONTINUES] = gBattleAnimGeneral_Sandstorm, + [B_ANIM_HAIL_CONTINUES] = gBattleAnimGeneral_Hail, + [B_ANIM_LEECH_SEED_DRAIN] = gBattleAnimGeneral_LeechSeedDrain, + [B_ANIM_MON_HIT] = gBattleAnimGeneral_MonHit, + [B_ANIM_ITEM_STEAL] = gBattleAnimGeneral_ItemSteal, + [B_ANIM_SNATCH_MOVE] = gBattleAnimGeneral_SnatchMove, + [B_ANIM_FUTURE_SIGHT_HIT] = gBattleAnimGeneral_FutureSightHit, + [B_ANIM_DOOM_DESIRE_HIT] = gBattleAnimGeneral_DoomDesireHit, + [B_ANIM_FOCUS_PUNCH_SETUP] = gBattleAnimGeneral_FocusPunchSetUp, + [B_ANIM_INGRAIN_HEAL] = gBattleAnimGeneral_IngrainHeal, + [B_ANIM_WISH_HEAL] = gBattleAnimGeneral_WishHeal, + [B_ANIM_MEGA_EVOLUTION] = gBattleAnimGeneral_MegaEvolution, + [B_ANIM_ILLUSION_OFF] = gBattleAnimGeneral_IllusionOff, + [B_ANIM_FORM_CHANGE] = gBattleAnimGeneral_FormChange, + [B_ANIM_SLIDE_OFFSCREEN] = gBattleAnimGeneral_SlideOffScreen, + [B_ANIM_RESTORE_BG] = gBattleAnimGeneral_RestoreBg, + [B_ANIM_TOTEM_FLARE] = gBattleAnimGeneral_TotemFlare, + [B_ANIM_GULP_MISSILE] = gBattleAnimGeneral_GulpMissile, + [B_ANIM_STRONG_WINDS] = gBattleAnimGeneral_StrongWinds, + [B_ANIM_PRIMAL_REVERSION] = gBattleAnimGeneral_PrimalReversion, + [B_ANIM_AQUA_RING_HEAL] = gBattleAnimGeneral_AquaRingHeal, + [B_ANIM_BEAK_BLAST_SETUP] = gBattleAnimGeneral_BeakBlastSetUp, + [B_ANIM_SHELL_TRAP_SETUP] = gBattleAnimGeneral_ShellTrapSetUp, + [B_ANIM_ZMOVE_ACTIVATE] = gBattleAnimGeneral_ZMoveActivate, + [B_ANIM_AFFECTION_HANGED_ON] = gBattleAnimGeneral_AffectionHangedOn, + [B_ANIM_SNOW_CONTINUES] = gBattleAnimGeneral_Snow, + [B_ANIM_ULTRA_BURST] = gBattleAnimGeneral_UltraBurst, + [B_ANIM_SALT_CURE_DAMAGE] = gBattleAnimGeneral_SaltCureDamage, + [B_ANIM_DYNAMAX_GROWTH] = gBattleAnimGeneral_DynamaxGrowth, + [B_ANIM_MAX_SET_WEATHER] = gBattleAnimGeneral_SetWeather, + [B_ANIM_SYRUP_BOMB_SPEED_DROP] = gBattleAnimGeneral_SyrupBombSpeedDrop, + [B_ANIM_RAINBOW] = gBattleAnimGeneral_Rainbow, + [B_ANIM_SEA_OF_FIRE] = gBattleAnimGeneral_SeaOfFire, + [B_ANIM_SWAMP] = gBattleAnimGeneral_Swamp, + [B_ANIM_TRICK_ROOM] = gBattleAnimGeneral_TrickRoom, + [B_ANIM_WONDER_ROOM] = gBattleAnimGeneral_WonderRoom, + [B_ANIM_MAGIC_ROOM] = gBattleAnimGeneral_MagicRoom, + [B_ANIM_TAILWIND] = gBattleAnimGeneral_Tailwind, + [B_ANIM_FOG_CONTINUES] = gBattleAnimGeneral_Fog, + [B_ANIM_TERA_CHARGE] = gBattleAnimGeneral_TeraCharge, + [B_ANIM_TERA_ACTIVATE] = gBattleAnimGeneral_TeraActivate, + [B_ANIM_SIMPLE_HEAL] = gBattleAnimGeneral_SimpleHeal, +}; + +static const u8* const sBattleAnims_Special[NUM_B_ANIMS_SPECIAL] = +{ + [B_ANIM_LVL_UP] = gBattleAnimSpecial_LevelUp, + [B_ANIM_SWITCH_OUT_PLAYER_MON] = gBattleAnimSpecial_SwitchOutPlayerMon, + [B_ANIM_SWITCH_OUT_OPPONENT_MON] = gBattleAnimSpecial_SwitchOutOpponentMon, + [B_ANIM_BALL_THROW] = gBattleAnimSpecial_BallThrow, + [B_ANIM_BALL_THROW_WITH_TRAINER] = gBattleAnimSpecial_BallThrowWithTrainer, + [B_ANIM_SUBSTITUTE_TO_MON] = gBattleAnimSpecial_SubstituteToMon, + [B_ANIM_MON_TO_SUBSTITUTE] = gBattleAnimSpecial_MonToSubstitute, + [B_ANIM_CRITICAL_CAPTURE_THROW] = gBattleAnimSpecial_CriticalCaptureBallThrow, +}; + void ClearBattleAnimationVars(void) { s32 i; @@ -314,16 +397,16 @@ void LaunchBattleAnimation(u32 animType, u32 animId) { case ANIM_TYPE_GENERAL: default: - sBattleAnimScriptPtr = gBattleAnims_General[animId]; + sBattleAnimScriptPtr = sBattleAnims_General[animId]; break; case ANIM_TYPE_MOVE: sBattleAnimScriptPtr = GetMoveAnimationScript(animId); break; case ANIM_TYPE_STATUS: - sBattleAnimScriptPtr = gBattleAnims_StatusConditions[animId]; + sBattleAnimScriptPtr = sBattleAnims_StatusConditions[animId]; break; case ANIM_TYPE_SPECIAL: - sBattleAnimScriptPtr = gBattleAnims_Special[animId]; + sBattleAnimScriptPtr = sBattleAnims_Special[animId]; break; } gAnimScriptActive = TRUE; @@ -335,9 +418,9 @@ void LaunchBattleAnimation(u32 animType, u32 animId) if (animType == ANIM_TYPE_MOVE) { - for (i = 0; gMovesWithQuietBGM[i] != 0xFFFF; i++) + for (i = 0; i < ARRAY_COUNT(sMovesWithQuietBGM); i++) { - if (animId == gMovesWithQuietBGM[i]) + if (animId == sMovesWithQuietBGM[i]) { m4aMPlayVolumeControl(&gMPlayInfo_BGM, TRACKS_ALL, 128); break; diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 22736b7c2b..aa16003694 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -436,8 +436,6 @@ void InitAndLaunchChosenStatusAnimation(u32 battler, bool32 isStatus2, u32 statu LaunchStatusAnimation(battler, B_ANIM_STATUS_CURSED); else if (status & STATUS2_NIGHTMARE) LaunchStatusAnimation(battler, B_ANIM_STATUS_NIGHTMARE); - else if (status & STATUS2_WRAPPED) - LaunchStatusAnimation(battler, B_ANIM_STATUS_WRAPPED); // this animation doesn't actually exist else // no animation gBattleSpritesDataPtr->healthBoxesData[battler].statusAnimActive = 0; } diff --git a/src/data/moves_info.h b/src/data/moves_info.h index 0213161f0d..6dac60de27 100644 --- a/src/data/moves_info.h +++ b/src/data/moves_info.h @@ -128,7 +128,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .mirrorMoveBanned = TRUE, .sketchBanned = TRUE, .assistBanned = TRUE, - .battleAnimScript = Move_NONE, + .battleAnimScript = gBattleAnimMove_None, }, [MOVE_POUND] = @@ -151,7 +151,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_POUND, .contestComboMoves = {0}, - .battleAnimScript = Move_POUND, + .battleAnimScript = gBattleAnimMove_Pound, }, [MOVE_KARATE_CHOP] = @@ -174,7 +174,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, - .battleAnimScript = Move_KARATE_CHOP, + .battleAnimScript = gBattleAnimMove_KarateChop, }, [MOVE_DOUBLE_SLAP] = @@ -196,7 +196,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_POUND}, - .battleAnimScript = Move_DOUBLE_SLAP, + .battleAnimScript = gBattleAnimMove_DoubleSlap, }, [MOVE_COMET_PUNCH] = @@ -219,7 +219,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_COMET_PUNCH, + .battleAnimScript = gBattleAnimMove_CometPunch, }, [MOVE_MEGA_PUNCH] = @@ -242,7 +242,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER}, - .battleAnimScript = Move_MEGA_PUNCH, + .battleAnimScript = gBattleAnimMove_MegaPunch, }, [MOVE_PAY_DAY] = @@ -266,7 +266,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PAY_DAY, + .battleAnimScript = gBattleAnimMove_PayDay, }, [MOVE_FIRE_PUNCH] = @@ -293,7 +293,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_FIRE_PUNCH, .contestComboMoves = {COMBO_STARTER_ICE_PUNCH, COMBO_STARTER_SUNNY_DAY, COMBO_STARTER_THUNDER_PUNCH}, - .battleAnimScript = Move_FIRE_PUNCH, + .battleAnimScript = gBattleAnimMove_FirePunch, }, [MOVE_ICE_PUNCH] = @@ -324,7 +324,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_ICE_PUNCH, .contestComboMoves = {COMBO_STARTER_FIRE_PUNCH, COMBO_STARTER_THUNDER_PUNCH}, - .battleAnimScript = Move_ICE_PUNCH, + .battleAnimScript = gBattleAnimMove_IcePunch, }, [MOVE_THUNDER_PUNCH] = @@ -351,7 +351,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_THUNDER_PUNCH, .contestComboMoves = {COMBO_STARTER_CHARGE, COMBO_STARTER_FIRE_PUNCH, COMBO_STARTER_ICE_PUNCH}, - .battleAnimScript = Move_THUNDER_PUNCH, + .battleAnimScript = gBattleAnimMove_ThunderPunch, }, [MOVE_SCRATCH] = @@ -373,7 +373,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_SCRATCH, .contestComboMoves = {COMBO_STARTER_LEER}, - .battleAnimScript = Move_SCRATCH, + .battleAnimScript = gBattleAnimMove_Scratch, }, [MOVE_VISE_GRIP] = @@ -395,7 +395,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_VICE_GRIP, .contestComboMoves = {0}, - .battleAnimScript = Move_VISE_GRIP, + .battleAnimScript = gBattleAnimMove_ViseGrip, }, [MOVE_GUILLOTINE] = @@ -417,7 +417,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_VICE_GRIP}, - .battleAnimScript = Move_GUILLOTINE, + .battleAnimScript = gBattleAnimMove_Guillotine, }, [MOVE_RAZOR_WIND] = @@ -443,7 +443,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_RAZOR_WIND, + .battleAnimScript = gBattleAnimMove_RazorWind, }, [MOVE_SWORDS_DANCE] = @@ -467,7 +467,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_SWORDS_DANCE, .contestComboMoves = {0}, - .battleAnimScript = Move_SWORDS_DANCE, + .battleAnimScript = gBattleAnimMove_SwordsDance, }, [MOVE_CUT] = @@ -490,7 +490,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SWORDS_DANCE}, - .battleAnimScript = Move_CUT, + .battleAnimScript = gBattleAnimMove_Cut, }, [MOVE_GUST] = @@ -514,7 +514,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GUST, + .battleAnimScript = gBattleAnimMove_Gust, }, [MOVE_WING_ATTACK] = @@ -536,7 +536,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WING_ATTACK, + .battleAnimScript = gBattleAnimMove_WingAttack, }, [MOVE_WHIRLWIND] = @@ -564,7 +564,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WHIRLWIND, + .battleAnimScript = gBattleAnimMove_Whirlwind, }, [MOVE_FLY] = @@ -591,7 +591,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FLY, + .battleAnimScript = gBattleAnimMove_Fly, }, [MOVE_BIND] = @@ -617,7 +617,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_VICE_GRIP}, - .battleAnimScript = Move_BIND, + .battleAnimScript = gBattleAnimMove_Bind, }, [MOVE_SLAM] = @@ -640,7 +640,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_POUND}, - .battleAnimScript = Move_SLAM, + .battleAnimScript = gBattleAnimMove_Slam, }, [MOVE_VINE_WHIP] = @@ -668,7 +668,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_VINE_WHIP, + .battleAnimScript = gBattleAnimMove_VineWhip, }, [MOVE_STOMP] = @@ -696,7 +696,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_LEER}, - .battleAnimScript = Move_STOMP, + .battleAnimScript = gBattleAnimMove_Stomp, }, [MOVE_DOUBLE_KICK] = @@ -719,7 +719,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DOUBLE_KICK, + .battleAnimScript = gBattleAnimMove_DoubleKick, }, [MOVE_MEGA_KICK] = @@ -741,7 +741,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER}, - .battleAnimScript = Move_MEGA_KICK, + .battleAnimScript = gBattleAnimMove_MegaKick, }, [MOVE_JUMP_KICK] = @@ -770,7 +770,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_MIND_READER}, - .battleAnimScript = Move_JUMP_KICK, + .battleAnimScript = gBattleAnimMove_JumpKick, }, [MOVE_ROLLING_KICK] = @@ -797,7 +797,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ROLLING_KICK, + .battleAnimScript = gBattleAnimMove_RollingKick, }, [MOVE_SAND_ATTACK] = @@ -820,7 +820,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_SAND_ATTACK, .contestComboMoves = {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_SANDSTORM}, - .battleAnimScript = Move_SAND_ATTACK, + .battleAnimScript = gBattleAnimMove_SandAttack, }, [MOVE_HEADBUTT] = @@ -846,7 +846,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, - .battleAnimScript = Move_HEADBUTT, + .battleAnimScript = gBattleAnimMove_Headbutt, }, [MOVE_HORN_ATTACK] = @@ -868,7 +868,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_HORN_ATTACK, .contestComboMoves = {COMBO_STARTER_LEER}, - .battleAnimScript = Move_HORN_ATTACK, + .battleAnimScript = gBattleAnimMove_HornAttack, }, [MOVE_FURY_ATTACK] = @@ -890,7 +890,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HORN_ATTACK, COMBO_STARTER_PECK}, - .battleAnimScript = Move_FURY_ATTACK, + .battleAnimScript = gBattleAnimMove_FuryAttack, }, [MOVE_HORN_DRILL] = @@ -912,7 +912,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HORN_ATTACK}, - .battleAnimScript = Move_HORN_DRILL, + .battleAnimScript = gBattleAnimMove_HornDrill, }, [MOVE_TACKLE] = @@ -940,7 +940,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_HARDEN, COMBO_STARTER_LEER}, - .battleAnimScript = Move_TACKLE, + .battleAnimScript = gBattleAnimMove_Tackle, }, [MOVE_BODY_SLAM] = @@ -968,7 +968,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BODY_SLAM, + .battleAnimScript = gBattleAnimMove_BodySlam, }, [MOVE_WRAP] = @@ -993,7 +993,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WRAP, + .battleAnimScript = gBattleAnimMove_Wrap, }, [MOVE_TAKE_DOWN] = @@ -1016,7 +1016,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN}, - .battleAnimScript = Move_TAKE_DOWN, + .battleAnimScript = gBattleAnimMove_TakeDown, }, [MOVE_THRASH] = @@ -1043,7 +1043,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAGE}, - .battleAnimScript = Move_THRASH, + .battleAnimScript = gBattleAnimMove_Thrash, }, [MOVE_DOUBLE_EDGE] = @@ -1066,7 +1066,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_HARDEN}, - .battleAnimScript = Move_DOUBLE_EDGE, + .battleAnimScript = gBattleAnimMove_DoubleEdge, }, [MOVE_TAIL_WHIP] = @@ -1089,7 +1089,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARM}, - .battleAnimScript = Move_TAIL_WHIP, + .battleAnimScript = gBattleAnimMove_TailWhip, }, [MOVE_POISON_STING] = @@ -1114,7 +1114,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POISON_STING, + .battleAnimScript = gBattleAnimMove_PoisonSting, }, [MOVE_TWINEEDLE] = @@ -1141,7 +1141,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TWINEEDLE, + .battleAnimScript = gBattleAnimMove_Twineedle, }, [MOVE_PIN_MISSILE] = @@ -1162,7 +1162,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PIN_MISSILE, + .battleAnimScript = gBattleAnimMove_PinMissile, }, [MOVE_LEER] = @@ -1185,7 +1185,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_LEER, .contestComboMoves = {COMBO_STARTER_RAGE, COMBO_STARTER_SCARY_FACE}, - .battleAnimScript = Move_LEER, + .battleAnimScript = gBattleAnimMove_Leer, }, [MOVE_BITE] = @@ -1212,7 +1212,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_LEER, COMBO_STARTER_SCARY_FACE}, - .battleAnimScript = Move_BITE, + .battleAnimScript = gBattleAnimMove_Bite, }, [MOVE_GROWL] = @@ -1237,7 +1237,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARM}, - .battleAnimScript = Move_GROWL, + .battleAnimScript = gBattleAnimMove_Growl, }, [MOVE_ROAR] = @@ -1265,7 +1265,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ROAR, + .battleAnimScript = gBattleAnimMove_Roar, }, [MOVE_SING] = @@ -1290,7 +1290,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_SING, .contestComboMoves = {0}, - .battleAnimScript = Move_SING, + .battleAnimScript = gBattleAnimMove_Sing, }, [MOVE_SUPERSONIC] = @@ -1315,7 +1315,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SUPERSONIC, + .battleAnimScript = gBattleAnimMove_Supersonic, }, [MOVE_SONIC_BOOM] = @@ -1337,7 +1337,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SONIC_BOOM, + .battleAnimScript = gBattleAnimMove_SonicBoom, }, [MOVE_DISABLE] = @@ -1367,7 +1367,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DISABLE, + .battleAnimScript = gBattleAnimMove_Disable, }, [MOVE_ACID] = @@ -1396,7 +1396,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ACID, + .battleAnimScript = gBattleAnimMove_Acid, }, [MOVE_EMBER] = @@ -1421,7 +1421,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_EMBER, + .battleAnimScript = gBattleAnimMove_Ember, }, [MOVE_FLAMETHROWER] = @@ -1446,7 +1446,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_FLAMETHROWER, + .battleAnimScript = gBattleAnimMove_Flamethrower, }, [MOVE_MIST] = @@ -1471,7 +1471,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MIST, + .battleAnimScript = gBattleAnimMove_Mist, }, [MOVE_WATER_GUN] = @@ -1492,7 +1492,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_MUD_SPORT, COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_WATER_SPORT}, - .battleAnimScript = Move_WATER_GUN, + .battleAnimScript = gBattleAnimMove_WaterGun, }, [MOVE_HYDRO_PUMP] = @@ -1513,7 +1513,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_HYDRO_PUMP, + .battleAnimScript = gBattleAnimMove_HydroPump, }, [MOVE_SURF] = @@ -1536,7 +1536,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_SURF, .contestComboMoves = {COMBO_STARTER_DIVE, COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_SURF, + .battleAnimScript = gBattleAnimMove_Surf, }, [MOVE_ICE_BEAM] = @@ -1558,7 +1558,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, .additionalEffects = ADDITIONAL_EFFECTS({ - // The following effect is also relevant in battle_pike.c + // The following effect is also relevant in battle_Pike.c // If you cherry-pick this to use something other than the config, make sure to update it there too .moveEffect = MOVE_EFFECT_FREEZE_OR_FROSTBITE, .chance = 10, @@ -1567,7 +1567,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL}, - .battleAnimScript = Move_ICE_BEAM, + .battleAnimScript = gBattleAnimMove_IceBeam, }, [MOVE_BLIZZARD] = @@ -1597,7 +1597,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL, COMBO_STARTER_POWDER_SNOW}, - .battleAnimScript = Move_BLIZZARD, + .battleAnimScript = gBattleAnimMove_Blizzard, }, [MOVE_PSYBEAM] = @@ -1622,7 +1622,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, - .battleAnimScript = Move_PSYBEAM, + .battleAnimScript = gBattleAnimMove_Psybeam, }, [MOVE_BUBBLE_BEAM] = @@ -1647,7 +1647,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_BUBBLE_BEAM, + .battleAnimScript = gBattleAnimMove_BubbleBeam, }, [MOVE_AURORA_BEAM] = @@ -1672,7 +1672,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL}, - .battleAnimScript = Move_AURORA_BEAM, + .battleAnimScript = gBattleAnimMove_AuroraBeam, }, [MOVE_HYPER_BEAM] = @@ -1696,7 +1696,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HYPER_BEAM, + .battleAnimScript = gBattleAnimMove_HyperBeam, }, [MOVE_PECK] = @@ -1718,7 +1718,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_PECK, .contestComboMoves = {0}, - .battleAnimScript = Move_PECK, + .battleAnimScript = gBattleAnimMove_Peck, }, [MOVE_DRILL_PECK] = @@ -1740,7 +1740,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_PECK}, - .battleAnimScript = Move_DRILL_PECK, + .battleAnimScript = gBattleAnimMove_DrillPeck, }, [MOVE_SUBMISSION] = @@ -1763,7 +1763,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_MIND_READER}, - .battleAnimScript = Move_SUBMISSION, + .battleAnimScript = gBattleAnimMove_Submission, }, [MOVE_LOW_KICK] = @@ -1785,7 +1785,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LOW_KICK, + .battleAnimScript = gBattleAnimMove_LowKick, }, [MOVE_COUNTER] = @@ -1812,7 +1812,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_TAUNT}, - .battleAnimScript = Move_COUNTER, + .battleAnimScript = gBattleAnimMove_Counter, }, [MOVE_SEISMIC_TOSS] = @@ -1835,7 +1835,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FAKE_OUT}, - .battleAnimScript = Move_SEISMIC_TOSS, + .battleAnimScript = gBattleAnimMove_SeismicToss, }, [MOVE_STRENGTH] = @@ -1857,7 +1857,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STRENGTH, + .battleAnimScript = gBattleAnimMove_Strength, }, [MOVE_ABSORB] = @@ -1880,7 +1880,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_ABSORB, + .battleAnimScript = gBattleAnimMove_Absorb, }, [MOVE_MEGA_DRAIN] = @@ -1902,7 +1902,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_MEGA_DRAIN, + .battleAnimScript = gBattleAnimMove_MegaDrain, }, [MOVE_LEECH_SEED] = @@ -1925,7 +1925,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_LEECH_SEED, .contestComboMoves = {COMBO_STARTER_GROWTH, COMBO_STARTER_WORRY_SEED}, - .battleAnimScript = Move_LEECH_SEED, + .battleAnimScript = gBattleAnimMove_LeechSeed, }, [MOVE_GROWTH] = @@ -1950,7 +1950,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_GROWTH, .contestComboMoves = {0}, - .battleAnimScript = Move_GROWTH, + .battleAnimScript = gBattleAnimMove_Growth, }, [MOVE_RAZOR_LEAF] = @@ -1973,7 +1973,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_RAZOR_LEAF, + .battleAnimScript = gBattleAnimMove_RazorLeaf, }, [MOVE_SOLAR_BEAM] = @@ -1997,7 +1997,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH, COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_SOLAR_BEAM, + .battleAnimScript = gBattleAnimMove_SolarBeam, }, [MOVE_POISON_POWDER] = @@ -2021,7 +2021,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SWEET_SCENT}, - .battleAnimScript = Move_POISON_POWDER, + .battleAnimScript = gBattleAnimMove_PoisonPowder, }, [MOVE_STUN_SPORE] = @@ -2045,7 +2045,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SWEET_SCENT}, - .battleAnimScript = Move_STUN_SPORE, + .battleAnimScript = gBattleAnimMove_StunSpore, }, [MOVE_SLEEP_POWDER] = @@ -2069,7 +2069,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SWEET_SCENT}, - .battleAnimScript = Move_SLEEP_POWDER, + .battleAnimScript = gBattleAnimMove_SleepPowder, }, [MOVE_PETAL_DANCE] = @@ -2103,7 +2103,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_PETAL_DANCE, + .battleAnimScript = gBattleAnimMove_PetalDance, }, [MOVE_STRING_SHOT] = @@ -2126,7 +2126,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_STRING_SHOT, .contestComboMoves = {0}, - .battleAnimScript = Move_STRING_SHOT, + .battleAnimScript = gBattleAnimMove_StringShot, }, [MOVE_DRAGON_RAGE] = @@ -2149,7 +2149,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_DRAGON_RAGE, .contestComboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE, COMBO_STARTER_DRAGON_RUSH, COMBO_STARTER_DRAGON_TAIL}, - .battleAnimScript = Move_DRAGON_RAGE, + .battleAnimScript = gBattleAnimMove_DragonRage, }, [MOVE_FIRE_SPIN] = @@ -2174,7 +2174,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_FIRE_SPIN, + .battleAnimScript = gBattleAnimMove_FireSpin, }, [MOVE_THUNDER_SHOCK] = @@ -2199,7 +2199,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE}, - .battleAnimScript = Move_THUNDER_SHOCK, + .battleAnimScript = gBattleAnimMove_ThunderShock, }, [MOVE_THUNDERBOLT] = @@ -2224,7 +2224,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE}, - .battleAnimScript = Move_THUNDERBOLT, + .battleAnimScript = gBattleAnimMove_Thunderbolt, }, [MOVE_THUNDER_WAVE] = @@ -2247,7 +2247,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE}, - .battleAnimScript = Move_THUNDER_WAVE, + .battleAnimScript = gBattleAnimMove_ThunderWave, }, [MOVE_THUNDER] = @@ -2273,7 +2273,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE, COMBO_STARTER_LOCK_ON, COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_THUNDER, + .battleAnimScript = gBattleAnimMove_Thunder, }, [MOVE_ROCK_THROW] = @@ -2294,7 +2294,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_ROCK_THROW, .contestComboMoves = {0}, - .battleAnimScript = Move_ROCK_THROW, + .battleAnimScript = gBattleAnimMove_RockThrow, }, [MOVE_EARTHQUAKE] = @@ -2318,7 +2318,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_EARTHQUAKE, .contestComboMoves = {0}, - .battleAnimScript = Move_EARTHQUAKE, + .battleAnimScript = gBattleAnimMove_Earthquake, }, [MOVE_FISSURE] = @@ -2341,7 +2341,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_EARTHQUAKE}, - .battleAnimScript = Move_FISSURE, + .battleAnimScript = gBattleAnimMove_Fissure, }, [MOVE_DIG] = @@ -2368,7 +2368,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DIG, + .battleAnimScript = gBattleAnimMove_Dig, }, [MOVE_TOXIC] = @@ -2391,7 +2391,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_TOXIC, .contestComboMoves = {0}, - .battleAnimScript = Move_TOXIC, + .battleAnimScript = gBattleAnimMove_Toxic, }, [MOVE_CONFUSION] = @@ -2416,7 +2416,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_CONFUSION, .contestComboMoves = {COMBO_STARTER_CALM_MIND, COMBO_STARTER_KINESIS, COMBO_STARTER_PSYCHIC}, - .battleAnimScript = Move_CONFUSION, + .battleAnimScript = gBattleAnimMove_Confusion, }, [MOVE_PSYCHIC] = @@ -2441,7 +2441,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_PSYCHIC, .contestComboMoves = {COMBO_STARTER_CALM_MIND, COMBO_STARTER_CONFUSION, COMBO_STARTER_KINESIS}, - .battleAnimScript = Move_PSYCHIC, + .battleAnimScript = gBattleAnimMove_Psychic, }, [MOVE_HYPNOSIS] = @@ -2464,7 +2464,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_HYPNOSIS, .contestComboMoves = {0}, - .battleAnimScript = Move_HYPNOSIS, + .battleAnimScript = gBattleAnimMove_Hypnosis, }, [MOVE_MEDITATE] = @@ -2489,7 +2489,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, - .battleAnimScript = Move_MEDITATE, + .battleAnimScript = gBattleAnimMove_Meditate, }, [MOVE_AGILITY] = @@ -2514,7 +2514,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_DOUBLE_TEAM}, - .battleAnimScript = Move_AGILITY, + .battleAnimScript = gBattleAnimMove_Agility, }, [MOVE_QUICK_ATTACK] = @@ -2536,7 +2536,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_DOUBLE_TEAM}, - .battleAnimScript = Move_QUICK_ATTACK, + .battleAnimScript = gBattleAnimMove_QuickAttack, }, [MOVE_RAGE] = @@ -2558,7 +2558,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_RAGE, .contestComboMoves = {0}, - .battleAnimScript = Move_RAGE, + .battleAnimScript = gBattleAnimMove_Rage, }, [MOVE_TELEPORT] = @@ -2582,7 +2582,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CONFUSION, COMBO_STARTER_DOUBLE_TEAM, COMBO_STARTER_KINESIS, COMBO_STARTER_PSYCHIC}, - .battleAnimScript = Move_TELEPORT, + .battleAnimScript = gBattleAnimMove_Teleport, }, [MOVE_NIGHT_SHADE] = @@ -2603,7 +2603,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NIGHT_SHADE, + .battleAnimScript = gBattleAnimMove_NightShade, }, [MOVE_MIMIC] = @@ -2633,7 +2633,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MIMIC, + .battleAnimScript = gBattleAnimMove_Mimic, }, [MOVE_SCREECH] = @@ -2658,7 +2658,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SCREECH, + .battleAnimScript = gBattleAnimMove_Screech, }, [MOVE_DOUBLE_TEAM] = @@ -2683,7 +2683,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_DOUBLE_TEAM, .contestComboMoves = {0}, - .battleAnimScript = Move_DOUBLE_TEAM, + .battleAnimScript = gBattleAnimMove_DoubleTeam, }, [MOVE_RECOVER] = @@ -2715,7 +2715,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_RECOVER, + .battleAnimScript = gBattleAnimMove_Recover, }, [MOVE_HARDEN] = @@ -2740,7 +2740,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_HARDEN, .contestComboMoves = {0}, - .battleAnimScript = Move_HARDEN, + .battleAnimScript = gBattleAnimMove_Harden, }, [MOVE_MINIMIZE] = @@ -2765,7 +2765,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MINIMIZE, + .battleAnimScript = gBattleAnimMove_Minimize, }, [MOVE_SMOKESCREEN] = @@ -2788,7 +2788,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SMOG}, - .battleAnimScript = Move_SMOKESCREEN, + .battleAnimScript = gBattleAnimMove_Smokescreen, }, [MOVE_CONFUSE_RAY] = @@ -2811,7 +2811,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CONFUSE_RAY, + .battleAnimScript = gBattleAnimMove_ConfuseRay, }, [MOVE_WITHDRAW] = @@ -2836,7 +2836,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_WITHDRAW, + .battleAnimScript = gBattleAnimMove_Withdraw, }, [MOVE_DEFENSE_CURL] = @@ -2861,7 +2861,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_DEFENSE_CURL, .contestComboMoves = {0}, - .battleAnimScript = Move_DEFENSE_CURL, + .battleAnimScript = gBattleAnimMove_DefenseCurl, }, [MOVE_BARRIER] = @@ -2886,7 +2886,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BARRIER, + .battleAnimScript = gBattleAnimMove_Barrier, }, [MOVE_LIGHT_SCREEN] = @@ -2911,7 +2911,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, - .battleAnimScript = Move_LIGHT_SCREEN, + .battleAnimScript = gBattleAnimMove_LightScreen, }, [MOVE_HAZE] = @@ -2936,7 +2936,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL}, - .battleAnimScript = Move_HAZE, + .battleAnimScript = gBattleAnimMove_Haze, }, [MOVE_REFLECT] = @@ -2961,7 +2961,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, - .battleAnimScript = Move_REFLECT, + .battleAnimScript = gBattleAnimMove_Reflect, }, [MOVE_FOCUS_ENERGY] = @@ -2987,7 +2987,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_FOCUS_ENERGY, .contestComboMoves = {0}, - .battleAnimScript = Move_FOCUS_ENERGY, + .battleAnimScript = gBattleAnimMove_FocusEnergy, }, [MOVE_BIDE] = @@ -3012,7 +3012,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BIDE, + .battleAnimScript = gBattleAnimMove_Bide, }, [MOVE_METRONOME] = @@ -3042,7 +3042,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_METRONOME, + .battleAnimScript = gBattleAnimMove_Metronome, }, [MOVE_MIRROR_MOVE] = @@ -3071,7 +3071,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MIRROR_MOVE, + .battleAnimScript = gBattleAnimMove_MirrorMove, }, [MOVE_SELF_DESTRUCT] = @@ -3093,7 +3093,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SELF_DESTRUCT, + .battleAnimScript = gBattleAnimMove_SelfDestruct, }, [MOVE_EGG_BOMB] = @@ -3115,7 +3115,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SOFT_BOILED}, - .battleAnimScript = Move_EGG_BOMB, + .battleAnimScript = gBattleAnimMove_EggBomb, }, [MOVE_LICK] = @@ -3141,7 +3141,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LICK, + .battleAnimScript = gBattleAnimMove_Lick, }, [MOVE_SMOG] = @@ -3166,7 +3166,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_SMOG, .contestComboMoves = {0}, - .battleAnimScript = Move_SMOG, + .battleAnimScript = gBattleAnimMove_Smog, }, [MOVE_SLUDGE] = @@ -3191,7 +3191,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_SLUDGE, .contestComboMoves = {COMBO_STARTER_SLUDGE_BOMB}, - .battleAnimScript = Move_SLUDGE, + .battleAnimScript = gBattleAnimMove_Sludge, }, [MOVE_BONE_CLUB] = @@ -3216,7 +3216,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_BONE_CLUB, .contestComboMoves = {COMBO_STARTER_BONEMERANG, COMBO_STARTER_BONE_RUSH, COMBO_STARTER_SHADOW_BONE}, - .battleAnimScript = Move_BONE_CLUB, + .battleAnimScript = gBattleAnimMove_BoneClub, }, [MOVE_FIRE_BLAST] = @@ -3241,7 +3241,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_FIRE_BLAST, + .battleAnimScript = gBattleAnimMove_FireBlast, }, [MOVE_WATERFALL] = @@ -3269,7 +3269,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_WATERFALL, + .battleAnimScript = gBattleAnimMove_Waterfall, }, [MOVE_CLAMP] = @@ -3295,7 +3295,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_CLAMP, + .battleAnimScript = gBattleAnimMove_Clamp, }, [MOVE_SWIFT] = @@ -3316,7 +3316,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SWIFT, + .battleAnimScript = gBattleAnimMove_Swift, }, [MOVE_SKULL_BASH] = @@ -3346,7 +3346,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SKULL_BASH, + .battleAnimScript = gBattleAnimMove_SkullBash, }, [MOVE_SPIKE_CANNON] = @@ -3367,7 +3367,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SPIKE_CANNON, + .battleAnimScript = gBattleAnimMove_SpikeCannon, }, [MOVE_CONSTRICT] = @@ -3393,7 +3393,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CONSTRICT, + .battleAnimScript = gBattleAnimMove_Constrict, }, [MOVE_AMNESIA] = @@ -3418,7 +3418,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AMNESIA, + .battleAnimScript = gBattleAnimMove_Amnesia, }, [MOVE_KINESIS] = @@ -3441,7 +3441,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_KINESIS, .contestComboMoves = {COMBO_STARTER_CONFUSION, COMBO_STARTER_PSYCHIC}, - .battleAnimScript = Move_KINESIS, + .battleAnimScript = gBattleAnimMove_Kinesis, }, [MOVE_SOFT_BOILED] = @@ -3467,7 +3467,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_SOFT_BOILED, .contestComboMoves = {0}, - .battleAnimScript = Move_SOFT_BOILED, + .battleAnimScript = gBattleAnimMove_SoftBoiled, }, [MOVE_HIGH_JUMP_KICK] = @@ -3496,7 +3496,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_MIND_READER}, - .battleAnimScript = Move_HIGH_JUMP_KICK, + .battleAnimScript = gBattleAnimMove_HighJumpKick, }, [MOVE_GLARE] = @@ -3525,7 +3525,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_LEER}, - .battleAnimScript = Move_GLARE, + .battleAnimScript = gBattleAnimMove_Glare, }, [MOVE_DREAM_EATER] = @@ -3547,7 +3547,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND, COMBO_STARTER_HYPNOSIS}, - .battleAnimScript = Move_DREAM_EATER, + .battleAnimScript = gBattleAnimMove_DreamEater, }, [MOVE_POISON_GAS] = @@ -3576,7 +3576,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POISON_GAS, + .battleAnimScript = gBattleAnimMove_PoisonGas, }, [MOVE_BARRAGE] = @@ -3598,7 +3598,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BARRAGE, + .battleAnimScript = gBattleAnimMove_Barrage, }, [MOVE_LEECH_LIFE] = @@ -3622,7 +3622,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LEECH_LIFE, + .battleAnimScript = gBattleAnimMove_LeechLife, }, [MOVE_LOVELY_KISS] = @@ -3645,7 +3645,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LOVELY_KISS, + .battleAnimScript = gBattleAnimMove_LovelyKiss, }, [MOVE_SKY_ATTACK] = @@ -3676,7 +3676,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SKY_ATTACK, + .battleAnimScript = gBattleAnimMove_SkyAttack, }, [MOVE_TRANSFORM] = @@ -3706,7 +3706,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TRANSFORM, + .battleAnimScript = gBattleAnimMove_Transform, }, [MOVE_BUBBLE] = @@ -3731,7 +3731,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_BUBBLE, + .battleAnimScript = gBattleAnimMove_Bubble, }, [MOVE_DIZZY_PUNCH] = @@ -3758,7 +3758,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DIZZY_PUNCH, + .battleAnimScript = gBattleAnimMove_DizzyPunch, }, [MOVE_SPORE] = @@ -3782,7 +3782,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SPORE, + .battleAnimScript = gBattleAnimMove_Spore, }, [MOVE_FLASH] = @@ -3805,7 +3805,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FLASH, + .battleAnimScript = gBattleAnimMove_Flash, }, [MOVE_PSYWAVE] = @@ -3826,7 +3826,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, - .battleAnimScript = Move_PSYWAVE, + .battleAnimScript = gBattleAnimMove_Psywave, }, [MOVE_SPLASH] = @@ -3851,7 +3851,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SPLASH, + .battleAnimScript = gBattleAnimMove_Splash, }, [MOVE_ACID_ARMOR] = @@ -3876,7 +3876,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ACID_ARMOR, + .battleAnimScript = gBattleAnimMove_AcidArmor, }, [MOVE_CRABHAMMER] = @@ -3899,7 +3899,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SWORDS_DANCE}, - .battleAnimScript = Move_CRABHAMMER, + .battleAnimScript = gBattleAnimMove_Crabhammer, }, [MOVE_EXPLOSION] = @@ -3921,7 +3921,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_EXPLOSION, + .battleAnimScript = gBattleAnimMove_Explosion, }, [MOVE_FURY_SWIPES] = @@ -3943,7 +3943,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SCRATCH}, - .battleAnimScript = Move_FURY_SWIPES, + .battleAnimScript = gBattleAnimMove_FurySwipes, }, [MOVE_BONEMERANG] = @@ -3965,7 +3965,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_BONEMERANG, .contestComboMoves = {COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONE_RUSH, COMBO_STARTER_SHADOW_BONE}, - .battleAnimScript = Move_BONEMERANG, + .battleAnimScript = gBattleAnimMove_Bonemerang, }, [MOVE_REST] = @@ -3991,7 +3991,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_REST, .contestComboMoves = {COMBO_STARTER_BELLY_DRUM, COMBO_STARTER_CHARM, COMBO_STARTER_YAWN}, - .battleAnimScript = Move_REST, + .battleAnimScript = gBattleAnimMove_Rest, }, [MOVE_ROCK_SLIDE] = @@ -4016,7 +4016,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_ROCK_THROW}, - .battleAnimScript = Move_ROCK_SLIDE, + .battleAnimScript = gBattleAnimMove_RockSlide, }, [MOVE_HYPER_FANG] = @@ -4043,7 +4043,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HYPER_FANG, + .battleAnimScript = gBattleAnimMove_HyperFang, }, [MOVE_SHARPEN] = @@ -4068,7 +4068,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SHARPEN, + .battleAnimScript = gBattleAnimMove_Sharpen, }, [MOVE_CONVERSION] = @@ -4093,7 +4093,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CONVERSION, + .battleAnimScript = gBattleAnimMove_Conversion, }, [MOVE_TRI_ATTACK] = @@ -4118,7 +4118,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_LOCK_ON}, - .battleAnimScript = Move_TRI_ATTACK, + .battleAnimScript = gBattleAnimMove_TriAttack, }, [MOVE_SUPER_FANG] = @@ -4141,7 +4141,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SCARY_FACE}, - .battleAnimScript = Move_SUPER_FANG, + .battleAnimScript = gBattleAnimMove_SuperFang, }, [MOVE_SLASH] = @@ -4165,7 +4165,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SCRATCH, COMBO_STARTER_SWORDS_DANCE}, - .battleAnimScript = Move_SLASH, + .battleAnimScript = gBattleAnimMove_Slash, }, [MOVE_SUBSTITUTE] = @@ -4191,7 +4191,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SUBSTITUTE, + .battleAnimScript = gBattleAnimMove_Substitute, }, [MOVE_STRUGGLE] = @@ -4229,7 +4229,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .encoreBanned = TRUE, .assistBanned = TRUE, .sketchBanned = TRUE, - .battleAnimScript = Move_STRUGGLE, + .battleAnimScript = gBattleAnimMove_Struggle, }, [MOVE_SKETCH] = @@ -4262,7 +4262,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SKETCH, + .battleAnimScript = gBattleAnimMove_Sketch, }, [MOVE_TRIPLE_KICK] = @@ -4285,7 +4285,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, - .battleAnimScript = Move_TRIPLE_KICK, + .battleAnimScript = gBattleAnimMove_TripleKick, }, [MOVE_THIEF] = @@ -4315,7 +4315,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_THIEF, + .battleAnimScript = gBattleAnimMove_Thief, }, [MOVE_SPIDER_WEB] = @@ -4339,7 +4339,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_STRING_SHOT}, - .battleAnimScript = Move_SPIDER_WEB, + .battleAnimScript = gBattleAnimMove_SpiderWeb, }, [MOVE_MIND_READER] = @@ -4361,7 +4361,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_MIND_READER, .contestComboMoves = {0}, - .battleAnimScript = Move_MIND_READER, + .battleAnimScript = gBattleAnimMove_MindReader, }, [MOVE_NIGHTMARE] = @@ -4384,7 +4384,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NIGHTMARE, + .battleAnimScript = gBattleAnimMove_Nightmare, }, [MOVE_FLAME_WHEEL] = @@ -4411,7 +4411,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_FLAME_WHEEL, + .battleAnimScript = gBattleAnimMove_FlameWheel, }, [MOVE_SNORE] = @@ -4439,7 +4439,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_REST}, - .battleAnimScript = Move_SNORE, + .battleAnimScript = gBattleAnimMove_Snore, }, [MOVE_CURSE] = @@ -4464,7 +4464,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_CURSE, .contestComboMoves = {0}, - .battleAnimScript = Move_CURSE, + .battleAnimScript = gBattleAnimMove_Curse, }, [MOVE_FLAIL] = @@ -4486,7 +4486,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_ENDURE}, - .battleAnimScript = Move_FLAIL, + .battleAnimScript = gBattleAnimMove_Flail, }, [MOVE_CONVERSION_2] = @@ -4511,7 +4511,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CONVERSION_2, + .battleAnimScript = gBattleAnimMove_Conversion2, }, [MOVE_AEROBLAST] = @@ -4534,7 +4534,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AEROBLAST, + .battleAnimScript = gBattleAnimMove_Aeroblast, }, [MOVE_COTTON_SPORE] = @@ -4558,7 +4558,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_COTTON_SPORE, + .battleAnimScript = gBattleAnimMove_CottonSpore, }, [MOVE_REVERSAL] = @@ -4580,7 +4580,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_ENDURE}, - .battleAnimScript = Move_REVERSAL, + .battleAnimScript = gBattleAnimMove_Reversal, }, [MOVE_SPITE] = @@ -4604,7 +4604,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CURSE}, - .battleAnimScript = Move_SPITE, + .battleAnimScript = gBattleAnimMove_Spite, }, [MOVE_POWDER_SNOW] = @@ -4633,7 +4633,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_POWDER_SNOW, .contestComboMoves = {COMBO_STARTER_HAIL}, - .battleAnimScript = Move_POWDER_SNOW, + .battleAnimScript = gBattleAnimMove_PowderSnow, }, [MOVE_PROTECT] = @@ -4658,7 +4658,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HARDEN}, - .battleAnimScript = Move_PROTECT, + .battleAnimScript = gBattleAnimMove_Protect, }, [MOVE_MACH_PUNCH] = @@ -4681,7 +4681,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MACH_PUNCH, + .battleAnimScript = gBattleAnimMove_MachPunch, }, [MOVE_SCARY_FACE] = @@ -4704,7 +4704,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_SCARY_FACE, .contestComboMoves = {COMBO_STARTER_LEER, COMBO_STARTER_RAGE}, - .battleAnimScript = Move_SCARY_FACE, + .battleAnimScript = gBattleAnimMove_ScaryFace, }, [MOVE_FEINT_ATTACK] = @@ -4726,7 +4726,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FAKE_OUT, COMBO_STARTER_LEER, COMBO_STARTER_POUND}, - .battleAnimScript = Move_FEINT_ATTACK, + .battleAnimScript = gBattleAnimMove_FeintAttack, }, [MOVE_SWEET_KISS] = @@ -4749,7 +4749,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARM}, - .battleAnimScript = Move_SWEET_KISS, + .battleAnimScript = gBattleAnimMove_SweetKiss, }, [MOVE_BELLY_DRUM] = @@ -4774,7 +4774,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_BELLY_DRUM, .contestComboMoves = {0}, - .battleAnimScript = Move_BELLY_DRUM, + .battleAnimScript = gBattleAnimMove_BellyDrum, }, [MOVE_SLUDGE_BOMB] = @@ -4800,7 +4800,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_SLUDGE_BOMB, .contestComboMoves = {COMBO_STARTER_SLUDGE}, - .battleAnimScript = Move_SLUDGE_BOMB, + .battleAnimScript = gBattleAnimMove_SludgeBomb, }, [MOVE_MUD_SLAP] = @@ -4825,7 +4825,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_MUD_SLAP, .contestComboMoves = {COMBO_STARTER_MUD_SPORT, COMBO_STARTER_SAND_ATTACK, COMBO_STARTER_SANDSTORM}, - .battleAnimScript = Move_MUD_SLAP, + .battleAnimScript = gBattleAnimMove_MudSlap, }, [MOVE_OCTAZOOKA] = @@ -4851,7 +4851,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_LOCK_ON, COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_OCTAZOOKA, + .battleAnimScript = gBattleAnimMove_Octazooka, }, [MOVE_SPIKES] = @@ -4878,7 +4878,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SPIKES, + .battleAnimScript = gBattleAnimMove_Spikes, }, [MOVE_ZAP_CANNON] = @@ -4904,7 +4904,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE, COMBO_STARTER_LOCK_ON}, - .battleAnimScript = Move_ZAP_CANNON, + .battleAnimScript = gBattleAnimMove_ZapCannon, }, [MOVE_FORESIGHT] = @@ -4928,7 +4928,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FORESIGHT, + .battleAnimScript = gBattleAnimMove_Foresight, }, [MOVE_DESTINY_BOND] = @@ -4956,7 +4956,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CURSE, COMBO_STARTER_ENDURE, COMBO_STARTER_MEAN_LOOK}, - .battleAnimScript = Move_DESTINY_BOND, + .battleAnimScript = gBattleAnimMove_DestinyBond, }, [MOVE_PERISH_SONG] = @@ -4982,7 +4982,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_MEAN_LOOK, COMBO_STARTER_SING}, - .battleAnimScript = Move_PERISH_SONG, + .battleAnimScript = gBattleAnimMove_PerishSong, }, [MOVE_ICY_WIND] = @@ -5008,7 +5008,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL}, - .battleAnimScript = Move_ICY_WIND, + .battleAnimScript = gBattleAnimMove_IcyWind, }, [MOVE_DETECT] = @@ -5035,7 +5035,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_TAUNT}, - .battleAnimScript = Move_DETECT, + .battleAnimScript = gBattleAnimMove_Detect, }, [MOVE_BONE_RUSH] = @@ -5056,7 +5056,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_BONE_RUSH, .contestComboMoves = {COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONEMERANG, COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_SHADOW_BONE}, - .battleAnimScript = Move_BONE_RUSH, + .battleAnimScript = gBattleAnimMove_BoneRush, }, [MOVE_LOCK_ON] = @@ -5078,7 +5078,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_LOCK_ON, .contestComboMoves = {0}, - .battleAnimScript = Move_LOCK_ON, + .battleAnimScript = gBattleAnimMove_LockOn, }, [MOVE_OUTRAGE] = @@ -5105,7 +5105,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_OUTRAGE, + .battleAnimScript = gBattleAnimMove_Outrage, }, [MOVE_SANDSTORM] = @@ -5130,7 +5130,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_SANDSTORM, .contestComboMoves = {0}, - .battleAnimScript = Move_SANDSTORM, + .battleAnimScript = gBattleAnimMove_Sandstorm, }, [MOVE_GIGA_DRAIN] = @@ -5153,7 +5153,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_GIGA_DRAIN, + .battleAnimScript = gBattleAnimMove_GigaDrain, }, [MOVE_ENDURE] = @@ -5180,7 +5180,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_ENDURE, .contestComboMoves = {0}, - .battleAnimScript = Move_ENDURE, + .battleAnimScript = gBattleAnimMove_Endure, }, [MOVE_CHARM] = @@ -5203,7 +5203,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_CHARM, .contestComboMoves = {0}, - .battleAnimScript = Move_CHARM, + .battleAnimScript = gBattleAnimMove_Charm, }, [MOVE_ROLLOUT] = @@ -5227,7 +5227,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_DEFENSE_CURL, COMBO_STARTER_HARDEN}, - .battleAnimScript = Move_ROLLOUT, + .battleAnimScript = gBattleAnimMove_Rollout, }, [MOVE_FALSE_SWIPE] = @@ -5247,7 +5247,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SWORDS_DANCE}, - .battleAnimScript = Move_FALSE_SWIPE, + .battleAnimScript = gBattleAnimMove_FalseSwipe, }, [MOVE_SWAGGER] = @@ -5270,7 +5270,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SWAGGER, + .battleAnimScript = gBattleAnimMove_Swagger, }, [MOVE_MILK_DRINK] = @@ -5296,7 +5296,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MILK_DRINK, + .battleAnimScript = gBattleAnimMove_MilkDrink, }, [MOVE_SPARK] = @@ -5322,7 +5322,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE}, - .battleAnimScript = Move_SPARK, + .battleAnimScript = gBattleAnimMove_Spark, }, [MOVE_FURY_CUTTER] = @@ -5351,7 +5351,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SWORDS_DANCE}, - .battleAnimScript = Move_FURY_CUTTER, + .battleAnimScript = gBattleAnimMove_FuryCutter, }, [MOVE_STEEL_WING] = @@ -5378,7 +5378,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STEEL_WING, + .battleAnimScript = gBattleAnimMove_SteelWing, }, [MOVE_MEAN_LOOK] = @@ -5402,7 +5402,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_MEAN_LOOK, .contestComboMoves = {COMBO_STARTER_CURSE}, - .battleAnimScript = Move_MEAN_LOOK, + .battleAnimScript = gBattleAnimMove_MeanLook, }, [MOVE_ATTRACT] = @@ -5426,7 +5426,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ATTRACT, + .battleAnimScript = gBattleAnimMove_Attract, }, [MOVE_SLEEP_TALK] = @@ -5457,7 +5457,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_REST}, - .battleAnimScript = Move_SLEEP_TALK, + .battleAnimScript = gBattleAnimMove_SleepTalk, }, [MOVE_HEAL_BELL] = @@ -5484,7 +5484,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_HEAL_BELL, .contestComboMoves = {COMBO_STARTER_LUCKY_CHANT}, - .battleAnimScript = Move_HEAL_BELL, + .battleAnimScript = gBattleAnimMove_HealBell, }, [MOVE_RETURN] = @@ -5506,7 +5506,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_RETURN, + .battleAnimScript = gBattleAnimMove_Return, }, [MOVE_PRESENT] = @@ -5528,7 +5528,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PRESENT, + .battleAnimScript = gBattleAnimMove_Present, }, [MOVE_FRUSTRATION] = @@ -5550,7 +5550,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FRUSTRATION, + .battleAnimScript = gBattleAnimMove_Frustration, }, [MOVE_SAFEGUARD] = @@ -5575,7 +5575,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SAFEGUARD, + .battleAnimScript = gBattleAnimMove_Safeguard, }, [MOVE_PAIN_SPLIT] = @@ -5597,7 +5597,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_ENDURE}, - .battleAnimScript = Move_PAIN_SPLIT, + .battleAnimScript = gBattleAnimMove_PainSplit, }, [MOVE_SACRED_FIRE] = @@ -5623,7 +5623,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_SACRED_FIRE, + .battleAnimScript = gBattleAnimMove_SacredFire, }, [MOVE_MAGNITUDE] = @@ -5646,7 +5646,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MAGNITUDE, + .battleAnimScript = gBattleAnimMove_Magnitude, }, [MOVE_DYNAMIC_PUNCH] = @@ -5673,7 +5673,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER}, - .battleAnimScript = Move_DYNAMIC_PUNCH, + .battleAnimScript = gBattleAnimMove_DynamicPunch, }, [MOVE_MEGAHORN] = @@ -5695,7 +5695,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MEGAHORN, + .battleAnimScript = gBattleAnimMove_Megahorn, }, [MOVE_DRAGON_BREATH] = @@ -5721,7 +5721,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_DRAGON_BREATH, .contestComboMoves = {COMBO_STARTER_DRAGON_DANCE, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_RUSH, COMBO_STARTER_DRAGON_TAIL}, - .battleAnimScript = Move_DRAGON_BREATH, + .battleAnimScript = gBattleAnimMove_DragonBreath, }, [MOVE_BATON_PASS] = @@ -5745,7 +5745,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BATON_PASS, + .battleAnimScript = gBattleAnimMove_BatonPass, }, [MOVE_ENCORE] = @@ -5770,7 +5770,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ENCORE, + .battleAnimScript = gBattleAnimMove_Encore, }, [MOVE_PURSUIT] = @@ -5793,7 +5793,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PURSUIT, + .battleAnimScript = gBattleAnimMove_Pursuit, }, [MOVE_RAPID_SPIN] = @@ -5827,7 +5827,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_RAPID_SPIN, + .battleAnimScript = gBattleAnimMove_RapidSpin, }, [MOVE_SWEET_SCENT] = @@ -5850,7 +5850,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_SWEET_SCENT, .contestComboMoves = {0}, - .battleAnimScript = Move_SWEET_SCENT, + .battleAnimScript = gBattleAnimMove_SweetScent, }, [MOVE_IRON_TAIL] = @@ -5876,7 +5876,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_IRON_TAIL, + .battleAnimScript = gBattleAnimMove_IronTail, }, [MOVE_METAL_CLAW] = @@ -5903,7 +5903,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_METAL_SOUND}, - .battleAnimScript = Move_METAL_CLAW, + .battleAnimScript = gBattleAnimMove_MetalClaw, }, [MOVE_VITAL_THROW] = @@ -5925,7 +5925,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FAKE_OUT}, - .battleAnimScript = Move_VITAL_THROW, + .battleAnimScript = gBattleAnimMove_VitalThrow, }, [MOVE_MORNING_SUN] = @@ -5951,7 +5951,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_MORNING_SUN, + .battleAnimScript = gBattleAnimMove_MorningSun, }, [MOVE_SYNTHESIS] = @@ -5977,7 +5977,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_SYNTHESIS, + .battleAnimScript = gBattleAnimMove_Synthesis, }, [MOVE_MOONLIGHT] = @@ -6003,7 +6003,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_MOONLIGHT, + .battleAnimScript = gBattleAnimMove_Moonlight, }, [MOVE_HIDDEN_POWER] = @@ -6024,7 +6024,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HIDDEN_POWER, + .battleAnimScript = gBattleAnimMove_HiddenPower, }, [MOVE_CROSS_CHOP] = @@ -6047,7 +6047,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, - .battleAnimScript = Move_CROSS_CHOP, + .battleAnimScript = gBattleAnimMove_CrossChop, }, [MOVE_TWISTER] = @@ -6074,7 +6074,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TWISTER, + .battleAnimScript = gBattleAnimMove_Twister, }, [MOVE_RAIN_DANCE] = @@ -6098,7 +6098,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_RAIN_DANCE, .contestComboMoves = {0}, - .battleAnimScript = Move_RAIN_DANCE, + .battleAnimScript = gBattleAnimMove_RainDance, }, [MOVE_SUNNY_DAY] = @@ -6122,7 +6122,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_SUNNY_DAY, .contestComboMoves = {0}, - .battleAnimScript = Move_SUNNY_DAY, + .battleAnimScript = gBattleAnimMove_SunnyDay, }, [MOVE_CRUNCH] = @@ -6157,7 +6157,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SCARY_FACE}, - .battleAnimScript = Move_CRUNCH, + .battleAnimScript = gBattleAnimMove_Crunch, }, [MOVE_MIRROR_COAT] = @@ -6182,7 +6182,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_TAUNT}, - .battleAnimScript = Move_MIRROR_COAT, + .battleAnimScript = gBattleAnimMove_MirrorCoat, }, [MOVE_PSYCH_UP] = @@ -6208,7 +6208,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PSYCH_UP, + .battleAnimScript = gBattleAnimMove_PsychUp, }, [MOVE_EXTREME_SPEED] = @@ -6230,7 +6230,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_EXTREME_SPEED, + .battleAnimScript = gBattleAnimMove_ExtremeSpeed, }, [MOVE_ANCIENT_POWER] = @@ -6257,7 +6257,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ANCIENT_POWER, + .battleAnimScript = gBattleAnimMove_AncientPower, }, [MOVE_SHADOW_BALL] = @@ -6283,7 +6283,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SHADOW_BALL, + .battleAnimScript = gBattleAnimMove_ShadowBall, }, [MOVE_FUTURE_SIGHT] = @@ -6312,7 +6312,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND, COMBO_STARTER_CONFUSION, COMBO_STARTER_KINESIS, COMBO_STARTER_PSYCHIC}, - .battleAnimScript = Move_FUTURE_SIGHT, + .battleAnimScript = gBattleAnimMove_FutureSight, }, [MOVE_ROCK_SMASH] = @@ -6338,7 +6338,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ROCK_SMASH, + .battleAnimScript = gBattleAnimMove_RockSmash, }, [MOVE_WHIRLPOOL] = @@ -6363,7 +6363,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_WHIRLPOOL, + .battleAnimScript = gBattleAnimMove_Whirlpool, }, [MOVE_BEAT_UP] = @@ -6384,7 +6384,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BEAT_UP, + .battleAnimScript = gBattleAnimMove_BeatUp, }, [MOVE_FAKE_OUT] = @@ -6410,7 +6410,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_FAKE_OUT, .contestComboMoves = {0}, - .battleAnimScript = Move_FAKE_OUT, + .battleAnimScript = gBattleAnimMove_FakeOut, }, [MOVE_UPROAR] = @@ -6443,7 +6443,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_UPROAR, + .battleAnimScript = gBattleAnimMove_Uproar, }, [MOVE_STOCKPILE] = @@ -6468,7 +6468,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_STOCKPILE, .contestComboMoves = {0}, - .battleAnimScript = Move_STOCKPILE, + .battleAnimScript = gBattleAnimMove_Stockpile, }, [MOVE_SPIT_UP] = @@ -6490,7 +6490,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_STOCKPILE}, - .battleAnimScript = Move_SPIT_UP, + .battleAnimScript = gBattleAnimMove_SpitUp, }, [MOVE_SWALLOW] = @@ -6516,7 +6516,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_STOCKPILE}, - .battleAnimScript = Move_SWALLOW, + .battleAnimScript = gBattleAnimMove_Swallow, }, [MOVE_HEAT_WAVE] = @@ -6542,7 +6542,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_HEAT_WAVE, + .battleAnimScript = gBattleAnimMove_HeatWave, }, [MOVE_HAIL] = @@ -6566,7 +6566,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_HAIL, .contestComboMoves = {0}, - .battleAnimScript = Move_HAIL, + .battleAnimScript = gBattleAnimMove_Hail, }, [MOVE_TORMENT] = @@ -6589,7 +6589,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TORMENT, + .battleAnimScript = gBattleAnimMove_Torment, }, [MOVE_FLATTER] = @@ -6612,7 +6612,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARM}, - .battleAnimScript = Move_FLATTER, + .battleAnimScript = gBattleAnimMove_Flatter, }, [MOVE_WILL_O_WISP] = @@ -6635,7 +6635,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_WILL_O_WISP, + .battleAnimScript = gBattleAnimMove_WillOWisp, }, [MOVE_MEMENTO] = @@ -6657,7 +6657,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MEMENTO, + .battleAnimScript = gBattleAnimMove_Memento, }, [MOVE_FACADE] = @@ -6679,7 +6679,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FACADE, + .battleAnimScript = gBattleAnimMove_Facade, }, [MOVE_FOCUS_PUNCH] = @@ -6709,7 +6709,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, - .battleAnimScript = Move_FOCUS_PUNCH, + .battleAnimScript = gBattleAnimMove_FocusPunch, }, [MOVE_SMELLING_SALTS] = @@ -6735,7 +6735,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SMELLING_SALTS, + .battleAnimScript = gBattleAnimMove_SmellingSalts, }, [MOVE_FOLLOW_ME] = @@ -6762,7 +6762,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FOLLOW_ME, + .battleAnimScript = gBattleAnimMove_FollowMe, }, [MOVE_NATURE_POWER] = @@ -6790,7 +6790,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NATURE_POWER, + .battleAnimScript = gBattleAnimMove_NaturePower, }, [MOVE_CHARGE] = @@ -6815,7 +6815,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_CHARGE, .contestComboMoves = {0}, - .battleAnimScript = Move_CHARGE, + .battleAnimScript = gBattleAnimMove_Charge, }, [MOVE_TAUNT] = @@ -6839,7 +6839,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_TAUNT, .contestComboMoves = {0}, - .battleAnimScript = Move_TAUNT, + .battleAnimScript = gBattleAnimMove_Taunt, }, [MOVE_HELPING_HAND] = @@ -6867,7 +6867,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HELPING_HAND, + .battleAnimScript = gBattleAnimMove_HelpingHand, }, [MOVE_TRICK] = @@ -6892,7 +6892,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TRICK, + .battleAnimScript = gBattleAnimMove_Trick, }, [MOVE_ROLE_PLAY] = @@ -6917,7 +6917,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ROLE_PLAY, + .battleAnimScript = gBattleAnimMove_RolePlay, }, [MOVE_WISH] = @@ -6943,7 +6943,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WISH, + .battleAnimScript = gBattleAnimMove_Wish, }, [MOVE_ASSIST] = @@ -6973,7 +6973,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ASSIST, + .battleAnimScript = gBattleAnimMove_Assist, }, [MOVE_INGRAIN] = @@ -6999,7 +6999,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_INGRAIN, + .battleAnimScript = gBattleAnimMove_Ingrain, }, [MOVE_SUPERPOWER] = @@ -7025,7 +7025,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_LOCK_ON, COMBO_STARTER_MIND_READER}, - .battleAnimScript = Move_SUPERPOWER, + .battleAnimScript = gBattleAnimMove_Superpower, }, [MOVE_MAGIC_COAT] = @@ -7049,7 +7049,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MAGIC_COAT, + .battleAnimScript = gBattleAnimMove_MagicCoat, }, [MOVE_RECYCLE] = @@ -7074,7 +7074,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_RECYCLE, + .battleAnimScript = gBattleAnimMove_Recycle, }, [MOVE_REVENGE] = @@ -7094,7 +7094,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_REVENGE, .contestComboMoves = {COMBO_STARTER_PAYBACK}, - .battleAnimScript = Move_REVENGE, + .battleAnimScript = gBattleAnimMove_Revenge, }, [MOVE_BRICK_BREAK] = @@ -7116,7 +7116,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, - .battleAnimScript = Move_BRICK_BREAK, + .battleAnimScript = gBattleAnimMove_BrickBreak, }, [MOVE_YAWN] = @@ -7139,7 +7139,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_YAWN, .contestComboMoves = {0}, - .battleAnimScript = Move_YAWN, + .battleAnimScript = gBattleAnimMove_Yawn, }, [MOVE_KNOCK_OFF] = @@ -7164,7 +7164,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FAKE_OUT}, - .battleAnimScript = Move_KNOCK_OFF, + .battleAnimScript = gBattleAnimMove_KnockOff, }, [MOVE_ENDEAVOR] = @@ -7187,7 +7187,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_ENDURE}, - .battleAnimScript = Move_ENDEAVOR, + .battleAnimScript = gBattleAnimMove_Endeavor, }, [MOVE_ERUPTION] = @@ -7208,7 +7208,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_EARTHQUAKE, COMBO_STARTER_ENDURE, COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_ERUPTION, + .battleAnimScript = gBattleAnimMove_Eruption, }, [MOVE_SKILL_SWAP] = @@ -7231,7 +7231,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SKILL_SWAP, + .battleAnimScript = gBattleAnimMove_SkillSwap, }, [MOVE_IMPRISON] = @@ -7258,7 +7258,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_IMPRISON, + .battleAnimScript = gBattleAnimMove_Imprison, }, [MOVE_REFRESH] = @@ -7283,7 +7283,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SING, COMBO_STARTER_WATER_SPORT}, - .battleAnimScript = Move_REFRESH, + .battleAnimScript = gBattleAnimMove_Refresh, }, [MOVE_GRUDGE] = @@ -7308,7 +7308,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CURSE}, - .battleAnimScript = Move_GRUDGE, + .battleAnimScript = gBattleAnimMove_Grudge, }, [MOVE_SNATCH] = @@ -7335,7 +7335,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SNATCH, + .battleAnimScript = gBattleAnimMove_Snatch, }, [MOVE_SECRET_POWER] = @@ -7360,7 +7360,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SECRET_POWER, + .battleAnimScript = gBattleAnimMove_SecretPower, }, [MOVE_DIVE] = @@ -7387,7 +7387,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_DIVE, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SURF}, - .battleAnimScript = Move_DIVE, + .battleAnimScript = gBattleAnimMove_Dive, }, [MOVE_ARM_THRUST] = @@ -7409,7 +7409,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FAKE_OUT, COMBO_STARTER_FOCUS_ENERGY}, - .battleAnimScript = Move_ARM_THRUST, + .battleAnimScript = gBattleAnimMove_ArmThrust, }, [MOVE_CAMOUFLAGE] = @@ -7434,7 +7434,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CAMOUFLAGE, + .battleAnimScript = gBattleAnimMove_Camouflage, }, [MOVE_TAIL_GLOW] = @@ -7459,7 +7459,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TAIL_GLOW, + .battleAnimScript = gBattleAnimMove_TailGlow, }, [MOVE_LUSTER_PURGE] = @@ -7484,7 +7484,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, - .battleAnimScript = Move_LUSTER_PURGE, + .battleAnimScript = gBattleAnimMove_LusterPurge, }, [MOVE_MIST_BALL] = @@ -7510,7 +7510,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, - .battleAnimScript = Move_MIST_BALL, + .battleAnimScript = gBattleAnimMove_MistBall, }, [MOVE_FEATHER_DANCE] = @@ -7534,7 +7534,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FEATHER_DANCE, + .battleAnimScript = gBattleAnimMove_FeatherDance, }, [MOVE_TEETER_DANCE] = @@ -7558,7 +7558,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TEETER_DANCE, + .battleAnimScript = gBattleAnimMove_TeeterDance, }, [MOVE_BLAZE_KICK] = @@ -7585,7 +7585,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_BLAZE_KICK, + .battleAnimScript = gBattleAnimMove_BlazeKick, }, [MOVE_MUD_SPORT] = @@ -7610,7 +7610,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_MUD_SPORT, .contestComboMoves = {COMBO_STARTER_MUD_SLAP, COMBO_STARTER_SANDSTORM, COMBO_STARTER_WATER_SPORT}, - .battleAnimScript = Move_MUD_SPORT, + .battleAnimScript = gBattleAnimMove_MudSport, }, [MOVE_ICE_BALL] = @@ -7635,7 +7635,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL}, - .battleAnimScript = Move_ICE_BALL, + .battleAnimScript = gBattleAnimMove_IceBall, }, [MOVE_NEEDLE_ARM] = @@ -7662,7 +7662,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NEEDLE_ARM, + .battleAnimScript = gBattleAnimMove_NeedleArm, }, [MOVE_SLACK_OFF] = @@ -7688,7 +7688,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SLACK_OFF, + .battleAnimScript = gBattleAnimMove_SlackOff, }, [MOVE_HYPER_VOICE] = @@ -7711,7 +7711,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HYPER_VOICE, + .battleAnimScript = gBattleAnimMove_HyperVoice, }, [MOVE_POISON_FANG] = @@ -7738,7 +7738,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POISON_FANG, + .battleAnimScript = gBattleAnimMove_PoisonFang, }, [MOVE_CRUSH_CLAW] = @@ -7764,7 +7764,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SWORDS_DANCE}, - .battleAnimScript = Move_CRUSH_CLAW, + .battleAnimScript = gBattleAnimMove_CrushClaw, }, [MOVE_BLAST_BURN] = @@ -7789,7 +7789,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_BLAST_BURN, + .battleAnimScript = gBattleAnimMove_BlastBurn, }, [MOVE_HYDRO_CANNON] = @@ -7814,7 +7814,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_HYDRO_CANNON, + .battleAnimScript = gBattleAnimMove_HydroCannon, }, [MOVE_METEOR_MASH] = @@ -7842,7 +7842,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_METEOR_MASH, + .battleAnimScript = gBattleAnimMove_MeteorMash, }, [MOVE_ASTONISH] = @@ -7869,7 +7869,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ASTONISH, + .battleAnimScript = gBattleAnimMove_Astonish, }, [MOVE_WEATHER_BALL] = @@ -7892,7 +7892,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL, COMBO_STARTER_RAIN_DANCE, COMBO_STARTER_SANDSTORM, COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_WEATHER_BALL, + .battleAnimScript = gBattleAnimMove_WeatherBall, }, [MOVE_AROMATHERAPY] = @@ -7917,7 +7917,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AROMATHERAPY, + .battleAnimScript = gBattleAnimMove_Aromatherapy, }, [MOVE_FAKE_TEARS] = @@ -7940,7 +7940,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FAKE_TEARS, + .battleAnimScript = gBattleAnimMove_FakeTears, }, [MOVE_AIR_CUTTER] = @@ -7964,7 +7964,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AIR_CUTTER, + .battleAnimScript = gBattleAnimMove_AirCutter, }, [MOVE_OVERHEAT] = @@ -7990,7 +7990,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_OVERHEAT, + .battleAnimScript = gBattleAnimMove_Overheat, }, [MOVE_ODOR_SLEUTH] = @@ -8014,7 +8014,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ODOR_SLEUTH, + .battleAnimScript = gBattleAnimMove_OdorSleuth, }, [MOVE_ROCK_TOMB] = @@ -8039,7 +8039,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_ROCK_THROW}, - .battleAnimScript = Move_ROCK_TOMB, + .battleAnimScript = gBattleAnimMove_RockTomb, }, [MOVE_SILVER_WIND] = @@ -8066,7 +8066,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SILVER_WIND, + .battleAnimScript = gBattleAnimMove_SilverWind, }, [MOVE_METAL_SOUND] = @@ -8091,7 +8091,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_METAL_SOUND, .contestComboMoves = {0}, - .battleAnimScript = Move_METAL_SOUND, + .battleAnimScript = gBattleAnimMove_MetalSound, }, [MOVE_GRASS_WHISTLE] = @@ -8116,7 +8116,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GRASS_WHISTLE, + .battleAnimScript = gBattleAnimMove_GrassWhistle, }, [MOVE_TICKLE] = @@ -8139,7 +8139,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TICKLE, + .battleAnimScript = gBattleAnimMove_Tickle, }, [MOVE_COSMIC_POWER] = @@ -8164,7 +8164,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_COSMIC_POWER, + .battleAnimScript = gBattleAnimMove_CosmicPower, }, [MOVE_WATER_SPOUT] = @@ -8185,7 +8185,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_WATER_SPOUT, + .battleAnimScript = gBattleAnimMove_WaterSpout, }, [MOVE_SIGNAL_BEAM] = @@ -8210,7 +8210,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SIGNAL_BEAM, + .battleAnimScript = gBattleAnimMove_SignalBeam, }, [MOVE_SHADOW_PUNCH] = @@ -8233,7 +8233,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SHADOW_PUNCH, + .battleAnimScript = gBattleAnimMove_ShadowPunch, }, [MOVE_EXTRASENSORY] = @@ -8259,7 +8259,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_EXTRASENSORY, + .battleAnimScript = gBattleAnimMove_Extrasensory, }, [MOVE_SKY_UPPERCUT] = @@ -8283,7 +8283,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, - .battleAnimScript = Move_SKY_UPPERCUT, + .battleAnimScript = gBattleAnimMove_SkyUppercut, }, [MOVE_SAND_TOMB] = @@ -8307,7 +8307,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SANDSTORM}, - .battleAnimScript = Move_SAND_TOMB, + .battleAnimScript = gBattleAnimMove_SandTomb, }, [MOVE_SHEER_COLD] = @@ -8328,7 +8328,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL, COMBO_STARTER_MIND_READER}, - .battleAnimScript = Move_SHEER_COLD, + .battleAnimScript = gBattleAnimMove_SheerCold, }, [MOVE_MUDDY_WATER] = @@ -8354,7 +8354,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_MUDDY_WATER, + .battleAnimScript = gBattleAnimMove_MuddyWater, }, [MOVE_BULLET_SEED] = @@ -8376,7 +8376,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_BULLET_SEED, + .battleAnimScript = gBattleAnimMove_BulletSeed, }, [MOVE_AERIAL_ACE] = @@ -8399,7 +8399,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AERIAL_ACE, + .battleAnimScript = gBattleAnimMove_AerialAce, }, [MOVE_ICICLE_SPEAR] = @@ -8420,7 +8420,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ICICLE_SPEAR, + .battleAnimScript = gBattleAnimMove_IcicleSpear, }, [MOVE_IRON_DEFENSE] = @@ -8445,7 +8445,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_IRON_DEFENSE, + .battleAnimScript = gBattleAnimMove_IronDefense, }, [MOVE_BLOCK] = @@ -8469,7 +8469,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BLOCK, + .battleAnimScript = gBattleAnimMove_Block, }, [MOVE_HOWL] = @@ -8495,7 +8495,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HOWL, + .battleAnimScript = gBattleAnimMove_Howl, }, [MOVE_DRAGON_CLAW] = @@ -8517,7 +8517,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_RUSH, COMBO_STARTER_DRAGON_TAIL}, - .battleAnimScript = Move_DRAGON_CLAW, + .battleAnimScript = gBattleAnimMove_DragonClaw, }, [MOVE_FRENZY_PLANT] = @@ -8543,7 +8543,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_FRENZY_PLANT, + .battleAnimScript = gBattleAnimMove_FrenzyPlant, }, [MOVE_BULK_UP] = @@ -8568,7 +8568,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BULK_UP, + .battleAnimScript = gBattleAnimMove_BulkUp, }, [MOVE_BOUNCE] = @@ -8599,7 +8599,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BOUNCE, + .battleAnimScript = gBattleAnimMove_Bounce, }, [MOVE_MUD_SHOT] = @@ -8624,7 +8624,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SANDSTORM}, - .battleAnimScript = Move_MUD_SHOT, + .battleAnimScript = gBattleAnimMove_MudShot, }, [MOVE_POISON_TAIL] = @@ -8651,7 +8651,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POISON_TAIL, + .battleAnimScript = gBattleAnimMove_PoisonTail, }, [MOVE_COVET] = @@ -8680,7 +8680,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_COVET, + .battleAnimScript = gBattleAnimMove_Covet, }, [MOVE_VOLT_TACKLE] = @@ -8709,7 +8709,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_VOLT_TACKLE, + .battleAnimScript = gBattleAnimMove_VoltTackle, }, [MOVE_MAGICAL_LEAF] = @@ -8730,7 +8730,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_MAGICAL_LEAF, + .battleAnimScript = gBattleAnimMove_MagicalLeaf, }, [MOVE_WATER_SPORT] = @@ -8755,7 +8755,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_WATER_SPORT, .contestComboMoves = {COMBO_STARTER_MUD_SPORT, COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_WATER_SPORT, + .battleAnimScript = gBattleAnimMove_WaterSport, }, [MOVE_CALM_MIND] = @@ -8780,7 +8780,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_CALM_MIND, .contestComboMoves = {0}, - .battleAnimScript = Move_CALM_MIND, + .battleAnimScript = gBattleAnimMove_CalmMind, }, [MOVE_LEAF_BLADE] = @@ -8804,7 +8804,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LEAF_BLADE, + .battleAnimScript = gBattleAnimMove_LeafBlade, }, [MOVE_DRAGON_DANCE] = @@ -8830,7 +8830,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_DRAGON_DANCE, .contestComboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_RUSH, COMBO_STARTER_DRAGON_TAIL}, - .battleAnimScript = Move_DRAGON_DANCE, + .battleAnimScript = gBattleAnimMove_DragonDance, }, [MOVE_ROCK_BLAST] = @@ -8852,7 +8852,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ROCK_BLAST, + .battleAnimScript = gBattleAnimMove_RockBlast, }, [MOVE_SHOCK_WAVE] = @@ -8873,7 +8873,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE}, - .battleAnimScript = Move_SHOCK_WAVE, + .battleAnimScript = gBattleAnimMove_ShockWave, }, [MOVE_WATER_PULSE] = @@ -8899,7 +8899,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_WATER_PULSE, + .battleAnimScript = gBattleAnimMove_WaterPulse, }, [MOVE_DOOM_DESIRE] = @@ -8922,7 +8922,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DOOM_DESIRE, + .battleAnimScript = gBattleAnimMove_DoomDesire, }, [MOVE_PSYCHO_BOOST] = @@ -8947,7 +8947,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CALM_MIND}, - .battleAnimScript = Move_PSYCHO_BOOST, + .battleAnimScript = gBattleAnimMove_PsychoBoost, }, [MOVE_ROOST] = @@ -8973,7 +8973,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_BRAVE_BIRD}, - .battleAnimScript = Move_ROOST, + .battleAnimScript = gBattleAnimMove_Roost, }, [MOVE_GRAVITY] = @@ -8998,7 +8998,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GRAVITY, + .battleAnimScript = gBattleAnimMove_Gravity, }, [MOVE_MIRACLE_EYE] = @@ -9022,7 +9022,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MIRACLE_EYE, + .battleAnimScript = gBattleAnimMove_MiracleEye, }, [MOVE_WAKE_UP_SLAP] = @@ -9048,7 +9048,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WAKE_UP_SLAP, + .battleAnimScript = gBattleAnimMove_WakeUpSlap, }, [MOVE_HAMMER_ARM] = @@ -9075,7 +9075,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, - .battleAnimScript = Move_HAMMER_ARM, + .battleAnimScript = gBattleAnimMove_HammerArm, }, [MOVE_GYRO_BALL] = @@ -9098,7 +9098,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GYRO_BALL, + .battleAnimScript = gBattleAnimMove_GyroBall, }, [MOVE_HEALING_WISH] = @@ -9121,7 +9121,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HEALING_WISH, + .battleAnimScript = gBattleAnimMove_HealingWish, }, [MOVE_BRINE] = @@ -9142,7 +9142,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_BRINE, + .battleAnimScript = gBattleAnimMove_Brine, }, [MOVE_NATURAL_GIFT] = @@ -9163,7 +9163,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NATURAL_GIFT, + .battleAnimScript = gBattleAnimMove_NaturalGift, }, [MOVE_FEINT] = @@ -9190,7 +9190,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FEINT, + .battleAnimScript = gBattleAnimMove_Feint, }, [MOVE_PLUCK] = @@ -9213,7 +9213,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PLUCK, + .battleAnimScript = gBattleAnimMove_Pluck, }, [MOVE_TAILWIND] = @@ -9239,7 +9239,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TAILWIND, + .battleAnimScript = gBattleAnimMove_Tailwind, }, [MOVE_ACUPRESSURE] = @@ -9264,7 +9264,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ACUPRESSURE, + .battleAnimScript = gBattleAnimMove_Acupressure, }, [MOVE_METAL_BURST] = @@ -9286,7 +9286,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_METAL_SOUND}, - .battleAnimScript = Move_METAL_BURST, + .battleAnimScript = gBattleAnimMove_MetalBurst, }, [MOVE_U_TURN] = @@ -9306,7 +9306,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_U_TURN, + .battleAnimScript = gBattleAnimMove_UTurn, }, [MOVE_CLOSE_COMBAT] = @@ -9330,7 +9330,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY, COMBO_STARTER_MIND_READER}, - .battleAnimScript = Move_CLOSE_COMBAT, + .battleAnimScript = gBattleAnimMove_CloseCombat, }, [MOVE_PAYBACK] = @@ -9352,7 +9352,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_PAYBACK, .contestComboMoves = {COMBO_STARTER_REVENGE}, - .battleAnimScript = Move_PAYBACK, + .battleAnimScript = gBattleAnimMove_Payback, }, [MOVE_ASSURANCE] = @@ -9374,7 +9374,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_PAYBACK, COMBO_STARTER_REVENGE}, - .battleAnimScript = Move_ASSURANCE, + .battleAnimScript = gBattleAnimMove_Assurance, }, [MOVE_EMBARGO] = @@ -9397,7 +9397,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_EMBARGO, + .battleAnimScript = gBattleAnimMove_Embargo, }, [MOVE_FLING] = @@ -9419,7 +9419,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FLING, + .battleAnimScript = gBattleAnimMove_Fling, }, [MOVE_PSYCHO_SHIFT] = @@ -9441,7 +9441,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PSYCHO_SHIFT, + .battleAnimScript = gBattleAnimMove_PsychoShift, }, [MOVE_TRUMP_CARD] = @@ -9463,7 +9463,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TRUMP_CARD, + .battleAnimScript = gBattleAnimMove_TrumpCard, }, [MOVE_HEAL_BLOCK] = @@ -9486,7 +9486,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HEAL_BLOCK, + .battleAnimScript = gBattleAnimMove_HealBlock, }, [MOVE_WRING_OUT] = @@ -9507,7 +9507,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WRING_OUT, + .battleAnimScript = gBattleAnimMove_WringOut, }, [MOVE_POWER_TRICK] = @@ -9532,7 +9532,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POWER_TRICK, + .battleAnimScript = gBattleAnimMove_PowerTrick, }, [MOVE_GASTRO_ACID] = @@ -9555,7 +9555,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GASTRO_ACID, + .battleAnimScript = gBattleAnimMove_GastroAcid, }, [MOVE_LUCKY_CHANT] = @@ -9580,7 +9580,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_LUCKY_CHANT, .contestComboMoves = {COMBO_STARTER_HEAL_BELL}, - .battleAnimScript = Move_LUCKY_CHANT, + .battleAnimScript = gBattleAnimMove_LuckyChant, }, [MOVE_ME_FIRST] = @@ -9612,7 +9612,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ME_FIRST, + .battleAnimScript = gBattleAnimMove_MeFirst, }, [MOVE_COPYCAT] = @@ -9643,7 +9643,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_COPYCAT, + .battleAnimScript = gBattleAnimMove_Copycat, }, [MOVE_POWER_SWAP] = @@ -9666,7 +9666,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POWER_SWAP, + .battleAnimScript = gBattleAnimMove_PowerSwap, }, [MOVE_GUARD_SWAP] = @@ -9689,7 +9689,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GUARD_SWAP, + .battleAnimScript = gBattleAnimMove_GuardSwap, }, [MOVE_PUNISHMENT] = @@ -9711,7 +9711,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PUNISHMENT, + .battleAnimScript = gBattleAnimMove_Punishment, }, [MOVE_LAST_RESORT] = @@ -9733,7 +9733,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LAST_RESORT, + .battleAnimScript = gBattleAnimMove_LastResort, }, [MOVE_WORRY_SEED] = @@ -9756,7 +9756,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_WORRY_SEED, .contestComboMoves = {COMBO_STARTER_LEECH_SEED}, - .battleAnimScript = Move_WORRY_SEED, + .battleAnimScript = gBattleAnimMove_WorrySeed, }, [MOVE_SUCKER_PUNCH] = @@ -9776,7 +9776,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SUCKER_PUNCH, + .battleAnimScript = gBattleAnimMove_SuckerPunch, }, [MOVE_TOXIC_SPIKES] = @@ -9803,7 +9803,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TOXIC_SPIKES, + .battleAnimScript = gBattleAnimMove_ToxicSpikes, }, [MOVE_HEART_SWAP] = @@ -9826,7 +9826,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HEART_SWAP, + .battleAnimScript = gBattleAnimMove_HeartSwap, }, [MOVE_AQUA_RING] = @@ -9851,7 +9851,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AQUA_RING, + .battleAnimScript = gBattleAnimMove_AquaRing, }, [MOVE_MAGNET_RISE] = @@ -9877,7 +9877,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MAGNET_RISE, + .battleAnimScript = gBattleAnimMove_MagnetRise, }, [MOVE_FLARE_BLITZ] = @@ -9905,7 +9905,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_FLARE_BLITZ, + .battleAnimScript = gBattleAnimMove_FlareBlitz, }, [MOVE_FORCE_PALM] = @@ -9931,7 +9931,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FORCE_PALM, + .battleAnimScript = gBattleAnimMove_ForcePalm, }, [MOVE_AURA_SPHERE] = @@ -9954,7 +9954,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AURA_SPHERE, + .battleAnimScript = gBattleAnimMove_AuraSphere, }, [MOVE_ROCK_POLISH] = @@ -9979,7 +9979,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ROCK_POLISH, + .battleAnimScript = gBattleAnimMove_RockPolish, }, [MOVE_POISON_JAB] = @@ -10005,7 +10005,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POISON_JAB, + .battleAnimScript = gBattleAnimMove_PoisonJab, }, [MOVE_DARK_PULSE] = @@ -10031,7 +10031,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DARK_PULSE, + .battleAnimScript = gBattleAnimMove_DarkPulse, }, [MOVE_NIGHT_SLASH] = @@ -10055,7 +10055,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NIGHT_SLASH, + .battleAnimScript = gBattleAnimMove_NightSlash, }, [MOVE_AQUA_TAIL] = @@ -10077,7 +10077,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_AQUA_TAIL, + .battleAnimScript = gBattleAnimMove_AquaTail, }, [MOVE_SEED_BOMB] = @@ -10099,7 +10099,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SEED_BOMB, + .battleAnimScript = gBattleAnimMove_SeedBomb, }, [MOVE_AIR_SLASH] = @@ -10125,7 +10125,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AIR_SLASH, + .battleAnimScript = gBattleAnimMove_AirSlash, }, [MOVE_X_SCISSOR] = @@ -10148,7 +10148,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SWORDS_DANCE}, - .battleAnimScript = Move_X_SCISSOR, + .battleAnimScript = gBattleAnimMove_XScissor, }, [MOVE_BUG_BUZZ] = @@ -10175,7 +10175,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BUG_BUZZ, + .battleAnimScript = gBattleAnimMove_BugBuzz, }, [MOVE_DRAGON_PULSE] = @@ -10197,7 +10197,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DRAGON_PULSE, + .battleAnimScript = gBattleAnimMove_DragonPulse, }, [MOVE_DRAGON_RUSH] = @@ -10224,7 +10224,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_DRAGON_RUSH, .contestComboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_TAIL}, - .battleAnimScript = Move_DRAGON_RUSH, + .battleAnimScript = gBattleAnimMove_DragonRush, }, [MOVE_POWER_GEM] = @@ -10245,7 +10245,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POWER_GEM, + .battleAnimScript = gBattleAnimMove_PowerGem, }, [MOVE_DRAIN_PUNCH] = @@ -10267,7 +10267,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, - .battleAnimScript = Move_DRAIN_PUNCH, + .battleAnimScript = gBattleAnimMove_DrainPunch, }, [MOVE_VACUUM_WAVE] = @@ -10288,7 +10288,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_VACUUM_WAVE, + .battleAnimScript = gBattleAnimMove_VacuumWave, }, [MOVE_FOCUS_BLAST] = @@ -10314,7 +10314,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_FOCUS_ENERGY}, - .battleAnimScript = Move_FOCUS_BLAST, + .battleAnimScript = gBattleAnimMove_FocusBlast, }, [MOVE_ENERGY_BALL] = @@ -10340,7 +10340,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_ENERGY_BALL, + .battleAnimScript = gBattleAnimMove_EnergyBall, }, [MOVE_BRAVE_BIRD] = @@ -10363,7 +10363,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_BRAVE_BIRD, .contestComboMoves = {0}, - .battleAnimScript = Move_BRAVE_BIRD, + .battleAnimScript = gBattleAnimMove_BraveBird, }, [MOVE_EARTH_POWER] = @@ -10389,7 +10389,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_EARTH_POWER, + .battleAnimScript = gBattleAnimMove_EarthPower, }, [MOVE_SWITCHEROO] = @@ -10414,7 +10414,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SWITCHEROO, + .battleAnimScript = gBattleAnimMove_Switcheroo, }, [MOVE_GIGA_IMPACT] = @@ -10438,7 +10438,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GIGA_IMPACT, + .battleAnimScript = gBattleAnimMove_GigaImpact, }, [MOVE_NASTY_PLOT] = @@ -10463,7 +10463,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NASTY_PLOT, + .battleAnimScript = gBattleAnimMove_NastyPlot, }, [MOVE_BULLET_PUNCH] = @@ -10486,7 +10486,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BULLET_PUNCH, + .battleAnimScript = gBattleAnimMove_BulletPunch, }, [MOVE_AVALANCHE] = @@ -10506,7 +10506,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AVALANCHE, + .battleAnimScript = gBattleAnimMove_Avalanche, }, [MOVE_ICE_SHARD] = @@ -10527,7 +10527,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ICE_SHARD, + .battleAnimScript = gBattleAnimMove_IceShard, }, [MOVE_SHADOW_CLAW] = @@ -10550,7 +10550,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SHADOW_CLAW, + .battleAnimScript = gBattleAnimMove_ShadowClaw, }, [MOVE_THUNDER_FANG] = @@ -10581,7 +10581,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_THUNDER_FANG, .contestComboMoves = {COMBO_STARTER_CHARGE, COMBO_STARTER_FIRE_FANG, COMBO_STARTER_ICE_FANG}, - .battleAnimScript = Move_THUNDER_FANG, + .battleAnimScript = gBattleAnimMove_ThunderFang, }, [MOVE_ICE_FANG] = @@ -10616,7 +10616,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_ICE_FANG, .contestComboMoves = {COMBO_STARTER_FIRE_FANG, COMBO_STARTER_THUNDER_FANG}, - .battleAnimScript = Move_ICE_FANG, + .battleAnimScript = gBattleAnimMove_IceFang, }, [MOVE_FIRE_FANG] = @@ -10647,7 +10647,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_FIRE_FANG, .contestComboMoves = {COMBO_STARTER_ICE_FANG, COMBO_STARTER_THUNDER_FANG}, - .battleAnimScript = Move_FIRE_FANG, + .battleAnimScript = gBattleAnimMove_FireFang, }, [MOVE_SHADOW_SNEAK] = @@ -10669,7 +10669,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SHADOW_SNEAK, + .battleAnimScript = gBattleAnimMove_ShadowSneak, }, [MOVE_MUD_BOMB] = @@ -10695,7 +10695,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MUD_BOMB, + .battleAnimScript = gBattleAnimMove_MudBomb, }, [MOVE_PSYCHO_CUT] = @@ -10718,7 +10718,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PSYCHO_CUT, + .battleAnimScript = gBattleAnimMove_PsychoCut, }, [MOVE_ZEN_HEADBUTT] = @@ -10744,7 +10744,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ZEN_HEADBUTT, + .battleAnimScript = gBattleAnimMove_ZenHeadbutt, }, [MOVE_MIRROR_SHOT] = @@ -10769,7 +10769,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MIRROR_SHOT, + .battleAnimScript = gBattleAnimMove_MirrorShot, }, [MOVE_FLASH_CANNON] = @@ -10794,7 +10794,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FLASH_CANNON, + .battleAnimScript = gBattleAnimMove_FlashCannon, }, [MOVE_ROCK_CLIMB] = @@ -10820,7 +10820,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ROCK_CLIMB, + .battleAnimScript = gBattleAnimMove_RockClimb, }, [MOVE_DEFOG] = @@ -10844,7 +10844,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DEFOG, + .battleAnimScript = gBattleAnimMove_Defog, }, [MOVE_TRICK_ROOM] = @@ -10867,7 +10867,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TRICK_ROOM, + .battleAnimScript = gBattleAnimMove_TrickRoom, }, [MOVE_DRACO_METEOR] = @@ -10892,7 +10892,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DRACO_METEOR, + .battleAnimScript = gBattleAnimMove_DracoMeteor, }, [MOVE_DISCHARGE] = @@ -10917,7 +10917,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE}, - .battleAnimScript = Move_DISCHARGE, + .battleAnimScript = gBattleAnimMove_Discharge, }, [MOVE_LAVA_PLUME] = @@ -10940,7 +10940,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_LAVA_PLUME, + .battleAnimScript = gBattleAnimMove_LavaPlume, }, [MOVE_LEAF_STORM] = @@ -10965,7 +10965,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LEAF_STORM, + .battleAnimScript = gBattleAnimMove_LeafStorm, }, [MOVE_POWER_WHIP] = @@ -10987,7 +10987,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_POWER_WHIP, + .battleAnimScript = gBattleAnimMove_PowerWhip, }, [MOVE_ROCK_WRECKER] = @@ -11011,7 +11011,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ROCK_WRECKER, + .battleAnimScript = gBattleAnimMove_RockWrecker, }, [MOVE_CROSS_POISON] = @@ -11039,7 +11039,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CROSS_POISON, + .battleAnimScript = gBattleAnimMove_CrossPoison, }, [MOVE_GUNK_SHOT] = @@ -11064,7 +11064,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GUNK_SHOT, + .battleAnimScript = gBattleAnimMove_GunkShot, }, [MOVE_IRON_HEAD] = @@ -11090,7 +11090,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_IRON_HEAD, + .battleAnimScript = gBattleAnimMove_IronHead, }, [MOVE_MAGNET_BOMB] = @@ -11112,7 +11112,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MAGNET_BOMB, + .battleAnimScript = gBattleAnimMove_MagnetBomb, }, [MOVE_STONE_EDGE] = @@ -11134,7 +11134,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STONE_EDGE, + .battleAnimScript = gBattleAnimMove_StoneEdge, }, [MOVE_CAPTIVATE] = @@ -11157,7 +11157,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARM}, - .battleAnimScript = Move_CAPTIVATE, + .battleAnimScript = gBattleAnimMove_Captivate, }, [MOVE_STEALTH_ROCK] = @@ -11183,7 +11183,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STEALTH_ROCK, + .battleAnimScript = gBattleAnimMove_StealthRock, }, [MOVE_GRASS_KNOT] = @@ -11206,7 +11206,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GRASS_KNOT, + .battleAnimScript = gBattleAnimMove_GrassKnot, }, [MOVE_CHATTER] = @@ -11246,7 +11246,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CHATTER, + .battleAnimScript = gBattleAnimMove_Chatter, }, [MOVE_JUDGMENT] = @@ -11268,7 +11268,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_JUDGMENT, + .battleAnimScript = gBattleAnimMove_Judgment, }, [MOVE_BUG_BITE] = @@ -11291,7 +11291,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BUG_BITE, + .battleAnimScript = gBattleAnimMove_BugBite, }, [MOVE_CHARGE_BEAM] = @@ -11317,7 +11317,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE}, - .battleAnimScript = Move_CHARGE_BEAM, + .battleAnimScript = gBattleAnimMove_ChargeBeam, }, [MOVE_WOOD_HAMMER] = @@ -11340,7 +11340,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WOOD_HAMMER, + .battleAnimScript = gBattleAnimMove_WoodHammer, }, [MOVE_AQUA_JET] = @@ -11362,7 +11362,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_AQUA_JET, + .battleAnimScript = gBattleAnimMove_AquaJet, }, [MOVE_ATTACK_ORDER] = @@ -11384,7 +11384,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_ATTACK_ORDER, .contestComboMoves = {COMBO_STARTER_DEFEND_ORDER, COMBO_STARTER_HEAL_ORDER}, - .battleAnimScript = Move_ATTACK_ORDER, + .battleAnimScript = gBattleAnimMove_AttackOrder, }, [MOVE_DEFEND_ORDER] = @@ -11409,7 +11409,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_DEFEND_ORDER, .contestComboMoves = {COMBO_STARTER_ATTACK_ORDER, COMBO_STARTER_HEAL_ORDER}, - .battleAnimScript = Move_DEFEND_ORDER, + .battleAnimScript = gBattleAnimMove_DefendOrder, }, [MOVE_HEAL_ORDER] = @@ -11435,7 +11435,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_HEAL_ORDER, .contestComboMoves = {COMBO_STARTER_ATTACK_ORDER, COMBO_STARTER_DEFEND_ORDER}, - .battleAnimScript = Move_HEAL_ORDER, + .battleAnimScript = gBattleAnimMove_HealOrder, }, [MOVE_HEAD_SMASH] = @@ -11458,7 +11458,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HEAD_SMASH, + .battleAnimScript = gBattleAnimMove_HeadSmash, }, [MOVE_DOUBLE_HIT] = @@ -11481,7 +11481,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DOUBLE_HIT, + .battleAnimScript = gBattleAnimMove_DoubleHit, }, [MOVE_ROAR_OF_TIME] = @@ -11506,7 +11506,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ROAR_OF_TIME, + .battleAnimScript = gBattleAnimMove_RoarOfTime, }, [MOVE_SPACIAL_REND] = @@ -11528,7 +11528,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SPACIAL_REND, + .battleAnimScript = gBattleAnimMove_SpacialRend, }, [MOVE_LUNAR_DANCE] = @@ -11552,7 +11552,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LUNAR_DANCE, + .battleAnimScript = gBattleAnimMove_LunarDance, }, [MOVE_CRUSH_GRIP] = @@ -11573,7 +11573,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CRUSH_GRIP, + .battleAnimScript = gBattleAnimMove_CrushGrip, }, [MOVE_MAGMA_STORM] = @@ -11597,7 +11597,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_MAGMA_STORM, + .battleAnimScript = gBattleAnimMove_MagmaStorm, }, [MOVE_DARK_VOID] = @@ -11621,7 +11621,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DARK_VOID, + .battleAnimScript = gBattleAnimMove_DarkVoid, }, [MOVE_SEED_FLARE] = @@ -11646,7 +11646,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SEED_FLARE, + .battleAnimScript = gBattleAnimMove_SeedFlare, }, [MOVE_OMINOUS_WIND] = @@ -11673,7 +11673,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_OMINOUS_WIND, + .battleAnimScript = gBattleAnimMove_OminousWind, }, [MOVE_SHADOW_FORCE] = @@ -11702,7 +11702,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SHADOW_FORCE, + .battleAnimScript = gBattleAnimMove_ShadowForce, }, [MOVE_HONE_CLAWS] = @@ -11727,7 +11727,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HONE_CLAWS, + .battleAnimScript = gBattleAnimMove_HoneClaws, }, [MOVE_WIDE_GUARD] = @@ -11754,7 +11754,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WIDE_GUARD, + .battleAnimScript = gBattleAnimMove_WideGuard, }, [MOVE_GUARD_SPLIT] = @@ -11777,7 +11777,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GUARD_SPLIT, + .battleAnimScript = gBattleAnimMove_GuardSplit, }, [MOVE_POWER_SPLIT] = @@ -11800,7 +11800,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POWER_SPLIT, + .battleAnimScript = gBattleAnimMove_PowerSplit, }, [MOVE_WONDER_ROOM] = @@ -11823,7 +11823,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WONDER_ROOM, + .battleAnimScript = gBattleAnimMove_WonderRoom, }, [MOVE_PSYSHOCK] = @@ -11842,7 +11842,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PSYSHOCK, + .battleAnimScript = gBattleAnimMove_Psyshock, }, [MOVE_VENOSHOCK] = @@ -11864,7 +11864,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_TOXIC}, - .battleAnimScript = Move_VENOSHOCK, + .battleAnimScript = gBattleAnimMove_Venoshock, }, [MOVE_AUTOTOMIZE] = @@ -11889,7 +11889,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AUTOTOMIZE, + .battleAnimScript = gBattleAnimMove_Autotomize, }, [MOVE_RAGE_POWDER] = @@ -11917,7 +11917,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_RAGE_POWDER, + .battleAnimScript = gBattleAnimMove_RagePowder, }, [MOVE_TELEKINESIS] = @@ -11941,7 +11941,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TELEKINESIS, + .battleAnimScript = gBattleAnimMove_Telekinesis, }, [MOVE_MAGIC_ROOM] = @@ -11964,7 +11964,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MAGIC_ROOM, + .battleAnimScript = gBattleAnimMove_MagicRoom, }, [MOVE_SMACK_DOWN] = @@ -11990,7 +11990,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SMACK_DOWN, + .battleAnimScript = gBattleAnimMove_SmackDown, }, [MOVE_STORM_THROW] = @@ -12011,7 +12011,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STORM_THROW, + .battleAnimScript = gBattleAnimMove_StormThrow, }, [MOVE_FLAME_BURST] = @@ -12036,7 +12036,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FLAME_BURST, + .battleAnimScript = gBattleAnimMove_FlameBurst, }, [MOVE_SLUDGE_WAVE] = @@ -12061,7 +12061,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SLUDGE_WAVE, + .battleAnimScript = gBattleAnimMove_SludgeWave, }, [MOVE_QUIVER_DANCE] = @@ -12087,7 +12087,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_QUIVER_DANCE, + .battleAnimScript = gBattleAnimMove_QuiverDance, }, [MOVE_HEAVY_SLAM] = @@ -12109,7 +12109,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HEAVY_SLAM, + .battleAnimScript = gBattleAnimMove_HeavySlam, }, [MOVE_SYNCHRONOISE] = @@ -12130,7 +12130,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SYNCHRONOISE, + .battleAnimScript = gBattleAnimMove_Synchronoise, }, [MOVE_ELECTRO_BALL] = @@ -12152,7 +12152,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ELECTRO_BALL, + .battleAnimScript = gBattleAnimMove_ElectroBall, }, [MOVE_SOAK] = @@ -12175,7 +12175,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SOAK, + .battleAnimScript = gBattleAnimMove_Soak, }, [MOVE_FLAME_CHARGE] = @@ -12202,7 +12202,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FLAME_CHARGE, + .battleAnimScript = gBattleAnimMove_FlameCharge, }, [MOVE_COIL] = @@ -12227,7 +12227,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_COIL, + .battleAnimScript = gBattleAnimMove_Coil, }, [MOVE_LOW_SWEEP] = @@ -12253,7 +12253,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LOW_SWEEP, + .battleAnimScript = gBattleAnimMove_LowSweep, }, [MOVE_ACID_SPRAY] = @@ -12279,7 +12279,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ACID_SPRAY, + .battleAnimScript = gBattleAnimMove_AcidSpray, }, [MOVE_FOUL_PLAY] = @@ -12301,7 +12301,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FOUL_PLAY, + .battleAnimScript = gBattleAnimMove_FoulPlay, }, [MOVE_SIMPLE_BEAM] = @@ -12324,7 +12324,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SIMPLE_BEAM, + .battleAnimScript = gBattleAnimMove_SimpleBeam, }, [MOVE_ENTRAINMENT] = @@ -12347,7 +12347,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ENTRAINMENT, + .battleAnimScript = gBattleAnimMove_Entrainment, }, [MOVE_AFTER_YOU] = @@ -12373,7 +12373,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AFTER_YOU, + .battleAnimScript = gBattleAnimMove_AfterYou, }, [MOVE_ROUND] = @@ -12399,7 +12399,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ROUND, + .battleAnimScript = gBattleAnimMove_Round, }, [MOVE_ECHOED_VOICE] = @@ -12422,7 +12422,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ECHOED_VOICE, + .battleAnimScript = gBattleAnimMove_EchoedVoice, }, [MOVE_CHIP_AWAY] = @@ -12443,7 +12443,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CHIP_AWAY, + .battleAnimScript = gBattleAnimMove_ChipAway, }, [MOVE_CLEAR_SMOG] = @@ -12467,7 +12467,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CLEAR_SMOG, + .battleAnimScript = gBattleAnimMove_ClearSmog, }, [MOVE_STORED_POWER] = @@ -12488,7 +12488,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STORED_POWER, + .battleAnimScript = gBattleAnimMove_StoredPower, }, [MOVE_QUICK_GUARD] = @@ -12515,7 +12515,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_QUICK_GUARD, + .battleAnimScript = gBattleAnimMove_QuickGuard, }, [MOVE_ALLY_SWITCH] = @@ -12539,7 +12539,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ALLY_SWITCH, + .battleAnimScript = gBattleAnimMove_AllySwitch, }, [MOVE_SCALD] = @@ -12565,7 +12565,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_SCALD, .contestComboMoves = {0}, - .battleAnimScript = Move_SCALD, + .battleAnimScript = gBattleAnimMove_Scald, }, [MOVE_SHELL_SMASH] = @@ -12590,7 +12590,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SHELL_SMASH, + .battleAnimScript = gBattleAnimMove_ShellSmash, }, [MOVE_HEAL_PULSE] = @@ -12616,7 +12616,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HEAL_PULSE, + .battleAnimScript = gBattleAnimMove_HealPulse, }, [MOVE_HEX] = @@ -12639,7 +12639,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_TOXIC}, - .battleAnimScript = Move_HEX, + .battleAnimScript = gBattleAnimMove_Hex, }, [MOVE_SKY_DROP] = @@ -12666,7 +12666,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SKY_DROP, + .battleAnimScript = gBattleAnimMove_SkyDrop, }, [MOVE_SHIFT_GEAR] = @@ -12691,7 +12691,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SHIFT_GEAR, + .battleAnimScript = gBattleAnimMove_ShiftGear, }, [MOVE_CIRCLE_THROW] = @@ -12713,7 +12713,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CIRCLE_THROW, + .battleAnimScript = gBattleAnimMove_CircleThrow, }, [MOVE_INCINERATE] = @@ -12737,7 +12737,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_INCINERATE, + .battleAnimScript = gBattleAnimMove_Incinerate, }, [MOVE_QUASH] = @@ -12760,7 +12760,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_QUASH, + .battleAnimScript = gBattleAnimMove_Quash, }, [MOVE_ACROBATICS] = @@ -12782,7 +12782,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ACROBATICS, + .battleAnimScript = gBattleAnimMove_Acrobatics, }, [MOVE_REFLECT_TYPE] = @@ -12806,7 +12806,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_REFLECT_TYPE, + .battleAnimScript = gBattleAnimMove_ReflectType, }, [MOVE_RETALIATE] = @@ -12828,7 +12828,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_RETALIATE, + .battleAnimScript = gBattleAnimMove_Retaliate, }, [MOVE_FINAL_GAMBIT] = @@ -12851,7 +12851,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FINAL_GAMBIT, + .battleAnimScript = gBattleAnimMove_FinalGambit, }, [MOVE_BESTOW] = @@ -12878,7 +12878,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BESTOW, + .battleAnimScript = gBattleAnimMove_Bestow, }, [MOVE_INFERNO] = @@ -12903,7 +12903,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_INFERNO, + .battleAnimScript = gBattleAnimMove_Inferno, }, [MOVE_WATER_PLEDGE] = @@ -12925,7 +12925,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WATER_PLEDGE, + .battleAnimScript = gBattleAnimMove_WaterPledge, }, [MOVE_FIRE_PLEDGE] = @@ -12947,7 +12947,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FIRE_PLEDGE, + .battleAnimScript = gBattleAnimMove_FirePledge, }, [MOVE_GRASS_PLEDGE] = @@ -12969,7 +12969,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GRASS_PLEDGE, + .battleAnimScript = gBattleAnimMove_GrassPledge, }, [MOVE_VOLT_SWITCH] = @@ -12988,7 +12988,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_VOLT_SWITCH, + .battleAnimScript = gBattleAnimMove_VoltSwitch, }, [MOVE_STRUGGLE_BUG] = @@ -13013,7 +13013,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STRUGGLE_BUG, + .battleAnimScript = gBattleAnimMove_StruggleBug, }, [MOVE_BULLDOZE] = @@ -13039,7 +13039,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BULLDOZE, + .battleAnimScript = gBattleAnimMove_Bulldoze, }, [MOVE_FROST_BREATH] = @@ -13059,7 +13059,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FROST_BREATH, + .battleAnimScript = gBattleAnimMove_FrostBreath, }, [MOVE_DRAGON_TAIL] = @@ -13081,7 +13081,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = COMBO_STARTER_DRAGON_TAIL, .contestComboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_RUSH}, - .battleAnimScript = Move_DRAGON_TAIL, + .battleAnimScript = gBattleAnimMove_DragonTail, }, [MOVE_WORK_UP] = @@ -13106,7 +13106,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WORK_UP, + .battleAnimScript = gBattleAnimMove_WorkUp, }, [MOVE_ELECTROWEB] = @@ -13131,7 +13131,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ELECTROWEB, + .battleAnimScript = gBattleAnimMove_Electroweb, }, [MOVE_WILD_CHARGE] = @@ -13154,7 +13154,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WILD_CHARGE, + .battleAnimScript = gBattleAnimMove_WildCharge, }, [MOVE_DRILL_RUN] = @@ -13177,7 +13177,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DRILL_RUN, + .battleAnimScript = gBattleAnimMove_DrillRun, }, [MOVE_DUAL_CHOP] = @@ -13200,7 +13200,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DUAL_CHOP, + .battleAnimScript = gBattleAnimMove_DualChop, }, [MOVE_HEART_STAMP] = @@ -13226,7 +13226,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HEART_STAMP, + .battleAnimScript = gBattleAnimMove_HeartStamp, }, [MOVE_HORN_LEECH] = @@ -13247,7 +13247,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HORN_LEECH, + .battleAnimScript = gBattleAnimMove_HornLeech, }, [MOVE_SACRED_SWORD] = @@ -13269,7 +13269,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SACRED_SWORD, + .battleAnimScript = gBattleAnimMove_SacredSword, }, [MOVE_RAZOR_SHELL] = @@ -13296,7 +13296,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_RAZOR_SHELL, + .battleAnimScript = gBattleAnimMove_RazorShell, }, [MOVE_HEAT_CRASH] = @@ -13317,7 +13317,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HEAT_CRASH, + .battleAnimScript = gBattleAnimMove_HeatCrash, }, [MOVE_LEAF_TORNADO] = @@ -13343,7 +13343,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LEAF_TORNADO, + .battleAnimScript = gBattleAnimMove_LeafTornado, }, [MOVE_STEAMROLLER] = @@ -13370,7 +13370,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STEAMROLLER, + .battleAnimScript = gBattleAnimMove_Steamroller, }, [MOVE_COTTON_GUARD] = @@ -13395,7 +13395,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_COTTON_GUARD, + .battleAnimScript = gBattleAnimMove_CottonGuard, }, [MOVE_NIGHT_DAZE] = @@ -13420,7 +13420,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NIGHT_DAZE, + .battleAnimScript = gBattleAnimMove_NightDaze, }, [MOVE_PSYSTRIKE] = @@ -13439,7 +13439,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PSYSTRIKE, + .battleAnimScript = gBattleAnimMove_Psystrike, }, [MOVE_TAIL_SLAP] = @@ -13461,7 +13461,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TAIL_SLAP, + .battleAnimScript = gBattleAnimMove_TailSlap, }, [MOVE_HURRICANE] = @@ -13488,7 +13488,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HURRICANE, + .battleAnimScript = gBattleAnimMove_Hurricane, }, [MOVE_HEAD_CHARGE] = @@ -13511,7 +13511,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HEAD_CHARGE, + .battleAnimScript = gBattleAnimMove_HeadCharge, }, [MOVE_GEAR_GRIND] = @@ -13535,7 +13535,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GEAR_GRIND, + .battleAnimScript = gBattleAnimMove_GearGrind, }, [MOVE_SEARING_SHOT] = @@ -13559,7 +13559,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SEARING_SHOT, + .battleAnimScript = gBattleAnimMove_SearingShot, }, [MOVE_TECHNO_BLAST] = @@ -13582,7 +13582,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TECHNO_BLAST, + .battleAnimScript = gBattleAnimMove_TechnoBlast, }, [MOVE_RELIC_SONG] = @@ -13611,7 +13611,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_RELIC_SONG, + .battleAnimScript = gBattleAnimMove_RelicSong, }, [MOVE_SECRET_SWORD] = @@ -13634,7 +13634,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SECRET_SWORD, + .battleAnimScript = gBattleAnimMove_SecretSword, }, [MOVE_GLACIATE] = @@ -13659,7 +13659,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GLACIATE, + .battleAnimScript = gBattleAnimMove_Glaciate, }, [MOVE_BOLT_STRIKE] = @@ -13685,7 +13685,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BOLT_STRIKE, + .battleAnimScript = gBattleAnimMove_BoltStrike, }, [MOVE_BLUE_FLARE] = @@ -13710,7 +13710,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BLUE_FLARE, + .battleAnimScript = gBattleAnimMove_BlueFlare, }, [MOVE_FIERY_DANCE] = @@ -13737,7 +13737,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FIERY_DANCE, + .battleAnimScript = gBattleAnimMove_FieryDance, }, [MOVE_FREEZE_SHOCK] = @@ -13766,7 +13766,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FREEZE_SHOCK, + .battleAnimScript = gBattleAnimMove_FreezeShock, }, [MOVE_ICE_BURN] = @@ -13795,7 +13795,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ICE_BURN, + .battleAnimScript = gBattleAnimMove_IceBurn, }, [MOVE_SNARL] = @@ -13823,7 +13823,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SNARL, + .battleAnimScript = gBattleAnimMove_Snarl, }, [MOVE_ICICLE_CRASH] = @@ -13848,7 +13848,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ICICLE_CRASH, + .battleAnimScript = gBattleAnimMove_IcicleCrash, }, [MOVE_V_CREATE] = @@ -13876,7 +13876,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_V_CREATE, + .battleAnimScript = gBattleAnimMove_VCreate, }, [MOVE_FUSION_FLARE] = @@ -13898,7 +13898,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FUSION_FLARE, + .battleAnimScript = gBattleAnimMove_FusionFlare, }, [MOVE_FUSION_BOLT] = @@ -13919,7 +13919,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FUSION_BOLT, + .battleAnimScript = gBattleAnimMove_FusionBolt, }, [MOVE_FLYING_PRESS] = @@ -13946,7 +13946,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FLYING_PRESS, + .battleAnimScript = gBattleAnimMove_FlyingPress, }, [MOVE_MAT_BLOCK] = @@ -13976,7 +13976,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MAT_BLOCK, + .battleAnimScript = gBattleAnimMove_MatBlock, }, [MOVE_BELCH] = @@ -14005,7 +14005,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BELCH, + .battleAnimScript = gBattleAnimMove_Belch, }, [MOVE_ROTOTILLER] = @@ -14030,7 +14030,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ROTOTILLER, + .battleAnimScript = gBattleAnimMove_Rototiller, }, [MOVE_STICKY_WEB] = @@ -14056,7 +14056,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STICKY_WEB, + .battleAnimScript = gBattleAnimMove_StickyWeb, }, [MOVE_FELL_STINGER] = @@ -14078,7 +14078,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FELL_STINGER, + .battleAnimScript = gBattleAnimMove_FellStinger, }, [MOVE_PHANTOM_FORCE] = @@ -14107,7 +14107,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PHANTOM_FORCE, + .battleAnimScript = gBattleAnimMove_PhantomForce, }, [MOVE_TRICK_OR_TREAT] = @@ -14131,7 +14131,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TRICK_OR_TREAT, + .battleAnimScript = gBattleAnimMove_TrickOrTreat, }, [MOVE_NOBLE_ROAR] = @@ -14156,7 +14156,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NOBLE_ROAR, + .battleAnimScript = gBattleAnimMove_NobleRoar, }, [MOVE_ION_DELUGE] = @@ -14180,7 +14180,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ION_DELUGE, + .battleAnimScript = gBattleAnimMove_IonDeluge, }, [MOVE_PARABOLIC_CHARGE] = @@ -14202,7 +14202,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PARABOLIC_CHARGE, + .battleAnimScript = gBattleAnimMove_ParabolicCharge, }, [MOVE_FORESTS_CURSE] = @@ -14226,7 +14226,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FORESTS_CURSE, + .battleAnimScript = gBattleAnimMove_ForestsCurse, }, [MOVE_PETAL_BLIZZARD] = @@ -14248,7 +14248,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PETAL_BLIZZARD, + .battleAnimScript = gBattleAnimMove_PetalBlizzard, }, [MOVE_FREEZE_DRY] = @@ -14278,7 +14278,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FREEZE_DRY, + .battleAnimScript = gBattleAnimMove_FreezeDry, }, [MOVE_DISARMING_VOICE] = @@ -14301,7 +14301,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DISARMING_VOICE, + .battleAnimScript = gBattleAnimMove_DisarmingVoice, }, [MOVE_PARTING_SHOT] = @@ -14326,7 +14326,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PARTING_SHOT, + .battleAnimScript = gBattleAnimMove_PartingShot, }, [MOVE_TOPSY_TURVY] = @@ -14349,7 +14349,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TOPSY_TURVY, + .battleAnimScript = gBattleAnimMove_TopsyTurvy, }, [MOVE_DRAINING_KISS] = @@ -14371,7 +14371,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DRAINING_KISS, + .battleAnimScript = gBattleAnimMove_DrainingKiss, }, [MOVE_CRAFTY_SHIELD] = @@ -14397,7 +14397,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CRAFTY_SHIELD, + .battleAnimScript = gBattleAnimMove_CraftyShield, }, [MOVE_FLOWER_SHIELD] = @@ -14421,7 +14421,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FLOWER_SHIELD, + .battleAnimScript = gBattleAnimMove_FlowerShield, }, [MOVE_GRASSY_TERRAIN] = @@ -14446,7 +14446,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_GRASSY_TERRAIN, .contestComboMoves = {0}, - .battleAnimScript = Move_GRASSY_TERRAIN, + .battleAnimScript = gBattleAnimMove_GrassyTerrain, }, [MOVE_MISTY_TERRAIN] = @@ -14471,7 +14471,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = COMBO_STARTER_MISTY_TERRAIN, .contestComboMoves = {0}, - .battleAnimScript = Move_MISTY_TERRAIN, + .battleAnimScript = gBattleAnimMove_MistyTerrain, }, [MOVE_ELECTRIFY] = @@ -14493,7 +14493,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ELECTRIFY, + .battleAnimScript = gBattleAnimMove_Electrify, }, [MOVE_PLAY_ROUGH] = @@ -14519,7 +14519,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PLAY_ROUGH, + .battleAnimScript = gBattleAnimMove_PlayRough, }, [MOVE_FAIRY_WIND] = @@ -14541,7 +14541,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FAIRY_WIND, + .battleAnimScript = gBattleAnimMove_FairyWind, }, [MOVE_MOONBLAST] = @@ -14566,7 +14566,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MOONBLAST, + .battleAnimScript = gBattleAnimMove_Moonblast, }, [MOVE_BOOMBURST] = @@ -14589,7 +14589,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BOOMBURST, + .battleAnimScript = gBattleAnimMove_Boomburst, }, [MOVE_FAIRY_LOCK] = @@ -14613,7 +14613,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FAIRY_LOCK, + .battleAnimScript = gBattleAnimMove_FairyLock, }, [MOVE_KINGS_SHIELD] = @@ -14641,7 +14641,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_KINGS_SHIELD, + .battleAnimScript = gBattleAnimMove_KingsShield, }, [MOVE_PLAY_NICE] = @@ -14666,7 +14666,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PLAY_NICE, + .battleAnimScript = gBattleAnimMove_PlayNice, }, [MOVE_CONFIDE] = @@ -14692,7 +14692,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CONFIDE, + .battleAnimScript = gBattleAnimMove_Confide, }, [MOVE_DIAMOND_STORM] = @@ -14719,7 +14719,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DIAMOND_STORM, + .battleAnimScript = gBattleAnimMove_DiamondStorm, }, [MOVE_STEAM_ERUPTION] = @@ -14746,7 +14746,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SCALD}, - .battleAnimScript = Move_STEAM_ERUPTION, + .battleAnimScript = gBattleAnimMove_SteamEruption, }, [MOVE_HYPERSPACE_HOLE] = @@ -14771,7 +14771,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_HYPERSPACE_HOLE, .contestComboMoves = {COMBO_STARTER_HYPERSPACE_FURY}, - .battleAnimScript = Move_HYPERSPACE_HOLE, + .battleAnimScript = gBattleAnimMove_HyperspaceHole, }, [MOVE_WATER_SHURIKEN] = @@ -14792,7 +14792,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WATER_SHURIKEN, + .battleAnimScript = gBattleAnimMove_WaterShuriken, }, [MOVE_MYSTICAL_FIRE] = @@ -14817,7 +14817,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MYSTICAL_FIRE, + .battleAnimScript = gBattleAnimMove_MysticalFire, }, [MOVE_SPIKY_SHIELD] = @@ -14844,7 +14844,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SPIKY_SHIELD, + .battleAnimScript = gBattleAnimMove_SpikyShield, }, [MOVE_AROMATIC_MIST] = @@ -14869,7 +14869,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AROMATIC_MIST, + .battleAnimScript = gBattleAnimMove_AromaticMist, }, [MOVE_EERIE_IMPULSE] = @@ -14892,7 +14892,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_EERIE_IMPULSE, + .battleAnimScript = gBattleAnimMove_EerieImpulse, }, [MOVE_VENOM_DRENCH] = @@ -14915,7 +14915,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_TOXIC}, - .battleAnimScript = Move_VENOM_DRENCH, + .battleAnimScript = gBattleAnimMove_VenomDrench, }, [MOVE_POWDER] = @@ -14939,7 +14939,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POWDER, + .battleAnimScript = gBattleAnimMove_Powder, }, [MOVE_GEOMANCY] = @@ -14965,7 +14965,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GEOMANCY, + .battleAnimScript = gBattleAnimMove_Geomancy, }, [MOVE_MAGNETIC_FLUX] = @@ -14991,7 +14991,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MAGNETIC_FLUX, + .battleAnimScript = gBattleAnimMove_MagneticFlux, }, [MOVE_HAPPY_HOUR] = @@ -15015,7 +15015,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HAPPY_HOUR, + .battleAnimScript = gBattleAnimMove_HappyHour, }, [MOVE_ELECTRIC_TERRAIN] = @@ -15040,7 +15040,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = COMBO_STARTER_ELECTRIC_TERRAIN, .contestComboMoves = {0}, - .battleAnimScript = Move_ELECTRIC_TERRAIN, + .battleAnimScript = gBattleAnimMove_ElectricTerrain, }, [MOVE_DAZZLING_GLEAM] = @@ -15061,7 +15061,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DAZZLING_GLEAM, + .battleAnimScript = gBattleAnimMove_DazzlingGleam, }, [MOVE_CELEBRATE] = @@ -15091,7 +15091,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CELEBRATE, + .battleAnimScript = gBattleAnimMove_Celebrate, }, [MOVE_HOLD_HANDS] = @@ -15121,7 +15121,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HOLD_HANDS, + .battleAnimScript = gBattleAnimMove_HoldHands, }, [MOVE_BABY_DOLL_EYES] = @@ -15144,7 +15144,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BABY_DOLL_EYES, + .battleAnimScript = gBattleAnimMove_BabyDollEyes, }, [MOVE_NUZZLE] = @@ -15170,7 +15170,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NUZZLE, + .battleAnimScript = gBattleAnimMove_Nuzzle, }, [MOVE_HOLD_BACK] = @@ -15190,7 +15190,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HOLD_BACK, + .battleAnimScript = gBattleAnimMove_HoldBack, }, [MOVE_INFESTATION] = @@ -15215,7 +15215,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_INFESTATION, + .battleAnimScript = gBattleAnimMove_Infestation, }, [MOVE_POWER_UP_PUNCH] = @@ -15243,7 +15243,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POWER_UP_PUNCH, + .battleAnimScript = gBattleAnimMove_PowerUpPunch, }, [MOVE_OBLIVION_WING] = @@ -15264,7 +15264,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_OBLIVION_WING, + .battleAnimScript = gBattleAnimMove_OblivionWing, }, [MOVE_THOUSAND_ARROWS] = @@ -15292,7 +15292,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_THOUSAND_ARROWS, .contestComboMoves = {COMBO_STARTER_THOUSAND_WAVES}, - .battleAnimScript = Move_THOUSAND_ARROWS, + .battleAnimScript = gBattleAnimMove_ThousandArrows, }, [MOVE_THOUSAND_WAVES] = @@ -15318,7 +15318,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_THOUSAND_WAVES, .contestComboMoves = {COMBO_STARTER_THOUSAND_ARROWS}, - .battleAnimScript = Move_THOUSAND_WAVES, + .battleAnimScript = gBattleAnimMove_ThousandWaves, }, [MOVE_LANDS_WRATH] = @@ -15340,7 +15340,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LANDS_WRATH, + .battleAnimScript = gBattleAnimMove_LandsWrath, }, [MOVE_LIGHT_OF_RUIN] = @@ -15359,7 +15359,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, .metronomeBanned = TRUE, - .battleAnimScript = Move_LIGHT_OF_RUIN, + .battleAnimScript = gBattleAnimMove_LightOfRuin, }, [MOVE_ORIGIN_PULSE] = @@ -15382,7 +15382,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ORIGIN_PULSE, + .battleAnimScript = gBattleAnimMove_OriginPulse, }, [MOVE_PRECIPICE_BLADES] = @@ -15404,7 +15404,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PRECIPICE_BLADES, + .battleAnimScript = gBattleAnimMove_PrecipiceBlades, }, [MOVE_DRAGON_ASCENT] = @@ -15429,7 +15429,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DRAGON_ASCENT, + .battleAnimScript = gBattleAnimMove_DragonAscent, }, [MOVE_HYPERSPACE_FURY] = @@ -15457,7 +15457,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_HYPERSPACE_FURY, .contestComboMoves = {COMBO_STARTER_HYPERSPACE_HOLE}, - .battleAnimScript = Move_HYPERSPACE_FURY, + .battleAnimScript = gBattleAnimMove_HyperspaceFury, }, [MOVE_SHORE_UP] = @@ -15483,7 +15483,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SANDSTORM}, - .battleAnimScript = Move_SHORE_UP, + .battleAnimScript = gBattleAnimMove_ShoreUp, }, [MOVE_FIRST_IMPRESSION] = @@ -15506,7 +15506,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FIRST_IMPRESSION, + .battleAnimScript = gBattleAnimMove_FirstImpression, }, [MOVE_BANEFUL_BUNKER] = @@ -15533,7 +15533,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BANEFUL_BUNKER, + .battleAnimScript = gBattleAnimMove_BanefulBunker, }, [MOVE_SPIRIT_SHACKLE] = @@ -15558,7 +15558,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SPIRIT_SHACKLE, + .battleAnimScript = gBattleAnimMove_SpiritShackle, }, [MOVE_DARKEST_LARIAT] = @@ -15581,7 +15581,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DARKEST_LARIAT, + .battleAnimScript = gBattleAnimMove_DarkestLariat, }, [MOVE_SPARKLING_ARIA] = @@ -15609,7 +15609,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SCALD}, - .battleAnimScript = Move_SPARKLING_ARIA, + .battleAnimScript = gBattleAnimMove_SparklingAria, }, [MOVE_ICE_HAMMER] = @@ -15636,7 +15636,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL}, - .battleAnimScript = Move_ICE_HAMMER, + .battleAnimScript = gBattleAnimMove_IceHammer, }, [MOVE_FLORAL_HEALING] = @@ -15662,7 +15662,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FLORAL_HEALING, + .battleAnimScript = gBattleAnimMove_FloralHealing, }, [MOVE_HIGH_HORSEPOWER] = @@ -15684,7 +15684,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_HIGH_HORSEPOWER, + .battleAnimScript = gBattleAnimMove_HighHorsepower, }, [MOVE_STRENGTH_SAP] = @@ -15708,7 +15708,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STRENGTH_SAP, + .battleAnimScript = gBattleAnimMove_StrengthSap, }, [MOVE_SOLAR_BLADE] = @@ -15734,7 +15734,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_SOLAR_BLADE, + .battleAnimScript = gBattleAnimMove_SolarBlade, }, [MOVE_LEAFAGE] = @@ -15755,7 +15755,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GROWTH}, - .battleAnimScript = Move_LEAFAGE, + .battleAnimScript = gBattleAnimMove_Leafage, }, [MOVE_SPOTLIGHT] = @@ -15782,7 +15782,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SPOTLIGHT, + .battleAnimScript = gBattleAnimMove_Spotlight, }, [MOVE_TOXIC_THREAD] = @@ -15805,7 +15805,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_TOXIC}, - .battleAnimScript = Move_TOXIC_THREAD, + .battleAnimScript = gBattleAnimMove_ToxicThread, }, [MOVE_LASER_FOCUS] = @@ -15830,7 +15830,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LASER_FOCUS, + .battleAnimScript = gBattleAnimMove_LaserFocus, }, [MOVE_GEAR_UP] = @@ -15856,7 +15856,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GEAR_UP, + .battleAnimScript = gBattleAnimMove_GearUp, }, [MOVE_THROAT_CHOP] = @@ -15882,7 +15882,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_THROAT_CHOP, + .battleAnimScript = gBattleAnimMove_ThroatChop, }, [MOVE_POLLEN_PUFF] = @@ -15904,7 +15904,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POLLEN_PUFF, + .battleAnimScript = gBattleAnimMove_PollenPuff, }, [MOVE_ANCHOR_SHOT] = @@ -15930,7 +15930,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ANCHOR_SHOT, + .battleAnimScript = gBattleAnimMove_AnchorShot, }, [MOVE_PSYCHIC_TERRAIN] = @@ -15954,7 +15954,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = COMBO_STARTER_PSYCHIC_TERRAIN, .contestComboMoves = {0}, - .battleAnimScript = Move_PSYCHIC_TERRAIN, + .battleAnimScript = gBattleAnimMove_PsychicTerrain, }, [MOVE_LUNGE] = @@ -15980,7 +15980,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LUNGE, + .battleAnimScript = gBattleAnimMove_Lunge, }, [MOVE_FIRE_LASH] = @@ -16006,7 +16006,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_FIRE_LASH, + .battleAnimScript = gBattleAnimMove_FireLash, }, [MOVE_POWER_TRIP] = @@ -16028,7 +16028,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POWER_TRIP, + .battleAnimScript = gBattleAnimMove_PowerTrip, }, [MOVE_BURN_UP] = @@ -16055,7 +16055,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_SUNNY_DAY}, - .battleAnimScript = Move_BURN_UP, + .battleAnimScript = gBattleAnimMove_BurnUp, }, [MOVE_SPEED_SWAP] = @@ -16078,7 +16078,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SPEED_SWAP, + .battleAnimScript = gBattleAnimMove_SpeedSwap, }, [MOVE_SMART_STRIKE] = @@ -16100,7 +16100,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SMART_STRIKE, + .battleAnimScript = gBattleAnimMove_SmartStrike, }, [MOVE_PURIFY] = @@ -16125,7 +16125,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PURIFY, + .battleAnimScript = gBattleAnimMove_Purify, }, [MOVE_REVELATION_DANCE] = @@ -16147,7 +16147,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_REVELATION_DANCE, + .battleAnimScript = gBattleAnimMove_RevelationDance, }, [MOVE_CORE_ENFORCER] = @@ -16172,7 +16172,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CORE_ENFORCER, + .battleAnimScript = gBattleAnimMove_CoreEnforcer, }, [MOVE_TROP_KICK] = @@ -16198,7 +16198,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TROP_KICK, + .battleAnimScript = gBattleAnimMove_TropKick, }, [MOVE_INSTRUCT] = @@ -16224,7 +16224,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_INSTRUCT, + .battleAnimScript = gBattleAnimMove_Instruct, }, [MOVE_BEAK_BLAST] = @@ -16253,7 +16253,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BEAK_BLAST, + .battleAnimScript = gBattleAnimMove_BeakBlast, }, [MOVE_CLANGING_SCALES] = @@ -16280,7 +16280,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CLANGING_SCALES, + .battleAnimScript = gBattleAnimMove_ClangingScales, }, [MOVE_DRAGON_HAMMER] = @@ -16302,7 +16302,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_DRAGON_BREATH, COMBO_STARTER_DRAGON_DANCE, COMBO_STARTER_DRAGON_RAGE, COMBO_STARTER_DRAGON_RUSH, COMBO_STARTER_DRAGON_TAIL}, - .battleAnimScript = Move_DRAGON_HAMMER, + .battleAnimScript = gBattleAnimMove_DragonHammer, }, [MOVE_BRUTAL_SWING] = @@ -16324,7 +16324,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BRUTAL_SWING, + .battleAnimScript = gBattleAnimMove_BrutalSwing, }, [MOVE_AURORA_VEIL] = @@ -16349,7 +16349,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_HAIL}, - .battleAnimScript = Move_AURORA_VEIL, + .battleAnimScript = gBattleAnimMove_AuroraVeil, }, [MOVE_SHELL_TRAP] = @@ -16377,7 +16377,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SHELL_TRAP, + .battleAnimScript = gBattleAnimMove_ShellTrap, }, [MOVE_FLEUR_CANNON] = @@ -16403,7 +16403,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FLEUR_CANNON, + .battleAnimScript = gBattleAnimMove_FleurCannon, }, [MOVE_PSYCHIC_FANGS] = @@ -16426,7 +16426,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PSYCHIC_FANGS, + .battleAnimScript = gBattleAnimMove_PsychicFangs, }, [MOVE_STOMPING_TANTRUM] = @@ -16449,7 +16449,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STOMPING_TANTRUM, + .battleAnimScript = gBattleAnimMove_StompingTantrum, }, [MOVE_SHADOW_BONE] = @@ -16474,7 +16474,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = COMBO_STARTER_SHADOW_BONE, .contestComboMoves = {COMBO_STARTER_BONE_CLUB, COMBO_STARTER_BONEMERANG, COMBO_STARTER_BONE_RUSH}, - .battleAnimScript = Move_SHADOW_BONE, + .battleAnimScript = gBattleAnimMove_ShadowBone, }, [MOVE_ACCELEROCK] = @@ -16496,7 +16496,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ACCELEROCK, + .battleAnimScript = gBattleAnimMove_Accelerock, }, [MOVE_LIQUIDATION] = @@ -16522,7 +16522,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_RAIN_DANCE}, - .battleAnimScript = Move_LIQUIDATION, + .battleAnimScript = gBattleAnimMove_Liquidation, }, [MOVE_PRISMATIC_LASER] = @@ -16547,7 +16547,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PRISMATIC_LASER, + .battleAnimScript = gBattleAnimMove_PrismaticLaser, }, [MOVE_SPECTRAL_THIEF] = @@ -16574,7 +16574,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SPECTRAL_THIEF, + .battleAnimScript = gBattleAnimMove_SpectralThief, }, [MOVE_SUNSTEEL_STRIKE] = @@ -16598,7 +16598,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SUNSTEEL_STRIKE, + .battleAnimScript = gBattleAnimMove_SunsteelStrike, }, [MOVE_MOONGEIST_BEAM] = @@ -16621,7 +16621,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MOONGEIST_BEAM, + .battleAnimScript = gBattleAnimMove_MoongeistBeam, }, [MOVE_TEARFUL_LOOK] = @@ -16645,7 +16645,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TEARFUL_LOOK, + .battleAnimScript = gBattleAnimMove_TearfulLook, }, [MOVE_ZING_ZAP] = @@ -16671,7 +16671,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_CHARGE}, - .battleAnimScript = Move_ZING_ZAP, + .battleAnimScript = gBattleAnimMove_ZingZap, }, [MOVE_NATURES_MADNESS] = @@ -16693,7 +16693,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NATURES_MADNESS, + .battleAnimScript = gBattleAnimMove_NaturesMadness, }, [MOVE_MULTI_ATTACK] = @@ -16716,7 +16716,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MULTI_ATTACK, + .battleAnimScript = gBattleAnimMove_MultiAttack, }, [MOVE_MIND_BLOWN] = @@ -16738,7 +16738,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MIND_BLOWN, + .battleAnimScript = gBattleAnimMove_MindBlown, }, [MOVE_PLASMA_FISTS] = @@ -16762,7 +16762,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PLASMA_FISTS, + .battleAnimScript = gBattleAnimMove_PlasmaFists, }, [MOVE_PHOTON_GEYSER] = @@ -16785,7 +16785,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PHOTON_GEYSER, + .battleAnimScript = gBattleAnimMove_PhotonGeyser, }, [MOVE_ZIPPY_ZAP] = @@ -16812,7 +16812,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .chance = 100, }), #endif - .battleAnimScript = Move_ZIPPY_ZAP, + .battleAnimScript = gBattleAnimMove_ZippyZap, }, [MOVE_SPLISHY_SPLASH] = @@ -16835,7 +16835,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_PARALYSIS, .chance = 30, }), - .battleAnimScript = Move_SPLISHY_SPLASH, + .battleAnimScript = gBattleAnimMove_SplishySplash, }, [MOVE_FLOATY_FALL] = @@ -16860,7 +16860,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_FLINCH, .chance = 30, }), - .battleAnimScript = Move_FLOATY_FALL, + .battleAnimScript = gBattleAnimMove_FloatyFall, }, [MOVE_PIKA_PAPOW] = @@ -16879,7 +16879,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_SPECIAL, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, - .battleAnimScript = Move_PIKA_PAPOW, + .battleAnimScript = gBattleAnimMove_PikaPapow, }, [MOVE_BOUNCY_BUBBLE] = @@ -16904,7 +16904,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, .healingMove = B_HEAL_BLOCKING >= GEN_6, - .battleAnimScript = Move_BOUNCY_BUBBLE, + .battleAnimScript = gBattleAnimMove_BouncyBubble, }, [MOVE_BUZZY_BUZZ] = @@ -16927,7 +16927,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_PARALYSIS, .chance = 100, }), - .battleAnimScript = Move_BUZZY_BUZZ, + .battleAnimScript = gBattleAnimMove_BuzzyBuzz, }, [MOVE_SIZZLY_SLIDE] = @@ -16952,7 +16952,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_BURN, .chance = 100, }), - .battleAnimScript = Move_SIZZLY_SLIDE, + .battleAnimScript = gBattleAnimMove_SizzlySlide, }, [MOVE_GLITZY_GLOW] = @@ -16971,7 +16971,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_SPECIAL, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, - .battleAnimScript = Move_GLITZY_GLOW, + .battleAnimScript = gBattleAnimMove_GlitzyGlow, }, [MOVE_BADDY_BAD] = @@ -16990,7 +16990,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_SPECIAL, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, - .battleAnimScript = Move_BADDY_BAD, + .battleAnimScript = gBattleAnimMove_BaddyBad, }, [MOVE_SAPPY_SEED] = @@ -17010,7 +17010,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .magicCoatAffected = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_SAPPY_SEED, + .battleAnimScript = gBattleAnimMove_SappySeed, }, [MOVE_FREEZY_FROST] = @@ -17029,7 +17029,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_SPECIAL, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, - .battleAnimScript = Move_FREEZY_FROST, + .battleAnimScript = gBattleAnimMove_FreezyFrost, }, [MOVE_SPARKLY_SWIRL] = @@ -17048,7 +17048,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_SPECIAL, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, - .battleAnimScript = Move_SPARKLY_SWIRL, + .battleAnimScript = gBattleAnimMove_SparklySwirl, }, [MOVE_VEEVEE_VOLLEY] = @@ -17068,7 +17068,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .makesContact = TRUE, .mirrorMoveBanned = B_UPDATED_MOVE_FLAGS < GEN_8, .metronomeBanned = TRUE, - .battleAnimScript = Move_VEEVEE_VOLLEY, + .battleAnimScript = gBattleAnimMove_VeeveeVolley, }, [MOVE_DOUBLE_IRON_BASH] = @@ -17098,7 +17098,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DOUBLE_IRON_BASH, + .battleAnimScript = gBattleAnimMove_DoubleIronBash, }, [MOVE_DYNAMAX_CANNON] = @@ -17128,7 +17128,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DYNAMAX_CANNON, + .battleAnimScript = gBattleAnimMove_DynamaxCannon, }, [MOVE_SNIPE_SHOT] = @@ -17150,7 +17150,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SNIPE_SHOT, + .battleAnimScript = gBattleAnimMove_SnipeShot, }, [MOVE_JAW_LOCK] = @@ -17176,7 +17176,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_JAW_LOCK, + .battleAnimScript = gBattleAnimMove_JawLock, }, [MOVE_STUFF_CHEEKS] = @@ -17200,7 +17200,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STUFF_CHEEKS, + .battleAnimScript = gBattleAnimMove_StuffCheeks, }, [MOVE_NO_RETREAT] = @@ -17224,7 +17224,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_NO_RETREAT, + .battleAnimScript = gBattleAnimMove_NoRetreat, }, [MOVE_TAR_SHOT] = @@ -17246,7 +17246,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TAR_SHOT, + .battleAnimScript = gBattleAnimMove_TarShot, }, [MOVE_MAGIC_POWDER] = @@ -17270,7 +17270,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_MAGIC_POWDER, + .battleAnimScript = gBattleAnimMove_MagicPowder, }, [MOVE_DRAGON_DARTS] = @@ -17293,7 +17293,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DRAGON_DARTS, + .battleAnimScript = gBattleAnimMove_DragonDarts, }, [MOVE_TEATIME] = @@ -17317,7 +17317,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TEATIME, + .battleAnimScript = gBattleAnimMove_Teatime, }, [MOVE_OCTOLOCK] = @@ -17338,7 +17338,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_OCTOLOCK, + .battleAnimScript = gBattleAnimMove_Octolock, }, [MOVE_BOLT_BEAK] = @@ -17360,7 +17360,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BOLT_BEAK, + .battleAnimScript = gBattleAnimMove_BoltBeak, }, [MOVE_FISHIOUS_REND] = @@ -17383,7 +17383,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FISHIOUS_REND, + .battleAnimScript = gBattleAnimMove_FishiousRend, }, [MOVE_COURT_CHANGE] = @@ -17405,7 +17405,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_COURT_CHANGE, + .battleAnimScript = gBattleAnimMove_CourtChange, }, [MOVE_CLANGOROUS_SOUL] = @@ -17432,7 +17432,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CLANGOROUS_SOUL, + .battleAnimScript = gBattleAnimMove_ClangorousSoul, }, [MOVE_BODY_PRESS] = @@ -17456,7 +17456,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BODY_PRESS, + .battleAnimScript = gBattleAnimMove_BodyPress, }, [MOVE_DECORATE] = @@ -17480,7 +17480,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DECORATE, + .battleAnimScript = gBattleAnimMove_Decorate, }, [MOVE_DRUM_BEATING] = @@ -17506,7 +17506,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DRUM_BEATING, + .battleAnimScript = gBattleAnimMove_DrumBeating, }, [MOVE_SNAP_TRAP] = @@ -17533,7 +17533,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SNAP_TRAP, + .battleAnimScript = gBattleAnimMove_SnapTrap, }, [MOVE_PYRO_BALL] = @@ -17561,7 +17561,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_PYRO_BALL, + .battleAnimScript = gBattleAnimMove_PyroBall, }, [MOVE_BEHEMOTH_BLADE] = @@ -17588,7 +17588,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BEHEMOTH_BLADE, + .battleAnimScript = gBattleAnimMove_BehemothBlade, }, [MOVE_BEHEMOTH_BASH] = @@ -17614,7 +17614,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BEHEMOTH_BASH, + .battleAnimScript = gBattleAnimMove_BehemothBash, }, [MOVE_AURA_WHEEL] = @@ -17641,7 +17641,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_AURA_WHEEL, + .battleAnimScript = gBattleAnimMove_AuraWheel, }, [MOVE_BREAKING_SWIPE] = @@ -17668,7 +17668,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BREAKING_SWIPE, + .battleAnimScript = gBattleAnimMove_BreakingSwipe, }, [MOVE_BRANCH_POKE] = @@ -17691,7 +17691,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BRANCH_POKE, + .battleAnimScript = gBattleAnimMove_BranchPoke, }, [MOVE_OVERDRIVE] = @@ -17715,7 +17715,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_OVERDRIVE, + .battleAnimScript = gBattleAnimMove_Overdrive, }, [MOVE_APPLE_ACID] = @@ -17741,7 +17741,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_APPLE_ACID, + .battleAnimScript = gBattleAnimMove_AppleAcid, }, [MOVE_GRAV_APPLE] = @@ -17767,7 +17767,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GRAV_APPLE, + .battleAnimScript = gBattleAnimMove_GravApple, }, [MOVE_SPIRIT_BREAK] = @@ -17794,7 +17794,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SPIRIT_BREAK, + .battleAnimScript = gBattleAnimMove_SpiritBreak, }, [MOVE_STRANGE_STEAM] = @@ -17820,7 +17820,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STRANGE_STEAM, + .battleAnimScript = gBattleAnimMove_StrangeSteam, }, [MOVE_LIFE_DEW] = @@ -17847,7 +17847,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LIFE_DEW, + .battleAnimScript = gBattleAnimMove_LifeDew, }, [MOVE_OBSTRUCT] = @@ -17872,7 +17872,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_OBSTRUCT, + .battleAnimScript = gBattleAnimMove_Obstruct, }, [MOVE_FALSE_SURRENDER] = @@ -17895,7 +17895,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FALSE_SURRENDER, + .battleAnimScript = gBattleAnimMove_FalseSurrender, }, [MOVE_METEOR_ASSAULT] = @@ -17922,7 +17922,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_METEOR_ASSAULT, + .battleAnimScript = gBattleAnimMove_MeteorAssault, }, [MOVE_ETERNABEAM] = @@ -17948,7 +17948,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ETERNABEAM, + .battleAnimScript = gBattleAnimMove_Eternabeam, }, [MOVE_STEEL_BEAM] = @@ -17970,7 +17970,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STEEL_BEAM, + .battleAnimScript = gBattleAnimMove_SteelBeam, }, [MOVE_EXPANDING_FORCE] = @@ -17991,7 +17991,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_PSYCHIC_TERRAIN}, - .battleAnimScript = Move_EXPANDING_FORCE, + .battleAnimScript = gBattleAnimMove_ExpandingForce, }, [MOVE_STEEL_ROLLER] = @@ -18015,7 +18015,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_STEEL_ROLLER, + .battleAnimScript = gBattleAnimMove_SteelRoller, }, [MOVE_SCALE_SHOT] = @@ -18037,7 +18037,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SCALE_SHOT, + .battleAnimScript = gBattleAnimMove_ScaleShot, }, [MOVE_METEOR_BEAM] = @@ -18065,7 +18065,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_METEOR_BEAM, + .battleAnimScript = gBattleAnimMove_MeteorBeam, }, [MOVE_SHELL_SIDE_ARM] = @@ -18090,7 +18090,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SHELL_SIDE_ARM, + .battleAnimScript = gBattleAnimMove_ShellSideArm, }, [MOVE_MISTY_EXPLOSION] = @@ -18111,7 +18111,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_MISTY_TERRAIN}, - .battleAnimScript = Move_MISTY_EXPLOSION, + .battleAnimScript = gBattleAnimMove_MistyExplosion, }, [MOVE_GRASSY_GLIDE] = @@ -18134,7 +18134,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_GRASSY_TERRAIN}, - .battleAnimScript = Move_GRASSY_GLIDE, + .battleAnimScript = gBattleAnimMove_GrassyGlide, }, [MOVE_RISING_VOLTAGE] = @@ -18155,7 +18155,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_ELECTRIC_TERRAIN}, - .battleAnimScript = Move_RISING_VOLTAGE, + .battleAnimScript = gBattleAnimMove_RisingVoltage, }, [MOVE_TERRAIN_PULSE] = @@ -18177,7 +18177,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {COMBO_STARTER_ELECTRIC_TERRAIN, COMBO_STARTER_MISTY_TERRAIN, COMBO_STARTER_GRASSY_TERRAIN, COMBO_STARTER_PSYCHIC_TERRAIN}, - .battleAnimScript = Move_TERRAIN_PULSE, + .battleAnimScript = gBattleAnimMove_TerrainPulse, }, [MOVE_SKITTER_SMACK] = @@ -18203,7 +18203,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SKITTER_SMACK, + .battleAnimScript = gBattleAnimMove_SkitterSmack, }, [MOVE_BURNING_JEALOUSY] = @@ -18229,7 +18229,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_BURNING_JEALOUSY, + .battleAnimScript = gBattleAnimMove_BurningJealousy, }, [MOVE_LASH_OUT] = @@ -18251,7 +18251,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_LASH_OUT, + .battleAnimScript = gBattleAnimMove_LashOut, }, [MOVE_POLTERGEIST] = @@ -18272,7 +18272,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_POLTERGEIST, + .battleAnimScript = gBattleAnimMove_Poltergeist, }, [MOVE_CORROSIVE_GAS] = @@ -18294,7 +18294,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_CORROSIVE_GAS, + .battleAnimScript = gBattleAnimMove_CorrosiveGas, }, [MOVE_COACHING] = @@ -18318,7 +18318,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_COACHING, + .battleAnimScript = gBattleAnimMove_Coaching, }, [MOVE_FLIP_TURN] = @@ -18340,7 +18340,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FLIP_TURN, + .battleAnimScript = gBattleAnimMove_FlipTurn, }, [MOVE_TRIPLE_AXEL] = @@ -18363,7 +18363,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_TRIPLE_AXEL, + .battleAnimScript = gBattleAnimMove_TripleAxel, }, [MOVE_DUAL_WINGBEAT] = @@ -18386,7 +18386,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DUAL_WINGBEAT, + .battleAnimScript = gBattleAnimMove_DualWingbeat, }, [MOVE_SCORCHING_SANDS] = @@ -18412,7 +18412,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SCORCHING_SANDS, + .battleAnimScript = gBattleAnimMove_ScorchingSands, }, [MOVE_JUNGLE_HEALING] = @@ -18438,7 +18438,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_JUNGLE_HEALING, + .battleAnimScript = gBattleAnimMove_JungleHealing, }, [MOVE_WICKED_BLOW] = @@ -18463,7 +18463,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_WICKED_BLOW, + .battleAnimScript = gBattleAnimMove_WickedBlow, }, [MOVE_SURGING_STRIKES] = @@ -18489,7 +18489,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_SURGING_STRIKES, + .battleAnimScript = gBattleAnimMove_SurgingStrikes, }, [MOVE_THUNDER_CAGE] = @@ -18514,7 +18514,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_THUNDER_CAGE, + .battleAnimScript = gBattleAnimMove_ThunderCage, }, [MOVE_DRAGON_ENERGY] = @@ -18536,7 +18536,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_COOL, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_DRAGON_ENERGY, + .battleAnimScript = gBattleAnimMove_DragonEnergy, }, [MOVE_FREEZING_GLARE] = @@ -18566,7 +18566,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_CUTE, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FREEZING_GLARE, + .battleAnimScript = gBattleAnimMove_FreezingGlare, }, [MOVE_FIERY_WRATH] = @@ -18592,7 +18592,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_FIERY_WRATH, + .battleAnimScript = gBattleAnimMove_FieryWrath, }, [MOVE_THUNDEROUS_KICK] = @@ -18619,7 +18619,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_TOUGH, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_THUNDEROUS_KICK, + .battleAnimScript = gBattleAnimMove_ThunderousKick, }, [MOVE_GLACIAL_LANCE] = @@ -18641,7 +18641,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_BEAUTY, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_GLACIAL_LANCE, + .battleAnimScript = gBattleAnimMove_GlacialLance, }, [MOVE_ASTRAL_BARRAGE] = @@ -18663,7 +18663,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_ASTRAL_BARRAGE, + .battleAnimScript = gBattleAnimMove_AstralBarrage, }, [MOVE_EERIE_SPELL] = @@ -18686,7 +18686,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .contestCategory = CONTEST_CATEGORY_SMART, .contestComboStarterId = 0, .contestComboMoves = {0}, - .battleAnimScript = Move_EERIE_SPELL, + .battleAnimScript = gBattleAnimMove_EerieSpell, }, [MOVE_DIRE_CLAW] = @@ -18708,7 +18708,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_DIRE_CLAW, .chance = 50, }), - .battleAnimScript = Move_DIRE_CLAW, + .battleAnimScript = gBattleAnimMove_DireClaw, }, [MOVE_PSYSHIELD_BASH] = @@ -18731,7 +18731,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .self = TRUE, .chance = 100, }), - .battleAnimScript = Move_PSYSHIELD_BASH, + .battleAnimScript = gBattleAnimMove_PsyshieldBash, }, [MOVE_POWER_SHIFT] = @@ -18752,7 +18752,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_POWER_SHIFT, + .battleAnimScript = gBattleAnimMove_PowerShift, }, [MOVE_STONE_AXE] = @@ -18775,7 +18775,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_STEALTH_ROCK, .chance = 100, }), - .battleAnimScript = Move_STONE_AXE, + .battleAnimScript = gBattleAnimMove_StoneAxe, }, [MOVE_SPRINGTIDE_STORM] = @@ -18798,7 +18798,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_ATK_MINUS_1, .chance = 30, }), - .battleAnimScript = Move_SPRINGTIDE_STORM, + .battleAnimScript = gBattleAnimMove_SpringtideStorm, }, [MOVE_MYSTICAL_POWER] = @@ -18820,7 +18820,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .self = TRUE, .chance = 100, }), - .battleAnimScript = Move_MYSTICAL_POWER, + .battleAnimScript = gBattleAnimMove_MysticalPower, }, [MOVE_RAGING_FURY] = @@ -18842,7 +18842,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_THRASH, .self = TRUE, }), - .battleAnimScript = Move_RAGING_FURY, + .battleAnimScript = gBattleAnimMove_RagingFury, }, [MOVE_WAVE_CRASH] = @@ -18862,7 +18862,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .makesContact = TRUE, .skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS, - .battleAnimScript = Move_WAVE_CRASH, + .battleAnimScript = gBattleAnimMove_WaveCrash, }, [MOVE_CHLOROBLAST] = @@ -18879,7 +18879,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, - .battleAnimScript = Move_CHLOROBLAST, + .battleAnimScript = gBattleAnimMove_Chloroblast, }, [MOVE_MOUNTAIN_GALE] = @@ -18900,7 +18900,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_FLINCH, .chance = 30, }), - .battleAnimScript = Move_MOUNTAIN_GALE, + .battleAnimScript = gBattleAnimMove_MountainGale, }, [MOVE_VICTORY_DANCE] = @@ -18921,7 +18921,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .snatchAffected = TRUE, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, - .battleAnimScript = Move_VICTORY_DANCE, + .battleAnimScript = gBattleAnimMove_VictoryDance, }, [MOVE_HEADLONG_RUSH] = @@ -18944,7 +18944,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_DEF_SPDEF_DOWN, .self = TRUE, }), - .battleAnimScript = Move_HEADLONG_RUSH, + .battleAnimScript = gBattleAnimMove_HeadlongRush, }, [MOVE_BARB_BARRAGE] = @@ -18966,7 +18966,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_POISON, .chance = 50, }), - .battleAnimScript = Move_BARB_BARRAGE, + .battleAnimScript = gBattleAnimMove_BarbBarrage, }, [MOVE_ESPER_WING] = @@ -18989,7 +18989,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .self = TRUE, .chance = 100, }), - .battleAnimScript = Move_ESPER_WING, + .battleAnimScript = gBattleAnimMove_EsperWing, }, [MOVE_BITTER_MALICE] = @@ -19010,7 +19010,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_ATK_MINUS_1, .chance = 100, }), - .battleAnimScript = Move_BITTER_MALICE, + .battleAnimScript = gBattleAnimMove_BitterMalice, }, [MOVE_SHELTER] = @@ -19030,7 +19030,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .snatchAffected = TRUE, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, - .battleAnimScript = Move_SHELTER, + .battleAnimScript = gBattleAnimMove_Shelter, }, [MOVE_TRIPLE_ARROWS] = @@ -19056,7 +19056,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_FLINCH, .chance = 30, }), - .battleAnimScript = Move_TRIPLE_ARROWS, + .battleAnimScript = gBattleAnimMove_TripleArrows, }, [MOVE_INFERNAL_PARADE] = @@ -19078,7 +19078,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_BURN, .chance = 30, }), - .battleAnimScript = Move_INFERNAL_PARADE, + .battleAnimScript = gBattleAnimMove_InfernalParade, }, [MOVE_CEASELESS_EDGE] = @@ -19101,7 +19101,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_SPIKES, .chance = 100, }), - .battleAnimScript = Move_CEASELESS_EDGE, + .battleAnimScript = gBattleAnimMove_CeaselessEdge, }, [MOVE_BLEAKWIND_STORM] = @@ -19123,7 +19123,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_SPD_MINUS_1, .chance = 30, }), - .battleAnimScript = Move_BLEAKWIND_STORM, + .battleAnimScript = gBattleAnimMove_BleakwindStorm, }, [MOVE_WILDBOLT_STORM] = @@ -19145,7 +19145,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_PARALYSIS, .chance = 20, }), - .battleAnimScript = Move_WILDBOLT_STORM, + .battleAnimScript = gBattleAnimMove_WildboltStorm, }, [MOVE_SANDSEAR_STORM] = @@ -19167,7 +19167,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_BURN, .chance = 20, }), - .battleAnimScript = Move_SANDSEAR_STORM, + .battleAnimScript = gBattleAnimMove_SandsearStorm, }, [MOVE_LUNAR_BLESSING] = @@ -19188,7 +19188,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .healingMove = TRUE, - .battleAnimScript = Move_LUNAR_BLESSING, + .battleAnimScript = gBattleAnimMove_LunarBlessing, }, [MOVE_TAKE_HEART] = @@ -19208,7 +19208,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .snatchAffected = TRUE, .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, - .battleAnimScript = Move_TAKE_HEART, + .battleAnimScript = gBattleAnimMove_TakeHeart, }, [MOVE_TERA_BLAST] = @@ -19230,7 +19230,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_TERA_BLAST, .self = TRUE, }), - .battleAnimScript = Move_TERA_BLAST, + .battleAnimScript = gBattleAnimMove_TeraBlast, }, [MOVE_SILK_TRAP] = @@ -19250,7 +19250,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_SILK_TRAP, + .battleAnimScript = gBattleAnimMove_SilkTrap, }, [MOVE_AXE_KICK] = @@ -19272,7 +19272,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_CONFUSION, .chance = 30, }), - .battleAnimScript = Move_AXE_KICK, + .battleAnimScript = gBattleAnimMove_AxeKick, }, [MOVE_LAST_RESPECTS] = @@ -19290,7 +19290,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .metronomeBanned = TRUE, // Only since it isn't implemented yet - .battleAnimScript = Move_LAST_RESPECTS, + .battleAnimScript = gBattleAnimMove_LastRespects, }, [MOVE_LUMINA_CRASH] = @@ -19311,7 +19311,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_SP_DEF_MINUS_2, .chance = 100, }), - .battleAnimScript = Move_LUMINA_CRASH, + .battleAnimScript = gBattleAnimMove_LuminaCrash, }, [MOVE_ORDER_UP] = @@ -19330,7 +19330,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_ORDER_UP, + .battleAnimScript = gBattleAnimMove_OrderUp, }, [MOVE_JET_PUNCH] = @@ -19350,7 +19350,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .makesContact = TRUE, .punchingMove = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_JET_PUNCH, + .battleAnimScript = gBattleAnimMove_JetPunch, }, [MOVE_SPICY_EXTRACT] = @@ -19369,7 +19369,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_STATUS, .magicCoatAffected = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_SPICY_EXTRACT, + .battleAnimScript = gBattleAnimMove_SpicyExtract, }, [MOVE_SPIN_OUT] = @@ -19392,7 +19392,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_SPD_MINUS_2, .self = TRUE, }), - .battleAnimScript = Move_SPIN_OUT, + .battleAnimScript = gBattleAnimMove_SpinOut, }, [MOVE_POPULATION_BOMB] = @@ -19413,7 +19413,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .slicingMove = TRUE, .metronomeBanned = TRUE, .strikeCount = 10, - .battleAnimScript = Move_POPULATION_BOMB, + .battleAnimScript = gBattleAnimMove_PopulationBomb, }, [MOVE_ICE_SPINNER] = @@ -19433,7 +19433,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .makesContact = TRUE, .argument = ARG_TRY_REMOVE_TERRAIN_HIT, // Remove the active field terrain if there is one. .skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS, - .battleAnimScript = Move_ICE_SPINNER, + .battleAnimScript = gBattleAnimMove_IceSpinner, }, [MOVE_GLAIVE_RUSH] = @@ -19451,7 +19451,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .makesContact = TRUE, - .battleAnimScript = Move_GLAIVE_RUSH, + .battleAnimScript = gBattleAnimMove_GlaiveRush, }, [MOVE_REVIVAL_BLESSING] = @@ -19473,7 +19473,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .metronomeBanned = TRUE, .healingMove = TRUE, .sketchBanned = (B_SKETCH_BANS >= GEN_9), - .battleAnimScript = Move_REVIVAL_BLESSING, + .battleAnimScript = gBattleAnimMove_RevivalBlessing, }, [MOVE_SALT_CURE] = @@ -19491,7 +19491,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .metronomeBanned = TRUE, - .battleAnimScript = Move_SALT_CURE, + .battleAnimScript = gBattleAnimMove_SaltCure, }, [MOVE_TRIPLE_DIVE] = @@ -19510,7 +19510,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .makesContact = TRUE, .strikeCount = 3, - .battleAnimScript = Move_TRIPLE_DIVE, + .battleAnimScript = gBattleAnimMove_TripleDive, }, [MOVE_MORTAL_SPIN] = @@ -19536,7 +19536,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_POISON, .chance = 100, }), - .battleAnimScript = Move_MORTAL_SPIN, + .battleAnimScript = gBattleAnimMove_MortalSpin, }, [MOVE_DOODLE] = @@ -19556,7 +19556,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_DOODLE, + .battleAnimScript = gBattleAnimMove_Doodle, }, [MOVE_FILLET_AWAY] = @@ -19578,7 +19578,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_FILLET_AWAY, + .battleAnimScript = gBattleAnimMove_FilletAway, }, [MOVE_KOWTOW_CLEAVE] = @@ -19597,7 +19597,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .makesContact = TRUE, .slicingMove = TRUE, - .battleAnimScript = Move_KOWTOW_CLEAVE, + .battleAnimScript = gBattleAnimMove_KowtowCleave, }, [MOVE_FLOWER_TRICK] = @@ -19615,7 +19615,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .alwaysCriticalHit = TRUE, - .battleAnimScript = Move_FLOWER_TRICK, + .battleAnimScript = gBattleAnimMove_FlowerTrick, }, [MOVE_TORCH_SONG] = @@ -19639,7 +19639,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .self = TRUE, .chance = 100, }), - .battleAnimScript = Move_TORCH_SONG, + .battleAnimScript = gBattleAnimMove_TorchSong, }, [MOVE_AQUA_STEP] = @@ -19663,7 +19663,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .self = TRUE, .chance = 100, }), - .battleAnimScript = Move_AQUA_STEP, + .battleAnimScript = gBattleAnimMove_AquaStep, }, [MOVE_RAGING_BULL] = @@ -19682,7 +19682,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .makesContact = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_RAGING_BULL, + .battleAnimScript = gBattleAnimMove_RagingBull, }, [MOVE_MAKE_IT_RAIN] = @@ -19707,7 +19707,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_SP_ATK_MINUS_1, .self = TRUE, }), - .battleAnimScript = Move_MAKE_IT_RAIN, + .battleAnimScript = gBattleAnimMove_MakeItRain, }, [MOVE_RUINATION] = @@ -19725,7 +19725,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, .metronomeBanned = TRUE, - .battleAnimScript = Move_RUINATION, + .battleAnimScript = gBattleAnimMove_Ruination, }, [MOVE_COLLISION_COURSE] = @@ -19744,7 +19744,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .makesContact = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_COLLISION_COURSE, + .battleAnimScript = gBattleAnimMove_CollisionCourse, }, [MOVE_ELECTRO_DRIFT] = @@ -19763,7 +19763,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_SPECIAL, .makesContact = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_ELECTRO_DRIFT, + .battleAnimScript = gBattleAnimMove_ElectroDrift, }, [MOVE_SHED_TAIL] = @@ -19784,7 +19784,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_SHED_TAIL, + .battleAnimScript = gBattleAnimMove_ShedTail, }, [MOVE_CHILLY_RECEPTION] = @@ -19805,7 +19805,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_CHILLY_RECEPTION, + .battleAnimScript = gBattleAnimMove_ChillyReception, }, [MOVE_TIDY_UP] = @@ -19825,7 +19825,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_TIDY_UP, + .battleAnimScript = gBattleAnimMove_TidyUp, }, [MOVE_SNOWSCAPE] = @@ -19846,7 +19846,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .ignoresProtect = TRUE, .mirrorMoveBanned = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_SNOWSCAPE, + .battleAnimScript = gBattleAnimMove_Snowscape, }, [MOVE_POUNCE] = @@ -19869,7 +19869,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_SPD_MINUS_1, .chance = 100, }), - .battleAnimScript = Move_POUNCE, + .battleAnimScript = gBattleAnimMove_Pounce, }, [MOVE_TRAILBLAZE] = @@ -19893,7 +19893,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .self = TRUE, .chance = 100, }), - .battleAnimScript = Move_TRAILBLAZE, + .battleAnimScript = gBattleAnimMove_Trailblaze, }, [MOVE_CHILLING_WATER] = @@ -19915,7 +19915,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_ATK_MINUS_1, .chance = 100, }), - .battleAnimScript = Move_CHILLING_WATER, + .battleAnimScript = gBattleAnimMove_ChillingWater, }, [MOVE_HYPER_DRILL] = @@ -19935,7 +19935,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .makesContact = TRUE, .ignoresProtect = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_HYPER_DRILL, + .battleAnimScript = gBattleAnimMove_HyperDrill, }, [MOVE_TWIN_BEAM] = @@ -19954,7 +19954,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_SPECIAL, .strikeCount = 2, .metronomeBanned = TRUE, - .battleAnimScript = Move_TWIN_BEAM, + .battleAnimScript = gBattleAnimMove_TwinBeam, }, [MOVE_RAGE_FIST] = @@ -19974,7 +19974,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .makesContact = TRUE, .punchingMove = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_RAGE_FIST, + .battleAnimScript = gBattleAnimMove_RageFist, }, [MOVE_ARMOR_CANNON] = @@ -19996,7 +19996,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_DEF_SPDEF_DOWN, .self = TRUE, }), - .battleAnimScript = Move_ARMOR_CANNON, + .battleAnimScript = gBattleAnimMove_ArmorCannon, }, [MOVE_BITTER_BLADE] = @@ -20016,7 +20016,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .makesContact = TRUE, .slicingMove = TRUE, .healingMove = TRUE, - .battleAnimScript = Move_BITTER_BLADE, + .battleAnimScript = gBattleAnimMove_BitterBlade, }, [MOVE_DOUBLE_SHOCK] = @@ -20040,7 +20040,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_REMOVE_ARG_TYPE, .self = TRUE, }), - .battleAnimScript = Move_DOUBLE_SHOCK, + .battleAnimScript = gBattleAnimMove_DoubleShock, }, [MOVE_GIGATON_HAMMER] = @@ -20058,7 +20058,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .cantUseTwice = TRUE, - .battleAnimScript = Move_GIGATON_HAMMER, + .battleAnimScript = gBattleAnimMove_GigatonHammer, }, [MOVE_COMEUPPANCE] = @@ -20078,7 +20078,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .makesContact = TRUE, .meFirstBanned = TRUE, .metronomeBanned = TRUE, - .battleAnimScript = Move_COMEUPPANCE, + .battleAnimScript = gBattleAnimMove_Comeuppance, }, [MOVE_AQUA_CUTTER] = @@ -20097,7 +20097,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .slicingMove = TRUE, - .battleAnimScript = Move_AQUA_CUTTER, + .battleAnimScript = gBattleAnimMove_AquaCutter, }, [MOVE_BLAZING_TORQUE] = @@ -20126,7 +20126,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_BURN, .chance = 30, }), - .battleAnimScript = Move_BLAZING_TORQUE, + .battleAnimScript = gBattleAnimMove_BlazingTorque, }, [MOVE_WICKED_TORQUE] = @@ -20155,7 +20155,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_SLEEP, .chance = 10, }), - .battleAnimScript = Move_WICKED_TORQUE, + .battleAnimScript = gBattleAnimMove_WickedTorque, }, [MOVE_NOXIOUS_TORQUE] = @@ -20184,7 +20184,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_POISON, .chance = 30, }), - .battleAnimScript = Move_NOXIOUS_TORQUE, + .battleAnimScript = gBattleAnimMove_NoxiousTorque, }, [MOVE_COMBAT_TORQUE] = @@ -20213,7 +20213,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_PARALYSIS, .chance = 30, }), - .battleAnimScript = Move_COMBAT_TORQUE, + .battleAnimScript = gBattleAnimMove_CombatTorque, }, [MOVE_MAGICAL_TORQUE] = @@ -20242,7 +20242,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_CONFUSION, .chance = 30, }), - .battleAnimScript = Move_MAGICAL_TORQUE, + .battleAnimScript = gBattleAnimMove_MagicalTorque, }, [MOVE_PSYBLADE] = @@ -20261,7 +20261,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .makesContact = TRUE, .slicingMove = TRUE, - .battleAnimScript = Move_PSYBLADE, + .battleAnimScript = gBattleAnimMove_Psyblade, }, [MOVE_HYDRO_STEAM] = @@ -20279,7 +20279,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, .thawsUser = TRUE, - .battleAnimScript = Move_HYDRO_STEAM, + .battleAnimScript = gBattleAnimMove_HydroSteam, }, [MOVE_BLOOD_MOON] = @@ -20297,7 +20297,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, .cantUseTwice = TRUE, - .battleAnimScript = Move_BLOOD_MOON, + .battleAnimScript = gBattleAnimMove_BloodMoon, }, [MOVE_MATCHA_GOTCHA] = @@ -20321,7 +20321,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_BURN, .chance = 20, }), - .battleAnimScript = Move_MATCHA_GOTCHA, + .battleAnimScript = gBattleAnimMove_MatchaGotcha, }, [MOVE_SYRUP_BOMB] = @@ -20344,7 +20344,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_SYRUP_BOMB, .chance = 100, }), - .battleAnimScript = Move_SYRUP_BOMB, + .battleAnimScript = gBattleAnimMove_SyrupBomb, }, [MOVE_IVY_CUDGEL] = @@ -20363,7 +20363,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .metronomeBanned = TRUE, - .battleAnimScript = Move_IVY_CUDGEL, + .battleAnimScript = gBattleAnimMove_IvyCudgel, }, [MOVE_ELECTRO_SHOT] = @@ -20386,7 +20386,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .self = TRUE, .onChargeTurnOnly = TRUE, }, SHEER_FORCE_HACK), - .battleAnimScript = Move_ELECTRO_SHOT, + .battleAnimScript = gBattleAnimMove_ElectroShot, }, [MOVE_TERA_STARSTORM] = @@ -20407,7 +20407,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .copycatBanned = TRUE, .mimicBanned = TRUE, .sketchBanned = (B_SKETCH_BANS >= GEN_9), - .battleAnimScript = Move_TERA_STARSTORM, + .battleAnimScript = gBattleAnimMove_TeraStarstorm, }, [MOVE_FICKLE_BEAM] = @@ -20424,7 +20424,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, - .battleAnimScript = Move_FICKLE_BEAM, + .battleAnimScript = gBattleAnimMove_FickleBeam, }, [MOVE_BURNING_BULWARK] = @@ -20447,7 +20447,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .metronomeBanned = TRUE, .copycatBanned = TRUE, .assistBanned = TRUE, - .battleAnimScript = Move_BURNING_BULWARK, + .battleAnimScript = gBattleAnimMove_BurningBulwark, }, [MOVE_THUNDERCLAP] = @@ -20462,7 +20462,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 1, .category = DAMAGE_CATEGORY_SPECIAL, - .battleAnimScript = Move_THUNDERCLAP, + .battleAnimScript = gBattleAnimMove_Thunderclap, }, [MOVE_MIGHTY_CLEAVE] = @@ -20480,7 +20480,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .makesContact = TRUE, .ignoresProtect = TRUE, .slicingMove = TRUE, - .battleAnimScript = Move_MIGHTY_CLEAVE, + .battleAnimScript = gBattleAnimMove_MightyCleave, }, [MOVE_TACHYON_CUTTER] = @@ -20499,7 +20499,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_SPECIAL, .strikeCount = 2, .slicingMove = TRUE, - .battleAnimScript = Move_TACHYON_CUTTER, + .battleAnimScript = gBattleAnimMove_TachyonCutter, }, [MOVE_HARD_PRESS] = @@ -20516,7 +20516,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .argument = 100, .makesContact = TRUE, - .battleAnimScript = Move_HARD_PRESS, + .battleAnimScript = gBattleAnimMove_HardPress, }, [MOVE_DRAGON_CHEER] = @@ -20534,7 +20534,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_STATUS, .ignoresSubstitute = TRUE, - .battleAnimScript = Move_DRAGON_CHEER, + .battleAnimScript = gBattleAnimMove_DragonCheer, }, [MOVE_ALLURING_VOICE] = @@ -20558,7 +20558,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .onlyIfTargetRaisedStats = TRUE, .chance = 100, }), - .battleAnimScript = Move_ALLURING_VOICE, + .battleAnimScript = gBattleAnimMove_AlluringVoice, }, [MOVE_TEMPER_FLARE] = @@ -20576,7 +20576,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .makesContact = TRUE, - .battleAnimScript = Move_TEMPER_FLARE, + .battleAnimScript = gBattleAnimMove_TemperFlare, }, [MOVE_SUPERCELL_SLAM] = @@ -20594,7 +20594,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .makesContact = TRUE, - .battleAnimScript = Move_SUPERCELL_SLAM, + .battleAnimScript = gBattleAnimMove_SupercellSlam, }, [MOVE_PSYCHIC_NOISE] = @@ -20617,7 +20617,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_PSYCHIC_NOISE, .chance = 100, }), - .battleAnimScript = Move_PSYCHIC_NOISE, + .battleAnimScript = gBattleAnimMove_PsychicNoise, }, [MOVE_UPPER_HAND] = @@ -20639,7 +20639,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_FLINCH, .chance = 100, }), - .battleAnimScript = Move_UPPER_HAND, + .battleAnimScript = gBattleAnimMove_UpperHand, }, [MOVE_MALIGNANT_CHAIN] = @@ -20660,7 +20660,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_TOXIC, .chance = 50, }), - .battleAnimScript = Move_MALIGNANT_CHAIN, + .battleAnimScript = gBattleAnimMove_MalignantChain, }, // Z-Moves @@ -20676,7 +20676,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, //determined from move type - .battleAnimScript = Move_BREAKNECK_BLITZ, + .battleAnimScript = gBattleAnimMove_BreakneckBlitz, }, [MOVE_ALL_OUT_PUMMELING] = { @@ -20690,7 +20690,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_ALL_OUT_PUMMELING, + .battleAnimScript = gBattleAnimMove_AllOutPummeling, }, [MOVE_SUPERSONIC_SKYSTRIKE] = { @@ -20704,7 +20704,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_SUPERSONIC_SKYSTRIKE, + .battleAnimScript = gBattleAnimMove_SupersonicSkystrike, }, [MOVE_ACID_DOWNPOUR] = { @@ -20718,7 +20718,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_ACID_DOWNPOUR, + .battleAnimScript = gBattleAnimMove_AcidDownpour, }, [MOVE_TECTONIC_RAGE] = { @@ -20733,7 +20733,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS, - .battleAnimScript = Move_TECTONIC_RAGE, + .battleAnimScript = gBattleAnimMove_TectonicRage, }, [MOVE_CONTINENTAL_CRUSH] = { @@ -20747,7 +20747,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_CONTINENTAL_CRUSH, + .battleAnimScript = gBattleAnimMove_ContinentalCrush, }, [MOVE_SAVAGE_SPIN_OUT] = { @@ -20761,7 +20761,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_SAVAGE_SPIN_OUT, + .battleAnimScript = gBattleAnimMove_SavageSpinOut, }, [MOVE_NEVER_ENDING_NIGHTMARE] = { @@ -20775,7 +20775,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_NEVER_ENDING_NIGHTMARE, + .battleAnimScript = gBattleAnimMove_NeverEndingNightmare, }, [MOVE_CORKSCREW_CRASH] = { @@ -20789,7 +20789,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_CORKSCREW_CRASH, + .battleAnimScript = gBattleAnimMove_CorkscrewCrash, }, [MOVE_INFERNO_OVERDRIVE] = { @@ -20803,7 +20803,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_INFERNO_OVERDRIVE, + .battleAnimScript = gBattleAnimMove_InfernoOverdrive, }, [MOVE_HYDRO_VORTEX] = { @@ -20817,7 +20817,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_HYDRO_VORTEX, + .battleAnimScript = gBattleAnimMove_HydroVortex, }, [MOVE_BLOOM_DOOM] = { @@ -20831,7 +20831,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_BLOOM_DOOM, + .battleAnimScript = gBattleAnimMove_BloomDoom, }, [MOVE_GIGAVOLT_HAVOC] = { @@ -20845,7 +20845,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_GIGAVOLT_HAVOC, + .battleAnimScript = gBattleAnimMove_GigavoltHavoc, }, [MOVE_SHATTERED_PSYCHE] = { @@ -20859,7 +20859,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_SHATTERED_PSYCHE, + .battleAnimScript = gBattleAnimMove_ShatteredPsyche, }, [MOVE_SUBZERO_SLAMMER] = { @@ -20873,7 +20873,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_SUBZERO_SLAMMER, + .battleAnimScript = gBattleAnimMove_SubzeroSlammer, }, [MOVE_DEVASTATING_DRAKE] = { @@ -20887,7 +20887,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_DEVASTATING_DRAKE, + .battleAnimScript = gBattleAnimMove_DevastatingDrake, }, [MOVE_BLACK_HOLE_ECLIPSE] = { @@ -20901,7 +20901,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_BLACK_HOLE_ECLIPSE, + .battleAnimScript = gBattleAnimMove_BlackHoleEclipse, }, [MOVE_TWINKLE_TACKLE] = { @@ -20915,7 +20915,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_TWINKLE_TACKLE, + .battleAnimScript = gBattleAnimMove_TwinkleTackle, }, [MOVE_CATASTROPIKA] = { @@ -20929,7 +20929,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_CATASTROPIKA, + .battleAnimScript = gBattleAnimMove_Catastropika, }, [MOVE_10000000_VOLT_THUNDERBOLT] = { @@ -20944,7 +20944,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, - .battleAnimScript = Move_10000000_VOLT_THUNDERBOLT, + .battleAnimScript = gBattleAnimMove_10000000VoltThunderbolt, }, [MOVE_STOKED_SPARKSURFER] = { @@ -20962,7 +20962,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .moveEffect = MOVE_EFFECT_PARALYSIS, .chance = 100, }), - .battleAnimScript = Move_STOKED_SPARKSURFER, + .battleAnimScript = gBattleAnimMove_StokedSparksurfer, }, [MOVE_EXTREME_EVOBOOST] = { @@ -20976,7 +20976,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_USER, .priority = 0, .category = DAMAGE_CATEGORY_STATUS, - .battleAnimScript = Move_EXTREME_EVOBOOST, + .battleAnimScript = gBattleAnimMove_ExtremeEvoboost, }, [MOVE_PULVERIZING_PANCAKE] = { @@ -20990,7 +20990,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_PULVERIZING_PANCAKE, + .battleAnimScript = gBattleAnimMove_PulverizingPancake, }, [MOVE_GENESIS_SUPERNOVA] = { @@ -21005,7 +21005,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, .argument = ARG_SET_PSYCHIC_TERRAIN, // Set Psychic Terrain. If there's a different field terrain active, overwrite it. - .battleAnimScript = Move_GENESIS_SUPERNOVA, + .battleAnimScript = gBattleAnimMove_GenesisSupernova, }, [MOVE_SINISTER_ARROW_RAID] = { @@ -21019,7 +21019,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_SINISTER_ARROW_RAID, + .battleAnimScript = gBattleAnimMove_SinisterArrowRaid, }, [MOVE_MALICIOUS_MOONSAULT] = { @@ -21033,7 +21033,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_MALICIOUS_MOONSAULT, + .battleAnimScript = gBattleAnimMove_MaliciousMoonsault, }, [MOVE_OCEANIC_OPERETTA] = { @@ -21047,7 +21047,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, - .battleAnimScript = Move_OCEANIC_OPERETTA, + .battleAnimScript = gBattleAnimMove_OceanicOperetta, }, [MOVE_SPLINTERED_STORMSHARDS] = { @@ -21062,7 +21062,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = ARG_TRY_REMOVE_TERRAIN_HIT, // Remove the active field terrain if there is one. - .battleAnimScript = Move_SPLINTERED_STORMSHARDS, + .battleAnimScript = gBattleAnimMove_SplinteredStormshards, }, [MOVE_LETS_SNUGGLE_FOREVER] = { @@ -21076,7 +21076,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_LETS_SNUGGLE_FOREVER, + .battleAnimScript = gBattleAnimMove_LetsSnuggleForever, }, [MOVE_CLANGOROUS_SOULBLAZE] = { @@ -21097,7 +21097,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .self = TRUE, .chance = 100, }), - .battleAnimScript = Move_CLANGOROUS_SOULBLAZE, + .battleAnimScript = gBattleAnimMove_ClangorousSoulblaze, }, [MOVE_GUARDIAN_OF_ALOLA] = { @@ -21111,7 +21111,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, - .battleAnimScript = Move_GUARDIAN_OF_ALOLA, + .battleAnimScript = gBattleAnimMove_GuardianOfAlola, }, [MOVE_SEARING_SUNRAZE_SMASH] = { @@ -21126,7 +21126,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .ignoresTargetAbility = TRUE, - .battleAnimScript = Move_SEARING_SUNRAZE_SMASH, + .battleAnimScript = gBattleAnimMove_SearingSunrazeSmash, }, [MOVE_MENACING_MOONRAZE_MAELSTROM] = { @@ -21141,7 +21141,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, .ignoresTargetAbility = TRUE, - .battleAnimScript = Move_MENACING_MOONRAZE_MAELSTROM, + .battleAnimScript = gBattleAnimMove_MenacingMoonrazeMaelstrom, }, [MOVE_LIGHT_THAT_BURNS_THE_SKY] = { @@ -21156,7 +21156,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_SPECIAL, .ignoresTargetAbility = TRUE, - .battleAnimScript = Move_LIGHT_THAT_BURNS_THE_SKY, + .battleAnimScript = gBattleAnimMove_LightThatBurnsTheSky, }, [MOVE_SOUL_STEALING_7_STAR_STRIKE] = { @@ -21170,7 +21170,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_SELECTED, .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, - .battleAnimScript = Move_SOUL_STEALING_7_STAR_STRIKE, + .battleAnimScript = gBattleAnimMove_SoulStealing7StarStrike, }, [MOVE_MAX_GUARD] = @@ -21185,7 +21185,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .target = MOVE_TARGET_USER, .priority = 4, .category = DAMAGE_CATEGORY_STATUS, - .battleAnimScript = Move_MAX_GUARD, + .battleAnimScript = gBattleAnimMove_MaxGuard, }, [MOVE_MAX_FLARE] = @@ -21201,7 +21201,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_SUN, - .battleAnimScript = Move_MAX_FLARE, + .battleAnimScript = gBattleAnimMove_MaxFlare, }, [MOVE_MAX_FLUTTERBY] = @@ -21217,7 +21217,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_LOWER_SP_ATK, - .battleAnimScript = Move_MAX_FLUTTERBY, + .battleAnimScript = gBattleAnimMove_MaxFlutterby, }, [MOVE_MAX_LIGHTNING] = @@ -21233,7 +21233,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_ELECTRIC_TERRAIN, - .battleAnimScript = Move_MAX_LIGHTNING, + .battleAnimScript = gBattleAnimMove_MaxLightning, }, [MOVE_MAX_STRIKE] = @@ -21249,7 +21249,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_LOWER_SPEED, - .battleAnimScript = Move_MAX_STRIKE, + .battleAnimScript = gBattleAnimMove_MaxStrike, }, [MOVE_MAX_KNUCKLE] = @@ -21265,7 +21265,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_RAISE_TEAM_ATTACK, - .battleAnimScript = Move_MAX_KNUCKLE, + .battleAnimScript = gBattleAnimMove_MaxKnuckle, }, [MOVE_MAX_PHANTASM] = @@ -21281,7 +21281,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_LOWER_DEFENSE, - .battleAnimScript = Move_MAX_PHANTASM, + .battleAnimScript = gBattleAnimMove_MaxPhantasm, }, [MOVE_MAX_HAILSTORM] = @@ -21297,7 +21297,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_HAIL, - .battleAnimScript = Move_MAX_HAILSTORM, + .battleAnimScript = gBattleAnimMove_MaxHailstorm, }, [MOVE_MAX_OOZE] = @@ -21313,7 +21313,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_RAISE_TEAM_SP_ATK, - .battleAnimScript = Move_MAX_OOZE, + .battleAnimScript = gBattleAnimMove_MaxOoze, }, [MOVE_MAX_GEYSER] = @@ -21329,7 +21329,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_RAIN, - .battleAnimScript = Move_MAX_GEYSER, + .battleAnimScript = gBattleAnimMove_MaxGeyser, }, [MOVE_MAX_AIRSTREAM] = @@ -21345,7 +21345,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_RAISE_TEAM_SPEED, - .battleAnimScript = Move_MAX_AIRSTREAM, + .battleAnimScript = gBattleAnimMove_MaxAirstream, }, [MOVE_MAX_STARFALL] = @@ -21361,7 +21361,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_MISTY_TERRAIN, - .battleAnimScript = Move_MAX_STARFALL, + .battleAnimScript = gBattleAnimMove_MaxStarfall, }, [MOVE_MAX_WYRMWIND] = @@ -21377,7 +21377,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_LOWER_ATTACK, - .battleAnimScript = Move_MAX_WYRMWIND, + .battleAnimScript = gBattleAnimMove_MaxWyrmwind, }, [MOVE_MAX_MINDSTORM] = @@ -21393,7 +21393,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_PSYCHIC_TERRAIN, - .battleAnimScript = Move_MAX_MINDSTORM, + .battleAnimScript = gBattleAnimMove_MaxMindstorm, }, [MOVE_MAX_ROCKFALL] = @@ -21409,7 +21409,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_SANDSTORM, - .battleAnimScript = Move_MAX_ROCKFALL, + .battleAnimScript = gBattleAnimMove_MaxRockfall, }, [MOVE_MAX_QUAKE] = @@ -21426,7 +21426,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_RAISE_TEAM_SP_DEF, .skyBattleBanned = B_EXTRAPOLATED_MOVE_FLAGS, - .battleAnimScript = Move_MAX_QUAKE, + .battleAnimScript = gBattleAnimMove_MaxQuake, }, [MOVE_MAX_DARKNESS] = @@ -21442,7 +21442,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_LOWER_SP_DEF, - .battleAnimScript = Move_MAX_DARKNESS, + .battleAnimScript = gBattleAnimMove_MaxDarkness, }, [MOVE_MAX_OVERGROWTH] = @@ -21458,7 +21458,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_GRASSY_TERRAIN, - .battleAnimScript = Move_MAX_OVERGROWTH, + .battleAnimScript = gBattleAnimMove_MaxOvergrowth, }, [MOVE_MAX_STEELSPIKE] = @@ -21474,7 +21474,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_RAISE_TEAM_DEFENSE, - .battleAnimScript = Move_MAX_STEELSPIKE, + .battleAnimScript = gBattleAnimMove_MaxSteelspike, }, [MOVE_G_MAX_VINE_LASH] = @@ -21490,7 +21490,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_VINE_LASH, - .battleAnimScript = Move_G_MAX_VINE_LASH, + .battleAnimScript = gBattleAnimMove_GMaxVineLash, }, [MOVE_G_MAX_WILDFIRE] = @@ -21506,7 +21506,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_WILDFIRE, - .battleAnimScript = Move_G_MAX_WILDFIRE, + .battleAnimScript = gBattleAnimMove_GMaxWildfire, }, [MOVE_G_MAX_CANNONADE] = @@ -21522,7 +21522,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_CANNONADE, - .battleAnimScript = Move_G_MAX_CANNONADE, + .battleAnimScript = gBattleAnimMove_GMaxCannonade, }, [MOVE_G_MAX_BEFUDDLE] = @@ -21538,7 +21538,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_EFFECT_SPORE_FOES, - .battleAnimScript = Move_G_MAX_BEFUDDLE, + .battleAnimScript = gBattleAnimMove_GMaxBefuddle, }, [MOVE_G_MAX_VOLT_CRASH] = @@ -21554,7 +21554,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_PARALYZE_FOES, - .battleAnimScript = Move_G_MAX_VOLT_CRASH, + .battleAnimScript = gBattleAnimMove_GMaxVoltCrash, }, [MOVE_G_MAX_GOLD_RUSH] = @@ -21570,7 +21570,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_CONFUSE_FOES_PAY_DAY, - .battleAnimScript = Move_G_MAX_GOLD_RUSH, + .battleAnimScript = gBattleAnimMove_GMaxGoldRush, }, [MOVE_G_MAX_CHI_STRIKE] = @@ -21586,7 +21586,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_CRIT_PLUS, - .battleAnimScript = Move_G_MAX_CHI_STRIKE, + .battleAnimScript = gBattleAnimMove_GMaxChiStrike, }, [MOVE_G_MAX_TERROR] = @@ -21602,7 +21602,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_MEAN_LOOK, - .battleAnimScript = Move_G_MAX_TERROR, + .battleAnimScript = gBattleAnimMove_GMaxTerror, }, [MOVE_G_MAX_FOAM_BURST] = @@ -21618,7 +21618,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_LOWER_SPEED_2_FOES, - .battleAnimScript = Move_G_MAX_FOAM_BURST, + .battleAnimScript = gBattleAnimMove_GMaxFoamBurst, }, [MOVE_G_MAX_RESONANCE] = @@ -21634,7 +21634,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_AURORA_VEIL, - .battleAnimScript = Move_G_MAX_RESONANCE, + .battleAnimScript = gBattleAnimMove_GMaxResonance, }, [MOVE_G_MAX_CUDDLE] = @@ -21650,7 +21650,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_INFATUATE_FOES, - .battleAnimScript = Move_G_MAX_CUDDLE, + .battleAnimScript = gBattleAnimMove_GMaxCuddle, }, [MOVE_G_MAX_REPLENISH] = @@ -21666,7 +21666,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_RECYCLE_BERRIES, - .battleAnimScript = Move_G_MAX_REPLENISH, + .battleAnimScript = gBattleAnimMove_GMaxReplenish, }, [MOVE_G_MAX_MALODOR] = @@ -21682,7 +21682,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_POISON_FOES, - .battleAnimScript = Move_G_MAX_MALODOR, + .battleAnimScript = gBattleAnimMove_GMaxMalodor, }, [MOVE_G_MAX_MELTDOWN] = @@ -21698,7 +21698,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_TORMENT_FOES, - .battleAnimScript = Move_G_MAX_MELTDOWN, + .battleAnimScript = gBattleAnimMove_GMaxMeltdown, }, [MOVE_G_MAX_DRUM_SOLO] = @@ -21715,7 +21715,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_FIXED_POWER, .ignoresTargetAbility = TRUE, - .battleAnimScript = Move_G_MAX_DRUM_SOLO, + .battleAnimScript = gBattleAnimMove_GMaxDrumSolo, }, [MOVE_G_MAX_FIREBALL] = @@ -21732,7 +21732,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_FIXED_POWER, .ignoresTargetAbility = TRUE, - .battleAnimScript = Move_G_MAX_FIREBALL, + .battleAnimScript = gBattleAnimMove_GMaxFireball, }, [MOVE_G_MAX_HYDROSNIPE] = @@ -21749,7 +21749,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_FIXED_POWER, .ignoresTargetAbility = TRUE, - .battleAnimScript = Move_G_MAX_HYDROSNIPE, + .battleAnimScript = gBattleAnimMove_GMaxHydrosnipe, }, [MOVE_G_MAX_WIND_RAGE] = @@ -21765,7 +21765,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_DEFOG, - .battleAnimScript = Move_G_MAX_WIND_RAGE, + .battleAnimScript = gBattleAnimMove_GMaxWindRage, }, [MOVE_G_MAX_GRAVITAS] = @@ -21781,7 +21781,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_GRAVITY, - .battleAnimScript = Move_G_MAX_GRAVITAS, + .battleAnimScript = gBattleAnimMove_GMaxGravitas, }, [MOVE_G_MAX_STONESURGE] = @@ -21797,7 +21797,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_STEALTH_ROCK, - .battleAnimScript = Move_G_MAX_STONESURGE, + .battleAnimScript = gBattleAnimMove_GMaxStonesurge, }, [MOVE_G_MAX_VOLCALITH] = @@ -21813,7 +21813,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_VOLCALITH, - .battleAnimScript = Move_G_MAX_VOLCALITH, + .battleAnimScript = gBattleAnimMove_GMaxVolcalith, }, [MOVE_G_MAX_TARTNESS] = @@ -21829,7 +21829,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_LOWER_EVASIVENESS_FOES, - .battleAnimScript = Move_G_MAX_TARTNESS, + .battleAnimScript = gBattleAnimMove_GMaxTartness, }, [MOVE_G_MAX_SWEETNESS] = @@ -21845,7 +21845,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_AROMATHERAPY, - .battleAnimScript = Move_G_MAX_SWEETNESS, + .battleAnimScript = gBattleAnimMove_GMaxSweetness, }, [MOVE_G_MAX_SANDBLAST] = @@ -21861,7 +21861,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_SANDBLAST_FOES, - .battleAnimScript = Move_G_MAX_SANDBLAST, + .battleAnimScript = gBattleAnimMove_GMaxSandblast, }, [MOVE_G_MAX_STUN_SHOCK] = @@ -21877,7 +21877,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_POISON_PARALYZE_FOES, - .battleAnimScript = Move_G_MAX_STUN_SHOCK, + .battleAnimScript = gBattleAnimMove_GMaxStunShock, }, [MOVE_G_MAX_CENTIFERNO] = @@ -21893,7 +21893,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_FIRE_SPIN_FOES, - .battleAnimScript = Move_G_MAX_CENTIFERNO, + .battleAnimScript = gBattleAnimMove_GMaxCentiferno, }, [MOVE_G_MAX_SMITE] = @@ -21909,7 +21909,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_CONFUSE_FOES, - .battleAnimScript = Move_G_MAX_SMITE, + .battleAnimScript = gBattleAnimMove_GMaxSmite, }, @@ -21926,7 +21926,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_YAWN_FOE, - .battleAnimScript = Move_G_MAX_SNOOZE, + .battleAnimScript = gBattleAnimMove_GMaxSnooze, }, [MOVE_G_MAX_FINALE] = @@ -21942,7 +21942,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_HEAL_TEAM, - .battleAnimScript = Move_G_MAX_FINALE, + .battleAnimScript = gBattleAnimMove_GMaxFinale, }, [MOVE_G_MAX_STEELSURGE] = @@ -21958,7 +21958,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_STEELSURGE, - .battleAnimScript = Move_G_MAX_STEELSURGE, + .battleAnimScript = gBattleAnimMove_GMaxSteelsurge, }, [MOVE_G_MAX_DEPLETION] = @@ -21974,7 +21974,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_SPITE, - .battleAnimScript = Move_G_MAX_DEPLETION, + .battleAnimScript = gBattleAnimMove_GMaxDepletion, }, [MOVE_G_MAX_ONE_BLOW] = @@ -21990,7 +21990,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_BYPASS_PROTECT, - .battleAnimScript = Move_G_MAX_ONE_BLOW, + .battleAnimScript = gBattleAnimMove_GMaxOneBlow, }, [MOVE_G_MAX_RAPID_FLOW] = @@ -22006,7 +22006,7 @@ const struct MoveInfo gMovesInfo[MOVES_COUNT_DYNAMAX] = .priority = 0, .category = DAMAGE_CATEGORY_PHYSICAL, .argument = MAX_EFFECT_BYPASS_PROTECT, - .battleAnimScript = Move_G_MAX_RAPID_FLOW, + .battleAnimScript = gBattleAnimMove_GMaxRapidFlow, }, }; diff --git a/src/pokemon.c b/src/pokemon.c index 165c430d96..92a50ed1aa 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -6902,7 +6902,7 @@ const u8 *GetMoveAnimationScript(u16 moveId) if (gMovesInfo[moveId].battleAnimScript == NULL) { DebugPrintfLevel(MGBA_LOG_WARN, "No animation for moveId=%u", moveId); - return Move_TACKLE; + return gMovesInfo[MOVE_NONE].battleAnimScript; } return gMovesInfo[moveId].battleAnimScript; } From 3aa24f527e14fcb6955933675d856e4f87c2164f Mon Sep 17 00:00:00 2001 From: Frank DeBlasio <35279583+fdeblasio@users.noreply.github.com> Date: Wed, 4 Sep 2024 14:56:19 -0400 Subject: [PATCH 41/78] Converted Mechadoll text to COMPOUND_STRINGs (#5276) --- data/event_scripts.s | 1 - data/text/trick_house_mechadolls.inc | 134 --------------------------- include/strings.h | 45 --------- src/data/script_menu.h | 90 +++++++++--------- 4 files changed, 45 insertions(+), 225 deletions(-) delete mode 100644 data/text/trick_house_mechadolls.inc diff --git a/data/event_scripts.s b/data/event_scripts.s index d4393ac9d4..e86d895a75 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -1103,7 +1103,6 @@ EventScript_VsSeekerChargingDone:: .include "data/text/contest_strings.inc" .include "data/text/contest_link.inc" .include "data/text/contest_painting.inc" - .include "data/text/trick_house_mechadolls.inc" .include "data/scripts/tv.inc" .include "data/text/tv.inc" .include "data/scripts/interview.inc" diff --git a/data/text/trick_house_mechadolls.inc b/data/text/trick_house_mechadolls.inc deleted file mode 100644 index 7edd1f1beb..0000000000 --- a/data/text/trick_house_mechadolls.inc +++ /dev/null @@ -1,134 +0,0 @@ -gTrickHouse_Mechadoll_Oddish:: - .string "ODDISH$" - -gTrickHouse_Mechadoll_Poochyena:: - .string "POOCHYENA$" - -gTrickHouse_Mechadoll_Taillow:: - .string "TAILLOW$" - -gTrickHouse_Mechadoll_Azurill:: - .string "AZURILL$" - -gTrickHouse_Mechadoll_Lotad:: - .string "LOTAD$" - -gTrickHouse_Mechadoll_Wingull:: - .string "WINGULL$" - -gTrickHouse_Mechadoll_Dustox:: - .string "DUSTOX$" - -gTrickHouse_Mechadoll_Zubat:: - .string "ZUBAT$" - -gTrickHouse_Mechadoll_Nincada:: - .string "NINCADA$" - -gTrickHouse_Mechadoll_Ralts:: - .string "RALTS$" - -gTrickHouse_Mechadoll_Zigzagoon:: - .string "ZIGZAGOON$" - -gTrickHouse_Mechadoll_Slakoth:: - .string "SLAKOTH$" - -gTrickHouse_Mechadoll_Poochyena2:: - .string "POOCHYENA$" - -gTrickHouse_Mechadoll_Shroomish:: - .string "SHROOMISH$" - -gTrickHouse_Mechadoll_Zigzagoon2:: - .string "ZIGZAGOON$" - -gTrickHouse_Mechadoll_Poochyena3:: - .string "POOCHYENA$" - -gTrickHouse_Mechadoll_Zubat2:: - .string "ZUBAT$" - -gTrickHouse_Mechadoll_Carvanha:: - .string "CARVANHA$" - -gTrickHouse_Mechadoll_BurnHeal:: - .string "BURN HEAL$" - -gTrickHouse_Mechadoll_HarborMail:: - .string "HARBOR MAIL$" - -gTrickHouse_Mechadoll_SamePrice:: - .string "Same price$" - -gTrickHouse_Mechadoll_60Yen:: - .string "¥60$" - -gTrickHouse_Mechadoll_55Yen:: - .string "¥55$" - -gTrickHouse_Mechadoll_Nothing:: - .string "Nothing$" - -gTrickHouse_Mechadoll_CostMore:: - .string "They will cost more.$" - -gTrickHouse_Mechadoll_CostLess:: - .string "They will cost less.$" - -gTrickHouse_Mechadoll_SamePrice2:: - .string "Same price$" - -gTrickHouse_Mechadoll_Male:: - .string "Male$" - -gTrickHouse_Mechadoll_Female:: - .string "Female$" - -gTrickHouse_Mechadoll_Neither:: - .string "Neither$" - -gTrickHouse_Mechadoll_ElderlyMen:: - .string "Elderly men$" - -gTrickHouse_Mechadoll_ElderlyLadies:: - .string "Elderly ladies$" - -gTrickHouse_Mechadoll_SameNumber:: - .string "Same number$" - -gTrickHouse_Mechadoll_None:: - .string "None$" - -gTrickHouse_Mechadoll_One:: - .string "1$" - -gTrickHouse_Mechadoll_Two:: - .string "2$" - -gTrickHouse_Mechadoll_Two2:: - .string "2$" - -gTrickHouse_Mechadoll_Three:: - .string "3$" - -gTrickHouse_Mechadoll_Four:: - .string "4$" - -gTrickHouse_Mechadoll_Six:: - .string "6$" - -gTrickHouse_Mechadoll_Seven:: - .string "7$" - -gTrickHouse_Mechadoll_Eight:: - .string "8$" - -gTrickHouse_Mechadoll_Six2:: - .string "6$" - -gTrickHouse_Mechadoll_Seven2:: - .string "7$" - -gTrickHouse_Mechadoll_Eight2:: - .string "8$" diff --git a/include/strings.h b/include/strings.h index 80df986993..e4adb071dd 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1011,51 +1011,6 @@ extern const u8 gText_Yes[]; extern const u8 gText_No[]; extern const u8 gText_Challenge[]; extern const u8 gText_Info3[]; -extern const u8 gTrickHouse_Mechadoll_Oddish[]; -extern const u8 gTrickHouse_Mechadoll_Poochyena[]; -extern const u8 gTrickHouse_Mechadoll_Taillow[]; -extern const u8 gTrickHouse_Mechadoll_Azurill[]; -extern const u8 gTrickHouse_Mechadoll_Lotad[]; -extern const u8 gTrickHouse_Mechadoll_Wingull[]; -extern const u8 gTrickHouse_Mechadoll_Dustox[]; -extern const u8 gTrickHouse_Mechadoll_Zubat[]; -extern const u8 gTrickHouse_Mechadoll_Nincada[]; -extern const u8 gTrickHouse_Mechadoll_Ralts[]; -extern const u8 gTrickHouse_Mechadoll_Zigzagoon[]; -extern const u8 gTrickHouse_Mechadoll_Slakoth[]; -extern const u8 gTrickHouse_Mechadoll_Poochyena2[]; -extern const u8 gTrickHouse_Mechadoll_Shroomish[]; -extern const u8 gTrickHouse_Mechadoll_Zigzagoon2[]; -extern const u8 gTrickHouse_Mechadoll_Poochyena3[]; -extern const u8 gTrickHouse_Mechadoll_Zubat2[]; -extern const u8 gTrickHouse_Mechadoll_Carvanha[]; -extern const u8 gTrickHouse_Mechadoll_BurnHeal[]; -extern const u8 gTrickHouse_Mechadoll_HarborMail[]; -extern const u8 gTrickHouse_Mechadoll_SamePrice[]; -extern const u8 gTrickHouse_Mechadoll_60Yen[]; -extern const u8 gTrickHouse_Mechadoll_55Yen[]; -extern const u8 gTrickHouse_Mechadoll_Nothing[]; -extern const u8 gTrickHouse_Mechadoll_CostMore[]; -extern const u8 gTrickHouse_Mechadoll_CostLess[]; -extern const u8 gTrickHouse_Mechadoll_SamePrice2[]; -extern const u8 gTrickHouse_Mechadoll_Male[]; -extern const u8 gTrickHouse_Mechadoll_Female[]; -extern const u8 gTrickHouse_Mechadoll_Neither[]; -extern const u8 gTrickHouse_Mechadoll_ElderlyMen[]; -extern const u8 gTrickHouse_Mechadoll_ElderlyLadies[]; -extern const u8 gTrickHouse_Mechadoll_SameNumber[]; -extern const u8 gTrickHouse_Mechadoll_None[]; -extern const u8 gTrickHouse_Mechadoll_One[]; -extern const u8 gTrickHouse_Mechadoll_Two[]; -extern const u8 gTrickHouse_Mechadoll_Two2[]; -extern const u8 gTrickHouse_Mechadoll_Three[]; -extern const u8 gTrickHouse_Mechadoll_Four[]; -extern const u8 gTrickHouse_Mechadoll_Six[]; -extern const u8 gTrickHouse_Mechadoll_Seven[]; -extern const u8 gTrickHouse_Mechadoll_Eight[]; -extern const u8 gTrickHouse_Mechadoll_Six2[]; -extern const u8 gTrickHouse_Mechadoll_Seven2[]; -extern const u8 gTrickHouse_Mechadoll_Eight2[]; // Pokédex strings extern const u8 gText_SearchForPkmnBasedOnParameters[]; diff --git a/src/data/script_menu.h b/src/data/script_menu.h index c5afa87043..3b29171327 100644 --- a/src/data/script_menu.h +++ b/src/data/script_menu.h @@ -105,107 +105,107 @@ static const struct MenuAction MultichoiceList_LevelMode[] = static const struct MenuAction MultichoiceList_Mechadoll1_Q1[] = { - {gTrickHouse_Mechadoll_Oddish}, - {gTrickHouse_Mechadoll_Poochyena}, - {gTrickHouse_Mechadoll_Taillow}, + {COMPOUND_STRING("ODDISH")}, + {COMPOUND_STRING("POOCHYENA")}, + {COMPOUND_STRING("TAILLOW")}, }; static const struct MenuAction MultichoiceList_Mechadoll1_Q2[] = { - {gTrickHouse_Mechadoll_Azurill}, - {gTrickHouse_Mechadoll_Lotad}, - {gTrickHouse_Mechadoll_Wingull}, + {COMPOUND_STRING("AZURILL")}, + {COMPOUND_STRING("LOTAD")}, + {COMPOUND_STRING("WINGULL")}, }; static const struct MenuAction MultichoiceList_Mechadoll1_Q3[] = { - {gTrickHouse_Mechadoll_Dustox}, - {gTrickHouse_Mechadoll_Zubat}, - {gTrickHouse_Mechadoll_Nincada}, + {COMPOUND_STRING("DUSTOX")}, + {COMPOUND_STRING("ZUBAT")}, + {COMPOUND_STRING("NINCADA")}, }; static const struct MenuAction MultichoiceList_Mechadoll2_Q1[] = { - {gTrickHouse_Mechadoll_Ralts}, - {gTrickHouse_Mechadoll_Zigzagoon}, - {gTrickHouse_Mechadoll_Slakoth}, + {COMPOUND_STRING("RALTS")}, + {COMPOUND_STRING("ZIGZAGOON")}, + {COMPOUND_STRING("SLAKOTH")}, }; static const struct MenuAction MultichoiceList_Mechadoll2_Q2[] = { - {gTrickHouse_Mechadoll_Poochyena2}, - {gTrickHouse_Mechadoll_Shroomish}, - {gTrickHouse_Mechadoll_Zigzagoon2}, + {COMPOUND_STRING("POOCHYENA")}, + {COMPOUND_STRING("SHROOMISH")}, + {COMPOUND_STRING("ZIGZAGOON")}, }; static const struct MenuAction MultichoiceList_Mechadoll2_Q3[] = { - {gTrickHouse_Mechadoll_Poochyena3}, - {gTrickHouse_Mechadoll_Zubat2}, - {gTrickHouse_Mechadoll_Carvanha}, + {COMPOUND_STRING("POOCHYENA")}, + {COMPOUND_STRING("ZUBAT")}, + {COMPOUND_STRING("CARVANHA")}, }; static const struct MenuAction MultichoiceList_Mechadoll3_Q1[] = { - {gTrickHouse_Mechadoll_BurnHeal}, - {gTrickHouse_Mechadoll_HarborMail}, - {gTrickHouse_Mechadoll_SamePrice}, + {COMPOUND_STRING("BURN HEAL")}, + {COMPOUND_STRING("HARBOR MAIL")}, + {COMPOUND_STRING("Same price")}, }; static const struct MenuAction MultichoiceList_Mechadoll3_Q2[] = { - {gTrickHouse_Mechadoll_60Yen}, - {gTrickHouse_Mechadoll_55Yen}, - {gTrickHouse_Mechadoll_Nothing}, + {COMPOUND_STRING("¥60")}, + {COMPOUND_STRING("¥55")}, + {COMPOUND_STRING("Nothing")}, }; static const struct MenuAction MultichoiceList_Mechadoll3_Q3[] = { - {gTrickHouse_Mechadoll_CostMore}, - {gTrickHouse_Mechadoll_CostLess}, - {gTrickHouse_Mechadoll_SamePrice2}, + {COMPOUND_STRING("They will cost more.")}, + {COMPOUND_STRING("They will cost less.")}, + {COMPOUND_STRING("Same price")}, }; static const struct MenuAction MultichoiceList_Mechadoll4_Q1[] = { - {gTrickHouse_Mechadoll_Male}, - {gTrickHouse_Mechadoll_Female}, - {gTrickHouse_Mechadoll_Neither}, + {COMPOUND_STRING("Male")}, + {COMPOUND_STRING("Female")}, + {COMPOUND_STRING("Neither")}, }; static const struct MenuAction MultichoiceList_Mechadoll4_Q2[] = { - {gTrickHouse_Mechadoll_ElderlyMen}, - {gTrickHouse_Mechadoll_ElderlyLadies}, - {gTrickHouse_Mechadoll_SameNumber}, + {COMPOUND_STRING("Elderly men")}, + {COMPOUND_STRING("Elderly ladies")}, + {COMPOUND_STRING("Same number")}, }; static const struct MenuAction MultichoiceList_Mechadoll4_Q3[] = { - {gTrickHouse_Mechadoll_None}, - {gTrickHouse_Mechadoll_One}, - {gTrickHouse_Mechadoll_Two}, + {COMPOUND_STRING("None")}, + {COMPOUND_STRING("1")}, + {COMPOUND_STRING("2")}, }; static const struct MenuAction MultichoiceList_Mechadoll5_Q1[] = { - {gTrickHouse_Mechadoll_Two2}, - {gTrickHouse_Mechadoll_Three}, - {gTrickHouse_Mechadoll_Four}, + {COMPOUND_STRING("2")}, + {COMPOUND_STRING("3")}, + {COMPOUND_STRING("4")}, }; static const struct MenuAction MultichoiceList_Mechadoll5_Q2[] = { - {gTrickHouse_Mechadoll_Six}, - {gTrickHouse_Mechadoll_Seven}, - {gTrickHouse_Mechadoll_Eight}, + {COMPOUND_STRING("6")}, + {COMPOUND_STRING("7")}, + {COMPOUND_STRING("8")}, }; static const struct MenuAction MultichoiceList_Mechadoll5_Q3[] = { - {gTrickHouse_Mechadoll_Six2}, - {gTrickHouse_Mechadoll_Seven2}, - {gTrickHouse_Mechadoll_Eight2}, + {COMPOUND_STRING("6")}, + {COMPOUND_STRING("7")}, + {COMPOUND_STRING("8")}, }; static const struct MenuAction MultichoiceList_VendingMachine[] = From 181c4ea4768694c24d9ddabf6882a1ca75638378 Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Wed, 4 Sep 2024 22:25:41 +0200 Subject: [PATCH 42/78] Typeless fix (#5323) Co-authored-by: Hedara --- src/battle_util.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/battle_util.c b/src/battle_util.c index d6279dc317..527d2d350a 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -11790,5 +11790,10 @@ u32 GetMoveType(u32 move) { if (gMain.inBattle && gBattleStruct->dynamicMoveType) return gBattleStruct->dynamicMoveType & DYNAMIC_TYPE_MASK; + else if (B_UPDATED_MOVE_TYPES < GEN_5 + && (move == MOVE_BEAT_UP + || move == MOVE_FUTURE_SIGHT + || move == MOVE_DOOM_DESIRE)) + return TYPE_MYSTERY; return gMovesInfo[move].type; } From d3a3565fefa8189f2b433cb05f6c48da5f4a4d7a Mon Sep 17 00:00:00 2001 From: Frank DeBlasio <35279583+fdeblasio@users.noreply.github.com> Date: Wed, 4 Sep 2024 16:43:34 -0400 Subject: [PATCH 43/78] Converted PC strings to COMPOUND_STRINGs (#5314) * Converted PC strings to COMPOUND_STRINGs * Update src/pokemon_storage_system.c Co-authored-by: Eduardo Quezada --------- Co-authored-by: Eduardo Quezada --- include/strings.h | 82 ------------------- src/pokemon_storage_system.c | 154 ++++++++++++++++++----------------- src/strings.c | 81 ------------------ 3 files changed, 81 insertions(+), 236 deletions(-) diff --git a/include/strings.h b/include/strings.h index e4adb071dd..041f43d05b 100644 --- a/include/strings.h +++ b/include/strings.h @@ -216,17 +216,6 @@ extern const u8 gMenuText_Confirm[]; extern const u8 gMenuText_Show[]; extern const u8 gMenuText_Give2[]; -extern const u8 gText_WithdrawPokemon[]; -extern const u8 gText_WithdrawMonDescription[]; -extern const u8 gText_DepositPokemon[]; -extern const u8 gText_DepositMonDescription[]; -extern const u8 gText_MovePokemon[]; -extern const u8 gText_MoveMonDescription[]; -extern const u8 gText_MoveItems[]; -extern const u8 gText_MoveItemsDescription[]; -extern const u8 gText_SeeYa[]; -extern const u8 gText_SeeYaDescription[]; - extern const u8 gText_EggNickname[]; extern const u8 gText_Pokemon[]; extern const u8 gText_InParty[]; @@ -1881,78 +1870,7 @@ extern const u8 BattlePyramid_Text_SixTrainersRemaining6[]; extern const u8 BattlePyramid_Text_SevenTrainersRemaining6[]; // PC strings -extern const u8 gText_ExitFromBox[]; -extern const u8 gText_WhatDoYouWantToDo[]; -extern const u8 gText_PleasePickATheme[]; -extern const u8 gText_PickTheWallpaper[]; -extern const u8 gText_PkmnIsSelected[]; -extern const u8 gText_JumpToWhichBox[]; -extern const u8 gText_DepositInWhichBox[]; -extern const u8 gText_PkmnWasDeposited[]; -extern const u8 gText_BoxIsFull2[]; -extern const u8 gText_ReleaseThisPokemon[]; -extern const u8 gText_PkmnWasReleased[]; -extern const u8 gText_ByeByePkmn[]; -extern const u8 gText_MarkYourPkmn[]; -extern const u8 gText_ThatsYourLastPkmn[]; extern const u8 gText_YourPartysFull[]; -extern const u8 gText_YoureHoldingAPkmn[]; -extern const u8 gText_WhichOneWillYouTake[]; -extern const u8 gText_YouCantReleaseAnEgg[]; -extern const u8 gText_ContinueBoxOperations[]; -extern const u8 gText_PkmnCameBack[]; -extern const u8 gText_WasItWorriedAboutYou[]; -extern const u8 gText_FourEllipsesExclamation[]; -extern const u8 gText_PleaseRemoveTheMail[]; -extern const u8 gText_GiveToAPkmn[]; -extern const u8 gText_PlacedItemInBag[]; -extern const u8 gText_BagIsFull2[]; -extern const u8 gText_PutItemInBag[]; -extern const u8 gText_ItemIsNowHeld[]; -extern const u8 gText_ChangedToNewItem[]; -extern const u8 gText_MailCantBeStored[]; -extern const u8 gPCText_Cancel[]; -extern const u8 gPCText_Store[]; -extern const u8 gPCText_Withdraw[]; -extern const u8 gPCText_Move[]; -extern const u8 gPCText_Shift[]; -extern const u8 gPCText_Place[]; -extern const u8 gPCText_Summary[]; -extern const u8 gPCText_Release[]; -extern const u8 gPCText_Mark[]; -extern const u8 gPCText_Jump[]; -extern const u8 gPCText_Wallpaper[]; -extern const u8 gPCText_Name[]; -extern const u8 gPCText_Take[]; -extern const u8 gPCText_Give[]; -extern const u8 gPCText_Give[]; -extern const u8 gPCText_Switch[]; -extern const u8 gPCText_Bag[]; -extern const u8 gPCText_Info[]; -extern const u8 gPCText_Scenery1[]; -extern const u8 gPCText_Scenery2[]; -extern const u8 gPCText_Scenery3[]; -extern const u8 gPCText_Etcetera[]; -extern const u8 gPCText_Friends[]; -extern const u8 gPCText_Forest[]; -extern const u8 gPCText_City[]; -extern const u8 gPCText_Desert[]; -extern const u8 gPCText_Savanna[]; -extern const u8 gPCText_Crag[]; -extern const u8 gPCText_Volcano[]; -extern const u8 gPCText_Snow[]; -extern const u8 gPCText_Cave[]; -extern const u8 gPCText_Beach[]; -extern const u8 gPCText_Seafloor[]; -extern const u8 gPCText_River[]; -extern const u8 gPCText_Sky[]; -extern const u8 gPCText_PolkaDot[]; -extern const u8 gPCText_Pokecenter[]; -extern const u8 gPCText_Machine[]; -extern const u8 gPCText_Simple[]; -extern const u8 gText_PartyFull[]; -extern const u8 gText_Box[]; -extern const u8 gText_JustOnePkmn[]; // battle main extern const u8 gText_LinkStandby3[]; diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 6c9c53fd7f..54fee9e77a 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -892,16 +892,20 @@ static void UnkUtil_DmaRun(struct UnkUtilData *); void SetMonFormPSS(struct BoxPokemon *boxMon); void UpdateSpeciesSpritePSS(struct BoxPokemon *boxmon); +static const u8 gText_JustOnePkmn[] = _("There is just one POKéMON with you."); +static const u8 gText_PartyFull[] = _("Your party is full!"); +static const u8 gText_Box[] = _("BOX"); + struct { const u8 *text; const u8 *desc; } static const sMainMenuTexts[OPTIONS_COUNT] = { - [OPTION_WITHDRAW] = {gText_WithdrawPokemon, gText_WithdrawMonDescription}, - [OPTION_DEPOSIT] = {gText_DepositPokemon, gText_DepositMonDescription}, - [OPTION_MOVE_MONS] = {gText_MovePokemon, gText_MoveMonDescription}, - [OPTION_MOVE_ITEMS] = {gText_MoveItems, gText_MoveItemsDescription}, - [OPTION_EXIT] = {gText_SeeYa, gText_SeeYaDescription} + [OPTION_WITHDRAW] = {COMPOUND_STRING("WITHDRAW POKéMON"), COMPOUND_STRING("Move POKéMON stored in BOXES to\nyour party.")}, + [OPTION_DEPOSIT] = {COMPOUND_STRING("DEPOSIT POKéMON"), COMPOUND_STRING("Store POKéMON in your party in BOXES.")}, + [OPTION_MOVE_MONS] = {COMPOUND_STRING("MOVE POKéMON"), COMPOUND_STRING("Organize the POKéMON in BOXES and\nin your party.")}, + [OPTION_MOVE_ITEMS] = {COMPOUND_STRING("MOVE ITEMS"), COMPOUND_STRING("Move items held by any POKéMON\nin a BOX or your party.")}, + [OPTION_EXIT] = {COMPOUND_STRING("SEE YA!"), COMPOUND_STRING("Return to the previous menu.")} }; static const struct WindowTemplate sWindowTemplate_MainMenu = @@ -1078,39 +1082,41 @@ static const struct SpriteTemplate sSpriteTemplate_DisplayMon = .callback = SpriteCallbackDummy, }; +static const u8 gText_PkmnIsSelected[] = _("{DYNAMIC 0} is selected."); + static const struct StorageMessage sMessages[] = { - [MSG_EXIT_BOX] = {gText_ExitFromBox, MSG_VAR_NONE}, - [MSG_WHAT_YOU_DO] = {gText_WhatDoYouWantToDo, MSG_VAR_NONE}, - [MSG_PICK_A_THEME] = {gText_PleasePickATheme, MSG_VAR_NONE}, - [MSG_PICK_A_WALLPAPER] = {gText_PickTheWallpaper, MSG_VAR_NONE}, - [MSG_IS_SELECTED] = {gText_PkmnIsSelected, MSG_VAR_MON_NAME_1}, - [MSG_JUMP_TO_WHICH_BOX] = {gText_JumpToWhichBox, MSG_VAR_NONE}, - [MSG_DEPOSIT_IN_WHICH_BOX] = {gText_DepositInWhichBox, MSG_VAR_NONE}, - [MSG_WAS_DEPOSITED] = {gText_PkmnWasDeposited, MSG_VAR_MON_NAME_1}, - [MSG_BOX_IS_FULL] = {gText_BoxIsFull2, MSG_VAR_NONE}, - [MSG_RELEASE_POKE] = {gText_ReleaseThisPokemon, MSG_VAR_NONE}, - [MSG_WAS_RELEASED] = {gText_PkmnWasReleased, MSG_VAR_RELEASE_MON_1}, - [MSG_BYE_BYE] = {gText_ByeByePkmn, MSG_VAR_RELEASE_MON_3}, - [MSG_MARK_POKE] = {gText_MarkYourPkmn, MSG_VAR_NONE}, - [MSG_LAST_POKE] = {gText_ThatsYourLastPkmn, MSG_VAR_NONE}, - [MSG_PARTY_FULL] = {gText_YourPartysFull, MSG_VAR_NONE}, - [MSG_HOLDING_POKE] = {gText_YoureHoldingAPkmn, MSG_VAR_NONE}, - [MSG_WHICH_ONE_WILL_TAKE] = {gText_WhichOneWillYouTake, MSG_VAR_NONE}, - [MSG_CANT_RELEASE_EGG] = {gText_YouCantReleaseAnEgg, MSG_VAR_NONE}, - [MSG_CONTINUE_BOX] = {gText_ContinueBoxOperations, MSG_VAR_NONE}, - [MSG_CAME_BACK] = {gText_PkmnCameBack, MSG_VAR_MON_NAME_1}, - [MSG_WORRIED] = {gText_WasItWorriedAboutYou, MSG_VAR_NONE}, - [MSG_SURPRISE] = {gText_FourEllipsesExclamation, MSG_VAR_NONE}, - [MSG_PLEASE_REMOVE_MAIL] = {gText_PleaseRemoveTheMail, MSG_VAR_NONE}, - [MSG_IS_SELECTED2] = {gText_PkmnIsSelected, MSG_VAR_ITEM_NAME}, - [MSG_GIVE_TO_MON] = {gText_GiveToAPkmn, MSG_VAR_NONE}, - [MSG_PLACED_IN_BAG] = {gText_PlacedItemInBag, MSG_VAR_ITEM_NAME}, - [MSG_BAG_FULL] = {gText_BagIsFull2, MSG_VAR_NONE}, - [MSG_PUT_IN_BAG] = {gText_PutItemInBag, MSG_VAR_NONE}, - [MSG_ITEM_IS_HELD] = {gText_ItemIsNowHeld, MSG_VAR_ITEM_NAME}, - [MSG_CHANGED_TO_ITEM] = {gText_ChangedToNewItem, MSG_VAR_ITEM_NAME}, - [MSG_CANT_STORE_MAIL] = {gText_MailCantBeStored, MSG_VAR_NONE}, + [MSG_EXIT_BOX] = {COMPOUND_STRING("Exit from the BOX?"), MSG_VAR_NONE}, + [MSG_WHAT_YOU_DO] = {COMPOUND_STRING("What do you want to do?"), MSG_VAR_NONE}, + [MSG_PICK_A_THEME] = {COMPOUND_STRING("Please pick a theme."), MSG_VAR_NONE}, + [MSG_PICK_A_WALLPAPER] = {COMPOUND_STRING("Pick the wallpaper."), MSG_VAR_NONE}, + [MSG_IS_SELECTED] = {gText_PkmnIsSelected, MSG_VAR_MON_NAME_1}, + [MSG_JUMP_TO_WHICH_BOX] = {COMPOUND_STRING("Jump to which BOX?"), MSG_VAR_NONE}, + [MSG_DEPOSIT_IN_WHICH_BOX] = {COMPOUND_STRING("Deposit in which BOX?"), MSG_VAR_NONE}, + [MSG_WAS_DEPOSITED] = {COMPOUND_STRING("{DYNAMIC 0} was deposited."), MSG_VAR_MON_NAME_1}, + [MSG_BOX_IS_FULL] = {COMPOUND_STRING("The BOX is full."), MSG_VAR_NONE}, + [MSG_RELEASE_POKE] = {COMPOUND_STRING("Release this POKéMON?"), MSG_VAR_NONE}, + [MSG_WAS_RELEASED] = {COMPOUND_STRING("{DYNAMIC 0} was released."), MSG_VAR_RELEASE_MON_1}, + [MSG_BYE_BYE] = {COMPOUND_STRING("Bye-bye, {DYNAMIC 0}!"), MSG_VAR_RELEASE_MON_3}, + [MSG_MARK_POKE] = {COMPOUND_STRING("Mark your POKéMON."), MSG_VAR_NONE}, + [MSG_LAST_POKE] = {COMPOUND_STRING("That's your last POKéMON!"), MSG_VAR_NONE}, + [MSG_PARTY_FULL] = {gText_YourPartysFull, MSG_VAR_NONE}, + [MSG_HOLDING_POKE] = {COMPOUND_STRING("You're holding a POKéMON!"), MSG_VAR_NONE}, + [MSG_WHICH_ONE_WILL_TAKE] = {COMPOUND_STRING("Which one will you take?"), MSG_VAR_NONE}, + [MSG_CANT_RELEASE_EGG] = {COMPOUND_STRING("You can't release an EGG."), MSG_VAR_NONE}, + [MSG_CONTINUE_BOX] = {COMPOUND_STRING("Continue BOX operations?"), MSG_VAR_NONE}, + [MSG_CAME_BACK] = {COMPOUND_STRING("{DYNAMIC 0} came back!"), MSG_VAR_MON_NAME_1}, + [MSG_WORRIED] = {COMPOUND_STRING("Was it worried about you?"), MSG_VAR_NONE}, + [MSG_SURPRISE] = {COMPOUND_STRING("… … … … !"), MSG_VAR_NONE}, + [MSG_PLEASE_REMOVE_MAIL] = {COMPOUND_STRING("Please remove the MAIL."), MSG_VAR_NONE}, + [MSG_IS_SELECTED2] = {gText_PkmnIsSelected, MSG_VAR_ITEM_NAME}, + [MSG_GIVE_TO_MON] = {COMPOUND_STRING("GIVE to a POKéMON?"), MSG_VAR_NONE}, + [MSG_PLACED_IN_BAG] = {COMPOUND_STRING("Placed item in the BAG."), MSG_VAR_ITEM_NAME}, + [MSG_BAG_FULL] = {COMPOUND_STRING("The BAG is full."), MSG_VAR_NONE}, + [MSG_PUT_IN_BAG] = {COMPOUND_STRING("Put this item in the BAG?"), MSG_VAR_NONE}, + [MSG_ITEM_IS_HELD] = {COMPOUND_STRING("{DYNAMIC 0} is now held."), MSG_VAR_ITEM_NAME}, + [MSG_CHANGED_TO_ITEM] = {COMPOUND_STRING("Changed to {DYNAMIC 0}."), MSG_VAR_ITEM_NAME}, + [MSG_CANT_STORE_MAIL] = {COMPOUND_STRING("MAIL can't be stored!"), MSG_VAR_NONE}, }; static const struct WindowTemplate sYesNoWindowTemplate = @@ -8041,47 +8047,49 @@ static void InitMenu(void) sStorage->menuWindow.baseBlock = 92; } +static const u8 gPCText_Give[] = _("GIVE"); + static const u8 *const sMenuTexts[] = { - [MENU_CANCEL] = gPCText_Cancel, - [MENU_STORE] = gPCText_Store, - [MENU_WITHDRAW] = gPCText_Withdraw, - [MENU_MOVE] = gPCText_Move, - [MENU_SHIFT] = gPCText_Shift, - [MENU_PLACE] = gPCText_Place, - [MENU_SUMMARY] = gPCText_Summary, - [MENU_RELEASE] = gPCText_Release, - [MENU_MARK] = gPCText_Mark, - [MENU_JUMP] = gPCText_Jump, - [MENU_WALLPAPER] = gPCText_Wallpaper, - [MENU_NAME] = gPCText_Name, - [MENU_TAKE] = gPCText_Take, + [MENU_CANCEL] = COMPOUND_STRING("CANCEL"), + [MENU_STORE] = COMPOUND_STRING("STORE"), + [MENU_WITHDRAW] = COMPOUND_STRING("WITHDRAW"), + [MENU_MOVE] = COMPOUND_STRING("SHIFT"), + [MENU_SHIFT] = COMPOUND_STRING("MOVE"), + [MENU_PLACE] = COMPOUND_STRING("PLACE"), + [MENU_SUMMARY] = COMPOUND_STRING("SUMMARY"), + [MENU_RELEASE] = COMPOUND_STRING("RELEASE"), + [MENU_MARK] = COMPOUND_STRING("MARK"), + [MENU_JUMP] = COMPOUND_STRING("NAME"), + [MENU_WALLPAPER] = COMPOUND_STRING("JUMP"), + [MENU_NAME] = COMPOUND_STRING("WALLPAPER"), + [MENU_TAKE] = COMPOUND_STRING("TAKE"), [MENU_GIVE] = gPCText_Give, [MENU_GIVE_2] = gPCText_Give, - [MENU_SWITCH] = gPCText_Switch, - [MENU_BAG] = gPCText_Bag, - [MENU_INFO] = gPCText_Info, - [MENU_SCENERY_1] = gPCText_Scenery1, - [MENU_SCENERY_2] = gPCText_Scenery2, - [MENU_SCENERY_3] = gPCText_Scenery3, - [MENU_ETCETERA] = gPCText_Etcetera, - [MENU_FRIENDS] = gPCText_Friends, - [MENU_FOREST] = gPCText_Forest, - [MENU_CITY] = gPCText_City, - [MENU_DESERT] = gPCText_Desert, - [MENU_SAVANNA] = gPCText_Savanna, - [MENU_CRAG] = gPCText_Crag, - [MENU_VOLCANO] = gPCText_Volcano, - [MENU_SNOW] = gPCText_Snow, - [MENU_CAVE] = gPCText_Cave, - [MENU_BEACH] = gPCText_Beach, - [MENU_SEAFLOOR] = gPCText_Seafloor, - [MENU_RIVER] = gPCText_River, - [MENU_SKY] = gPCText_Sky, - [MENU_POLKADOT] = gPCText_PolkaDot, - [MENU_POKECENTER] = gPCText_Pokecenter, - [MENU_MACHINE] = gPCText_Machine, - [MENU_SIMPLE] = gPCText_Simple, + [MENU_SWITCH] = COMPOUND_STRING("SWITCH"), + [MENU_BAG] = COMPOUND_STRING("BAG"), + [MENU_INFO] = COMPOUND_STRING("INFO"), + [MENU_SCENERY_1] = COMPOUND_STRING("SCENERY 1"), + [MENU_SCENERY_2] = COMPOUND_STRING("SCENERY 2"), + [MENU_SCENERY_3] = COMPOUND_STRING("SCENERY 3"), + [MENU_ETCETERA] = COMPOUND_STRING("ETCETERA"), + [MENU_FRIENDS] = COMPOUND_STRING("FRIENDS"), + [MENU_FOREST] = COMPOUND_STRING("FOREST"), + [MENU_CITY] = COMPOUND_STRING("CITY"), + [MENU_DESERT] = COMPOUND_STRING("DESERT"), + [MENU_SAVANNA] = COMPOUND_STRING("SAVANNA"), + [MENU_CRAG] = COMPOUND_STRING("CRAG"), + [MENU_VOLCANO] = COMPOUND_STRING("VOLCANO"), + [MENU_SNOW] = COMPOUND_STRING("SNOW"), + [MENU_CAVE] = COMPOUND_STRING("CAVE"), + [MENU_BEACH] = COMPOUND_STRING("BEACH"), + [MENU_SEAFLOOR] = COMPOUND_STRING("SEAFLOOR"), + [MENU_RIVER] = COMPOUND_STRING("RIVER"), + [MENU_SKY] = COMPOUND_STRING("SKY"), + [MENU_POLKADOT] = COMPOUND_STRING("POLKA-DOT"), + [MENU_POKECENTER] = COMPOUND_STRING("POKéCENTER"), + [MENU_MACHINE] = COMPOUND_STRING("MACHINE"), + [MENU_SIMPLE] = COMPOUND_STRING("SIMPLE"), }; static void SetMenuText(u8 textId) diff --git a/src/strings.c b/src/strings.c index 54a08f32e2..6009dbf5e6 100644 --- a/src/strings.c +++ b/src/strings.c @@ -814,88 +814,7 @@ const u8 gText_MtPyre[] = _("MT. PYRE"); const u8 gText_SkyPillar[] = _("SKY PILLAR"); const u8 gText_DontRemember[] = _("Don't remember"); const u8 gText_Exit[] = _("EXIT"); -const u8 gText_ExitFromBox[] = _("Exit from the BOX?"); -const u8 gText_WhatDoYouWantToDo[] = _("What do you want to do?"); -const u8 gText_PleasePickATheme[] = _("Please pick a theme."); -const u8 gText_PickTheWallpaper[] = _("Pick the wallpaper."); -const u8 gText_PkmnIsSelected[] = _("{DYNAMIC 0} is selected."); -const u8 gText_JumpToWhichBox[] = _("Jump to which BOX?"); -const u8 gText_DepositInWhichBox[] = _("Deposit in which BOX?"); -const u8 gText_PkmnWasDeposited[] = _("{DYNAMIC 0} was deposited."); -const u8 gText_BoxIsFull2[] = _("The BOX is full."); -const u8 gText_ReleaseThisPokemon[] = _("Release this POKéMON?"); -const u8 gText_PkmnWasReleased[] = _("{DYNAMIC 0} was released."); -const u8 gText_ByeByePkmn[] = _("Bye-bye, {DYNAMIC 0}!"); -const u8 gText_MarkYourPkmn[] = _("Mark your POKéMON."); -const u8 gText_ThatsYourLastPkmn[] = _("That's your last POKéMON!"); const u8 gText_YourPartysFull[] = _("Your party's full!{PAUSE_UNTIL_PRESS}"); -const u8 gText_YoureHoldingAPkmn[] = _("You're holding a POKéMON!"); -const u8 gText_WhichOneWillYouTake[] = _("Which one will you take?"); -const u8 gText_YouCantReleaseAnEgg[] = _("You can't release an EGG."); -const u8 gText_ContinueBoxOperations[] = _("Continue BOX operations?"); -const u8 gText_PkmnCameBack[] = _("{DYNAMIC 0} came back!"); -const u8 gText_WasItWorriedAboutYou[] = _("Was it worried about you?"); -const u8 gText_FourEllipsesExclamation[] = _("… … … … !"); -const u8 gText_PleaseRemoveTheMail[] = _("Please remove the MAIL."); -const u8 gText_GiveToAPkmn[] = _("GIVE to a POKéMON?"); -const u8 gText_PlacedItemInBag[] = _("Placed item in the BAG."); -const u8 gText_BagIsFull2[] = _("The BAG is full."); -const u8 gText_PutItemInBag[] = _("Put this item in the BAG?"); -const u8 gText_ItemIsNowHeld[] = _("{DYNAMIC 0} is now held."); -const u8 gText_ChangedToNewItem[] = _("Changed to {DYNAMIC 0}."); -const u8 gText_MailCantBeStored[] = _("MAIL can't be stored!"); -const u8 gPCText_Cancel[] = _("CANCEL"); -const u8 gPCText_Store[] = _("STORE"); -const u8 gPCText_Withdraw[] = _("WITHDRAW"); -const u8 gPCText_Shift[] = _("SHIFT"); -const u8 gPCText_Move[] = _("MOVE"); -const u8 gPCText_Place[] = _("PLACE"); -const u8 gPCText_Summary[] = _("SUMMARY"); -const u8 gPCText_Release[] = _("RELEASE"); -const u8 gPCText_Mark[] = _("MARK"); -const u8 gPCText_Name[] = _("NAME"); -const u8 gPCText_Jump[] = _("JUMP"); -const u8 gPCText_Wallpaper[] = _("WALLPAPER"); -const u8 gPCText_Take[] = _("TAKE"); -const u8 gPCText_Give[] = _("GIVE"); -const u8 gPCText_Switch[] = _("SWITCH"); -const u8 gPCText_Bag[] = _("BAG"); -const u8 gPCText_Info[] = _("INFO"); -const u8 gPCText_Scenery1[] = _("SCENERY 1"); -const u8 gPCText_Scenery2[] = _("SCENERY 2"); -const u8 gPCText_Scenery3[] = _("SCENERY 3"); -const u8 gPCText_Etcetera[] = _("ETCETERA"); -const u8 gPCText_Friends[] = _("FRIENDS"); -const u8 gPCText_Forest[] = _("FOREST"); -const u8 gPCText_City[] = _("CITY"); -const u8 gPCText_Desert[] = _("DESERT"); -const u8 gPCText_Savanna[] = _("SAVANNA"); -const u8 gPCText_Crag[] = _("CRAG"); -const u8 gPCText_Volcano[] = _("VOLCANO"); -const u8 gPCText_Snow[] = _("SNOW"); -const u8 gPCText_Cave[] = _("CAVE"); -const u8 gPCText_Beach[] = _("BEACH"); -const u8 gPCText_Seafloor[] = _("SEAFLOOR"); -const u8 gPCText_River[] = _("RIVER"); -const u8 gPCText_Sky[] = _("SKY"); -const u8 gPCText_PolkaDot[] = _("POLKA-DOT"); -const u8 gPCText_Pokecenter[] = _("POKéCENTER"); -const u8 gPCText_Machine[] = _("MACHINE"); -const u8 gPCText_Simple[] = _("SIMPLE"); -const u8 gText_WhatWouldYouLikeToDo[] = _("What would you like to do?"); // Unused -const u8 gText_WithdrawPokemon[] = _("WITHDRAW POKéMON"); -const u8 gText_DepositPokemon[] = _("DEPOSIT POKéMON"); -const u8 gText_MovePokemon[] = _("MOVE POKéMON"); -const u8 gText_MoveItems[] = _("MOVE ITEMS"); -const u8 gText_SeeYa[] = _("SEE YA!"); -const u8 gText_WithdrawMonDescription[] = _("Move POKéMON stored in BOXES to\nyour party."); -const u8 gText_DepositMonDescription[] = _("Store POKéMON in your party in BOXES."); -const u8 gText_MoveMonDescription[] = _("Organize the POKéMON in BOXES and\nin your party."); -const u8 gText_MoveItemsDescription[] = _("Move items held by any POKéMON\nin a BOX or your party."); -const u8 gText_SeeYaDescription[] = _("Return to the previous menu."); -const u8 gText_JustOnePkmn[] = _("There is just one POKéMON with you."); -const u8 gText_PartyFull[] = _("Your party is full!"); -const u8 gText_Box[] = _("BOX"); const u8 gText_NatureSlash[] = _("NATURE/"); const u8 gText_InParty[] = _("IN PARTY"); const u8 gText_PokemonMaleLv[] = _("{DYNAMIC 0}{COLOR_HIGHLIGHT_SHADOW LIGHT_RED WHITE GREEN}♂{COLOR_HIGHLIGHT_SHADOW DARK_GRAY WHITE LIGHT_GRAY}/{LV}{DYNAMIC 1}"); // Unused From 59787d0c1357bfd1dd7f5fddfee21a42dd479fcb Mon Sep 17 00:00:00 2001 From: Sadfish the Sad Date: Thu, 5 Sep 2024 02:18:09 -0400 Subject: [PATCH 44/78] new terrain bgs (#5162) Toggled by B_NEW_TERRAIN_BACKGROUNDS --- .../backgrounds/new_electric_terrain.bin | Bin 0 -> 4096 bytes .../backgrounds/new_electric_terrain.pal | 19 +++++++ .../backgrounds/new_electric_terrain.png | Bin 0 -> 1242 bytes .../backgrounds/new_grassy_terrain.bin | Bin 0 -> 4096 bytes .../backgrounds/new_grassy_terrain.pal | 19 +++++++ .../backgrounds/new_grassy_terrain.png | Bin 0 -> 1057 bytes .../backgrounds/new_misty_terrain.bin | Bin 0 -> 4096 bytes .../backgrounds/new_misty_terrain.pal | 19 +++++++ .../backgrounds/new_misty_terrain.png | Bin 0 -> 1003 bytes .../backgrounds/new_psychic_terrain.bin | Bin 0 -> 4096 bytes .../backgrounds/new_psychic_terrain.pal | 19 +++++++ .../backgrounds/new_psychic_terrain.png | Bin 0 -> 1045 bytes src/graphics.c | 50 ++++++++++++------ 13 files changed, 110 insertions(+), 16 deletions(-) create mode 100644 graphics/battle_anims/backgrounds/new_electric_terrain.bin create mode 100644 graphics/battle_anims/backgrounds/new_electric_terrain.pal create mode 100644 graphics/battle_anims/backgrounds/new_electric_terrain.png create mode 100644 graphics/battle_anims/backgrounds/new_grassy_terrain.bin create mode 100644 graphics/battle_anims/backgrounds/new_grassy_terrain.pal create mode 100644 graphics/battle_anims/backgrounds/new_grassy_terrain.png create mode 100644 graphics/battle_anims/backgrounds/new_misty_terrain.bin create mode 100644 graphics/battle_anims/backgrounds/new_misty_terrain.pal create mode 100644 graphics/battle_anims/backgrounds/new_misty_terrain.png create mode 100644 graphics/battle_anims/backgrounds/new_psychic_terrain.bin create mode 100644 graphics/battle_anims/backgrounds/new_psychic_terrain.pal create mode 100644 graphics/battle_anims/backgrounds/new_psychic_terrain.png diff --git a/graphics/battle_anims/backgrounds/new_electric_terrain.bin b/graphics/battle_anims/backgrounds/new_electric_terrain.bin new file mode 100644 index 0000000000000000000000000000000000000000..581c331ea07bfcfd97f7efc985b8b73e0cfed1b0 GIT binary patch literal 4096 zcmeH}Nlz3(7>4`6Pv8gCbDM*pfGFx5Km=T24k{pHer zkR4oLe#HC;Pn=B!xl}T#N-CL5VDcn=sJu`2*I&B7Di_xZ4?9A{E+_om2Z4!ni*!9W1a;TSz=jR;}2F?WsP+< z*kp@scKFFJe)ET2_O!ku5{SgU*cXlk^1e2HEV!}<2YooaI{#PfdJ_xp7Ox@R0lVGT zwcLF@?R<*H430k|-ht!Vfxp6(NT&qT^`kax6Gfu&*+^zpe8Ok!%dCoD_>Fy;RSAfI zu`jbKRiet+msyoI(Pr$+tV&P>jeVI_afNH_%dCngJY!#GRYD?U?8~f5ScHvznN^Yh Ly(4V*e_Q__diO-u literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/new_electric_terrain.pal b/graphics/battle_anims/backgrounds/new_electric_terrain.pal new file mode 100644 index 0000000000..8741f4c6fa --- /dev/null +++ b/graphics/battle_anims/backgrounds/new_electric_terrain.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +237 28 36 +251 239 143 +247 228 69 +234 209 76 +222 186 48 +160 113 22 +255 255 16 +213 222 32 +255 255 255 +222 153 4 +222 171 55 +230 188 67 +247 210 69 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/backgrounds/new_electric_terrain.png b/graphics/battle_anims/backgrounds/new_electric_terrain.png new file mode 100644 index 0000000000000000000000000000000000000000..5ad234b1d32a201825eaed0a3a73e1b286d65934 GIT binary patch literal 1242 zcmV<01SR{4P)006iI0{{R3mSpV4=_vA(D(M;aDFraZ3 z|Njux-XQ<~|K6Dd-m5p}yhHcWMF0Q*00000007Au;n@HH00Cl4M@0Xn2lB-L00aI> zL_t(|ob6YOZQDQ$%?d?3fzt&VB?C0EkpZfc7O1Hkz?L!rb1QU(uFw@aRQb7IBFS-U zpg;gV*p@Ayo*sWk>gvj1Fc=I5gTY`h7z_r3!C){L3>~!%@s9nQ!{=`cbq^N+ytR^1I?jn1u3hbK2xv)uz&vQx3`xA#?K|!!*L)J)9!k zu{ua94v_nRf#Ijd*YNA zdeTVDAsJ34eP1@2(pVTuI6@{QZZBV%N|&T%NPcXW2tSi}pM+@)^2PB|{isY<2a_Z3 z7ko$#?20r{4Ze6Z%EKHUj*lF<8s|PFfqf;$zsS67UKZ??ANV&q8183;cg}&{8PzN- z`2vNd_Au~EQ^|ds5$>o?#cOn5xd>&c`qF#MP7H+-Io@mx**qsK8I8&1A_617^;raMQcxQzF$%p4h`8VOsJlw^shLVT<+R*+6VY3CN zQ#$BFz!-T!3g|emlo?^=3aRBDq?D}IAo9(F8U+p&4a2?{%J}eaU z5+U!04`6Pv8gCbDM*pfGFx5Km=T24k{pHer zkR4oLe#HC;Pn=B!xl}T#N-CL5VDcn=sJu`2*I&B7Di_xZ4?9A{E+_om2Z4!ni*!9W1a;TSz=jR;}2F?WsP+< z*kp@scKFFJe)ET2_O!ku5{SgU*cXlk^1e2HEV!}<2YooaI{#PfdJ_xp7Ox@R0lVGT zwcLF@?R<*H430k|-ht!Vfxp6(NT&qT^`kax6Gfu&*+^zpe8Ok!%dCoD_>Fy;RSAfI zu`jbKRiet+msyoI(Pr$+tV&P>jeVI_afNH_%dCngJY!#GRYD?U?8~f5ScHvznN^Yh Ly(4V*e_Q__diO-u literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/new_grassy_terrain.pal b/graphics/battle_anims/backgrounds/new_grassy_terrain.pal new file mode 100644 index 0000000000..8f90ee6e27 --- /dev/null +++ b/graphics/battle_anims/backgrounds/new_grassy_terrain.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +237 28 36 +185 255 175 +142 243 140 +56 177 78 +78 214 109 +48 126 26 +44 177 68 +65 206 48 +8 248 0 +24 189 2 +90 189 77 +97 210 101 +137 226 120 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/backgrounds/new_grassy_terrain.png b/graphics/battle_anims/backgrounds/new_grassy_terrain.png new file mode 100644 index 0000000000000000000000000000000000000000..ecc78fbaeb7ac5cbc64098ea696b8f47a30eb99b GIT binary patch literal 1057 zcmeAS@N?(olHy`uVBq!ia0vp^3xIeB3p0?Mmh$TbkYX?K^mS!_!6+%pWWMdnl0QHp z@eD4M{kJw_xn@&+4+?k55tra>ODg;z=ebY=f|3B$0G{5c-cf!Nv z>O!3^N)tU)a8kBY=G|Y(u%l+VoPfl#O+RYx^MpUQ_MchnEBwv4QF@#Ar%%%b7tHrO zw{7JKyG{DW#wj|P6MlB~Fou6;%M&mVdX^<4k#gir)t5_`)~Ba+$o%?xWxehF%Z(RJ z%nu%xD41)hn8_`fd{1iH`oFazCk@iyDF4d;`OPu zuNP&#er0{b#MU$F*;kByHWhgJ75)Xtk)cviYE zZ9&@lPQ`-M%86MS2}ifSUft^=P(G2Ty7~SYf96kXbx1HTFj>K!lN}j7 zhB`&^V>?GdD9OehNnGGRYX2K59piF#cgxEF-yo#mz}F+ zyN^u8Cew{uTMFZHt@2O1Ebj^HUAuHn9s5?t+Y(_F+}YMTr!MJ9hkBdNk=8aiDaD+6 zDe2h6(j6UnHasD(*L_JAW81!Q@0(m((*^y)W$V+5?Vl}N`&@YExy?_kw0YOunIYWX zthDHCzgrhG&&;jS%bJ)C&j|1xxh}>0)kAQ;S@%-D8$bTK$v$zv!?cHM;ngMcEOj4* zujeS(DVG;??qtHOD~U7NZpqoN?VXj#C=mPA&L{WFKYOFX_Rs5--1b+iHYlA{DvY#Z zncvSm_41+i38IJxj=RLXvDcz4zLuID;M!O#B~ YukN`mv~FVdQ&MBb@0M}~9!2kdN literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/new_misty_terrain.bin b/graphics/battle_anims/backgrounds/new_misty_terrain.bin new file mode 100644 index 0000000000000000000000000000000000000000..581c331ea07bfcfd97f7efc985b8b73e0cfed1b0 GIT binary patch literal 4096 zcmeH}Nlz3(7>4`6Pv8gCbDM*pfGFx5Km=T24k{pHer zkR4oLe#HC;Pn=B!xl}T#N-CL5VDcn=sJu`2*I&B7Di_xZ4?9A{E+_om2Z4!ni*!9W1a;TSz=jR;}2F?WsP+< z*kp@scKFFJe)ET2_O!ku5{SgU*cXlk^1e2HEV!}<2YooaI{#PfdJ_xp7Ox@R0lVGT zwcLF@?R<*H430k|-ht!Vfxp6(NT&qT^`kax6Gfu&*+^zpe8Ok!%dCoD_>Fy;RSAfI zu`jbKRiet+msyoI(Pr$+tV&P>jeVI_afNH_%dCngJY!#GRYD?U?8~f5ScHvznN^Yh Ly(4V*e_Q__diO-u literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/new_misty_terrain.pal b/graphics/battle_anims/backgrounds/new_misty_terrain.pal new file mode 100644 index 0000000000..a47ed5a7e7 --- /dev/null +++ b/graphics/battle_anims/backgrounds/new_misty_terrain.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +237 28 36 +253 242 242 +251 225 225 +255 210 226 +255 198 218 +255 181 206 +244 159 183 +247 187 187 +249 210 210 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/backgrounds/new_misty_terrain.png b/graphics/battle_anims/backgrounds/new_misty_terrain.png new file mode 100644 index 0000000000000000000000000000000000000000..5e46aa138eb7c5623f13d859dd9578810261ce9c GIT binary patch literal 1003 zcmeAS@N?(olHy`uVBq!ia0vp^3xIeB3p0?Mmh$TbkYX?K^mS!_!6+%pEcdpS_aab8 zyu>x4Bsf2yn2+B^)IMe(pdSV<4Nst3gv9NU@|l z`Z_W&Z0zU$lgJ9>8wB`-xW1K9`TOb9?}rcnUwZWa*scFt&wZJ{{rm3SKQCPZX~h6H zOiPaf1sRjP-Ch1KW&Z@^F!Ou5IEGZrc^iIl?PCRj8eN;E%>j-);fw)}3tF=uM(x;? zKfRT8_R){QOC~G5tvSN+II*nf@Q1HU12jaqTAdc+qPqGIeV;vp<9+@kX3ndJzr%5A zdfv2kW-ZsM{@iiyzOg}2V4K;S3x(#X7nV-awSBs_RPo82jglQJ$`gdE-*`JU^BdeXUuZx4$@Re%-^Cso-TPLT z>|EjE9^Rtz-bMc0*8Oummb`hm_J;Z7BXzu%U;Zr@6AYyKzYiJE}bHhoL^$m8ptc-?rmVxCy1@Wb4S{r5PnHU$)Y6;ZKM za}xGQNO3Y3=F?X_enpL;GjTRYY(nGiN$zi^`Tja8_C(^3PluRLdcEcug$?$*muEck zQWU#1-FJPV$&_UeCtVIo)J}0QeVL%)e_3jhlQY-+cK_3S-D$JhWIGRe@0@((#QYE` z&hHlAx?T&|r9OMLwfJQ1Gz;NFMpO1bEflzFr)M+osfF*f{ZDt_G@LeRwdb99*=3o( zc72`wr#_=BOC==v^S^wgdOd6AO{;ywI`1gY2OVga?s?BzaNA(&%Ue!OR zl_EbkaNXjJDd)8k4xZg=d@AVThU**M1b$AiEqSE4G?jBtU*b+y6OorkC-Kf-`0GQ2 z`S+@&Pi}nX$`;|X|E`$w{*zO;|M_{j{DQrGjO>T%x32E(kNOa93(7p6u6{1-oD!M< Dq29pd literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/new_psychic_terrain.bin b/graphics/battle_anims/backgrounds/new_psychic_terrain.bin new file mode 100644 index 0000000000000000000000000000000000000000..581c331ea07bfcfd97f7efc985b8b73e0cfed1b0 GIT binary patch literal 4096 zcmeH}Nlz3(7>4`6Pv8gCbDM*pfGFx5Km=T24k{pHer zkR4oLe#HC;Pn=B!xl}T#N-CL5VDcn=sJu`2*I&B7Di_xZ4?9A{E+_om2Z4!ni*!9W1a;TSz=jR;}2F?WsP+< z*kp@scKFFJe)ET2_O!ku5{SgU*cXlk^1e2HEV!}<2YooaI{#PfdJ_xp7Ox@R0lVGT zwcLF@?R<*H430k|-ht!Vfxp6(NT&qT^`kax6Gfu&*+^zpe8Ok!%dCoD_>Fy;RSAfI zu`jbKRiet+msyoI(Pr$+tV&P>jeVI_afNH_%dCngJY!#GRYD?U?8~f5ScHvznN^Yh Ly(4V*e_Q__diO-u literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/new_psychic_terrain.pal b/graphics/battle_anims/backgrounds/new_psychic_terrain.pal new file mode 100644 index 0000000000..dd492dc203 --- /dev/null +++ b/graphics/battle_anims/backgrounds/new_psychic_terrain.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +237 28 36 +213 206 232 +206 186 224 +203 168 232 +204 145 230 +192 87 219 +156 51 183 +111 36 130 +210 51 171 +247 4 107 +67 21 79 +203 113 225 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/backgrounds/new_psychic_terrain.png b/graphics/battle_anims/backgrounds/new_psychic_terrain.png new file mode 100644 index 0000000000000000000000000000000000000000..93b54a5e94d735c62547d10cd8a1a38194446269 GIT binary patch literal 1045 zcmeAS@N?(olHy`uVBq!ia0vp^3xIeB3p0?Mmh$TbkYX?K^mS!_!6+%p!m1G&^b05? zUg8>25}cn_Ql40p%HZzf0yIXUEVW3%SkI)eb;(1Z5{{ArKX;&vF_6vR)u1U4q*&4& zeH|GXHuiJ>Nn{1`4FY^ZT;Iy5Ts`;V+^z?wSG+hg@!5g!+jES!=c_bbGG6_iCEHol z|8yb9JUBQLaV`zWVNCLNclp1R{nJqf24+i77srr_Id7-^&An|PaCEcNMZXCpjV>=4 zeCKe!s%Y+5^?$wJR|d{44XnBXOfd^jf0gT>rqNxLvsxqJftQt|# zK`TSFa8r6-^V70YDr|$rGge5RGrz*~Tso`mGwdq+hfxz5+85M>x}Qwje5MQZONslcN3pfuUxyvd|Ly%&(EiG zYqh>TR9~a5C&Ir%YUSsT6Bg?CJ4o{EJh1ET1pS`c8$GYCMf7O%H6-kub55YHZBD?Z z#G`Sp-i@=8Q#P+U`|-4?9D~1wUn+;ao|lH?b#cWj29KZIn!})z{PTD83d2MW`!0>Z zCA`Ux%dVI<>^xxb%)C%Wx{g(UyMRNQd+y)a0adTOj$Qjd**}%{Rl7@@f5v*7674Gs z4zWD(WAVDr6%g$6w@JdiP2+>Q>y(AtJ%kU)mYTm?A^7<4i4W4^9qQ)4ue{jmnxE^@ zsA;&Zc746A{eKC`rX7yKt-D@Uy=B_UZEUsV!OFP-n;#lwX8gK0tM8Vl{@mUw*%j9l z=a{ea8XUU-UIJdoWy_0!-4 z-o4E|ZYlq(4z7OjQ~M1L|DW>kW9&2gl>a4ibqN)}yd)*v0(-7~y0Y}|w-r48ySMPK z@{ycZn>pXW=Km!-qc4hc$}{Jm`*6qmx5%e8-qnW+?k%mo|3QD+p(8I=PhRl@l)XG% L{an^LB{Ts56Kma3 literal 0 HcmV?d00001 diff --git a/src/graphics.c b/src/graphics.c index 8df7055bd8..e032cf054f 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -1445,10 +1445,6 @@ const u32 gBattleAnimBgTilemap_ClangorousSoulblaze[] = INCBIN_U32("graphics/batt const u32 gBattleAnimBgPalette_DynamaxCannon[] = INCBIN_U32("graphics/battle_anims/backgrounds/dynamax_cannon.gbapal.lz"); -const u32 gBattleAnimBgImage_ElectricTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/electric_terrain.4bpp.lz"); -const u32 gBattleAnimBgPalette_ElectricTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/electric_terrain.gbapal.lz"); -const u32 gBattleAnimBgTilemap_ElectricTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/electric_terrain.bin.lz"); - const u32 gBattleAnimBgImage_Fire1[] = INCBIN_U32("graphics/battle_anims/backgrounds/fire1.4bpp.lz"); const u32 gBattleAnimBgPalette_Fire1[] = INCBIN_U32("graphics/battle_anims/backgrounds/fire1.gbapal.lz"); const u32 gBattleAnimBgTilemap_Fire1[] = INCBIN_U32("graphics/battle_anims/backgrounds/fire1.bin.lz"); @@ -1461,10 +1457,6 @@ const u32 gBattleAnimBgTilemap_FocusBlast[] = INCBIN_U32("graphics/battle_anims/ const u32 gBattleAnimBgPalette_GarbageFalls[] = INCBIN_U32("graphics/battle_anims/backgrounds/garbage_falls.gbapal.lz"); -const u32 gBattleAnimBgImage_GrassyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/grassy_terrain.4bpp.lz"); -const u32 gBattleAnimBgPalette_GrassyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/grassy_terrain.gbapal.lz"); -const u32 gBattleAnimBgTilemap_GrassyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/grassy_terrain.bin.lz"); - const u32 gBattleAnimBgPalette_GunkShot[] = INCBIN_U32("graphics/battle_anims/backgrounds/gunk_shot.gbapal.lz"); const u32 gBattleAnimBgImage_HydroCannon[] = INCBIN_U32("graphics/battle_anims/backgrounds/hydro_cannon.4bpp.lz"); @@ -1496,14 +1488,44 @@ const u32 gBattleAnimBgImage_MaxLightning[] = INCBIN_U32("graphics/battle_anims/ const u32 gBattleAnimBgPalette_MaxLightning[] = INCBIN_U32("graphics/battle_anims/backgrounds/max_lightning.gbapal.lz"); const u32 gBattleAnimBgTilemap_MaxLightning[] = INCBIN_U32("graphics/battle_anims/backgrounds/max_lightning.bin.lz"); -const u32 gBattleAnimBgImage_MistyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/misty_terrain.4bpp.lz"); -const u32 gBattleAnimBgPalette_MistyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/misty_terrain.gbapal.lz"); -const u32 gBattleAnimBgTilemap_MistyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/misty_terrain.bin.lz"); - const u32 gBattleAnimBgImage_NeverendingNightmare[] = INCBIN_U32("graphics/battle_anims/backgrounds/neverending_nightmare.4bpp.lz"); const u32 gBattleAnimBgPalette_NeverendingNightmare[] = INCBIN_U32("graphics/battle_anims/backgrounds/neverending_nightmare.gbapal.lz"); const u32 gBattleAnimBgTilemap_NeverendingNightmare[] = INCBIN_U32("graphics/battle_anims/backgrounds/neverending_nightmare.bin.lz"); +#if B_NEW_TERRAIN_BACKGROUNDS +const u32 gBattleAnimBgImage_ElectricTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_electric_terrain.4bpp.lz"); +const u32 gBattleAnimBgPalette_ElectricTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_electric_terrain.gbapal.lz"); +const u32 gBattleAnimBgTilemap_ElectricTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_electric_terrain.bin.lz"); + +const u32 gBattleAnimBgImage_GrassyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_grassy_terrain.4bpp.lz"); +const u32 gBattleAnimBgPalette_GrassyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_grassy_terrain.gbapal.lz"); +const u32 gBattleAnimBgTilemap_GrassyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_grassy_terrain.bin.lz"); + +const u32 gBattleAnimBgImage_MistyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_misty_terrain.4bpp.lz"); +const u32 gBattleAnimBgPalette_MistyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_misty_terrain.gbapal.lz"); +const u32 gBattleAnimBgTilemap_MistyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_misty_terrain.bin.lz"); + +const u32 gBattleAnimBgImage_PsychicTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_psychic_terrain.4bpp.lz"); +const u32 gBattleAnimBgPalette_PsychicTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_psychic_terrain.gbapal.lz"); +const u32 gBattleAnimBgTilemap_PsychicTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/new_psychic_terrain.bin.lz"); +#else +const u32 gBattleAnimBgImage_PsychicTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic_terrain.4bpp.lz"); +const u32 gBattleAnimBgPalette_PsychicTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic_terrain.gbapal.lz"); +const u32 gBattleAnimBgTilemap_PsychicTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic_terrain.bin.lz"); + +const u32 gBattleAnimBgImage_ElectricTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/electric_terrain.4bpp.lz"); +const u32 gBattleAnimBgPalette_ElectricTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/electric_terrain.gbapal.lz"); +const u32 gBattleAnimBgTilemap_ElectricTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/electric_terrain.bin.lz"); + +const u32 gBattleAnimBgImage_GrassyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/grassy_terrain.4bpp.lz"); +const u32 gBattleAnimBgPalette_GrassyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/grassy_terrain.gbapal.lz"); +const u32 gBattleAnimBgTilemap_GrassyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/grassy_terrain.bin.lz"); + +const u32 gBattleAnimBgImage_MistyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/misty_terrain.4bpp.lz"); +const u32 gBattleAnimBgPalette_MistyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/misty_terrain.gbapal.lz"); +const u32 gBattleAnimBgTilemap_MistyTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/misty_terrain.bin.lz"); +#endif + const u32 gBattleAnimBgImage_Nightmare[] = INCBIN_U32("graphics/battle_anims/backgrounds/nightmare.4bpp.lz"); const u32 gBattleAnimBgPalette_Nightmare[] = INCBIN_U32("graphics/battle_anims/backgrounds/nightmare.gbapal.lz"); const u32 gBattleAnimBgTilemap_Nightmare[] = INCBIN_U32("graphics/battle_anims/backgrounds/nightmare.bin.lz"); @@ -1512,10 +1534,6 @@ const u32 gBattleAnimBgPalette_PoisonFalls[] = INCBIN_U32("graphics/battle_anims const u32 gBattleAnimBgPalette_PsychicNew[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic_new.gbapal.lz"); -const u32 gBattleAnimBgImage_PsychicTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic_terrain.4bpp.lz"); -const u32 gBattleAnimBgPalette_PsychicTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic_terrain.gbapal.lz"); -const u32 gBattleAnimBgTilemap_PsychicTerrain[] = INCBIN_U32("graphics/battle_anims/backgrounds/psychic_terrain.bin.lz"); - const u32 gBattleAnimBgImage_ShatteredPsyche[] = INCBIN_U32("graphics/battle_anims/backgrounds/shattered_psyche.4bpp.lz"); const u32 gBattleAnimBgPalette_ShatteredPsyche[] = INCBIN_U32("graphics/battle_anims/backgrounds/shattered_psyche.gbapal.lz"); const u32 gBattleAnimBgTilemap_ShatteredPsyche[] = INCBIN_U32("graphics/battle_anims/backgrounds/shattered_psyche.bin.lz"); From ff72723464be032b3f576dfce3c80cfdfe538772 Mon Sep 17 00:00:00 2001 From: ghoulslash <41651341+ghoulslash@users.noreply.github.com> Date: Thu, 5 Sep 2024 14:51:13 -0400 Subject: [PATCH 45/78] Fix Cmd_trainerslidein/out (#5326) * fix Cmd_trainerslidein battler Id * GetBattlerForBattleScript in trainerslideout --------- Co-authored-by: ghoulslash --- src/battle_script_commands.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 9d8c0d4491..3f483c9ea7 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7439,7 +7439,7 @@ static void Cmd_trainerslidein(void) { CMD_ARGS(u8 battler); - u32 battler = GetBattlerAtPosition(cmd->battler); + u32 battler = GetBattlerForBattleScript(cmd->battler); BtlController_EmitTrainerSlide(battler, BUFFER_A); MarkBattlerForControllerExec(battler); @@ -15647,7 +15647,7 @@ static void Cmd_trainerslideout(void) { CMD_ARGS(u8 position); - u32 battler = GetBattlerAtPosition(cmd->position); + u32 battler = GetBattlerForBattleScript(cmd->position); BtlController_EmitTrainerSlideBack(battler, BUFFER_A); MarkBattlerForControllerExec(battler); From e9c0784dc09b4e37862cca81ef48ac2804ca61e1 Mon Sep 17 00:00:00 2001 From: Liamjd14 Date: Thu, 5 Sep 2024 21:31:14 +0100 Subject: [PATCH 46/78] Gen 9 Follower pokemon sprites (#5304) * Gen 9 Follower Sprites --- graphics/pokemon/annihilape/overworld.png | Bin 0 -> 1259 bytes .../pokemon/annihilape/overworld_normal.pal | 19 + .../pokemon/annihilape/overworld_shiny.pal | 19 + graphics/pokemon/arboliva/overworld.png | Bin 0 -> 892 bytes .../pokemon/arboliva/overworld_normal.pal | 19 + graphics/pokemon/arboliva/overworld_shiny.pal | 19 + graphics/pokemon/archaludon/overworld.png | Bin 0 -> 1278 bytes .../pokemon/archaludon/overworld_normal.pal | 19 + .../pokemon/archaludon/overworld_shiny.pal | 19 + graphics/pokemon/arctibax/overworld.png | Bin 0 -> 647 bytes .../pokemon/arctibax/overworld_normal.pal | 19 + graphics/pokemon/arctibax/overworld_shiny.pal | 19 + graphics/pokemon/armarouge/overworld.png | Bin 0 -> 1009 bytes .../pokemon/armarouge/overworld_normal.pal | 19 + .../pokemon/armarouge/overworld_shiny.pal | 19 + graphics/pokemon/baxcalibur/overworld.png | Bin 0 -> 1143 bytes .../pokemon/baxcalibur/overworld_normal.pal | 19 + .../pokemon/baxcalibur/overworld_shiny.pal | 19 + graphics/pokemon/bellibolt/overworld.png | Bin 0 -> 551 bytes .../pokemon/bellibolt/overworld_normal.pal | 19 + .../pokemon/bellibolt/overworld_shiny.pal | 19 + graphics/pokemon/bombirdier/overworld.png | Bin 0 -> 1213 bytes .../pokemon/bombirdier/overworld_normal.pal | 19 + .../pokemon/bombirdier/overworld_shiny.pal | 19 + graphics/pokemon/brambleghast/overworld.png | Bin 0 -> 812 bytes .../pokemon/brambleghast/overworld_normal.pal | 19 + .../pokemon/brambleghast/overworld_shiny.pal | 19 + graphics/pokemon/bramblin/overworld.png | Bin 0 -> 491 bytes .../pokemon/bramblin/overworld_normal.pal | 19 + graphics/pokemon/bramblin/overworld_shiny.pal | 19 + graphics/pokemon/brute_bonnet/overworld.png | Bin 0 -> 971 bytes .../pokemon/brute_bonnet/overworld_normal.pal | 19 + .../pokemon/brute_bonnet/overworld_shiny.pal | 19 + graphics/pokemon/capsakid/overworld.png | Bin 0 -> 519 bytes .../pokemon/capsakid/overworld_normal.pal | 19 + graphics/pokemon/capsakid/overworld_shiny.pal | 19 + graphics/pokemon/ceruledge/overworld.png | Bin 0 -> 919 bytes .../pokemon/ceruledge/overworld_normal.pal | 19 + .../pokemon/ceruledge/overworld_shiny.pal | 19 + graphics/pokemon/cetitan/overworld.png | Bin 0 -> 969 bytes graphics/pokemon/cetitan/overworld_normal.pal | 19 + graphics/pokemon/cetitan/overworld_shiny.pal | 19 + graphics/pokemon/cetoddle/overworld.png | Bin 0 -> 566 bytes .../pokemon/cetoddle/overworld_normal.pal | 19 + graphics/pokemon/cetoddle/overworld_shiny.pal | 19 + graphics/pokemon/charcadet/overworld.png | Bin 0 -> 717 bytes .../pokemon/charcadet/overworld_normal.pal | 19 + .../pokemon/charcadet/overworld_shiny.pal | 19 + graphics/pokemon/chi_yu/overworld.png | Bin 0 -> 780 bytes graphics/pokemon/chi_yu/overworld_normal.pal | 19 + graphics/pokemon/chi_yu/overworld_shiny.pal | 19 + graphics/pokemon/chien_pao/overworld.png | Bin 0 -> 1074 bytes .../pokemon/chien_pao/overworld_normal.pal | 19 + .../pokemon/chien_pao/overworld_shiny.pal | 19 + graphics/pokemon/crocalor/overworld.png | Bin 0 -> 722 bytes .../pokemon/crocalor/overworld_normal.pal | 19 + graphics/pokemon/crocalor/overworld_shiny.pal | 19 + graphics/pokemon/cyclizar/overworld.png | Bin 0 -> 723 bytes .../pokemon/cyclizar/overworld_normal.pal | 19 + graphics/pokemon/cyclizar/overworld_shiny.pal | 19 + graphics/pokemon/dachsbun/overworld.png | Bin 0 -> 824 bytes .../pokemon/dachsbun/overworld_normal.pal | 19 + graphics/pokemon/dachsbun/overworld_shiny.pal | 19 + graphics/pokemon/dipplin/overworld.png | Bin 0 -> 764 bytes graphics/pokemon/dipplin/overworld_normal.pal | 19 + graphics/pokemon/dipplin/overworld_shiny.pal | 19 + graphics/pokemon/dolliv/overworld.png | Bin 0 -> 653 bytes graphics/pokemon/dolliv/overworld_normal.pal | 19 + graphics/pokemon/dolliv/overworld_shiny.pal | 19 + graphics/pokemon/dondozo/overworld.png | Bin 0 -> 1929 bytes graphics/pokemon/dondozo/overworld_normal.pal | 19 + graphics/pokemon/dondozo/overworld_shiny.pal | 19 + graphics/pokemon/dudunsparce/overworld.png | Bin 0 -> 926 bytes .../pokemon/dudunsparce/overworld_normal.pal | 19 + .../pokemon/dudunsparce/overworld_shiny.pal | 19 + .../dudunsparce/three_segment/overworld.png | Bin 0 -> 1089 bytes .../three_segment/overworld_normal.pal | 19 + .../three_segment/overworld_shiny.pal | 19 + graphics/pokemon/espathra/overworld.png | Bin 0 -> 1138 bytes .../pokemon/espathra/overworld_normal.pal | 19 + graphics/pokemon/espathra/overworld_shiny.pal | 19 + graphics/pokemon/farigiraf/overworld.png | Bin 0 -> 853 bytes .../pokemon/farigiraf/overworld_normal.pal | 19 + .../pokemon/farigiraf/overworld_shiny.pal | 19 + graphics/pokemon/fezandipiti/overworld.png | Bin 0 -> 951 bytes .../pokemon/fezandipiti/overworld_normal.pal | 19 + .../pokemon/fezandipiti/overworld_shiny.pal | 19 + graphics/pokemon/fidough/overworld.png | Bin 0 -> 582 bytes graphics/pokemon/fidough/overworld_normal.pal | 19 + graphics/pokemon/fidough/overworld_shiny.pal | 19 + graphics/pokemon/finizen/overworld.png | Bin 0 -> 740 bytes graphics/pokemon/finizen/overworld_normal.pal | 19 + graphics/pokemon/finizen/overworld_shiny.pal | 19 + graphics/pokemon/flamigo/overworld.png | Bin 0 -> 662 bytes graphics/pokemon/flamigo/overworld_normal.pal | 19 + graphics/pokemon/flamigo/overworld_shiny.pal | 19 + graphics/pokemon/flittle/overworld.png | Bin 0 -> 554 bytes graphics/pokemon/flittle/overworld_normal.pal | 19 + graphics/pokemon/flittle/overworld_shiny.pal | 19 + graphics/pokemon/floragato/overworld.png | Bin 0 -> 738 bytes .../pokemon/floragato/overworld_normal.pal | 19 + .../pokemon/floragato/overworld_shiny.pal | 19 + graphics/pokemon/flutter_mane/overworld.png | Bin 0 -> 931 bytes .../pokemon/flutter_mane/overworld_normal.pal | 19 + .../pokemon/flutter_mane/overworld_shiny.pal | 19 + graphics/pokemon/frigibax/overworld.png | Bin 0 -> 503 bytes .../pokemon/frigibax/overworld_normal.pal | 19 + graphics/pokemon/frigibax/overworld_shiny.pal | 19 + graphics/pokemon/fuecoco/overworld.png | Bin 0 -> 591 bytes graphics/pokemon/fuecoco/overworld_normal.pal | 19 + graphics/pokemon/fuecoco/overworld_shiny.pal | 19 + graphics/pokemon/garganacl/overworld.png | Bin 0 -> 1009 bytes .../pokemon/garganacl/overworld_normal.pal | 19 + .../pokemon/garganacl/overworld_shiny.pal | 19 + graphics/pokemon/gholdengo/overworld.png | Bin 0 -> 906 bytes .../pokemon/gholdengo/overworld_normal.pal | 19 + .../pokemon/gholdengo/overworld_shiny.pal | 19 + graphics/pokemon/gimmighoul/overworld.png | Bin 0 -> 648 bytes .../pokemon/gimmighoul/overworld_normal.pal | 19 + .../pokemon/gimmighoul/overworld_shiny.pal | 19 + graphics/pokemon/glimmet/overworld.png | Bin 0 -> 539 bytes graphics/pokemon/glimmet/overworld_normal.pal | 19 + graphics/pokemon/glimmet/overworld_shiny.pal | 19 + graphics/pokemon/glimmora/overworld.png | Bin 0 -> 891 bytes .../pokemon/glimmora/overworld_normal.pal | 19 + graphics/pokemon/glimmora/overworld_shiny.pal | 19 + graphics/pokemon/gouging_fire/overworld.png | Bin 0 -> 1141 bytes .../pokemon/gouging_fire/overworld_normal.pal | 19 + .../pokemon/gouging_fire/overworld_shiny.pal | 19 + graphics/pokemon/grafaiai/overworld.png | Bin 0 -> 751 bytes .../pokemon/grafaiai/overworld_normal.pal | 19 + graphics/pokemon/grafaiai/overworld_shiny.pal | 19 + graphics/pokemon/great_tusk/overworld.png | Bin 0 -> 855 bytes .../pokemon/great_tusk/overworld_normal.pal | 19 + .../pokemon/great_tusk/overworld_shiny.pal | 19 + graphics/pokemon/greavard/overworld.png | Bin 0 -> 806 bytes .../pokemon/greavard/overworld_normal.pal | 19 + graphics/pokemon/greavard/overworld_shiny.pal | 19 + graphics/pokemon/houndstone/overworld.png | Bin 0 -> 1043 bytes .../pokemon/houndstone/overworld_normal.pal | 19 + .../pokemon/houndstone/overworld_shiny.pal | 19 + graphics/pokemon/hydrapple/overworld.png | Bin 0 -> 2096 bytes .../pokemon/hydrapple/overworld_normal.pal | 19 + .../pokemon/hydrapple/overworld_shiny.pal | 19 + graphics/pokemon/iron_boulder/overworld.png | Bin 0 -> 1105 bytes .../pokemon/iron_boulder/overworld_normal.pal | 19 + .../pokemon/iron_boulder/overworld_shiny.pal | 19 + graphics/pokemon/iron_bundle/overworld.png | Bin 0 -> 697 bytes .../pokemon/iron_bundle/overworld_normal.pal | 19 + .../pokemon/iron_bundle/overworld_shiny.pal | 19 + graphics/pokemon/iron_crown/overworld.png | Bin 0 -> 1012 bytes .../pokemon/iron_crown/overworld_normal.pal | 19 + .../pokemon/iron_crown/overworld_shiny.pal | 19 + graphics/pokemon/iron_hands/overworld.png | Bin 0 -> 1153 bytes .../pokemon/iron_hands/overworld_normal.pal | 19 + .../pokemon/iron_hands/overworld_shiny.pal | 19 + graphics/pokemon/iron_jugulis/overworld.png | Bin 0 -> 1513 bytes .../pokemon/iron_jugulis/overworld_normal.pal | 19 + .../pokemon/iron_jugulis/overworld_shiny.pal | 19 + graphics/pokemon/iron_leaves/overworld.png | Bin 0 -> 1012 bytes .../pokemon/iron_leaves/overworld_normal.pal | 19 + .../pokemon/iron_leaves/overworld_shiny.pal | 19 + graphics/pokemon/iron_moth/overworld.png | Bin 0 -> 1154 bytes .../pokemon/iron_moth/overworld_normal.pal | 19 + .../pokemon/iron_moth/overworld_shiny.pal | 19 + graphics/pokemon/iron_thorns/overworld.png | Bin 0 -> 1020 bytes .../pokemon/iron_thorns/overworld_normal.pal | 19 + .../pokemon/iron_thorns/overworld_shiny.pal | 19 + graphics/pokemon/iron_treads/overworld.png | Bin 0 -> 846 bytes .../pokemon/iron_treads/overworld_normal.pal | 19 + .../pokemon/iron_treads/overworld_shiny.pal | 19 + graphics/pokemon/iron_valiant/overworld.png | Bin 0 -> 981 bytes .../pokemon/iron_valiant/overworld_normal.pal | 19 + .../pokemon/iron_valiant/overworld_shiny.pal | 19 + graphics/pokemon/kilowattrel/overworld.png | Bin 0 -> 1109 bytes .../pokemon/kilowattrel/overworld_normal.pal | 19 + .../pokemon/kilowattrel/overworld_shiny.pal | 19 + graphics/pokemon/kingambit/overworld.png | Bin 0 -> 1495 bytes .../pokemon/kingambit/overworld_normal.pal | 19 + .../pokemon/kingambit/overworld_shiny.pal | 19 + graphics/pokemon/klawf/overworld.png | Bin 0 -> 852 bytes graphics/pokemon/klawf/overworld_normal.pal | 19 + graphics/pokemon/klawf/overworld_shiny.pal | 19 + graphics/pokemon/koraidon/overworld.png | Bin 0 -> 2428 bytes .../pokemon/koraidon/overworld_normal.pal | 19 + graphics/pokemon/koraidon/overworld_shiny.pal | 19 + graphics/pokemon/lechonk/overworld.png | Bin 0 -> 457 bytes graphics/pokemon/lechonk/overworld_normal.pal | 19 + graphics/pokemon/lechonk/overworld_shiny.pal | 19 + graphics/pokemon/lokix/overworld.png | Bin 0 -> 956 bytes graphics/pokemon/lokix/overworld_normal.pal | 19 + graphics/pokemon/lokix/overworld_shiny.pal | 19 + graphics/pokemon/mabosstiff/overworld.png | Bin 0 -> 891 bytes .../pokemon/mabosstiff/overworld_normal.pal | 19 + .../pokemon/mabosstiff/overworld_shiny.pal | 19 + graphics/pokemon/maschiff/overworld.png | Bin 0 -> 642 bytes .../pokemon/maschiff/overworld_normal.pal | 19 + graphics/pokemon/maschiff/overworld_shiny.pal | 19 + graphics/pokemon/maushold/four/overworld.png | Bin 0 -> 759 bytes .../maushold/four/overworld_normal.pal | 19 + .../pokemon/maushold/four/overworld_shiny.pal | 19 + graphics/pokemon/maushold/overworld.png | Bin 0 -> 724 bytes .../pokemon/maushold/overworld_normal.pal | 19 + graphics/pokemon/maushold/overworld_shiny.pal | 19 + graphics/pokemon/meowscarada/overworld.png | Bin 0 -> 925 bytes .../pokemon/meowscarada/overworld_normal.pal | 19 + .../pokemon/meowscarada/overworld_shiny.pal | 19 + graphics/pokemon/miraidon/overworld.png | Bin 0 -> 1927 bytes .../pokemon/miraidon/overworld_normal.pal | 19 + graphics/pokemon/miraidon/overworld_shiny.pal | 19 + graphics/pokemon/munkidori/overworld.png | Bin 0 -> 776 bytes .../pokemon/munkidori/overworld_normal.pal | 19 + .../pokemon/munkidori/overworld_shiny.pal | 19 + graphics/pokemon/nacli/overworld.png | Bin 0 -> 480 bytes graphics/pokemon/nacli/overworld_normal.pal | 19 + graphics/pokemon/nacli/overworld_shiny.pal | 19 + graphics/pokemon/naclstack/overworld.png | Bin 0 -> 672 bytes .../pokemon/naclstack/overworld_normal.pal | 19 + .../pokemon/naclstack/overworld_shiny.pal | 19 + graphics/pokemon/nymble/overworld.png | Bin 0 -> 605 bytes graphics/pokemon/nymble/overworld_normal.pal | 19 + graphics/pokemon/nymble/overworld_shiny.pal | 19 + .../pokemon/ogerpon/cornerstone/overworld.png | Bin 0 -> 998 bytes .../ogerpon/cornerstone/overworld_normal.pal | 19 + .../ogerpon/cornerstone/overworld_shiny.pal | 19 + .../pokemon/ogerpon/hearthflame/overworld.png | Bin 0 -> 1022 bytes .../ogerpon/hearthflame/overworld_normal.pal | 19 + .../ogerpon/hearthflame/overworld_shiny.pal | 19 + graphics/pokemon/ogerpon/overworld.png | Bin 0 -> 1000 bytes graphics/pokemon/ogerpon/overworld_normal.pal | 19 + graphics/pokemon/ogerpon/overworld_shiny.pal | 19 + .../pokemon/ogerpon/wellspring/overworld.png | Bin 0 -> 939 bytes .../ogerpon/wellspring/overworld_normal.pal | 19 + .../ogerpon/wellspring/overworld_shiny.pal | 19 + .../pokemon/oinkologne/female/overworld.png | Bin 0 -> 597 bytes .../oinkologne/female/overworld_normal.pal | 19 + .../oinkologne/female/overworld_shiny.pal | 19 + graphics/pokemon/oinkologne/overworld.png | Bin 0 -> 590 bytes .../pokemon/oinkologne/overworld_normal.pal | 19 + .../pokemon/oinkologne/overworld_shiny.pal | 19 + graphics/pokemon/okidogi/overworld.png | Bin 0 -> 1236 bytes graphics/pokemon/okidogi/overworld_normal.pal | 19 + graphics/pokemon/okidogi/overworld_shiny.pal | 19 + graphics/pokemon/orthworm/overworld.png | Bin 0 -> 1149 bytes .../pokemon/orthworm/overworld_normal.pal | 19 + graphics/pokemon/orthworm/overworld_shiny.pal | 19 + graphics/pokemon/palafin/hero/overworld.png | Bin 0 -> 1104 bytes .../pokemon/palafin/hero/overworld_normal.pal | 19 + .../pokemon/palafin/hero/overworld_shiny.pal | 19 + graphics/pokemon/palafin/overworld.png | Bin 0 -> 751 bytes graphics/pokemon/palafin/overworld_normal.pal | 19 + graphics/pokemon/palafin/overworld_shiny.pal | 19 + graphics/pokemon/pawmi/overworld.png | Bin 0 -> 583 bytes graphics/pokemon/pawmi/overworld_normal.pal | 19 + graphics/pokemon/pawmi/overworld_shiny.pal | 19 + graphics/pokemon/pawmo/overworld.png | Bin 0 -> 635 bytes graphics/pokemon/pawmo/overworld_normal.pal | 19 + graphics/pokemon/pawmo/overworld_shiny.pal | 19 + graphics/pokemon/pawmot/overworld.png | Bin 0 -> 726 bytes graphics/pokemon/pawmot/overworld_normal.pal | 19 + graphics/pokemon/pawmot/overworld_shiny.pal | 19 + graphics/pokemon/pecharunt/overworld.png | Bin 0 -> 832 bytes .../pokemon/pecharunt/overworld_normal.pal | 19 + .../pokemon/pecharunt/overworld_shiny.pal | 19 + graphics/pokemon/poltchageist/overworld.png | Bin 0 -> 721 bytes .../pokemon/poltchageist/overworld_normal.pal | 19 + .../pokemon/poltchageist/overworld_shiny.pal | 19 + graphics/pokemon/quaquaval/overworld.png | Bin 0 -> 1139 bytes .../pokemon/quaquaval/overworld_normal.pal | 19 + .../pokemon/quaquaval/overworld_shiny.pal | 19 + graphics/pokemon/quaxly/overworld.png | Bin 0 -> 548 bytes graphics/pokemon/quaxly/overworld_normal.pal | 19 + graphics/pokemon/quaxly/overworld_shiny.pal | 19 + graphics/pokemon/quaxwell/overworld.png | Bin 0 -> 674 bytes .../pokemon/quaxwell/overworld_normal.pal | 19 + graphics/pokemon/quaxwell/overworld_shiny.pal | 19 + graphics/pokemon/rabsca/overworld.png | Bin 0 -> 869 bytes graphics/pokemon/rabsca/overworld_normal.pal | 19 + graphics/pokemon/rabsca/overworld_shiny.pal | 19 + graphics/pokemon/raging_bolt/overworld.png | Bin 0 -> 1792 bytes .../pokemon/raging_bolt/overworld_normal.pal | 19 + .../pokemon/raging_bolt/overworld_shiny.pal | 19 + graphics/pokemon/rellor/overworld.png | Bin 0 -> 772 bytes graphics/pokemon/rellor/overworld_normal.pal | 19 + graphics/pokemon/rellor/overworld_shiny.pal | 19 + graphics/pokemon/revavroom/overworld.png | Bin 0 -> 1063 bytes .../pokemon/revavroom/overworld_normal.pal | 19 + .../pokemon/revavroom/overworld_shiny.pal | 19 + graphics/pokemon/roaring_moon/overworld.png | Bin 0 -> 1109 bytes .../pokemon/roaring_moon/overworld_normal.pal | 19 + .../pokemon/roaring_moon/overworld_shiny.pal | 19 + graphics/pokemon/sandy_shocks/overworld.png | Bin 0 -> 1118 bytes .../pokemon/sandy_shocks/overworld_normal.pal | 19 + .../pokemon/sandy_shocks/overworld_shiny.pal | 19 + graphics/pokemon/scovillain/overworld.png | Bin 0 -> 1037 bytes .../pokemon/scovillain/overworld_normal.pal | 19 + .../pokemon/scovillain/overworld_shiny.pal | 19 + graphics/pokemon/scream_tail/overworld.png | Bin 0 -> 670 bytes .../pokemon/scream_tail/overworld_normal.pal | 19 + .../pokemon/scream_tail/overworld_shiny.pal | 19 + graphics/pokemon/shroodle/overworld.png | Bin 0 -> 504 bytes .../pokemon/shroodle/overworld_normal.pal | 19 + graphics/pokemon/shroodle/overworld_shiny.pal | 19 + graphics/pokemon/sinistcha/overworld.png | Bin 0 -> 681 bytes .../pokemon/sinistcha/overworld_normal.pal | 19 + .../pokemon/sinistcha/overworld_shiny.pal | 19 + graphics/pokemon/skeledirge/overworld.png | Bin 0 -> 1136 bytes .../pokemon/skeledirge/overworld_normal.pal | 19 + .../pokemon/skeledirge/overworld_shiny.pal | 19 + graphics/pokemon/slither_wing/overworld.png | Bin 0 -> 1056 bytes .../pokemon/slither_wing/overworld_normal.pal | 19 + .../pokemon/slither_wing/overworld_shiny.pal | 19 + graphics/pokemon/smoliv/overworld.png | Bin 0 -> 400 bytes graphics/pokemon/smoliv/overworld_normal.pal | 19 + graphics/pokemon/smoliv/overworld_shiny.pal | 19 + graphics/pokemon/spidops/overworld.png | Bin 0 -> 747 bytes graphics/pokemon/spidops/overworld_normal.pal | 19 + graphics/pokemon/spidops/overworld_shiny.pal | 19 + graphics/pokemon/sprigatito/overworld.png | Bin 0 -> 696 bytes .../pokemon/sprigatito/overworld_normal.pal | 19 + .../pokemon/sprigatito/overworld_shiny.pal | 19 + .../squawkabilly/blue_plumage/overworld.png | Bin 0 -> 893 bytes .../blue_plumage/overworld_normal.pal | 19 + .../blue_plumage/overworld_shiny.pal | 19 + graphics/pokemon/squawkabilly/overworld.png | Bin 0 -> 893 bytes .../pokemon/squawkabilly/overworld_normal.pal | 19 + .../pokemon/squawkabilly/overworld_shiny.pal | 19 + .../squawkabilly/white_plumage/overworld.png | Bin 0 -> 893 bytes .../white_plumage/overworld_normal.pal | 19 + .../white_plumage/overworld_shiny.pal | 19 + .../squawkabilly/yellow_plumage/overworld.png | Bin 0 -> 893 bytes .../yellow_plumage/overworld_normal.pal | 19 + .../yellow_plumage/overworld_shiny.pal | 19 + graphics/pokemon/tadbulb/overworld.png | Bin 0 -> 400 bytes graphics/pokemon/tadbulb/overworld_normal.pal | 19 + graphics/pokemon/tadbulb/overworld_shiny.pal | 19 + graphics/pokemon/tandemaus/overworld.png | Bin 0 -> 648 bytes .../pokemon/tandemaus/overworld_normal.pal | 19 + .../pokemon/tandemaus/overworld_shiny.pal | 19 + graphics/pokemon/tarountula/overworld.png | Bin 0 -> 748 bytes .../pokemon/tarountula/overworld_normal.pal | 19 + .../pokemon/tarountula/overworld_shiny.pal | 19 + .../pokemon/tatsugiri/droopy/overworld.png | Bin 0 -> 447 bytes .../tatsugiri/droopy/overworld_normal.pal | 19 + .../tatsugiri/droopy/overworld_shiny.pal | 19 + graphics/pokemon/tatsugiri/overworld.png | Bin 0 -> 503 bytes .../pokemon/tatsugiri/overworld_normal.pal | 19 + .../pokemon/tatsugiri/overworld_shiny.pal | 19 + .../pokemon/tatsugiri/stretchy/overworld.png | Bin 0 -> 447 bytes .../tatsugiri/stretchy/overworld_normal.pal | 19 + .../tatsugiri/stretchy/overworld_shiny.pal | 19 + .../tauros/paldean_aqua_breed/overworld.png | Bin 0 -> 1001 bytes .../paldean_aqua_breed/overworld_normal.pal | 19 + .../paldean_aqua_breed/overworld_shiny.pal | 19 + .../tauros/paldean_blaze_breed/overworld.png | Bin 0 -> 919 bytes .../paldean_blaze_breed/overworld_normal.pal | 19 + .../paldean_blaze_breed/overworld_shiny.pal | 19 + .../tauros/paldean_combat_breed/overworld.png | Bin 0 -> 928 bytes .../paldean_combat_breed/overworld_normal.pal | 19 + .../paldean_combat_breed/overworld_shiny.pal | 19 + graphics/pokemon/terapagos/overworld.png | Bin 0 -> 795 bytes .../pokemon/terapagos/overworld_normal.pal | 19 + .../pokemon/terapagos/overworld_shiny.pal | 19 + .../pokemon/terapagos/terastal/overworld.png | Bin 0 -> 1084 bytes .../terapagos/terastal/overworld_normal.pal | 19 + .../terapagos/terastal/overworld_shiny.pal | 19 + graphics/pokemon/ting_lu/overworld.png | Bin 0 -> 1084 bytes graphics/pokemon/ting_lu/overworld_normal.pal | 19 + graphics/pokemon/ting_lu/overworld_shiny.pal | 19 + graphics/pokemon/tinkatink/overworld.png | Bin 0 -> 583 bytes .../pokemon/tinkatink/overworld_normal.pal | 19 + .../pokemon/tinkatink/overworld_shiny.pal | 19 + graphics/pokemon/tinkaton/overworld.png | Bin 0 -> 1225 bytes .../pokemon/tinkaton/overworld_normal.pal | 19 + graphics/pokemon/tinkaton/overworld_shiny.pal | 19 + graphics/pokemon/tinkatuff/overworld.png | Bin 0 -> 778 bytes .../pokemon/tinkatuff/overworld_normal.pal | 19 + .../pokemon/tinkatuff/overworld_shiny.pal | 19 + graphics/pokemon/toedscool/overworld.png | Bin 0 -> 531 bytes .../pokemon/toedscool/overworld_normal.pal | 19 + .../pokemon/toedscool/overworld_shiny.pal | 19 + graphics/pokemon/toedscruel/overworld.png | Bin 0 -> 780 bytes .../pokemon/toedscruel/overworld_normal.pal | 19 + .../pokemon/toedscruel/overworld_shiny.pal | 19 + .../ursaluna/bloodmoon/overworld_shiny.pal | 19 + graphics/pokemon/varoom/overworld.png | Bin 0 -> 753 bytes graphics/pokemon/varoom/overworld_normal.pal | 19 + graphics/pokemon/varoom/overworld_shiny.pal | 19 + graphics/pokemon/veluza/overworld.png | Bin 0 -> 912 bytes graphics/pokemon/veluza/overworld_normal.pal | 19 + graphics/pokemon/veluza/overworld_shiny.pal | 19 + graphics/pokemon/walking_wake/overworld.png | Bin 0 -> 1219 bytes .../pokemon/walking_wake/overworld_normal.pal | 19 + .../pokemon/walking_wake/overworld_shiny.pal | 19 + graphics/pokemon/wattrel/overworld.png | Bin 0 -> 475 bytes graphics/pokemon/wattrel/overworld_normal.pal | 19 + graphics/pokemon/wattrel/overworld_shiny.pal | 19 + graphics/pokemon/wiglett/overworld.png | Bin 0 -> 444 bytes graphics/pokemon/wiglett/overworld_normal.pal | 19 + graphics/pokemon/wiglett/overworld_shiny.pal | 19 + graphics/pokemon/wo_chien/overworld.png | Bin 0 -> 1036 bytes .../pokemon/wo_chien/overworld_normal.pal | 19 + graphics/pokemon/wo_chien/overworld_shiny.pal | 19 + graphics/pokemon/wugtrio/overworld.png | Bin 0 -> 952 bytes graphics/pokemon/wugtrio/overworld_normal.pal | 19 + graphics/pokemon/wugtrio/overworld_shiny.pal | 19 + spritesheet_rules.mk | 408 ++++++++ src/data/graphics/pokemon.h | 822 ++++++++------- .../object_event_pic_tables_followers.h | 369 +++---- .../pokemon/species_info/gen_1_families.h | 32 + .../pokemon/species_info/gen_2_families.h | 24 + .../pokemon/species_info/gen_5_families.h | 8 + .../pokemon/species_info/gen_8_families.h | 24 + .../pokemon/species_info/gen_9_families.h | 988 ++++++++++++++++++ 414 files changed, 7252 insertions(+), 572 deletions(-) create mode 100644 graphics/pokemon/annihilape/overworld.png create mode 100644 graphics/pokemon/annihilape/overworld_normal.pal create mode 100644 graphics/pokemon/annihilape/overworld_shiny.pal create mode 100644 graphics/pokemon/arboliva/overworld.png create mode 100644 graphics/pokemon/arboliva/overworld_normal.pal create mode 100644 graphics/pokemon/arboliva/overworld_shiny.pal create mode 100644 graphics/pokemon/archaludon/overworld.png create mode 100644 graphics/pokemon/archaludon/overworld_normal.pal create mode 100644 graphics/pokemon/archaludon/overworld_shiny.pal create mode 100644 graphics/pokemon/arctibax/overworld.png create mode 100644 graphics/pokemon/arctibax/overworld_normal.pal create mode 100644 graphics/pokemon/arctibax/overworld_shiny.pal create mode 100644 graphics/pokemon/armarouge/overworld.png create mode 100644 graphics/pokemon/armarouge/overworld_normal.pal create mode 100644 graphics/pokemon/armarouge/overworld_shiny.pal create mode 100644 graphics/pokemon/baxcalibur/overworld.png create mode 100644 graphics/pokemon/baxcalibur/overworld_normal.pal create mode 100644 graphics/pokemon/baxcalibur/overworld_shiny.pal create mode 100644 graphics/pokemon/bellibolt/overworld.png create mode 100644 graphics/pokemon/bellibolt/overworld_normal.pal create mode 100644 graphics/pokemon/bellibolt/overworld_shiny.pal create mode 100644 graphics/pokemon/bombirdier/overworld.png create mode 100644 graphics/pokemon/bombirdier/overworld_normal.pal create mode 100644 graphics/pokemon/bombirdier/overworld_shiny.pal create mode 100644 graphics/pokemon/brambleghast/overworld.png create mode 100644 graphics/pokemon/brambleghast/overworld_normal.pal create mode 100644 graphics/pokemon/brambleghast/overworld_shiny.pal create mode 100644 graphics/pokemon/bramblin/overworld.png create mode 100644 graphics/pokemon/bramblin/overworld_normal.pal create mode 100644 graphics/pokemon/bramblin/overworld_shiny.pal create mode 100644 graphics/pokemon/brute_bonnet/overworld.png create mode 100644 graphics/pokemon/brute_bonnet/overworld_normal.pal create mode 100644 graphics/pokemon/brute_bonnet/overworld_shiny.pal create mode 100644 graphics/pokemon/capsakid/overworld.png create mode 100644 graphics/pokemon/capsakid/overworld_normal.pal create mode 100644 graphics/pokemon/capsakid/overworld_shiny.pal create mode 100644 graphics/pokemon/ceruledge/overworld.png create mode 100644 graphics/pokemon/ceruledge/overworld_normal.pal create mode 100644 graphics/pokemon/ceruledge/overworld_shiny.pal create mode 100644 graphics/pokemon/cetitan/overworld.png create mode 100644 graphics/pokemon/cetitan/overworld_normal.pal create mode 100644 graphics/pokemon/cetitan/overworld_shiny.pal create mode 100644 graphics/pokemon/cetoddle/overworld.png create mode 100644 graphics/pokemon/cetoddle/overworld_normal.pal create mode 100644 graphics/pokemon/cetoddle/overworld_shiny.pal create mode 100644 graphics/pokemon/charcadet/overworld.png create mode 100644 graphics/pokemon/charcadet/overworld_normal.pal create mode 100644 graphics/pokemon/charcadet/overworld_shiny.pal create mode 100644 graphics/pokemon/chi_yu/overworld.png create mode 100644 graphics/pokemon/chi_yu/overworld_normal.pal create mode 100644 graphics/pokemon/chi_yu/overworld_shiny.pal create mode 100644 graphics/pokemon/chien_pao/overworld.png create mode 100644 graphics/pokemon/chien_pao/overworld_normal.pal create mode 100644 graphics/pokemon/chien_pao/overworld_shiny.pal create mode 100644 graphics/pokemon/crocalor/overworld.png create mode 100644 graphics/pokemon/crocalor/overworld_normal.pal create mode 100644 graphics/pokemon/crocalor/overworld_shiny.pal create mode 100644 graphics/pokemon/cyclizar/overworld.png create mode 100644 graphics/pokemon/cyclizar/overworld_normal.pal create mode 100644 graphics/pokemon/cyclizar/overworld_shiny.pal create mode 100644 graphics/pokemon/dachsbun/overworld.png create mode 100644 graphics/pokemon/dachsbun/overworld_normal.pal create mode 100644 graphics/pokemon/dachsbun/overworld_shiny.pal create mode 100644 graphics/pokemon/dipplin/overworld.png create mode 100644 graphics/pokemon/dipplin/overworld_normal.pal create mode 100644 graphics/pokemon/dipplin/overworld_shiny.pal create mode 100644 graphics/pokemon/dolliv/overworld.png create mode 100644 graphics/pokemon/dolliv/overworld_normal.pal create mode 100644 graphics/pokemon/dolliv/overworld_shiny.pal create mode 100644 graphics/pokemon/dondozo/overworld.png create mode 100644 graphics/pokemon/dondozo/overworld_normal.pal create mode 100644 graphics/pokemon/dondozo/overworld_shiny.pal create mode 100644 graphics/pokemon/dudunsparce/overworld.png create mode 100644 graphics/pokemon/dudunsparce/overworld_normal.pal create mode 100644 graphics/pokemon/dudunsparce/overworld_shiny.pal create mode 100644 graphics/pokemon/dudunsparce/three_segment/overworld.png create mode 100644 graphics/pokemon/dudunsparce/three_segment/overworld_normal.pal create mode 100644 graphics/pokemon/dudunsparce/three_segment/overworld_shiny.pal create mode 100644 graphics/pokemon/espathra/overworld.png create mode 100644 graphics/pokemon/espathra/overworld_normal.pal create mode 100644 graphics/pokemon/espathra/overworld_shiny.pal create mode 100644 graphics/pokemon/farigiraf/overworld.png create mode 100644 graphics/pokemon/farigiraf/overworld_normal.pal create mode 100644 graphics/pokemon/farigiraf/overworld_shiny.pal create mode 100644 graphics/pokemon/fezandipiti/overworld.png create mode 100644 graphics/pokemon/fezandipiti/overworld_normal.pal create mode 100644 graphics/pokemon/fezandipiti/overworld_shiny.pal create mode 100644 graphics/pokemon/fidough/overworld.png create mode 100644 graphics/pokemon/fidough/overworld_normal.pal create mode 100644 graphics/pokemon/fidough/overworld_shiny.pal create mode 100644 graphics/pokemon/finizen/overworld.png create mode 100644 graphics/pokemon/finizen/overworld_normal.pal create mode 100644 graphics/pokemon/finizen/overworld_shiny.pal create mode 100644 graphics/pokemon/flamigo/overworld.png create mode 100644 graphics/pokemon/flamigo/overworld_normal.pal create mode 100644 graphics/pokemon/flamigo/overworld_shiny.pal create mode 100644 graphics/pokemon/flittle/overworld.png create mode 100644 graphics/pokemon/flittle/overworld_normal.pal create mode 100644 graphics/pokemon/flittle/overworld_shiny.pal create mode 100644 graphics/pokemon/floragato/overworld.png create mode 100644 graphics/pokemon/floragato/overworld_normal.pal create mode 100644 graphics/pokemon/floragato/overworld_shiny.pal create mode 100644 graphics/pokemon/flutter_mane/overworld.png create mode 100644 graphics/pokemon/flutter_mane/overworld_normal.pal create mode 100644 graphics/pokemon/flutter_mane/overworld_shiny.pal create mode 100644 graphics/pokemon/frigibax/overworld.png create mode 100644 graphics/pokemon/frigibax/overworld_normal.pal create mode 100644 graphics/pokemon/frigibax/overworld_shiny.pal create mode 100644 graphics/pokemon/fuecoco/overworld.png create mode 100644 graphics/pokemon/fuecoco/overworld_normal.pal create mode 100644 graphics/pokemon/fuecoco/overworld_shiny.pal create mode 100644 graphics/pokemon/garganacl/overworld.png create mode 100644 graphics/pokemon/garganacl/overworld_normal.pal create mode 100644 graphics/pokemon/garganacl/overworld_shiny.pal create mode 100644 graphics/pokemon/gholdengo/overworld.png create mode 100644 graphics/pokemon/gholdengo/overworld_normal.pal create mode 100644 graphics/pokemon/gholdengo/overworld_shiny.pal create mode 100644 graphics/pokemon/gimmighoul/overworld.png create mode 100644 graphics/pokemon/gimmighoul/overworld_normal.pal create mode 100644 graphics/pokemon/gimmighoul/overworld_shiny.pal create mode 100644 graphics/pokemon/glimmet/overworld.png create mode 100644 graphics/pokemon/glimmet/overworld_normal.pal create mode 100644 graphics/pokemon/glimmet/overworld_shiny.pal create mode 100644 graphics/pokemon/glimmora/overworld.png create mode 100644 graphics/pokemon/glimmora/overworld_normal.pal create mode 100644 graphics/pokemon/glimmora/overworld_shiny.pal create mode 100644 graphics/pokemon/gouging_fire/overworld.png create mode 100644 graphics/pokemon/gouging_fire/overworld_normal.pal create mode 100644 graphics/pokemon/gouging_fire/overworld_shiny.pal create mode 100644 graphics/pokemon/grafaiai/overworld.png create mode 100644 graphics/pokemon/grafaiai/overworld_normal.pal create mode 100644 graphics/pokemon/grafaiai/overworld_shiny.pal create mode 100644 graphics/pokemon/great_tusk/overworld.png create mode 100644 graphics/pokemon/great_tusk/overworld_normal.pal create mode 100644 graphics/pokemon/great_tusk/overworld_shiny.pal create mode 100644 graphics/pokemon/greavard/overworld.png create mode 100644 graphics/pokemon/greavard/overworld_normal.pal create mode 100644 graphics/pokemon/greavard/overworld_shiny.pal create mode 100644 graphics/pokemon/houndstone/overworld.png create mode 100644 graphics/pokemon/houndstone/overworld_normal.pal create mode 100644 graphics/pokemon/houndstone/overworld_shiny.pal create mode 100644 graphics/pokemon/hydrapple/overworld.png create mode 100644 graphics/pokemon/hydrapple/overworld_normal.pal create mode 100644 graphics/pokemon/hydrapple/overworld_shiny.pal create mode 100644 graphics/pokemon/iron_boulder/overworld.png create mode 100644 graphics/pokemon/iron_boulder/overworld_normal.pal create mode 100644 graphics/pokemon/iron_boulder/overworld_shiny.pal create mode 100644 graphics/pokemon/iron_bundle/overworld.png create mode 100644 graphics/pokemon/iron_bundle/overworld_normal.pal create mode 100644 graphics/pokemon/iron_bundle/overworld_shiny.pal create mode 100644 graphics/pokemon/iron_crown/overworld.png create mode 100644 graphics/pokemon/iron_crown/overworld_normal.pal create mode 100644 graphics/pokemon/iron_crown/overworld_shiny.pal create mode 100644 graphics/pokemon/iron_hands/overworld.png create mode 100644 graphics/pokemon/iron_hands/overworld_normal.pal create mode 100644 graphics/pokemon/iron_hands/overworld_shiny.pal create mode 100644 graphics/pokemon/iron_jugulis/overworld.png create mode 100644 graphics/pokemon/iron_jugulis/overworld_normal.pal create mode 100644 graphics/pokemon/iron_jugulis/overworld_shiny.pal create mode 100644 graphics/pokemon/iron_leaves/overworld.png create mode 100644 graphics/pokemon/iron_leaves/overworld_normal.pal create mode 100644 graphics/pokemon/iron_leaves/overworld_shiny.pal create mode 100644 graphics/pokemon/iron_moth/overworld.png create mode 100644 graphics/pokemon/iron_moth/overworld_normal.pal create mode 100644 graphics/pokemon/iron_moth/overworld_shiny.pal create mode 100644 graphics/pokemon/iron_thorns/overworld.png create mode 100644 graphics/pokemon/iron_thorns/overworld_normal.pal create mode 100644 graphics/pokemon/iron_thorns/overworld_shiny.pal create mode 100644 graphics/pokemon/iron_treads/overworld.png create mode 100644 graphics/pokemon/iron_treads/overworld_normal.pal create mode 100644 graphics/pokemon/iron_treads/overworld_shiny.pal create mode 100644 graphics/pokemon/iron_valiant/overworld.png create mode 100644 graphics/pokemon/iron_valiant/overworld_normal.pal create mode 100644 graphics/pokemon/iron_valiant/overworld_shiny.pal create mode 100644 graphics/pokemon/kilowattrel/overworld.png create mode 100644 graphics/pokemon/kilowattrel/overworld_normal.pal create mode 100644 graphics/pokemon/kilowattrel/overworld_shiny.pal create mode 100644 graphics/pokemon/kingambit/overworld.png create mode 100644 graphics/pokemon/kingambit/overworld_normal.pal create mode 100644 graphics/pokemon/kingambit/overworld_shiny.pal create mode 100644 graphics/pokemon/klawf/overworld.png create mode 100644 graphics/pokemon/klawf/overworld_normal.pal create mode 100644 graphics/pokemon/klawf/overworld_shiny.pal create mode 100644 graphics/pokemon/koraidon/overworld.png create mode 100644 graphics/pokemon/koraidon/overworld_normal.pal create mode 100644 graphics/pokemon/koraidon/overworld_shiny.pal create mode 100644 graphics/pokemon/lechonk/overworld.png create mode 100644 graphics/pokemon/lechonk/overworld_normal.pal create mode 100644 graphics/pokemon/lechonk/overworld_shiny.pal create mode 100644 graphics/pokemon/lokix/overworld.png create mode 100644 graphics/pokemon/lokix/overworld_normal.pal create mode 100644 graphics/pokemon/lokix/overworld_shiny.pal create mode 100644 graphics/pokemon/mabosstiff/overworld.png create mode 100644 graphics/pokemon/mabosstiff/overworld_normal.pal create mode 100644 graphics/pokemon/mabosstiff/overworld_shiny.pal create mode 100644 graphics/pokemon/maschiff/overworld.png create mode 100644 graphics/pokemon/maschiff/overworld_normal.pal create mode 100644 graphics/pokemon/maschiff/overworld_shiny.pal create mode 100644 graphics/pokemon/maushold/four/overworld.png create mode 100644 graphics/pokemon/maushold/four/overworld_normal.pal create mode 100644 graphics/pokemon/maushold/four/overworld_shiny.pal create mode 100644 graphics/pokemon/maushold/overworld.png create mode 100644 graphics/pokemon/maushold/overworld_normal.pal create mode 100644 graphics/pokemon/maushold/overworld_shiny.pal create mode 100644 graphics/pokemon/meowscarada/overworld.png create mode 100644 graphics/pokemon/meowscarada/overworld_normal.pal create mode 100644 graphics/pokemon/meowscarada/overworld_shiny.pal create mode 100644 graphics/pokemon/miraidon/overworld.png create mode 100644 graphics/pokemon/miraidon/overworld_normal.pal create mode 100644 graphics/pokemon/miraidon/overworld_shiny.pal create mode 100644 graphics/pokemon/munkidori/overworld.png create mode 100644 graphics/pokemon/munkidori/overworld_normal.pal create mode 100644 graphics/pokemon/munkidori/overworld_shiny.pal create mode 100644 graphics/pokemon/nacli/overworld.png create mode 100644 graphics/pokemon/nacli/overworld_normal.pal create mode 100644 graphics/pokemon/nacli/overworld_shiny.pal create mode 100644 graphics/pokemon/naclstack/overworld.png create mode 100644 graphics/pokemon/naclstack/overworld_normal.pal create mode 100644 graphics/pokemon/naclstack/overworld_shiny.pal create mode 100644 graphics/pokemon/nymble/overworld.png create mode 100644 graphics/pokemon/nymble/overworld_normal.pal create mode 100644 graphics/pokemon/nymble/overworld_shiny.pal create mode 100644 graphics/pokemon/ogerpon/cornerstone/overworld.png create mode 100644 graphics/pokemon/ogerpon/cornerstone/overworld_normal.pal create mode 100644 graphics/pokemon/ogerpon/cornerstone/overworld_shiny.pal create mode 100644 graphics/pokemon/ogerpon/hearthflame/overworld.png create mode 100644 graphics/pokemon/ogerpon/hearthflame/overworld_normal.pal create mode 100644 graphics/pokemon/ogerpon/hearthflame/overworld_shiny.pal create mode 100644 graphics/pokemon/ogerpon/overworld.png create mode 100644 graphics/pokemon/ogerpon/overworld_normal.pal create mode 100644 graphics/pokemon/ogerpon/overworld_shiny.pal create mode 100644 graphics/pokemon/ogerpon/wellspring/overworld.png create mode 100644 graphics/pokemon/ogerpon/wellspring/overworld_normal.pal create mode 100644 graphics/pokemon/ogerpon/wellspring/overworld_shiny.pal create mode 100644 graphics/pokemon/oinkologne/female/overworld.png create mode 100644 graphics/pokemon/oinkologne/female/overworld_normal.pal create mode 100644 graphics/pokemon/oinkologne/female/overworld_shiny.pal create mode 100644 graphics/pokemon/oinkologne/overworld.png create mode 100644 graphics/pokemon/oinkologne/overworld_normal.pal create mode 100644 graphics/pokemon/oinkologne/overworld_shiny.pal create mode 100644 graphics/pokemon/okidogi/overworld.png create mode 100644 graphics/pokemon/okidogi/overworld_normal.pal create mode 100644 graphics/pokemon/okidogi/overworld_shiny.pal create mode 100644 graphics/pokemon/orthworm/overworld.png create mode 100644 graphics/pokemon/orthworm/overworld_normal.pal create mode 100644 graphics/pokemon/orthworm/overworld_shiny.pal create mode 100644 graphics/pokemon/palafin/hero/overworld.png create mode 100644 graphics/pokemon/palafin/hero/overworld_normal.pal create mode 100644 graphics/pokemon/palafin/hero/overworld_shiny.pal create mode 100644 graphics/pokemon/palafin/overworld.png create mode 100644 graphics/pokemon/palafin/overworld_normal.pal create mode 100644 graphics/pokemon/palafin/overworld_shiny.pal create mode 100644 graphics/pokemon/pawmi/overworld.png create mode 100644 graphics/pokemon/pawmi/overworld_normal.pal create mode 100644 graphics/pokemon/pawmi/overworld_shiny.pal create mode 100644 graphics/pokemon/pawmo/overworld.png create mode 100644 graphics/pokemon/pawmo/overworld_normal.pal create mode 100644 graphics/pokemon/pawmo/overworld_shiny.pal create mode 100644 graphics/pokemon/pawmot/overworld.png create mode 100644 graphics/pokemon/pawmot/overworld_normal.pal create mode 100644 graphics/pokemon/pawmot/overworld_shiny.pal create mode 100644 graphics/pokemon/pecharunt/overworld.png create mode 100644 graphics/pokemon/pecharunt/overworld_normal.pal create mode 100644 graphics/pokemon/pecharunt/overworld_shiny.pal create mode 100644 graphics/pokemon/poltchageist/overworld.png create mode 100644 graphics/pokemon/poltchageist/overworld_normal.pal create mode 100644 graphics/pokemon/poltchageist/overworld_shiny.pal create mode 100644 graphics/pokemon/quaquaval/overworld.png create mode 100644 graphics/pokemon/quaquaval/overworld_normal.pal create mode 100644 graphics/pokemon/quaquaval/overworld_shiny.pal create mode 100644 graphics/pokemon/quaxly/overworld.png create mode 100644 graphics/pokemon/quaxly/overworld_normal.pal create mode 100644 graphics/pokemon/quaxly/overworld_shiny.pal create mode 100644 graphics/pokemon/quaxwell/overworld.png create mode 100644 graphics/pokemon/quaxwell/overworld_normal.pal create mode 100644 graphics/pokemon/quaxwell/overworld_shiny.pal create mode 100644 graphics/pokemon/rabsca/overworld.png create mode 100644 graphics/pokemon/rabsca/overworld_normal.pal create mode 100644 graphics/pokemon/rabsca/overworld_shiny.pal create mode 100644 graphics/pokemon/raging_bolt/overworld.png create mode 100644 graphics/pokemon/raging_bolt/overworld_normal.pal create mode 100644 graphics/pokemon/raging_bolt/overworld_shiny.pal create mode 100644 graphics/pokemon/rellor/overworld.png create mode 100644 graphics/pokemon/rellor/overworld_normal.pal create mode 100644 graphics/pokemon/rellor/overworld_shiny.pal create mode 100644 graphics/pokemon/revavroom/overworld.png create mode 100644 graphics/pokemon/revavroom/overworld_normal.pal create mode 100644 graphics/pokemon/revavroom/overworld_shiny.pal create mode 100644 graphics/pokemon/roaring_moon/overworld.png create mode 100644 graphics/pokemon/roaring_moon/overworld_normal.pal create mode 100644 graphics/pokemon/roaring_moon/overworld_shiny.pal create mode 100644 graphics/pokemon/sandy_shocks/overworld.png create mode 100644 graphics/pokemon/sandy_shocks/overworld_normal.pal create mode 100644 graphics/pokemon/sandy_shocks/overworld_shiny.pal create mode 100644 graphics/pokemon/scovillain/overworld.png create mode 100644 graphics/pokemon/scovillain/overworld_normal.pal create mode 100644 graphics/pokemon/scovillain/overworld_shiny.pal create mode 100644 graphics/pokemon/scream_tail/overworld.png create mode 100644 graphics/pokemon/scream_tail/overworld_normal.pal create mode 100644 graphics/pokemon/scream_tail/overworld_shiny.pal create mode 100644 graphics/pokemon/shroodle/overworld.png create mode 100644 graphics/pokemon/shroodle/overworld_normal.pal create mode 100644 graphics/pokemon/shroodle/overworld_shiny.pal create mode 100644 graphics/pokemon/sinistcha/overworld.png create mode 100644 graphics/pokemon/sinistcha/overworld_normal.pal create mode 100644 graphics/pokemon/sinistcha/overworld_shiny.pal create mode 100644 graphics/pokemon/skeledirge/overworld.png create mode 100644 graphics/pokemon/skeledirge/overworld_normal.pal create mode 100644 graphics/pokemon/skeledirge/overworld_shiny.pal create mode 100644 graphics/pokemon/slither_wing/overworld.png create mode 100644 graphics/pokemon/slither_wing/overworld_normal.pal create mode 100644 graphics/pokemon/slither_wing/overworld_shiny.pal create mode 100644 graphics/pokemon/smoliv/overworld.png create mode 100644 graphics/pokemon/smoliv/overworld_normal.pal create mode 100644 graphics/pokemon/smoliv/overworld_shiny.pal create mode 100644 graphics/pokemon/spidops/overworld.png create mode 100644 graphics/pokemon/spidops/overworld_normal.pal create mode 100644 graphics/pokemon/spidops/overworld_shiny.pal create mode 100644 graphics/pokemon/sprigatito/overworld.png create mode 100644 graphics/pokemon/sprigatito/overworld_normal.pal create mode 100644 graphics/pokemon/sprigatito/overworld_shiny.pal create mode 100644 graphics/pokemon/squawkabilly/blue_plumage/overworld.png create mode 100644 graphics/pokemon/squawkabilly/blue_plumage/overworld_normal.pal create mode 100644 graphics/pokemon/squawkabilly/blue_plumage/overworld_shiny.pal create mode 100644 graphics/pokemon/squawkabilly/overworld.png create mode 100644 graphics/pokemon/squawkabilly/overworld_normal.pal create mode 100644 graphics/pokemon/squawkabilly/overworld_shiny.pal create mode 100644 graphics/pokemon/squawkabilly/white_plumage/overworld.png create mode 100644 graphics/pokemon/squawkabilly/white_plumage/overworld_normal.pal create mode 100644 graphics/pokemon/squawkabilly/white_plumage/overworld_shiny.pal create mode 100644 graphics/pokemon/squawkabilly/yellow_plumage/overworld.png create mode 100644 graphics/pokemon/squawkabilly/yellow_plumage/overworld_normal.pal create mode 100644 graphics/pokemon/squawkabilly/yellow_plumage/overworld_shiny.pal create mode 100644 graphics/pokemon/tadbulb/overworld.png create mode 100644 graphics/pokemon/tadbulb/overworld_normal.pal create mode 100644 graphics/pokemon/tadbulb/overworld_shiny.pal create mode 100644 graphics/pokemon/tandemaus/overworld.png create mode 100644 graphics/pokemon/tandemaus/overworld_normal.pal create mode 100644 graphics/pokemon/tandemaus/overworld_shiny.pal create mode 100644 graphics/pokemon/tarountula/overworld.png create mode 100644 graphics/pokemon/tarountula/overworld_normal.pal create mode 100644 graphics/pokemon/tarountula/overworld_shiny.pal create mode 100644 graphics/pokemon/tatsugiri/droopy/overworld.png create mode 100644 graphics/pokemon/tatsugiri/droopy/overworld_normal.pal create mode 100644 graphics/pokemon/tatsugiri/droopy/overworld_shiny.pal create mode 100644 graphics/pokemon/tatsugiri/overworld.png create mode 100644 graphics/pokemon/tatsugiri/overworld_normal.pal create mode 100644 graphics/pokemon/tatsugiri/overworld_shiny.pal create mode 100644 graphics/pokemon/tatsugiri/stretchy/overworld.png create mode 100644 graphics/pokemon/tatsugiri/stretchy/overworld_normal.pal create mode 100644 graphics/pokemon/tatsugiri/stretchy/overworld_shiny.pal create mode 100644 graphics/pokemon/tauros/paldean_aqua_breed/overworld.png create mode 100644 graphics/pokemon/tauros/paldean_aqua_breed/overworld_normal.pal create mode 100644 graphics/pokemon/tauros/paldean_aqua_breed/overworld_shiny.pal create mode 100644 graphics/pokemon/tauros/paldean_blaze_breed/overworld.png create mode 100644 graphics/pokemon/tauros/paldean_blaze_breed/overworld_normal.pal create mode 100644 graphics/pokemon/tauros/paldean_blaze_breed/overworld_shiny.pal create mode 100644 graphics/pokemon/tauros/paldean_combat_breed/overworld.png create mode 100644 graphics/pokemon/tauros/paldean_combat_breed/overworld_normal.pal create mode 100644 graphics/pokemon/tauros/paldean_combat_breed/overworld_shiny.pal create mode 100644 graphics/pokemon/terapagos/overworld.png create mode 100644 graphics/pokemon/terapagos/overworld_normal.pal create mode 100644 graphics/pokemon/terapagos/overworld_shiny.pal create mode 100644 graphics/pokemon/terapagos/terastal/overworld.png create mode 100644 graphics/pokemon/terapagos/terastal/overworld_normal.pal create mode 100644 graphics/pokemon/terapagos/terastal/overworld_shiny.pal create mode 100644 graphics/pokemon/ting_lu/overworld.png create mode 100644 graphics/pokemon/ting_lu/overworld_normal.pal create mode 100644 graphics/pokemon/ting_lu/overworld_shiny.pal create mode 100644 graphics/pokemon/tinkatink/overworld.png create mode 100644 graphics/pokemon/tinkatink/overworld_normal.pal create mode 100644 graphics/pokemon/tinkatink/overworld_shiny.pal create mode 100644 graphics/pokemon/tinkaton/overworld.png create mode 100644 graphics/pokemon/tinkaton/overworld_normal.pal create mode 100644 graphics/pokemon/tinkaton/overworld_shiny.pal create mode 100644 graphics/pokemon/tinkatuff/overworld.png create mode 100644 graphics/pokemon/tinkatuff/overworld_normal.pal create mode 100644 graphics/pokemon/tinkatuff/overworld_shiny.pal create mode 100644 graphics/pokemon/toedscool/overworld.png create mode 100644 graphics/pokemon/toedscool/overworld_normal.pal create mode 100644 graphics/pokemon/toedscool/overworld_shiny.pal create mode 100644 graphics/pokemon/toedscruel/overworld.png create mode 100644 graphics/pokemon/toedscruel/overworld_normal.pal create mode 100644 graphics/pokemon/toedscruel/overworld_shiny.pal create mode 100644 graphics/pokemon/ursaluna/bloodmoon/overworld_shiny.pal create mode 100644 graphics/pokemon/varoom/overworld.png create mode 100644 graphics/pokemon/varoom/overworld_normal.pal create mode 100644 graphics/pokemon/varoom/overworld_shiny.pal create mode 100644 graphics/pokemon/veluza/overworld.png create mode 100644 graphics/pokemon/veluza/overworld_normal.pal create mode 100644 graphics/pokemon/veluza/overworld_shiny.pal create mode 100644 graphics/pokemon/walking_wake/overworld.png create mode 100644 graphics/pokemon/walking_wake/overworld_normal.pal create mode 100644 graphics/pokemon/walking_wake/overworld_shiny.pal create mode 100644 graphics/pokemon/wattrel/overworld.png create mode 100644 graphics/pokemon/wattrel/overworld_normal.pal create mode 100644 graphics/pokemon/wattrel/overworld_shiny.pal create mode 100644 graphics/pokemon/wiglett/overworld.png create mode 100644 graphics/pokemon/wiglett/overworld_normal.pal create mode 100644 graphics/pokemon/wiglett/overworld_shiny.pal create mode 100644 graphics/pokemon/wo_chien/overworld.png create mode 100644 graphics/pokemon/wo_chien/overworld_normal.pal create mode 100644 graphics/pokemon/wo_chien/overworld_shiny.pal create mode 100644 graphics/pokemon/wugtrio/overworld.png create mode 100644 graphics/pokemon/wugtrio/overworld_normal.pal create mode 100644 graphics/pokemon/wugtrio/overworld_shiny.pal diff --git a/graphics/pokemon/annihilape/overworld.png b/graphics/pokemon/annihilape/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..22fad9680efdc7c6d9b8e6943ffecee0711dc00e GIT binary patch literal 1259 zcmVPx#Fi=cXMRUcZPEu<8{QUp`0K~`Gc6f%PrLi^zQo zFKa0xmkPI31%koV!m1njw?t`0=sCwn_UBB-FlwUS>sm^Pg~UA-VG{XjlGb7aUf*Q3 zO#(S5@h_c#(E?1;k7!}CPEj~bZ=W3tw6cH-gLdk*dM$^(nNY4W*L6q^HU?RL;>Z++ z7_3m52$NB%`lZXAfrv$u7RYNAlQcaIhjADoT~&Pshuf)XK;^y8qTfmrF9|@d9nZ>` zBHwdbU~6p_m<_lWGk&Bp)QM7_=7?{q8pBL^H--`#(Ya=nT8+vNWInh84W#GDWaHTm zIDE6VH3OF)ht3FfhR3UN(Mc7uwTpM0EWDS{q)*#CByi!?fCC98S>B5s$dBZS3yyil zDFYM)iIbtIgTBw3_c%nhIyx4aa$6w;N-H)*a5GV^uZ0U z`dFf~suH_+$W;pm^4Z#w-My+Cb}MY&TZ31rTDd%b}iR9#hH6?n@Q{YG3l?s>h z=bU?-+N0$e`m^9oi?Hf*UQEGt0q!`s@qiCFzZ#|1)It4#(*b2Pa+U1VT5p*kUbB<2ub@ywR_5^1$OQ!r{nbsRNug_sv>V}!5t@w z#6lYJWcQc{QP>t)&YJ@4IqCcQdI5X~Bk#&C@HW>9yyJ&Fnhhn%nw{;E< z@e}^~A%*Yv8-phhF89D4mjxWYzah}S?>B$I-{vMfC%oN-&l5u`trj})rOHFta#r|5 zB?jus8KhyuH_jW*(dZhb_|Yd0tdYla7;>HL_?t|J z?*m&-SK=XGg=p4z*kpaas7G`ugND<^CV>;h-8-5He;I|zP9I3o`X+YtT z%8z3MBqPbdFVguDV=NYYK5z|{B69-Fbv$6{-|*r2Kt z%x5x+g`W;%(XSaq)G-;xzxD4pCoq2P<;p~4b<;opFpoIp1ZXBAXXc^bU|J(goGi({ zdlzJX7RYqxFI=?8s}X9DC002ovPDHLkV1o54U;zLC literal 0 HcmV?d00001 diff --git a/graphics/pokemon/annihilape/overworld_normal.pal b/graphics/pokemon/annihilape/overworld_normal.pal new file mode 100644 index 0000000000..73d9ee2e4e --- /dev/null +++ b/graphics/pokemon/annihilape/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +78 82 106 +252 252 253 +0 0 0 +196 199 216 +118 120 134 +163 165 177 +52 55 73 +129 45 84 +255 144 196 +140 20 41 +196 85 137 +215 27 60 +113 113 118 +78 82 106 +27 33 45 diff --git a/graphics/pokemon/annihilape/overworld_shiny.pal b/graphics/pokemon/annihilape/overworld_shiny.pal new file mode 100644 index 0000000000..1458a2779c --- /dev/null +++ b/graphics/pokemon/annihilape/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +78 82 106 +238 235 242 +0 0 0 +170 175 201 +93 108 175 +131 145 176 +36 79 29 +129 45 84 +255 144 196 +140 20 41 +196 85 137 +215 27 60 +78 82 106 +49 74 117 +25 18 61 diff --git a/graphics/pokemon/arboliva/overworld.png b/graphics/pokemon/arboliva/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..80f5ca4352ec3394514831ac2b304b03a1d7e690 GIT binary patch literal 892 zcmV-?1B3jDP)Px#Fi=cXMRUcZ0001G$vQoPF(N)5zQV2j|MXK~PMP3IHxnMtgHc~4I*dF}sZTUh zEFu5^06Fj>qyPW{`bk7VR9J=Wn2B=hAPhw1*;oZvc!1+lc9N!`CoJf-QwT4u~WWu@=+k_%e2FJOzd<}9WeeLWvml&L}718AYFwW`W zbnf2fRA64_<}CRrr#aTn?r>>;Y2M+ZJkV+<_c$4hAL$bic3xV(EtN!7D$X@J6E^U+iHFN~nb(Ir}G>!}Un{btn z$pRDC0^iNo`jE$1I4ogFGw0(3F9tR}0O~O+l8TF4&||K$)P@$Ac^3F?elA332m)VV zid@-m6?z~HiK-I$~rvTDp;p;15 z{=BY1?SAgyJyGL6NEwV=8FHBdV#u!OD=i;|neElW zxu4)YQI!uW40>J|oZuiqa2zV1{-C-et|r-F%FhOsK%ris>fsv?N)-kOHm-|eV7jg- z9ZG|lYl9+Jeq|nOrov#svq7ye^xmX<_|6}Zs3m@$Cr1_kIwymP7Y1X%OMb%9PR=h3 zDt+e}wLksy?)f8`&kZw zRu38-&LOPx#Fi=cXMRUcZ0001$F)`#!O|?5aP)ttq^7QZThE7Ya9vw!#yt=`%V>B{yV{9h? z000000HA8JBLDydd`Uz>R9J=GnA?)$Dhx%Vq(y+>`Tx%yUARbsbh@kN-0`>k{&jc9-*R61J^BGBVTd=xO(4ACBMhfN z;Zq=P20Z`A`bA)(zi0rSaO7hipEw0F9|Fg`HDLL_GBDLbhEi%NbaV_}aO7hiUn;cZ zQhCtP&QBMS-$IRO;X);P+vT0dfRRTL*mB8j8Bhilj(p5xod!~+ziB|`R~;hvH7bP` zE)|!aAiwil3>bOj8$fBfu~EmMCOB|N(?Aj(u!c-0HSiiD19yy8Z!8dvo?xK!Jpd9+ z1JBaRa~kNx7_fXdkjAhE=!j!E#|@eK=uTtRqkg*69$*c;u5!JifpH9cUN?kLOVLyI z1--R~yk)@iXrN95VfQkel5#N66U+jsK~o(DW@wM_+$_{fK*ACUOe$~`U=}EF6QKe{ zAFuj)9vmoFgOS5BfRFOPWnk?0(}3Xz120IA`y*+SE_ox-p8Epm9@7hOs(^AlR><^t zL&O$)oC7$*acXF5fVI%}knlnG;B5laGBBPI%R>PeQ-WIGqpeeNh?{}HHv`fkcGcMFy@Qr2?|^Q|0#i;bF!`q)7(LSx!lG1}LXhGMpsCdhQHt{6h!D?LKyp z<)ntT25FI;a_hw;%`1R=$a3HsEd!EL>G32zt`iF*_m1UM1jNumoE2lh_qysg0gmfa zDgvtry!nUa6W6DhcNq~#xiOEx5BP0%(8wBEFN3EQ5cm?O?fK_|d>xl=`h649tLyv%m`GA=Qb4fx*LWMheA%4l!^!1J}lb0s2N!eY}H_JoG7I zUT470RdAzkwM<`YE$IKu@!|<>Y|1k6>v+vJ4Kd~b1;zAfN(b8ISb@{Kz^{uc7DB_f!D^JK~~uHJulsIk@OrL;)#<${@yO_ zksoBBk%MR;^R#jb3IFyY9H{UjlQ)S}#AJg7okXj@=9bG$Mf}5sk^X39lfME8Z=Cle`jl81M)~1{2Gg106_Yi%3$#DH`cJWM4EFIy zjB$hS@`X#@xB>wffg{6-HhgO!Z`?T81%g~*4CIZU9O#|=3*sku$Sq?~Ptj-dj2vf% zJA*^+`pph<#rmw#GsB%hm&q1iaX-LbuFU8-p6yq7xiaJa`QXpaSM+6N{;h#`co+C- o_$zjSpT?Uj5Wki30slwGUqz`!_o`5ztN;K207*qoM6N<$f)%V@jsO4v literal 0 HcmV?d00001 diff --git a/graphics/pokemon/archaludon/overworld_normal.pal b/graphics/pokemon/archaludon/overworld_normal.pal new file mode 100644 index 0000000000..ed77ca1798 --- /dev/null +++ b/graphics/pokemon/archaludon/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +149 49 49 +228 76 77 +181 59 59 +80 76 78 +243 242 244 +239 239 134 +78 75 174 +30 29 70 +189 188 186 +193 178 99 +52 50 114 +99 108 39 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/archaludon/overworld_shiny.pal b/graphics/pokemon/archaludon/overworld_shiny.pal new file mode 100644 index 0000000000..4983eea061 --- /dev/null +++ b/graphics/pokemon/archaludon/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +147 146 142 +222 219 225 +243 242 244 +43 51 60 +140 155 166 +255 193 125 +37 184 233 +26 99 136 +103 121 140 +255 153 40 +30 152 187 +104 54 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/arctibax/overworld.png b/graphics/pokemon/arctibax/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..f1f466e6afa2fcfca48154702982f3b1ea4ff7c1 GIT binary patch literal 647 zcmV;20(kw2P)Px#Fi=cXMRUcZK}A|-mE%i#ng9R*yzls1Z;INHBYmc(eWs@W(Mnu{h5y0}ws;+o zkdOcX0JGJ(*#H0n1xZ9fR9J=WmVs`AFbqUVY^P~y_y3c8&cPOAPDBUz(J*-yXon#uQmPX7@#Eb)UV!7E zfPlB|2I2<%dwr;2$a4-W4EX{XiW_jx5%DAuAYjA~6tJ2@JQZ{MUEY!|)f7s-?Bo0; zuLrf{lP_2`RUMzw+(JwDO1(&ecW7{n@w+WZO&CLs!tV4ky_s5%Lc+Edg=Er zZWhln&5=r z*FWGUFzFQ)0J&PjI;fjO@_7^SR><=j#AL?|Sv=x)#!X;!4`6O`lGfG~KI`xB&MfA; z-QxNQ931e;49@lkp977<0@WZ}qo=Px#Fi=cXMRUcZd@3pAA`<9REbrtn=8U-Aw+8?K05mf)UshAyw+9;`BE1|B=;-+G z#uf|bdqyATfL)CvKDpcN<~uWdm^<%b&~YDd)Cb{V)H3-nUuo05 z$MMv;dG@Ud4)OavT;-dQ9;!@$R7St9!6BFDmd^vX3(Ir!YnZ@?$ChhJpiWnmeOIrfOWsQi3|Q;v-U8|e?Y zOt7q@Az;L{!?j5-aOwshbD1D60R~~Q+kD8OuT&|V=d@_>1#NDYc*se%NQ^T+81m;? z?!wm!p~NRSI(%N1M~sPL#SU?7t@wy}Jfi%0p2wmup68R4=kZ8H$ye+M#{!4v>n$aY z@7FU_i#+6IiSjW0H(V`XR``azGfm>*`&vz-Cr6LUKQQrvn^uvXBE{7?(j1i!dw-Rld?foG2o8v=8Jg^Q_u z(uxXW?(ZTS396`oMSwg@U`bH92(2nea@XVleZdk~5-dE}2T4xTTAVS)1ehYRj?k!J z$T+bW@4_UKth1*jP!lX1`BO4PB$Co_CxJG`{L(l9OB|BasIDNMCgsvhm4f7$a~W)b zCBd9JvojKKviRKAuNeTFSJC9KKc-2Vl(WFSuO_G*W=uN;DPQm;bLEvlO>pIMF|0Fi zj_^>HZ5?r|)sXy;SIRImyvhYe^PH^MKw*t|R!nt+^ERfBA ztjGZ-7HDt$7!wqMD_~4*4k`A97VPh&>`zA*T!T_AP-W;)&^YtxpZI4pJo1*zg!or zwb>HDU8b`|ru>@jysSUXQGC~Y5z8?}WwUlCu$H%Q`eya_{d4g<|N9iwo?R#Ct{IP)Px#Fi=cXMRUcZ9V9GOxt&8>Tsd=Eqv7XnjHUnp0QbfKerzQ?I5}k$AY~LF`8heD zxX9?}_zCKMJOBU#^+`lQR9J=WnC*7kAPj~h5K)5D?f&m}`oLIVFvAfCo8bO-pvfX@p9m%8%N z+`&|r>^>hUl^Q|pAXoZfG%;VmG-UA;WQLGGJsvOvqm!==BB)Cy*0> zh0bKe6(&DE(rst z^aBv3+Aa)S=->cHO|sArKqbuFv>)kZh0FJdaG^u~z(76+xD00|%st;qH^BXx8JOtX zwi$n^@sR^)^b9E)jXq3>yuWO!vV^TE%R09=;ncrftTs7 z4ye+(DNy)}!IL`%*eok0!_Wd2gHC6N?EnDC8PotPnxrg04n63Q+~_={Spvz@cGo(k zYTHF%REJJ?1}G*X?(IFp8CpO!2u{yL$#*IgK6M#oJWp43kPk9`*EyEDw-e$O;4H!3 zfS~2#Rv@XvI5fb+IWajapAd3BJ)ju`r*jWdGmRW@j%^D1jmR3H21tVX10COEvl{1q zmo?2zjUoLIhrB3~zOw^pGORu6qe#21S)ne0Qsf60}2Qi2IQ;iT^-2WpgUX^#LypkF*sE%_X!50pMQMOK;fqfCBCM2|(M=4m+rUgC?e;^ZT6c2%`fZ z$;3&{Wg literal 0 HcmV?d00001 diff --git a/graphics/pokemon/baxcalibur/overworld_normal.pal b/graphics/pokemon/baxcalibur/overworld_normal.pal new file mode 100644 index 0000000000..c031cec49d --- /dev/null +++ b/graphics/pokemon/baxcalibur/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +29 36 44 +85 185 157 +67 91 92 +57 115 90 +163 225 231 +110 140 166 +0 0 0 +247 198 0 +126 108 37 +60 56 57 +101 20 32 +101 20 32 +249 57 57 +160 184 200 +232 232 248 diff --git a/graphics/pokemon/baxcalibur/overworld_shiny.pal b/graphics/pokemon/baxcalibur/overworld_shiny.pal new file mode 100644 index 0000000000..fc9345f2a6 --- /dev/null +++ b/graphics/pokemon/baxcalibur/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +12 17 16 +187 230 226 +64 109 121 +46 95 110 +100 192 198 +87 128 130 +0 0 0 +247 198 0 +126 108 37 +46 48 48 +200 28 139 +231 82 179 +231 82 179 +152 183 185 +232 232 248 diff --git a/graphics/pokemon/bellibolt/overworld.png b/graphics/pokemon/bellibolt/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..eeae01c0505200f49a98865cc6d95b72cd2f824b GIT binary patch literal 551 zcmV+?0@(eDP)Px#Fi=cXMRUcZ22?O3b0002; zCN{PV``lu}5IKR~t{qhFS+H_18ETyUFa|0e8-@zEp8b%1WGD(~{P2tNh&5gZj9j{X zfIhc@*Od`3kPJ1>2aM}lSIGqi_#Mxp)o_G6SBvxGHeXVyh3h#1gac?i8>(73)XU_bD|F6cZ0Pvq zHYdSis$k9lSFH0)cgz$-EVL{M0vgZzbnBG!ZN4Pr;hMZh5L7rD(jn1fDe3Ar!r9QF zll@fAh7_8v?5A_cTd5N+TbAya#_MEYZy+C_%Sn(6Lx$!7`us2~4Zi`t8@BvZPT!fW zeL)5|cc@<(x+^kI2X8faOt`)O_y<}7$o pn{j9Fz_M5O*AuFn$C`Xjz5vjmB=6D?mI43(002ovPDHLkV1h>#0ImQ4 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/bellibolt/overworld_normal.pal b/graphics/pokemon/bellibolt/overworld_normal.pal new file mode 100644 index 0000000000..a7125b80db --- /dev/null +++ b/graphics/pokemon/bellibolt/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +6 84 64 +150 150 192 +164 110 65 +228 167 83 +242 229 85 +232 232 248 +176 176 208 +27 171 141 +0 0 0 +242 229 85 +33 115 101 +91 83 77 +128 119 106 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/bellibolt/overworld_shiny.pal b/graphics/pokemon/bellibolt/overworld_shiny.pal new file mode 100644 index 0000000000..97f5f3c3cd --- /dev/null +++ b/graphics/pokemon/bellibolt/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +105 91 35 +150 150 192 +171 75 73 +255 127 109 +242 229 85 +232 232 248 +176 176 208 +251 253 78 +0 0 0 +255 127 109 +170 155 51 +91 83 77 +128 119 106 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/bombirdier/overworld.png b/graphics/pokemon/bombirdier/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..ca655b7a9565cce2509da6d29ca39d4468df07a4 GIT binary patch literal 1213 zcmV;u1Va0XP)Px#Fi=cXMRUcZ4-XGTJV8($C1zV-@8jXQs;`rMg?oZ~|NH;O#>`DhOHdspnLbJA z==kPLVkR z55YQoJPc13BfXwfrcgPE@jij~7I8j?IEmE<5CG>m__GSYC*~k%0$IN?!xT|6c!zKc z;Jg6b60m~+PzvzSLPrTYfztv+kA8mxaPM&dc+T)c09^q${pMZ**9mmf0$^E0ifX|e zi5fgUX3z!C?Yc$Av0#=Vl zS%hIUkmxsxKnXOG?aD9fN&TufdT zzyQG67XV{B03{F$5QB<9;>nl8(Rl}OY7JK@MW8N#tqG!y@=Lax(+Wi>IY_F<ezC*fz7+_k98 zw-by4)9ZYT;-ewAZuC!re*=(+0`5Q ze#xlTxqEy9P;qy2aY{OXUZ9r6&uhyG%aJZC&;%+4@}>a$d<_Ah+3)>k5v6~8JusHw z5IB*A`qW-@W1B$q3kNlUN!KF?m{`9!J0I+&AZ@mqm7dX|mTa0(8JAfu|LQqne z%6roDk11YQV}#(&|ONjE?D)8!l|U6((%XYT`P{*v(Y_z?J@J$~u< bSG0ctZ}}>4c7U$l00000NkvXXu0mjf@1-NK literal 0 HcmV?d00001 diff --git a/graphics/pokemon/bombirdier/overworld_normal.pal b/graphics/pokemon/bombirdier/overworld_normal.pal new file mode 100644 index 0000000000..fa558344ee --- /dev/null +++ b/graphics/pokemon/bombirdier/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +15 15 15 +69 60 65 +80 29 37 +102 91 96 +239 227 225 +185 170 175 +147 125 133 +123 130 123 +255 251 255 +198 198 204 +77 74 75 +80 29 37 +153 62 73 +232 232 248 +230 76 98 diff --git a/graphics/pokemon/bombirdier/overworld_shiny.pal b/graphics/pokemon/bombirdier/overworld_shiny.pal new file mode 100644 index 0000000000..d20304edc0 --- /dev/null +++ b/graphics/pokemon/bombirdier/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +15 15 15 +74 57 66 +52 41 48 +102 91 96 +239 227 225 +185 170 175 +147 125 133 +123 130 123 +255 251 255 +198 198 204 +160 74 85 +84 81 81 +136 134 133 +232 232 248 +171 167 168 diff --git a/graphics/pokemon/brambleghast/overworld.png b/graphics/pokemon/brambleghast/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..652f7523f4a2b311b88b92987427e1b5d10179a4 GIT binary patch literal 812 zcmV+{1JnG8P)Px#Fi=cXMRUcZTTfetY=*#}x&QzGLMtH4vTK}uRc9GKc`&JVS6V5K22ze? zu5IWvgxhYr?Y7%)yY03=V{tKl!h7%+{PPf4jwy!Zn z+C)Q&mpFo>J5Palq0Q#!++AjY!!~@E^N96C!ij|vTt>deDG{#6$OEG~c&BSTWavwC zhtno}mqXu(qrt-dM`>KU{DLR4$sZIeUE?7a+aL)9O4@|)a}!7<6rnhj?i&!qkrwsYJl-xH&Q=n(=%}y@)YT3>z7ohM34|lgXbH5v zO>NOgE7dR9OD{6#) zb5h?f@v2Z}E*_pQaQ3w^^sWfwPsR|(}USdnjYBa`D|pR9G+n;RRGj{_O^gzp@8-Zx`k z)`O0{$`G?qKlm@LB;LtvR2y6jmTib8~emHm=+~6Hr;iOTdBy z5!@+f8TKDicqFE^N4D_bn&r*y6O#E>+3vi-)$^9`c=y2;;io4G&KqsGWckcTYyN|k zfB*Bc%_;Jllf-hUJcuVpFXEf|C0@Ozdj~EYc+|3AJ%PPLDC~RXQArEwmty%$CFxQT zdp>j;7d+yb6SJ<1Gv24Znem});0_U=9s literal 0 HcmV?d00001 diff --git a/graphics/pokemon/bramblin/overworld_normal.pal b/graphics/pokemon/bramblin/overworld_normal.pal new file mode 100644 index 0000000000..7e830e339e --- /dev/null +++ b/graphics/pokemon/bramblin/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +97 68 39 +204 164 102 +176 140 85 +21 21 21 +210 117 83 +191 89 60 +126 58 39 +75 58 52 +107 83 75 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/bramblin/overworld_shiny.pal b/graphics/pokemon/bramblin/overworld_shiny.pal new file mode 100644 index 0000000000..c37c547ffb --- /dev/null +++ b/graphics/pokemon/bramblin/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +121 118 77 +214 209 157 +159 155 104 +21 21 21 +210 117 83 +191 89 60 +126 58 39 +87 96 60 +113 125 76 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/brute_bonnet/overworld.png b/graphics/pokemon/brute_bonnet/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..14fe5e2f3c35162837d7bbe728f07b41329e95a0 GIT binary patch literal 971 zcmV;+12p`JP)Px#Fi=cXMRUcZ0001MMn2l%&|YF!gefZHKSsXAxUw-fUxsIb)PURBasRB%vN1Q_ zi=>E^eW0pyh5!HqNl8ROR9J=WSc{J1APkI68xq=x|Nq+?+mHZxkZpC+Nw-$DY8X78 zF+{K(hTr&&-}rBW2GYQnzg5BbKTf|ENDpFmj+vgH)#&jPfgT0UJzN{S6o{%G!H5a* z$tr+0@jnidiN=vrjN_5YYl9tusOg<%gB>xQm^|$;28CDnrOs{+jU>D#9|p#jqhqim zkRJZw9Az9_&uQo2s>8sh(G+SK-^_vFr#i5Zho*zq273arI)EQ!xYm+Yy4_&{ozj{C z@StGHKLLNLGS!KPn!jhTBT#pjQnWXrVjXU?a7TK>MljzG#gW5Z>nQh3?ng0v`A^G{V&{5^wR zfin~Df_T2)VcvLiouBY`40Z{^j2YDwJk4{s+u?8dd-+|0Fk^;H$pH{Ug@Nl1clm|B z<)1^io8J`}g3WlnAdg=!L&NP3t^8Vo5BO*Eu!RoYHMj|+*ZYk>t-zo$hm0#2?sq8j zmjd_vVJ<#3f5+e|aDhH3Ty_Fetaw|X+u==Lsj%g5}spO`rz8MiFQQfoux(421*A@38sX;j6=R znUY;%2GH!{ASSOnP$vm)`8v2W5V?@wT>059i$wmw0~#cqF033&=&vz literal 0 HcmV?d00001 diff --git a/graphics/pokemon/brute_bonnet/overworld_normal.pal b/graphics/pokemon/brute_bonnet/overworld_normal.pal new file mode 100644 index 0000000000..64d07618a9 --- /dev/null +++ b/graphics/pokemon/brute_bonnet/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +107 70 62 +218 225 208 +94 98 87 +132 41 42 +227 63 70 +190 197 184 +178 49 55 +95 134 103 +130 212 128 +219 217 113 +255 172 205 +178 49 55 +222 139 164 +136 149 125 diff --git a/graphics/pokemon/brute_bonnet/overworld_shiny.pal b/graphics/pokemon/brute_bonnet/overworld_shiny.pal new file mode 100644 index 0000000000..1e229eb10b --- /dev/null +++ b/graphics/pokemon/brute_bonnet/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +64 60 56 +208 200 168 +136 112 88 +56 48 104 +112 80 216 +160 152 120 +80 64 160 +95 134 103 +130 212 128 +219 217 113 +216 80 136 +178 49 55 +178 49 55 +136 149 125 diff --git a/graphics/pokemon/capsakid/overworld.png b/graphics/pokemon/capsakid/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..9cf563f6a096149c2fb977cad25a10f7f86049b3 GIT binary patch literal 519 zcmV+i0{H!jP)Px#Fi=cXMRUcZBuFR^4-fGB;{X5vrnHuEgIrCKPkFg}K6O7XFfad+6+fC^FK9df z000000B1$fkpKVzg-Jv~R9J=Wmg|bdAPh#mM5CSh{;#`<4$HzeiL1~h z&Sohk0Ph7ugNK-7Op)%AfW`L~z(Jpp=}FG69_j5-cMm_sOB~{;kAk1Yxe4Hl=P5Oq;G9(sgG>KnCZ{j88z2JQ()Zd7 zhYik--nU!(lF&G`MwG55Ji`xjYC-(IH#kkOc~G{%XSo}^DFt-y=q>3HtAt&p9Z2s{ znQ!(V#{`rH2B!gP)#?*91h@LnR51E$aH7d>|Bm$*6GQy3d;wiv6{+6;8>9dL002ov JPDHLkV1mRP<%9qL literal 0 HcmV?d00001 diff --git a/graphics/pokemon/capsakid/overworld_normal.pal b/graphics/pokemon/capsakid/overworld_normal.pal new file mode 100644 index 0000000000..90f5ea334d --- /dev/null +++ b/graphics/pokemon/capsakid/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +36 72 40 +15 15 15 +240 251 227 +0 0 0 +166 180 150 +113 131 92 +77 145 79 +121 185 123 +62 117 63 +46 48 47 +255 145 21 +63 154 95 +47 104 60 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/capsakid/overworld_shiny.pal b/graphics/pokemon/capsakid/overworld_shiny.pal new file mode 100644 index 0000000000..aeaff8b7ff --- /dev/null +++ b/graphics/pokemon/capsakid/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +49 58 89 +15 15 15 +240 251 227 +0 0 0 +166 180 150 +113 131 92 +166 152 70 +236 240 79 +85 71 21 +46 48 47 +255 145 21 +99 161 158 +73 107 134 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/ceruledge/overworld.png b/graphics/pokemon/ceruledge/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..831b380fcc7d3695c1e1ca4e37890b3603122d4b GIT binary patch literal 919 zcmV;I18Dq-P)Px#Fi=cXMRUcZ6FYH|t=h4~nU4P3L*n zD`SMyVffFkl+r)tS54A5HnpGTmrYW~|I_@c32K{K;!pF-CW$)Q5A&-giHN3#xXaTu z{yj@`P=hC8W}?AV4-E4u zg}BF=#n)#Fc1WMA%=0YD^(p!s#svF!xw+qT;@~~i<+q#8c4>W$yWBQs^5?X=$X#B{ z^)?0dbvOdf2cSGAp)uy?_o!zHAo~zQK`iv3PK= z%iA1}H{$^nUDSTrpJ#cR^5eo1pX9c~k#7~rEJxVqc)nOx%ZG%k*q^7l>XuLSG`D~v z>zbJ}9pNi{9O;e%vB2w{#_{0a=lXM<=bmsyyj(GVjWgXBMnGQfRJ%uA{uJ;Hj(~8E z^L05!;2C4DF>vVdpM3A}%odP1cvbf}e7#Ljkk2aExN2RGY$?oFDsW!a`%NYr5}oA0 zO&xH&C&V1=ycPxAINperE#ms*4JOt*uj;pmaA_R&e3IZC=WjXdP|^tK+}|dLhqUN% zRA}mrSM|>>t^9Mi0jpqj_o`j_(i=JKuU%hU+HX@ z*9%AjONdEqo`XyBfDb;%VUnx*l7AMI9)F#*28H}osi3qbEPyEa1Ur{BdB6uB_N@#j zP3#I4Eqgf9KR8n*SK(jn*Iy?tD$#Z z(_8+<6L8cg%Pe9K@p7nu7hga7vSlR>`x!jn;9Zt&*rxbxa7MqAZB~PY`d2*auju!K{s6%DEORY?PRjrQ002ovPDHLkV1i$s!`%P? literal 0 HcmV?d00001 diff --git a/graphics/pokemon/ceruledge/overworld_normal.pal b/graphics/pokemon/ceruledge/overworld_normal.pal new file mode 100644 index 0000000000..afec9a2dd4 --- /dev/null +++ b/graphics/pokemon/ceruledge/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +19 59 113 +146 173 218 +177 196 229 +100 137 198 +0 0 0 +104 111 176 +37 37 75 +14 23 39 +81 73 133 +177 119 176 +27 33 34 +177 196 229 +232 232 248 +52 51 50 +0 0 0 diff --git a/graphics/pokemon/ceruledge/overworld_shiny.pal b/graphics/pokemon/ceruledge/overworld_shiny.pal new file mode 100644 index 0000000000..86d05c4e5b --- /dev/null +++ b/graphics/pokemon/ceruledge/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +19 59 113 +146 173 218 +177 196 229 +100 137 198 +0 0 0 +104 111 176 +37 37 75 +14 23 39 +81 73 133 +177 119 176 +27 33 34 +239 228 48 +232 232 248 +52 51 50 +0 0 0 diff --git a/graphics/pokemon/cetitan/overworld.png b/graphics/pokemon/cetitan/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..c2b72bdc4c03f333eced7d74f648796f03cca9c5 GIT binary patch literal 969 zcmV;)12+7LP)Px#Fi=cXMRUcZ5D*ah`uf<{)2MTg-=Mny004`Njl0CeU|(KfUtWugjX*#^*Voqo z0000005^TzbN~PYM@d9MR9J=WnCY6GAPj~NM8hK9|Lr!3hfRWXrtLFrpUIE2_#%8+ zK=AeYwr~5k|HX_k-Sl6Gp81)V^!UR7$h@S3dL;Cdz{>#RlA_>Ho9wG@K z^GOKN`(W9EpE&T$ulzhJeB?-hC4Imipc3R2C+M9Bq;J)MCmvZI!%28nTm)LmFg2kZ zYgMx30GB?lGx#8nKH?ja#Ig4kzXqV>UMVJ#nt(@6y+R&>@G!OO|>j6S+28cr$ zKJbOW#Isl7JeP|HR3Y0zwXx?`y~2@m6y3IEo^XrJG@;*Hji9s`dC^}5LebX4Q!EaSyf|0|IuYnbfv?xV`vN^Y1tm)4!QB;V zoIlf+M+?!jRrKcx4KK9md+x3nYDagfI&Qfw)W6lbp2ZUi14 z8ZHmjwgHO1a^O*l{Kl2d2uJ05qUf77N&-%>tjU3z9Bha|($%?77ee8$05=J8R4GSJ zG|CusHFHp>`PB)&rn`QW6Oo273w|H@#-l@X9ork424?wIqjIBb#A6cuWsB8W=%;R2 rzE@hlmRZaAu+Wd#>c!Wec`^0_134*;W=O1100000NkvXXu0mjfv!=iB literal 0 HcmV?d00001 diff --git a/graphics/pokemon/cetitan/overworld_normal.pal b/graphics/pokemon/cetitan/overworld_normal.pal new file mode 100644 index 0000000000..7d95a89e39 --- /dev/null +++ b/graphics/pokemon/cetitan/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +16 16 16 +250 250 250 +216 215 211 +168 115 143 +223 160 187 +0 0 0 +139 139 141 +187 196 196 +96 95 94 +96 95 94 +139 139 141 +64 64 64 +215 215 215 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/cetitan/overworld_shiny.pal b/graphics/pokemon/cetitan/overworld_shiny.pal new file mode 100644 index 0000000000..36b65af2b3 --- /dev/null +++ b/graphics/pokemon/cetitan/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +16 16 16 +81 81 98 +62 62 74 +234 73 55 +249 141 115 +0 0 0 +43 43 51 +170 170 170 +43 43 51 +139 139 141 +216 215 211 +23 23 28 +250 250 250 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/cetoddle/overworld.png b/graphics/pokemon/cetoddle/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..7f00f80008f5ce9f80d9f2929b44e570cde75fc5 GIT binary patch literal 566 zcmeAS@N?(olHy`uVBq!ia0vp^2Y^_CgBeH`yR~lzQjEnx?oJHr&dIz4ats1|LR^cF zF6r*>y>b0AP~g|EU-uX6UQyf+WB|EX!DdChS3q;Nc)B=-M6|x0e!J+f0*}jXjyeDT zKh9!($D+LESl%r0GOOhBKGtr5={2>wa8Mg_;LZI154X3neE;j(xBAbv30p!1JFZ;s zj#*c<>d{WWo!hh~O*q(|ukgTCvNa~|`LnYd@(mxoY1kL!SMo}#qeAn9$f*eu{98zPj>yIhvEjYMV%IC3Fr^OU6ZNYuARR<3A%cm^k@Zqig@Tl5OFL}$a4LtnPv5&iA z{i0Who?>5H77={?vomu~dhLN-o_RILYnwBeCAe#zmohMKH&x8IEpz`DpF`=M{DsGs zZ}YgU@^9vDzS3DQ{O-(V+qs2PYKN)%dFi#=eb1Ud+Wpaf2j79i$8Iykobx}|zpK1B z>0qYC$2<1?(OFfYS2VXU*PeQRZ1b)~AKuKHw3~5TZP8WLS@(|oQ<$edC%C%0fY)B~ n!25MC8xNKr-~V{|5%;gWzq5E))>$M!0!6H+tDnm{r-UW|MAi3M literal 0 HcmV?d00001 diff --git a/graphics/pokemon/cetoddle/overworld_normal.pal b/graphics/pokemon/cetoddle/overworld_normal.pal new file mode 100644 index 0000000000..01c44975a9 --- /dev/null +++ b/graphics/pokemon/cetoddle/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +139 139 141 +216 215 211 +0 0 0 +250 250 250 +223 160 187 +168 115 143 +250 250 250 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/cetoddle/overworld_shiny.pal b/graphics/pokemon/cetoddle/overworld_shiny.pal new file mode 100644 index 0000000000..f9d80543eb --- /dev/null +++ b/graphics/pokemon/cetoddle/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +53 53 60 +132 141 147 +0 0 0 +183 188 191 +234 73 55 +192 53 37 +250 250 250 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/charcadet/overworld.png b/graphics/pokemon/charcadet/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..11b455ae58611c88ac975c72417df42b15e69ca4 GIT binary patch literal 717 zcmV;;0y6!HP)Px#Fi=cXMRUcZsTvMP3k5BF>*!M~+*Y>aA`$=q0ERa=Cn_qlN=si>Q|5>ZsTvOG z==kI!5`GA{2LJ#9OG!jQR9J=Wm%(y_FbqVI2o?g<{{P>08|aMC2{5s&Dakhs-k-SaF?aDzM_uWq6hd7p|}5TIj3zW0hN>BIUBo z3wyWX3eFT({ISZ+4dh&;Ei)-!#Z}>uGRYG-#>LF& zy9HPHqb*c$vuN;T$@;YB>$=9IG(P8(A;Sb0Ji;SEw_8%>icif}cVDd~3sl?;O|F_c zEV!-Pwwb_WqQBrn-@fl_rm*735A=y*!WC|a-I`gm^JAjok)XE6Xi17n4t=r5H8nta z2;2oZ&I(lU$u^P5u#0SGb1FWW_HjyeO$<;DeGz>_eKUWQhd_@x@kk65Tze0Nc%Ccd z+#Hb)M}M7f^NL4>?HCz8?6k%uhrrPy!~o$C=*Qt^JvBgiO!@lu7~fw>3vfO%jLRym z0ON=Zd8xjNhrk{-t)~VGuAvVK^F6@0MP!G))BxvW3Mv$jtK7PcziS){ArM!kevRWp zZzIE&ee6r#413hl%K|udan9k+@SQ-CuW@&*fWuzhukz?{VLWz0#;3Thx>_o*;y7Tn z^`@2zc<|&P4nB5h!Xy6RsR4W_P-3EgY{8VHH<2RTcFz^We;@pO6BfLRKMY7q;e82y zSyX|=Ou<Px#Fi=cXMRUcZpdb(c008tfFY{hF@TXOI7Y+RNn;bwPY!e1sm|BClgxBcT=;-+I z`0+?|N2nWF^Z)3OPcLxf{R$kaGz+l+4`#cEZjqA9}}uLe9yjob3RH`UsF_&SE^< z_iOYoJR=K--gB5JM*wyvKqI))i4Q=wr;ujVXS<5Igy@sgaV);K-f_U+D>FAqbAVdNjNstvo zrMC{7k9siMb>vDfrI1#jsFjFtUF$`voCJVPRBCeB_*y@!7_7uZo2B5fdv&T|6>A?tKOR<^YL-+bIG+woP ztuk8i>j>UDib?w%OR@{!fQYarOefvqmnrc2=>z}=tbLpR$?LkH`|XTCHQ=W%=b5$; zrj+;(%N#LUTs32y^zQ<0CWjgOxX1ihz*k;tqXzuc`=>2_JUR07(L1Y*^djdVRH1GJ z{Qv}!`RXvJ`slRCj0|#*Z>aCbxQj!(2G}289ENWM|MQ*hH|#G2OBNnWvK4Ot0000< KMNUMnLSTZLqifLs literal 0 HcmV?d00001 diff --git a/graphics/pokemon/chi_yu/overworld_normal.pal b/graphics/pokemon/chi_yu/overworld_normal.pal new file mode 100644 index 0000000000..6f4491d0c6 --- /dev/null +++ b/graphics/pokemon/chi_yu/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +160 32 16 +0 0 0 +244 52 47 +243 94 56 +240 167 85 +121 23 13 +252 245 155 +28 64 33 +108 19 6 +91 152 90 +131 184 132 +215 232 215 +232 232 248 +241 248 241 +72 116 71 diff --git a/graphics/pokemon/chi_yu/overworld_shiny.pal b/graphics/pokemon/chi_yu/overworld_shiny.pal new file mode 100644 index 0000000000..659d3fd812 --- /dev/null +++ b/graphics/pokemon/chi_yu/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +69 67 68 +0 0 0 +94 94 94 +0 192 249 +119 236 233 +48 46 47 +186 254 253 +28 64 33 +27 24 26 +91 152 90 +131 184 132 +215 232 215 +232 232 248 +241 248 241 +72 116 71 diff --git a/graphics/pokemon/chien_pao/overworld.png b/graphics/pokemon/chien_pao/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..4cead4f9bc82fb8fe7ac9fa9b751d9750962008f GIT binary patch literal 1074 zcmV-21kL-2P)Px#Fi=cXMRUcZP)<(zpOy{g%LqY(=;^r;br{dfFQ-dLxVSh_?=m({AidXOb^$9 zv4{kVNRPjYe`0|j-=&Caz!Cz-fE76exeBx6vsmr~_y)$% zzWe;{@DD6xC(2-G!NOh{QrK44VvOHa#XD6)qB$Doz|a=XLr z1`?9?2j~7~pm+*b1sO|%6oNR=|G$6}d0~4G*QLyrd4;}`+ZT08x%GIVfC=UtVJ9Bv_g z8yw-fkCZ-7PP#fc)y{O;Ze3a+boQMwNk}(|M6dM6gF{w{azz`?O@Nm+w_va;?u6RDi zh@-@3$hpK01F;V6HTeY$eVimUHSmn^5y9N4fgz4T4YLj|9Xa=s2m(=uXo!*J6r%iV zo^y;~n6{lRCf*48_`#9ZB*L<&;j)BF8@a;^Ll8{R&=5QbG&r_;07-@LVyHy7yIJ~ae)zn=5vCt&@Q;2hIkW4bupJBWv`D9 z@Zu?ON1}SWK3DjH^UTLdsm@DuhqrEG*op49bANEU#gq0I-K~>@SNMW2^P|jq(Hx6) z?$s+ED{B4xQisUg`Gw2#YnFZyk8u@%7?^i@3IMNo3%^!^N=uh$x8)Y!VbSBOfG{sA zZ<#~x5y(5<6=(#d%kYHD1vd{P12?y_oCMSeMA=~Jgg^| z^t%vFb4h?kz^e$@XB1_~6P@tmgQ#8RA|TH5vY6hGdj#^1cLnPGNuS)i{H>4b^E_Q< zsa!i6>%h$`!CgSXIUFeW6i^POwV+cv9^CMrKsBJ1s3*YwwwKR!v?k`tik1H^z;Hdc zeXf|E%YY^;8L^Nv7$uf|rV`u2s>F5qDU(;+4bn%Vg}%yo0>>`^BmI}G1_Tjkj4 s&Qu=t^mnsQ>8bs5W=7xhcIPx#Fi=cXMRUcZ>Wd5N%1HkJ5cTie_f;_f005#rF+vv;xU{C;RYH7sV`C&8DJUsQ zNlGawDcn>UyZ`_KP)S5VR9J=WmW@usFbss7Cbjd^wD146oKwcO)=6O1Ku9$OO?(&U z>^PKRxZ;W{uDIfgdl>Vl{A~KcjAK*sW_~vPU`1j7jGtX@A#e^7tBT&wZ@A{K$&uAg zlG~ceDqFmnpG`m5(M*$Qgin(h?XU8)>5BsMWxjqW8Q#gubU%LYmv=Z6)AI(?KEr#t zot_OIm$$h{a56Zh^2llZGPgIfY1HK{zGN zQ;eoWjP!F(6db-7VYKBv4u3I33JAgn#bJ-1D*&xQf1)^q;^$lp1`e(SK4=AWIB|?) zi5OXHag&pSxtL0eHHSSe1``e`IuTOR3g~cRz8Pe_fELHurj$Z(G9x^GhtKoQASanK z*rUW+0UZv59OsDOS^+Iisf_0~<>S%efzv*TCr$x{QbjgBqg!3G3 zE#5iY^L+sxcZ?I7oDzoh=&;Ahmj=&e#Pt(= zw_TH?#KQzr5yfr76#HctR459sl_v|OI*%Dw zUu5ydS>x-%R18vOcl>(e%*(3U8_Gegt5@IjpGm5MHKRI@z()GN5(0!ns2HG}7pj@R z*Fd;IIoCu;lGnA7q9s_Hdq3Gw8`v@bJzcK_eZhZ=4;P~)>W5^J1^@s607*qoM6N<$ Eg0>M#4FCWD literal 0 HcmV?d00001 diff --git a/graphics/pokemon/crocalor/overworld_normal.pal b/graphics/pokemon/crocalor/overworld_normal.pal new file mode 100644 index 0000000000..5a2611f996 --- /dev/null +++ b/graphics/pokemon/crocalor/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +234 139 11 +234 202 72 +255 0 16 +245 239 220 +247 85 49 +0 0 0 +162 61 49 +66 23 19 +184 180 166 +222 85 66 +124 119 99 +99 36 29 +41 40 41 +74 73 74 +41 40 41 diff --git a/graphics/pokemon/crocalor/overworld_shiny.pal b/graphics/pokemon/crocalor/overworld_shiny.pal new file mode 100644 index 0000000000..851a2e0687 --- /dev/null +++ b/graphics/pokemon/crocalor/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +234 139 11 +236 208 91 +255 0 16 +251 247 226 +247 85 49 +0 0 0 +197 20 121 +106 21 70 +185 175 164 +236 66 164 +100 81 60 +106 21 70 +106 21 70 +130 64 74 +62 26 33 diff --git a/graphics/pokemon/cyclizar/overworld.png b/graphics/pokemon/cyclizar/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..8367387e8ba7dc5e3ef34d5705a364d9040135d2 GIT binary patch literal 723 zcmV;^0xbQBP)Px#Fi=cXMRUcZ0000*Qb;sFJP;5N50IGayO#lD_QAtEWR9J=WnCWucFbsqZt2}IydH=^PmXPaK!qE&p)BX@V$|zb0 z+>Zx5$?bN<6<1tw#TB0mqBZ?r2i@iT+t^uI5|8fMlXh1xOY#@62 zk13?=j2!@e1^|PYYvk#a*?UR#Vbl%*XOTw{f90VY2=sl2*?Y{!GUt$mI0Rjm=YGW6DT z0yu+iI`nlKDPibbCj_POXI2DQ3ic>JPNWmSzvv85&H$8O?>A$Mw3n{eXMj0$E$9^G z1P}nqAxmSRO4SCyJ#_5cstpf`I3MA!Xe zesZ33S8#u@M|dQB+~zS^N5Hl<=}>jkn@nM0*4A9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/cyclizar/overworld_normal.pal b/graphics/pokemon/cyclizar/overworld_normal.pal new file mode 100644 index 0000000000..1724cd1ae0 --- /dev/null +++ b/graphics/pokemon/cyclizar/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +69 82 72 +52 64 60 +16 16 16 +227 234 218 +129 171 133 +1 6 12 +81 111 89 +200 124 100 +217 104 64 +95 127 106 +70 70 78 +51 52 57 +40 43 47 +0 0 0 diff --git a/graphics/pokemon/cyclizar/overworld_shiny.pal b/graphics/pokemon/cyclizar/overworld_shiny.pal new file mode 100644 index 0000000000..5bdb2b6c8d --- /dev/null +++ b/graphics/pokemon/cyclizar/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +248 238 187 +167 163 122 +16 16 16 +227 234 218 +138 138 112 +1 6 12 +97 95 71 +85 215 253 +3 177 228 +84 83 63 +70 70 78 +51 52 57 +40 43 47 +0 0 0 diff --git a/graphics/pokemon/dachsbun/overworld.png b/graphics/pokemon/dachsbun/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..6c045409acd7c284395b58fd65faabf30b71f2ea GIT binary patch literal 824 zcmV-81IPS{P)Px#Fi=cXMRUcZq-!nz+hg~!O3|WP%Zx<;002HIByKe!%Zx>gK_SasFZZ!Zut+bk zNH6H<__fYzGynhswn;=mR9J=WmyK@ZAPj^ZOJ!d=sb;r~?B{ zZrQci+GGrh{lYHh_xP?bsE65*BYADs@R%>9*+C$uu7NJMEeb_}NI9e$^ggenR#OOl zYg@sTV^WS-an1U&Dy+Qa5ZkIpji>m~_d3grTQDKVSlxIyO#w4*0`a7EU_ik;2HnbN z(|J!YRy%#fO`y`MUe}I3bFlHwaSsAZtv05vTnq0Q@D7VLgc$22r)ge!OMh`dD^ctk zh=q5Lt5CR|HoLsw4tMtd674<*4k)x~AZBz39vr6`og{Y+Zq^2GTic1YXOQBH zWV*ie93xI+p9IchFzBr}#qOZffxmgAr}o(YIsO1OH8i?>NUVzh0000Px#Fi=cXMRUcZFjpFo&23+iLS9e;`{sGsxds3L01*)pU=R?MARxFXDBwsy_<&Fz zHW0q0fQb@+YybcPdPzh6HDnf1F_eIJCc5e_{jr8Akq->+=M_*#d9Y z&u{UY0doG?JCv_eKH<+<19B%vH$e!hhhE4C;5q>4H79Nq=p@Oidum8A1o?M&IjG)2 z7y*Rt7Uc={gdARsq>p|L07M+o=mH2~?C_xi4FP%qP_H^YeNsSo4Wz-;+kkjjCIYMucF5V?8& zvb8Uh7YpDHxGct9h7PK3akY=|01%f1zD8XHTK9zdA$vP~AylrVNC66AS$EgvBVdTf z+Y|t-{jqlobOGT<=CB4WVCn!^lK`4J-MYso#klW(2WaRBsKCR()A+Fasl2fVKXjZh*}I{HjsS?3;YoU*Z3= uf{tHh1@sDRHOT4iU+C1=i3R~bbNmM5Yb$e1MPqsZ0000Px#Fi=cXMRUcZ0000YJ|1PsI#h2hMUywb(LaxtL7Cu5w#t`NVNU)3^bZdY=;-(W z0000002`G&3jhED3rR#lR9J=WmjRCBFbG8rggSP*_rLCboOU!)4W#LeRx5?7ZIp-c z$8j+&<+95zyX>;dF8e7X`h-8I>y&Zk?_ck8gcd3b>3yL_MH?gDMh_@3mL z@!_MwU~qNx2b`AMja7t1lyA2eg-3X;i?A%Up5Tupl?k*u&p6_kpjIek=)(*%0XeUW zibCKCK8#t0zBEHRo8i$NVz_^p5(CB#*g$Ix5%wEZ-$h2Ot5VmKKmJ7N^cFk zwLYaO9|@X+U7X?Fs9AFoh&cpq_Z@o)WV{WByXTSfU7@!`887|*XDD<9CVY3mI}8x< zw%b{b2||52Z)1f60U7@=0q$^_m#9OW$foE)FBJ1pCEENKa)?`zLXB|aCww@dR5(@c z2v=~gO6D96XtaEs^71$-{~0e#!TJ{K=9EJHI4o_2y@Te-e`!2i#F||fTRSYlXoSWJ z5k97M9Jk3Dfk@yd<43d5H2BX#1nzG@i@oCI9o4u$cpy;CqVZu})~PS7~|TiX%7`{$Ig?w=x0 nr?3iSqcQ#ynukB+^IzFtacmdjPt%XL00000NkvXXu0mjfjf*B5 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/dolliv/overworld_normal.pal b/graphics/pokemon/dolliv/overworld_normal.pal new file mode 100644 index 0000000000..617ee34e0e --- /dev/null +++ b/graphics/pokemon/dolliv/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +34 62 30 +101 201 58 +84 111 45 +69 147 55 +191 209 63 +143 150 65 +153 224 73 +182 202 151 +83 97 78 +253 255 244 +15 15 15 +232 232 248 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/dolliv/overworld_shiny.pal b/graphics/pokemon/dolliv/overworld_shiny.pal new file mode 100644 index 0000000000..7a07119831 --- /dev/null +++ b/graphics/pokemon/dolliv/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +17 33 12 +47 83 39 +30 17 27 +32 65 23 +97 54 67 +56 33 50 +71 109 62 +177 182 86 +66 68 30 +198 201 130 +15 15 15 +232 232 248 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/dondozo/overworld.png b/graphics/pokemon/dondozo/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..e2a80f514a3d1fa4fd5120bab1306e93334b0f2e GIT binary patch literal 1929 zcmV;42X^?0P)Px#Fi=cXMRUcZ5PiLb+W%8rYT)4Dz_q;x6e$z2`dZHa0000LH*w(L;0`8E97&Y` z0000002d*{bpQYd2T4RhRCt{2TZxvVC=`_fWKsVAcjqmDCM}E7lbW32_UTkA@uJ?# zTTp9RCMG5(CMG5(CMG5(CMG5(CMG5(CMG5(CMG5(CMG5(CMG5(CMG661|h_6AHx3{ z;^*fF9FX$259HS%KYQ+Pdqe%f0jXqhlLo#!f2K)OJsRO|3WJ#%H(gnKQqTx?VNHXU4LFBTA%gCuuwMll;Egr@ zsR5`y7daudStLSP3_MvDTX{vo(M1T0KV11b@;e3Jp7 zAN0`!4&38QEH?p#W&>J z!ovWQKd-jMP@$DtiV?KHw>>Svpny_CqacJu40wQpa38&P8*o0m0>3N(MS#Z?1TQ8) z6@@Yi6ByKk-$L-1f_yy!Kwqhf5k%j%BVbfO){g*z?f_ z7WlO$1RT)X2k+4UgCep4hJVG+Jp@Tbe=6d#7(udL#E;{6EFkt@i(J=LU<6u9gtmW# zlYqO#SQjwgj8M?TB?apOp7p=x*9O3)pY{X_fg=I}>krVCWg!=FUx^@JE#ibB0fDa6 zx>~E0p#7ROLKpd^kEZGPqv?NVAN{hDE%9qr5FCI>3NnLIG>2&h^ZfPnImT7lKQ7|6 z2&xzHWl%um!`WJ^@fFE5#1CJQYU8z!hSP~bs5<-T*OhF6Ut7s?e%m2YICg*yApIRA zmwl<%5H8}C2x=AaK>>jd)>+Fh2|Ps40B?OXOx_=uFZ8pokA7XrUh-=z*$iAkq!35} z&|Xb&5vLkbiXix|9sy$l0v)`wbOF=aw;}o*U<=mR##u@sHnwqWKqZC3+)gXm0w0TD z&$Y?yfXM;Sv6|x|?kf@Gt3`ZRKu3iKhA=UDBGtx*syzbt(V$=03=KeC48Gk0Dp>EM zsS5-Piu|27=;*}R0h+_sbn4GV94A0Ag7&>u#9IQkkD6V_f)nU9zwNXj_R-i&Y>vyA zq-KAffo3K?_(zL=}pan+(&}}Fn5K}2?DQZk^%KTI<92d zKw~oBm}p>iCHpp(l4~?zeR5Y_zC=(LA19c&7BKiEA*B&{8OOv23o!7RPZ=O^;#HAf z4T0E4JH-xUp#I9W`{=lmbwp3?8!p0d0M}T_zK^A{0Z%UBKZzjc$$|?3NkJ9Y*f_N= zRbalbd!)w{3~WtLn0Q}z;M7MevLGD*%C9>5=zJg?La}u)CI(QK2*=Tk8SsSf;OtSt zYXSKw5xyj-FMGkn7aTQvOh0(;fMkIwKdE%;qj_t-Fy?7#*wIIyjzsGh12g{yq+aQk z=KAa|`V#|j=Il|okedj_0-}U$Lh(tF%tx0brjvkfN%&l=WP!mHRye1lk9Img7R2&* z^wH-dL4G#y%)bE{?l*SlQrwp&^={AKQT{UiRK_C%StCX^fNoNfglq!(Q8=T-2hnK?>*LYFY=QTi-WpL! ziqWp{CH{WrJO=s8UwAGFcFYFcGcZq_QwoV+WfN){_2AQUY3C=?k_8($wABwP9do`y zeRCF$@|W=^^PU>0Bu^ZYnlt`6U7!g|&C|rkO(<^8U$O<8+6pP`50HQZ&v6X!N1sh) zzPZPje7ge!_9cfu;Fq>Q3$)rA5s)`W0SBJt8{v;Wo&A6>^+`aPbNDlUaU)qxVeeb_ zT|NF+_@jTH@PMCg*g59M9R84B#+|Y>`u7=Q{EzSbJ!Rh=;Cr5apJ4n0-V%GrX>Rd! P00000NkvXXu0mjf%7AIm literal 0 HcmV?d00001 diff --git a/graphics/pokemon/dondozo/overworld_normal.pal b/graphics/pokemon/dondozo/overworld_normal.pal new file mode 100644 index 0000000000..c29e5725ce --- /dev/null +++ b/graphics/pokemon/dondozo/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +16 125 189 +132 218 255 +83 92 106 +224 224 224 +192 181 189 +7 20 41 +19 177 250 +90 206 255 +0 0 0 +21 55 113 +224 224 224 +14 38 78 +28 73 149 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/dondozo/overworld_shiny.pal b/graphics/pokemon/dondozo/overworld_shiny.pal new file mode 100644 index 0000000000..a0d5a789c8 --- /dev/null +++ b/graphics/pokemon/dondozo/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +181 175 72 +255 253 115 +83 92 106 +224 224 224 +192 181 189 +7 20 41 +253 241 108 +255 247 138 +0 0 0 +172 172 172 +255 255 255 +109 109 109 +230 230 230 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/dudunsparce/overworld.png b/graphics/pokemon/dudunsparce/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..98e582a5273e6a81b188c3d08f6a65118d01c7c2 GIT binary patch literal 926 zcmV;P17ZA$P)Px#Fi=cXMRUcZ7&u5-&D$}LozA#NR6QT^<#E8M0IiQWT4Hnk^1}B2|DnR&%Gm4x z008B=cWW!9umAu997#k$R9J=GnC+IFFbIYx38*-l-v8Ye2)ce?GF!XHp3)yoebV@X zfh2vs{wE9J?tq6a#D>7;fQK!FR2SGB@UVs0$Z&JO(-s2Yy#Ws!c3oc;*c|Y%Vc&OM zO<;4t!^R2js%xY<;Az7FaH#MBVfdHzbBzLA?N&r9=bx^jSY`eezh$B?jbh1FNbffp zm!GaYU<#KKTl}6CeNoI;NYk5)(|d9Pz%gokar70o_)VjU1=<@};8~##Q10Rvrr32% zyDlbAVT<1nVCJ*~Cm1;YvlGBPuY8`J0H9mU?Ncp&KLQqr15ZDoE0F7A>wY0u{J-r(zk+`^1fbAmQaJR#q}%?4_q<>=6VZoBao9*^o^q%K$UA3k_+c`7b^JJg-|mhGnc@?99VjHoHJuh zl6ikP*JdIUNaO}k=iCFzh4ZQlQNhP9gfgM#rUVA&mSwu((j6n1bB^Vi8-y(I!P+TzwD>ldGh_#d0|jPx#Fi=cXMRUcZ7&u5-&D$}LozA#NR6QT^<#E8M0IiQW{qn+EVsrNY|DnR&%Gm4x z008B=cj)F?N&o-@zez+vRCt{2nqhO>APj~LNRCY%_W%FwBp{w?cXg1uu$=YugVM{r z1WQ^Z*yfd8Gr@16&;Eg3f{J z0WOa7$`!00;OaOBICg-GgY$e-IZ!>o#lhQco;40s4{&j40ne%&q8{Mt-~zZP^b5kG z@INw&pV#V#Lp2mY`ZN{euBVRz5Mf=b8LB&pt>zsMU`qZsfqagvf#Y9?Sz|y+}SG%nw9m zT&o{V-0rmOffg{(`o9YTaKG>R`@LTt;o(65NeyZA{qpg!1974GFDP*!yKvX{JCKte zK+a$Qq8dW-hyG0i5aUvp5XP4m;heyBd4CF{8Pn}oGAKmJ{6{mm2$u|)<&q3Y8lHdF zhw@M71co!Z2vY{!Fw1f4&w%`s6t(j6^l5v?0E{idlth*_FzX^HAsn<=^^t@5b^#b% zgmV{EYk;H+il6lF=l{_~SltDsuK)DjkCT~O7u<|kg1Kc^pD zgvWP5bLdH_lbN~#s4l_>y(j}X zr|N>7lXO9dx$05W^UH*z$zPxC&Nuql8vefHoI)qhO+>_9FAztdn^n^VRe4_* z^q4X@^s8U6H4~n_VLj2G2k`4)*@I7OeoD_dmroTbx}YlW>w<2NDZ7eJwQ2C zB;E@u@~$ojdA51sl&C>#PE+YY&#j|})^r{aNYp@Z0uQ1aK&wvxw*H^uk--VZ_(~~%{J!zMvvm~$@IRQPA)%4Iq6o4O3!;a2-*Lly&Tf>six4S zcRqz*E3efYH3+Ra_1{s?gw}NTBGkwQ%?Wdro+Gf(pL8!xqIcB1(&HbcitMnITJz8K zU#=ldZW8EzMqlO)FV`nlr1Tf_8vTEScHZxL-G*Tp#wGX-cf>?eL*eU~00000NkvXX Hu0mjfhBOM+ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/dudunsparce/three_segment/overworld_normal.pal b/graphics/pokemon/dudunsparce/three_segment/overworld_normal.pal new file mode 100644 index 0000000000..00ea281c13 --- /dev/null +++ b/graphics/pokemon/dudunsparce/three_segment/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +24 56 72 +89 205 219 +49 143 157 +206 184 71 +84 61 31 +242 229 113 +192 168 0 +173 143 56 +253 242 194 +90 98 115 +246 255 255 +161 194 221 +202 216 236 +0 0 0 +229 185 119 diff --git a/graphics/pokemon/dudunsparce/three_segment/overworld_shiny.pal b/graphics/pokemon/dudunsparce/three_segment/overworld_shiny.pal new file mode 100644 index 0000000000..201d38a15d --- /dev/null +++ b/graphics/pokemon/dudunsparce/three_segment/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +73 28 61 +229 153 194 +215 78 164 +206 184 71 +84 61 31 +242 229 113 +192 168 0 +173 143 56 +253 242 194 +90 98 115 +246 255 255 +161 194 221 +202 216 236 +0 0 0 +229 185 119 diff --git a/graphics/pokemon/espathra/overworld.png b/graphics/pokemon/espathra/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..cd5feabf2ac78d73e6b7f6b6baa75c4c13b5f4aa GIT binary patch literal 1138 zcmV-&1daQNP)Px#Fi=cXMRUcZN<~jVFfjS~`2YX_d{5LG6Yp6;jok@zKoQN^)93!A<0 z-{k<7ZYquiS*8PZV_?9w7qXvnw)Yjsg53UWjh#EXces`EIcGwnLc0-+1hE5p&S-yr zQpdoEe;WYL=J}*<#Ww^|g<*Qm^Zdk6H4TipwaMW}oYAH?IkxI47B872I(66A&|u!gY9|;%5t-{2c~^=MOjx>J$yRV3hd-E(TXI zs2K)68EhaG({(0Z z3x6YCWmuBsU4MiwJQ~Cwysxp*(aU3vklj3AIQuQX7R8h(c!R;?CbvK0+6nD*T-?bT zd7qQjcZ}n>Sr&)#HM9Fe0I%1p;&_q+pzXzYARicf?Kj&V--xS5cIj$yO$J}*0PeUr zL}Ku+)4l3M*<3L8-k>=(V~~{D(_$C02;iEKn$wG z_@a|kZAXH12yh=6MA5|2KN-l4k(i7`YxKU1FJn^(&O0-l+GV4M#fQ~}=BofEp+pC7 zJEULus;~X&5a5>Z68I&e{lUR?VC3K@dv?7n?3LKI1iOwUhz;3=dxThFrHR)g7!5^( z7N`HSze!`CkUtv(v@soZcJ_l`yzJnnAgOr9UQq@}Cvbg)R~nOd9^&0$G{|DG@;7N` zI8iRF0owi1Nr75Ot;Szdy_a<;+{BxyE|@y_+0|gH1NZ~i z5oi@XY)yLX`i9FdS8)hp{v;JA|KcvKl=!*)%90H>`=6#9V2`Uo?8TX zXi#k5-XE0HU?=%u#k0SOd;SyZ zMi~9QQNI~soLI?2t8OB_37XpZvX%Q literal 0 HcmV?d00001 diff --git a/graphics/pokemon/espathra/overworld_normal.pal b/graphics/pokemon/espathra/overworld_normal.pal new file mode 100644 index 0000000000..6607d0ee9a --- /dev/null +++ b/graphics/pokemon/espathra/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +74 69 79 +64 48 48 +249 249 249 +0 0 0 +227 227 227 +190 164 225 +82 233 187 +147 116 171 +197 138 82 +121 82 30 +207 174 150 +241 219 197 +196 183 21 +255 252 96 +196 183 21 diff --git a/graphics/pokemon/espathra/overworld_shiny.pal b/graphics/pokemon/espathra/overworld_shiny.pal new file mode 100644 index 0000000000..5747724c55 --- /dev/null +++ b/graphics/pokemon/espathra/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +76 73 79 +80 64 58 +249 249 249 +0 0 0 +227 227 227 +190 164 225 +82 233 187 +147 116 171 +106 86 81 +80 64 58 +137 120 106 +131 124 122 +143 116 90 +193 159 140 +192 181 118 diff --git a/graphics/pokemon/farigiraf/overworld.png b/graphics/pokemon/farigiraf/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..4713be648802e07ddab5f12c8b51463483625fcb GIT binary patch literal 853 zcmV-b1FHOqP)Px#Fi=cXMRUcZEG#P=6%7CY07^&h_^ZAMGoy8XAg95R;d{MU5<`Gk5BIusR=sAL480D=L)6j z(#E>H+srXU`pudEkEfIXlA0xplfDQq5~vLJc(-}c+Znr|{ER)GKJ7AReet!tq9V}a z!)V2Y?G`$@#UBMgFUJd35-1M#_^^qv&C4=x`ZQ|tl*|Zhj`K2;KGLZ~?{GGOxWr72 zI_XvMIaPQnC2@b1W65RPK^5rn;Q$t3fz-(YT%MrhT&TOsanE^Qsw&XqhldJz-!pZ} zLga8-=zE4CT;;gs21B4+ehxnbLR+_OZTd=Tb6TajzG=0-%5mEov^Mty7byUnA7*pi zw{5TbI^ghtoMDvpn;iFAxinc|mLhQYVTLRajn&-aT;sQR|HR+}$|?5v#{;(qyl40> z=X>)MtEJfEY>{eBRt9Z8rb;UShlko1i83h?9gejxHqU%SzYTIMI)2r0CbQ&kpE-2&U=Q8@dob#`|Z0BIRJ~3 zgSxi1Qj!$`b#Pr^Ev=Qie3-NzW>uo(Br}saDTH+eMZe2AK(28s0Tv$tROVGP!q!>0 zkpjs4ep`E5nt?Fu0rGfzPi&2U$JizC$z{$0xHIN)K9~VK8Q*VF#=mz(egMP6)Het} zBfwSOE1tE&QqGLGtPUs}(F*ptOc4kh(-Zy;v!~-b8&Ix8{MyTk7S?y#8LOw`zo2aN fef6BP|G)hK=`$!IgnZ-(00000NkvXXu0mjf{&I^< literal 0 HcmV?d00001 diff --git a/graphics/pokemon/farigiraf/overworld_normal.pal b/graphics/pokemon/farigiraf/overworld_normal.pal new file mode 100644 index 0000000000..383f2d1641 --- /dev/null +++ b/graphics/pokemon/farigiraf/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +44 44 43 +28 21 13 +0 0 0 +74 74 81 +76 68 75 +160 176 200 +243 239 154 +232 232 248 +203 196 123 +224 138 131 +243 239 154 +203 196 123 +145 85 90 +167 98 52 +244 142 81 diff --git a/graphics/pokemon/farigiraf/overworld_shiny.pal b/graphics/pokemon/farigiraf/overworld_shiny.pal new file mode 100644 index 0000000000..1dff28acb1 --- /dev/null +++ b/graphics/pokemon/farigiraf/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +40 43 46 +9 7 4 +0 0 0 +74 74 81 +40 38 36 +160 176 200 +243 239 154 +232 232 248 +203 196 123 +85 160 224 +186 243 240 +138 196 167 +34 119 189 +236 101 77 +236 101 77 diff --git a/graphics/pokemon/fezandipiti/overworld.png b/graphics/pokemon/fezandipiti/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..7648eca4d83973904c0835e621866df129a90f4a GIT binary patch literal 951 zcmV;o14#UdP)Px#Fi=cXMRUcZ%c>CW%q;)_0H=pAJv%yDAxV-scgkm?c0DQ5($c_A78)HK{{H?g zEiFYQ9Wt2MHUIzvHAzH4R9J=Wm)mmNFbqU#L%dVv|Nm_lkm9&8KxpiTPG`zYoXf(% zS&9Vd5dM!p#_ewdc*6tyR1f!$Jm5svJSwyRNCqL55=JvRQz%G2IHQxde}PhgYN`X2~Pmh0UnhO1A2vrZfvqJ zuuAmhd&&#-YYC9G1dgh0ZwmmPq(-I%S3eAtU|_EOrSw$5Aanqzwte4QwE{dHgbf=t zXY&E!5e(BG3Un#ZO@OsNB2{d(N^!iU3xABsdcK}NE&xLC*#Mp{hvmC^sC|fT@EyAC zPYPg$mH-QV@DW=|;R9C-@br-I|CIqx=K}06E&x_K9ehHl)$sHr)_8FC*PZ6+M*-Y} zmH>_}GyJCh3`q34(>+}Zpnu}q23YHZV$M0zcuVJ_=pY<(*y1}!iPJL4&dpJF7uYor)T^kRQcDsd>%lEys7|>o~E>TZuV0P zaCJ^R6$`Z2`Gy`OF;)UC!^NtvB zxHRu9`TgJi4&(A$S{oGuutMcvDll>2D8DFal)g+Z4V+)dt?ULPe({@gQ$&LPq zJHi}}vww=ccihx};$=hZ6EX9-XS6&l6Q8~lko>dCx;Nll?2HR-(TnEtop61}+qd*N ztIC{=e15f~Y|5V|zs_i>IrDhg)X$7NkNx&P`Xl@m*Kx^@yBEb@JuLN8)*wd7>x^r{hNvy_?Hxq*HKm7P@SH<(o!E!e{mkElNa|eHZ zKOwX6ZuO@_FElhi%s%Vfl%gF|5q;jNYx-TQjP%bF6sBMLBU#J%{;puOx5YViP!xN* L`njxgN@xNA+-(U` literal 0 HcmV?d00001 diff --git a/graphics/pokemon/fidough/overworld_normal.pal b/graphics/pokemon/fidough/overworld_normal.pal new file mode 100644 index 0000000000..cba45d45be --- /dev/null +++ b/graphics/pokemon/fidough/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +107 100 92 +247 226 117 +0 0 0 +205 182 70 +250 244 218 +225 219 171 +107 100 92 +232 232 248 +133 125 104 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/fidough/overworld_shiny.pal b/graphics/pokemon/fidough/overworld_shiny.pal new file mode 100644 index 0000000000..f2998a4028 --- /dev/null +++ b/graphics/pokemon/fidough/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +108 68 62 +243 210 54 +0 0 0 +202 176 53 +222 189 143 +167 130 101 +107 100 92 +232 232 248 +133 102 80 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/finizen/overworld.png b/graphics/pokemon/finizen/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..97507c58a5e077bc5adf344e24f45801f6abaf48 GIT binary patch literal 740 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 U^V%g9aR2}S07*qoM6N<$f~=8Y8~^|S literal 0 HcmV?d00001 diff --git a/graphics/pokemon/floragato/overworld_normal.pal b/graphics/pokemon/floragato/overworld_normal.pal new file mode 100644 index 0000000000..c527ee749f --- /dev/null +++ b/graphics/pokemon/floragato/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +33 65 20 +79 151 57 +63 120 46 +214 239 192 +91 95 75 +167 171 148 +49 53 43 +41 97 47 +29 67 33 +232 232 248 +149 21 53 +211 56 103 +93 181 69 +16 37 18 diff --git a/graphics/pokemon/floragato/overworld_shiny.pal b/graphics/pokemon/floragato/overworld_shiny.pal new file mode 100644 index 0000000000..95ca72f2d6 --- /dev/null +++ b/graphics/pokemon/floragato/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +43 90 37 +93 181 69 +57 120 50 +221 245 146 +81 92 46 +154 191 85 +52 58 37 +52 85 74 +32 55 52 +232 232 248 +79 40 130 +125 85 193 +154 191 85 +27 39 36 diff --git a/graphics/pokemon/flutter_mane/overworld.png b/graphics/pokemon/flutter_mane/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..41690f8600e9662c22b59adca96a58b2367fc8ae GIT binary patch literal 931 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 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/garganacl/overworld_normal.pal b/graphics/pokemon/garganacl/overworld_normal.pal new file mode 100644 index 0000000000..08dff16f42 --- /dev/null +++ b/graphics/pokemon/garganacl/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +86 77 87 +191 180 186 +252 252 252 +153 134 148 +0 0 0 +195 146 123 +68 51 46 +150 103 90 +234 136 28 +246 226 26 +100 81 77 +138 115 103 +228 209 200 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/garganacl/overworld_shiny.pal b/graphics/pokemon/garganacl/overworld_shiny.pal new file mode 100644 index 0000000000..1ddcf0c22e --- /dev/null +++ b/graphics/pokemon/garganacl/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +81 64 45 +190 149 109 +230 175 136 +123 96 67 +0 0 0 +195 146 123 +68 51 46 +150 103 90 +234 136 28 +246 226 26 +100 81 77 +138 115 103 +228 209 200 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/gholdengo/overworld.png b/graphics/pokemon/gholdengo/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..68d32e136ad1c767084a2a6722365bfcd5f1e82e GIT binary patch literal 906 zcmV;519kj~P)Px#Fi=cXMRUcZPd*g@0095nrq!e|)ub`mh!6kOEs=UQGBh_-TWhqWUYtHdb|o~q zzRik{pPU)o+5i9p2uVaiR9J=WnA>uzFbqW_A!8dt^8bI^Ekn{w(IwNImorl`ed!X? zmMmn$^|ckJD^D^-BV?RvDWcajnS(0hh|q)uR&E7iuB+3e zHLpt&PTC(0`dTpsW_%Y24FAPZ7;=5QrPnURv(+RSCz*+nAF5P}p)ljxVx*YZc}^3q z0(-%a?Cmb&*rZ{DIg32a%`W4h)PX(!IcISEyqz}VBg7Es9yb!sRC*0|`ix_hp>OdG zG7f>YMuR@%R1<+2mt|SdV_x`!`}ZFeb`2gY;5z6_EHLI6Gw?rqb6Tg*;GRIjcz}UB z1>s@m)zd%=aFjsEvCCt|7H`h8g25eulo`APa755t${ZySan^I%J|wI;k8Mm2ZZ8pK z2Co5}3`lLF1R}1}eY6Ne$|(cr#~9zac_gM`Fj~Ym&;>ZSn}LEj0dcu1WWfsK8N^Ec zs3E#{)-gV~k)NIuVgp?Oc?8gAI_sdJKWrgCfuZoI@QQB!F^VvN5b?P}=jW7Qu&(P~ zVHljkVD+C|6FBV!gc+cRRap56kfvyIC?xJ31?ruzbedKApC>0{)RL^%b=wWdXc4O4 zoOM$@JJ9J-*6Ve1GvJYc%~jOx-g{pJ2^i~(1RngHpBk*!+qS^qeq*v46e9c#+h6N-f!5b(5a4xZ*HCi+SaxTgWH`iRs~+U?Vq_WZQFtb>gaBVk9}T` z{Jz0q;Rw*9Vq`F0W<~&4Af9wsdAMk63b`D+1d33c!?-%wx%*P52Ua!kj`L+W@IMMD zpNs#_jcpJIL0{j#gGR5cgGaCJp+Od4q{i+7jv*U;8A?AIy=mqe;uit+j gd@sO`OLUjP6A literal 0 HcmV?d00001 diff --git a/graphics/pokemon/gholdengo/overworld_normal.pal b/graphics/pokemon/gholdengo/overworld_normal.pal new file mode 100644 index 0000000000..723bc75ea0 --- /dev/null +++ b/graphics/pokemon/gholdengo/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +79 62 21 +0 0 0 +255 219 166 +213 164 49 +213 164 49 +217 136 15 +255 213 45 +145 122 54 +50 52 55 +84 91 107 +180 164 94 +156 62 67 +118 37 52 +185 190 205 +138 143 159 diff --git a/graphics/pokemon/gholdengo/overworld_shiny.pal b/graphics/pokemon/gholdengo/overworld_shiny.pal new file mode 100644 index 0000000000..6e2d0516cd --- /dev/null +++ b/graphics/pokemon/gholdengo/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +79 62 21 +0 0 0 +255 219 166 +213 164 49 +134 156 157 +107 121 126 +255 213 45 +145 122 54 +50 52 55 +107 121 126 +180 164 94 +156 62 67 +118 37 52 +185 190 205 +138 143 159 diff --git a/graphics/pokemon/gimmighoul/overworld.png b/graphics/pokemon/gimmighoul/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..35c2bceddf74ab013f6e4d03ba8cefad0436c543 GIT binary patch literal 648 zcmV;30(bq1P)Px#Fi=cXMRUcZk%L44001K;UT=??q`+QpkC~*vNqiU0rt21!IgR9J=Wmg#cCAPj^f3D+S8zyIS_0%B*TI-KK2JGEv^(tbwS zUGQ^MjNC2+D)}og_IS|PIny=R@5f8J*-whxVC>VJ14EhO?K#UB$89*rT-ocn13dAlj z=PnRG9Y8EFHsA`x1iU%&?Uwli(ocRYfcpylm>&tmJUZyJ4+xaK3Bp14s%F3y*!%Zu zMC~64WZpZdvkwTATMSpu{nH4*5!m_z5f}jk0)?l3lhV}10_BXQ6vR>%I{;hY=-+O$ zY5{|rasu_ql>;jDdT+U~-glq!=hqYqgqgYo>z{*(m zIFCB#`6AGq?{irp9R3Ug)#dHpf&I{)IMRik6T0)5b^z0;uXF}Px#Fi=cXMRUcZ00008FpvWkK{Tl0V|b<1;_DwSLjV6UDl}4=r^J7MyP28GV|b;> z#NtIeP3r0#WB>pGnMp)JR9J=Wm%(ntAPhufj6(>4{{P?BWRpF`o~pFk3nN8)7!UXX zA=+h`nwpxLnwpxLx>mO4`I%VsG2e9`u;+8hZr%ozeb=#b%Fj^gv)!)V~j zJAnOu2y|Ej0Kj(xT=E7q{A+>=8UTQ~{odD|VbUe2^|{3x z(DKjm>){e$zYX~+Dy`MWeR=^>=>^6hRNK+2eMtV>KWj>D%{gc<0;51DD4+r0ALSVE z@1o`%M5<1K(iLxf?AIaxsxhx3Tws5se(0kEg4X|>L)X|{2Co3TV#^osQ6BlH=m+cg d>A!w|rf=I^4tdN0DT)99002ovPDHLkV1mql^XUKp literal 0 HcmV?d00001 diff --git a/graphics/pokemon/glimmet/overworld_normal.pal b/graphics/pokemon/glimmet/overworld_normal.pal new file mode 100644 index 0000000000..47f6b38dfb --- /dev/null +++ b/graphics/pokemon/glimmet/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +8 48 144 +3 21 65 +52 168 225 +99 120 165 +212 226 235 +31 46 66 +255 255 49 +42 52 82 +153 167 196 +127 127 187 +153 153 203 +99 120 165 +201 196 226 +69 59 77 diff --git a/graphics/pokemon/glimmet/overworld_shiny.pal b/graphics/pokemon/glimmet/overworld_shiny.pal new file mode 100644 index 0000000000..ffeb7a9376 --- /dev/null +++ b/graphics/pokemon/glimmet/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +45 244 215 +23 104 96 +204 224 225 +99 120 165 +212 226 235 +24 36 52 +255 255 49 +39 49 88 +153 167 196 +85 115 184 +104 140 209 +60 83 143 +138 173 242 +69 59 77 diff --git a/graphics/pokemon/glimmora/overworld.png b/graphics/pokemon/glimmora/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..e3a05b066f695ef7b1a322cd6584a96725175cc0 GIT binary patch literal 891 zcmV->1BCpEP)Px#Fi=cXMRUcZHfdG>002Rji(TNVEH;`lQ`Q?EOE55FTTYdYd(J&ZOIn7U|Nk*f zV0Hii08;Ju;s5{w`AI}UR9J=Wm)VlzAPhx~un@MB{Qu|9l^~lf$il868A_4bDh@CMUYI$4 zW`6_F5PSiE+DTY}5*&aAL{g)ch?-3j`d56wgMvfj^&+l9ZUD(d*am3WPlT7|OqK!4 zxhTQGSG+miS z&mQO{g81h1*ZI~|URG=)EBL*KNFT8goh0D>7Jq9*lCz61#E3AHCj(8vT<2#$0bP6b zAg?Q$$GT>hU!^TJv{s)V*tRVJKN&vDvaF5=0;&>0IO_n|9-I+64%qz=IyY{ku32{RD9eG3w7z zr50gPd8>k=_R9G#qwS;)&~>1cJOvd1E+KXSFpH&52nG2WvgDOC9_@jbmk@FYOO87a zt`WWut=0MN!R7Ks23|-60VLYar!zv~6}p-+;i#c$IND1o;+%3R;>QJc5x$LwC*G-n z7ZTA9$=msI)=+qzO2O^4>Xx{aHj3nwHu|){Ey7ho`wUF)bRppfi5vk%6Uee%w))Mn zhj`Fsv8)U%%z`NQ8&9(48r zd*Ibsh#n+zG=B+TRcuFz-kpQ|ecGnFJMr|!X_R7>NaxN&(wXCW6lp{DZ*<+W&{Qup z>RjtSKvg1b#{Qjn)V_ZjwRu!{y%hV)Q0F{e2>KV9QTyI~;QoT4OYuK9{s7%&96uRj R2igDt002ovPDHLkV1j7ik@f%p literal 0 HcmV?d00001 diff --git a/graphics/pokemon/glimmora/overworld_normal.pal b/graphics/pokemon/glimmora/overworld_normal.pal new file mode 100644 index 0000000000..e01a7da62f --- /dev/null +++ b/graphics/pokemon/glimmora/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +54 105 86 +0 0 0 +65 150 139 +93 224 170 +44 54 154 +50 83 214 +27 30 75 +48 48 99 +91 78 149 +141 123 206 +61 70 75 +90 134 156 +255 255 49 +77 96 118 +0 0 0 diff --git a/graphics/pokemon/glimmora/overworld_shiny.pal b/graphics/pokemon/glimmora/overworld_shiny.pal new file mode 100644 index 0000000000..b2310cdcef --- /dev/null +++ b/graphics/pokemon/glimmora/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +61 152 182 +0 0 0 +132 209 223 +171 237 239 +27 190 170 +45 244 215 +16 69 53 +31 39 120 +40 52 153 +47 79 187 +61 70 75 +90 134 156 +255 255 49 +77 96 118 +0 0 0 diff --git a/graphics/pokemon/gouging_fire/overworld.png b/graphics/pokemon/gouging_fire/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..b6b232b9d01c17d549065a189b8d2c19a3800e73 GIT binary patch literal 1141 zcmV-*1d98KP)Px#Fi=cXMRUcZ%A5~)VJ!dbeZUzO0001p5e_-c6u^iWLpwHmfrV>vWX8HEL!*;`=80U6>ozfM) z@qn{5+_oW6+vdy`>+{K-B^oE*h?gSmRe6`Q&$dMcE}Qk%7;r5S?`O{+s1dV-I-C{4 zBCk5@YtBg_ZNbk4GP&3-t|j8V(_j9ggnB$5^w$DM+~*Qefw@HdEsh0L9tR~FJ9x$O zquZEY)fa+4Pu}neJXEvC7-9J7j@D^qAe?#sa~o5N~kE@q$G-bwam^ZvwdD*xK@nkfQJTRDs2z#CjZy%u?T3v77pur7=I{QPVx5$8RgWm!%E47i>gDlqS^ewwB$ z4u?-JFZlz3n34j63QXyp;+Ct!c?(qG_WT2ZaBcLBcu9K7MecLSSiCq?T*50-A0`bE zj)_S=6_LR;|3?HX5jtd(I7ivgvT8Z&?{b!i?rhQm4*BC`@a#}?!71nc%0YqA^FTNU zVDeK9tlDbB!H^W^taV?=C=hP+$y^ z0$sDjh)=@yDz$E1S%i0?;^2J4h5PG%sE|8|bFRxvWS^acHzju}@J(rCaKJ@xYvs~A zHy*p0LhL&k6>5!O5}b5fGlQIXLoqzJNhZp(6lSyNW=dNkhi<&Cab>Rm!O5?|&hOg+ z(j|J{_OkpK4GBAMqf-SwZ!Nu=^{K#V;fP))trDQXyo@&@^lB$J1LOozcaSsSsu(Q| zQ8b0o46g`80P&&;W8r3ihd^E32w*o~1?bE7OEli-lWY`k!ISXjKOBx(<-_kn;MD$) z#dJ1b1jw`>U&CG3EFrbpup|6SzYE=8JAPQZF5fQn{}}%PF)KZC)$uu;00000NkvXX Hu0mjfn9UyR literal 0 HcmV?d00001 diff --git a/graphics/pokemon/gouging_fire/overworld_normal.pal b/graphics/pokemon/gouging_fire/overworld_normal.pal new file mode 100644 index 0000000000..cc60ced1ee --- /dev/null +++ b/graphics/pokemon/gouging_fire/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +202 156 15 +120 97 44 +255 236 125 +192 25 22 +0 0 0 +136 17 14 +57 205 20 +192 136 24 +67 59 54 +123 129 133 +107 113 100 +198 204 191 +230 235 235 +198 204 191 +0 112 249 diff --git a/graphics/pokemon/gouging_fire/overworld_shiny.pal b/graphics/pokemon/gouging_fire/overworld_shiny.pal new file mode 100644 index 0000000000..2d1a121559 --- /dev/null +++ b/graphics/pokemon/gouging_fire/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +235 148 37 +199 100 36 +249 189 116 +93 92 92 +0 0 0 +51 50 50 +70 220 210 +152 96 57 +67 59 54 +123 129 133 +107 113 100 +198 204 191 +230 235 235 +93 92 92 +0 112 249 diff --git a/graphics/pokemon/grafaiai/overworld.png b/graphics/pokemon/grafaiai/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..773a3b7989f590c7eef3958740496d31a72735a7 GIT binary patch literal 751 zcmVPx#Fi=cXMRUcZaAjqwot1E9WdHyGKR-+;C@4lkRI8<|=Hug6MV5-fqN2;DFqE^g zEM(U>cJF;(yZ`_KZAnByR9J=Wm*H}(APj{?Be1CW{%?D8g0@{r(ApojoiW{6cm2|E zNMe}ny2l=S?6Jold+f1aVGb{OyT|{x0N1;rcm2TEJDfv1B9hPB#pJ5PPXrJmyB@U1 zrQEpAOLPX~2;j#Gzwz4PhXQCE5!v+~)^nod#${dv4xAeyG=>Vlaes99SfH3Kpv5IH z%^CA%X3V^=40-rn_9rlPreDU943OM1u?6X|I!(rYzw+F8CU-5SbzT-J+imw-5 zseGl&Toig=L~?V<$76VN>J@)p<^D^d~&{ zDhAwAE5!H!?K>vlWSzo^+JfONjS+>E&0}n~gtE!O3HD?)u`UZ2B z1Dk2q1o8&+ev)QQKa1n(#*Jca0Jy;=!{{^Kfl&d`Ph?d{#iE=?TpwwFbF!ULdC)Q-*XpQ*JZ)5F*YDr0+8cB_ hpBw8J+!pv3?H@4=BRFM`>F@vm002ovPDHLkV1nS5Wc~mE literal 0 HcmV?d00001 diff --git a/graphics/pokemon/grafaiai/overworld_normal.pal b/graphics/pokemon/grafaiai/overworld_normal.pal new file mode 100644 index 0000000000..ad40b14cbc --- /dev/null +++ b/graphics/pokemon/grafaiai/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +112 101 101 +169 157 149 +112 101 101 +0 0 0 +63 63 76 +40 40 40 +70 66 84 +171 165 172 +230 227 227 +87 69 150 +138 194 162 +162 203 166 +48 148 179 +177 44 100 +215 56 118 diff --git a/graphics/pokemon/grafaiai/overworld_shiny.pal b/graphics/pokemon/grafaiai/overworld_shiny.pal new file mode 100644 index 0000000000..16c8ac6f0f --- /dev/null +++ b/graphics/pokemon/grafaiai/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +112 101 101 +220 220 195 +172 166 153 +0 0 0 +101 112 102 +40 40 40 +64 34 100 +177 168 168 +230 227 227 +182 74 96 +169 169 226 +213 204 255 +255 234 86 +64 34 100 +148 97 222 diff --git a/graphics/pokemon/great_tusk/overworld.png b/graphics/pokemon/great_tusk/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..eb3ee7abdf03cb597e5acf670401d3d29262d94e GIT binary patch literal 855 zcmV-d1E~CoP)Px#Fi=cXMRUcZd>JKi8#5FfBt=4Klp{1qKuDl3QDNI*MPSmV-P3#{=@!Vu8p zHXqFHb0!Ur`6lPcX7R+K&PfREE{8tviJ|h?p~kVmY)4nxo1HR>Fia5f~@N3_4xSmSm)yyu8X`(9P{xUQA~TyqQ#gPqP?Vmqsl z*mE<7K1n!aIyqT4#%2zqA*w8xq=a}yGrTDBHP-?D1LN7OFP{`OamK`-Lz)+9<q;$YusGMQQkbVmKZN@!N4kjYmV)pbK z2-{Tqybj=sYc_N~h??9t#nK0E;#r{Zo69|ou51Ii5qXY7=7K7-5hLZF}6wuyz8(k_4%f2B=4t$U!hk2c4cueELZx)AP!{)fdUs<^2xAn;~=A!Qd z1KIqEP)Px#Fi=cXMRUcZm`c63fzkKSY{{V90002!>+iU=zg1vyiIk?a#M3J;HZU+iK0-w> zFhDRcK+Hn%1poj7q)9|UR9J=WmjRC=Aq<6`)s~i-UH<>Sy}qKkUFlFqFS*=Bq7&oy zgx5j=Pp5Z#w|9HD|Eeu7;lJOOkEz83r}5?Sr;5bD$9W#Wc^W|)U&0?y%mwEEe3=NA z%Xt<-8h*l0X@>G4E;IiLPs306Da}yY1@W>lJU;3-0RVttq@Tmn<- z?O~f~TuQs&X)_Lgc0^G#hvu)59arrbH;0%2t1~=lJaDdDYs5)gFK;Cnql+iHb5fj|prLaSm}rrKImbmwdyQy#U7B-( zMc?GiA3okMvV`{xQQzfgFM~6Vjg|{=;k}c5%57_bz=l!WxQ1(I#&J?8;>0_;FlOAg zW@4)jdyISBBiydbc3b1pCBY=Px#Fi=cXMRUcZL`hA0dV03A-%d_aX)iAT006B)V9dwoxwkI4y~OSB@edCV>gwvt z%gdCNmI!f|AOHXZkx4{BR9J=WnCq^qIt+wygRClnBx$1I`lrf&ZES`hLAIN^bz4o51h+-TLx5TUd?vOUUC@;I~}H{!gFq zVH}kX>)0t$j}KY}YHt9C|2hL>j0%fi8e>zT#|Kp^9C2t5;PD?57^5l_LLZI|g&rR? zzJb&ZP5lnvEmCbJ>F`m*`~6nMN6=OR4u`<_wurq1?)gXHG6owRuKf30A_N8tz<8M} zk3(OILTdzH8VWs*79u>a90Cf14k5{7E-)wrmIpqgUK4OQGE72i-YTh)-#uqZSZ(qU zIT8mMLX>CR3?|T0>hU~;#|QJ3`e0LRWMEvxGPrP^=Bx@$a0qY>T?Kj^-3J3YPty#A z7%Lox@VE)Ixs`;r?F8_fBrL-thq=>4h4hue-n6%a3iEEznjL0lfn3UF7mYTh?8(8!jPnkpy%rbSb8D305v>aN=-9QQ(<(h=jtxL>&Zr zd=sc;7Rgy;F4{`qjtl1}vd;*O)S9HlrMB5|mPgiXZxgsFv^E}J_0ge{tHZg_p@Tw~ zCzc3%6%)umn_R+)TYX!%^Zc$kZr zU^(4M5O*9FDb#8E;Q?ltTUs>A-G3^n$%?byxlUB_ftNG?=q^(5-JqwtpGiaDljyhG9-Yc%6`mffwi^5|;}2J!PGx_WJ=XvL N002ovPDHLkV1oHv>9PO- literal 0 HcmV?d00001 diff --git a/graphics/pokemon/houndstone/overworld_normal.pal b/graphics/pokemon/houndstone/overworld_normal.pal new file mode 100644 index 0000000000..ac1cea7e9c --- /dev/null +++ b/graphics/pokemon/houndstone/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +68 73 77 +122 122 122 +182 179 223 +78 78 82 +105 47 47 +0 0 0 +173 65 96 +204 199 231 +185 183 46 +185 189 196 +237 239 241 +15 15 15 +234 234 234 +203 203 203 +148 149 150 diff --git a/graphics/pokemon/houndstone/overworld_shiny.pal b/graphics/pokemon/houndstone/overworld_shiny.pal new file mode 100644 index 0000000000..ccdf95276a --- /dev/null +++ b/graphics/pokemon/houndstone/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +68 73 77 +122 122 122 +161 138 111 +78 78 82 +105 47 47 +0 0 0 +173 65 96 +220 211 175 +185 183 46 +186 165 133 +220 211 175 +15 15 15 +234 234 234 +203 203 203 +148 149 150 diff --git a/graphics/pokemon/hydrapple/overworld.png b/graphics/pokemon/hydrapple/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..2b2da7ff79413d04b8887c30ca418055c9a855cd GIT binary patch literal 2096 zcmaKt`#;ltAICr6uQ79+!<^YfO(k39R8C6{L$O;b6-Ls<6*-2G&AD`Pid+|2Ws=aY zZZ$%igrtk1LR~SZl2&ufdAr^BA8`Nje!pJt*Yojs{rJ8@ad(!N(UJiG$h(joJOO~{ zo0=pou{jMhDc3g_6z%D34{E!0zHJ&J<&c+SbX&O@Q7PW%Fg4enbvxQ0jowWBC~&=z z(b|`bLk&_ne}`=zD+~?!WRjja`p-MghXFv=x;Py0iZA)`$JMAumU5Z@5@d(rMmI)c zFU;ODAKbI|t3cr0pI+ebWP#>n9#$Ciu`Z;);_#p5VgFyyIsrfYfxm^NuDGs&>UUj} zJ0AHsTc2(riBNps8+sq!e;iA@L)7Y`xrukv<0N14mln-#Zzw{I8&CMw^K*|60-fgNB5q5knOCmm4?@bV$xd$u{V52ynzedS8T zA)E5z)TF+B!klBaw{)>&PGkL^x^-qGFD06KOM7y7E93P2p7ZCVjE?g@IObf9*03V0 z5f^ga?^5?A4|9oP>y*}T1y-^_%0hrtZP!uhkomvTyx?}ds0O*I*eurzF++(9d2;fu zqNLRBa8_Mm)HmxMOsU4dy?`%5RU45mLuq2(cxJbRjWN6Z*?6V3GuE_Wi*z32@)oumM)>m_P+-jW0_2R(qM@n;N2>+$|TO4>ezUC zglHN)yGHc0n{%=POW34)G3W+_7wJRUMBsM9b4pC%N=Nqi^S;WRL0dQ~smCt2rF3ID zjvJdC;AW(~8S1Jzbn?aGl@1kJw^3>HS?}27i7>CHs-}zijmLJF>6f>>B;>h&qQ(-N zQv6%;>2m3wqi$oTF)^LRziG+WXZTLEFS_~ZziN|9a)PU@Ck`GFI}ltWVH{q2H*0GB zbw9_tmo0N#+AYZ!ocSwPSBKqIFOU4Gk9*W|G-s+hku1fiITJmac~5sssD99k5)h9O zUL4&pMy*RRI$45sh3%df?q!iOST6@;No$IPKhTH?sR^cR%`R~F;zLn^En)br2deHM zL*d&Nh}@&+fUKR4hFyCy5U#YtTr zb6p(34|GE3tXf|K7T&MU&cikv*dRGD7&uElfDV#vEA9#lw(WhNwj&+$qQc6RQ=u3L z=SWW6c@6WC(2lRt!04h8@X6xi0%TWq((7-nPnCSTgy8vWY`JS#1uWsBUfKUPe+P`o z`6*YDlfr7(N)P<5JB5CJBTsZ4ooAiJb-*n}1UwR&_YqKDjktj`x8?Fgwutf1!ERhZ zjr4AW%yPoX95rbaNtxo%q{@gA0fv%&YkD0Grq7%=xHN->;)8EsRjW-v?+AjMB@N+X zsCFkAFb`k49;q89ol{~52d9%Umd$apv>U&aNFJ+2V70@UE#&W|4=Wgoav88`<2kVj zD7PIJx-YsydcQtnR^yyG^1sCnAmV>hQ)VIjSAGq+Ehb7TZv#3w7}39&4;exo zK=7Eo%%QH~=!Sd^;F$wYwa5XpOCN+A)8YF2B(gLapGz?Xnk3j$batb1O&}ad#MAbr zw%P6QmJaSC#9*~>3KQ)6ArENUAI0;F)O&UEv*qY&}{LM&3S?H4E zitn9Csg@berK2n~uZl|f$^123Dxe!f)(z3CR@kJkVG+eNdESJc>cl!TS&dg&rntx% z5mGp9G?ycIY3X*bFGY@92&UeuB>wPCe4Vhqmz2*@qfCaoQkBU+31N<3wo@dC_z0cw zcwMBJyJmR}HS;$A>P@_UPwNfZWWl%?1kd`F)AQ+0sShO{=!Loi@8{!|-cA~1K3!fx zi+Zyi5kKm(GT(Dnc1D5`vf#)@pCAo6-3}edrOx_$(7$lV9g2Pk0V?N#ADq z5?tA9+LhKx53%*F8ceCFDdi`%flHE2Uwg#ac*&LBYNXh4e)TE7X;L?~bkcT4U;-2e z7Hi61(g@0fNY%<`0kLuJVBtIF-GO#x9xa0xXq@81!KQdGTdiT}>&VMSxX*5boR3{> z{ZaP_Zs~?Bgj69J##}Z)d9B40*@{tB(Ef1@E(8xHiZVq8q$Z__IV6aHUAT5-+`my? zhy6vFN`v~teiEnY(27_B#bWnq&#A{rT2=!m?YVBq>9aT%w#agBDizm-h!fY;IW|$R Uil0K7o4*~nIJ!I3+WV*e2Uw`L00000 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/hydrapple/overworld_normal.pal b/graphics/pokemon/hydrapple/overworld_normal.pal new file mode 100644 index 0000000000..0f8efb75ee --- /dev/null +++ b/graphics/pokemon/hydrapple/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +53 48 17 +120 92 77 +95 145 66 +176 152 115 +96 16 16 +0 0 0 +94 80 2 +184 40 40 +251 230 121 +217 185 6 +144 205 109 +96 16 16 +166 36 36 +224 72 64 +30 54 16 diff --git a/graphics/pokemon/hydrapple/overworld_shiny.pal b/graphics/pokemon/hydrapple/overworld_shiny.pal new file mode 100644 index 0000000000..1fb8f281e6 --- /dev/null +++ b/graphics/pokemon/hydrapple/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +53 48 17 +120 92 77 +95 145 66 +176 152 115 +95 145 66 +0 0 0 +94 80 2 +144 205 109 +251 230 121 +217 185 6 +144 205 109 +133 71 3 +235 194 14 +255 234 81 +172 44 21 diff --git a/graphics/pokemon/iron_boulder/overworld.png b/graphics/pokemon/iron_boulder/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..ff9a212199ebca3f5f9e0d49b3904775fc816b99 GIT binary patch literal 1105 zcmV-X1g`suP)Px#Fi=cXMRUcZ5D*Y;P(@l=R+5l?I4LQ%vZqWpG`M>q&(F`_sX5?a0P4wvI4LQ5 zT1)<{HPyjxEdT%m&q+iHq)Rsgh$1zP5YL!>n1Yhs5?4 zPy!)%Jbvxhe(l%(Hzv*RPx#*%|9FH;9z<2~`$PV34LwKN(Fo_7(vV5LAImzi~@ZkF$H3M`mjNGqlA zypjP^{F)=M*DkLCs!zwUz`X$ZtqA}fhs0(6^9KqiiA$}!K6<+a4U4pE40g-6{J8cL6M|iVF+KEg!;4zKy}085+G-I z5(srnAKX~C0pRP*rvMv)?>CA((~_wL2YsgIu-M?hv74Xxr8X@)XE#nMR2^FG<;xe6yJ0{%v9pKU~1m0`keAHvS(4P+apR|7f Xt9LV=US*&o00000NkvXXu0mjfQfdUi literal 0 HcmV?d00001 diff --git a/graphics/pokemon/iron_boulder/overworld_normal.pal b/graphics/pokemon/iron_boulder/overworld_normal.pal new file mode 100644 index 0000000000..cf0d9da89a --- /dev/null +++ b/graphics/pokemon/iron_boulder/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +16 16 16 +109 80 69 +90 90 86 +146 144 125 +56 41 41 +182 178 167 +76 55 52 +184 123 33 +207 207 207 +223 169 57 +224 96 0 +234 201 132 +56 41 41 +122 90 75 +254 172 53 diff --git a/graphics/pokemon/iron_boulder/overworld_shiny.pal b/graphics/pokemon/iron_boulder/overworld_shiny.pal new file mode 100644 index 0000000000..4b7b817858 --- /dev/null +++ b/graphics/pokemon/iron_boulder/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +16 16 16 +173 173 173 +90 90 86 +138 142 138 +90 90 86 +173 173 173 +138 142 138 +184 123 33 +207 207 207 +223 169 57 +207 207 207 +234 201 132 +173 173 173 +207 207 207 +254 172 53 diff --git a/graphics/pokemon/iron_bundle/overworld.png b/graphics/pokemon/iron_bundle/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..b8105c80b1ed4f953a4d9e1363b3de35a863d362 GIT binary patch literal 697 zcmV;q0!ICbP)Px#Fi=cXMRUcZNJvNk007j~)K~}zs;a8U7#P35znBOJO^U!;!2h_Q82H#&fM^iZ z)YM2wNQm_Zs{jB3H%UZ6R9J=Wmg{b$Fbsub#~~NUy#M3wNkHtZYRA*6e^$aU44Th` z<6}b`!V^zC@x&8PJn_U6ArNV&pYz`l;jF#l9GQcN1jgA9_-`0M37aL*;lwerY}+Q| zbLpSw`~I^Q~#RNR5*`6;Q&J)6zT~czw|}JKc5ea&d?3=IOkIz6lS%9 z4j%$9eP#hmKA+8DFPkH@AQ3|RA#f)0s5V6Cb` z@PSPZUFF;r59Rv(wY^#$8Cn5v+!*47oK1vc((^s#9{*}kYfUSl6=2wB@W6YAa$)NaAv~VE?|MQP$gB8t<0WoZr#pc|NJAar4P+wSkVZh|(_4~f}j^H4ZvLciosVM fb`Px#Fi=cXMRUcZAY^x7NC;y0_xR9IIGn8(JwxEI2ofL*$Nc<2Kv92C*%u9cj@2g1e(fMyMfXEB8f56Gp5<=+xH{3+? z(qH8)&w4WnkHSF{5hck+jT;wDO36eq0tz>C`5K33ZGwlB6(ca`CW2Xv5hF0=Y}ibm z#?g{Ze)ahOmXqg3Uvc9c5|=J|=p2$crhe@J(Kq_yvb9Yw?Fs!xVkyqCgi{ zyGkjl^6(HCu5+kc4MppPJlFWPfN}7!Gok>6A1~b@fr}0Bzw5yF11Lhn8 zdx$3njCszb;&2T{m|EkH1u_mAkAF$PoWnx)F^P+aJl9gI$s}c;#{UT9U1BE&O!<)` z5|(+s)tW2|d`3Cv5BXz(nrg#O6d?1Sna={>QdQx(v|77^>5=5Ql#)N>#{w9IST#|A z%oATSe9Yt?W@B8s#F6C%8x>W`u}z`*$-^4w1yJN*SSvZBtz6!NJgPqvH>;!y0)hdAMFK4I9wCE&cg$oZZOh%qt^-B5tW3vOu$x86YqRn4?`f~Y;J|d7e3;5@S%ZeD>V4338kEe zXuMyP#Ic!tkaRB83J}X3!1;Z~djNQdw195GT;SL5 iKgb6Qe7e>@(0%}CX)U@}20-Qj0000Px#Fi=cXMRUcZ0000nH&_`UF+xsrQczIK$;Hs86QiG)DJCiW(iT`sDS35lIyN@| z000000Gn9uxc~qI|4BqaR9J=Wn1Pa`AP__|5Rei4|KGjtK{kR)YHzRV?y5p%6Xk(+ z4+G*p9-s0lpYkdHQjs6>zg@)56~5yS|KWyfrUvF*oC&;b@Qy#cFh2efVjLY+jzrK;4b#vhksM1iJnVqnT~b*S^V4kz5=i|`tM(m{yJtCcJ`j|V=CQFG%dPQ1U% z(m4-N_8Z740p`5MHwd_RehKyV22gY0p&z4=LJJYFyG_zNUau5l@FviQ8v_Gx0w9ke zmzXFHpTzUgK(tK#aLoYsR&MUi;&oHmh#0} zlb2PF)3~I4spk)_Fpj{;yGdRRr0Ng%@%@e^XM`+-YtH=%+Z#ZvI7y4iFDH&o7Un_56e(#-MLpNe z>|UEL?<_V)jvj|i8N$QFE8OWgJHqV_{V)01fXQ6(I|?)+iUmC9n9dyQYtGnWC_T!i z-skK(1IBeT4t(NNh|omYFjsH{8Q^McjDY6K@b&+Y&76p zcYVKO;}s7E?b%Rlgo@3$@9<_IGqwpnciKuX-$~#7H{)IFpY}hH$(82x|17@%geNUH TX*Z2X00000NkvXXu0mjf9dIKA literal 0 HcmV?d00001 diff --git a/graphics/pokemon/iron_hands/overworld_normal.pal b/graphics/pokemon/iron_hands/overworld_normal.pal new file mode 100644 index 0000000000..d48fe515f8 --- /dev/null +++ b/graphics/pokemon/iron_hands/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +49 55 88 +25 32 49 +66 78 115 +82 80 80 +203 201 197 +208 167 19 +163 159 152 +41 38 41 +252 210 22 +88 74 41 +121 117 108 +58 54 55 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/iron_hands/overworld_shiny.pal b/graphics/pokemon/iron_hands/overworld_shiny.pal new file mode 100644 index 0000000000..2dee14f755 --- /dev/null +++ b/graphics/pokemon/iron_hands/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +100 103 113 +51 53 57 +145 148 155 +51 53 57 +145 148 155 +208 167 19 +100 103 113 +41 38 41 +252 210 22 +88 74 41 +80 82 90 +58 54 55 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/iron_jugulis/overworld.png b/graphics/pokemon/iron_jugulis/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..3058959c13ed2447f8eacb0cc86c010c1e7aad2f GIT binary patch literal 1513 zcmVPx#Fi=cXMRUcZ5DX9@86n{Sof{V$M@L8hP0Ne`V*jH56EuKZbI^vX@IO00055w0 zKc*gH-wWmtdjJ3hXGugsR9J=WSlN=>AQ035f<@Nx|9_jF0|W?rE7`oHD(sdmsX2O@ zIk1-Hf9o3k5dXvG(DcfW4~FJHPekD}!|!nJ@&`7$6-^lX$PAr6nDkWqIYBYl2+}(N zzBfR6yp!+4sGy96Akz=?mF5PR0L1fPoSO(hBCO)&Zk*do52wSQ7WhxQPu}}=C7)vQ zw63@tR`4=h@Osw_R{=-}(nJ6S%m6BO3`?*$r1WRtj^Thm#yb*qS!Hs=c({erFkzgp*3kmu z$>GT|+>NW>_>4bC95hQYXZU!|;78PlA*Sr{mYt0^-;j@fJUE9{GL_)Y?t6mCV~gSE zGW?kZD?YJ+g6Ed<_R2ZGww&btc0@PD%L3v&pu|=QKRn?3I-dEGaVN8ayL5p7Zjrr& zboe6-Dn2nlz^~}RP5!cHFTeAUTc@~5MB=l^E5YKl+>}5-R?`?yuf$Fw zKKMui73c7p)d&vp!Ve5nLw}L^o;Z^MH*4g?O|5Gu}9!}=9|8yIq) zb3W?+v|&8pgLhfkA<7hY=(|T;QLW9q{vsaT;_UT{Ff<}$v@3nP(^Cd!3aYEqui(@K z<(O3#IJmbcki<~Kc)-K3KP)BqB}h!zDp-<|Jrfu?fi>xICr_ygFz!H50n`Ag0ItEE zRD+wp$g(A_kUTZJTL{&|27INlP>92V6sebkCtFZs5Rrxd5!a{UfMP6{sH$*qDu7$G zhH2p5J0wmbK4tnsmhFX1kqZBs0v@;?S-J!!4lm1!k2@VsOKU+I@MQd#La3ynHVNq@ z=2c>%;<|$Dgc8)`5R()b8Qey2kC)xP`Ky+y4!W62MPUx#?FGI)9@A?}q7s#~%bIx56ZTFQ2W#973;s8}Mys3-Z0n zA*k+epkt{{Y=vRK^`TKnvZth#@T72_XJbK5o8iH5se#3bs=~-Kw98-Oo1!pfL;1 zd-NCG3X_*I;s)GFX=&>9aRDcHLMne4_JFRV;1_1Hd1B+c3^r zg2Y0_*S<@r?N_M)gE7-uO8@PxQo&ejV@L?0m$tW?p_@AO^T_4nJr%vCwc9 zFN|+4Px#Fi=cXMRUcZ9y}sBbwF3GU=R=xszN-1!HD2^h)0r700030qO`$OPgq!3y}h}e zotb25Y!_^7W&i*Ka!Eu%R9J=WnBj8cAPj^pfdiz$y#L$YF2<>^M&R~--At8E((=h> zg|JY%EWh?^Cliq$@Y(2huKFiabhq`)mTUTO};ECCBZZKQw5y;9WU1M))ncu=4EyF4*FHAjc>4`wOd z;?LtXpK4=WlZebScHZE!ELmyy~k{VZ~l z$4BjRm(Mu$Q66@uA#lc<#1|g3fJf|gm4AneHhJ2gX292aUv4ZbfH6M=28T#pFasEI z7Mf#yuO(*8eR#T7C%Ot}{Oz~;95UX2!cz#MTw_%Up%cJ>`-}>Q1fx1=uh7qUvvu8a z=8th$PIv;}RCNQt>K}5yaal47)A^|Vlse?HFON#u5isKm536n4cu4i|i2DLi zR8U&uAy7_5f5w}_75Rbb+SNDZESNDx*Ox!xr4(UxiY``N=v4GOe2+=_n2AwDW<0Uh zr^vT%3TC{Psn#c{Vz=v8g%b|aQheE6w>Z{TcwAwl#BKl+ju|#~hBdl{S!_Ht=OJm#NX$XagxnARtWdjL*cbv%7IOemMi0> z(a6A%b9xqezV*7^8HYomGHh~wV43vm4k-=y`N9iJ&KYjTGce-9W|KvJqr|Ji8HYzM z`yLTG^4GsJ4SwJ*uS+atE7DKEgbS)Wi#4sF;$H%oa0=YeE@EfEVauvtzqf%m+~?e+ z+*mm8?J`=qvm6AcbizSvUXPPx#Fi=cXMRUcZ0002abt(U!MNLXclvNoJ5D-Tn9p*tgwKXv@FE4FvZNtOEpwrXN z^Y;J%0CySzS^xk907*naR9J=WSc{J1APlU5I02IU|L5M=V2_y{kFHr}!U@COzasM?u1e zGrpbTYKBko4-DVaujd4T;N4U`n4CPi2@WZ)6Z|pWX83F^^lJz5-cQak>nCRCCOmmw zqBg-7o@V_t(|7SU!$<4ndi_ekJ6=QquFekxB*mA&Ho+I3q9~XnJ>V~aJ>H@}tiU`M zI5|TIjYrR&$J+ALz666GHGT@mc<1 z`c9xwx&;md1n+&M5CTQHweYtPUOmMNYlmI>Ge-SSWClE+-Gwh1OzY;hN6A;D% z1r!&#HSn@TB5+)wmY|j3loE3kVq<}x1DO^6q9F2MrB0xMpYb$>1kc&RA4_B{P)*QG z@EteW`bnbB9LkW}F^TU4O3newyrvb`dA1gzERnfDEx|#+5f>3&W`U||UgmTNNb|zd za?Qp!2<-6Uo>v)J9t?OWWLU635ZGzB3EBxh?NB)Cm*`GAbWUC!eVVmT-MJYn!%pDE z@5IABs)9@r4+gv{RDq+unxIi&=?sfDfvHnK+A`Xr$vgNtpGup`-c1+7PTNu?i$4|i z`g(#ry~FOkF3_m{l%O>Pjyg@@f1Ng!VJC3%tpm#Ts1U7@5q~M{^tA*ndaxsP;3X9_ zs6S%>fPD-bja;~^GiBHaoZ3Py_>|Xxzno0GuX?~Y_==!Ok2PwP`jJa~&*f`8mBhWCTa2MM5ofc;uh7X5e znk#}zuRn^)83T)t)Nz3iXH_)+#A!=8XIy!jdJi~M0xh#-Zr`?Tmx6zE*iCaquvo{h zGw5^)|02^t-hV1Uwlfjn+a_0sN}y#Hej5mG+Oba#n`yoYo>oIZ3R^A$MhB98Y~p!y&LYw*-r|?}9ySf$Q13<3#z)Qiz9BOF$h?fe+?-#`g}Lxg}VvLzggf z1FwHpspM2nx5wph3AD|vgtrd;M$!;e>(f_e!{N&xo+<}^Z~hW*ncstd>hQmeKThZ@ U78W3)o&W#<07*qoM6N<$g4P2Qg#Z8m literal 0 HcmV?d00001 diff --git a/graphics/pokemon/iron_moth/overworld_normal.pal b/graphics/pokemon/iron_moth/overworld_normal.pal new file mode 100644 index 0000000000..23350af658 --- /dev/null +++ b/graphics/pokemon/iron_moth/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +206 117 41 +255 159 69 +77 74 73 +148 85 25 +16 16 16 +71 31 29 +230 65 58 +181 53 49 +49 47 47 +109 109 109 +195 195 195 +160 211 211 +206 243 247 +0 0 0 diff --git a/graphics/pokemon/iron_moth/overworld_shiny.pal b/graphics/pokemon/iron_moth/overworld_shiny.pal new file mode 100644 index 0000000000..5b0f15c428 --- /dev/null +++ b/graphics/pokemon/iron_moth/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +206 117 41 +255 159 69 +77 74 73 +148 85 25 +16 16 16 +91 94 102 +213 213 213 +142 142 142 +49 47 47 +109 109 109 +195 195 195 +142 142 142 +213 213 213 +0 0 0 diff --git a/graphics/pokemon/iron_thorns/overworld.png b/graphics/pokemon/iron_thorns/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..d860a069abed827fe1c566c38be5a4a42bc348d0 GIT binary patch literal 1020 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 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/kingambit/overworld_normal.pal b/graphics/pokemon/kingambit/overworld_normal.pal new file mode 100644 index 0000000000..fc2af0f1cf --- /dev/null +++ b/graphics/pokemon/kingambit/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +120 98 31 +181 149 21 +0 0 0 +227 227 235 +172 164 180 +230 189 65 +47 15 16 +67 25 25 +232 48 43 +127 41 43 +35 29 10 +57 52 51 +88 35 35 +96 94 94 +142 56 58 diff --git a/graphics/pokemon/kingambit/overworld_shiny.pal b/graphics/pokemon/kingambit/overworld_shiny.pal new file mode 100644 index 0000000000..80fa0d029e --- /dev/null +++ b/graphics/pokemon/kingambit/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +120 98 31 +181 149 21 +0 0 0 +227 227 235 +172 164 180 +230 189 65 +18 21 58 +38 45 123 +232 48 43 +49 57 156 +35 29 10 +57 52 51 +95 31 33 +96 94 94 +57 52 51 diff --git a/graphics/pokemon/klawf/overworld.png b/graphics/pokemon/klawf/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..edec75755e41785fe1238cf0607149a40d6e1260 GIT binary patch literal 852 zcmV-a1FQUrP)Px#Fi=cXMRUcZMIsyNcsP0079y?&#?Fes@{6k$YHKH}cn~!(UpC zXHUalS}k~U5dZ)J(n&-?R9J=WR*R0~APlTAb`yx2|Nq;wp%4stboWlGPKu?rS;oMO zJ+OH^?zrQQJMOsSjywKMK#pJIUkzpEa_o}4!oM9t4jtx@C)YE)!oMEiz1zb3LBIu` zlm6C%aFKD0L!w7izFf!f9B1YqTTtf=DXwPh(?7%+y?;(mn#svWp1eo?7-ugXNft}1 zXN$E2<$1tmj#WTXBrGP~vFItz0sX|2Cs~%#69)bmXBTJCRo#1a`Gq-Fg6wy3X9N%# zlMV_la1KH0y5x|j5V&a*zz)7m21kI-1_D)re1IDc(pjlaQ8+R@#iie2S=ZO{5_C7-aaVp)!u zcL0nmf(=eOr4sbN5@7Fv1)n@2rYd{A=Q;r=IB=X9A}vcu4v}v??#xvHv$m|kDFV-t zEyKz&J@a-^$?4m}jYq_#JV|FUaa5M}i1QMrBOKUkg(KHU*A*0kA}|kZ2|6INV6zzZ z(O66^I^vr}g`Qs1;sVkFCDw`Vk;86@vnM;{B3(z&&Ob%q5za$}r2*Us(1f8wr3i&!8#qVsRe*;$cX%UE_b(Qb zjaW~dIUhyf5uQqJDy(ll{HR@$2lf`m_Fdvl&@4!P>yUPkETt^4oglnq4LNv%3fL7m z3zR)HAxvj2)IlbYkn3sdyk+MJQk!C_zA!3gq@-vN1yzo$p=%?zpmmi1 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/klawf/overworld_normal.pal b/graphics/pokemon/klawf/overworld_normal.pal new file mode 100644 index 0000000000..d84569eb1f --- /dev/null +++ b/graphics/pokemon/klawf/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +69 34 27 +233 120 56 +146 71 56 +180 88 53 +56 55 49 +0 0 0 +200 200 238 +232 232 248 +126 119 89 +182 145 123 +88 89 55 +242 215 167 +195 95 90 +142 103 79 +195 95 90 diff --git a/graphics/pokemon/klawf/overworld_shiny.pal b/graphics/pokemon/klawf/overworld_shiny.pal new file mode 100644 index 0000000000..625f90ff0d --- /dev/null +++ b/graphics/pokemon/klawf/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +40 88 128 +88 176 232 +47 84 146 +69 123 195 +148 148 148 +0 0 0 +200 200 238 +232 232 248 +230 231 207 +190 161 138 +235 237 194 +253 229 187 +116 171 200 +141 133 71 +232 128 104 diff --git a/graphics/pokemon/koraidon/overworld.png b/graphics/pokemon/koraidon/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..6b35043046a372cef05fa3ff29272d014f117f45 GIT binary patch literal 2428 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 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/lechonk/overworld_normal.pal b/graphics/pokemon/lechonk/overworld_normal.pal new file mode 100644 index 0000000000..f8968afd93 --- /dev/null +++ b/graphics/pokemon/lechonk/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +54 65 74 +77 88 92 +36 44 49 +70 58 55 +146 119 95 +120 98 78 +144 40 64 +200 96 112 +232 232 248 +232 136 160 +242 215 127 +242 215 127 +175 147 96 +0 0 0 diff --git a/graphics/pokemon/lechonk/overworld_shiny.pal b/graphics/pokemon/lechonk/overworld_shiny.pal new file mode 100644 index 0000000000..6dc2976c31 --- /dev/null +++ b/graphics/pokemon/lechonk/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +246 180 213 +255 213 246 +206 81 118 +140 93 72 +214 158 134 +186 128 106 +125 45 65 +206 81 118 +232 232 248 +249 123 146 +250 205 50 +242 215 127 +209 164 5 +0 0 0 diff --git a/graphics/pokemon/lokix/overworld.png b/graphics/pokemon/lokix/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..c658f75b6bd7ebc2fafbac90cee11af8328297e1 GIT binary patch literal 956 zcmV;t14I0YP)Px#Fi=cXMRUcZ0001`nx#-sP!A6eDJUsCIXqx%F|zPw1K`c2SP-W{>`Wv#~KSM#t3dMw;5M~DJixC#+-5_L_`P- zF+UZ8htA330bKNn!kC`}%s57no&|3?Z6|eigS_;RUGCDq5 zNTz`?hrk{Howk7?hrU!876b2V+W9GP%0uZ_sGwAg{^^~Q!9&{K1#ZSVopB6MYGM_b zR#V`NhYE#wm1-LpbI78;NXaoU zfgx9gob#JN)4_=2CK*tj8!9!hX<*C)qeNI5O5|CgQ!aNpM)yIhDrT+ULaPX3AC^N*;OGevue zFM1j!xeu62fK_1DeO`~6*Ab4tE}V`0mcUbU^UvHcApK*Nkn_YQNJsac=(NO+GQ5w_ z{hj$&`_=F&eQ*t*Mp;qZC>h;U%mdT?4hoHJxpM9CtW%qdE8vW?hLT& z1BCpEP)Px#Fi=cXMRUcZgnfj)yuI4m+Ab(30000*K|fQkTkf67T+;D1}d-R}4qFPQPmrIVa*+d1N{&&iEhLK9>Se;=J+9sW+T(=X5%Ujx)acZ8K^nIOo>_K<_T4 zj+Xy~uYwe!3@?Mp7zyoRk^Y6W|iFgJBGg2P1IC5s->kL0`yhz>wo8QIy&w?|a1=-vrn8 z;_o298DEynC8%I1NO-{9@CLaX;e$iSDZeCliZia|*}Gd6yg6^o@HvNI@m0{5%zXmx zc-tM>8nU&q(Y4g^?%w6PhB2aFB=8GEYR&K|?*(T8_WYOLBb^GO#ZSlk({RSCA!1Sj zNrW4vHN&SIf@vF(WCj>-H_RQM2+jg@2#TfP!a@)Aw0tEnc^e>SmQ~m%_=_ui2*3?L1e9&Q-RBQme8MSF zl(tfO6`K7DVDc`24zVO;8Bt?|8g48AE-I*}GVqS~0T_a*3Zm8cZ47PRkB}t5#bLJn zW?U|Bz~h?3eJYs&PB`gY>x9S_#qVn9I=(I_J$@Nx+3BX=lbG29DD*%2x&Dx%ni3U+jRSmv=|RHB-aakD&Td*|^Bn+Px#Fi=cXMRUcZjXM+n$_M}e0K<3|Ss*EsJ3G#CXet>dSVK_DZ7u)*|3WN100000 z000000ES(Z{r~_107*naR9J=Wm+NlBAPj|LjDd7{|L5H?M3dHFJ6a}9ld#n8$49}( zH`ulf}ImhGr(Lb*g2zw=H^R^53 zBe>7PORaz7(;Hn>U#UarRDjQQN*2-pHzP_O=U3woZrB{7mg&;1-+8~%uX|KzY)ysE zOCaEAQ=N2)tUC2L@B5BVcToG}{l1m9jZwxrq43-!>#@q(oSGo>uGcLZ z95fav9w|0M#GCtA?%3L1_eW&1ecfvUa2wih6}>AFXY+tDf$bId{v(J4dfX4t34;To cE&iE(0_k57aHdUmga7~l07*qoM6N<$g6B^ftpET3 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/maschiff/overworld_normal.pal b/graphics/pokemon/maschiff/overworld_normal.pal new file mode 100644 index 0000000000..27c6224bc5 --- /dev/null +++ b/graphics/pokemon/maschiff/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +141 59 19 +255 202 8 +0 0 0 +195 120 22 +89 32 41 +147 59 59 +206 113 104 +42 25 38 +88 67 80 +203 109 45 +255 255 255 +66 44 61 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/maschiff/overworld_shiny.pal b/graphics/pokemon/maschiff/overworld_shiny.pal new file mode 100644 index 0000000000..0195e14cbc --- /dev/null +++ b/graphics/pokemon/maschiff/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +42 25 38 +88 67 80 +0 0 0 +66 44 61 +46 40 51 +102 92 114 +171 139 201 +42 25 38 +88 67 80 +203 109 45 +255 255 255 +66 44 61 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/maushold/four/overworld.png b/graphics/pokemon/maushold/four/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..5154c16a34b0df98b3bfba523f4b41c26c0fe4de GIT binary patch literal 759 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 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/meowscarada/overworld_normal.pal b/graphics/pokemon/meowscarada/overworld_normal.pal new file mode 100644 index 0000000000..591dc9f8c0 --- /dev/null +++ b/graphics/pokemon/meowscarada/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +23 36 24 +41 55 38 +49 70 38 +151 177 150 +233 249 220 +96 126 95 +36 111 42 +40 153 57 +232 232 248 +141 71 85 +216 112 152 +236 138 168 +141 71 85 +227 81 124 diff --git a/graphics/pokemon/meowscarada/overworld_shiny.pal b/graphics/pokemon/meowscarada/overworld_shiny.pal new file mode 100644 index 0000000000..668bfe2930 --- /dev/null +++ b/graphics/pokemon/meowscarada/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +27 38 31 +26 48 45 +51 75 63 +151 177 150 +233 249 220 +96 126 95 +31 86 68 +49 124 93 +232 232 248 +111 78 167 +145 105 201 +145 105 201 +60 31 99 +111 78 167 diff --git a/graphics/pokemon/miraidon/overworld.png b/graphics/pokemon/miraidon/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..2080c760bbb27c27c3bb408bbc0de2e554c4cd3c GIT binary patch literal 1927 zcmV;22YC32P)Px#Fi=cXMRUcZR;k$l004!2yq=iKeqE3!Cp^Z!ZdN~O_UwW&FMUo!mgnm6!M)#w ze7uExywAFQT>t9x0vrMs zI9My_*Au`{1zWit`0Bf+gD6L_!<42k#WHz`21r^w&|W(nv{L;r|v7 zv&gsaBB71jgZB!E%Mx|a0BFHigIOCXS>y2FfkZ!1kZjx@yi-72VoWmV#OBEWLW&|_ zOtwUN@R;=z1#R38yi-7=C9S~Oi*a)$0MkxuB#JBT7C#<5rlKD!Xydlyy#k^vJUdYW z*phMnWJj<8d)oP7vy^}b&qvUdM81?J8@C8SvnLH341$ky{w} z8;}SXgT!J_fEoXb2|yJP*JN%$Aos%&O&jQoqiuz#$+U`K$KzH{vgQQX@ZA4dKzWSG z)_6DwMo-*_8M$BZojYL`K4H*DTLLf<7f^A4 z-Ml9UDCi8tHAo8&YrSTt9S$V`e8;2wyr27|pNac|Z*y0CA|c|(JtyFE8*O7Hm8lJLr{C%COVy~X_r-R{t@2+Z}@il%CxB&Pyws{n~tZ= zttouNccrg7*;GJ1#D)6;<_wTJAh{c3fal{QujYh*v57a#k@cMHtBf!B9tls}tfL5s z72knFP`Hg*OfkD}|QLaDwNJoQL;=H`*h zmzn#7@8W*?@Culu0(TU=$r95U{R!3gh#HvD_)doqtD#5?E6BWxWB!} z_2hoy`?#Mj+5&!!K#pF}yx=?G2lR}6)jxh2 zf3Beye1GVVE&;zrAPWvoVUpdzuK2DD@P6f-0Tw~N*^js)>55xx5YM30!4=w07W zQ%u~2$_(C#FI$VrrH1%K^n&kRjA{pD{Q{(y-UsX2`n>*Ee5-w^gRcU%BbZk{dh)ar zUU^IQy#;-WLG`Z*KuD~3VrH4axRuLh25Jr2@P#|?oc4{~u|L_r$Tc3rZ;bytzSTa& z=J-v(b_BEBiN=ZZs2)D)|1kmVn2O;hCz`Z_tYwI>>t(BzJ!{B@&sN^b+OmKV^pc(? z<8O4}cYJ+gtlhv=zxXcTjR@vBzYisD6n=g2A7YRMP)zwBpCZ`{FQce8W_byf%Z7lb z8ZzOF9e2?niGcDKDiU%kp+#yY;01rWC)&}#@&r}^<00U^2u^-D3U0=iSN|~vfKma% zA?z{@I9DvGyt5)@`JM1wLl%5Btco!-h9na?q##2t^RMx7|5rS~v5#rDkB3fR{Z9)) z1iT%=;YadVVmN;MC5G}c&`(9Kk>>&P>YPTsY%#)7Ln&JD)v(N1_LqXrVoB{390s-+q~vC%UqdBj1>5>Tt^i3vNOQd6W4HeK{(TK!T%;9l{gulV zuM@a75PI(P8m5I{jo@kK7+7&Q)ml#i9y!R8<{8#=t=`c8L3an N002ovPDHLkV1iOht1JKj literal 0 HcmV?d00001 diff --git a/graphics/pokemon/miraidon/overworld_normal.pal b/graphics/pokemon/miraidon/overworld_normal.pal new file mode 100644 index 0000000000..8a07fd2ac4 --- /dev/null +++ b/graphics/pokemon/miraidon/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +86 169 217 +0 0 0 +133 124 188 +158 152 202 +126 93 144 +39 39 60 +198 190 110 +86 63 105 +246 236 130 +49 47 125 +78 67 150 +231 234 241 +193 189 223 +133 124 188 +133 124 188 diff --git a/graphics/pokemon/miraidon/overworld_shiny.pal b/graphics/pokemon/miraidon/overworld_shiny.pal new file mode 100644 index 0000000000..4c43244656 --- /dev/null +++ b/graphics/pokemon/miraidon/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +86 169 217 +0 0 0 +133 128 160 +161 158 183 +126 93 144 +53 54 59 +198 190 110 +86 63 105 +246 236 130 +133 133 133 +165 165 165 +231 234 241 +193 189 223 +246 236 130 +86 169 217 diff --git a/graphics/pokemon/munkidori/overworld.png b/graphics/pokemon/munkidori/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..5213ff14ce996474015291508be4e6f309797d32 GIT binary patch literal 776 zcmV+j1NZ!iP)Px#Fi=cXMRUcZ0000^Nkt3F$hG3KtdY(|Gzg4vz2{_fYi=YQr39NE}z~O z=&o(;r~H(k@?RBt$e$ZLE7bD}D*oJn8}sKJ_Gtwbe{R6Sk_mFo)O)8m!HPqG_)>$M zH|{K10y*bS(uI0dLB*dN5W>q^DCca=3;RCC_=FEOE~YqEQE|jKJ2Q8QBFwq@>sm|u z*!vJ+$@lLJJAc627z<4^kfNL$DCc93p=*a%@ z;27dVY>4{%=QOLhNp$!a8^=jB@#-e8%oxC!nO8)Tf;nzqu02^8GUDRb$X(P^dP%~trk zLS!Ksppn?#EQ zjPs5Xphlug{r9QG zfiQlbM)7rkt!vfJ>&IIs+jYdboNuKr*myF7gg5V{Gy$K0;f;)5_l-zF&TJ+|`@l<3 z8N?wV0bN-SfF@T;+PH3Dgv5R1d}jt$LW7Do-cUr)9q{2D1u&5w=2!Zqg7Kv@GQbdS z>6Z%5H8Ma0XYJn_wxL8b^W@(_P?W$^19Wle@Hd)&s{8_1$Qkfp-%kVp0000W)>9FB}J|dbh?9NWy`!YjZ!)oH$Px$B>BD zx6@8KEnD$Ry z^2WS`A@RCfBd_g8)w|_>e2*BI+(YJW<=LSZ>TvGczV)kCw8w60+|i)p-gR>V(+T~e z^xcXdw_aJ5ec+gGL1V0brsmU_2~5+kZOYqlb;1vc{FS~}-@Rv=bbadCZX59>48K;Y zXh^fJyuYxm?O8*NgV8bT*OGrVKImrfUiiK>f9t*1mh&03cE{@OozGn35Ph51^_JoM zpS7*Yd#?Rsxnbv5QO@j>@a$aMqNTl;i=Kt+exCAJ(D<7=!>4k~=VDb1ml6{kES4T` zy0U)r9f@n}S(vx%JwK!J80Uw|V+?b+g6hu{J)Y`jc}qruH!A%ImjXi?^MOeJzrS1i zCCu25?Xv!{4QT0!s#oXtM}Cug$T(@jJN6w7cm7p9J3n3b(<+yS<&6EG|1bQ<@W4TE U?!J=W5ujlAboFyt=akR{00TJJD*ylh literal 0 HcmV?d00001 diff --git a/graphics/pokemon/nacli/overworld_normal.pal b/graphics/pokemon/nacli/overworld_normal.pal new file mode 100644 index 0000000000..aaf398a7e2 --- /dev/null +++ b/graphics/pokemon/nacli/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +86 77 87 +191 180 186 +153 134 148 +252 252 252 +71 39 39 +142 95 87 +192 147 124 +213 184 170 +227 208 199 +0 0 0 +238 172 49 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/nacli/overworld_shiny.pal b/graphics/pokemon/nacli/overworld_shiny.pal new file mode 100644 index 0000000000..e6f359d021 --- /dev/null +++ b/graphics/pokemon/nacli/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +120 67 14 +234 152 70 +197 109 22 +238 173 108 +71 39 39 +142 95 87 +192 147 124 +213 184 170 +227 208 199 +0 0 0 +255 134 53 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/naclstack/overworld.png b/graphics/pokemon/naclstack/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..5698f25469bd196eca6601e99b9c5b0a22a56f67 GIT binary patch literal 672 zcmV;R0$=@!P)Px#Fi=cXMRUcZR!vt#GcM%O$itF*mS=O*x1Of=~U%SZinWf(N0Un+2Q;z$MK53xT!X`$@t%Z!;}|QIQLQ zwU}uf`^SR3HD!8F)O%Nanx5Hv=j4l74>%XtAn{P(G3fq@03Hdsz{niCh%4ThU<0Ff zEbz!$f<_QDKd$^Z@B=@DkbuF*$T7wy;fl`zqK7m+gO7TEi$E!W;~^b>$Px_-co(z< z@Npa#F@zX0=oT*l$c9ih3PP~dPR}@ z2WSMXpDdlw3%Cf{9wA>Z2$pauB;Df4J3@r#&*SF_h~)YJji9N3Tw0t8tNSm4wgo7k zZ%mDrcj_jeRt2TSpYj2Z{roB6yMU-K;Dqj<3J7b!+TwS4*<#6eaOx1r7rGYljiC4c zb-466b!W^_BWQV3d#g5DM=$x(<4}%@>nbFY9ykSqGg4MJ`}+dio1pibvbJ*9lqTx~ zR=Ns$UM{#`0#!t0>v){X)0b4(DI3fHZ91goAvPUN-a|^yOrz3D3b(c;U}!7b~<}Kwa>9teXC% z8C7^4ROYy{lL`k5cn*(Ncp7~v`=@szf9=mI+|5UQJAMH&QXLH#Nu+rI0000Px#Fi=cXMRUcZ0000lGCWIIaAR|fz`elT;pG3u2%~}(u&l6SVPs=-i~s-t00000 z000000N@HNuK)l6+et)0R9J=WmhEnXAqa&FTCCmu-|qmm$*e$Uvt>)3v)eo@fhkaEr*fdhy+unIIs_hIWZJxDzNH5u1&|Koir@u6-n!@0 zo14x;9Od>$t0dA${ zT+0oX*H{3^Gn%A6f2{9P9w4xP-d@CN5oiAqU;_Yw%mtPJ5ugIJ^6T5A1IYbVgEC(Y zVVaT%up3nWLSO&{fC;N~xULV#0~7!mk;J2ZM?EK)^Df|Us0WnR{z5=rK$U~6v<(PV z2-se&cSV>GBf!VHl!%O645&Uhs;xHx**WhESdkHU2~86e0FDhR$OcdigE#=Ke5mh$ zi+p>>VE||t^F{0fjtxlUz+dbAX&5vYaF1zUuN8V71CUFA=+~!=?Fo+`<_z~I>G~oS zJv#(kzUg$m^v==`2UdYgSIQ0DN!$L$|K0+RPtpwN0Stp%c|M;8us-6E4i~uTHtF_| rpPx#Fi=cXMRUcZ2L}gHI3hDMGg)A2S4KWCQz(>}mtm(HN{c5fD=AA%OaRmQ0G6=- z+D85T{pQ=TzW@LOWJyFpR9J=Wm+g|PDiB3&QHkKk`@ikk-JsJ-1DX5pR*gxSnJjG9 z213j*{2hPC-|;?({u3X^_GLXzoqqcqC+FNi(`2>m@o}EVVOhqSYLAo4b(h8V>v8XC zaDMV`!l^Xuarn*i^7+6}RDa89a;Yr0vHUt*1f6dOXz^Qc9@_ybTnVn705j*}`R{}4gv%f^G z@f1*T=@^2F_|C!OGGKx$U>-%1d3JBc9lf)U{6R=}(4DScDRixRvWDE`FZc3RI>8LAnw_``v# zdI~`T6e~#c_XH$AUZlkJ*CTBLob(w$^H+de)YEyMDo!y&!p#8kIrD4?|7h-FnWL+M z%ZQ`sdVX-MDIq=Q2nizzrzrX8aXoGjxc=w-@G?j@4QhtMrF`l*Z%3JD_*(&PP9`VG zg4L_Em4;mZky zm-%vnWeMQR%RkSMD1)as6-jE`FaPk`rEJ0F&ENl&VeN)iu20;$K8;E$QN1IE06qe9 z-5)>fW=>sNo1qyRXo{)i_(DD0mEYprwLD6Y*$6stuV z=<1)vLa0wdkZiP80)*Ps{Gw5Ve{pGQu+#!9Ia+-RTlK$e)ZqO~I}I9(>wkOv16@KZ UkiFO-f&c&j07*qoM6N<$g6X=~=>Px# literal 0 HcmV?d00001 diff --git a/graphics/pokemon/ogerpon/cornerstone/overworld_normal.pal b/graphics/pokemon/ogerpon/cornerstone/overworld_normal.pal new file mode 100644 index 0000000000..a07f75d10c --- /dev/null +++ b/graphics/pokemon/ogerpon/cornerstone/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +7 7 7 +81 56 34 +51 51 51 +89 96 106 +87 70 62 +48 83 40 +148 152 151 +97 167 27 +74 139 39 +44 43 41 +75 76 76 +0 211 249 +0 150 176 +255 218 70 +253 253 253 diff --git a/graphics/pokemon/ogerpon/cornerstone/overworld_shiny.pal b/graphics/pokemon/ogerpon/cornerstone/overworld_shiny.pal new file mode 100644 index 0000000000..a07f75d10c --- /dev/null +++ b/graphics/pokemon/ogerpon/cornerstone/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +7 7 7 +81 56 34 +51 51 51 +89 96 106 +87 70 62 +48 83 40 +148 152 151 +97 167 27 +74 139 39 +44 43 41 +75 76 76 +0 211 249 +0 150 176 +255 218 70 +253 253 253 diff --git a/graphics/pokemon/ogerpon/hearthflame/overworld.png b/graphics/pokemon/ogerpon/hearthflame/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..782b969b22ba471a38b332353318e00523f1f662 GIT binary patch literal 1022 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 N002ovPDHLkV1n@w!w&!e literal 0 HcmV?d00001 diff --git a/graphics/pokemon/ogerpon/wellspring/overworld_normal.pal b/graphics/pokemon/ogerpon/wellspring/overworld_normal.pal new file mode 100644 index 0000000000..ac44883772 --- /dev/null +++ b/graphics/pokemon/ogerpon/wellspring/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +48 83 40 +74 139 39 +97 167 27 +0 0 0 +81 56 34 +2 104 187 +44 43 41 +87 70 62 +75 76 76 +59 213 249 +12 65 129 +156 206 220 +206 221 255 +253 253 253 +255 218 70 diff --git a/graphics/pokemon/ogerpon/wellspring/overworld_shiny.pal b/graphics/pokemon/ogerpon/wellspring/overworld_shiny.pal new file mode 100644 index 0000000000..ac44883772 --- /dev/null +++ b/graphics/pokemon/ogerpon/wellspring/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +48 83 40 +74 139 39 +97 167 27 +0 0 0 +81 56 34 +2 104 187 +44 43 41 +87 70 62 +75 76 76 +59 213 249 +12 65 129 +156 206 220 +206 221 255 +253 253 253 +255 218 70 diff --git a/graphics/pokemon/oinkologne/female/overworld.png b/graphics/pokemon/oinkologne/female/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..baaa8874c5bdbf1ca88492c4e8384f45ad5eb600 GIT binary patch literal 597 zcmV-b0;>IqP)Px#Fi=cXMRUcZ0000c9v`)BU4&UuKQJ;{MM@A55PdB{=!l@mU~uT@_^*>-^4EU= z000000Cj;*KmY&%(@8`@R9J=WmfLc~AP7JM5pSFQ|KBZO)6R4S>^`+KlBRh$s0WR1 zj$_A;9XodH*s){Bj=vB9{3rLD98ozx-s4JrL6^gM0-h+3w>X}_O#aOcBhG#)nZ>Pe z?wtisrvR5rX&PV@;B(;FNseK}#gD`eX>J&COdtcKbi#C$fOGel9l?lm2IZ`RIn%TN zpCctmQ~(I3f5F;4wM&PzlkL+dO!J!l+WYp?Lo4U)!5Q#h|I^U*)DU~4TkoSs$@KOpBqrT1bL zXmgq2>v>(L?2;_qOWryk{a?td+xdQ6(*h#SdqfPqJ!JCAFZs|*dAy>WSJwF$;dyly z?AOznL7xx7BKh;)N~DH`eh5ZfM@Us7O~((p3XZS~usM9{5seJqalhh2Fv%`) z3JAF8A95IaDoFHt4n%y6ph@Pp5Rtrt76-b+Jf&8+=uJ~1KBkDMce8-rwS7>4^D!6~ z0QYUTxA36{9e7`S0_VSSw}IPybl|QqcYt6TDnPFQd-hjS7MiPx#Fi=cXMRUcZ0000S79m15PBADtKtNDnSY;3p5PdB{=!l@mU~sRKVDi_0=;-(W z000000A!|U82|tQ%t=H+R9J=WmeF#AAPhxKAfUMY|KDvAw9|G;!tPT$!<||mPQVjH z*KJ!_Sy@?GSy@?G`3nKyKRMpyh|2l&9=B(n zMHFlM(Llg^@Plt}q^$f4`yOlnx^mte&83VD}ga}T>*1$*oUYz~(mQLo@9?j_y@bCN#o1_JK+ha9?| z3KBiP$Rggaphf1l5RvRbiv!&;-$FB7^oAu7?@L6~n%O{WIzDK?`525FfcvnC~*}g1e}tI;cn55>=GqY cm-#pO1So+Lk4CZ6?*IS*07*qoM6N<$f;a98c>n+a literal 0 HcmV?d00001 diff --git a/graphics/pokemon/oinkologne/overworld_normal.pal b/graphics/pokemon/oinkologne/overworld_normal.pal new file mode 100644 index 0000000000..e8ef3923f7 --- /dev/null +++ b/graphics/pokemon/oinkologne/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +28 22 33 +66 54 78 +49 40 58 +64 64 80 +96 88 101 +16 16 16 +125 45 65 +232 136 160 +200 96 112 +175 147 96 +242 215 127 +232 232 248 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/oinkologne/overworld_shiny.pal b/graphics/pokemon/oinkologne/overworld_shiny.pal new file mode 100644 index 0000000000..805883eed3 --- /dev/null +++ b/graphics/pokemon/oinkologne/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +190 137 169 +255 244 247 +220 192 209 +240 132 186 +251 187 238 +16 16 16 +125 45 65 +232 136 160 +200 96 112 +175 147 96 +242 215 127 +232 232 248 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/okidogi/overworld.png b/graphics/pokemon/okidogi/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..6bbcea7ab38c384789b17bd0753cf6bf7406101e GIT binary patch literal 1236 zcmV;_1S|WAP)Px#Fi=cXMRUcZS|Lf2Id>2e5z1$xPDw{CEiC{50C}f6RCP7@*jODo6~MsI=;-(m z5)l9Z05B+E?EnA-Qb|NXR9J=GSAnvlHVh01Ec|@U|9@_GB?z``LNaY{=IR^5Gb`j> zS(3TO<9|D*>2v%W+ut>&`Te2|{+026HALz^rfHcz$1#~YlgH=yzcOSsw}LxEwk-41 z?EEE;o6UeFRXk8lHNiW)*EGtwJDdcURaNmT9x`9_9w$BD5J|~QQY+vF-`$_jh6#6v zW9X_WCH#7V?A!hUe$FbBTEPwO{8TIRuW=)oR*s~UIEVPZ#eIhPY0@gV!I>bs?y?5i zdygAGI9@kgtHNgLOy1#~(W~IvX^cwFs40SKy9j+U9MH0y|*XCG#H#jViWt!%n zlFQGWl-c?fZYHERTZD0wN9W=aS6R{mhH3Ir>5{j{H8@9$Uo~%Kn{j2GIQ;@Q6IFrh zjC9Soi)wIjiO?LM++Dt$cWIq;=qYj_8xZ=I<+RFMz(Wtfh(f2VPwP?OGxC` z<9kX}-bDrO=LP$_aI+-x>+tRRB22)aG6#H7$J6om3N=kxU>d4f3{k5 zYr2*|&qWLn#hq%eh(6?RyTth4+bm|x)56d|8|0{0BLX< zG^JLu35VOj@5J%?2v^GoFEGy#^`xmbV1Ty*Ff7eIRg7&#&;sUatk916m{N zaB+fsbX-R8_1~v;h}S7j0fm&9JNDZW+yypx2?9K)_WB+O5QkNEyz-7&DTPPmem$BT z_ZoRrIIP)| z_fHs@W3@_6fuIX)@%(K0tp<}~>KN|0$y3Xb2E!-9W}VL>EFD1?_`(JA_{9$a*<)h` zi+HyLDX>(y*Q-;`w|QYOv(aOtUBe zN&3Qbfqi6{H-;we?TH)MedQdZ?60C-rY#c0d^;~^! zs4f_K9IyEwZ3X#0V0b>Iz@Y*o*eL1v?N3eMzyY>qu(y>0eYXKG+NBJ`b37djY-!)Q y7z<>fU2JY;aS6VE_Y=#1=%U=de{b;zj=uqH7CfK= literal 0 HcmV?d00001 diff --git a/graphics/pokemon/okidogi/overworld_normal.pal b/graphics/pokemon/okidogi/overworld_normal.pal new file mode 100644 index 0000000000..46d3fc547d --- /dev/null +++ b/graphics/pokemon/okidogi/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +90 33 73 +146 57 119 +16 18 17 +202 103 162 +78 73 71 +45 45 45 +0 0 0 +121 167 58 +84 117 53 +248 216 88 +29 57 21 +192 192 208 +232 232 248 +16 18 17 +0 0 0 diff --git a/graphics/pokemon/okidogi/overworld_shiny.pal b/graphics/pokemon/okidogi/overworld_shiny.pal new file mode 100644 index 0000000000..947e5aacdb --- /dev/null +++ b/graphics/pokemon/okidogi/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +90 33 73 +146 57 119 +125 59 24 +202 103 162 +254 161 104 +180 102 61 +0 0 0 +121 167 58 +84 117 53 +248 216 88 +29 57 21 +192 192 208 +232 232 248 +16 18 17 +0 0 0 diff --git a/graphics/pokemon/orthworm/overworld.png b/graphics/pokemon/orthworm/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..5bef2cc020017e06768c789c70551c50c777477b GIT binary patch literal 1149 zcmV-@1cLjCP)Px#Fi=cXMRUcZQdnF7007a^+LD-@_nMUVWLmvRN|w>$meJyt(c(!dC;ZO3y^@T9 zH#YzP0H!6PdH?_e`$DOo zWm!mne*UYrNc)9O(*Az=-;EY~tF)oTnNGAxyD>2aRApUnN6!G4ZMC*xhpgK&1D(qF z!75`wqQ_%*?grrlK=H2&3!h&{q!<4qf-xZ5caMGF-A;J;95DG;PE5f5o!cKa z5zuXE3&6U9HO7D>(>euU0-4}4dikgIhq_wPgbDxAjXv z_4jNd{Jc6`bQuMd4;=ydt%~sG`z#m&CIGRQ0louF08NA;fODz~0sv?t+yRUMdE(cr zIOO1QzvUai)8K7{cNLURK6VDzCc@ncV?bV*Udf>g!O2X^`UT*J5w_vwOJ{Ifs|bTa zGXy*%=Uh0Bzz&y-ehc_%gk=L?FK1tRfW_x3taaFT0T==b02|YG9Few5j?4f*jc^d} z+{=+rgdTwHr)3zS1GoVsb#5(UfIGksBTO+=fFX7hENnk5!w6lORlpGVnhD_wNU_+D zv@9%db&?C^%8T8`Mls@8ll?<~b%2 zrsEw9f#Y$2Lag@HAS3kh!pAT1lM5F>5(M?Hk43Kl<>^K#{6_`Yzw4-pFt|zM@qTND zNGN(;{1=0O;PkHq-SqhtBN5(+i->loymmey8SoSu5MgB}2Q&QJBh zSqgNcu-7U{71Xj4GeOxP1FXf`phcJsf*p8C9PA|V=dTS0PW_bWd>9}A9fxd#_v)Vy z` z@-`Mnt)2lp@q+~>dT4Z%Lif6y!6=oOcR_z-s}}(45bP>(JwPtT5&!8t(dPj7XGE%? zJ%pWY1(U=&OU@1|x1#!Udphb|Mo@~>Is%v+V$XM_oskHtl-QHgEB?}5K~0cLhb&)r zfGdv{S9u5FDpcvH3c1Q4zR1cMK^Ix^moGe$0R%cEIbJhJ>Z&z(3b~A)Iso7;I1QpI zDFn7dh))OWU*!Bx3XOa?+6>AaOuk;Hvnr!SChMroaN=Zx0RqTlPESw(I@wUM$2;l0 zY-4lQN{1|WX+Ehk(=w`$IW-6$bJ}6o69nZ%FL9TR>|X=9Lzcl5XO%(gPwP0BHZuq} zAa&S>vMpa~U2h_FNb+EgyZ@b?0IEZ612uOTsf{5S0nMr%h=nB9+a P00000NkvXXu0mjfDlY%P literal 0 HcmV?d00001 diff --git a/graphics/pokemon/orthworm/overworld_normal.pal b/graphics/pokemon/orthworm/overworld_normal.pal new file mode 100644 index 0000000000..3146fa0d74 --- /dev/null +++ b/graphics/pokemon/orthworm/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +82 88 92 +0 0 0 +209 209 218 +146 152 156 +247 154 148 +247 100 90 +189 73 74 +150 209 226 +150 209 226 +150 209 226 +73 41 39 +252 206 186 +189 146 140 +129 55 55 +0 0 0 diff --git a/graphics/pokemon/orthworm/overworld_shiny.pal b/graphics/pokemon/orthworm/overworld_shiny.pal new file mode 100644 index 0000000000..16d023df87 --- /dev/null +++ b/graphics/pokemon/orthworm/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +82 88 92 +0 0 0 +209 209 218 +146 152 156 +183 255 253 +124 219 233 +108 168 179 +52 83 104 +150 209 226 +184 223 235 +30 48 53 +231 217 207 +192 175 160 +79 125 134 +0 0 0 diff --git a/graphics/pokemon/palafin/hero/overworld.png b/graphics/pokemon/palafin/hero/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..8d6d7e5c750679d591a754afd3be369aaf0ef3e8 GIT binary patch literal 1104 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 V5Oh%HPz?Y8002ovPDHLkV1gY$5rzN& literal 0 HcmV?d00001 diff --git a/graphics/pokemon/pawmi/overworld_normal.pal b/graphics/pokemon/pawmi/overworld_normal.pal new file mode 100644 index 0000000000..ba86a5077b --- /dev/null +++ b/graphics/pokemon/pawmi/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +173 97 39 +104 57 23 +0 0 0 +236 158 63 +232 138 36 +14 148 130 +0 108 92 +250 233 189 +185 167 132 +232 232 248 +101 74 74 +239 181 59 +245 213 86 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/pawmi/overworld_shiny.pal b/graphics/pokemon/pawmi/overworld_shiny.pal new file mode 100644 index 0000000000..0d0ab2a95e --- /dev/null +++ b/graphics/pokemon/pawmi/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +220 58 50 +138 40 50 +0 0 0 +255 119 147 +237 82 82 +14 148 130 +0 108 92 +244 226 188 +228 167 137 +232 232 248 +101 74 74 +239 181 59 +245 213 86 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/pawmo/overworld.png b/graphics/pokemon/pawmo/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..f2eb40bd17dc21585a04d34114051d42ba13b599 GIT binary patch literal 635 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 FV1jdCFu?!- literal 0 HcmV?d00001 diff --git a/graphics/pokemon/quaquaval/overworld_normal.pal b/graphics/pokemon/quaquaval/overworld_normal.pal new file mode 100644 index 0000000000..0dcbae55dc --- /dev/null +++ b/graphics/pokemon/quaquaval/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +27 67 84 +85 219 230 +0 0 0 +51 63 147 +57 75 238 +65 155 194 +40 42 77 +213 228 240 +135 59 26 +227 70 15 +162 71 32 +247 249 250 +219 175 0 +219 175 0 +129 130 130 diff --git a/graphics/pokemon/quaquaval/overworld_shiny.pal b/graphics/pokemon/quaquaval/overworld_shiny.pal new file mode 100644 index 0000000000..127e88a727 --- /dev/null +++ b/graphics/pokemon/quaquaval/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +27 67 84 +85 219 230 +0 0 0 +125 128 176 +163 168 240 +65 155 194 +71 74 124 +213 228 240 +91 65 30 +225 131 80 +199 107 46 +247 249 250 +199 107 46 +237 169 54 +129 130 130 diff --git a/graphics/pokemon/quaxly/overworld.png b/graphics/pokemon/quaxly/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..179e0eb60b84b38781f9030f8c6c132d90c86e60 GIT binary patch literal 548 zcmV+<0^9wGP)Px#Fi=cXMRUcZ0000?zRXO%%x%loD~p-2#o+k(_#th0)#UJjf`b3i9QOPC09&Hl zuK<8p7#@IQ&;S4dqDe$SR9J=WmfMcQAPht?w*aBZ|NrfdN%sxgRVuaG71KtQdImEF z(#E-^rKP2%rKP2%e_Z4%^n8Rf791uAjxn<5E|07?IdGa9OdhWK9C2p& z9QV_J7H30_dCRdBX#$I*I2i#oUdppUp#hycN&)%eR=h9M0yYm3yNi7D047J_(O$a6 z*}zLwe2@a#99NAX`G%6_ m(3`hS?~Z?|#7mR>A^iZ$`xIWCl&xd{0000Px#Fi=cXMRUcZ0000Td(sqInmdu+AC8_%%H1We!qw#P`1ttSuK@P@{r}M%fLIuT zf`R}50LX}6vj6}BAW1|)R9J=WnCotXFbsupZlnbA{*OD`gl^h=K~z;W30M8~`IzIR zPEe=mjyvwSFzpS66$SbTm@c5jeHPB9Bmy^S=tV>Y*o#4aZ zH4f`qLnVXCJ>hW9+17R4jH}M$kv|tXEK9Aus;>(kpQhgHwr;ie%N#0xE_1ZjtGd4~ zCz#sS61FKn|C@`a2ywb8E&bq{iJnqJhcVh*Ou+eQz0g(BaZ)6MKe&*-~QfM9UtwC-8cHEy!r2D2xX-z4@X06PAYeVeE*kp5 zCH=DldhItlpekwtPC1?wpc))pss6g2JE+vA{sb@*_Wtp%Qf?X|R6xJzSih+H#nvA+ z3~Xi$>-t5(#AsQ>@~ literal 0 HcmV?d00001 diff --git a/graphics/pokemon/quaxwell/overworld_normal.pal b/graphics/pokemon/quaxwell/overworld_normal.pal new file mode 100644 index 0000000000..cd91098e63 --- /dev/null +++ b/graphics/pokemon/quaxwell/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +29 123 210 +20 90 154 +59 145 222 +31 142 158 +74 202 221 +37 175 194 +213 228 240 +248 248 248 +219 175 0 +246 251 253 +255 209 28 +128 88 24 +129 130 130 +0 0 0 diff --git a/graphics/pokemon/quaxwell/overworld_shiny.pal b/graphics/pokemon/quaxwell/overworld_shiny.pal new file mode 100644 index 0000000000..f799dbde39 --- /dev/null +++ b/graphics/pokemon/quaxwell/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +111 198 179 +22 111 118 +121 255 232 +36 46 132 +82 125 226 +55 71 213 +213 228 240 +248 248 248 +219 175 0 +246 251 253 +255 209 28 +128 88 24 +129 130 130 +0 0 0 diff --git a/graphics/pokemon/rabsca/overworld.png b/graphics/pokemon/rabsca/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..a9d99e1b49c2cea843be8375bc744bb1cf529065 GIT binary patch literal 869 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 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/revavroom/overworld_normal.pal b/graphics/pokemon/revavroom/overworld_normal.pal new file mode 100644 index 0000000000..0e83397e4e --- /dev/null +++ b/graphics/pokemon/revavroom/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +28 28 28 +79 40 79 +0 0 0 +66 61 67 +121 66 127 +195 193 195 +62 48 60 +131 121 134 +217 215 217 +85 73 90 +255 205 6 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/revavroom/overworld_shiny.pal b/graphics/pokemon/revavroom/overworld_shiny.pal new file mode 100644 index 0000000000..0b40638c18 --- /dev/null +++ b/graphics/pokemon/revavroom/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +28 28 28 +51 45 85 +0 0 0 +89 80 49 +77 61 150 +247 234 143 +62 48 60 +180 161 96 +250 241 184 +85 73 90 +237 142 178 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/roaring_moon/overworld.png b/graphics/pokemon/roaring_moon/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..8ce7752709d7e34cae38a37b2a5d29b7d4b6a40f GIT binary patch literal 1109 zcmV-b1giUqP)Px#Fi=cXMRUcZ8f|$u$-nuCy zBP1zIT0V33asU7W(@8`@R9J=WmeF#oAP__ac7R3J{QuwH?g0_kRZOMsL#i@KtzwVE zX+U(E{^BqG;x9A|qdWdG0Ni7p)BByXpDO%kgFge{&F1kamwCbx->m=M&$sj+0vPvT zNNtL?oayf#)$cMHrxrfz#tA$1wdn~X_W__*ehE{M>Y&RQ8eH=x;Kdk?5yS`j6CD8J zr18@M+B<+NgNELeFFXZ*p%R)kV`y+IG#TP?e5^ZIIMWFr&Piv0%^kp%!GiY?`+PnF z{+>@;99VPDVB@f+9?I=j?&$`zq7EjJ5CV)Te~cZ#g+UAm?&q9@Y9Q!*=}_$qHhph! zI49axNeG_D0T;MZcx-9Gi;`X zlxYceIeE*GSVx+%ZTwWnZqnEkMq|%z^OspzmD;OEWvLb z-*ttI3|iET;0uy;m)QVyg$(oxAe#!DH5AO5Zf7 zo#@!*2AI;<2fZZJSISnONccblAU@oP`?dzCH-jH^6vM1$Je?rLc{=Ky!Gm7H$7JS$ zX=Z(P5Bki6DtCHj6MX#0z%Ogae)@F%G=ql`Ry|h(`9yC9kNS!+yP2<;dh{m=Yuct~ z+R~QPx#Fi=cXMRUcZ0000`P*6BHI3pt?i?pQZKtQmtxU|*1)%MxQVn~SSaBz6w z%})RT0MUH14FCWG+(|@1R9J=GSb>tQ5ZF>^5LgGN z$s-$rnPwFy0m_#NAf^P5jjso!ME9CN6R0B0x8z?_O#A_qKwoh`3M~A#NLPv7D6ZpC z<{I<3>4O!^d;XC~ye!~P;R`AJb2 zLv$8s`g3w1C(7tA`dC20v9cTq?i&jLu=sZzWt(3KaEj2CGQ3_d$cb+*%P0(T6PT~_ zAO5t*xyqD{*!@MH2&}jW93$jul%X#ECO#fU92hT^k_Ol3 z@d+n`5y!1u1l87MpMoI}w11E)6SV&lmq}=M)LPG0GaM97w978{tu^9PN%rD~&Tx|R+ma~8e>I|CWwKOvO z-ntK-Yn93Jtl;k8 zT<9{b6P0@8CqAPFEpS%^BtERNe%e|Htp2si82)SA2|0JJ+Q(>fV95wX%Ki)|4N{|u@*~(mr=pJ^M6uqd_j^xTUAJgUE!sL`h8Dc z%5W;M^)CHwfs))rkSLn3#ALv*q=5Cop-mt!ed?X9_Wpq2Xa4kjhV%nv9Zdedz?1@p z!FdAuH9i?o&jBw8e&WxvY8ad$uNqXuH0TqQTW!!<3xc2d*FjjACGP~gHwN=>c5Cb3 k^)KDWSEU&|G58m+U({bI2~y6s$p8QV07*qoM6N<$f@j+jYXATM literal 0 HcmV?d00001 diff --git a/graphics/pokemon/sandy_shocks/overworld_normal.pal b/graphics/pokemon/sandy_shocks/overworld_normal.pal new file mode 100644 index 0000000000..3d38ac9e7e --- /dev/null +++ b/graphics/pokemon/sandy_shocks/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +80 80 80 +56 56 56 +35 35 35 +139 180 164 +232 64 64 +176 176 184 +180 213 189 +213 246 222 +105 92 126 +254 234 98 +72 136 232 +112 112 120 +224 205 79 +0 0 0 diff --git a/graphics/pokemon/sandy_shocks/overworld_shiny.pal b/graphics/pokemon/sandy_shocks/overworld_shiny.pal new file mode 100644 index 0000000000..151c472b17 --- /dev/null +++ b/graphics/pokemon/sandy_shocks/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +80 80 80 +56 56 56 +35 35 35 +128 120 104 +112 112 120 +176 176 184 +168 160 136 +208 200 168 +80 80 80 +254 234 98 +112 112 120 +112 112 120 +224 205 79 +0 0 0 diff --git a/graphics/pokemon/scovillain/overworld.png b/graphics/pokemon/scovillain/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..a0dcf404339449e710fe9b0caef6d2b0ff5c94d1 GIT binary patch literal 1037 zcmV+o1oHcdP)Px#Fi=cXMRUcZWF8#%YcirVBqcB;LV!zA#6$o90BNgxLV!!~`{UhM04Yu-LV!y= zP(sbk%^}YMLjV8+i%CR5R9J=WSBr9-Fbu?4Ae&eI|8KjJ4fuggn`GMQOmy5`hLz-9 ztxb|)_=%tRiJ$nEFcSZo#23Ph<7jPL!e7;A%GF4tTO$1B-5~joa7i?zmkHKJ*r zaCIaIKNZkW@TRYbYGBn!I|W8ovhp571k*@T-8zA+53KIFhXU;MAMGj3C&Ef(h$}T%eL*O_W~>%n3>=v9(NbT#`*ZO-!?P ztOUlIlm9%Q3;(XZf?(_-jp&rGYvRj139JRMV_b=VaHB0i77zU9IGlpui@ubg@S8Ov zLzL5~LCUBUSWMVhnU?o3!A1cH_MYSisvQb@V8IrqNMAZqNcpdeRVTyJv-V4d%xkI7=K>Of0|$ok$)Va(I3r|vs0CgV#)wsr z7@&LndT8kxp#;wy!U~K_44r8X2bFXFFsRU%!3jYc$n&%ykCw<^5*C~jvskI4N?@EY zgOme~4+@XTYlZNbO>j;fy0T~yhH5D0aZ?NiW%{U4a1r!Cz;Gp8i2$=2TvqCQEig=2 zhb#jic`n=HPYHecMcmpkb10efD)fm5aq$Mkpj@9T1Y86iUY?f~y%xR`;tj8OCGeau zt3Z6ovCGK~vU@Jv6b@Z;R{F>+2*!l<)K|f5grH&XoLrc($jl@n;7`DrB%P83o$!Tw z9-bn>ONXvGL!-2F55I54prEgocTQLiw;V9-RCHGp170~aoD=r?dghIN}Vo z>$`Z2X!9rV&2NzA@Yx{nih~?r^)YzUox1PGAL4ZE2ln>&fWY?^&0A{QMmM#7SBA8>1N9xphj?>T; z2!dF;R}Z`?@Xq__pJ8exaAWfp4Y~qfxB+k1CyldByN00000NkvXX Hu0mjf#L(ac literal 0 HcmV?d00001 diff --git a/graphics/pokemon/scovillain/overworld_normal.pal b/graphics/pokemon/scovillain/overworld_normal.pal new file mode 100644 index 0000000000..355e603188 --- /dev/null +++ b/graphics/pokemon/scovillain/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +100 30 28 +247 107 50 +162 52 36 +37 48 36 +66 128 75 +81 196 68 +0 0 0 +105 171 123 +66 128 75 +240 251 227 +221 88 0 +41 78 37 +66 128 75 +60 80 66 +205 205 205 diff --git a/graphics/pokemon/scovillain/overworld_shiny.pal b/graphics/pokemon/scovillain/overworld_shiny.pal new file mode 100644 index 0000000000..c9eea1f6f1 --- /dev/null +++ b/graphics/pokemon/scovillain/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +100 30 28 +239 81 49 +162 52 36 +40 61 56 +63 129 71 +81 196 68 +0 0 0 +240 220 104 +223 204 96 +240 251 227 +221 88 0 +75 24 17 +87 150 213 +72 101 176 +205 205 205 diff --git a/graphics/pokemon/scream_tail/overworld.png b/graphics/pokemon/scream_tail/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..d99bfcce5f252a31c88d48f50fe0fba439642de8 GIT binary patch literal 670 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 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/smoliv/overworld_normal.pal b/graphics/pokemon/smoliv/overworld_normal.pal new file mode 100644 index 0000000000..d197197d00 --- /dev/null +++ b/graphics/pokemon/smoliv/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +231 225 140 +175 162 91 +96 144 66 +221 215 110 +120 182 67 +155 197 86 +190 208 96 +232 232 248 +151 159 84 +216 96 112 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/smoliv/overworld_shiny.pal b/graphics/pokemon/smoliv/overworld_shiny.pal new file mode 100644 index 0000000000..a840789865 --- /dev/null +++ b/graphics/pokemon/smoliv/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +97 54 67 +30 17 27 +62 87 34 +56 33 50 +92 120 65 +129 174 66 +220 214 96 +232 232 248 +190 183 41 +216 96 112 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/spidops/overworld.png b/graphics/pokemon/spidops/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..5e19fe8a7e0c1ad1c6f65af15d0651c6b3ce0f44 GIT binary patch literal 747 zcmVPx#Fi=cXMRUcZFF71)lqg3%C6;_c0000)TO2JiH61Q5a#=X$|JU6lptvnx)$Q!;jQL?JCy6%* z!D+hfw%cyI?f1;E{UN`e9@y$WALdunPiR5S;-7E>30D;M_(axu2f!Cg=lE`CIDw|O z_TkIn9X^q_-g^MP*pkZt-|ZBa%pmYlDWJ{y0b%|UfnRed3+VDq-#P9$Gx!JNaseIA z9>LEuz&!g(hAs~(k$=u`a-10+z8c=(X=77xvPoQW$lJZgiFSo*bQ~SvdI!ci7jdc4 zw77AgBV<4}DHzSnH)f2JaXLa6^1M}p_wBe9>l(Rx7r;GeLp?v1J zgIAY3V`On=9)daO>+z#Np5u!C7T2XcrFSe#R2TajoL9pW|FJ%LJi8&1t>|xZio1;D zbB|<+J~ufT$$TpDEAiVrA%ZKBG0xR3>$>nxFC8TmGXG4xOo7Fvs;|d+bPx#Fi=cXMRUcZg`is6?Z0w}O#lD@v)X(iK@>uPDKTLmv)X)8p)}ZVnCR&EjYm}g z000000Qln}KL7v%Hc3Q5R9J=WmvL_bAq>T@&_coO`+wcNaxO-Xmg)9~ORh1-_#^rr zw57LgXPj}y8E2ev##;rwgx)5Ik}DJF?JZDBk%0idM`TD$`8CS?_~AMJCy^y3@eM?@ zRNaNK*75=$Yf9{G#gQageEsIYr=?ac%v`iO24ZeY6dnVS3yzZ|5uqpr2;p#Stmc+l z*6*!;j_>+P@#vBpMv5e1)#(m`n?aA`>ro>qt79PMwtGZX#1pvUMdfCuQAd%WO}huM;J-|PoH*Tr56yPPw@tgM z-81amG%Nng6hL`WyYfaT)hD^>yL@z0C_~|+%tt=g*O4MUNP&Ro#%)M!4WEu1Y`hIl zQ?8vqO`vs&*+6s8j|T0CMS8Eji#RC|adT*+QnPSQa4?fL)t93jr8a?WHU%faS7KW+nBJPzrCEMX@FVm=DhE?R$FVcnOwJi&cIw;p#^#AgOK znB!XQ%^4*YeB<02UV(wZvp?%3lV@c*f9|+($Dr8eR(IMRjH`H@TFzFct^q4?Eb$jW zAKC7@(-62dBFCT=hnF6EfJTorXprpQGh+dGWH4P@kgEYJBK(s_jcCb_o>ZbmdjoUZ e*v=yS59148AQXOh@xnR)0000 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/sprigatito/overworld_normal.pal b/graphics/pokemon/sprigatito/overworld_normal.pal new file mode 100644 index 0000000000..20e41599d8 --- /dev/null +++ b/graphics/pokemon/sprigatito/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +133 160 90 +218 237 191 +114 136 77 +0 0 0 +179 218 124 +33 65 20 +66 129 41 +49 97 31 +179 218 124 +82 161 52 +216 112 152 +232 232 248 +141 71 85 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/sprigatito/overworld_shiny.pal b/graphics/pokemon/sprigatito/overworld_shiny.pal new file mode 100644 index 0000000000..cd0636fb1f --- /dev/null +++ b/graphics/pokemon/sprigatito/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +116 137 67 +223 252 135 +81 103 48 +0 0 0 +166 199 99 +39 73 40 +82 143 92 +54 101 55 +179 218 124 +86 205 116 +192 137 237 +232 232 248 +134 81 206 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/squawkabilly/blue_plumage/overworld.png b/graphics/pokemon/squawkabilly/blue_plumage/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..ad152c8b1b4c52ce0eed7ae89305661470816ed4 GIT binary patch literal 893 zcmV-@1A_dCP)Px#Fi=cXMRUcZ0000pG&N05Parc&G+CI-gHHVX{49am{lZ8dA0SOmPqVnaX+|di z00000091rW`Tzg|`$R8njxwqQ|Fpz~Ss zcjQS?e@+N$bWrz1OK>#=NUHxaPZR>UhTB8{wm{g zWr$wxgWm^e>h)=np6Ff16~o;@3n~2&!1@Tbd6?8^`a{N5Q%aoynM86bWnjSko*&=} z@El;Bf4glM@%%%NHLH%{_XgyCpXPZk0|%NMKwp8U0Gf4kxcXbK^b1^v4car_@IC+i z{*~*f1zHaWD}No8Fl>O~N-@32z`$7#9kh%azsSQbkOkwuScU>H&6$@^71oqJ!LS3G zEAN(408t3IUg-_&dcePDocLP0CWuVa0!-+|JJ5>W=&3@OUwsRP6$CDB2j4mb3wi@5 zJ>WlO9E>T|zJl_LClnQ_p0_?gg0MjXH}b#LI5anu-3&pEgYP#{NIO1I06 zKvMp~GG7^g1<${n^j^|TxVHVskM*5@)m;zH*mK594I97~WUj5jDaCkIStc}cTG%RI z003;d1HdU}4r~J&e}9T8Tfgfiw6JBI?GNft0$W@8to}V`vq@)T28hlYI4JfUdTLxoCAC7c^Tqn@$IPLRef;%Q&Ob zEuhJwf9UaXZW-qR#MJ`*vW5`l3*Yo=z2kZ0yypu3Lr*0*q@Y`cp?COpN}(y6&VS&P z^1G~>0ZUrM&mP$(inNQpejA`yYU&I`Z))~cgXZ#(1F-BmKx=T!5s*nOLB@9jcH9gN zuvEdPAY}pNqzg;vZ{zuifO(;9szbLe7iNTADq+UkI{X=bTvnZAiVlc%Qy)4Be9&xGXffwIME|I=}jXCMjR~xmf1F~=E?IvB8q4e(mw-StB6w@Br T_?;{b00000NkvXXu0mjfd=s65 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/squawkabilly/blue_plumage/overworld_normal.pal b/graphics/pokemon/squawkabilly/blue_plumage/overworld_normal.pal new file mode 100644 index 0000000000..8abe9ab02c --- /dev/null +++ b/graphics/pokemon/squawkabilly/blue_plumage/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +51 52 53 +77 78 79 +32 51 74 +52 89 152 +203 131 78 +252 252 252 +44 129 218 +253 194 72 +30 31 32 +77 78 79 +179 184 189 +105 70 39 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/squawkabilly/blue_plumage/overworld_shiny.pal b/graphics/pokemon/squawkabilly/blue_plumage/overworld_shiny.pal new file mode 100644 index 0000000000..f4018770cd --- /dev/null +++ b/graphics/pokemon/squawkabilly/blue_plumage/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +255 142 146 +255 185 187 +32 51 74 +52 89 152 +206 114 100 +252 252 252 +44 129 218 +225 156 147 +30 31 32 +77 78 79 +179 184 189 +170 69 64 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/squawkabilly/overworld.png b/graphics/pokemon/squawkabilly/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..f38929d02075e230fcab9a5d16e76e43dcdc84df GIT binary patch literal 893 zcmV-@1A_dCP)Px#Fi=cXMRUcZ0000pG&N05Pb^9xSe-A+gHHVX{AAiJ{lZ8dA0SOmPqVnaX+|di z0000004cH+aR2}U`$R8njxwqQ|Fpz~Ss zcjQS?e@+N$bWrz1OK>#=NUHxaPZR>UhTB8{wm{g zWr$wxgWm^e>h)=np6Ff16~o;@3n~2&!1@Tbd6?8^`a{N5Q%aoynM86bWnjSko*&=} z@El;Bf4glM@%%%NHLH%{_XgyCpXPZk0|%NMKwp8U0Gf4kxcXbK^b1^v4car_@IC+i z{*~*f1zHaWD}No8Fl>O~N-@32z`$7#9kh%azsSQbkOkwuScU>H&6$@^71oqJ!LS3G zEAN(408t3IUg-_&dcePDocLP0CWuVa0!-+|JJ5>W=&3@OUwsRP6$CDB2j4mb3wi@5 zJ>WlO9E>T|zJl_LClnQ_p0_?gg0MjXH}b#LI5anu-3&pEgYP#{NIO1I06 zKvMp~GG7^g1<${n^j^|TxVHVskM*5@)m;zH*mK594I97~WUj5jDaCkIStc}cTG%RI z003;d1HdU}4r~J&e}9T8Tfgfiw6JBI?GNft0$W@8to}V`vq@)T28hlYI4JfUdTLxoCAC7c^Tqn@$IPLRef;%Q&Ob zEuhJwf9UaXZW-qR#MJ`*vW5`l3*Yo=z2kZ0yypu3Lr*0*q@Y`cp?COpN}(y6&VS&P z^1G~>0ZUrM&mP$(inNQpejA`yYU&I`Z))~cgXZ#(1F-BmKx=T!5s*nOLB@9jcH9gN zuvEdPAY}pNqzg;vZ{zuifO(;9szbLe7iNTADq+UkI{X=bTvnZAiVlc%Qy)4Be9&xGXffwIME|I=}jXCMjR~xmf1F~=E?IvB8q4e(mw-StB6w@Br T_?;{b00000NkvXXu0mjf(AAu! literal 0 HcmV?d00001 diff --git a/graphics/pokemon/squawkabilly/overworld_normal.pal b/graphics/pokemon/squawkabilly/overworld_normal.pal new file mode 100644 index 0000000000..2e9a2a7fb8 --- /dev/null +++ b/graphics/pokemon/squawkabilly/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +51 52 53 +77 78 79 +44 74 32 +88 157 47 +203 131 78 +252 252 252 +100 218 44 +253 194 72 +30 31 32 +77 78 79 +179 184 189 +105 70 39 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/squawkabilly/overworld_shiny.pal b/graphics/pokemon/squawkabilly/overworld_shiny.pal new file mode 100644 index 0000000000..305f25614c --- /dev/null +++ b/graphics/pokemon/squawkabilly/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +255 142 146 +255 185 187 +44 74 32 +88 157 47 +206 114 100 +252 252 252 +100 218 44 +225 156 147 +30 31 32 +77 78 79 +179 184 189 +170 69 64 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/squawkabilly/white_plumage/overworld.png b/graphics/pokemon/squawkabilly/white_plumage/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..c416e4bfd13999d68f2bdc92a352b3f194b163f1 GIT binary patch literal 893 zcmV-@1A_dCP)Px#Fi=cXMRUcZ0000pG&N05Pg`DIiII`ZgHHVX{K3k~{lZ8dA0SOmPqVnaX+|di z000000P=y9-T(js`$R8njxwqQ|Fpz~Ss zcjQS?e@+N$bWrz1OK>#=NUHxaPZR>UhTB8{wm{g zWr$wxgWm^e>h)=np6Ff16~o;@3n~2&!1@Tbd6?8^`a{N5Q%aoynM86bWnjSko*&=} z@El;Bf4glM@%%%NHLH%{_XgyCpXPZk0|%NMKwp8U0Gf4kxcXbK^b1^v4car_@IC+i z{*~*f1zHaWD}No8Fl>O~N-@32z`$7#9kh%azsSQbkOkwuScU>H&6$@^71oqJ!LS3G zEAN(408t3IUg-_&dcePDocLP0CWuVa0!-+|JJ5>W=&3@OUwsRP6$CDB2j4mb3wi@5 zJ>WlO9E>T|zJl_LClnQ_p0_?gg0MjXH}b#LI5anu-3&pEgYP#{NIO1I06 zKvMp~GG7^g1<${n^j^|TxVHVskM*5@)m;zH*mK594I97~WUj5jDaCkIStc}cTG%RI z003;d1HdU}4r~J&e}9T8Tfgfiw6JBI?GNft0$W@8to}V`vq@)T28hlYI4JfUdTLxoCAC7c^Tqn@$IPLRef;%Q&Ob zEuhJwf9UaXZW-qR#MJ`*vW5`l3*Yo=z2kZ0yypu3Lr*0*q@Y`cp?COpN}(y6&VS&P z^1G~>0ZUrM&mP$(inNQpejA`yYU&I`Z))~cgXZ#(1F-BmKx=T!5s*nOLB@9jcH9gN zuvEdPAY}pNqzg;vZ{zuifO(;9szbLe7iNTADq+UkI{X=bTvnZAiVlc%Qy)4Be9&xGXffwIME|I=}jXCMjR~xmf1F~=E?IvB8q4e(mw-StB6w@Br T_?;{b00000NkvXXu0mjfyEdR4 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/squawkabilly/white_plumage/overworld_normal.pal b/graphics/pokemon/squawkabilly/white_plumage/overworld_normal.pal new file mode 100644 index 0000000000..ee7d256273 --- /dev/null +++ b/graphics/pokemon/squawkabilly/white_plumage/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +51 52 53 +77 78 79 +91 94 94 +137 145 145 +203 131 78 +252 252 252 +193 202 202 +253 194 72 +30 31 32 +77 78 79 +179 184 189 +105 70 39 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/squawkabilly/white_plumage/overworld_shiny.pal b/graphics/pokemon/squawkabilly/white_plumage/overworld_shiny.pal new file mode 100644 index 0000000000..8642d6248d --- /dev/null +++ b/graphics/pokemon/squawkabilly/white_plumage/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +255 142 146 +255 185 187 +91 94 94 +137 145 145 +206 114 100 +252 252 252 +193 202 202 +225 156 147 +30 31 32 +77 78 79 +179 184 189 +170 69 64 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/squawkabilly/yellow_plumage/overworld.png b/graphics/pokemon/squawkabilly/yellow_plumage/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..7b744f51339fbd4db266ba43b4412d9b8f0ede53 GIT binary patch literal 893 zcmV-@1A_dCP)Px#Fi=cXMRUcZ0000pG&N05PftS|sgxtjgHHVX{NL;v{lZ8dA0SOmPqVnaX+|di z0000002SgC*#H0n`$R8njxwqQ|Fpz~Ss zcjQS?e@+N$bWrz1OK>#=NUHxaPZR>UhTB8{wm{g zWr$wxgWm^e>h)=np6Ff16~o;@3n~2&!1@Tbd6?8^`a{N5Q%aoynM86bWnjSko*&=} z@El;Bf4glM@%%%NHLH%{_XgyCpXPZk0|%NMKwp8U0Gf4kxcXbK^b1^v4car_@IC+i z{*~*f1zHaWD}No8Fl>O~N-@32z`$7#9kh%azsSQbkOkwuScU>H&6$@^71oqJ!LS3G zEAN(408t3IUg-_&dcePDocLP0CWuVa0!-+|JJ5>W=&3@OUwsRP6$CDB2j4mb3wi@5 zJ>WlO9E>T|zJl_LClnQ_p0_?gg0MjXH}b#LI5anu-3&pEgYP#{NIO1I06 zKvMp~GG7^g1<${n^j^|TxVHVskM*5@)m;zH*mK594I97~WUj5jDaCkIStc}cTG%RI z003;d1HdU}4r~J&e}9T8Tfgfiw6JBI?GNft0$W@8to}V`vq@)T28hlYI4JfUdTLxoCAC7c^Tqn@$IPLRef;%Q&Ob zEuhJwf9UaXZW-qR#MJ`*vW5`l3*Yo=z2kZ0yypu3Lr*0*q@Y`cp?COpN}(y6&VS&P z^1G~>0ZUrM&mP$(inNQpejA`yYU&I`Z))~cgXZ#(1F-BmKx=T!5s*nOLB@9jcH9gN zuvEdPAY}pNqzg;vZ{zuifO(;9szbLe7iNTADq+UkI{X=bTvnZAiVlc%Qy)4Be9&xGXffwIME|I=}jXCMjR~xmf1F~=E?IvB8q4e(mw-StB6w@Br T_?;{b00000NkvXXu0mjf_qLt( literal 0 HcmV?d00001 diff --git a/graphics/pokemon/squawkabilly/yellow_plumage/overworld_normal.pal b/graphics/pokemon/squawkabilly/yellow_plumage/overworld_normal.pal new file mode 100644 index 0000000000..3e57b393fb --- /dev/null +++ b/graphics/pokemon/squawkabilly/yellow_plumage/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +51 52 53 +77 78 79 +79 67 27 +169 148 35 +203 131 78 +252 252 252 +223 236 26 +253 194 72 +30 31 32 +77 78 79 +179 184 189 +105 70 39 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/squawkabilly/yellow_plumage/overworld_shiny.pal b/graphics/pokemon/squawkabilly/yellow_plumage/overworld_shiny.pal new file mode 100644 index 0000000000..2d432a3f8e --- /dev/null +++ b/graphics/pokemon/squawkabilly/yellow_plumage/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +255 142 146 +255 185 187 +79 67 27 +169 148 35 +206 114 100 +252 252 252 +223 236 26 +225 156 147 +30 31 32 +77 78 79 +179 184 189 +170 69 64 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/tadbulb/overworld.png b/graphics/pokemon/tadbulb/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..6937e10e7f4593fa4aecf12eefd34b6562da405a GIT binary patch literal 400 zcmeAS@N?(olHy`uVBq!ia0vp^2Y^_CgBeH`yR~lzQjEnx?oJHr&dIz4ats1|LR^cF zE&(z-OJw)V68iJ!&;R=xzAg@R#kuM6QESpX{?|ljxT>luD+1L(z*z&kr9gA|JY5_^ zB3j>0xjX5w0*Bj2_N~Xh*WWv8vN@dFV#i!F*>g|cDb%P*F&r{@<_vSt*}< z(b%UEW;g#;W_SNR`L#Fx?s+1;ue{39$?oWRPL|vMKikTD=9T~cHN^1PTH6B|$BzKA&xhv;IAiZ_+KcZP#8iANd!~|8Lp_*&x3M&wjNs q2K`^{^ox7NPxI^gJP{`g)aw{tPZDeoT4D?ea|TaWKbLh*2~7Z0%c;u% literal 0 HcmV?d00001 diff --git a/graphics/pokemon/tadbulb/overworld_normal.pal b/graphics/pokemon/tadbulb/overworld_normal.pal new file mode 100644 index 0000000000..251142b687 --- /dev/null +++ b/graphics/pokemon/tadbulb/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +137 116 29 +188 154 18 +252 252 252 +255 223 40 +77 68 64 +126 115 109 +103 95 90 +172 102 72 +255 124 91 +104 69 37 +37 35 33 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/tadbulb/overworld_shiny.pal b/graphics/pokemon/tadbulb/overworld_shiny.pal new file mode 100644 index 0000000000..3364ba16f4 --- /dev/null +++ b/graphics/pokemon/tadbulb/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +137 116 29 +188 154 18 +252 252 252 +255 223 40 +77 68 64 +126 115 109 +103 95 90 +171 75 73 +255 127 109 +125 26 15 +37 35 33 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/tandemaus/overworld.png b/graphics/pokemon/tandemaus/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..0f546d45d1760c930e739162db472ab011bb4a3c GIT binary patch literal 648 zcmV;30(bq1P)Px#Fi=cXMRUcZ0000vIz-sm*!lVSR##>D`T4la-glk9h>MpnFfafB0000000000 z0000001L-2`~Uy~21!IgR9J=WmhEoEAP9yJsA+rd|AL2Ks8uN2$ z{`RuKEB=Aiw#@73S$Ni$w8bu2Pa2KaCwUz`1BcRoX zcu1uYCXK@5gOIK#lmwk;5c;)?`-{xi4-U(cMs}xQl(@fz6ooC@y zQ`a*7+@&fnyXvH&VZZv;DjZyV!+{g@o{6W)=J*radlp`-P8#WtS>`ch7!rg@fWm>Q z2~-v5Ve%}zDRi2CnInh9$+K`MH_HO|ZQJ(Y04nd4U!O^%!n&=F2{(5$D4D^>S`~0Er_UBc% z^r;H5I?@3IP9b3s04-g8(j-AF=4l4P5OaP-r*}$FNR@f7QRY;;C7%j1S7;D0M>rio i#d41f3q)3OBL|va3CN60000Px#Fi=cXMRUcZad&{NqN?QOEh*003N4ETWMp{r&yq*f$_TUctY?BR&&8 zZ5C6b5c1D1w*UYFYDq*vR9J=Wm+h9LAPj~DF#*)h{om~-fqslYP~82o=QK`x=Ja`! zyg{XQn!fRkZ+zn$e>KcaZtwBC?I$xEwMCCxW7Hlxw^Uxw*7+m`o#wF5ozr@#+&bN0 zk8>>ZvMe{anHM+Asr0Ni@9=2?SZIaXnmz}0fDT`rn-^%?>u~^Q9C^IKDaJWD$-vRh~49%Xb)GBgFtJr>7H;>&r+R*(yJu zSWff2z*l)P=v)@CzhcB5mra7VSc9@a#RJO;o*VF9eVrpcCZrin)nAYEHtoExUH+aK;22_z$Z!_fahK`wY4TvvhroYm!5{G%p3Kp4o#VQOEh3%XbQJzOJR98B zHLmN{9H7IEO$P0Cj#~)ZhUoKA4A9|JA0q&U5JNx!zdsKAvHK4m@#sME$)Tla=D+wc zA7k{ar;A*?Yc64Cm0s`sSB1{^ND zO@;63A2B9IPUV~*vT2r9)orG|Zj)+d)`qRVnzc0wLWMBgzp7mKJp8Du?E#6(7A1wg ziSH)-wp7S0yeD6wm9~ay(zMI%b&MYN(}frkVg=Y&FipDJ&Kb0yVb9y0hvJ!Qns%gn zM6m8L>tt5>XT0F`VawQO8NQ+qdK+G`nfIS>~x3m z&+=`Idp{Xg{Csog3vY&mzMw<;`6cWc+;f;6rrfqY`i4QOf%OZ+nt99LUVY6e^GyC8 z=beU2w}t+!HMfXdu{Ic8ny(QS z;<|f#?uA1wdunJ4cO|M_-*Rs7k-oVT04#J5HKc~vC+q%`F}=hvkA_p&}anto6J Z#ag4paVEd`fGa3?Jzf1=);T3K0RY`Fx03(> literal 0 HcmV?d00001 diff --git a/graphics/pokemon/tatsugiri/droopy/overworld_normal.pal b/graphics/pokemon/tatsugiri/droopy/overworld_normal.pal new file mode 100644 index 0000000000..33de9fb9c7 --- /dev/null +++ b/graphics/pokemon/tatsugiri/droopy/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +98 100 113 +252 252 252 +109 35 55 +194 65 101 +237 110 150 +232 232 248 +173 175 184 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/tatsugiri/droopy/overworld_shiny.pal b/graphics/pokemon/tatsugiri/droopy/overworld_shiny.pal new file mode 100644 index 0000000000..b031af3764 --- /dev/null +++ b/graphics/pokemon/tatsugiri/droopy/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +98 100 113 +252 252 252 +98 100 113 +173 175 184 +252 252 252 +232 232 248 +173 175 184 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/tatsugiri/overworld.png b/graphics/pokemon/tatsugiri/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..4b22241884c8d70ee82fb8a7a552f4ad32816371 GIT binary patch literal 503 zcmeAS@N?(olHy`uVBq!ia0vp^2Y^_CgBeH`yR~lzQjEnx?oJHr&dIz4ats1|LR^cF zE&(#j)aCzY>TeD(K3tjl;>C~ut6F-z%#%_I*RJ33=g%LY0ywx(Vs;g1PN}DhV@O2n z+feUKhYdKmZ(J$6|M&fGhU+gE)mWWeWqi$N(?nLG9cK%3kiZ`vh8n&?yYRyB|GW!A z%o(pWMZ8L7FaN6kN0C{DQKGRiv=UEQ_cT(+bkL)TQ)1_ zD`Y6&g=XagkBbg`>0)7=?pQZdHek-y zsOaLq*$vnJFjOA6Byq9rPs8bia-LPjn)mO1b7!9<%yRcl!~2GB@rldcYbTh0$#1@E z#$i}^B&(Cm=`lJ4lzxp0m)fCpfH$k!C>FVdQ&MBb@07~HCdH?_b literal 0 HcmV?d00001 diff --git a/graphics/pokemon/tatsugiri/overworld_normal.pal b/graphics/pokemon/tatsugiri/overworld_normal.pal new file mode 100644 index 0000000000..fb0bb31bca --- /dev/null +++ b/graphics/pokemon/tatsugiri/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +118 39 31 +255 105 47 +179 80 51 +195 121 101 +232 232 248 +255 170 132 +140 74 55 +98 100 113 +173 175 184 +252 252 252 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/tatsugiri/overworld_shiny.pal b/graphics/pokemon/tatsugiri/overworld_shiny.pal new file mode 100644 index 0000000000..334f722c6b --- /dev/null +++ b/graphics/pokemon/tatsugiri/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +75 48 41 +175 103 80 +131 79 61 +205 90 56 +232 232 248 +220 122 84 +134 56 34 +98 100 113 +173 175 184 +252 252 252 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/tatsugiri/stretchy/overworld.png b/graphics/pokemon/tatsugiri/stretchy/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..24451d817f2535d34b8e0f110b2f01e2c454e959 GIT binary patch literal 447 zcmeAS@N?(olHy`uVBq!ia0vp^2Y^_CgBeH`yR~lzQjEnx?oJHr&dIz4ats1|LR^cF zE&(#bo%sKs);%{{<^Orz7cYJ!r4+7RzvIuJKR_uou)HcK8EB5Jr;B4qMC;p-*#5%? z9Na3=W&i*4%P(8I%d5@j?&X&sz6G2#yzyl5R;Psl8X{b+VCtWs%ew%1$FJ6ZSM9hy zU2dm{q;mg;gi;>g@Fk4=&3n4D-v6j(xOe0Y^UZ%t7*k7LPkOnzLA<%;U0eHKmk+M1 zXD~YFB#2(9n4DfC^x>?+>*9R2hZ8D9>@9DrKKyod zyIVn^C-c#evSy7VUy~QVf5G3}!~87moLGSzZ^=HMVCLrEIR*|{0Y_*1)MwAwm&+)9 z`Ee(AcXh+`*_+)CiaA)+^B8A52z7A(RrccX^?7oAo690<+R^HPx#Fi=cXMRUcZ0000E4h|X`8b?P*JUl$Wz|fG8kS{JTTwGk}==eH#ng9R*00000 z00000027LkqW}N{XGugsR9J=WnBkVAAPj{~2#C}7f8WgwXa$0{yXSQKW0>i5>KFAU zB!RjtzvFj&deHwCa5Q{>74O(Not zs(O7OeIi?)J9U5q3=Xr;i+f>|^oeW&DRd%{`Nc!6f^YPIE%RBTxxhmmr~@V)4#2$@ zdpSpM@P8kg_@N{T`lwT>YM{zd0ra#!V4?yRJKe1G*vouSLwDZsU}5JVeZ)K%uKD^?E())pO27(f8nrTT*0rN613zlYm--ffpxF0HtAT^k4bM$+)oN}dK*U%0TWdW&os-gl8JZu&A}%(%0<;OIXL zvd3$LOO=~Iye|3EL(Q&$S>3ix^o4&z*F`S*QsQsQ1*?T4P>&gqGKoV5=@x7adzWzZ z4}3XUlr9lg+BCu&t-7LlWjU#6sa)SW2S^fT7qhtGpGYyDH#8oX#zQ2<3VjI**Wh%K zYp(T)4rBT)%LkrMTw2aakeWI(RUy~qrfz6_PHi1(Yf~enhPkh<%i9c(8CGv3p`R)N6rLXaVw9Al~zLC?`$?9uE4~*Rz&ymIaq5CSUtt>Tkv$ X`WhS$+lpO=00000NkvXXu0mjfAJoVq literal 0 HcmV?d00001 diff --git a/graphics/pokemon/tauros/paldean_aqua_breed/overworld_normal.pal b/graphics/pokemon/tauros/paldean_aqua_breed/overworld_normal.pal new file mode 100644 index 0000000000..a025f63c81 --- /dev/null +++ b/graphics/pokemon/tauros/paldean_aqua_breed/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +14 14 14 +26 26 26 +71 71 71 +60 60 60 +192 192 208 +144 144 144 +47 46 47 +92 92 92 +232 232 248 +58 120 154 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/tauros/paldean_aqua_breed/overworld_shiny.pal b/graphics/pokemon/tauros/paldean_aqua_breed/overworld_shiny.pal new file mode 100644 index 0000000000..627a88f0bc --- /dev/null +++ b/graphics/pokemon/tauros/paldean_aqua_breed/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +14 14 14 +26 26 26 +36 36 36 +24 24 24 +192 192 208 +144 144 144 +47 46 47 +53 51 53 +232 232 248 +58 120 154 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/tauros/paldean_blaze_breed/overworld.png b/graphics/pokemon/tauros/paldean_blaze_breed/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..aad59d003181585bbb169c1e84fffabc0f6b063f GIT binary patch literal 919 zcmV;I18Dq-P)Px#Fi=cXMRUcZ0000E4h|X`8b?P*JUl$Wz|fG8khK5+FD@^N003NETy zDM=Soz@n*eK@t-`tVS!5i|tN|tmRf#d_IX6Zb_1s<5a#EJirFauble`nBvJd z=&{mfcwIt%J4tJc#=R+YNXXZ7tNYc*Pxod~0ll~&$8Y$4NYfeK{9jNZg^nv{*WrIi zih?RCP7DOKA!TPR=kv6~&6{Q0wulSg@*z!Ucug=6jHq&mFa>}-QDG3y0#rf{8dfmW zrl7C2BYqZ;!y+3zyvY)>Az+B_1rXV%K=rJk{gXW`T4kV`w}=OS_s4&GuW!^Nn=3El|8 zIZ>+st3-D6EKqY~YBKlMTfjE-@&so^cV&X8VG&aVN{vdH;quKtTI1db*RZwHDr+eu zcvxWJ7<&44#};z0DRPfikxlWGVjcDPkuKr%3^Q|Kihv*7-37qJ8P858W6UJSLbJ_H z@dN`yT*(pO;6nf2k(Vg$njtk*Qyf7EeF~wzSt^;m+)AMdp8mHhxP+MD6?BFW;9%10 zhGG|&{-_Xwwbp}u&dl&6J3BD~Fv4qjqG0rUKMq*}A%b^{&0>oGCP}kHdKRuzxbsxA-1Td_* zLu_?DaGSvAZ!RA`-T?PE0S!9?HM>B=lZuTt0_}71O6X4M`|&t%fDWIppSkJHv+WJR te@%GsWp%b}=70xo96#c1e-(Mk{sDiL8kuaKj9dT!002ovPDHLkV1gR3n-~B9 literal 0 HcmV?d00001 diff --git a/graphics/pokemon/tauros/paldean_blaze_breed/overworld_normal.pal b/graphics/pokemon/tauros/paldean_blaze_breed/overworld_normal.pal new file mode 100644 index 0000000000..8b4a90c570 --- /dev/null +++ b/graphics/pokemon/tauros/paldean_blaze_breed/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +14 14 14 +26 26 26 +71 71 71 +60 60 60 +192 192 208 +144 144 144 +181 0 0 +47 46 47 +138 0 0 +92 92 92 +232 232 248 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/tauros/paldean_blaze_breed/overworld_shiny.pal b/graphics/pokemon/tauros/paldean_blaze_breed/overworld_shiny.pal new file mode 100644 index 0000000000..478334cb90 --- /dev/null +++ b/graphics/pokemon/tauros/paldean_blaze_breed/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +14 14 14 +26 26 26 +36 36 36 +24 24 24 +192 192 208 +144 144 144 +181 0 0 +47 46 47 +138 0 0 +53 51 53 +232 232 248 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/pokemon/tauros/paldean_combat_breed/overworld.png b/graphics/pokemon/tauros/paldean_combat_breed/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..40206ce43967d886472922d48e9f67ed3555f55d GIT binary patch literal 928 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 IM6N<$f~zKA!2kdN literal 0 HcmV?d00001 diff --git a/graphics/pokemon/tinkatuff/overworld_normal.pal b/graphics/pokemon/tinkatuff/overworld_normal.pal new file mode 100644 index 0000000000..a590547acb --- /dev/null +++ b/graphics/pokemon/tinkatuff/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +79 44 74 +239 200 196 +132 95 109 +15 15 15 +15 15 15 +82 46 69 +231 141 180 +92 75 99 +174 157 197 +138 111 155 +255 86 160 +209 46 107 +252 252 252 +105 78 147 +105 78 147 diff --git a/graphics/pokemon/tinkatuff/overworld_shiny.pal b/graphics/pokemon/tinkatuff/overworld_shiny.pal new file mode 100644 index 0000000000..673a93a40c --- /dev/null +++ b/graphics/pokemon/tinkatuff/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +93 41 64 +239 200 196 +113 69 98 +15 15 15 +113 69 98 +15 15 15 +231 141 180 +120 64 33 +203 131 108 +158 90 55 +255 86 160 +209 46 107 +252 252 252 +129 50 73 +93 99 158 diff --git a/graphics/pokemon/toedscool/overworld.png b/graphics/pokemon/toedscool/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..7f73ce5fc1a2466b8f0fd93886d1ad4ec2c104ca GIT binary patch literal 531 zcmV+u0_^>XP)Px#Fi=cXMRUcZuTVIPd=%q`Z|bCy0002Ot{v{-hTLdN<*==eZDK+w?8O=M!D zxVPTt<^$hx!vFvQkx4{BR9J=Wl#OnKFbstA=LG1W@Bg+tJL)u5iIasfG$|IPNS~8C z+XQ1~%$PA_#*7&=ekm-+jocXL+&Fj6hY)-<#2O zK%6kbjoEW^XfNZ-`PYYLlz@?nofvbwm!MstxiG;K3 zGt&!DmkZ=3RIzYf|Ll71a;1b!lnwUhlRKmc?60H?*DE6sqHLgPcP0JF`p&F>6Q5l0 V8vr5mkct2R002ovPDHLkV1lUF_n-g( literal 0 HcmV?d00001 diff --git a/graphics/pokemon/toedscool/overworld_normal.pal b/graphics/pokemon/toedscool/overworld_normal.pal new file mode 100644 index 0000000000..4c86e2c2da --- /dev/null +++ b/graphics/pokemon/toedscool/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +175 80 56 +139 124 20 +227 134 111 +234 164 146 +0 0 0 +194 174 29 +238 225 134 +220 104 75 +229 209 79 +232 232 248 +64 64 64 +208 208 208 +77 100 98 +163 184 183 +222 231 230 diff --git a/graphics/pokemon/toedscool/overworld_shiny.pal b/graphics/pokemon/toedscool/overworld_shiny.pal new file mode 100644 index 0000000000..edb94d0db5 --- /dev/null +++ b/graphics/pokemon/toedscool/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +101 98 86 +126 129 58 +207 203 186 +219 218 206 +0 0 0 +193 182 125 +255 253 226 +168 164 149 +207 198 154 +232 232 248 +64 64 64 +208 208 208 +132 130 111 +167 165 150 +224 221 203 diff --git a/graphics/pokemon/toedscruel/overworld.png b/graphics/pokemon/toedscruel/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..8ed361efeddffbfc922cd6c4bf22a065203aa521 GIT binary patch literal 780 zcmV+n1M~ceP)Px#Fi=cXMRUcZ6%`dyQA4j#INa9*h=l^&XiMs(lKuN(dKdz=Ikjtsi?b9%xd(A^b9%Z3ZZVFSFu(=FmM7lEwKmJGHN z40%X%FR4p-kLPiXX94doM?FH+Cg^e8VIi=F8II~{_Y!|{ca>*>bq@Unw5Lzd%Q-5&9pP^tk`H)}c+<`BRkqcEj!1pEZ)YBN%XWkkF z*`~ZzwE#n&T0{=YN50TRd|&cTJzrs|k6L}^nm^uW0hH+zCjtE^{Zj{b1n>p+Ie=6A z9S(C8UtEE`{=h{&+#kaLJ0Ate4q=k{t1BoD>4B*DYaDj#^?Y!@@BSo!b5#K0M}SIj zbO2PM!Yc+np2w*`@mD$=)$92t$o@D$w6;o+ZaZB;?(i@V!1hpo&}sM5Y2u2%!r`F4 zmoK>tLDttoZ7(TyL1+cpA+Q7AJm=&b==lnVqxw!h8qQh(i}5V9-&M1M|EP-HAs_2c zQhw3>m1hU_oqVF$L-Z2x6l`BjaP}XM6XoyLXC%La>NCavHGTn(h$xsE+ura10000< KMNUMnLSTX@mv34C literal 0 HcmV?d00001 diff --git a/graphics/pokemon/toedscruel/overworld_normal.pal b/graphics/pokemon/toedscruel/overworld_normal.pal new file mode 100644 index 0000000000..2c2be8c0da --- /dev/null +++ b/graphics/pokemon/toedscruel/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +21 21 21 +82 81 67 +175 80 56 +220 215 3 +136 133 2 +220 104 75 +234 164 146 +253 251 97 +227 134 111 +213 211 171 +150 147 107 +232 232 248 +168 168 168 +253 251 97 +220 215 3 diff --git a/graphics/pokemon/toedscruel/overworld_shiny.pal b/graphics/pokemon/toedscruel/overworld_shiny.pal new file mode 100644 index 0000000000..13165729c8 --- /dev/null +++ b/graphics/pokemon/toedscruel/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +21 21 21 +71 59 62 +109 105 109 +172 46 134 +172 46 134 +193 192 193 +252 252 252 +223 102 192 +232 231 233 +189 92 118 +92 46 56 +232 232 248 +168 168 168 +120 95 207 +88 55 177 diff --git a/graphics/pokemon/ursaluna/bloodmoon/overworld_shiny.pal b/graphics/pokemon/ursaluna/bloodmoon/overworld_shiny.pal new file mode 100644 index 0000000000..6dbef8b071 --- /dev/null +++ b/graphics/pokemon/ursaluna/bloodmoon/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +0 0 0 +94 41 20 +230 131 90 +195 99 59 +131 67 39 +119 119 117 +81 71 71 +151 148 146 +255 153 174 +248 50 89 +195 99 59 +131 67 39 +232 232 248 +36 104 60 +192 192 208 diff --git a/graphics/pokemon/varoom/overworld.png b/graphics/pokemon/varoom/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..a33b4821d3ffe85d521f9022842f1df62dd43832 GIT binary patch literal 753 zcmVPx#Fi=cXMRUcZ00010Nm@QIJcD_L!@v0APht;K;Sz4|L^UJi!Xq1YiA~XupZJjE1Nwa z1k-7H;)y4oc;bmS1*N#Ge>%v-u$sd&J!gFm@GSsDc8oAmZo&zzy(D=*$Qc3NH9#T9MLqk2ea|BkD&XxE;1pN&)gKIMNkhQfD{#Mrioa2r>VO|y zfzld^KW&UL;GG$a?WySfR<+X`DI`a#zuy7gSOKyDgQqDbWQ3X$4)*$yfzmsXGS9B( z?-Vd)%`U~PG^v4(21Cw~g=*y&{CU*PNGC@ugnsrsySB(q0rOiR<2A_nyB-Z%mch}d zVbF8{bRE`U4*s1Jf@T3u0CSc{5~q*O6w^Vk%NPa?2*nPx#Fi=cXMRUcZdMtYUb^o(Kvp_vQ00023uC2eq#D;!=X=-ebg2Mg%{m{`&A{JGAY-j- zoLwKI#Ap;SAUNNi>EDW=Xy^~Z6~j0IkQgwH31|8@L&zA=9fPhzp5WD+;+g&j%F72_ zu&iY~05Y$T7_vdAS!;ANi@HEO6LW(;pj1#Cq(}jYS4WHl{f46L;neMJAqMm{;-4Ax z03`sB0T8Sj;EN;W%)fFb?3#@nGE6waC;(>-IOvVyzun~`##4XoPdVRZ8GKK3TXFn znPHk_z|i@+1=bJPHa(8aD8mzp?lofz!Pw!1PoR$Te0cIN=Vk$d&FedAcAyUE=lB9>N5PW# zH3XDGa~^k;&?>&;@S=4eV~-}-x(-95TgjXP?wD{N%X}7$&hw5)(K#(1Gix3+Y9Coc zW6-+K1aR3O`0x#U;hB2er9w4e7ieAKV}l2w%P$T*{odPb4&T7|upFKla-Ru&{)z5v m0bd(5@vqhSqyI1U8}SR*R~Ax;U36vu0000Px#Fi=cXMRUcZD-}Qh005w1uo^Z=J8+C(n827QC~!E4P*7mF$jIpE`0wPf7&urk zV2JyhJY}IpDF6TjK}keGR9J=GnC*JwDhz~!AQ((>?*DFgB*0$?oSyS*muK5`{mL){ zLO6N7{;g)rW583ye{Dqnk4rPwJw!NbXBM2BcQEGk_EUvVyfow9ZaT%_78b^%yx+57 z#vJ-QeP&OBza{~v0qi(U3LiQEb~6VPP9AK5z=1~LpGg2WQwInmg_V!82+WmVdYf?R znGFmyRz42c^@rj>6L@f|2e7u!gMk4jo*4)<&=^Fc&L!Zb1XO`!Kb8hdVC>GVzD7Z^c^u@Tu2!-!^p5RW5{M>>^DaI==6U}`dw92WW%DfJP75W@f8i`^4{$qGXI$HbL_ zQl$#U9^!x-c09o~Ls|<%UJTl930PDqlYDj8_r$A0>=D+dE9KG z{k`VQ4-efgpdwEsYG=(8hiXV%Se{iJRJ<%=@MeIUb49m^DcWD%q zJ&egYxDvqIYi6J>!D2fDjuX68fg^#!QR%Kcvg_}!nhPh1S7x=B-SKoacCPnamK>*_^TFjf9*z)OHJ=Jv*k35F@; zK;jI*Ww>vUIWHL$WtTxR6$23C2Ol1*}^l z@3&T_ac1uZC%g{fSs}4LuddOYmomE1#>bRy!0fzxni9)mfj*_CFe3NkZg9p+AD-8V z|7G>l=M$HcYTZ^j2l_NE28C;%_;TVR!wPfCtT3{?wGG4uDU5juk?qM_6<69EO*t#X z6t8P3)}tj5f7;6~_lR9;$a|mH^(~>aD}+H#e;6Q@bDkyI41d@kj2w85qE1=a}%mLgx&j+DRszBO;SuVR7}iQhI;pyt16Ee#jYb11<(oU)oLMH}`z$_Eljg6a`PH}w%ws_|GQJ&r-##jUvC8*TOCgv($u2h38keUir-=Xn002ovPDHLkV1j;!JFNf! literal 0 HcmV?d00001 diff --git a/graphics/pokemon/walking_wake/overworld_normal.pal b/graphics/pokemon/walking_wake/overworld_normal.pal new file mode 100644 index 0000000000..a2580fab8d --- /dev/null +++ b/graphics/pokemon/walking_wake/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +43 21 64 +0 0 0 +160 96 176 +26 54 73 +59 112 140 +96 152 192 +152 40 40 +112 56 136 +80 80 96 +184 200 200 +232 232 248 +239 228 176 +24 56 88 +48 96 136 +251 155 60 diff --git a/graphics/pokemon/walking_wake/overworld_shiny.pal b/graphics/pokemon/walking_wake/overworld_shiny.pal new file mode 100644 index 0000000000..06cefaba45 --- /dev/null +++ b/graphics/pokemon/walking_wake/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +2 46 77 +0 0 0 +96 160 216 +18 67 58 +56 200 176 +144 200 232 +152 40 40 +8 88 152 +80 80 96 +184 200 200 +232 232 248 +239 228 176 +48 112 176 +96 160 216 +251 155 60 diff --git a/graphics/pokemon/wattrel/overworld.png b/graphics/pokemon/wattrel/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..a73b63e0fbc8a8d8992a3eae3030c0859d2d8751 GIT binary patch literal 475 zcmV<10VMv3P)Px#Fi=cXMRUcZ5fT$OIY9sb0RPQ5=;-*ucR{|7DRaBO@u60zsIX)_D1u}rKSE8B zrNeD@jyzui9{>OWSxH1eR9J=WmD`TPAPhvo!=)so`TxINL(?~GN6B_ql^CSFoB_t% z;@s5K)YR0})YR0})UU`l{UdieHMyrI+4FJE1}&n=iPRbXh>Hm={`CbQ#BPWI*Eqd( zjrV*(PH1t5h)9X}D+I9k%>vNYCd&aW&H*1WmBe4E0E6Ev0Hv+XaYhCiE#53kDy5`l zJpT!<<~KNa==fM(0S8Zw#b4uxbzOt9f+}}t&m6yVVgV`#Qd&X}IQ&~!obPBQ%9#&Y z9o|xlyP5${9>{f=(Bcj`&{o;Rg^rfk;2iMTclaq5pmN?JZoYrV`3&A1TWuQ*;hyT; z=ej?M+g|e(&L^ZTFfXxmMhwo5jmHl1EiyQ7?Y48{t-i#2LTLF6ek9D|4p|&18w)aT zxG0<%MBEJM9?@_Np>eH0(yH`*o7N;2kVJIWWDa3;x93+)cl)0i;?x}9q#qkS46As+ RV`u;X002ovPDHLkV1hu$)2#pi literal 0 HcmV?d00001 diff --git a/graphics/pokemon/wattrel/overworld_normal.pal b/graphics/pokemon/wattrel/overworld_normal.pal new file mode 100644 index 0000000000..00a331333a --- /dev/null +++ b/graphics/pokemon/wattrel/overworld_normal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +17 18 19 +55 57 65 +0 0 0 +255 205 55 +232 232 248 +194 119 65 +190 143 41 +115 187 191 +241 161 86 +168 168 176 +100 60 40 +130 100 38 +63 66 77 +145 165 195 +109 118 142 diff --git a/graphics/pokemon/wattrel/overworld_shiny.pal b/graphics/pokemon/wattrel/overworld_shiny.pal new file mode 100644 index 0000000000..4b43c1a237 --- /dev/null +++ b/graphics/pokemon/wattrel/overworld_shiny.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +80 47 43 +114 67 87 +0 0 0 +255 205 55 +232 232 248 +194 119 65 +190 143 41 +115 187 191 +241 161 86 +168 168 176 +100 60 40 +130 100 38 +67 72 84 +145 165 195 +109 118 142 diff --git a/graphics/pokemon/wiglett/overworld.png b/graphics/pokemon/wiglett/overworld.png new file mode 100644 index 0000000000000000000000000000000000000000..510566c98c2426200d3e3a626cac3ffa4ae4388b GIT binary patch literal 444 zcmV;t0YmPx#Fi=cXMRUcZb8C3@^YPNp(uq1ywz$s#008MDwRs5QvHfd)&KQh+)e{*l`sPsyx8B`#rYs$-!C`-1~2xHb|<&v3xpfq z#JvXrV8G3|8x`Ep1m2+gk%M`Eh<9&kzjI7K3`jHFPVKu3Ebjq%-oMjtu|;_97Z`1eT+K!y&+IK?w9GV^;$<85cs3-k2N^1%SN$ zO!x#Xpp^qS>51Whmji6bp_O3pTpppm-ypp@Ug^6DK&$pFbPDS zQ)*Xi=$tu3Je5)!r*k$R@mGmSOohx-{kp0ivu?=0X@NgioH@-mU|zb|H~ePaO2{33 m7P)vmf52Nw7Ap|{JbeMhGZOIUb1O*z0000Px#Fi=cXMRUcZdva4qOFyEEc8r&uO*}WboM5=Vy>_%%`FtQ@fJFWM{TCk)dva3% z001#GFydvjHvj+wib+I4R9J=Wmf4cyAPhxq*~s9lzsu)MMX&761T0;@=-B?|$sf_kI*U$+GYAMCkaNO(_8^`3a4{{JmE&Gnix@ zIdzX?y26L_oxo$jr>f=%oG65MfW7)YC`i0l@Ce*RoYN;hq#p$K8wpCUI9%6dKCmf8 z6;^74kD*_xn6x5Iq^U3{C<6B*80;}6vzF2)4%W8m1%X|S37coi$Z19M`Jyc9pcj07 z%%EUlFbkvxXNRLeN^dD3al*FWfkq&2b1Tp(54IQ_dHC@%r}A29uTFCTSZL_lU=+v- zK@v#G;41vISAPl{fnlFo{gxW+1UKV(jT4l&UWNS!)9=y3U=p}TiK9SH#$`*qtBxRW zZ=2lNFloy38qONS&k)$3qLslckPnEpI0%f%GIv9DUIY>bnqmMK251d%V99{ZmFNw^ z++Y#N62odzio&-+ey++2Kg?##|D!1&v`E} zJt_mrguS2eG#sS}2I$?1J@6P58Ze{;=crSr2VlZwfscMgm?#aDc+tmaRBqq!zpH;Ua_7xByxs z$ow%tah78}3IZB~BggxxjnqU7PMNbnf;UTqyQ(329mb63D5Z5cq*^OMA@O2R;26@z z!5{yDqbG$yV>~GL9W<70dgE~bD(!rFXf+6AUJMEx@1l@Cj6JmCcxR1JZiUSuc;U&W z*VN_V;j|x09C$G}@YubnHsjy1&R$xmcq2>23{`$2T55 z<{l0DdEmf9gvqUd4TkbJAPx#Fi=cXMRUcZ0002mHdkgGE6B*mpDR{?5HPEgv(?Ao!6Za*UUw@wNv@*Ust9skn+8h;r7+W{MmiGqc|W&CR@0NjU>+csCQ5V(wgUBzb(V7p@M^;E!0 z;M%|oM-2S7aByBB*uZ-a6M?@oIIEz;!Bh5aVPH}r=l9#sZTDxvD}zpwH;F$r=R?`IGj|-d3Zb?a4KMB(0Lhe8-Shk-!Tv#x7!W_fyLplLiuE(0Q}=zz^TD! z{6_{T?e{AiKnIV#FJp07DpYaMRo!&|Q-iO^kB^w7T?}9{cup;_I4l*i+?BkX3aC=t zRrl5S(+W}AQC``<2-!flK#o5@VvZc@?=r1AXU3sc z$Qsbz5@JdbM<_X~6nBlI8^{g~w-cnd0I8D^q3TsyqK4NF!f~j;BgIg~ zlfIspcx{cC!i2L12GpV9^(CR+0+`x}6^bm7ldb}Ci3+d%6$6K6xHB;38JE^b2GW5k z?)0g{%sYqK5}t0{1r_4cj+3qmwM2zi{y3hAUSg`VZFOU=SX-m#5+B)tJt4)R;X?yl zLOh`O4=24SBhUiQ0 zae7fiVKJAg(>LY$0my|-G9lF)yutB~mo^UW$C^K9#mR&z7lTD#_s+WDdar|g_scK1ZldzW6V|+px4Hg&7QEv179aCJ a82 Date: Fri, 6 Sep 2024 12:36:21 +0200 Subject: [PATCH 47/78] RTC-based wild encounters follow up (#5328) During my review of #5313 I overlooked that the function vars used a u8 instead of u32. This follow up fixes it --- src/wild_encounter.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 3cfdfb1191..81721596ad 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -355,7 +355,7 @@ static u8 ChooseWildMonLevel(const struct WildPokemon *wildPokemon, u8 wildMonIn } } -static bool8 IsExactTimeOfDayMatchForWildEncounters(u8 currentTimeOfDay, u8 encounterTimeOfDay) +static bool32 IsExactTimeOfDayMatchForWildEncounters(u32 currentTimeOfDay, u32 encounterTimeOfDay) { switch (currentTimeOfDay) { From 28287fe80a0ff084472b0dfaccc236f90e04248e Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Fri, 6 Sep 2024 21:08:54 +0200 Subject: [PATCH 48/78] Fixes minor wrong order in AI_CalcDamage and adds Tera Blast/Tera Storm (#5155) * Fixes minor wrong order in AI_CalcDamage and adds Tera Blast/Tera Storm * update moveEffect * fix compile --- src/battle_ai_util.c | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 59a4d0c115..06735d6015 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -519,12 +519,16 @@ struct SimulatedDamage AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u { struct SimulatedDamage simDamage; s32 moveType; + u32 moveEffect = gMovesInfo[move].effect; uq4_12_t effectivenessMultiplier; bool32 isDamageMoveUnusable = FALSE; bool32 toggledGimmick = FALSE; struct AiLogicData *aiData = AI_DATA; gBattleStruct->aiCalcInProgress = TRUE; + if (moveEffect == EFFECT_NATURE_POWER) + move = GetNaturePowerMove(battlerAtk); + // Temporarily enable gimmicks for damage calcs if planned if (gBattleStruct->gimmick.usableGimmick[battlerAtk] && GetActiveGimmick(battlerAtk) == GIMMICK_NONE && !(gBattleStruct->gimmick.usableGimmick[battlerAtk] == GIMMICK_Z_MOVE && !considerZPower)) @@ -537,12 +541,25 @@ struct SimulatedDamage AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u SetActiveGimmick(battlerAtk, gBattleStruct->gimmick.usableGimmick[battlerAtk]); } - if (gMovesInfo[move].effect == EFFECT_PHOTON_GEYSER) - gBattleStruct->swapDamageCategory = (GetCategoryBasedOnStats(gBattlerAttacker) != gMovesInfo[gCurrentMove].category); - else if (gMovesInfo[move].effect == EFFECT_SHELL_SIDE_ARM) - gBattleStruct->swapDamageCategory = (gBattleStruct->shellSideArmCategory[battlerAtk][battlerDef] != gMovesInfo[gCurrentMove].category); - else if (gMovesInfo[move].effect == EFFECT_NATURE_POWER) - move = GetNaturePowerMove(battlerAtk); + moveEffect = gMovesInfo[move].effect; + switch (moveEffect) + { + case EFFECT_PHOTON_GEYSER: + gBattleStruct->swapDamageCategory = (GetCategoryBasedOnStats(battlerAtk) == DAMAGE_CATEGORY_PHYSICAL); + break; + case EFFECT_SHELL_SIDE_ARM: + if (gBattleStruct->shellSideArmCategory[battlerAtk][battlerDef] == DAMAGE_CATEGORY_PHYSICAL) + gBattleStruct->swapDamageCategory = TRUE; + break; + case EFFECT_TERA_BLAST: + if (GetActiveGimmick(battlerAtk) == GIMMICK_TERA) + gBattleStruct->swapDamageCategory = GetCategoryBasedOnStats(battlerAtk) == DAMAGE_CATEGORY_PHYSICAL; + break; + case EFFECT_TERA_STARSTORM: + if (GetActiveGimmick(gBattlerAttacker) == GIMMICK_TERA && gBattleMons[gBattlerAttacker].species == SPECIES_TERAPAGOS_STELLAR) + gBattleStruct->swapDamageCategory = GetCategoryBasedOnStats(battlerAtk) == DAMAGE_CATEGORY_PHYSICAL; + break; + } gBattleStruct->dynamicMoveType = 0; @@ -559,7 +576,7 @@ struct SimulatedDamage AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u ProteanTryChangeType(battlerAtk, aiData->abilities[battlerAtk], move, moveType); // Certain moves like Rollout calculate damage based on values which change during the move execution, but before calling dmg calc. - switch (gMovesInfo[move].effect) + switch (moveEffect) { case EFFECT_ROLLOUT: n = gDisableStructs[battlerAtk].rolloutTimer - 1; @@ -606,7 +623,7 @@ struct SimulatedDamage AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u else { s32 nonCritDmg = 0; - if (gMovesInfo[move].effect == EFFECT_TRIPLE_KICK) + if (moveEffect == EFFECT_TRIPLE_KICK) { for (gMultiHitCounter = gMovesInfo[move].strikeCount; gMultiHitCounter > 0; gMultiHitCounter--) // The global is used to simulate actual damage done { @@ -630,7 +647,7 @@ struct SimulatedDamage AI_CalcDamage(u32 move, u32 battlerAtk, u32 battlerDef, u if (GetActiveGimmick(battlerAtk) != GIMMICK_Z_MOVE) { // Handle dynamic move damage - switch (gMovesInfo[move].effect) + switch (moveEffect) { case EFFECT_LEVEL_DAMAGE: simDamage.expected = simDamage.minimum = gBattleMons[battlerAtk].level * (aiData->abilities[battlerAtk] == ABILITY_PARENTAL_BOND ? 2 : 1); From 5c86aa126f9b06b28bc4d97778ce37b6d577a4ad Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Fri, 6 Sep 2024 21:09:04 +0200 Subject: [PATCH 49/78] Revert rtc based encounters (#5331) * Revert "RTC-based wild encounters follow up (#5328)" This reverts commit 9a95c9b07a4084afe0e96fd5d4408777172be822. * Revert "RTC-based wild encounters (#5313)" This reverts commit 7c7fd905bae849bc1244a66545e10677fed763dd. --- include/config/overworld.h | 7 ----- include/wild_encounter.h | 1 - src/data/wild_encounters.json.txt | 2 -- src/wild_encounter.c | 45 ++----------------------------- tools/jsonproc/jsonproc.cpp | 21 --------------- 5 files changed, 2 insertions(+), 74 deletions(-) diff --git a/include/config/overworld.h b/include/config/overworld.h index 8be52abfb5..cebbe5b34b 100644 --- a/include/config/overworld.h +++ b/include/config/overworld.h @@ -74,13 +74,6 @@ #define OW_USE_FAKE_RTC FALSE // When TRUE, seconds on the in-game clock will only advance once every 60 playTimeVBlanks (every 60 frames). #define OW_ALTERED_TIME_RATIO GEN_LATEST // In GEN_8_PLA, the time in game moves forward 60 seconds for every second in the RTC. In GEN_9, it is 20 seconds. This has no effect if OW_USE_FAKE_RTC is FALSE. -// Time-based wild Pokemon encounters - Allows you to create additional encounter groups in wild_encounters.json (or in porymap). -// The groups are processed by base label's suffix. For example, "gRoute101" (no suffix) contains daytime encounters, and "gRoute101_Night" contains nighttime encounters. -// Not every group needs to be defined for every map - you could for example omit them inside caves and it would fall back to the unsuffixed daytime encounter group. -#define OW_TIME_BASED_WILD_ENCOUNTERS FALSE // Enables the system. If disabled, all suffixes are ignored and the first encounter group found for a map will be used for wild encounters. -#define OW_ENABLE_MORNING_WILD_ENCOUNTERS FALSE // If true, allows definition of morning encounter groups such as "gRoute101_Morning". Otherwise, morning is considered to be day for encounters. No effect if OW_TIME_BASED_WILD_ENCOUNTERS is false. -#define OW_ENABLE_EVENING_WILD_ENCOUNTERS FALSE // If true, allows definition of evening encounter groups such as "gRoute101_Evening". Otherwise, evening is considered to be night for encounters. No effect if OW_TIME_BASED_WILD_ENCOUNTERS is false. - // Overworld flags // To use the following features in scripting, replace the 0s with the flag ID you're assigning it to. // Eg: Replace with FLAG_UNUSED_0x264 so you can use that flag to toggle the feature. diff --git a/include/wild_encounter.h b/include/wild_encounter.h index fb0f5ab00e..63289f081c 100644 --- a/include/wild_encounter.h +++ b/include/wild_encounter.h @@ -20,7 +20,6 @@ struct WildPokemonHeader { u8 mapGroup; u8 mapNum; - u8 timeOfDay; const struct WildPokemonInfo *landMonsInfo; const struct WildPokemonInfo *waterMonsInfo; const struct WildPokemonInfo *rockSmashMonsInfo; diff --git a/src/data/wild_encounters.json.txt b/src/data/wild_encounters.json.txt index 55dd20cd52..bf848249f0 100755 --- a/src/data/wild_encounters.json.txt +++ b/src/data/wild_encounters.json.txt @@ -72,7 +72,6 @@ const struct WildPokemonHeader {{ wild_encounter_group.label }}[] = { .mapGroup = {% if wild_encounter_group.for_maps %}MAP_GROUP({{ removePrefix(encounter.map, "MAP_") }}){% else %}0{% endif %}, .mapNum = {% if wild_encounter_group.for_maps %}MAP_NUM({{ removePrefix(encounter.map, "MAP_") }}){% else %}{{ loop.index1 }}{% endif %}, - .timeOfDay = {% if stringEndsWith(encounter.base_label, "_Night") or stringContains(encounter.base_label, "_Night_") %}TIME_NIGHT{% else if stringEndsWith(encounter.base_label, "_Morning") or stringContains(encounter.base_label, "_Morning_") %}TIME_MORNING{% else if stringEndsWith(encounter.base_label, "_Evening") or stringContains(encounter.base_label, "_Evening_") %}TIME_EVENING{% else %}TIME_DAY{% endif %}, .landMonsInfo = {% if existsIn(encounter, "land_mons") %}&{{ encounter.base_label }}_LandMonsInfo{% else %}NULL{% endif %}, .waterMonsInfo = {% if existsIn(encounter, "water_mons") %}&{{ encounter.base_label }}_WaterMonsInfo{% else %}NULL{% endif %}, .rockSmashMonsInfo = {% if existsIn(encounter, "rock_smash_mons") %}&{{ encounter.base_label }}_RockSmashMonsInfo{% else %}NULL{% endif %}, @@ -82,7 +81,6 @@ const struct WildPokemonHeader {{ wild_encounter_group.label }}[] = { .mapGroup = MAP_GROUP(UNDEFINED), .mapNum = MAP_NUM(UNDEFINED), - .timeOfDay = TIME_DAY, .landMonsInfo = NULL, .waterMonsInfo = NULL, .rockSmashMonsInfo = NULL, diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 81721596ad..033eec56da 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -11,7 +11,6 @@ #include "pokeblock.h" #include "battle_setup.h" #include "roamer.h" -#include "rtc.h" #include "tv.h" #include "link.h" #include "script.h" @@ -355,32 +354,9 @@ static u8 ChooseWildMonLevel(const struct WildPokemon *wildPokemon, u8 wildMonIn } } -static bool32 IsExactTimeOfDayMatchForWildEncounters(u32 currentTimeOfDay, u32 encounterTimeOfDay) -{ - switch (currentTimeOfDay) - { - case TIME_MORNING: - if (OW_ENABLE_MORNING_WILD_ENCOUNTERS) - return encounterTimeOfDay == TIME_MORNING; - // fallthrough - case TIME_DAY: - return encounterTimeOfDay == TIME_DAY; - case TIME_EVENING: - if (OW_ENABLE_EVENING_WILD_ENCOUNTERS) - return encounterTimeOfDay == TIME_EVENING; - // fallthrough - case TIME_NIGHT: - return encounterTimeOfDay == TIME_NIGHT; - } - return FALSE; -} - static u16 GetCurrentMapWildMonHeaderId(void) { u16 i; - u8 currentTimeOfDay = GetTimeOfDay(); - u16 dayId = HEADER_NONE; - u16 nightId = HEADER_NONE; for (i = 0; ; i++) { @@ -399,30 +375,13 @@ static u16 GetCurrentMapWildMonHeaderId(void) alteringCaveId = 0; i += alteringCaveId; - return i; // Altering cave is not affected by time-of-day encounters. } - if (OW_TIME_BASED_WILD_ENCOUNTERS) - { - if (IsExactTimeOfDayMatchForWildEncounters(currentTimeOfDay, gWildMonHeaders[i].timeOfDay)) - return i; - else if (gWildMonHeaders[i].timeOfDay == TIME_DAY && dayId == HEADER_NONE) - dayId = i; - else if (gWildMonHeaders[i].timeOfDay == TIME_NIGHT && nightId == HEADER_NONE) - nightId = i; - } - else - return i; + return i; } } - if (!OW_TIME_BASED_WILD_ENCOUNTERS) - return HEADER_NONE; - - // Exact match for time of day was not found. We fall back to other encounter groups for this map - if (currentTimeOfDay == TIME_EVENING && OW_ENABLE_EVENING_WILD_ENCOUNTERS && nightId != HEADER_NONE) - return nightId; - return dayId; + return HEADER_NONE; } u8 PickWildMonNature(void) diff --git a/tools/jsonproc/jsonproc.cpp b/tools/jsonproc/jsonproc.cpp index 5e661e40d3..9ef23cd43e 100755 --- a/tools/jsonproc/jsonproc.cpp +++ b/tools/jsonproc/jsonproc.cpp @@ -118,27 +118,6 @@ int main(int argc, char *argv[]) return str; }); - env.add_callback("stringContains", 2, [](Arguments& args) { - string str = args.at(0)->get(); - string check = args.at(1)->get(); - - return str.find(check) != std::string::npos; - }); - - env.add_callback("stringStartsWith", 2, [](Arguments& args) { - string str = args.at(0)->get(); - string check = args.at(1)->get(); - - return str.find(check) == 0; - }); - - env.add_callback("stringEndsWith", 2, [](Arguments& args) { - string str = args.at(0)->get(); - string check = args.at(1)->get(); - - return str.rfind(check) == (str.length() - check.length()); - }); - try { env.write_with_json_file(templateFilepath, jsonfilepath, outputFilepath); From ac7abb6d599095791d9d3d8bc8939815dfeb66c4 Mon Sep 17 00:00:00 2001 From: Cafei <46283144+Cafeei@users.noreply.github.com> Date: Sat, 7 Sep 2024 17:59:09 +0400 Subject: [PATCH 50/78] Followers sprite fixes (#5333) Follower sprite fixes Mothim and Combusken shiny fixes --- graphics/pokemon/abomasnow/overworld.png | Bin 1241 -> 1146 bytes graphics/pokemon/aggron/overworld.png | Bin 1414 -> 1360 bytes graphics/pokemon/alakazam/overworld.png | Bin 963 -> 859 bytes graphics/pokemon/ambipom/overworld.png | Bin 1378 -> 1257 bytes graphics/pokemon/ariados/overworld.png | Bin 1228 -> 1084 bytes graphics/pokemon/armaldo/overworld.png | Bin 1196 -> 1064 bytes graphics/pokemon/articuno/overworld.png | Bin 1458 -> 1270 bytes graphics/pokemon/azumarill/overworld.png | Bin 922 -> 740 bytes graphics/pokemon/barboach/overworld.png | Bin 737 -> 594 bytes graphics/pokemon/bayleef/overworld.png | Bin 915 -> 814 bytes graphics/pokemon/bibarel/overworld.png | Bin 1055 -> 924 bytes graphics/pokemon/blastoise/overworld.png | Bin 1135 -> 1019 bytes graphics/pokemon/celebi/overworld.png | Bin 766 -> 667 bytes graphics/pokemon/charmeleon/overworld.png | Bin 795 -> 670 bytes graphics/pokemon/cherrim/overworld.png | Bin 623 -> 458 bytes graphics/pokemon/chinchou/overworld.png | Bin 878 -> 686 bytes graphics/pokemon/cloyster/overworld.png | Bin 1287 -> 1127 bytes graphics/pokemon/combusken/back.png | Bin 640 -> 595 bytes graphics/pokemon/combusken/backf.png | Bin 582 -> 586 bytes graphics/pokemon/combusken/shiny.pal | 6 ++--- graphics/pokemon/corphish/overworld.png | Bin 1063 -> 935 bytes graphics/pokemon/corsola/overworld.png | Bin 834 -> 718 bytes graphics/pokemon/crawdaunt/overworld.png | Bin 1163 -> 1051 bytes graphics/pokemon/cubone/overworld.png | Bin 789 -> 693 bytes graphics/pokemon/dewott/overworld.png | Bin 599 -> 574 bytes graphics/pokemon/dewott/overworld_normal.pal | 12 ++++----- graphics/pokemon/dewott/overworld_shiny.pal | 16 ++++++------ graphics/pokemon/doduo/overworld.png | Bin 713 -> 568 bytes graphics/pokemon/donphan/overworld.png | Bin 940 -> 842 bytes graphics/pokemon/dusknoir/overworld.png | Bin 1093 -> 1018 bytes graphics/pokemon/electabuzz/overworld.png | Bin 842 -> 737 bytes graphics/pokemon/espeon/overworld.png | Bin 983 -> 902 bytes graphics/pokemon/exeggcute/overworld.png | Bin 1033 -> 962 bytes graphics/pokemon/farfetchd/overworld.png | Bin 799 -> 686 bytes graphics/pokemon/feraligatr/overworld.png | Bin 1286 -> 1163 bytes graphics/pokemon/flaaffy/overworld.png | Bin 955 -> 801 bytes graphics/pokemon/flareon/overworld.png | Bin 1016 -> 936 bytes graphics/pokemon/floatzel/overworld.png | Bin 1111 -> 980 bytes graphics/pokemon/flygon/overworld.png | Bin 1175 -> 1068 bytes graphics/pokemon/furret/overworld.png | Bin 985 -> 862 bytes graphics/pokemon/gastly/overworld.png | Bin 834 -> 695 bytes graphics/pokemon/girafarig/overworld.png | Bin 954 -> 810 bytes graphics/pokemon/giratina/overworld.png | Bin 2447 -> 2369 bytes graphics/pokemon/gligar/overworld.png | Bin 1207 -> 1000 bytes graphics/pokemon/gloom/overworld.png | Bin 700 -> 589 bytes graphics/pokemon/golbat/overworld.png | Bin 990 -> 859 bytes graphics/pokemon/groudon/overworld.png | Bin 1836 -> 1998 bytes graphics/pokemon/grovyle/overworld.png | Bin 849 -> 700 bytes graphics/pokemon/grumpig/overworld.png | Bin 937 -> 811 bytes graphics/pokemon/hariyama/overworld.png | Bin 1388 -> 1246 bytes graphics/pokemon/heatran/overworld.png | Bin 1329 -> 1213 bytes graphics/pokemon/hoppip/overworld.png | Bin 733 -> 579 bytes graphics/pokemon/illumise/overworld.png | Bin 926 -> 796 bytes graphics/pokemon/jolteon/overworld.png | Bin 923 -> 825 bytes graphics/pokemon/jumpluff/overworld.png | Bin 787 -> 602 bytes graphics/pokemon/kabutops/overworld.png | Bin 785 -> 856 bytes .../pokemon/kabutops/overworld_normal.pal | 2 +- graphics/pokemon/kingler/overworld.png | Bin 837 -> 914 bytes graphics/pokemon/kingler/overworld_normal.pal | 2 +- graphics/pokemon/kricketot/overworld.png | Bin 729 -> 570 bytes graphics/pokemon/larvitar/overworld.png | Bin 637 -> 544 bytes graphics/pokemon/leafeon/overworld.png | Bin 933 -> 809 bytes graphics/pokemon/lileep/overworld.png | Bin 872 -> 723 bytes graphics/pokemon/lumineon/overworld.png | Bin 937 -> 826 bytes graphics/pokemon/luxio/overworld.png | Bin 929 -> 844 bytes graphics/pokemon/luxray/overworld.png | Bin 991 -> 905 bytes graphics/pokemon/machamp/overworld.png | Bin 1156 -> 999 bytes graphics/pokemon/magneton/overworld.png | Bin 1030 -> 923 bytes graphics/pokemon/mamoswine/overworld.png | Bin 1070 -> 935 bytes graphics/pokemon/mantyke/overworld.png | Bin 826 -> 694 bytes graphics/pokemon/marowak/overworld.png | Bin 875 -> 744 bytes graphics/pokemon/marshtomp/overworld.png | Bin 729 -> 578 bytes graphics/pokemon/meowth/overworld.png | Bin 869 -> 749 bytes graphics/pokemon/mesprit/overworld.png | Bin 982 -> 864 bytes graphics/pokemon/mew/overworld.png | Bin 795 -> 715 bytes graphics/pokemon/mewtwo/overworld.png | Bin 1034 -> 923 bytes graphics/pokemon/mightyena/overworld.png | Bin 1002 -> 912 bytes graphics/pokemon/mime_jr/overworld.png | Bin 695 -> 600 bytes graphics/pokemon/misdreavus/overworld.png | Bin 1065 -> 874 bytes graphics/pokemon/moltres/overworld.png | Bin 1323 -> 1197 bytes graphics/pokemon/mothim/shiny.pal | 24 +++++++++--------- graphics/pokemon/numel/overworld.png | Bin 1036 -> 882 bytes graphics/pokemon/oshawott/overworld.png | Bin 505 -> 424 bytes .../pokemon/oshawott/overworld_normal.pal | 10 ++++---- graphics/pokemon/oshawott/overworld_shiny.pal | 8 +++--- graphics/pokemon/phione/overworld.png | Bin 766 -> 668 bytes graphics/pokemon/pinsir/overworld.png | Bin 974 -> 890 bytes graphics/pokemon/politoed/overworld.png | Bin 968 -> 760 bytes graphics/pokemon/porygon_z/overworld.png | Bin 806 -> 686 bytes graphics/pokemon/prinplup/overworld.png | Bin 850 -> 690 bytes graphics/pokemon/probopass/overworld.png | Bin 1156 -> 1062 bytes graphics/pokemon/quilava/overworld.png | Bin 1244 -> 1038 bytes graphics/pokemon/qwilfish/overworld.png | Bin 822 -> 700 bytes graphics/pokemon/rampardos/overworld.png | Bin 1091 -> 1015 bytes graphics/pokemon/rapidash/overworld.png | Bin 1081 -> 1000 bytes graphics/pokemon/regirock/overworld.png | Bin 1263 -> 1153 bytes graphics/pokemon/riolu/overworld_shiny.pal | 2 +- graphics/pokemon/roserade/overworld.png | Bin 947 -> 840 bytes graphics/pokemon/sceptile/overworld.png | Bin 1100 -> 1020 bytes graphics/pokemon/scizor/overworld.png | Bin 1083 -> 998 bytes graphics/pokemon/seel/overworld.png | Bin 856 -> 758 bytes graphics/pokemon/shieldon/overworld.png | Bin 518 -> 558 bytes .../pokemon/shieldon/overworld_normal.pal | 2 +- graphics/pokemon/shiftry/overworld.png | Bin 1109 -> 986 bytes graphics/pokemon/slowbro/overworld.png | Bin 795 -> 813 bytes graphics/pokemon/slowking/overworld.png | Bin 981 -> 914 bytes graphics/pokemon/smoochum/overworld.png | Bin 716 -> 612 bytes graphics/pokemon/sneasel/overworld.png | Bin 788 -> 674 bytes graphics/pokemon/snover/overworld_shiny.pal | 4 +-- graphics/pokemon/spheal/overworld.png | Bin 758 -> 626 bytes graphics/pokemon/staraptor/overworld.png | Bin 1331 -> 1220 bytes graphics/pokemon/steelix/overworld.png | Bin 1584 -> 1550 bytes graphics/pokemon/stunky/overworld.png | Bin 782 -> 691 bytes graphics/pokemon/sudowoodo/overworld.png | Bin 832 -> 745 bytes graphics/pokemon/suicune/overworld.png | Bin 1270 -> 1141 bytes graphics/pokemon/surskit/overworld.png | Bin 616 -> 494 bytes graphics/pokemon/swellow/overworld.png | Bin 1236 -> 1121 bytes graphics/pokemon/swinub/overworld.png | Bin 662 -> 556 bytes graphics/pokemon/tentacruel/overworld.png | Bin 913 -> 762 bytes graphics/pokemon/togekiss/overworld.png | Bin 864 -> 790 bytes graphics/pokemon/togepi/overworld.png | Bin 701 -> 575 bytes graphics/pokemon/torkoal/overworld.png | Bin 910 -> 811 bytes graphics/pokemon/tropius/overworld.png | Bin 1263 -> 1172 bytes graphics/pokemon/vaporeon/overworld.png | Bin 1092 -> 984 bytes graphics/pokemon/vibrava/overworld.png | Bin 1089 -> 964 bytes graphics/pokemon/victini/overworld.png | Bin 567 -> 567 bytes graphics/pokemon/wartortle/overworld.png | Bin 870 -> 739 bytes graphics/pokemon/wooper/overworld.png | Bin 639 -> 509 bytes .../wooper/wooper_paldean/overworld.png | Bin 503 -> 501 bytes graphics/pokemon/yanma/overworld.png | Bin 1148 -> 1019 bytes graphics/pokemon/yanmega/overworld.png | Bin 1288 -> 1185 bytes graphics/pokemon/zangoose/overworld.png | Bin 1073 -> 926 bytes graphics/pokemon/zapdos/overworld.png | Bin 1185 -> 1108 bytes graphics/pokemon/zubat/overworld.png | Bin 772 -> 702 bytes 134 files changed, 44 insertions(+), 44 deletions(-) diff --git a/graphics/pokemon/abomasnow/overworld.png b/graphics/pokemon/abomasnow/overworld.png index 8683a92d6bfba5de998b055540a7e2c19105cf97..f21cb467abd7a9f005d61b33e049535d8e2d7993 100644 GIT binary patch delta 1047 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 delta 1127 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 delta 1364 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 O7(8A5T-G@yGywoL`fyYL diff --git a/graphics/pokemon/barboach/overworld.png b/graphics/pokemon/barboach/overworld.png index 2cc66dfe63b4a7bcec775aa043a9696dd3bcc1b9..7a5b6e165313d1d564bd833d015d4875964116c3 100644 GIT binary patch delta 517 zcmV+g0{Z>o1=0kN7#auz0001UMu)cm0004VQb$4nuFf3k0000mkzpth0000000000 z00000E%DFBk*yzpv`IukR9J=WmceesAPhuZR;pL6d zUX6L7GU6d+yo;;&3{p{9!g+69I~*SJLfjd&nDH?~E7YieH0U7a+)m-)5%<=8PW8A16+I_u$QQM5xK{?fsFh0THPJIClW4xO{%glF|hZ|=K)WHN@VcgI^*t8 z#DaS+;l40E9}1B2?$BHX&M-Lme8ZqO4+A9JZ<@m*gBkb3X@WM`$s>F=2&NxA{x9`& z!cm8WOOGdLk92DA4!#`163OztJA@S+7q~|%=#2YJYsxsA-`58;=)dRV{lycPWEBK? zA4$n$s=qW*gE2mP&r9Zi^oe%?+$5OXE4wxRM$J7NOMj&=l+zG5x-0He00000NkvXX Hu0mjf-#zSS delta 661 zcmcb_@{o0cgeMC#0|UdhZCTrZ6id3JuOkD)#(wTUiL5}rLb6AYF9SoB8UsT^3j@P1 zpisjL28L1t28LG&3=CE?7#PG0=Ijcz0ZOP$G}2HpUGsSzkjV0)miXujj-6blR0mD6sm)M`pz z;F&o$=(fjeiBnr2L~%V**)rq7qDwsH+g>f$e_(z(+ri&{?_{|6CY4vedwsXsk}F_| z$3&%ik+oz#Qi#2G^&R^H0j| zxqj(2`%3+OJE5>`8+IQ00aL>QJv<^nD?JSU&1-Y!HTauHOT6K{)F(fr4wfJAFaI3 zd6j$D$$Ie_%RVqIu)fn)lgItJ*gHaD*#(JKqng}~DaD_XRh#N3`I|^~F--hak^_uD z)e_f;l9a@fRIB8oR3OD*WME{ZYhb8rXcS^(WMyn>Wn!#tU}0roP<>oc5k*68eoAIq aC58q`xDKvaGv@+zFnGH9xvX;!94l}Nj>rDi2 z7fK-J>QD;h`%gI8%v_{dy*`(5jy{$iGg|&9ka0FR<*ZGdK)|KL5*wT>YK|b|9JTK) z?rw$|FP*36sHjiGyvy{xi^0n6{>5X)3s2rM&X790)@!KO`S$t`svmSEJY-->NMqJX;J|hmj1QLE{`C-sI zD-q`k9afuM-qOT{1i5UkGaM0&vl`T=(@T}(DEd$jiQT81<`|eae7^v y{sJ$5RTPNL#`noz8&6vUwWj!*l_&l|`~qV|861!rL4^Pd0000D#ZW{=+X)d~V)+o?)Q_)kayAi)wLssrq3R!1$%;DTTW0jX0jAa($FD8V0 z+*j}q*K*L2yPVzK=bHE1@6Y@Ho->V-&wq_sr=(cm-0{-BhconXL>^Ds3`twwqe>U- zIu&{XGkQ(lyE8XmJKuA0VMOv;PF^KpiTWL;?993!56nEkyhx#uhuP-KmXHW#Io=tM zA`aY@Ted|aQ+~BU*Y7`vp30l%d+kY$6O-a~dBl;)pS@wZi@I3nvV-mKJ}a!-V77Xm z)Pid&7GHT5s71b-{<&Dc?+R0mTvljJj=}Te|0c#T<%k?Ly3f4Ewz+|w@r1;c_cugO zPV8i?-}acZ#byqN2cziO{Psq1mE9&M>{E_C3&^MsR{Vd^f#*k+*Cy#5mfiZ-P4wAZ z{Xf~S z7z>*-T(4_rxI3@4g7x;ignd3s-qkRlS+jL@@$O`m-Rqr`^4I0ce@Jx7>Mwe&E@L5E znOMH|Z7uT|y~0hKt?SP(@X5K|$2K{7<@!G@;X(Jqlt0hiy0(5Y`?vVU?kmezKG%$z zt+!|Oq-!_lsy`?%o%ZY3mX#k}PfLB7Gk1$*_CD?X3->M9FEDM=2lMllQYEp?+TZN2 z_|KhxRVmUh6O>|AOI#yLQW8s2t&)pUffR$0fsv7}fuXLUQHYU|m5;Hhm4T_YfrXWU l!JJsBhbTI7^HVa@D$#TxX?V-9C>E%J!PC{xWt~$(69C7{T|oc< diff --git a/graphics/pokemon/bibarel/overworld.png b/graphics/pokemon/bibarel/overworld.png index 99e3de968e3d0b6b127a2b31c1b1efd9af6d5bc5..f5751466a91a590f8fb253a00f5198d49639652b 100644 GIT binary patch delta 817 zcmV-11J3-P2%HCy7zqdi0001UMu)eNF&h;x008P=0026d000+od=vH2D426RMp``Y{|KqMCF2=S5O`DzUk7y>D)E}60 zKnT0H+b2Hpi7p()&+*&CxrM@88l7kSA6sC7A^2!Ga702F7<_k#z!>PuFhJgjn+D$= zERb_#37~QaLQR7J(7u1de;q|2<%nUx7p@zG7!x9<7>$4K6aM>X0%rzvjw#(aQbM)+ zjK3g?LJx+5#?{V{^^rm~NoM>7fe1kQXe4!xXa);M1p^7I0`K>$!Wn--$P&{QGgdig zfN%}N9h*Q@4UD-GPac{zMXfZQaD*<$l^mRLMSh6OGfxGbz?7~EkuTZ?XkAd6NZ)IY zFmG7lTwQ17oD&ZVR}8Wzx7!-k!CkeqYFyxr_6uD6Dzo!u0;iNy+`c!^Y{Y9Y8JA+wZm!ztJA(tHEv~)`T zRo)Ef`dgvO`bc1YXfgP1FgH3BYGn`1cyi^KaHfBOYVgzm^SpE2Jinqv=<9XD|m9>iA%VD2*=)CY%iTB2Zld+aP?! z_;|>z+ZqE)EC;s9102gJAT=Ya+*mK^Uqxu3MC2v~E_ZcQbw* zgfo9+TQ^ci-$o%H@&vr-^3e@g2C3f$E0!u(&!IidW_%ZzR@i8UsI^hZhdia6xvXC` zKs*~fao9YrKIIwi0>8<-5vbkrwfI%5k~1!6L(bf5oxkOCqVZ#QzML)sal)^4knUWj zkVew>z?efhsZq6`CjiSiep$YJ$}q!JPfK}~qp4rA6#VvQ<2lk53^|nN9Osnzmj;Yb zeNJJCn3sm0bh1^I3l^W+I|cCi@*H~gm4z@0*Rco`K6odlFb&?2*ESENj388|9c>Mz vsUbm2oRh#IpSG$0026e z000+ooVrmw0000jkx?-u((3H#00001VoOIv0Eh)0NB{r;2XskIMF-{q4F)4O!CDQD zk%=FF(@8`@R7l6|mA`J&Kpe;2<>WC@Bg&df!-5!Er^y4P=>s&t5HVOaIwukg9q`!_ zLs3=xf?!Q@4^Rn3V&n-}x^${weU} z!kuR0f%7pwF!K*_`#}vmhx@~^k+?fPwuJY8uHEry)H4LFqmd=NceRc%-uE@X#<*(= zi7)=@d22x+?ihCj*b<@_F?;vYspahz{6S!_OF3W0PAzXQbck{PLUStE=t#mjkNjHR zUX0);pKx(8?_0^>y;>#7^iOx$1#Om?TT=ToPD zhIRg^ZL#`3kbz5DF4?8j63kW^r8MTgVnE6iBRH~*F$dx2xM6au5F$z=Lg1ymp~4WD zaGGhs5>}*z?wqgSnU?GfcZI;?EHO0%70zT!N_0>xn5Jbz#gT#@EHFM5fd+R= zf#?y{;pGf}0y~X@x#ZJa;6|aiM${funeM{e?U@20jLUaf z9thL9e_*o^ijT}zbIutrkHrR`!(ijKI<|$d;H#_aIT5EK@VsHeVkwlncJ+m?uIJ?@ zR@puGAn-s7Odhs~=Pb z!qKa8u|&i_->$#j&dbr<;K&<#!@d@nLgf9tfm4^juFGAiavu2pEq?YUS=2Fw_IjZf z&;W!5qq|Q7Sg{zrTu@6C$0bHw0U zs+Sb>3Axn2Fvv>@@q8oj5wU-h2{DDv<-m6WeZ%DdMkqBCWM2%_-6`1q=*A^P@_z%Z z3;%Te1`*1ec2O&E1poj5C3HntbYx+4WjbSWWnpw>05UK#GA%GMEip1sR5CI;Gc`Ij zH7hVUIxsNQy%dE2001R)MObuXVRU6WZEs|0W_bWIFfuYNFflDLGE_1$Ix{soH8m?R XI65#erQobN00000NkvXXu0mjfbRDKY diff --git a/graphics/pokemon/blastoise/overworld.png b/graphics/pokemon/blastoise/overworld.png index 80d48304a68fbb9c894a5528444df39dba7d98f0..2729e8bcfb1208a3ae63ebeca50dbc5cba5ed92e 100644 GIT binary patch delta 913 zcmV;C18)592>S<+7zqdi0001UMu)eNF&h;x008P=0026d000+od=yq0b426w+0AGmT|8Z9mj)Mg@*{0JUooG6{+xY|> z2_f(>eC=yr``UkGj_nivH`c#fp~IacwrhtT|Ik?4sCJ>T#{oxz$pL@Dhu-e=c30*e z_a6<<9>-W%Lt&3|dSrLnvGurzIvggU!oSZ|AiX%X0=R$Wd3M<%M&4JW@3{{VgDX-5 zHy{T8F4q8228cQVcYJWq=(xTHA1ABuo?{9z`g4YSjA6oiJO_v}K-3Ai;kiC_Vi5?~ z-R*F&J`s2*Bo!C~-sF3LhF1x=;(LbWpBUz4u_e~w;Q1#|Sk!4;0%776@FxE>0a>6n z30jk%eF%TvDC}|G6BQ_BLdXKkUMJjLa}7`w<}M}r>IB?ytq|52XQ{aZG)Au+qb7@AkWtnHb zwNArpe!{fdnm`MtiR=9F3!e8VVB0v$@-vJ^VV8fizF8!S>7O=$Tkc3Ca(yJet+~MA zZ2$+SvB7tN31FWUNI`1dl@sv)OMVr=@ngn$e9h0}ozGLtO3|}EQ$tTKy|~3iVBFS? zJ;1*rXF8Mu0%yMDRe*f7pVH(PANQ%`Q_bmIgr4(?l(bE7ku49?Dl^y1sKHfWS`SMu z+7f?=uH-gA78sV7z$IWRUtZ2lmY)L55>r|afsgtwP(EI85$Ik5dCRLtOC>h}W`X%| zYNZD_QzDj6)zean#0R}?to=Y02R3KELc>a9d9|R z6*K@Zw;WOA3V~Te0`StqU5m>pPKVhu+UI|8u@o5Xv$x09hi68VRIo~w^+f%X{|SnC&_u%D8eOQV%GAdR3QPy?jQ z=jglk)djJle4v!ihugj)D4bZyU@j1Y&0CIvZ#=q94*!rS7R_S=$ n3w+N$84p}!{}&!#`2k!`w7#Rcu0002CwraKj000DMK}|sb0I`n?{9y%=AsZDi008P>0026e z000+ooVrmw0000jkx?-u!DIBH00001VoOIv0Eh)0NB{r;2XskIMF-{q4F)14T>pI$ zk%=FFBS}O-R7l6|)y+#AK^O<%U0CngWFbON&aOf5l$k)Gl(M^-7^5O0iEYtS8b1!b zDA5$bf?}ogY$?gL0h@&!3e9Q7OVeHq(nC*$o+|X9!#~oP*?<-Fbhn zJCm#++>N{OuZAoS_oyMta%7lg0OVmF*(Q)OiCz3p5TW66OJYmNqMSKo@{aWlsmy$T-`XCIeCJgNawFp1#wm$w^v9?)kgbDXHFaIQF>*O?EQ zXPL9RuS`-AXisc({?+$j-NJtR$bGA&#`UeuPW@dEUJ*%A5g85f+oAJaXW$Xs{P4O?-y!K z&lq_o1z%oZeDm8(umVMmnFoS7TCG;CPca{H1LqkQ@IqUK`_>QLwTV2Ff|oXb8Rv2S z2)3Dd;L%Kj7Oa&Hna8=OoB(0%k``>bCx7iS?YFXhj~4u>IhIUjCy*4h8mGCMRdRkK zW$r^BuxhU$5dY~0thSy(pQZGp8{59PP4aUayQ2P;;tkALRyt)_?z!eR1UH}nHE>YJ zIuBR|hG!8y?2z%9osfc<`P4hC0q-)ic@U#cuaj^#b5kw|njE zF}Ypdr{C-|Sr0dvv0E6y1CzfZB)e_;9R;}4G2MbBQ0sIsnBeP;xB-B&?FBF^f;;A0 zDx5Tc`;wbKC&x;Qa%YP=#!;^z`G~QUD7yhNeFw|RAd}1m6HH?4bB9iUxTK$a1xXQ6_;rl&h>8Do`~kNPgV&S+ImG|~03~!qSaf7z zbY(hYa%Ew3WdJfTGBPbNF)cANR5CI;Gc-CgHY+eVIxsNI_-vs7001R)MObuXVRU6W zZEs|0W_bWIFfuYNFflD5F)~y#GCDIfIx{vaFgQ9eFukSJ9RL6T07*qoM6N<$f~gb5 A00000 diff --git a/graphics/pokemon/celebi/overworld.png b/graphics/pokemon/celebi/overworld.png index 95d372831ab0fd9a14af669d97572de4cc9fc3df..cea230c8e2bee5779826471dec97321de21dedfe 100644 GIT binary patch delta 589 zcmV-T0 z00000007nxRD}Ql01#tgPIdqQ03ZMW03ZMW00000003gS?)m@#0p3YOK~z|U?U&1z zgD?n&a{;kf-~V+7jA>m!n5jKyHo?<&@ge*miD^pHrcIkRZQ8VHU$UI@Eq*_My4>Ko z)Zy(BzaKzcq7)-8@r#Gy&EcZ}dRymzpGANn*YMRBh|8NV=tSraW&~K?d@(B+3p^zF z{18Z0u51d7coTR!m;xhyNntl=%!TH4t$Nu4Vd>m%p9;k0fOY|}biROHK$R4l#4BLP zVWIUf@&tD73@`w84>Sc{xh-(*W-3Goc#BVH*B^2b_=<1Wh{ODKg)(x8xJ*!g5eNO) zizwnLzZztFjCqyzRPqHzJmG^Im$2>A-|NjTB|hT3AgP~$lGQY5OD1g zwIL&_f9F~rGauZlKjI<~o*MoMUIAl%Dm={8AMi{hy1^+^XTmQ$V b{fGSkWb76^!3aYC00000NkvXXu0mjf0_z3F delta 661 zcmbQu`j2&jgd__y0|UdhZCTrZ6id3JuOkD)#(wTUiL4V9r9}-G7+xhXFj&oCU=S~u zvn$XBs7PyKpq@%X?UA=YHe-^vy9+}HtE>l*!(QU)>&pI&k(W(bQnrV|abl-@{Z>yG z#}JR>Z?78qA94_3|4_bg`*wo^Tt|*}nq4#!Dt1(!WMatb-Xj#t`Dmkg3-?E111TZV zaJA0e@(0d-h_!ijVfU=^9kagV?w@|${`&PT3@KAX!y^A~?MODW*mlz)XR+tioD;j# zmv;tHxpR)~b7Ri*FK6%Cm;XKR^nr&3 z3s{!T8rxMy!{-mUPA?jjkq@31635>u~PT>datTu~u5~$X=leo!aGV zrj({8PhpALIGOv!+ASPH^Ix^NB#m$_t) zw0p8?y+Q7R;*;Wc9JYN9mi~PHy)W|_hwJB)wjJZO)GI%hJ>z7>Hj&GW32eK53GlCF zFl{(*DZfbV&)2t|`~l25DGyd2JRp(IQ(maZ%zVdTcT$ScmU}m^dwp%o6}i0Gl3!YL zHG9@>zlWC-EI1-7@(Ny9yq)@P+N(noey=-dIq!MuTgBJ))4V^rzv|o`_O9c@@l$r& z1D(%()CyhR7FFl-{ffA8?xrtuUR`q2^)@?@vgq^lSPhB2#R=J#Q-Ai$cY(@s0>w9`)ePeup% zUmGP~VZ@IMpg=&x^D%zVh_V|X;;q2hEpfyT6_8Y3;*Ytxs6a2o5Avq&MV|zGd_)U? zFDd3pV|>OE)<=exz z`gXkF3-AO){L=);dh^lcl3x?p^HTSR%=asvfq;Os)kj^%ljd<7uUQ?sK=JvYh4^wc zf!7NV5b=J?mz@DIh1X_!*>FWZ?=Q4k2gL?_# zuKf-d@p%E9N##*5F>kygu11M%&okUYKG!HM0mA;z#Ip;)+GpWy&YKGo*b+1j^0)6jft;2l z0KcDF=-|B^dMq;DCND0|_rVbyMuUN$A=L$hCOnpi7ef5X$oF~sBe+bajN z?idI#1aNLCzrEX&&vvZ}hl+ak8@ZxSr<%m73|Z3c7o?o`b(&OsqsH;%%J~=d*NAi( zFJ8N)-9d4~t{Ljxl9?uE$?b&_?H~WUZ9M*7wr1w{dx2t=pRL~S{kZVNtk7jAW=+>g zj%zx1^L)s%n)c@jyFSP$Ef%dmHo^F9M5EVi<|_}+rA=JkIYB7nz>VKR4m&m*e#)5> zreWXuEA4o|^#JwQpI0BAJJ$Fs>p=7Z#-!&$1y8>}?zYQje|6q|nQCQm$>nT3T+fOj*)ty?fUv=i5I`0b%CKc`Xc6qYa_|{i+ z3TfyrHn~&V_S#ze@a+s#HyV>U}8Zd;afLnaNUjOefBq(a+sh>+&XS`#v?N z#jfZvNKGxAiiwZU5fD{7u>L{+Vp$)agdTe-A&q zwvg*a`&n7DHTy4{#l|Ono}HVl<;x@bj_U*C?E0RoRi45!x+njCI(@zFrB%}A1MW8V zl_5{OZEOFu=tcfm_rh~_*ri7-dtAP9aC>>H-&ysiZTE|s&_}$6>7EXXYgOJKegESB z{toq;9=+D<9DWnNA97u9J#GGv9gq3bj+RKvA4-}FjC$1)*NBpo#FA92BXACF~^Xf2D!#bI=8|_S65ePj_VRNh>Qi+A#}KO$1KNmqeW|dZtyI^+J$w9+QGBI zaYlt$%y^IE&QwE=gKmxBn8T5YGQM`~7fH!#vA8}bZ^Ro<;e($BlOy|pzg)BM2jboQ dHwp;-vYs~U5)m~__#XfO002ovPDHLkV1juFvj6}9 delta 549 zcmX@b{GMfkgeMC#0|UdhZCTrZ6id3JuOkD)#(wTUiL5}rLb6AYF9SoB8UsT^3j@P1 zpisjL28L1t28LG&3=CE?7#PG0=Ijcz0ZJ%NG*VT0v*;@mkj(pKk$cNbpF6WTm?eb-{HREHtLj6f-!v@7m@q_h)W0*&$)zB3fp>{eELn@`fXiFQ#+|Y%KUK zJ1y(L0}lQODIUvgjhWn6HzZ4!th{GX{+rjeIdvv1Yv1WDmOe4tY|RVxRkuIPvRL1&UvC?(W{q~sq6A&ET#biRJFu4q9i4;B-JXp zC>2OC7#SED=^7a78XAQd8Ce;dSs55;8(08I)u29C6b-rgDVb@N44OD~gz%gF1nOY$ MboFyt=akR{04Ge@DgXcg diff --git a/graphics/pokemon/chinchou/overworld.png b/graphics/pokemon/chinchou/overworld.png index b552e544b7380ce89512d08fbab561adc7844c9b..65632b4528fc8a0e49e828911059309f67a1aa0a 100644 GIT binary patch delta 607 zcmV-l0-*iw2CfB=7#auz0001UMu)cm0004VQb$4nuFf3k0000mkzp$h0000000000 z0A~O}w2`nMe-KGTK~z|U?Uvz^q#z80O^Dz!_x{g&oq!`?aBlai?#~fxri8D>4nc9- zR;*aDV#SITD^{#n@jnD1p7HJMdz|YTd;G!^LGj1T4$=sA4NV2wU52IF`X0Y}FQtno z0`tc#-q^m| zAP6Z~r-*RV9`MEQ0{9Dte1mas1TynabQ}j!)ANTsd|83TxDFrouW-YgFgV-odx7~w zPWBkM2DccuBJg>6K#mgh?&)yPJ3-iYED3=-9Ea2i8!)&fsC*EpKcp0avsv__2z+h@ zrCbeWe;P_$8XX@6aH!l80FV0(cYF|RC8cPiXZ91Q0*_lgDW_!qQo7MHDCr|t^7L% zj3B`&kI`mmmH=f4W(jDCvAd8NB;9k`5*wC|f6ILhaFc-N;1egEnRLwXGe%_&&3*F8rrdIW tDf*=QySP3je#UjL{BVnpf))QZegotL5}AsTrD6a8002ovPDHLkV1mtl6+Qp} delta 800 zcmZ3-`i^aageMC#0|UdhZCTrZ6id3JuOkD)#(wTUiL5}rLb6AYF9SoB8UsT^3j@P1 zpisjL28L1t28LG&3=CE?7#PG0=Ijcz0ZOP(G}2aCuu8rN$YxCPc6VXuV3qX%a@b2e zeO=j~G4ir0bClaCY@V1UU$5cm;uzv_{Oy$e{g(|yj>p$&Y_5IeG38{s(SqcYva1%| zF4Ab4Y_)Ket3m3{xa+~8qNUm5Yu0gmV{4oIJnt|6kJS|$=N?(R;>N=DQy=^1)bD@4 zcNLq(QBA+XuHZlW9bYm|PO~_~)80L8?&hizYr%G*b2@vq8;tWda`WXKIxZMiAN)0l zy)mlS@$n162Rm=StYj|eE(^_Vm9an2XRvZP&n#uejKfun7ERyvAiC)$L;3UHY}>a8 zuPF}9ne=HHgXh63!E^mhS9|WY^Im^YY>#{ePtE;T0u~b&tbL$(pXWgT5#tYbT8{6d zx&C=iOn4Sw>U#Kku$S(^1!vaf9J}Y{#Br(KWTr{Zs&~B)^0o?98eCyJEc8xE@ac?| zb_VZi#j|g5CTR)J-h8Ff>0qy>q;=wrFDlZO{uvuM?OuG1Tq*f(xv#&Q(}^X<9Bsng z8$VU(9huI$Gf*<|VcYAp6(G2!!s z7n3$Bx7GXlGq9@G?T$B`HhbyW^YV7@C66S}-uQ%j*M$BlFDGrDxZcvxmT^Z2+Zs`e zCm#y;ZR4G=^l0+`xuVc=HHjAd7t+%@2K|n z+Q*w_9lTY4wtOeE+4t>c|7|0x^Z(3z_}~{y`vH5Q{fzVTXDcrV-0>5bmQ+hzBT7;d zOH!?pi&B9UgOP!ek*?6)`TNzsfm~Qs4y#-gH|FUJY6}hKKQ6`3`^T234ES zZ`|`i&;^*{eH6SJthu1|U$ZgAmsHrw!~W65_DLS<8!NCvpmPB;-UQ|~P61j$Y3d`e zjG%J0F@Y7HBEAQ(8(7x+@)--?0W9KNkVfDEALlU&ivNIyDw-zn0zkkq0S6{G80_+R z+gHI73JC8q+~DLGq{W zUy@)<0G=N zXFd^Z%FPJ$OZ|oK5g7IY>%0RFeR8-#vsw+)#Y@13TgSj)q}^Zb8f^f>pNfBa0SQZG zP*|wP4etfXBE=8{tE;3gw!$3v6|m*@t}`fY{TXg}Be3dBi>&%8q-mkmOK{_xcY-WC z4(~ckkOFiYMdl@7;e>xx!UCM|X8$JwV5V<1Zg?%g;^uv-*g){&{T<3i=D6XtpfZ>i zS;{+dJ4_eP0W0oz2=bvlrnb{ZLTkWq!)w8oZU}>EC)QL?bqC~th1Y^CvkRXTa;;gz zdO$s|0v7Holm$4wkL?u!l!^hz4Q~WqW0=3b$ygb~VON6OaUOrp3${g^F?c2Vc%_UT zuLCyRN|U_Eqn9{wzYJD*CcsKhDU^k!ag|4;icjY7hAZQo6nvIg4|khI=6ArBCyR8R zw%U&NE*y==g}_#rY*49R<Ut5BEVsRvO$_06r|&m z5=zURnX_>M9v>H|4%nSE{P-ej2GQ5jJvSCi3qe{o{IJJ57K={NS=SV&m3Z<=vR3B(c=&Q>{6>1C!(!Tspi~m{s0na!ec9#hc=l}o!07*qoM6N<$ Ef`iW7O#lD@ delta 1195 zcmV;c1XTOy2!{%g7#Rcu0002CwraKj000DMK}|sb0I`n?{9y%=AsZDi008P>0026e z000+ooVrmw0000Xkx?Zi^f09X00001VoOIv0Eh)0NB{r;2XskIMF-{q4F)1KK}co_>R?FnY4yXHBzDQW>tb3^a~Uj zy~Se&4;fz&baSW0{Kj<{3eWZrvf!O413` zy!;kE5ZObBvq6lH|TfzQIcw4ka)dMouOcG%R4N4RN2>+zP2#b`U#Z@93Gg0jSxdaU{3VMV z44H@BrhmEVbIk_wRp4!1EdN&~2pW^|0^GuO?M2vBZACLz@Ka=O$Sf2Ko^b|$FAfWT z3P~3QRqZ&BqcyXC0A_2@v%zlQQ+eO#CMN?}QsOxn1{Tu1I_+Kl^0lYXY{K;yH z=M^m#hq1A47aFa0xUjKR$p+U7HFdKxS!8dxa9-_RzwG<|*X;!hoE;YaTzdf_(RS3y zjkUZ0!|YJ=4*GXFRgH5a7k2-DZZQlj;J4SOr~UQm_F@PE#o1xu&*u3&sB`4ZsCUu{p4Qii_Ue9d;8>nJ{Yb%!2z~= z70Wtpw|k(eRX`OQpiyzbWEgl}4PNxp6{RbtcI9BmoNBk-A5^h z^?EZX=JmStmDqLAhIdEcO)$)urGsw&SF0@7glW|uu${o^DA?(FXriESk)vbsgEV8? z-6TgG40#lDqFR@wGYiarH^OCfr1QXi3KKQfH1K)^6oF@0UopZssUP(Hjvg73MjK0R zc|c|A_!S5v$RYbO(;CF1m;Mt&{~hx9E95IbW0t9B48Oc0004VQb$4nuFf3k0000mP)t-sn9!hjB@q}H z7^NpWP%t2L_AjD5g341L7t9Em=FL{AY(aPGOV0B-CBD#6%L zTSANjdP<1H;B3IYgs6890TrI)>k?A_IpA{M2=Hx+Nf2@7yoLvkB#0L)Fb;oZXz}8~ zi>-ojA<~1zduSELRis9$n@JBEyb}}g0-%5g<61xn!Ac~99Vj3n4XZ#S13I1w%m-f^ zMnQrPwcyRbE)R&c1o(O&M)Uy=U%nHNEWHO?4bqF z)q(=H{7a-0XiKnma0IORJ%E2+;6Vp}+=6Z>=8d%h%sa{k$O4#(K)sMqg!@HczYtM? zy8`q3m5c)1YeVzRtFQ?-h?GCPODhm~-u-Cg{80$i@YjSad9)isIc9(9WQ!knl+cW` z_oL+7a61iG#ED^4AjAM@HP@0YWfj}0N zz|8B1@o9cH`8A#%z2@^D%F_tU_{)0000c#16b4{HumP`6r~!`(QPB#54u+PDHJSrd zLMhKBqNmOVY_7JFfyd|pdV;i5*7gRyOi4;?VAxO07!HB}e)``dMMiIB%ya-uih!6v zaR>mo9T#hWMF@Yu#}IgDUuFlg2?u5mDGh9mhgCY-#0(%EZQ=+C)un5~1dIYW(m?Aq z%uAqJ(7GrdVct++Qkbzi&LxyY!kqyCbIcm5g}YBHNJ`FSA_x&PNF>K{sVEV#s~S-# zr9M+4HULqn9R;Six1uE@Hf@VeP@vws1h%1SaQ8jtT>yVvT{i)c1wffe0%Se-mQ)0Y zd(iN&hf#pINCSXH0YDx6X&nH5oiYfbaUes0T*RwOU@Jm^I&-lDwE?@!B6Axh$%7q> zz5++$Ze#hII9 w?|lW~=C%Faj?Na|{`v6x=a1(oFrw%m9$xlUG|mn~+yDRo07*qoM6N<$f&(Z2SpWb4 diff --git a/graphics/pokemon/combusken/backf.png b/graphics/pokemon/combusken/backf.png index 06330c53001c0c59c37d9486a142b23c754b95d2..87e46ef1466f34d69d44edf34066faf723865efc 100644 GIT binary patch delta 573 zcmV-D0>b^q1j+=E7=H)@0001;w}I>c0004VQb$4nuFf3k0000mP)t-sn9!hjB@q}H z7^NpWP%t2H13B0005VNklPshKE^>{n#Kt4 z+!!H1A_fKL?h6HQeiW!eG&f{ZLX6XdffC{*XDiT@5YzcK;O^z6X-Oa|j0uR^v?&S1 zWCt{@LyISd9IP|&IiIG$46VZ00`GGkl4OVhBC-(x6p$#h77#+P5^6~GI*39VRzZvm z=(s0HK5%Oo1%C=0T7k{LCNCYamH=)CV#FBW@Wq1w4FRNp?UrtC107KW<1^8fARmnj z{T5)&8|Tmi7@C3tw)}%=5a>&=&R`E%^IHI;z>OLF@)UGIF)yqgU|vz)02RPg1lk)3 zRk&URwl^Xwa8=Olj5{F|;R>Po?ooIP7l@SKJxePP_BgBp6Gwl50@%)SO8_Id4}Y^M=TFtt&(hod5PdHJpU zPpm-V%Kt6dA3K5QEWZknlf0t7(`98VV6FhI^9M@40#WCanRKOcX*~e*{OlS?-sgA@ zrEcU80ybnp2`qAaNqk00013M{Ml?001yhOjJdf(4e4bNEjFx_=rGIFd(RK2>8HQ z`0$W`NFb3>6@R4wNnQW|0ntfBK~zY`-PN&f+b|FYU_yuit>?r*MwO^&6+wqoOU4Rb zI#xm{&n2o;X9G4@NAAGK=mYc#(oR|1H|Wchl*9&xePZTt(85pu9VrrG?B$FP`v6$o z1w?Tf5CvS`O@a#m*oVMX2*7*BVna9KKzw*N1+Lfu=6{n-#4ruu9v~s+V^hGQ1QM7- z{tXrl3F17@Z|@fhN~(obo&zi}Z76WDx`lZugi0kLA`WvUuv}_NFwSd4skQz{iO2#( zt+y1I;m(Pcj99lV_JRWSu20}=s)p#_$E*v0S8tjCNCTiu6#>!#e4SU+Mh&15pZAjh z@j3|r&VK@cI+n9K0Q@>t5U^>WLV#SvvrAwrLx4JSQ4eYhw&z9KZ|a$@o)hZegOwKa)rE!{6Z2RAh3Yz&R%|z zWtb^8M%*|sa~<&40LFpN7?CB+Mr_x*x_R&|ek#D&DUsP{m)YjI-aP8R55K+-6=Xke p-1}~HuJGp1+uuKbJcj?d{{Yyi^KziHfN1~#002ovPDHLkV1kZV?=b)X diff --git a/graphics/pokemon/combusken/shiny.pal b/graphics/pokemon/combusken/shiny.pal index 1395bd8536..cb95e50ccb 100644 --- a/graphics/pokemon/combusken/shiny.pal +++ b/graphics/pokemon/combusken/shiny.pal @@ -2,14 +2,14 @@ JASC-PAL 0100 16 152 208 160 -160 104 72 +120 37 17 24 24 24 -248 136 64 +165 39 59 80 48 32 168 112 8 248 192 88 248 240 144 -128 72 32 +79 12 12 248 248 248 104 104 112 216 216 200 diff --git a/graphics/pokemon/corphish/overworld.png b/graphics/pokemon/corphish/overworld.png index a930c891bddf3173cb5fe34c504cb40ac6146c7a..c134bd7350d7ddebe8883c7d1d631ba9fc4c2b59 100644 GIT binary patch delta 882 zcmV-&1C9Kr2&V^-7#auz0001UMu)cm0004VQb$4nuFf3k0000mkzp=>00000007MC zGD-jd01#tgPIdqQ03ZMW03ZMW00000003gS?)m@#0|`k)K~z|U?Us#>oG=W8aqO5} z*nR)k?br#wF}GD)wNizpI~K;o-4ocq>e$xK{!LRE? z9ngNXe@E$}4|nq<@?GJ75BgBxlH$4mo z^a80DkbDBja?wu)J7CVDs&+8`-GSH%o%FN8bqr%CjvcIeXs`o&wsl}IHp}G~Q6zIFb z4yc6gpuZ9>@>Q3ta@AKr6kug9!1FxU4Y1;jPx{GV2VAHF(n3{vmr;PV(m}r%^qkBo zt2$uB-*wEEJgnt^6>xdI6Q}oU!9*)Nzb6!?gMK#H0ZFs-Wu;Q(vWrPA2mNBO0j9Lv z0PZ^3EF2v+KzhjwGX4|S%bp7WKIj*NE1;?kKQy;RJ?K}1lP^Rx=mv1pF$5F}isP`(?fr4oLqPE!v+sqYY*(8eZZj3+3p*gg1Lj$% zD>f;pqdwX8C8f-zSfPQyE^*f_btDjb{1)Ub8vU6;*GqUm#^$z*ikTeBEss$nViGzi12D?5< z^aSkLDqff7J^=ir`wJZ{EJo>0!UUI_)vMY*F@1kcmJmQTJ^C^i^VN2ldjnmMzw9kz zs?|Grvk#($O^OpPZa!WLa@G#S_iy^QRprLu*5se0dE)QH4<(oxY!OO5SO5S307*qo IM6N<$g4W53+yDRo delta 984 zcmZ3^zMNx%geMC#0|UdhZCTrZ6id3JuOkD)#(wTUiL5}rLb6AYF9SoB8UsT^3j@P1 zpisjL28L1t28LG&3=CE?7#PG0=Ijcz0ZM31G}2R9SANV6$YxCPc6VXuV3qX%a@b2e zeO=j~G4ir0YhR5HJUB5+uAb?hr;B5V$MLsQ{rztnNVLnIZ9k~z`_?Vv7T?zeLboiI zbXsi*4%)rYDW>7j-s}&V)&*LR+FC-6ERS$!jS&=%XZmXWcI)dKnagw8{VrGNzZ5=x z{`~(*N?&5me~tO?Us?Z9J$&n@^twkJwE|V5J6y6n5)C86ZA3LFKDLS32#hCHlY|g4SUj>fMp)<`VX+?+j8;8C8l2RAI zvPxY;>58Q2bSB3ek+v_^s>&)ycpE)v;|y`K`C)S+u=lIT`?ZquSe^FXSR3wiUs80p zgX)pr?#*(mLa&}F*v!_XEHJ}CHOELSxn8sQXu-uCrmITtu01Ylcx0g)!9Cm2^w{6W z#YfYR?|h~t(Bj>*u~g^x{gC#Jsj@3t{vPgFmUmgS{8Q7^g3hh8UjKMpu;@pc#Q6%b z6)oioYwpM9zj7>%PCjezqu@06*~0~sciS?YySZ;JBS*aN{al->*~@?3`{udgCW}_$ zhT}IL)}J~u$Ea}iP4h;D6n@o(X@{hyIsQm%uf3rtTd>(?ek77KD5 zfAV*WPRJcqRk85=<-NTtt`JZC8i*9fpkC%6RaXVai24C=Tg+C@Xy-BA_j``Jlbjk?i-R5LpruRW@$8u-6 zl-lEs97d-*mfgL`s-F0;o1;MM4#O^$t`+$=mmknx_xGs=7ptm`PT>jJYMcAJWR@N( zn#0uX7{w9fSsNvENw46-_UxAPE+T~&wOD?%e6m=!XGY`n*6oKUcZxbGeAto7Y>^wj zdZzF)p$LKPoWe7I)kmhaW@w+ztedx6QswsI(_2!lQxpphc{8q6=$KnDG4R@c+v$;c z<*cWt>a<^JVx3dkxI#lojf`w@@W0$vlt>1KYLp|BU1=2Zw8SktVqjVHqg7U)m zTnL@=KlRIpx~qRCe-&=uc4>vOV+km8sFt`!l%ynmUq; zOOi10?1Yk7LTsP|X6cs)1VVby(=&hpQl<$YrIfkroKuPrSxyvAjGWK`4uB=Z1{E-8 z9ybRFgCH~=gw7z1(wJN)@lz1EbJy|7&pPYjKmn~GXLiGX^{GJx%+NroQ#e4@bvIr2 z!Wqzog*kP9?*YxC>0VW`&WB}0i@EK;btFUvFF+mNFAq4Xm>wQO^^Nkn4uMEGWv1hN zxiw_DiiWK}*VMM2-{W)_n_hz^n;5hk)oDHl5K&ZU)jbn9fsgIXZ%u-k%|p z6%+%MaF1T<1JLXTfJ$%UMbFW50ZQp!9S+_zzxu>~;4wDfEA=bff|vRV5ZfoVgZd?U zNPUgb`jiU|TzY7*GidAfR`D&o))#<>5EnC8@T75oqc#qh+V_(`>XE_DrvUmA(q8j5 z7J3KFwbmR0B3h|kucZYlVdEg`Rl?WwLf1n;tyZ*otu5;Fm438uB?RAh1h~@CnWgrK z`Br*LpP?`iYvXWB~1VT delta 759 zcmX@ddWda;geMC#0|UdhZCTrZ6id3JuOkD)#(wTUiL5}rLb6AYF9SoB8UsT^3j@P1 zpisjL28L1t28LG&3=CE?7#PG0=Ijcz0ZOP$G}2I6VJ8~|WHTmtySp%Su*!M>IqW5# zzOL-g7J995jp24K&X^H4` z`BLwPo3Gmo0aO2F+wMi@oQuT^wo{o98 z^s!&XGn>Qf=Kg;j?_blMdEl0$?yOH0Gai3ao%ZYGqu3|?HM3{fd&bN-Hm7t?eagSj zPSa9l(|6uHe^i5En$7YPk#BZ|UsPaGJhWH3J26;&j^IO^w>x`$8$2xjzS+FuMCKx) zYl&-H4UW&_R{A2N6fwPW-ai{yO*|9@XYtxbgiyr)1{oRMDdZCok9Pgv1f@Trd+#-sPhDPvm z#~k6Uo5c52Y0>dFs$Mg!#KN3JGg@+PulSxR%)`2?Ds{>K+4C|L4v6(v=+tuiw@x^w zwZSicOZ|rqiR+9#7K`jxO<-#Ml4~P)sBSrvJ)4!oTD{qB`u~rs1%&FPOiP@5yJElh z?ahKrcjn*z+&^Dx{j6=7_P@i}#B6H(Z^hp^_Tl;Kw{Ojr=WM#MHMg2QjIE;h`-OjY zH-G;6JN>e0=9b_+#%JXH`@cW=Iwdr9e&K_%um{HX&%K)Ws9L!0>SyssYnCOM1~^Uv zrV-T=*NBpo#FA92yG0f424S^2hyhW{oi(d%q5U;k+xc`Ry+I{CHZK4j%_HN$Kz-GjGyr{ ziebLwe_MfB=qvvH_)@{YZosU|`VFUvy&3;bfsw(?#&p8Wxab?ko^uJXF3Tzbx(Y_z zEX>=sF?YhuxJ(!eobd-O7^{r-yeWUT8;0#Bc+AbRNQL_HW*iY#=@8M_FY$;+eO-kU zF4dLpa;_(F#x(+oz;&Unf+6QDupMKlbLqHG(A(NVcnB#K~oWh*7N*++6rg zpV8j5GTH^2aOiXUF6(@yeQ(xj!0!TS+s-(8GcpK)v>NA}?J1mb2;}`q(jI^G+_6?} zDZKEKMuBmWia^2zomg%vUKK(>LLoLVglnZ|TX+6jr=2m;^e@7}hzmj8^BE z7!l64;+4UeKQdCWD zee7B#81R%rc{K`*2oROmYPf%?cwsOJ4DwW>ctxDRNw2x$rNJ!XC8do58zmU=B+wm) zv-l$^a+ef3Tk*nR5(pdGBGTjRATk>W_a!e3CV_5ylD>(XoBe=Cf$ZLI5qBK#H#}m& zL<1IW=PF(pOaj@){AdN}@IJoZ`-Awx3xiqVp>#v0xK)BK&jOG4=Qw|k&-*|^5g;0X zL?o@?rNJnW;tJEZdzqLGglpn7fog+EAmJ5QTd_&_ve|K%apzGWu_X8N5q*bD^|WV~ zyIgy!cxg}tlIDQ5z`Cc=sn3T8E^y@G>LAT)R@uWL7)^B?SVFdzA}J> zqYEz$dd&>S6k{>nI{<$V6IYLP(XShv>`q}bkrK(5epP}r!_u9rK%`K6+^L!>0Pzi{=P}GU z>6M2k;ZG-pnYRVHSfI{{eab1z?nMaF{@6b@vVh;@|L6Dxc-t>*p~mZQ00000NkvXX Hu0mjfn?c0T delta 1044 zcmV+v1nc{o2#X1j7#Rcu0002CwraKj000DMK}|sb0I`n?{9y%=AsZ1e008P>0026e z000+ooVrmwkxf4x0b)x>L;#2d9Y_EG00(qQO+^Rh0SyKtEK5JcVv&g-e>_PZ=mc4)*4gPe^u4b}T5|+8v=(W~pHLr59|IDuDTB*D; z6RX*5_4gL=p%6Z)=GA+A&R1sKQm@yvtGOeDIH=}Yui-?q8z?bWm+p!W8QkM_*lzo-88+d+DJX~yQE65^rCuq{R^PY7x_4a5bz0CHT^_ZJg(Dy09x zZjW@u!cJKSYGJ_nI1EI9i}>Nb56D@d>gfFw04Q2kVkLYbxoXeV&!jyNst7Upxo! zYSzc#7#`|CB^+WwLzj22@%t-REM*g@Mi=0@4{qM0Io869f1mNMb50|M%tB_^1S+9} zXBOEj@n;o)e;G1R6R58Vh4u)0QcvFyb)3jq30eH@_t!I;9IL0t$BAL415xON5$8Y& z{jQ!Tw&fs)@JI)$mPkn@kHFmpJD(^Rh3@p?G7jCYUa%6=luckl!Nr!ikRPHGD)vGX zh}Yym26#~-f4B8`kWctIqY#{UdhSH&f`l0kO(3zj%PB))c7~vtXFa#Xf%LoFP3UG& zOt2qr#)%U#4>;pliHvK8tU^lJ`dwNGxvQAkdBAY!U!6fWam>$GPeAu7W3qGPxYT2L z51dHx&Qaczy6im(av`Biaq+tfg4gy-tOs9Ob~b^Se>1VDGaxfU3`C~IzqF2QZqB~E zN=&a4VtrKgrA6R`MpEq3Ce+G>7FAsMa7(n<-wmuhbanx?=WyvzZ#}wz|L6Dvh$WS2 z4ruk>0000bbVXQnWMOn=I%9HWVRU5xGB7eSEif@HF)~y#GCDIgIy5vZFgQ9eFuq_P zuK)l5Iwf>PSaf7zbY(hiZ)9m^c>ppnGBPbNF)cANR5CI;Gc`IiG%GMTIxsNLJ*N`@ O0000duy|~7Y;H3;Jh&k6nh|O@Ro=e6N z`Oe)G8Mhn^=te)mA+T_*l>?WIQ!SOisRjikT;-KgS_=kzf+Mn7P-4P=tvSU$?wV#? zD+JXB1uLBJuM4OT9!zk|sobr(0yBQo@gDK3=W&8R1b)ObeF;YbZo2~q0y6$p18hNB z(@(r$1FrgHQH5<0PhrlV?K0o>i8Q5-!i<~1wdpbEwgv?x{F?%7KUjEWUtq?~hgLFy z`0cJh#x-=K=Ic*5>0&W|Qm}uM$@uQXw&V>@i_bVDlIWMq`-o${=q=k|Jh>%{mc*Kdwwu8d=m@!wEE`%00rtT{kbI6jzdUv@D`OQX*8->sAe4*|# z*755&;ak1zsu2nivA@)3&R6&WXL>rudCom0{S!h`%!;S gWjLW>+TYqQ&`A*ymNLh{(*OVf07*qoM6N<$g5(7i#{d8T delta 690 zcmdnWI+bmLgd__y0|UdhZCTrZ6id3JuOkD)#(wTUiL4V9r9}-G7+xhXFj&oCU=S~u zvn$XBs7PgEpoU6jC7jmw5WRvOi1zXa=vVxBalHD_A&G?fwcl<&zu&raw@#a&pS7|7giB_e z#S3Jw*myg8&U*M@&X${n9YPuGrR!9@F0H9w7ZUn>iK4|JZ^kW&eI2e|Rvg?q1zu80 zIx0oyr@l6qUU6`eiSdz1li8MKxrDy`5Kz$G-X!iIH6unzPwQ5`jKZO!NWBIVm*epp z_RKE6^h$L~WN)~+S8n{v8)=7MGJWp%JGimjoWt<{mj@y;x3}2LNUBrF&@TOWu-bK= zv+B{q^%o@r%x3O8ZuEFdYuDmaRgbJsg_un*tI8=}bbEfppB+nU^-GL5&-$UcZuRy?=4i-Zh7p z`T^tm3utziRXWnsO^sR`dc19c(d{C{M}nix4)df z{(70~^;co_QJ9Q$lh}~d)>^L);!$EsIMc# zdtmgA^w4Ap6`CM~{S%2e9)1^z7E?v5G=?@9c zW1qk@oAZ^hJe4?HXjTT276ZHM}|4m}PjmQwM2DOA2 zz~h*5a|qcm5P$Ks&gd9_+FXFrqpGyh%hsR7l6|)j>1yM2Ahduf`su#IhO z<3GjjMs|pwYk)#%_#{8?G1YENTC9g%G|XF! zv39(+;heEP-hV{XT#jdhcx^+44H8_?^tGDMkJollGNHcJP^-u*=&59^wuIVUWIYz; z7-~JndVSw+Di=)cuHRL(hNesN;o1GL|6(^)VKvlmo`+fk!!Qj8JnF<&U#WUcyPekI zGd?w@f0i^u1LoQSq2x)IQC_)<3e-9jFF50A({>VHb(+vwCtx^(q@^HknL$J9A^ za#6jEFCt3AHrm5bnyp^NOSR&9vYgIq(tGGtb!b=n_L!a|qWeiuz9G6PUlo|_i>{b0 z2RP(ax~et!Fd7&>5@KD)p;=AR3WAyC+8qv^8f$<07*qoM6N<$f?Q4#N&o-= diff --git a/graphics/pokemon/dewott/overworld_normal.pal b/graphics/pokemon/dewott/overworld_normal.pal index 3ef7077292..7b8a1ef4cb 100644 --- a/graphics/pokemon/dewott/overworld_normal.pal +++ b/graphics/pokemon/dewott/overworld_normal.pal @@ -5,15 +5,15 @@ JASC-PAL 41 88 105 0 0 0 32 139 148 -32 139 148 +112 112 112 82 189 189 49 49 49 74 74 74 -115 57 57 +197 148 41 250 247 240 82 189 189 46 56 92 -0 0 0 -0 0 0 -0 0 0 -0 0 0 +177 113 132 +115 57 57 +36 43 71 +112 81 13 diff --git a/graphics/pokemon/dewott/overworld_shiny.pal b/graphics/pokemon/dewott/overworld_shiny.pal index 8c28ea7eda..2e3814fe22 100644 --- a/graphics/pokemon/dewott/overworld_shiny.pal +++ b/graphics/pokemon/dewott/overworld_shiny.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -51 76 90 +32 88 72 0 0 0 64 176 152 -32 139 148 +92 92 92 80 208 184 49 49 49 74 74 74 -197 82 90 +204 163 173 250 247 240 82 189 189 -128 56 120 -0 0 0 -0 0 0 -0 0 0 -0 0 0 +79 61 97 +200 72 80 +120 24 24 +59 37 82 +120 64 80 diff --git a/graphics/pokemon/doduo/overworld.png b/graphics/pokemon/doduo/overworld.png index 5877cb1e7bdc76374137af4437166e1499a31791..17b5b68306765574cbb700ef1dbae59f4db83e07 100644 GIT binary patch delta 527 zcmX@fx`SncgcJue0|P^`Tl;n(#aJBV?!>U}oXkrg$6#Wjd_9oH1oyuETLKgnNKW)C z1JVjm45Szsl6JoP1vF@ur;B4qMC;q>y_1?1cv@~wk-z`HQ@`<1fXc#f>*eOo%Vf9S zUzc-*@%5cmp{v8zMwL!xDu^mfZR~hcQ+%|Q)uuy^U-`aIV0}LSp6wf|iZVKV zxfjiQM#Mw&zT8bds}(!$2LELXW0~Z~X14CV%faPm)%9*Wvx{!8Zi_!UYyNvL$s1J; zKCZm)jx+wbH(kE`Mf@MFu)lfN4)`#7%~Nr>CnsI;sBFFXlI8Z2H!_=S8!k31b>IkL zSKwlly2f(RyiPuJ4aci`j@c9M2N|%Ox4UsiO}d2fX~c>d+t*ldDE*K6)AX2Q`#--6 zEC!#_TiuKq<^{|AVt5+vcl`cDg|dGZM|$nQ@h`h3Y+5IM=OF$}g-8)_NZ9Uy!dS+m+SSqg{|4 zrM3U2ZAEZ)78&qol`;+ E05f{nSpWb4 delta 674 zcmdnNa*}m|L_G^L0|UdhZCTrZ6id3JuOkD)#(wTUiL5}rLb6AYF9SoB8UsT^3j@P1 zpisjL28L1t28LG&3=CE?7#PG0=Ijcz0ZK>*_=LF5xUj&(LZc%=Bf~=hDE44O#(@fn z9St4@83`Bn%0vT&7?Zr+T^Kr8Wj%l#_7YECUsv{LjJ#}0#`kr8T$`9BU*GTP;uzv_ z{O#n6c})f)ZT`agWjBqu?%dk&gQ1!+rT5)5*S+e6{0xSc+dt>^?+w!0GWS78)y5-} zw|x39|7W=<*M}AEwy)fdzEFL9++{x_lBXX0 zdRn^koQlf*Jr5K%{ZZJ()@_rk9&D+#&h7Z?Epz=UukC%#vq|(7)9ZnobWPW5#MB+W9O$-8S%2xHho6cYChJb_+{~DI7KuHK=Ru)4~|9EK5<%7e&y`Sm*-x_n%wkw zp5ma9YS?(#$4la}$|)uF0{8G7rt5vWl`lOQIO`tN>&!mXSm3^y_s3Iqzo$h{-u;iY zFK2F4>@oTYiZay_*NBpo#FA92bP0l+XkKIC%{< diff --git a/graphics/pokemon/donphan/overworld.png b/graphics/pokemon/donphan/overworld.png index e6afdd6f2f761d781fcb1d286cbe93b81f8c1668..93f70fbda7b2c1b87eacb19f0a8bcbddbdc15d3d 100644 GIT binary patch delta 765 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 diff --git a/graphics/pokemon/electabuzz/overworld.png b/graphics/pokemon/electabuzz/overworld.png index 8eabb6c8ff40b4dbab23a0e3ceb2efd238fab2f7..ce6a5a78837c2f17ae6ba94d926feea053709aa3 100644 GIT binary patch delta 698 zcmX@b_KU}oXkrg$6#Wjd_9oH1U+dXEkIF$|&c;BigPar*ziyS&$PT0^5=;BwDy>8)DF z&GtRqsnc)!?M5<|0;HHv(%XXV?es{Z;wrT6@2I~@)l zz7%ZmL}bE_3LP1zw_h^j=6pH4Sn*ZSlN6!P3V%PJzB5O~KQ};>jA;b()8=uQJVbwRo)lTeF>gQg)j52d3+5Rv4^(^L&1x z<&@`7=NFVdSbIQQ=JpY;C5yKh1%GCHdE{=z#xF{5=1x<8cjUd$`of$`8T?7BWhVc9 zb9lxt_jep2dRdnH-YtIQyT>!8x4iF>pnIcX`9aItDFXd*BF%Fulmps6^7hxiQ;9HI z{w{XW`K=De-b|P>>4nH@t&m#vcN|CF`Lr&#+V^m)gYgS4j~){N8*tVlaGG zYvfsb$z!*_=LF5xUj&%LgB*&AfI7Jhk!>wz>60@ z3=9k=Oqj4t-`#>mU2WPR~_!IOzu^7R6qE{-7{ z$KPH(+c(=lfFVJ7d%3|A#z*pBxwb8SbM;2xxzy%w_gvrZyq)u#>GuOu#ea>bJkEx_ zQe7X^#QZ$bXcc~m6Bc#nwxX__y6edElS_B|UvUp#wA(Y`FE zIGJT@{qDLQev+F`uHvgq-eS|SGt{K{;ENwQGo&}2cjH*;mvd_>@7z1P+uAGd-MxQ2 zTS1D|;gIyM&0((GH^r|%hwuLLbmN5xv8$)~^UpO|Hnx2Y+5OnC{viFoR+;%ylef)%HM{TkP0M{R zEn=G@4}PqY`CR#%Ev1mT-n7?MF^l0Edm5|v2lpea;z$2y|6%()dpc)l65}&qqERhz zjVMV;EJ?LWE=mPb3`Pb9nO2Eg VLvPdCVjiFl22WQ%mvv4FO#pe>W$yq0 diff --git a/graphics/pokemon/espeon/overworld.png b/graphics/pokemon/espeon/overworld.png index 158ba055c9b3a0566a469bdecca8ac25000e6ef0..91d6a4675ce5890155901404bcc3be2222b8abb5 100644 GIT binary patch delta 804 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 b`la;^PgWk@-@!2`00000NkvXXu0mjfb54sB delta 946 zcmX@a-pMgRLXw4gR2TuGsvE{~s42`Qy4skm%%FrT0I_{qUSWJG|Ai zD0z|GOv!ap-)mGuDkuG8c~SfPTa?C}d3_V>nb~K&XOpQ=KeOz;=dOA6I_v%>e9~T+ z+Mrmo|4`@w(f6%yy{9gh?%ABpep%ghp5?-)Tx*oA?hvzu$?*Bin-?x3XW(H9vlAn*WY1jS<}+6MSB`^o8G0 zVOZeVeXE|^Qefwfdd;~7hG`Koz1lZAxWzjbM;?%2S1;L)@7mk^P0WF((+g#-czg5MS*C8T@@}{SB zz2g6B<9p{}!Id*YGaj}@GAz$;l{vAeDc0?36U&QZ;kJDBTMh-)|2xX|XU5K_2XdMw zrf0MYc`RPN{f_J|_XhVh8+DY}xNbYBpDB(1Ds+GS8KD*1BHf+1MEtlV*P9hAf5?}u zwY!07=HYdY4;K{anl7jc1zNP_Mp2`ys8UF@;v0X{3rzFHw`z*7XjKhpxn;6LtN6^V zwToVDcy}w_cd2C3vihd)=PzG=c%#kXS(K_>0)uhNCjFN!hPNGNeX3d}{!ng}(y@lq zJK#~Kl`;{qkhKxV?FFs({8QZry?V9J!D%Cf85A_`mSTK7sX{ZvE|cKXd51)t>jy%{QE36DoRCauAs4RZCnWN>UO_ zQmvAUQh^kMk%5tsu7RPhp;3sDk*}4piIu5|wtu>!YuG7oa_cgJg1El zHlsy|K0ozY3ZLLx;LqiV>5Vfs{;!Q0?mK#Xydg7;F@JE&z~P^yK3OU6@yr7-FR(FV8nl?z>K99 zv?k!=YLe$SaM<7Pj25=Ta!LIoH03^O8_4; z7A_UM@|U0I9@paE_)#*P1xC&*=%=2KQ=SsB;?Lp}C>#)FWZQ27000UA07*qoM6N<$ Ef-MjU>Hq)$ delta 677 zcmZ3-I-hNVgd__y0|UdhZCTrZ6id3JuOkD)#(wTUiL4V9r3DQb7+xhXFj&oCU=S~u zvn$YMqOZLyW0JSK3quF1tOrmFdx@v7EBiA>UN$A;`#L|aP3)Afzu@WO7~*mK?N$4{ z+Xfno&PHQ{#pee`9QUqf|eWF)M?--pb?pc5&atEey7B*Xum* z7Mi``76Gqtnpjb&%5(${^e{r?lUdHuZA&yZtX$?`+bMR zOS+kMJCyFx32afNQ=84%Gf(`)UhDSU7BqUFGx6rjQ)@bMopgF)9yI*)|MlDVbC3QDZigAHA2;}> z>`Qo)`?>5f`}X}$|9?AIl0)zVTxn`*Yq!=@MW=I&eIy&e27=Q-~2+X86J^dRQnaTOeC zybR!q-xk2~1Obp>$8QTL55qWw-*FxvBN9ZWIt-O#kEaPBcqwqj zL13ttc86=u1K_o2P6zK7FU!nC&&d&h1*OCl{iWK+wJ41iVQ!LWu zB!eA};RO#Dt|tjNIMXln|VdVhIxj>r&a_Y=a95gl4HxY73rqAPI+t z-Co?@<2HVzIbfILIiWC9Ec$T8OFN&#w+JSw?k{*ABhhPl&C9ylt;kZ5;2w9ub&>FV z>SC=F5#|w#6r6LcN~(x068wL2aeu}04m5jPb&ql_*yAb)Lx!R(to|{}F~=ww&jREq zx~{mophV6E{nw0(Ub7sp>IV|B!=&0HJ2zZ$71T9Y;kjCVB{S6DGM)u!>&2F4+vDP& z_Z}8t!EH@*#R*eH+l+8wldkw17urF3T{?pbUh)6 zvuCjeJB~Sbf9#Glyb99tIkb@$VKv`*EF+-gmu3Ls?XZIQ%;CThL8FrY=%k*@5Lpil z`5Jt1!A(%T(u>YEI4^&DifCIbr5}zmuoS0K6SSj({md)9y(NykeI!TPLeza?4?U0N z;XmOJ3a)|(B3hZni++toiafzb9_SEYTE&2`@sI|sBh_(<3f_!>1)D;WU=S)-38!f? z=!N>j@c|&BOsU^I$NJ2#0e-j&mT!AVr5BZEySiU8e)2cLi!FaVvAQc&H-5dyJ2W_I z`>KX|iOmcic&z4s3u>KjylAw8?7R`6wdrLg!d_L%hs=#5$4TVtd&alQs*c60q-_WBXJ25V|z^vNpJn@4OY@ zyW6%YJo%3Ui_CkRB;ajxCUD*ozxa#VM?MSiGjnI6evf;tH}>D0``_9A0M*PmSx;`K Q$N&HU07*qoM6N<$f->gtBLDyZ delta 1168 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 diff --git a/graphics/pokemon/flareon/overworld.png b/graphics/pokemon/flareon/overworld.png index c32cab6f9d2ab66830cd2cab9b97d87555c7a93b..df7ff81da970cddfefddd8183b865b59fe1b80f8 100644 GIT binary patch delta 836 zcmV-K1H1hA2dD>-7zqdi0001UMu)eNF&h;x008P=0026d000+od=Hq)Use(9(jevBf=kzAp z*O%}4xVh^(s))lEmt>-UDPS3_3F8?NtQ zgxN9T`RnWaC!&ZOWiT2bL5v1dQp2}zazre@^|#oJ)7^}&MMMSzeu49byhXwU$_=11IVeNv4BCLWUNmX=xZG^;}TI?$jiq%Usn3e+hB>I z%vO^q9Sg((hrk4ZAp{6aZURGI>Q8+XDAf(p<8A^e2a^PgCb5tm3ygVDm{UqzI!FJF zlV(qU^(OV1l`3EKf1kN`8o{KNI1YdBS#-vsu;}AI`z?l?G-by?6c~{i_6H1B! zH9=0lB~-UmE~L$|z=SUg46ZyUqGUILTu%}Bu;rXMVv|7L1}`_=!r|97v~3HOSlHYI z#=P{%>eNmnK28x;=V^)1M|s~%8k@thbZM1i)vE?~D z^y!g+K5F3cOFtKbK*dA&bOp>fblsQE<98U_lZ3~F?39?%>{^8`KTiXF!cMBjF5+zB z8HfD%sC~=t3E)6#N&s{JL373~GmTmm>hm5r^VVV%knAhtJj-8}oEp!0Raji+a=p>j zO8`BN=R?}de@-fKQg`8v#pnQ7Bb6ovt2hE?Jlc9lYy}<())Cfnl(ilrdL&>&-g=15 z0YjLjshhxRu140oPlN&I9-&ly;mI+S!B?&fQhl&OPoW z+l@yzfod^6z3<)xH*Vlut7z9*q`u3sN%`-a6JATuf7Sn#fvcbM>l!2V@4Hvw!Yz}F zQ=$64SKQ?|_!Z7K+6V=M1Pokyml>SVxx6c(0^SsKE`az2Dl^b!;Jw?DA$5_abf*j` zp!S0_4ogBAN|C;@fUvF7Y7S>^t1o~ O002ov22Mn-LSTY25|3d3 delta 916 zcmZ3%{)2sjgd__y0|UdhZCTrZ6id3JuOkD)#(wTUiL4V9r9}-G7+xhXFj&oCU=S~u zvn$XBs7QTcpti~!!->*BHe-^vy9+}HtE>l*!(QU)>&pI&k(W)Gk?+9_@rj-C^_x6h z978;gznywM`?i6|aaDt4_tRxElV>lzP`&2T=CxIY)jBRqQkO4@eb<=st}096!iCSr zu02j@pR_-@{cq&t-4Ruv3U*%%UTF1nvHbhl->+61Ijw(Ox@U&tiD2RL(ldDH&8SGL zu`iUL|3mxWf8h_cb{X>vf=m~F`6TvFobjAx{h#9z8wC%jYc6A+GIxuClkij_oBJte zEVkaKgb0Ng+DQmA5o6i-obdXelIGN0;-k=()#U@JE5td8Sy+S*40{^@4Nu@Akee(K(|~ev0c=wGjQs zGpD4NXNOk)c{q#rx}0S^tAE$|V~^P$ujDTauU&Ux_LU!D^ zT#98f-F(YPG~uIme_fpkpf=_I9D8Hh)e$R{`FP(L|&L_0FEcIIWEe-%B={_gt=ff3J1UeYP))?lnbD;{H)%Cc&!pU}Cm~ zkk@H=D&)Igr)J=P j$PlvogrXr=KR+citrE8mN&hxKpbiF4S3j3^P6@p)_kXwV5hPt31e#6W+5J;y%Cvd-IQl@)+-^VZr~R*u{xScw(K6p5 z;`|~1xX~ih9b*2O1D>OTL1Rub7Z`C?nJSEURX4YC#tG}Ij%SCQ7nOeAgmW)UaRZMC-PAc8Yq;*)Ycq>jLdWBrxn{ssPZ_dO7B?6H5o+Tak+IBQydeZfPh zQo1?@1l$C25{5vQ#I6BzUi589kZoW=z?o8F_{PetCotkS+Ey+lCS_i??wC-+J%P2v zpwg`D%)fBQz#DTyvyI#U2b`4F4GIbRwv{wp$53jx6JwI+MJJ@1t{OS%g%6Sp7wrap zo__*PNd$%wGX{UHt4Pl0L6mdD8v~)=1lCFkfvGbfUAS)n?AFx@f6O5;NpXBCu9lQ9 zqlh|wF|c@81%=8|RCIrEV*o$)6YnDQ+$QM;dBf+@m_wk_Ng(ab7{VuKu2%!i!@F=c zh1S!fI|C0o@x6`EQ=cW;>!P!VThDpG@rR;D*eQXPtL}e$t`-#T`42IIj|EFZY8Rk_zqy0Iw;+qP zDTKGWG|*y!4tZ%h5ao!DO%s6O&8f%Aw7uUidXDx-hKyK$rW@dAGE{&ba}_BY#qZs#CPY0IZg00000 LNkvXXu0mjfVtcNG delta 1015 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 diff --git a/graphics/pokemon/furret/overworld.png b/graphics/pokemon/furret/overworld.png index de8beb85169eddb8849b0bddcfbfecad785f57ae..aa3a72cb4e8100ed577ee1a8b5ca9df477a6dd61 100644 GIT binary patch delta 824 zcmV-81IPT?2i^vd7#auz0001UMu)cm0004VQb$4nuFf3k0000mkzpTy0000000000 z0000000000000000QUI03jhEB5MyCZb^rhXAOHXWAOHXW000000AjiB`Tzg|z)3_w zR9J=Wn2WO9AP9zo2=x7*xZou*5%gSky3?6ux~Hf8iTOW?V)i&b@rh5|0^r>aeiaGx ze+>XBrwu?f!p^0p0^~wG^X^ z5?Q3^(oKb=6R^1Y2Jqn}=Ouy%sHH8#Q*;At_xA@zISq=Nu>-t+`@-yQcs;=bWNJ4E z9#Or2t&k6h=?V{E3ux|$E&%6Y9TFTsmS#{QfMtbv0PqrafCuXhPX8XjEn(6bSeil6 z-{;|BsF0(d006-*wAPt*hhm1_>G8Q=JQ8LA0;xq70p}qyy;sQ7yF)GPvO=ai38vZ% zcT<=i08_#QsNF?>&_afu^L4$hA<$mu<5deq5B%Tu@F&0{0Vlw6e<=Gj_^WuQAGW|s ztB$rQ-Jpw3v)&hYTYhE1tG}yb-xAb56@XhuFE#2P4`8F~BBj=a;p>PIerL&634I1_>)+ka>OG_=!^+EGM}`T()6$CDdCPLfHV6>t(xK$!rn zy!D3 CP;hYo delta 948 zcmcb|c9VUAL_G^L0|UdhZCTrZ6id3JuOkD)#(wTUiL5}rLb6AYF9SoB8UsT^3j@P1 zpisjL28L1t28LG&3=CE?7#PG0=Ijcz0ZK>*_=LF5xUc}ooKfHqVIlG1!h#DM3LF$T z3IYsXy!i3|TQ^XOficP3-G!lpRn`N@VK4FI^>t-`#>mU2%>KODR%v3EeEob+7sn8f z<8P<=u6|@7(zd#F*V=Dgucd=`i>^L%OW@$ztGCvQMQz`<=qK~%!_QT2eOn^5{!Bq4 zn_BCE+5O*7o;<#A+SmPmOqc#Y`|t77@4w1lJn!zX3BCPJp5fUPzq5k8{F}~Y9mr>} zx47Q+T9Eg9fMucWBHo(hc8lk?6kiBhUaWVVb9t}e54HxuMT}oMWP}cw8#3Kz5ODf1 zZ;P_m!uc{i2i!M0DhDYI87)@w z*~~joZ(wQK7;4%>n(GXtLwq70S&-)Apf>VKruW1VN9ui$lwEi1N) z>Xj9Cgx$HO)cshPsb`5B_l6dM-!fajw44atwj#`CUMq|5i;B$x|LenexB{o_kS}Tc zrTcu=^P6tj7gCPb{(b&6)c%RJ#Dgr}U4Pn7>mSqKdG3^@wl^>ltCqM%l%yn-XD+pNhOf}hHLpK z2K`Sj(17nPSNIH+x#tv8@v>DJF z6r3K-3Y+}qkI+*)e@&A$$^--M8&DF^n1c)0&yP91`oZ6{hJgkvUJF8lOaLAb>NlXi zfwDfKCscMWNI*G<1CUJuOKpDm>EIxr@_aA=_3LK~4rkQ9X^Aqn?Erb>Zfum`yvN=O*XvTc$MFE~w9afnabB{;ZQLf1KRYEMBvirvsl#l5uRn z>{rC$1!Nr67rVHpwb3AW35>WmXy?UFcA0SlaZ}l*!(QU)>&pI&k(W)$#L*+SbYiD`{U1*k z#}JR>Z>L)OF&hfBz5UAiC|2>-je>@|5-xK&1OgtrEK(C&)Xn5+!65Qw4kO<|Mhy#* zy0yn&r#K6Q94NVO^RLokwZfPD`dbC*Tj&1^Vcr+T`TXwLS1;51Rz>XOT=>+jNzz+? z!(@YxPAW4aw)o7svYqc!?dcz%6rQd7sJWwl=B$ISWRiA7A8&T;EGye~MYuRt&{pfY z&6An#Pi3+`^v&FO(ecK@hcBi|D>ScM5%}Wbiuq|Vzu1;OdvR1tK3~RFTj<2YvW7VI zOV_!U1j}DAcoY1?;>`r>Z`;e7s?sg2w##q!?mdcT2U%IgIsZGJV8K#y`l@RJDL-ha5eT0_A2EdPXnyF62^`X5bG^xGDHtcYd4 zq~(SfH$KhTobkyjard8;@Ct9NsPC3JZ8LqbY0r^^HG0pOpUY+EUXL+{@rjiMbVI(pOTqYiCaT|>(5T01_n=8KbLh*2~7ZFMm50z diff --git a/graphics/pokemon/girafarig/overworld.png b/graphics/pokemon/girafarig/overworld.png index 8c9402494e2de0f7d77d41deaab550158b74a221..d20cebdf13c5c469f3f8fb96c7cf014a70043829 100644 GIT binary patch delta 714 zcmV;*0yX`*2dV~;7#0Wv0001UMu)cm0004VQb$4nuFf3kkzGHLyc~awNklJSD;)I3T6;KKCLp zrDP}^@d;u{{%NVi^9DoCi>JUQ&tLH8%EfMwE@zKIn?TaMhMW)PX<4a|5qEXvVhS8_ zHY8|A45S{@kc+lbl6A~o4%^v6QN<~oJMrZ7B~D+~uo`mKw=91}DexiZ2_qAZV}oT= zxEH8!OgSGSK);H>)f;^>;?k$3XdU{)W&UU#TqG}!iz~ChQjP)@jwz&kXeFeTi_EWj zg^W2bS_PVu4k729Kq;Wbr?m;>6xSTXUZBPaQ#{TB{-b3HRszR-Y681BC*>YwQEA;; zoO6KOt9yYOM{peg-fB4OZ<9k_GaLylp5=Wc%F~Fj-4a!x z<}%#IO6^Uj@zl5#K+Ie{{5ejy zJqLarGq?yOsS@N$)Ld9VmrII}d&SUKBNT2X5Mspo`7P%R@&?rB0F^eEY*9MH3IG5A delta 856 zcmZ3*wu^m&gewa(0|UdhZCTrZ6id3JuOkD)#(wTUiL5}rLb6AYF9SoB8UsT^3j@P1 zpisjL28L1t28LG&3=CE?7#PG0=IjcznW$$k%b4Wt?!wT)D(eAM#$Mv->&pI&k(W)G z|7FBhfr(l2_1T^-jv*e$-(KFBcgsP7{ljCi^@>jz=P)Ne*64b$AnWQ1=1n1`FM>X? zNcLP=xk*cU*HqTY9#qqYysPyF=@daf}-^!QAw5N1UnY`hP zwfz70cJq5Le6Eo5PkFNKT^+yaDelHa-Jva9TidPE^9m~$$;a0>aImr{-#PQ#`<1d! zsGYyTp|p)@tBRhV31cqPopr%zx_VSG_gc5BTT|7RxMnsB%rv}PXjjPl!EIOkk}YE2 zQr7j@1^+5Dn6lHO{6=}jlBU3)UB{AZbWD?%ot$yyW7#qL9ZY)!_xUjShpyxm>vwp? zw6s`4Lu#R4=cTmxcY4zC^#_+#K3;Oywt_`^_w30B+Nb;rIVf~7XJbmx?`RA`S&fNX}-1Y7$`Rn!n9b#$xRVv-mCvwbu+hLHxAj!duC1f+Ov9E@9X&!8!}{CwYCVhp8ay~Yh=+gm)ZAO>(j37 z%M;W5m2|UNw!@EUq4(G6Wv^_{C)S-xcy3BnWeXa4*(M{ zgKCLuM0!a|Vo9o1a#1RfVlXl=GSW3L)HO5;F*33;HnlP|)i$uOGB61EE>#cJ0nw0~ bpOTqYiCcr>szrx^8W=oX{an^LB{Ts5C%bVU diff --git a/graphics/pokemon/giratina/overworld.png b/graphics/pokemon/giratina/overworld.png index 8caa512dc11966582234527959cb20e34139557f..32608f12120b0546ecb48652c08bc3adf8fe9588 100644 GIT binary patch delta 2304 zcmV+b3IFzw6TuRY7zqdi0000ahER=>F&h;x008P=0026d000+od= z00000005?(F)siB01#tgPIdqQ06+i$06+i$00000001y4wEzGB2!u&QK~#90?VH_#L-#o?{w@D?`%eRaUgU=NJ1_={9RN)i ziVk#m&RZK_e)sq*uWdk%z^^n+JV37lYJO3F?m@c?6$e${FAcCW(ksqq1o|F-=T!}0 zZkcZp=!-$d19Umy-d~zXp*%;!Bt58VU~U1t@uFZ0PdqLbt);&UULIf5Fn|1ilUGFm zU|Hs81k@q8@_iBD4qo(I>F4zkfx3elufX#JLLDJn@+4AoaE)JyuSbxEFMyqsg3zbn zm;7CT6}EjN1=RxR__BkOr=dHaW`m2y^FhT|CxKn;zVG%;Kve{8{E2FK-#p(w?topz z*=l14@((Bkc<>DYPWKeMb32%3-7t z%x|kk0Hfwh4kCY-FG#2h!0&l4AP<`?0GC1BQt-*=)2D@p=A{mZfSU+-?ZA5v;!Oo# zcVH%3H<#riAN_2x{`@Qe4Za)z(vQaqw|QRfQ=qNj3y+8=UpKB0Li2oo2V^M`Up90g z&C>SfU>_{OUpL;*vRz;)q&O$E^FnwL~X0S(>I z@W-c7Mu`L3$AXh<2eOw<_bU4clg01OU+$J9Ff?&znYVT`vCTdQX$EnTM@)Bh&OD50AkCQn+L*#|S_fa(;gIOj0CJe=uTb!Xj}AB! zG`14ddPze@#tS7f8{193tdTKgB>j{GJn?rvIVkZ{t`t{t+rICcjgbuAN@e8DL4hyg znIjAvIG3q^?-kTV;D!IRacTdDB$CC{@CkxFKA+FQI}2<4;z@TaJ;?9}e{oQi5RO-3VvEi zq`=GY_jv31Cgc&A47HyWq$+~+qaK(ELiVVCqZO;s2M?fdz!CIEO_Db@Ng*5feWiS# z)~w}%gD0=Ty^na1hZ}CZnPBxot&5Hs;OjuiAf>*r6B%+we}$-xV+z=M-;kVI>^{MlK3{-V3QoEJ zlz3eLSbyHekprn>B#Cc*0=fq;4%9qtp*Vd@3h`I!BV9Ip;q?Ik6TU`}jhq*7*FV3) zYkkn_MFS|y;WUJL1SI{R{MHcwbSUx#73mFKR{*}@4g8@03W3KBWfAhh1+6v&-}1bF ziqn80%pG!;a!?3)HR%X|EL~ULZHrz)baIXma=4r(xQ+<$habE?0LRY{#)AwJ5am^N z6qt^-|02(&1Wi~j;SO(7%H{vQsl`*#@#LNIEK3?d|7}jHNQPNL=n4Smu$&i9cvx*9jTU7 z7h%FX+E3G#>n74r+U2U<_d5rTtdTvs&~x$|C;4g?BDZG$|Z{gNVE2K*uKmW9CKjeKVSr3`kYm{jr(dj&iL7Ie za*z)+x>Ar3iSG>H1ipF=J6Ym?`vi;uOuVm$)jUn0pC2a!PcG7XpM!|GbfxY<5HR}% zf63Dk0RArSg7*fHr!A*)P9fa_rT|7hI@CTsJT7cx0DGU0X#{z^-@#2ln$x&+rGN!5 zAMXs{6zXMPc}!EMfa&8Wub%y(x#4l~BK@Mz!HIP`cnCQ4b>Q*w&H$cM-0sWfP65;B zBj5X2O20Ay<3;*KpMw+YcF@<~zvmG4o)e5e#;4}Si{AFf0g$jiuIRsI-~Dfj-}A%% a>-G;-sBcbRb4Jww00000026e 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 delta 597 zcmX@hvWInogd__y0|UdhZCTrZ6id3JuOkD)#(wTUiL4V9r9}-G7+xhXFj&oCU=S~u zvn$XBs7QTcptg#*&3ir|n=#4T-G!lpRn`N@VK4FYb!C6X$jhdrea0c7VPdCzeVM0= zV~EG`x0elznjA#f9vlz2*r*vaTQ_HFyYRx)uS{Ng3*-)%$Q?KqVdyNJx&7i<-Yq`U zgHsQ7oIa=HHs_>ITE*S(|2OcvGS13eHZ$#CT95X=>ZolGZ-|~N(>j=2b~{caETZST z(7iRd0UxA*6a7jK?9ny8xc z{`LIvg!gNi|G^noOlEB9PkwdFN_vURos7d~1uFMW{*(^ZUDj$cD{=R-Uf1pm6Su@~ z^pNA68(5xr{mbXok1uWrwrR)`XN+;{qk?*2>cT&TX9qt(Llyy{fOMhX@p8VKYn_7#Ud^n^>6`Ya3Wt85m4q^^!-?kei>9nO2Eg!_$aQi-8&# NJYD@<);T3K0RT2R^^pJo diff --git a/graphics/pokemon/golbat/overworld.png b/graphics/pokemon/golbat/overworld.png index 9ec0ecc2d8e72dc644e47fdb8f0659771a3b26e9..658023601d46e08e40802f7bf8764850edf6b7d9 100644 GIT binary patch delta 784 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 QEdT%j07*qoM6N<$f|oI182|tP diff --git a/graphics/pokemon/grovyle/overworld.png b/graphics/pokemon/grovyle/overworld.png index 3b25fd5c5b0950dc15d7b7402241b71a8878b9b4..92705c00fe9d213f51aa4b469d76dcd3f5aae7c4 100644 GIT binary patch delta 621 zcmV-z0+RjF2D}B37#auz0001UMu)cm0004VQb$4nuFf3k0000mkzp$h0000000000 z07V{fvyreLe;!FhK~z|U?U&nf>M#sNE#zAg{{MTAB-_w}E(hpz`VbAYGc4KKTTy~Z z>5MbZIOB{n&iF$C6z}p+*8Wt$g~BQ0a2U*98t{AG2W_Alh}kaVa6*}xv()7`d7reQ zzy(V|q*AYPl7`GKP}HRnU;4O1q)@LP@lqkTS_@TEe-k{;AC+2LhN>!z_=qOsNfHeM zK8IQ>zbmAyIq*24=;GA-h z!gkmOB0d{z9W}tcKxA+SI7R}ZG9(di1@_iQxRQTU6(Tkfy@iS_k delta 771 zcmdnPdXa5{geMC#0|UdhZCTrZ6id3JuOkD)#(wTUiL5}rLb6AYF9SoB8UsT^3j@P1 zpisjL28L1t28LG&3=CE?7#PG0=Ijcz0ZOP(G}2ZP%hfvvWHTmtySp%Su*!M>IqW5# zzOL-g7QiIEHu}e>>H__?Cf0`_tm;INjL-sxOlcvo}15v37dH ze<6mijEyB{Df7cyp4@?(OHZbrof2bJ>h;d3^trR^q4uv{j=M^7`pc{Tc%ApJuQ7Al zee3GFe~S;@IQs5g^eOM)ob)-%7Ctlo!JFM7HPg&JS^w;27w_}^!k6F29sXVa;>jP2 z?SM_&brs-Jzirfp{^{Tu*3Wk)4rrDnKy1OcJ?~FXzSd+ zhZb+~TP-_VM=OEp>Ys2OHI9e7ua$k&pQy(aPDbadD}pNI3=Ju&BgmeA7o?D2g)wK>K=UQXco&Htmb zz3%v_gE#MPx7C>NhjoL^B-cGVzkFMo@;3UjH^=5Xr>ZwUfBtu=kdMmz++9vP;y%4x zc3)-EYKQtj@%!R`gdV?&YU*}Bu(ZG~r0G`#cg`e@#2KO1@21qOVtSRl@ububn@f^` zI<0^I&5z)`CI72dRHOB*2BW)}M_8j%NAMx84-DOPj4kb}uiA>ltPR_4xM#7_tAonZ zd5$TsKQRB+hoG#z5y?GQCr+Q9^zY)M{;2(HzuU^ZSTCyft3F$+J>##y-_-jxTT+kM zN9m`k?4IF#fA&mZa#1aDjVMV;EJ?LWE=mPb3`Pb-9G$dmNJG_$^U=iM*bA1 zvOs&6>~R(F;9N?{_%zRf4L1a=bK?qpGic<$r8#AJ+(B)9JJ#T6+;D3j#3soP%DIZWi9R`}^hujQp5qi}b`2bG#`!3<>8r|(gKWct`7$6n zM}ca!1g>0hWi;}0fYy|n=6Qcka5(Ok8HaJh_XgmAHM0t=ycYM#Nhw{000O{MNUMnLSTYj-bHf& delta 816 zcmZ3@wvv5UN&V7pCE?niJkKGQJyZ2As)xyUOC@= z*+GQ;!}W!S`=E?6%jVCj#$qHQ^b@hIzoqCg!T zMzi|Po=<8oTzhoxFX=#VYv zesaeP_viSeZ&PJD_+ydzpWgQN!Ua#w-!GEha-q;!A?)P||GxRPTQ4YG*S);%%VUQX z(sPe3uT$N2?d$7ncLZlkSn{d(t^M-NLB{%#kGm|E=Xp6E3B<+T87CHcGqw zc3VO7wAb}pkFHdVTl?jdGp|j4h;bnEC7l3v)=6rnvZ8;FKI@s4Tf%k5Z0U0A6Ymy2 zUr>0KTTg-c>mHj6QvwA=IrwtUG5E8eT`Dr0#UBSQj+|)iW@7y85}Sb4q9e0N3nbj{pDw diff --git a/graphics/pokemon/hariyama/overworld.png b/graphics/pokemon/hariyama/overworld.png index 52622056a8c894b9b8b066b63f50762a7e30fd2c..8e1cfac955b89e32d73c3c9c76d702ae10e0635e 100644 GIT binary patch delta 1153 zcmV-{1b+MM3f>8j7#0Wv0001UMu)cm0004VQb$4nuFf3kkzGHLyc~Z(NklQenxOChw%t820*aZhooQz}p-n!+BJA!RhsopdZQu57|5Fo@Kf?cY6Em4R zhM(|BTlZ6xp(_nsp%K3x02 zb@+%L2!_!lH@MhX7KnfL>h@dQ&$G8yG(uvpV^rZBemN#OUBY3|PjQJcmIZiq=6{2W z%=0X95yvJA;l^WrXmF0daLLBPFTkZM4~Dog0$z*3{AK|^>G#?RuLgjQC;z433m7&Y z^FxQ@j=5Hl^^%`6oZVgu7~&=foL$r+{WEn6%n1+20Q%_#{fmDDc*DQ!+CAPsG`OET z0n}?FrY9clWflx^6ChwRmKMPvi;W@}xmyTw?u3U*0o`P3QJTve(4L4X`75VPuw0%u>6gj6r_nqW@3 zA}>tgY9C^f0iJ&u2J>X0L5X=9TK+;)0(t?$6&@;md4>dw9od1O%LdPH0do#fji-kH zgL?vH3^78jnhYx4i9a-saFChB2QdLtSQ`vFD5?_R*>&K-%bd}D3RD3^Mg2vzBr)wv zl6bvN4Q{#vodPg@jL#4p{jq4LAp=}|E+YXZqZ{_qUZsDX3FsyGzVVQYNF9O{w4agX zJV6zd6jc5_-WiNRC@qLCLF{xRTI`w>@&X*0(&M@SR!a#R(_%xX-1EvuF7=cFJD&Di zDgr_KNs#jdsbIbC@jgMgQ^acU5g-gey5Quf*uzC@Ofu$#Yf+Q5u3QDsy5^{BmN36^ zK2$gr_{M*qM2xOrQeLI{ph6)%;hlg-9ZeU2S z)^)oSP~q#=JrKzTds(3ut@0^tT>^i=-*NEVZ$bgExZ0@{!00#?7kWHxXe74I`mPH6 zJB57Vf8c1fhm&$wB|46sBDV2YoDGdRjZj7d5jiWk(kkDEECy5Rp zXSHR7T70V?MnH%iktfx{G||tEfD8QmtdL-wmJj4J3D$K82>Y=ExQ9C2azk68vHB95 zQmhHam{NoDEUa-g0H+iXzV`w@;O_uzQp&};l40Y4X7skgdVRHcuFp9&nCkh!X<%qP zaNB>t#Q?@h^4m$^J^l{BmLIFI!phcUDTQHia$i+pgL6{Ms@mN$7b>>@BT0LlR=(&FN|V}% z0Dy!50Qvv`0D$NK0Cg|`0P0`>06Lfe02gqax=}olE%ybG|#81rD z_96y59c2+K%A-ar_b|g%(}WN5@}5F@ZaU-rIX$!0eUO1oC+O{m*b6PqY^gI#V*Cl- z%bt8^nyt?EL#!h@K}Wg!8RFnbbDUCNguJ{5IOAYCW9eJdbh-oOey&6Gv-9k#n{;S4Tr;rYZ9mzg(^n#WiX{A$b3mdKiJR{>h zX`pqYK15T4{W*5E#^+CqrB8P@%V+dSflL`PfkI$zpaB|xG`2#T6M*+K<^nWz)UWta zwu{~@gM;Dj2Wo$?R@2I4r~pDV$hg@dE*tRms$(PcWXA|`Y7k<<6_?8y-g7&$RvUU> zR-re`fCOLVzp<^u^6-EgxP)=hJsz?V`P!z623qY`oaV&C_?&Y+Ck>kR_x`h&swFBL zgtJ^Q!l0Xfw?2mDGeW4q0XZWuR6qSi=0 z@9WV~I$_x*&+BhK^aXtG^ZIv6yZl^XBJkdE%ZqU(5g!&Uxu}V z4OIv&X?TZOmJRI2)j0lz8{qY19AAzlL#s`H`=BiZmk?rXwRt=MS(XLq4~dhB2A0)U zEz6cCS6NBUaW$^QaZVasRpZOg1cQAD0S(CNi>iPFtDQb7@T&mOE=Z%0hWsy}=QMlk zj#L=O`uI}R6kNHW21qdA_k1Qu4cS(SV;~sL_UC5C^JUYJkc@z{J^=ElbD^oAc(F`> zKMP#hFAZe>US^OUXLtv(5e6c03~!q zSaf7zbY(hYa%Ew3WdJfTGBPbNF)cANR5CI;Gc`IhG%GMTIxsM_r53gT001R)MObuX zVRU6WZEs|0W_bWIFfuYNFflDLGE_1hGCDIgIx{pYFgQ9eFva+;3IG5A07*qoM6N<$ Ef)rv+#{d8T diff --git a/graphics/pokemon/heatran/overworld.png b/graphics/pokemon/heatran/overworld.png index 4939e6fbc98a1fcc5eb1d5304ed7f31ac70f241b..dc6d20550f80fd7faa745e9eb37da09f0f8d925a 100644 GIT binary patch delta 1098 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 delta 660 zcmX@ia+h_2geMC#0|UdhZCTrZ6id3JuOkD)#(wTUiL5}rLb6AYF9SoB8UsT^3j@P1 zpisjL28L1t28LG&3=CE?7#PG0=Ijcz0ZJ%NG*VSD%H`bzWHTmtySp%Su*!M>IqW5# zzOL-g7CP! zNTOY+-@Z#v!`^U~O7aTmNA36I*Vbi8)79bXL z)0*nFA|kE+`_A5MwYv7smFseC1%i4tJ{sFT&$V~1d-o;(7lYB`{<8#Kh+Y~ zh?11Vl2ohYqEsNoU}Ruqq-$WPYiJZ=WMpM*YGr7oZD3(#U@$d60w7zqdi0001UMu)eNF&hyt008P=0026d000+od=!3_xpwh(Y52|LsZ8IaMxZ^kJUNT5XwbDmxI<&gb*S8*jYv#v5(@Y4Y;=hz|gh20$kPgKHqV&i2?GVI1-T z!wC3*15Q7Itu-v3^}KFRH-k$Kf<}McB7O1o9Gg$yc)-=qd*8Xb%|VzOAsjD zCe6N+z$F*0uV5#Es7HsfpTIN+?KIs4F1W`D<919T%J@8m8k`z}pwSY9EwP{PUY#c>bEe1X&Og)~(v&Y6we^`%ID(zjBMue38Q}5?BCG zZqq>WK-4L8o>1_@U)!`#ylQarjW0`!Yn@7D{aWzMmnE(RCp~uPMO;YcEcmu!l{acL{yZ z&*s3n#=9G2@>M5rvwVNU)lf3L`hURSximZV`4{|SW0Sw}$MFx@Unvg{u6H2-0000< KMNUMnLSTX`DmM)P delta 805 zcmbQkHjjORgd__y0|UdhZCTrZ6id3JuOkD)#(wTUiL4V9r3DQb7+xhXFj&oCU=S~u zvn$YMqOZLyW0JSK3quF1tOrmFdx@v7EBiA>UN&X5)vt7GCU(l#`+K@LhIkx*du4yN zaH0hJ2leY~1y%%nKVAJ+)$kd++qtBdL9e6?9^87!l%K88%=;wt_!ULo7Z+CM$2K`n z@s549K*dj%*U3^bxOfWB&7#(SjK{o-_CK!fo;)G__nz{a{qOf4mpzaqwt2?U8^TeX zM#s}POCBl9IQl_$TW{o7(Te)BPrrA}Nw;p{uJwMH!&@ABG(Yw`L!ZJ*W=VpFYA6>5M{qMOuO?~ zJny0f%Z|U8o+18&XXEd!T5h#xU%%TKTA-M7#qR2+71rD_cIJ1tm8oPs{`h|0-;cj} zPje(Lxz%VKUz)F5_uf^Yt0O$@!OYChj0!ea@{U#Iv+zjUFOLZ;XY!4|;s2v@#;wZ9 z!tQ<#&eWGJSoQYR?yUK#$xk;t;F}XwD){p2uicK5QXiDqF6VE^9yeh{h!S3GLh!@>avdm zlbmXaYeY#(Vo9o1a#1RfVlXl=GSW3L)HO5;F*33;_BORLw$L`Pure?xX017dq9Zpy bB{QuOT?aw~Q^b)vpaup{S3j3^P6xsvm!wNklz3*u427FOg3kLt@Yx%xXS9LXwOsS7srB|@ zyUB&%wq17FWtUxc*={0_r_=oL?f!Zgl=1JFsPywZ7b#4bB+=9xk`k+IOFa9XjCn5aK@#FmR0KTuX3bW75{&fZ!A-(@U9}Yf)dU7)>J#! zNhe=&tZYB%)>v6kB#jEScbrc-E)Rh}h>aQsdXNGMr#?`jz;Fg@j;*B z!?h~*J}Q6XSmxZZ)pSfUp1_*pn%HbtoD&x(oC>LL>=&dSw`>__qjAbxG@=C;p=a=? zfzKhYJNL0z~>{V`+&r*wUT^}WCH j`{$79SkJw1*M;Qq@00000NkvXXu0mjfBff9h delta 851 zcmdnVHk*BdgeMC#0|UdhZCTrZ6id3JuOkD)#(wTUiL5}rLb6AYF9SoB8UsT^3j@P1 zpisjL28L1t28LG&3=CE?7#PG0=Ijcz0ZJ%NG*VT`wbkAaWHTmtySp%Su*!M>IqW5# zzOL-g7?95JU z_5M$bPy1;1Flc(z*)|6WcB3U{@2NL-+J9V|r(7EA*F8V&{p15rB79byRgvMUmnr1Y z`DbHOeowf#KkAJ~PV&c>(SPP`4HUZjR{EgJ`&qYYS{0KlymIt5Cl%^0+_gUVoaBDL zoH7=rzE!NV*-q>#^x3*^)$ASVK0EGZTyJY@j9K~dhaT%}Mb~?0H?^>=xp?krWZ;&6 z6(92(+YUJ*%9?(Z;QU4^F6F~|JiNP8-G|0oeYydwOmv? zy#06ak>ah@&zFV%TO&6=KHO~kM-lcc$$5STnMM}hg#y>Cp5lG_)a>-u$H(QhXLr}I zXW6iq85Q_G^AiZm@E-kb@(=pFyu>BztMbW>)VUEVf3t#0{d zNZl!0zE*yFdFkePA3hZweeatr6{YVQ_uRf4@>Ypj|heU97xg+@E^qq!_odpdj@rAI zyH~tA{55TN=q=`uhg;Lq-K?X68-)Y&mq~_cecO9(O4vKL(_KejE|<#^K9V)}g>cGI z<1Zg2Ew&aaaC4oT^h$h&pF!S<13mu7{_~`N<(60fssGsgM*Wq{Rs8%ffyqy`#5JNM zC9x#cD!C{XNHG{07=;_@8W`#t8ig1cSs9yJ85n9CSXdbtWC+=PLeY_%pOTqY3DSXG UgQS0(A5a5>r>mdKI;Vst00zT$QUCw| diff --git a/graphics/pokemon/jumpluff/overworld.png b/graphics/pokemon/jumpluff/overworld.png index b22b2d7c1c2233aae6e8d9a60247394f1d76d852..513a212b3a21a8c22e9ab0750b3dadde13f8184f 100644 GIT binary patch delta 528 zcmV+r0`L8k2HFIW7#auz0001UMu)cm0004VQb$4nuFf3k0000mkzpkh0000000000 z000000002e^71&5svm#6NklAXH z?j5x_H)F<(88c@5q43^6$;aC-%W{%)Gaqg5h*R`ZZsw!yf4>1(YQPhGv^`}6=Aql+ zRzBJuGXhb%bUNJ2N857>c?{izoB3#a7cqka;v@V5Uvd{$pd5dIwIkqeE;w}ro^m|m z;)(&-9wQn@-hmqp;Ddv4+#I;2FRcl2A}OYR;TW3JisH@^pq7;gth^QIRekHAsW$}n zMjtu)(+0|l#R;#Kf1uVaD1I11XAGoGUjlXB_=al-ano-**tz})fcFzVoj0buQ<8h- zP`DoAsUW5z5g&gsl^-OM!w+tqr!l=)VCZam<}y0B2B;|T>y_yu_l85}dWhffx+OFQ zT5cG4qd^(nDy+N;(GF-ku>?_#b8fAKGnQ99FLUl^)U@Yn8yt zs}RNU^X5H8IrNJ0y>=+P^;a6;Hv+UNc-OQq0hWAl`!rO7$n7C#OMl@!y2D*gWlx#* zQPR$}K*xKMW`n&Yi$UR5c}dFl_?>ra*+H(CA8~2jop8m=h!g$a;4^0YxA+2|GZY`e SZxFWt0000(W;3D!eRxwAApfPqE$iO=*Dm*4+>&bZWAEYmBP}y-%0Iin zWqxZ**rdbLVrsWcc^|p*O6|q=dxul+zVThT=-~Y?cjamsmu6+h=Xjs@W?ZUbnN#V_ z`(|Hs)&bEEa$GV#sz;U zD#Ca0R@imLdc~cu&1NXpOcT5QrG)df@Xsg0Op7MoPHq0jvuam)$yKp!M?VWHg;$A6 z#zk#u-uOaRh{<^M=S`AQNA5|eI_zw=_|UTc&ohqa*~_l3*^$(+Jphb#)e_f;l9a@fRIB8oR3OD*WME{ZYhb8rXcS`PXJln;YGr7oZD3(#U@$d6 ioyd&H<)M1_n=8KbLh*2~7Z~20PpU diff --git a/graphics/pokemon/kabutops/overworld.png b/graphics/pokemon/kabutops/overworld.png index 084d6339b7df34b0b3c321acc61ce9819dcd69c5..157532af553df063e5a96780dd86b0c4f15f5079 100644 GIT binary patch delta 845 zcmV-T1G4;)2G|CW7=H)@0001UMu)cm0004VQb$4nuFf3k0000mP)t-sn9!gwC@5Gs zAeeYa0001pU?^xvFhD>+p`4t+z{u$6_-JT&000000000000000_)*Q00008kNkl<3$$xb{;~CF*#xtJrjDIx% z;J3UdbKHRgxaO1lF|R@1?+k1?c$pM=Xy9yM&t+ih=a&-g^zHcH8n_@h=K_n< z^IWI{SA8OIv42WWyb2_ZS{vAK2q8Ei?o!9^AjXcyIPmfEQX2wfW=TA8QAj=%fx#1A zy#oF;@P05Ch2Xr?^A%GYf@$Kt!CGMEo|l-pK(@RHq+A4M5(BLQ5is&rfpW(cmc5G4 z7*lGlNB$H$J{T+o4nYoJ?e!-v0$AZojpB>-VXL5g=zn;ppmGNey&n0S-0?i|)D=jS zWfh6mGClG#9pX!3UMLA-ZVhD7+wjq#aEE{_kdF=%=9_bD#(}rftH2{9Sw5>YK)cX3fbyKbeWqDiUEsP0U+w+M*)12wgRr3j|z%FS!VnjWA&$_ z=ktE9jiCLxm_ZG|W&N!wJ9|iPor{g2IxB&r0{*=z-)g081M9i^;4C`>8`?{;1%Bh&wZQY`+6TKZ{Jw@~{I~H3 Xi-;SrU51u700000NkvXXu0mjf9r=h2 delta 773 zcmV+g1N!{f29XAk7=Hu<0002CwraKj001OVOjJdf(4a6lC{Tbfu)s(F004-vKxmja zKtMp4n3%x8$mruMSBtRmeopWcM&wubB>3t-G0DxmTmScG{ z1?m4{q#RzbW~7IcDrQZwDkyOc0mlL8tb#R+G=#KT6|=l?DPQGUFTCr!ld}reYPgN* z4^=RL*l)^tWd;M*;Uhk;V6El*xaZ$AE10(Lg=(J4{}TYK)%9;%UA=-Krh(Fel$iy7 z!1zWMsBA^e$$z*THD(-_f-}Jh4K$-7vCLFCxySgnN0uTWV^O`-qM+T3g439{-ef$> z#)HT0^ZR^)Wu}4tFO0wVWJP#D#!C?hyUiNvc2-GR?m1bOkbj!gOCCGl|_|#2V7Q z#3^P(JAcd@NiuJMOaM6NLSP2nW~k=^g?Ywms%$N9|6oc2P#>@N^>HC6F$@jEFhej( z@A;_UOyF&u`eiW%c2`i&EN~cFfjb3o#{+UsSCIxr_Rw}Efx=9%tNU&s3ARItX)}2F zPB%#*D6?S>9YY8F(Ste5f+@;(b}EpVHba31EPkDJ7vCI6;3K`6mi+yo)APO&C`PEY2n2>CFmwoP>5a_BC@(VHDF~oL(!iXVFuj=7 z(?2PY3dO}-03TI>f|BLMsa*fssklH&U7Xhv-e~y?e^%$G05@Ag00000NkvXXu0mjf DMKEVA diff --git a/graphics/pokemon/kabutops/overworld_normal.pal b/graphics/pokemon/kabutops/overworld_normal.pal index 04f6316663..2c4ae3b74c 100644 --- a/graphics/pokemon/kabutops/overworld_normal.pal +++ b/graphics/pokemon/kabutops/overworld_normal.pal @@ -9,7 +9,7 @@ JASC-PAL 136 96 40 104 72 48 64 64 64 -152 208 160 +161 156 156 192 192 200 232 232 248 104 104 120 diff --git a/graphics/pokemon/kingler/overworld.png b/graphics/pokemon/kingler/overworld.png index 4538f564cf6c82b54f6fb79dff60f39b480a6c4d..135f79b3265f3a35e81c0896d3f955b571b4adb3 100644 GIT binary patch delta 904 zcmV;319$wz29gJm7=H)@0001UMu)cm0004VQb$4nuFf3k0000mP)t-sn9!gA007u% zFsMK{Kqx4%m}ua@nCR&Epny=lz2*P_00000000000000000000I-ecGpe+Nb?vjimiF zL)cz|(IV|G@Q)dM82Aya3tM;|_;Q@@puHN{!JaeI!h9DO8hll|htyAiuMJ4U%@jli z9{@}0hukj>yjesUe4EnghY+QQ9-vBYK zga+_j*HpMSuz!HO^|}GV0M&!L>^iZ_`W)#IU|b7LD~+Z)3LwV@RHstRPVWJA0IyH0 zxasAerr!Z_Tw{9Bb#w=mAOv-??8?HU0V_W$pgwWk6B286!C4=d)B%Wi2TEt$>6+63 zHH=bVpwl~p6_Aupy-5Q2!lI(H&ugzYgCn3WqnJ-4Xn&@EDTPgddc=K-zQ?8X#lakm^l9 zoALL0XYc^boO$0p(YVMvUHS$(S%IH(oCx*&`?4G>D0WOQU|(--MU^s7PH7*Y~g zK)^4ZMb9&xvSjQ5CAv=`rUyN$u^}e)F8PA1)O5H$xVJB11C0ED>nYU9HbHJ{T&mIE z6@U7SQ4ek-ok@q2RKZcGdUE+}5U8CHz4q2lK7QnGBa)2)za;dsB%SA?Z@S*kx)}^# z2&hc(?ESlZe>RBMohI&-g=}(cnyDO~)u44e>H0nw)_BTr8~0nChA*p48j9i1SK)8{ e`Q|@szW@^Y6i2-A!q5N!002ovPDHLkU;%=b|DG-Y delta 826 zcmV-A1I7H32gL@E7=Hu<0002CwraKj0016POjJdf(4YVS0HCmNaDX^SP$0m#c+kkG z=;-*Upis!j(6GZeTL1t8;z>k7RCt{2ltF9TFc^j<@DH#osq;08_X8Z6j@_bI4!ydy za}P<%u49Lu3oZ1%Q~&Kg$+9Hdfx%#dL3IdzBI$WQf0m8V$A9=3|85ZScV$?J^v?rl zix)B&nGogg*0>q6n3yjH*=i9Wr~ie(xiAx}dBR+HEr5{SI^GuoXF{lUvHMEE^8N{( z1o*(YkP5MQJXWZpBIuM6V#X-b3A;d8tK+qBLyL!CgeGM+KYcA213`Jyr< zR@4U&q>WJH4Q#=(Ak49El@;#7F~>zcVMJGAr6u1^*#;UR$y7;M0o{VzkR_o5+rS`P zvkv;n zv|ewj3Ibpctz_Ud5@ux()Px-(PN)$UC@__9c!qf^+z7F*5Zyt5u4L($jW0-YZ-jLa z-b<;D5lbWd9Jss?F|rX#c#(wMVhO_Lp(2iLpc#!6PwFVEQD9i!)Shb)J_*?cZl&ku zp=5(lX@3d_gSU6uu?;k1FTZ~JaYMb(a@j=z?U(OA<@qY}Hm?U^_0~YoasJ}Cw1HN5 zI=#ate{3vQ%Cq9MdcVCrUuB#>%Z(APC3!VngG28)=jpHk_XmA0)xqJwd)1CY&dz&% z>HYMD(TFk8gHZF~Bd10tV*uj)q2K3CiXv|E{eNgUKX?75_j$N`K1YndHG{BwIT}tb zBflQ~7T))qa2;{SeLikU+w`rE*T8*XPF_w%czZXz8LHDG`#(Y;hX))cn*T(jXTa&=Y{4lz&9@q4A(9YgwW?OW3G9qt!Xv1ln`hc zZ!=AR>eGRfE$=46#TfpJ<#9-~$RHWZfM3T~xBhqI7agjs8250bbN~PV07*qoM6N<$ Eg57|L?*IS* diff --git a/graphics/pokemon/kingler/overworld_normal.pal b/graphics/pokemon/kingler/overworld_normal.pal index f79648f08b..a441b18609 100644 --- a/graphics/pokemon/kingler/overworld_normal.pal +++ b/graphics/pokemon/kingler/overworld_normal.pal @@ -10,7 +10,7 @@ JASC-PAL 224 192 152 232 232 248 160 128 80 -152 208 160 +189 189 230 0 0 0 0 0 0 0 0 0 diff --git a/graphics/pokemon/kricketot/overworld.png b/graphics/pokemon/kricketot/overworld.png index d9b6033cb939a3473c90d3aae027cc3788a683e8..3fe4a5e053ee164b1b1971581e5714a602ef1b1e 100644 GIT binary patch delta 484 zcmViig@AK4)M1LX^aRG75#ea+RnXvqlNGAFAF4x(hlBOOd4e_40xa$x_L@c2|Cl3j zYt-F!gBIuhl5R=bpeJDP_-9Z*!7;~v-dcy{IbI8tQ4J!i8QMG+-&EoZcgVH8rF4J% znY@-L%D%J3IxTMTg3BPv6nB!Fy(4yBlr|6b55`}XIqn~t;|{TPSMWMExfH(QW8_eD z0|w_2KPsH{51GMv$B4YAl;XQr5rY>-P>j(Hn4Avzoj{)B?9uwEETw}@?jR-J@39-e z07O#k+R&0xy z$ji8+e0-O@{$6ZymhHKq*Y@v_{eh*)9-5MW)#v0M)Ls1Fee%heC$X{IKlA2SKipd` z$*15m!yxg{n>ijn8Hc)Dmv!(c7%?pU)6j7Fs?XXe!AM1=-Mo$vl_ zi|1n5)ZGCWSbu(4IOmqd`^xj*-6!WiuHZ5M(pKbkSl9GYr{~gziESOLUbodd97y>l z^M3Y@rK=wv&E2**k!@wl?Pc|g8*YCt+LoNXVyXV$ly&~5XC8bjwq{EEG$Zxb>1Bx* z6l(2ytGcUsOD|_Wnd_N?&6y@Ii#;FzxUF$dePrCju)V#!cT|E;=!)K% zklf4mTkM91Pe|j^Sv5~Ib~N%tW&dX^jCw7aZqE4ob-_8A`+IVCpHH4t{V!uqy$+}K zv)8%%>gV10HLvK~p@265>h*Ge?*Cz0$+Sw|-Q?0vV0@{TxJHzuB$lLFB^RXvDF!10 zBO_e{LtR6o5F;ZiV^b?rGi?J4D+7b4p?nf38glbfGSez?YnZ~ZZ3$2V1Ba)ppUXO@ GgeCwdNC}|; diff --git a/graphics/pokemon/larvitar/overworld.png b/graphics/pokemon/larvitar/overworld.png index 04d3285142f43a61aa725f8a10dc1c8abfdd1e6f..4e3c8c8255445b7215528eef58b3a3c3e2465c62 100644 GIT binary patch delta 446 zcmey%vVdiR1SbbG0|P^`Tl@BjhSH+?3=FU085pdlGcbr3)QIk41j-pqOjH#H(#U}A z;-0yWMxlfX5}SGrUJgG#q4-RP!HeuU zhBpJ_6^mIp#oJ{XzvM9*x>xPV==dwDKBpq&#J3(}y)9h@2VDI=&5M00b^Uve=52|M za}}ScFt1x%b*kg7^_)TxHDR^tBa-pc?saV2)f@fE@_63N>ep}HMC2Vfck{^$ZWp_| zY-M@JyjzzDtG%C8E}_(S^vk`u(#!5EJ@wmiWbzZfM^kryT+E#C?cci+(;t6UJPt0{ k79b%XT7RTIea5e?aT^V|KSi3pN(9A#r>mdKI;Vst0BFd_R{#J2 delta 540 zcmZ3$@|R_Tgd__y0|UdhZCTrZ6id3JuOkD)#(wTUiL4V9r9}-G7+xhXFj&oCU=S~u zvn$XBs7P^QpsET_H?tOy&6wov?!wT)D(eB{u$OrHy0SlG~DJ5Ba+?2#9bE288R;u9<-=LH>T&OMtD zmXyR({5$Q1Pd!s|_L_~yr0Ugw1g)+#))m_|rRDpJj^uHl#kaSuNL#b{&IP%;7@NhxODbz?va;Nzr-rqe-QIJ@M%n7p zop<-FUe}vT%&jb)d^6#|i}O~=;x^XL??&c36<;lXDEocxf43MZ$t!aw*3HfB5w^ZB z&SPWSb3b6i4y{AGL<((9roY*L#Jc2da<7&6#udQeRV{IiC`m~yNwrEYN(E93Mg~Sk zx(0^2hDISqMpnkARz@b;1{PKZ1{M5b8W0WUP#wAXDVb@NxOH#_t(yYW!QkoY=d#Wz Gp$P!1&ek;m diff --git a/graphics/pokemon/leafeon/overworld.png b/graphics/pokemon/leafeon/overworld.png index bed79105c4abb33202283e7e98bc1af399c9cd1b..2a4f0fb9840466b164d9e3bfb096216f979005d2 100644 GIT binary patch delta 731 zcmV<10wn#V2dM^-7#auz0001UMu)cm0004VQb$4nuFf3k0000mkzp$h0000000000 z0B8)KnUSy`e~U>(K~z|U?U#*iBOwfgcYrm9-uplAjoIXs>)Mb+{gq->ZKH2l#%2s; z+g|aCSG?l)1c2|Bu!y-rr2MlJz+53x`r-Q1yuy~iJcE_PKG}h+|J)+02Ubh;=}U;R z@c7~ZT5x}sf6U?mMdTTNZGI}0+t2s%ZISw#j~Aj=f7u10fC=As$WdZ)v5yb&O(aU~ zK0e-v3fYrXY_5PAw+c~O)tr?{?kBIWI3=1wAndXQAEkj}7lp}m1S~is*QVOC{rf0C z1X5nuWDCv-OdFM{QlBSa%K84(v{`6N>D(xTi-a6`xAKaGD{#R#>AMv;73J^l2v~3$ zTiX!We-z#ngJ%giiKtnW;f`K#6PQ|Iowb#g+yv%)1I?X}1k_t*az#$e(cxTN4uo=T zoz?L;PF0Z3#Vr)5&C|E!*5il18njte%V6vRCuWJ)Mu+xm0=TuxiE|rymno{4g^N|t zonpbqCOh=S2~?Gwy#(aaJ-E?-tMJ6(SP9xMe~c!=+ry-0|9cOlvNKr0@N1DB9q94B zd$7qD217C(FSGH|#o7zvACwnjPlYpFB~?6*K4SboJjqe+6Y+|#i@&TH8D>mg+SLF6 N002ovPDHLkV1nR5ULgPg delta 855 zcmZ3H>geMC#0|UdhZCTrZ6id3JuOkD)#(wTUiL5}rLb6AYF9SoB8UsT^3j@P1 zpisjL28L1t28LG&3=CE?7#PG0=Ijcz0ZOP(G}2aat4ZAnWHTmtySp%Su*!M>IqW5# zzOL-g7PxUmx%3;uzv_{Owiy{96tp3?Hhy({D>i-*|H(?6R)F#C0al zw*1tQRjUx^jM=^?%NA2AQw#KY3U`n!_m;#gesmzD|MC7MJ%QB}=61ul_oj z%E9_zlKz67rDFL<rl#pV&C-R`r z*+abQmb+qWcW&Q5DMg^TZDRS2`61<3)2jZoWTY&O?bqJ0=cU|XF3EsNol_M`m$ii&+S*bLoVF;dsemX#_g+r?#DZM)`yhe7dM%o zz_L2d-d)J~=jPa+?#73|wjH~*EI-=l`0EzGmlKy;Y~r5Dm~Zad)ZLi3dd|#wvv%BC zla=$(Mt_N!p`WsP4TUztO;4Or{Ad$>ao&# z-M6ZxrsmvnXT5bf$|*+rYK@zo3Qe$eaw@!f?7QQ;$TRQ%&%dtEv*+5eg=SrIfk{xc z#5JNMC9x#cD!C{XNJTRk85kMq8W`#t8ig1cSs9yI85(FCSXdbty!_F38%0NMeoAIq XC2kEfmYSslH86O(`njxgN@xNAUS@eQ diff --git a/graphics/pokemon/lileep/overworld.png b/graphics/pokemon/lileep/overworld.png index 59494df354efae9e88ede9da480cd530de9fe428..9bfe530fb03863d39bd7c58bfbe6148dd79f2f0c 100644 GIT binary patch delta 638 zcmV-^0)hSL2Ga$Q7#auz0001UMu)cm0004VQb$4nuFf3k0000mkzp|h0000*5UK8w zwjX~rNklyG0v2!#XK;7gPDf80Gz`eRgIXm>Q)9Vtj@S{(;Iz;@hiyY05y zZoBQa+uk#xueZN2=I;SKpP#yM09m9dBrj;b0NQNpKy@X5JUBv?zv_nyK5BuawlCb3PlK>};Q)?H+#kHw{rE}$o3ZV<3`2YX_07*qoM6N<$g00*csQ>@~ delta 788 zcmcc2`hsnOgeMC#0|UdhZCTrZ6id3JuOkD)#(wTUiL5}rLb6AYF9SoB8UsT^3j@P1 zpisjL28L1t28LG&3=CE?7#PG0=Ijcz0ZQmjG%{4_oxb-jkjVi;Y@p0C&u9soW{8JJ2-D7-vq@(TTv*8L!4sF^Xi(-bbC&{}*fzdD{1S?f zc6aM@bb2W~&5ghRv-p$seMX(^$kV^Vy_p?eH5Ib{XHz&N!x-Wt8rH*_aJBxw;|a%< zq>KQ|6%p4HFHdM%I(utZ(x&V#g-xL=0yS4Se!g|%=;nN(gSTzBT)Oi>?15v`YQGn& zSj3x8yqWsmJ^9LVp$~rXi}U((1^AV2Uz{u3U$I3ZB&YoM%hPwO=P5Fu{knQe=1rN5 zol~V7<4aQ&3g^kY<*V~eYq+)a>VtO+Ce`aJG%SexS5TEbd6m%w8MnYGNt_Y4BIdGf zynVh}t;t~?&+>zQc8(0$=K@9EE}Iv{Gwnq|m5lH=b0LSd)lU^HR+L{&3fMU3yyv8r zb&8DVdF|!0XS|i_{6`#06-c(uFO}OKTtcv7|CWCG2y%T^Urg?&$X{VeP679d;boer`MKWyMNYj z`odzNx`XL66puK#rO){P{1;#M|65BdOlEEbrXST3*NBpo#FA92nO)>Z!zy>v?222UN9DlC^AWLZVATA@NygU5qG5(o@0)Wseq)|qIc-Q*`4G@ZXjesoD z>f$AU<)1f?yFGGem^m=EVMtLe;awlV61;S$!lI+vqe;VzfCzr+UMts02Hr5az3w|$ z0vt_eCxItj*Oe}i0;untMM{_MbwZ3B&h9m2cac!26~>3^P_?+E3b^v0)4A2QG;$4A;xL&97*! zJ`&1D0eKgmTosC*CVHJ=JtD-NV+(oe^K12F^k}yOZ^+a n2UiLH9eWD!>j1C4_A~nelTi|91g_e=00000NkvXXu0mjfyY*do delta 868 zcmdnRwvv5 z^mS!_#>mU2!oK3r>ZcR4|}+YV>e_>v~4D)?G0|- zbx-kzvy{vAdqsCWf)wkU>+b$a{PgC+v~25=N1h&kJU;!my}dEX9Ftcj|0b7qYWnIAP&i^(~E)>xcyNHl=9FK@9Zq#sjcd<*8lP(9JwNey&xCak4PHGhzH4Ei zYgm^M>#VL=en{h*!u0t{7oHz@xX<-mfB!v}m(KnMpJuL4vv_h)=|c-6r|*J!+kZxs zH~z_}e6M!YWKBr?0ukM&8x9LZ+O=M`OwdrRUm!fo!FEO_m&nqmXVx0#AG>)gnq{46 zh>1g8%ZjtA0SDMNI19~k;1md4a3k{G#D?}~dEfb@jasx2 z2`6*E|EWJ`R4OB`=^!kg$2zg}u4&G#_E!h)owG4J)K{o2%lIuX{*+Xui|l8m+|O#u z+LBJsEtufQIQ2m}#EP%$aG`$Goug5VyLE+QXE522x9@%+W&F=>=b=AwU;LEn?u$PvJl~w1(|7HO)c-H-H^l#Wt_=SX_CLm+ zf&bxrzW2OC7#SED=^7a78XAQd8Ce;dSs9pX8(3Hw m7(Dp8;WR`CR6}llN@iLmZVeMxaFhczFnGH9xvX z00000005I-DYgIr01#tgPIdqQ03ZMW03ZMW00000003gS?)m@#0*^^VK~z|U?U>t= zBOwTe+eB={%=^FYg4&%;nnMn=m8z|9k)-OguUblf=X@^ZWxg4#zQBmTVJRo{6b8JXEWlb|QI9#| zzhIo<=pC`kp%N^>5w6JJRPPl={C83hu^_(2fv63A1)&ig0tooXEysJr$08`jTjKCG z1+sO4?Mc2sSpjP`-A7yuIZ7`Am$y3giNbo&7jj%n0k8!|oKp;oLH)nJBQ8OTMBtI*X)gMR1!kI6+9#LvFc*DD zm!Xiq4;dVD(bsB|O3&7tx%0yX;!mM`X*JjWRLUu1PLK0mV|2-)kQb6#gD#%|RDi}3 z)eLhv63D&{dXwTrFL;yT5$_2~8L03=QoCTlyO%n;JQ@M)T!GxDNsbqPMwuO+%ZQ76 zeyHh(__fwwyNJ(L!M9`7$n>oTAp0}oOB#!w=X}G6oTdC>Wq{AO0HF8*fHjOj*H>j1 zb;XtIM~E5Z@YF%22T&)^mVo)x6urime*L{68Uc#F`P`{lwsRwZnxM7DjoR3sf$(Gv zR6`#Zh}DIlzXWCgjU7l*i$QB*MC{to8Yo9xEh&RecVAPxF4GopbOw58nKY^4fLoQW xaICQK=D$g760o00$+Q@{s2@eBz925hJyeA002ovPDHLkV1mb;VnP4_ delta 825 zcmX@Zwvc^-gd__y0|UdhZCTrZ6id3JuOkD)#(wTUiL4V9r9}-G7+xhXFj&oCU=S~u zvn$XBs7PyKpq>hEH%}vw&6wov?!wT)D(eB{u$OrHy0SlGy-O_Kjvmu~UQQh%Jajjp-huAlZMZK4P^W>So@xJl4jg0?}+Y3$Qy=OIV=h1s+UcdA2 zDCNtZ?_ZTSF;rmvjn+WRit4ZwQT4cu=JkJCrms0+5xu`(ezv*$$=>ceQj>NlpSZF4 zhxxSgovDrf`I^6v9PUgvv}`}~VNYoA0q&Z9PD!;nkv>)?onJ0mCU+Ez-Heqx(qmYd zyZLhd_Ad`Bo8ND-wu@gMb8mv3%AA`r^EZ5(IZZ$RQ}3@@KYw;H=7}@TKi_wD)tp(r zCrxMj)CaB6eAk{}7SQQz$9Bp1_Q9HGCk-h%-^Pb&aM-MJMYbag* zno;de<@;GZ*;acKbF8Ay8sux}2VMNKh3V8o{hGI?V)98Z>l;3w%dio-Z1vjIjpt{FTbsH(4QdapCvriB0a8vm#C%{Zo{-T}$8z7fTeQl9=b3SUvt{QSIkV7U=3e zWV+j9#Hkvc&uOuP!KYqdLhZ->$C0mD_2P6c&)W9n?Bmp3vo#MaU0=&@H?^v#9C?55I!uE6B!`h7joifHos2B$Dj)AyMd13d`xTCu4~2@pkb~q$Tb8|5OsNza zTGCZ6`Xs=TBdS85BLxI;=+hdN&xdQ!W)?UCoOoop$|XmaJwkwsn!`Sq8E@QE)qS7S z6}=1GF~DhLi8xotWgHJVNPj(4tB@lFgc4m3f5?BoXy3fGPNCrl4TYx+kGKddcY#H9 zz~!`}AomHg*Snmu8_Uw9$gqdBrk>YDocHgg9hp|TqA%baWNs5?4LETvhj3{lzp$?; zO&g!#d`J5RAa`u*S``U6zhmV-M^B^G`JAdFUoz;u^T?#!LZ6euEsKwNGpdl!S)p`l zG|PYR!BsqsX}cl|)F+03Q*KLwy|dV)z31`bHMM=ms7y=5n^OanlT7TcHHbbWW&`Km7vf#YE~z`ofIioni=7AVa6 zBCH$)J_W51$Q?KO@U8&SsgpdUQMJ;8#|vhTFZiHlaOo3-WTj zUvj|Ybj5cjwNl-Jm*Co0;~P=%jeGxI?g|V)?>Knh+Btyg#o*F^3j%@f`MjNF_+S64 c@n_H5Kl#Hbri4s$6951J07*qoM6N<$f~q`xApigX delta 885 zcmeBVzt28FLXw4F zV~EG`v(pT-r42=nPkp%RYs@FkOVjciTXbS?I~DAXS$N*-jR4ofd6&{GIVQcbD*j;3 zp;&BaQo-*;~b3JSQKfRokq)}V(;r)`||CjDhIqCFgbCl=p%9mAhwte1o z_2!+7r%%;4e6z}ZoT`0rZSR)W*bDdXu9gU?*N^wTeM7A7|AhDR8(tiV6caL)E;+%k z@pEDCQZ>hwi+xxpbee_DNGbHY@a#*ck*b-S{^kj(c~kp7uY2pb-uz6G&Xb2L&F4=z z8TfPcv(M{T8S)Z37Cw8j+5W+V)hE`Rd~|0%XWhx9J;fEXm@iECGoHNEiMNJB?zCWl zia~*(So`DpJ7-zm_f4PBYN2@0)=YE$QlpL;&0PgXc2}oA;M%y!@^@jIPwKK2`7<34 zysKO-`(H+Y_iV7Vt(b0R z$XTX+FfaGP<_WjM7;mRCem}oU*tzqdaz=`xTmGsW_s$&`*;L>)|H{NWANN>F*0C0t z>z(g*Tju+j+2H>ES^EVy1q82MHnU@62^+iWx0sgJJN0ZE&V?B!Oq9s>d8_VoG{^1G zBE7)ll{@VE$$!CJ9+L_RV2@Cce+w|e* zvbd$T-)j%~n=9Bc>aAcqz{_^ZSmflyz*Q;pzHzyonILxehoHsb^(w|1ZrAth)p6^R zp24i#P(G2}&M9p#H#@ie=c0=Z#YyW|GbcpZ7rMWDzE)l1XTuAp@4Tm5%kFQe-xaUY z-4geG!$Wx|jUNqV_dIv)|Nr{S{A>9~-F%;0-JDPhOt-2ft`Q|Ei6yC4$wjF^iowXh z$Vk_~P}k5X#K_3X*wo6@OxwW1%D~`hD4zt1hTQy=%(P0}8U&_rY+C}vrQH41}!;#c7=O{U5hzgbfmM(mmbVkFa~%#Gil}2{2ujS9`Tr zd$s?n(Ld%tYqZcCwK_Fq32k$nahDHQl9fJ=GE^YKdw z4w&~oxw+0`Ko@waqhE9at`qDI6c=L0M}vQ=UuNC~c7wzC5*_g6tv0p^Wp>bc49Em> zSydId&b1akH3%&dc^8-&Wb`4YkF-^VRZsm89dteg90Hjz0TA;lhXGkpvVli~6CVT~ z2L1TnK-Gr~lN!+ShMhFpMc;uTtVE@PvPpG>JNPn`s>Xcy{oxOR?$8%>;7XAfD^uE%Bhm zvAvN-+-T!6Rqz>CY0zaqg90sq*giU=2w68<|lt+Jsb?ADa z3lxR|9lYWAn$R^@_bHAKEfBtV0}nZlSzAP63xp-SX%ZeBXwi6GHDZ$AdG3$&oVF^o zB4XE5$29TD0AyOLSoQYzfbLAslk1Khvqj?m8abu@s9lAuy0$vTgPi)KgFAzQtInYi z@0!&aSSj$);4n>LqEiFLWyXK|i&TsBfnAPt4F)V}ju&S@1v0iODs5s1E)!oT0}Bw- zc?l{{{Xrn>h2`V3{?ls=YxLN23EUaPs@A8*arK${dp;W68-MDJ|GWfT`$|fiz^X#W zZ&#PtJMhGy-jNuup}fE2lnpmsFq`YAxG`C9Ta7!KZY5ej+dr{!RT) q`u%dmw*>yN{tuG>?TAhtIT0000 z0Dy!50Qvv`0D$NK0Cg|`0P0`>06Lfe02gqax=}m;001qKGBG4L=LH=A0004EOGiWi zhy@);00007bV*G`2j&3{1|l!ZEu@)|Y9D_%Nkld(mfZtfaM$5g>T?CKrRpju9U{LO7*@$?vNpeT<-H9C_&N~ zFd+!<$Kih8%y9NSrM|6i>wjC#f8jgCS^30g=_{Avq?&;kY~Y%Ds#R^r9Co zhKIsIm<{v!Z1D8#;-WQv_N9QxYV3a~O+pkjo*!7)GwuKtPKL^2Q@9vr?q->#;pXOM zr&`RIS?{wy&@vz#yU9t@Oyy*#aWa8rj^BcsUUQg}k*#<;Qtd|Ajr^IrJiZB0X792`J!q#_XZn@^) zf5Tt@C@uYjE#b_6Azz|JVS*fghi{PvTMQ!43#`l;P51BU?tRVhl#P!yAc4%a8X)tM z1@C|PjsjML$T-o)fZ+b_JwJbyFL7lt7-@-u3rSCP<=ler@BXBhXnnqd$k$<_+`-t9 zaR#un3)x`FEQUO`+@mlPUz@x*E0+?Wy}S)m(ND|MF>FoSd%gA-&I=cr1*XjX___NgKl! zbtCg#1?8sxX?z>|(#B^5|5Y5C$2Pv&^*2@J5oTc7jK zn(5S;&xl2(0f@Xg zwoN&26r5d3|5ADJHFEpS1_uU|M+U0^tw=!UZVya00~<{1L$dx~VSlc&?+SxG(s^i5 z4D51~*P|M&d=-Ew2DWCv5qRQ(K$|=`10@vK1<)=pFK0a(hQ(2Gpe~=E0OusV z%lacfzszI;jd+K&{Io01jOBG+61A*%-?oiU zV@;q&ysl8aItf_$Xrco7EmA*~^}qb?T+Ue5mqRls-1(p?R7y%T3tag0#adU0=dCNG zSCfF1pHhf#;I|uZFUdN2=gl#RlRV delta 933 zcmbQu-o`OOLXw4L`4e-T z+RD5auxy$7h5ya&$tB-KvMx_r>U>V&$AahQzrXxa(qp^+`Pcb6{M(F^AJ}&`S6CbC z_su)aNR znxM-0<(&HTub-MYcBE-PNL}*ksg~HbI{u%V*QURD;>F6z>9DLZYJrGoLz?=7lS_ld zIalsq^0lXSe|Tf{qiLB6{UOEs7crd;JK(ygq@kd(i*3<{K*xvtGg%frSd%Fhl5ivM z;o+K|{I8Hbg=*F`2*+$WhN{y%UPUP;r5VJ$`(GZwrQhZ7Gbfay%c!V8?g&Wz9dw`js)C9aDC0xXsWVD#mr) zc+NT_i!;^>=S9i0HBIYfh}5*4uWK##G4H(NCC$p>BG#`9c@1P-a`y=KEPkmcx+RB2 ziSKIEuZ1D6!y>HS^)7y<>sOZ&pMCmntVmsElgaJ;U4351mn}JBzN$4yO04C#ujJeL zylVSXFS1TcynM%RL1um37pBuu3SJWy-1m%-zURrUnf>hH(u%v^|7<;WQv4ey&-e1c zA6frf*Xz$cuu1c#=V~VYbejd*haZHua<*t~XTNoJd&I6C(|&&zwXTv+cCUEJGVOC& z*N=#lx`GhjT^paoF8Dp^XP}XAr?tJQ{x8|XeGE+Y3=-wCis}`1ish=-^*^ou$lm^6 z-ncID-)mtjN!}x$k0^5eY5ue0e^ABL>2(vrw>eMTZof@YfM2{(GAH?gJd4!@PPw(m zzs4S8U~8;b{&C%uqbBb5wR}0|k1zfBKU@W-bJY^ph?11Vl2ohYqEsNoU}Ruqq-$WP zYiJZ=WMpM*Vr6QeZD3(#V36tH9w39FBR4-KGp!Q04hg9j3xFCJJYD@<);T3K0RYa? Bl79dI diff --git a/graphics/pokemon/mamoswine/overworld.png b/graphics/pokemon/mamoswine/overworld.png index 201c3a7a845da835152716a9b39e11ff8cc14eed..2a4c4f7b8453e9b1ff8601653e51a04425024df2 100644 GIT binary patch delta 817 zcmV-11J3-e2&V^-7zqdi0001UMu)eNF&hyt008P=0026d000+od=OfsoFC=isQ*S^ zb#w##Ebk28J?_p69Pu03E}_a8a&8iASHL-U zz8Rn`;GBz~4G3lOi|q48WXqWj)S~EDW@rWluKLtl_iZM<&hRHVtoN+uOawo`U zd*~W)!;eL}blhfKrMZT zwqfnx>pmbbUoTYqy}0FOeh9m|m#vQBXP)>(mMzYsoi6Y!C~J=OA>yQ1y*J?^5q+ba z(;rliFN#J|R1$vsoH-X!E->y9&Xb<}d_J`c^3q6`xC%0026e z000+ooVrmwkxf4x0b)x>L;#2d9Y_EG00(qQO+^Rh0SyKu3f6PiSdobzf8R+&K~zY` z?bbbS(?A#p@HjTUx%x;J%)& zWL=Ed`i7*-oCDT z9;xSAC2?SUJhoO2{J?fo3(6WulhSh zSu_iDPTCv(WqbX2e=E-rTXCRS$+7x%kp)JD9JBl4?JMuycye;+yb1S}GV@;OLYzl5 zethOe;CtULkNQ!eoMSd&b#rnx9{V3$D(5TJr`8FYHKDpOEl-QOlwM9D1(lPrrZhf2XUi_g-*tqY;Z1Rm+;) z$+5$2JoFq)8nnUITmW+uO8EKE?mFt)^5f-4wC31t!9k#9QbS>h{6`8_Evg!dscA+u z-@&SBQlg=`DKq5@S{!v1)BO3vq$T@I77d_EsX}Rm(&*WuP$Mcu^Ii6yRrqmkGblt? z+;Ml=36!GMf9-b4UTC(BOq2Zyz$pG308v0z4Fh4xLA+m-$4n_ZBQ5~s;R<4--`kbB z`@O(;i5nDf@&`N~5aa0SiGbAamum3^LR5QZV5zd%H&PR%3GxXj zf7*XHegQairl7BuURwYF03~!qSaf7zbY(hYa%Ew3Tx9?G+P@0000bbVXQnWMOn=I&E)cX=ZrJTHXJ|VXoW*>h7nJ05iD72_{J^ix2`7v(aQLLUW7AF(hQmH#W>&~=Ysrm z2UDN&%*|*5mgl|iq+rT1L&BW zYNvzZI>RP^=Qg*+6e)m`>j1!QTbxzut75`&+nM~5CLN_?503u8)j5FO_0x_5x9lCM z_CRiN&u|sMgy+z}g1pldSampZtKt)hVM~wI)evj0DuGmZ%X>UXkLnmRH$4tEM)vKT zb&fy8SR_#Xa^Ui%2#_4G#6ZUK_*2pzvMPJF4 zKx7AYHy*Dtta+tRYUNhw+jkY@ec0rP0e_GZ#I3%oNRHx_Kyt7vjIFzF#-9<;Dz^i4 zDS{ry2R=w3wVjJ>!fA~~V(j0fxt0OyT*T|AJn{anh#7aS=HOe z<*#9*wqgDOSGfanCSO?hT+(hpR{LM1`_lKt^*4^* zNme=}et24FU}Y_H=ZrZCa*R{vbsz5WWHoqe>~K*(@X=%bp1Eh76;kIlFPggE^wYcxb!NK%htjQV8D7SVpPjfr?@JGh*@{=Y7T5=Ge7erJW=Yq=qQVP*b{>3he%6uw z$)ydZbMDpubG!6OUyB~+6ER@1_lqlZa9siAvZrIGp!Q0hKVaU R%7GdfJYD@<);T3K0RU{-LMH$K diff --git a/graphics/pokemon/marowak/overworld.png b/graphics/pokemon/marowak/overworld.png index d37ef573093733f62e47e4c90449eb8414163773..92f619e0ad099e432e06d8211304fabe1961f74e 100644 GIT binary patch delta 668 zcmV;N0%QH_2IvKl7#auz0001UMu)cm0004VQb$4nuFf3k0000mkzpth0000000000 z0000076v_-k*yzpN=ZaPR9J=WmjQ3%APj|zF*Qm4|NlMPK$2Y^(Dt;uo0O+%mG(LC zY>d-A9=C4Yx^?T;|D_QAjQ?u|8XN5J7^DBHAAgOeSVZ`~go~c}ySh zVlSyE^wS$~b(JW2fc^jj-^|TlDxyvT6V8;H;QHUqV`w;k1O@>!{)oJ9z$nET=eY9- z6Bu&l-JkF9F82&uNPtZ?<);e2&5z=12~}xuLi{p$`ke2j5D2e-C@Fg#M;VMW^@D-{_sIB zc2X>8%)h{Y<6-Y3-o_Ne88hX+LGTXm8yIqKFRI=K2bWHOyTfqKCA&lOmltq`%ZYQj0J3hyMCrTP<)!Ean(0^7EKW)0K|;RLqLY}yfm1k7MN;!77t zYhP(CfD+UxQ+lL0ycpD-&s;CUbx>)AH!Wgj?BBRk;J+DMO`wO_zQ5$1!)xl^*z2Rk zxEN&m!r`|8sX2D9>6SZJtQuVXgjWy|b$XsSY=Gq+9(-gsrC&)|IhA*1wm4&WpxsW9GcU zfI%DKxdh=J_mH9gS0ef`vuBNu&fjGG6%V(5j(!1)R~=AMt*HY50000l*!(QU) z>&pI&k(W)${Dz~=`H5Nb^%|Zojv*e$-(Ei0cgsM4Eg^j4l-GK(RmZ)r$Z1BtTX|jM zWTD`@;sv2y%5Qt!PF*l&|HRgzzT(K~QkgB=Cakad@#D-N^65?-JFjhB_x1g& zyJzSBy>7bWqxC$N!k+olqx6rixxC=@Pup}Km(J_nUlxCn`n*J@^jGQGRF%{%^&Wbr zoJ*!~t8d8fy6$bc@5VuapC!|O_%!Xj_u+-<+)Vo)KKoB>6Y4kIa91Gu{wv`<+w=Tu z-WONTVU_;vb0TL6^Wx6)!F%RdI=_`<7T?~ZdL)_WPnYv=1@$=N*oo)=e7;+C!tGh# zuWOC>m&Dwj`St8=2eXeeinblwzf{um{*Fx=^-n%kzWg5Y-1f)W!X-){rObPt1gkGd zUl?zb?)>@+=M4R$T|Z>&(hnc}drjrZ+U(EOd{YGyWVhY3lI>m-+3J@x@qO&`YCD;f zv+uUnU%th%fN}Lkc8ltCYq{5H;cBwWuUQqC`P$E9d!>9UHzGN1@7vuQ8kaloV_tqx zGv6qi=gRi_KUPm1HVDPeZflvYz;No2iA8nJy{{jBOb(xF{8@SZfe7}07IJ5MR?0MQ zt6gQ%Y{Q(&^z-J#zwG*^xMq9 zfPn5JY+WL+F3q&ur+N3!eer_ePv5?84t?K}b#?!<{cGc;7ye><9He~|n3hyaTq8?+%v5A$bskVWIm4ShEef@3}4Y~O#nQ4^}4Jz1l Ucqtuc2kKz(boFyt=akR{0GEbjApigX diff --git a/graphics/pokemon/marshtomp/overworld.png b/graphics/pokemon/marshtomp/overworld.png index a2d25bbab8b63ddac4c6b0586a484d0f1d0423af..951e60964cc5bd624d5aeb09a68660c9e8f753e5 100644 GIT binary patch delta 522 zcmcb~dWdC$gcJue0|P^`Tl;n(#aJBV?!>U}oXkrg$6#WjUOkWog8scL*@2Wma-v@u zkXC?VAjQCtwDa9Bpw1}yfrX<2$HOuXj*^}Q?C-FxbEFyqeO!#PQ2 zKe^_HxyZDwgMrwGv*#?ZzVl4}wcz<8spA{dHXhBF-f>p5ZKK%5N6gBM^%Lt4E7a{f z%$6<|kf?w3a?OKj2d&aYRXCKQ&V4YEk60vG5?tql|8+OSILy7wbCUau>bLLzt*j517O$vkRDSeggNS(L zWPgJh4#GTstv~$>?v`}&Pg!e!P3?F>bG@=s>zYNDONtz33m=rb7&>pV%AMIR3o9OE z6k2Ds%rV}knJ#TpQE6e6612PGarwJ`|7QkAK84+X)N|Zg_vE~?bn%-z(+!UKNN%>i z{o>$W^GJ>!y@$D?r%bO|@=Ve@z34=|2?M+I_ic`Iwko;Ggw6TL{=KXyYRblAd-$4< zbH($fE;@YboYcWfQI$&%SP0o{GM;yTkIg-$Nu|fF-V`2wQz+r`K44MxG)5FMi4PQYp00i_ I>zopr00!Xad;kCd delta 647 zcmX@aa+7s}geMC#0|UdhZCTrZ6id3JuOkD)#(wTUiL5}rLb6AYF9SoB8UsT^3j@P1 zpisjL28L1t28LG&3=CE?7#PG0=Ijcz0ZM31G}2SixHjbKc`- zCU-C0ebD&CwH7lqzP@ujPWv0=54dz1@(4XX^6p9bMsfE0Q)75HWL(<*_uc(_*6YH# zCWOaTKK)vrm2Mq8E4N{h;_j#j?e*I-mTk{-xHD~H>V>XpZ(hBNvMjt?Hf?KM{mN&a zW~c8-S#G$}lKFd2$i5eOd28SAs<<33^U3b{;$Ggm|18BvrNm43?L6G_LVPLj_VPz< zFMBTu7dGFz&%1kpQRidtI?ImZUjCC*UA>qEwV$!A;9>tbfuB9t`K?CRx+`k$zc)*m zdq^I*$-n-456@+d0;8DvDmnWXSJel@>I8dtZx-A5PrWi*xLH&vNNBTn(Kd>ab-fJ*ge4yI$gyI zJ+D}Evg$p>oPShB{ES=T_GI?+%v8k1jxwe6Ym4SihbDpgz8glbfGSez?Yp~e0g_D6BsKwLO K&t;ucLK6V;Gz!%K diff --git a/graphics/pokemon/meowth/overworld.png b/graphics/pokemon/meowth/overworld.png index 4961e2ce85f43748baa63eb65cf56908c6c25e03..cd3de0b77abb4966ce0ca0d11995c85e9eab3f1c 100644 GIT binary patch delta 695 zcmV;o0!aPk2JHoq7#auz0001UMu)cm0004VQb$4nuFf3k0000mkzp=>00000007Fo zk7xh@01#tgPIdqQ03ZMW03ZMW00000003gS?)m@#0#8XqK~z|U?UzAv!!QU%jgT5S zvG0G~evs29GJ=kqg%@TzZZnTcAA~TOrpqq7?6S)~XGC=Xr#G!u}-DHX=~ko(K3x3`@J|;W4J1snFN$ zhG#a?5OG;OIGTuyzMMTTk8>#*;WKiOOW8X`93HjKuDXEB9vNmX9&@gcRg{-fjQ}Ff zRA;BQB90P8g0VqCl~{fOXNcn5j3KsH7;*X{98j$^{+kO#m(QQ_Y zs}gX!L14YlzYEjjK_2hY$n(8QjA#<#x7#4(DC{g;1(sd6YJ77rxCor@%WDAK2hj1i z07c+3OP8QBFLnSfmm1AFEQw6xrVD>M7<`ucDvR9m#=604$GZUWd0B9@(&h59Sa%@c z;-bS6yi5vS)WPC^EKzB3=^a71IlY!h&ry-xWQod<5Lf)%_BPl&-*mS-B=B3{KI4KJBq!QsT&hDowYcnd)K z0*wVKqVd;Kc}?oTody9kk0B+kJ!jU{{=tJ$vN=qiz=oW8=2@DK1a|44#`MU`6L|J- dq?aAAZ?^0b5M8cB2aNy#002ovPDHLkV1jnVK8FAR delta 788 zcmaFM`jl;ggeMC#0|UdhZCTrZ6id3JuOkD)#(wTUiL5}rLb6AYF9SoB8UsT^3j@P1 zpisjL28L1t28LG&3=CE?7#PG0=Ijcz0ZM31G}2S?Da`x|WHTmtySp%Su*!M>IqW5# zzOL-g7>ti&yh@v!x?|z#pK%AeR4g>i zHU8O%?6OEd%=`Aj%V)E#*o8cHr|Q-=I^ACoywLl&&@a2tqVjL*ON}&lstP=OShs1( zepT=EhUcGR=J`B)DIp&}Daq_mGRv8CWg9OCt3%2nX|=Bv7VO#ms4j8~=9r6M1 z`aQfRh2Dt`v`=BXGvDy^ik4in+iaI-G_t-Hm2y}lwJ~$&q($1vZAabfcU(9SwdV8= z@wo?YtvP*gdPF>5*yZf}R%hmPOEcB}nQKLr!n#9`oUFFCyk3F#Z%6GjB zygydod=l@`kROl~#Bru0*HHS8)8pGdmcCtAKHCXAczXVs^S@{A`_mRG&YaWHrk7?zuwyCc9oq2cJje4gR_{&ti z(BJABm>TGu$ziG-_E-*H^%PKlF8nmxEQ8gx*%!z*>9%tC8xhT zEf+Gn?W%WAdh7FE-E~&A_m!o>zs@GlWeS@T$Ew=FmEu*;e&SBtV*fJ-r7y6mZLv+c zAb;Dr)qVe0`_(o7uWx_QIekBmarfH9nF4Qt=|{E1HKHUXu_VKYn_7#Ud^n^>8cXd75q85jgEDw&9)AvZrIGp!O+g9J>6!v8b6KphO8u6{1-oD!M< D49QFK diff --git a/graphics/pokemon/mesprit/overworld.png b/graphics/pokemon/mesprit/overworld.png index ea0c72eeced0ea47e9df2c6527a8b4670e86c312..5bb1711065ad851af9bd421b377264bb066712c5 100644 GIT binary patch delta 745 zcmVV`Tyho*E|fv5d2Zfo4NN!W2B#Pvi5@|^-|u=XAFs5g=d^XC@FXk`;>R{#omF! zGfpvD%6M>0XWSQFR*3DGoN?zz!vTM)dJQI1JGgI+xOm z+>yGQ#?Numl+Fm8^8vRMgJKF_Vszu z9hKdXpK(8oKA^GZq+6UIkkj)V0@42Ke#7S6?q67<5{Qq|;ew*MS{DeBm_>htnPS+T za)&ntv@xU!<0B;=si|-IY9I@Yf#j~|Om`tHwhAOU;4&Kk#wDjkp#6hym+i4jyy3es z_GpY9CSfvxq)i|2%Ag60@r68FbN&=R2j?yRR@2TO!>`K0+BFw__$(A#aI@u_sg2r26uclIEP77MoZIU zUK=!lB-5lXLTS>MRiM+AUBjK~DCMlFNCIb^aGDgMDbFXUS{hy%tb%j_n_Q~a@AJx_ z3ABqK;9}!n3A7>W@TEU3^)};6{d_{%V8d5~^&VrBYc=xEU_||`*3eE`SNY6fXX<8J$aTk7#G z_C}AYt!AEW)HQXlLe1ce?KGe4)x!@AzAqjd{CTe{ b{yV+_^kykLNAZSf00000NkvXXu0mjfshM!r delta 862 zcmaFBc8z_4gd__y0|UdhZCTrZ6id3JuOkD)#(wTUiL4V9r3DQb7+xhXFj&oCU=S~u zvn$YMqOZLyW0JSK3quF1tOrmFdx@v7EBiA>UN#jTdx4_diJkKG?Vc`tgTqDsxCV#(_{J(#BuE2p!)3&Zj{hJ&4ZLxLX zYyOpm?HhB0oE`ps_r6JH zrd)gV-KsZ7_T+(iJR<+L@??DY^Z46o{v2;*KAz&s*|l2ZG#&9OdfZfR@|7sGj3A)$9Do-Ha-eEU{@=dHaGCctm{8}HJHm^hMWD` z_HLy^)F=Lvfr=h)Yj<3Q zv2_Wxf8>B^Rkg%5q9i4;B-JXpC>2OC7#SED=^7a78XAQd8Ce;dSs5B>8(3Hw7}TZD g|Ae9;H$NpatrE8eek*l9paup{S3eh)bxsLQ0NW&b<^TWy diff --git a/graphics/pokemon/mew/overworld.png b/graphics/pokemon/mew/overworld.png index 067d6c83d67ba0b141628556654bfdf076e21e02..0a676ddf6cae192450f371b8c60342c96ded09b6 100644 GIT binary patch delta 620 zcmV-y0+aol2FnGI7zqdi0001UMu)eNF&h;x008P=0026d000+od=sN#FQ))gRgxse3 z)gbaS8{jtQYOp;>zZ9ieaSafS$+C)De^mXGaw#&qA4PB z{V?cuJkhTLagEGC$-$2}<-)_kk^5g&wF_&*6Dw*SU|;DJki-rXevY{v?I6nS&)d>PdG}@JI@WgTO7TpJ+Z;5%otO;$cORz>0f_ z^$F!~&60b8@{*H z7a6-}O;&MT(QVKY^=yh%+)`|LzLSIP-X*QTirbWc-e(WqinCfwD)<%-0+aV>%`c88 zYf5g#0kbJK=hnaTFD)n)x5J%%BY8Aeg?%cpzRi56bK}zl--&*)q8dV*#3Dbjyp4In z8f5aac$!v|1(hSefAqJ7BhXaj$<4Uy4LxvpLD^xLMnPw&n2nj3+Sxt1MyopiJM{=~VVpG%)t zI&Xh^n7^TZcK+eM=m@5{3?*hi(>deAqeDF3-sb-CL-xU|=Nlfc+FUFZ;BYzm*6i#9 zyYwqQaPF--#_>-3+>JA}v)9ZwjJvx__C2?p&Bu4!xQ}SQzVoJL{k*#C9Xq{WPcQh8 ze{1oM*F^^{F0H<@`DDj(@rg=|?A45C%U;LMTNph#v?p2Iy?S5$_a*Ni?#mTTS}n1A znsV~xX;!Ce?Jr245HbwzF^pAweD1I9`gYx8-y=zruey#t>=*385F^X}%2AbD`o&xeeqOl8h(~nfv}OgJhlkY74R%iHNEjBA7mAvx5%F6ZH8jJ$p=Y*39lGZ zSHLBY^SHy+T;Jz33E2c@w+&u!`YzF%;R~+jxeC0)2bM@^5b)mhu;R}BF^*|;3v|vk zr69pC@D*o@ZIXWzxA{H=Mg88qUn0?j%s#5)t^v z+fD$lEc}pQ6&R@vDv5P%VxKm=`$(qL2>&G0>-CyG=T)GlA|fT}pat2k1R(8#t25sx zXaaGmz`MYbJEhQ1!>JVRo)zCF__hOAM1sCN?K7Yohc|zL&}J`T&nue>7Iv;T-zHcE zGH+pp_%3v)@7rtP7M?Zso$&8}9iy9ArS8o>$# z1KHd!_Mvedwh68zipHuh9~0oJb9fb~^jT&Fx;ib|uG7Yo9ulNLE+WaYWUvao=qIcoHLDd#MQC3M1T+dxqYNSoWE09|;}ZGy&y{Rvx3l6wx!+}7h!zilwliTX_7 z-lXop96&>8Cg?9x|xb+5gA0=kqZ{!fbC90H{CpOBify)`-#Zd+J{5S3h zMBYnQ=alB+lATKxWd?69x?3qC4ESFP` z=7%mI#d+9c2E{DAFBE7Z^j+LXiDFz&{_Vg{jg9Vor>xlHT6eE6umY`}xOYFg47Qmk zkS){>BIo`pkyUi58g_XNd?K(OJ#GQ#W_gm}+sxD8MgM>eF&w_j? e;X4@qJB delta 963 zcmbQu-o-IN!jpxWfq`M$wybSHiY49A*O7r?V?XzwL{=bQA=x9ymw};5je((|g@NH0 zP^jSr14F3+1H-EX1_rAc3=HB0b9M#V03{SB8mX!<@+TeuvKf=S-CY=Fp5N7bjc>00--BVfC4J|s_RP6hFPVCn zckxbp^XfNeUe=sz``vPBsa!=)fyUCc4g0@Ls#~~PPC4+-1O9DXB3E7+3T1n>+TRJE za;}QUt@3czhHlADx#mLEB{A)Hr#WrS+wHjj>a5zSpV~@q3r=?`xjoT*(Rqe%5o>ab zW+Y_>zZTCw-<-EQJXx`dCu8X|nXYGF9Q^7tb1#Rj%hmt$tHN>3$9?ywDg|h7s(!IS zc>|BG`3mMc2Q=@9gfuE`>iDuV{@kqJdpsvUk(Qw^#sAQ7XU4P@x!nsZX4jm)p?E-7<|-@iWr4(h_0F&EJ3b7x-6zpxyvaKx zAviEM@nyS}!jBpDyKhaG61QWK_!Ru_(F=Fi#JApCA8B|^ioRjW+%#jmj@|Q}t65o2 zRVCDX{Cn+EKUZqBc0+iXf#*7YW}Q1l#!n9m%jtI7-n6~-i-%j@jG>3yoi$7R!$k2G zpVqY3lLXd?KInd8b-Di6+ucuQW&dTke3m8KWYcb!?c$7=n8jW8{+qQ|#Q&?qyTnbo zq6QzF)DN+2Khwvw_}l+kkIr6U-uu^jxBrFw`lGK_-eQg4dW~zw-tGIJ?Y~pU#L}k3 z8L-G$518ClOI#yLQW8s2t&)pUffR$0fsv7}fuXLUQHYU|m9eRnfr-1efrXWUft8kE hD2k5U{FKbJN^CkH8obL_z65Gu@O1TaS?83{1OT1mq;dcN diff --git a/graphics/pokemon/mightyena/overworld.png b/graphics/pokemon/mightyena/overworld.png index a7d232508614a60eb4dd4a7d69489e298b7c5f6c..4dc936895da74afbdd91c48265b18d1ed63ebc2a 100644 GIT binary patch delta 811 zcmV+`1JwNL2apGl7zqdi0001UMu)eNF&h;x008P=0026d000+od=tg>M#sNksR59^8ep^wxopSBH7S(4ligR zVX{te_0+8?(B-7!?YuwNvwhT5zgX^AH$X(xpvju9KGQ!5TF4xqY_y0ra`+bAe$5 zJw8ES!w2It({j6wz>M!?K;5H9qXdt*=fnj@4~q_;udFCT7c5j{~1)NW0#|*Ey~gX*SMpsRRmlP!^( z_l^-?hL@|BO3-nEgb~*Qn7Wc|n6&z|`W!jhrJ6qLLvOXMz7ehN pcm@2~-)}u)=hfpmDIfa}_7B&-75l33IK=<}002ovPDHLkV1gAIh7kY& delta 902 zcmbQh{)&Bqgd__y0|UdhZCTrZ6id3JuOkD)#(wTUiL4V9r9}-G7+xhXFj&oCU=S~u zvn$XBs7QTcptefL^~CQ$He-^vy9+}HtE>l*!(QU)>&pI&k(W(b`g2oa?!->{`X!z& zjv*e$-%dT7Cu}Hi{B5XQ!u7DSi7yg!Cx1J1blbL_1uGQZ+TOI{$jkINQaaoD9>YcR z2duvsY?$@KtZ%P9zHAxCR|X+v)l28)|8GoBJI?WU`~Kqw{1dO7UmedO`Xc!69=;8H ztSiInS4=Tja(A2%vmb2u-n7nnGE;Jf=L@^N*kM1cFiwo5I^*+Vv>60 z<{LWdr&Si;+;(DN!kLP7>BhF_f_u~!WnN`k`s2_VzUwDFj{MmdwCbmJ^1a^OiH95S zSGlSGDp|X}KCsDscG(?^+>6uY9{j$v@bpH*&%H8bNB&Gv+x)!VpEvAE+Ghx^{$|ZIt3Bazt$EF>iruzxx1V`f z*zZv^-2HWO{;@kcdzw3pcis=?%GbDi;=ramUMsn!&HicJ{(7eNS4u#KWMXJ(S4KR` ztj<-!^H!<^WyhNc-sW9us9moi@NtX69;T*MkJsF=H8|Dsb^V*YpN>n;y>veQ$*toS z&nEYMer0ubMa<wxC|6xlvidMTGlb%Kka;*$d=&82(Iu%eNtVhwRnvZy$gO zS+&G9q9i4;B-JXpC>2OC7#SED=^7a78XAQd8Ce;dS{a#Z8(3Hw7 z00000005*JcmeugK~z|U?Uvzg z!ypWVNopW=;Qe2BHp%|QzO`tYG;ylbN}r3**d(O1w6wIew6ye(v~6?zuhVb)9)=)3 zX<|P8_S$KNPnw|p6)ul>$|Z*Zh)jql_zsG>*GPc+~ zCWtE?Gv@h2TmuTJinm38Yk4<+E)nr-!h#kfZu5QVd5Zw2;~UrGsYJw6VvY@e0=1EFu#0N<4MbcY&yB1={d(MB$j_5^DOTUJLBK}> zVV1~1#5JPXQ@Z(wEapT)QnbC!DM#EASeqgPF=wq&tK(03GOX?OpVNSI*EUi24aA(q z?6oFN0OE-oGkfj*372jOx^Ey{=G3K&e!4edfa{dEk;5|xd2e!_(tHCk*C8e5=qgc) z?V$f6?V=8w{~`r^+Q7ZYXY5Xpqx&}LWh}Z%O&gdNPVnm%mfqACez6t}j?t9200000 LNkvXXu0mjf6zt{C delta 589 zcmcb?vYmB;gd__y0|UdhZCTrZ6id3JuOkD)#(wTUiL4V9r9}-G7+xhXFj&oCU=S~u zvn$XBs7PyKpq`44`AuOUn=#4T-G!lpRn`N@VK4FYb!C6X$jhd}yncQDpNXCF^?9By zjv*e$-(I%%JM199_Mmf%-X+#NhK@F&!Uj>Jjgxk42ryf=uzT`_<8t>CZi@(VaPv8I zSkDTWt;E6Sa3t|YNu0N_-U@-AyYu%L*Y)shIIXw)&*C>%e{BETdsr+xIJ0ow+x$6R z*BE}Y&pA4=c3+mnmrCY2^EZ|$C&;qxIcr=WyP-^rS-Z@D%c6O4$dRfB#&rJ4is?I? zWQzC%lh4JiT0ZBu@LZ2$3xd{4SUVpnbBIouF=e~nh0Q!lg?BeDS-UN43+pVFEr}a+ zU6!=oi}F5oVb5mvu(vM^u5RShn5~~s)-=f|Wwl|Sm-p(Z2Tzjp@xGTKoOA#`^0y)=j@D{rnc= zvw4%Iee}3_{pyOMMQIMXcWxb;f0p0zz|QyTCLL|S_)slz&4?&TNi0dVN-jzTQVd20 zMn<{@hPsAEAx1`4#%5Lq#@YrJRt5$lyQbWL=zwa-%}>cptHiA#^|?+8Py>UftDnm{ Hr-UW|Amr_< diff --git a/graphics/pokemon/misdreavus/overworld.png b/graphics/pokemon/misdreavus/overworld.png index fbb6a2341b1ab9fdf1f28e3d8c42cc0192636a0a..1f623d2e0ca6428037782361c02c303c6b0111f0 100644 GIT binary patch delta 790 zcmV+x1L^#!2yD!^424O2DILnb|KpBN5?UHNFq-cESP4rM#Aobd$DvHqWtUxc z*=2vvQu+j+@^gm|E#;gJ@|@r&KaKyXg#uEEPc2cHCyjC1KR&U4eD4t8cVWj1MV8-t zKva?}gvWzMmHeOsoD z4(Km%Uja1fR)PAr0G3}x8@C@<0Q7$;-S1Lb%uZn88&)KEKoORjV{ZRtO<*`7=Nul(vMxGoapOApBNsLN zXI&5>DZvuCc!IHK0cgzziFgVFw9cg2FV?*Jgl6 zd_r^?HMnsd*Vn#A2Ic*PqlTfnh7TRAg*=pB1spp}#}xS3;Zr+{{*TjNcG>@D-+^cw UwgToTEdT%j07*qoM6N<$g1(t;Bme*a delta 982 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 Tj?kB900000NkvXXu0mjfcCIqW diff --git a/graphics/pokemon/mothim/shiny.pal b/graphics/pokemon/mothim/shiny.pal index 7c5d2000a6..31bd384bd7 100644 --- a/graphics/pokemon/mothim/shiny.pal +++ b/graphics/pokemon/mothim/shiny.pal @@ -2,18 +2,18 @@ JASC-PAL 0100 16 152 208 160 -115 65 32 -230 106 41 -246 213 123 -189 156 98 -106 90 74 +40 80 104 +80 160 208 +232 232 136 +200 192 64 +136 128 32 16 16 16 -164 74 0 -205 205 205 -98 98 98 -148 148 148 -57 41 41 -106 90 90 -74 57 57 +40 120 152 +192 200 208 +80 88 104 +128 136 152 +40 48 40 +88 112 88 +56 72 48 0 0 0 0 0 0 diff --git a/graphics/pokemon/numel/overworld.png b/graphics/pokemon/numel/overworld.png index 38b5a2421d3b492942836fb16410207563d71c68..b12082c684e2926e3e9d2b69773bf41d92cd2934 100644 GIT binary patch delta 798 zcmV+(1L6FP2=WGy7#auz0001UMu)cm0004VQb$4nuFf3k0000mkzp|h0001klH}i! zwjY1gNkleAj!Fu zo3pm&v_N0K2rYio;DzQxJ5fg*M6CiJ@SLN9{179D4Gw`Kxkf}f0oXh+vyQPFXT^vY zfvRc-(C6@2_8M6_DQI$Wm;jS_jGa%5lf)69!~-f4RI}4Lz!5L{N{w_Bnp|->VRe64 zAu{cOP9N~wgy^Vl_iq57r2?q!ob0)qg=^3>Z61a6zCir`?FdV@7`D)m4_t ze7Z5T;+4K-epq9PO%8ou$V`WWDqx|GK$E=5DKI%Gqf>5Ec%4GRiC0%5N`unMPvfXC zxqLyO2FK(Ko}To3l-h_>AXXNaWWax)=KeVVn_~$Q2X$p|U!OB3r$Fp(R;a!>!P2qB zBc25c&M5>L=qQZe+j_iMIgQh6e+`$hJaUI z1(5IAlqeHTb=M9!6o&O4@-6MDka1G&n>-72_cd4fdUwqLY+fD;Szqh1Fywz4?_2bE zE5yf><4NF%v(V)(fm?;PmBTg<`aEvb@FC|*0hgo*-)o0gd=^-7wDEZdkmS?{g*>V1 z9k4l*@L^SnkNNJk!7XHkJoM|0+T!kz@pAxtsBT%{CcYVf|KY7iEwT#3ZrhgAwDlCR z`EErUm$~%nb=V!wSolp??ZR$uBZpsjy@WglWTRo5n*qch-rs>dPt1Ou$N%9_VaYFT z{%C9n%u(s>aB2v^N6pV=WP3Y>;?Au%f6=G(vI5wPp)*cXU|V(X|KI*<%+s0i`22yO c%l@W)1FxPVV1R%`ssI2007*qoM6N<$g5xZFTL1t6 delta 953 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 JPDHLkV1j$01PA~C delta 670 zcmbQk`j2&jgd__y0|UdhZCTrZ6id3JuOkD)#(wTUiL4V9r9}-G7+xhXFj&oCU=S~u zvn$XBs7P^QpsI>0d*Esyn=#4T-G!lpRn`N@VK4FYb!C6X$jhd}cTrB*abl-@{XS0@ z#}JR>Z?EjlJ7gfhUa;6>-p>gWtctcRDDleWN>Z^rm95aEv@vMj0`KQdA)2z*A+MsZ z1xnYL9df-e@phfn?|*&FiEpB=@4B|tZ=IX%8}HR@a~J6IU-<55EZhD!+%>4h*0(ur ztJ{s6CUe<&l`_6f*z);~v7-N$Djvx#uh{C({9s_4@nl_bHCwBKaM5aZKdG}5ZaTcM znSOFkRpU1vW)oL4nF^-46O?^YP8Ho;`mDP)A>`cQDQn8lK4npVVslKb;m*bPjbZ}9 z#W&bbNuIm#FOM&lO~yR>AIk@=gqN&tMa?@FGTS(JWft9$Ia?)s!m(lx-v!q%IKZ`&oB3gJrK^W#+!A42*rg4W{PdT~7^`+J-Y;jNZI=^Y6;AS$_f- ztx-0*rSJRe>}^wr(`&k8|FaqGd$nJzc6Z_))3&5~mwiHBm+jt6x%cg@@|AhlE-3m( z?BtR;{9)bdH*BgsTlX?wW?#PF_*%44VT6f^vT2N^-21Tl_pWLFGDnXU`~GgduAgz= z=JD||Kjt6d+x;Yt{#kZ*4)3w$-%mGkf4}{O({I5})3TYLH~y|Y|AO_O_trg)zt(7` zUom%yY|6+uxHAzL!Kx*$5hW>!C8<`)MX5lF!N|bKNY}tn*U%`$$jHjr%*xP2+rYxg nz(98UsuLg$mT(=p`6-!cmAG}}yb>w_>R|A6^>bP0l+XkKMNt(i diff --git a/graphics/pokemon/pinsir/overworld.png b/graphics/pokemon/pinsir/overworld.png index 3ac6218fe732c084f495b24eefd28773831de9fb..001af798e97df921ce975bdad538e810fe28d66b 100644 GIT binary patch delta 786 zcmV+t1MU3I2l@t(7zqdi0001UMu)eNF&hyt008P=0026d000+od=u&5I41{+u5SI6U;4>yS0uD4fmHH=^T5b5eW^4>(KcClLd+oK?Ui$?D z?jC-||5^YXZl8X_g*K8m6*xd~@}ffBvgyJN%c2vMr!l`K z;5gzD7qtk_r)I^*oGtEXev5DDoABZgu&hRXuIaZKS4}&ngQ|VRw;7z21aB4IbM7j) zPod@VO_R?!mk8+)m=L->G~v2PYE&3ag;UO|9s*t4L37T15f6b8{cfA_4}^c~axZYs zS>UL1kQ@5uJjGpMjOjW5$O7@~@)&J}Qx1INYG0TY9CA^Cho#P8#_17tgBE?Zz%dub z|4N}kp{Wxv<`T110wqUz#A$lO?j`D`pK`VqCnz=k(o-KFal{PKz@nK7DDXV8xnR=q z{$*q>&6=Q5;xQ-H45JfQmZ*PSr6H$4HU+3ztE~Tll=87r5OV5x?CvCS>piD=+9%~b z7fz5E-Ffj;D154&VDb}FAj%T&rgvVo(V_Ql!>a^$FAdFu4jSJ`V8Edx!u93*lKxQ~ zr#tRS=oedlNsw9uXOoNW(W=1uvE}GbGTwGYpq9%>;GR>U=qZy@VugQ`F1P3l=h?#! z9hWn~O<*}{0vFAk~hc&gNR5NVf|2yt39+FF2scF0A?i8Ew zt&rN|bTM(|&~d(GW};js$lVq$E*GBB6i`ymC}%y_Cnw_=P8HAAIavzHIg)itoDRfR zehkWm&1zBvcAN?9TzzI+o&v){jn&Rw6SL?Q4>wKD>askki(WazoBVi^=uRxZ+)ROG zY~!IjLH1t?#Vmnqg1xULBpc!9vUN$A`i{A^LOstZx@AGtV4DmSr_UggB z*#;8q1<`vNcpEPzdz`#^h1<6}d$reYwOsw3l@s?(N;X+JCvXezQ{8|qD;{aKD;_(L zuzJgBzORZW&mZ`2yiJj#c1!=ai}$W({OmkA;lC+E|Lpkvw;!w#z5X?x*=_QxUEG)6 zAE?VwE$i(Gevoot*?9rgjAs+;bcu<{s&)kjmgIljd0dnp%x>9gsZ=& zDy8n8x0qcpIx~5`S?_Y4g3G_pYo?}I9#;$GJHGsY^TZRzdr$ja)BkZmC@;B-%X(|K zgZa$mnG=NSzuGUz36niGd-r3TQvNJI>uJp_r}Ag$B{XfwO0E)NKWF^+h2_-Em!+hB zpK0ybclEY~?%ek!jFaVpyq_yul}&d0YqR_0X9lCEizl4RuD4F`>a_{HH~rsC6Q;E~ zr=(a7dWCA8E4CU~9Jew!za;$Y?v7K{mm6IV?%JML_HQ!JCY$BnBH&BbGtDnm{r-UW|6BUIA diff --git a/graphics/pokemon/politoed/overworld.png b/graphics/pokemon/politoed/overworld.png index aadde5b61471b7ffc29a1602c3007223559e03a2..a7310fdf6c3d2e9777d49940326c52090f6fa790 100644 GIT binary patch delta 663 zcmV;I0%-ln2lxe$7#0Wv0001UMu)cm0004VQb$4nuFf3kkzGHLyc~a8NklFCdTM=ZknM`M1hf{GtKAsGYFK z6Q*esOv#$!9$zPTD{F`jf464`?D2%tybb~LWH!*@7aL$YZ!>>HR>B@<#RHzopZwn! z{2w#`Q`|tr`2bv|S@}FIaGv4=KMDAR+XXC!!6!cocyq&ZS{BJ?HV|{Hd^%RX@L#P+ zrvO+!c&>Od_$b5RQ*bt*d3rn^3z3sB?K$nTo#oWQVkYs;Op#-c{+xdu4jHM|ruK#m8pKZ{|FY8>Dz$O~!TTJdZw?Pf4)}aCa x-~?Q)F0Xv9qTRF$Ugu8002ovPDHLkV1gl?JM;hm delta 870 zcmeytdV+m|gewa(0|UdhZCTrZ6id3JuOkD)#(wTUiL5}rLb6AYF9SoB8UsT^3j@P1 zpisjL28L1t28LG&3=CE?7#PG0=IjcznW$$k%b4Wt?!wT)D(eAM#$Mv->&pI&k(W)G zry%gjs)yFKj@;`NRovLj;=FxQ$-$Hpb2?W=v!ttUd%yq6S}UceYWBZ(f4_V4 zBJ0AlH+s%?xPO#85c9FDaqAu-_nn{k9<2TJmMJT)cd;&u(9WRxINm9r6aw6=uRj%) zciJs+=D4b_?tw~PiLLBFk@+4H1`96#KBc|LO2@=>f_wi0|6nc+Z8HXYQwHJBimWjy z6LcdSbao^>dLM3cV&9n)uX4+u9?MGKt)AOx@_px@hyqca4JX-pOgGIm2unS`#9W}r z{oMOajHlARbaj3-n$4|PUv50JMdPhUs>{0$>GPgyi@hwGGb3XHT3WX@ZBIHj*?eYA zu;bIC8wHlVcS&vWw=@3sQe|?!Ud0*_2eoJY-+O9*%&NI6s&4NhRV!RJ#V4ZBX5p=$ zMW-sXLUvxw?ya@okjz*(y=H^Zgu*AuC;6{N8U2>zj@$qH$K1~;?poK6$JJZU2(lO3 zc4JcgdZCJYy?-`N=$T$)&>g2hGF_gzN{u`mBe)xwCr89J^g-YmZf)?ciQ5=zUypW8y*9r_M8f zp5P2xsPV>{ar!x~+3m`Lue|e?H2&IIul_u6cU@lfrQ+T9$ZPxF+uR2pxXl=3}g%CWdq zsnb$Fao#!c>*Y_K6iuWeemM(VFY(tB@m_JTXNSui8P4`JVx(d_UoWIbHj! z%?}gC9{ViCt7X7T2=f%LES3SAUn;iASCbzmj5jt=O5rv)6%P__2If+5KjCs8s5Aqn z{xD&7kV~z#WL1Bd@RI{gzn`!SW(POX55`LyCCobj>rl~X5G36A4b=Ey!UYivpp-7Z z3lnZz=uUq&80hB`1?mg3C1Du>=C1@t|CF%&r)?q@Kswa;OTrc(#&HB4+K_OEBaH@L z1`dF`NW#2Q9advx0Ov$Rm6h@^mERK9`QoV%`;&c!K~^|=7O)Z$sd)Q@$TtbGvJE*& zYk`bo<|U)xD}ghA66o+b0F}S!r-s=M#)1ak5}tnrY6;5`osK!mQCbUJ_)Va}#|Ix@ z`IEjnxpyuBf{&XwaQ^7?B{GkI&7VH}%zrVs@cD|kw}2=6xP8kX4O}?l2lUQYCk-N8 ze`9_MFFWxL2eRM!EjZOZ_}=j{AQE^ej)A@imo32=I~Wg7c%=WVv%Xv(S(F$Z0PNX; Q000UA07*qoM6N<$f?&n~cK`qY delta 698 zcmZ3-x{Pgtgd__y0|UdhZCTrZ6id3JuOkD)#(wTUiL4V9r9}-G7+xhXFj&oCU=S~u zvn$XBs7QBWprK03o%%Q+n=#4T-G!lpRn`N@VK4FYb!C6X$jhd}y|Co@xrv?f^|w4- z978;gzn!$v>#&2w@%48mY`tami!XfL(vUUHG4cy$1Z!BdIvv+u+LEw&rG9`5Q|YHn z8LL*Mg)Rj}uZ=4-xBYy_y)xnPlI?##d++<-|J&)r|DT(ee>puzW*Yai9UISeJ>Btf zL7cYusleoucB{&`pRU-bwM6$6Ytfa6P3Kz$>hI1kZnVhL@jPpNwq^2HzFuDI=W1C^73Tt#<@7@Pn%hk0Lj^CJZ;ZzP++<{{)a-IeZ z($RY&AJ)$~(A@L2C6!}m=A1iL>z68K`@C?JR5=|h9i8{<#PeL%$|Rnj1z-6puKjq! z`|RXoDP8BM=dV0tes*-?qq9@^D|rjTe}0PExnRP&Gi_lK&2Ly29*8D}rq`K$<@AH*Nwi-)v*S^}*oj*a{3+4N?>z(e2GtuI)Ia>lR5a~F*#xmIakm+D z6#m>eBl1uAWa?|xgVyGj@x`}TYC;XCC-k22=~=6;zvAv4Q{{&|wf#mPug2Z{r6z2} zU;aF!+^$#h)D8u{@27H&(~J~-w}l@IpBH)X|4IA#%z@{(l-PcI1&n;v64!{5l*E!$ ztK_0oAjM#0U}U5lYG9~qXcS^(WMyn-WoW2vU}0ro;NRbxkD?JYD@<);T3K0RWu-D)0aR diff --git a/graphics/pokemon/prinplup/overworld.png b/graphics/pokemon/prinplup/overworld.png index 2ff43dd8cd44f4d30d7c4872ac38cb5609a3e391..69ca34346cfaae8a6448c84cd8cd50e80b8894a9 100644 GIT binary patch delta 635 zcmV->0)+k22C@Z^7#auz0001UMu)cm0004VQb$4nuFf3k0000mkzp=>00000002sF zYRUir01#tgPIdqQ03ZMW03ZMW00000003gS?)m@#0u)I^K~z|U?UvDY;~)$~Es#)( z$^ZZEO2SRtwFIem)4q7laoXk%Xav~qvRt}!>C&Z3m;RFg;2-!Wja={MLQ+b@gkugV z10q5WOz-Au5XA{6oKhx#ETtgjM8Ci#U?$O^fic$tMKuWUPA>WMh~zNgj7tTu0uU_F zyE&AUEMe5ZgfA#(v~ZC#il;a!FUq3^h8$S9C>TBE60js-W=JJyV8+3gSUyj2$kv}U z7~LUbE-S=0NeJo2!3xf}X0z)IhrYieKj4h_fFB9c$Dn~R*VO@kU8XafY-UU74xe#x z)WY(B$i$_(6($_}{@ONsXJpEOwt&$I9P@>C1>6QE9Qz}t1SLA&xNE4a`D)m}gp;uf z)qWlm&N$llCb!0ne;R68S2y7c9BbvmwW3qN-l0$K8n7oEjDK*qL$+PQwFUt@uRgc> zx<_((30~kN4QhdZiu8Rh4!+6lB`It56Y{M$=yPlZndL6g3roWTrX45WP`d)$9=sh5 zYGEdspP~jDj~bLoNoFwVuZIA%?D*mtG~l|f7SO@C<9INr=dMfB`*b_F_Xd4VBt_c2 z*@gP&-}npn43cYAVL1ND4~C_00ZV}<|8oahU=2oG9N0`&!E<)maLn>t!E-fnZcdecldWlC@P@~NR6 zq5(nPk$X6vqzlAGWzFZDxvQnFTdaj?mbL5ZJ36PzSLwK4x;vBmO7sDCxw>D!_wH9s zY#7o7iaFyhDGiFd-;e$~2XJ)M0q?Y9ea zgzT@ce?8u9=KCePb82JXKY=A|JN|tP+g<$Rn@Q~Dr`LK|l{N>IZ2XY^e2TWfo1bls zMe+0Qtu5dSYR=OAefa7Qvx94uk5w#6R`@=fGGT?8_Du zoRB*Ivg=+%6vzxo;LXz|uH|LdYIn{M5de*5#K$NG!4=Bs%MRr=1$ z-Mg|#p}*dHSBkhDSL6nKwmlxGH8Vl+8;&U?Fbf`M==Yr7J9T z_ntgAPW$_<>*vJ3*{hi^KiTJ?=45BMv$FgF)AZeZ9PUro?Wj-6;j(;KzrbRH`Twr- z_Lb*;yg2rA{~=&vQ7v(eC`m~yNwrEYN(E93Mg~Skx(0^2hDISqMpnkAR;DJ}1{PKZ k21Tdj4N)}Y=BH$)RpQpbJbigDPy>Ufs~@Y&I;Vst06N@IfdBvi diff --git a/graphics/pokemon/probopass/overworld.png b/graphics/pokemon/probopass/overworld.png index 6f743089640fd7e80200956127ab9c0408140a51..e4d0685df3086473d0fbd376ee382fd1bcb64a32 100644 GIT binary patch delta 963 zcmV;!13dhM38n~;7zqdi0001UMu)eNF&h;x008P=0026d000+od=0#Q%$R>ri?Aor0(QNBSa%*6k3mT|_+OM*^b` z1`e&;TJUu);3+>67Sa8~p=*Y(UV#$RPsHTZ~Ne0-o~ke+7mej2xonb6ag~ zpHl%(`Jn+(2P20F(5Ef@p5qVsp#k^#V}~={Q+%sKAwM$UK7Z&Cy8{0q{stcv6oFIy zu>qjw4qfKIb%;fwU{(B(@}z>uVHP46NF-MV+zPDn&tPsG?w)`fB>H;sD__KJ^a(15 zdx6BlBC2FdRq)@ye~$!y=z8N1nZVOw2&{uhl2FnY%PU{R@3a+4<*@L`->m{)BB|$_ z{z~AiLo1jL!-4@vzD{71AOA7!Nx#031Q$dzCu;evz>%N!JqJhv$dcLuXjM4{(qOXV zS~|$A9XkyItNdt=RkQ=N9;qgCTPumi?*#UIPPo0>5){aOf3H@sZHn0}0yTBzz42m@ zavNad(+fQFV>oPraK(_JzsN2oNRD^W_`SfMFNUX7u0Dh3yG+=_7X8Zdc05Qrfd`J{ zjyD0Ed)^8>^OIFf_FTocdU+RsBvkQxfdjw8E52<3`1ZJXEDPYKK{LD#uqO-x>-;{# zuoW|EiMSi$f6VU$4*UjB4d3;xK71uY>jq8nwuA0iE3kgaI5&W8ufZ;3xb>jrdtw`( zEU@B({%(-rrNWa>{_TgrbOhivs0^s^vw$jKDzM!P949}lV8|S=P}?OuFQLQqo{@$> z;uW}MhfM+k*q>DyP~nFI{b%f6pzlP9utnKfab0{Se_Ff~=BNBz&=>*i zk@a3s;a;HQ?Pd`Pv;ccS{ItH%2)n@CV;uzM05m@1K7ciducysOssft+9r#h842PLO z;D?PYm9vWdIp8J`@4tP@27&JqPrQNg<+oFS%|H&2_W39Nc4%@Ci3C~%(g3z!v%^UF z7U%0cf1u#Qe7ZtEjFf;@Uxk+fNByxt_d$K5RGs3MABQv@1Rf74c%Q!HG~aSS|AL)( zE^w+p6j<`;MSU(1qiLt+Ic_yNJ}nK;v=gNV4D)^9rNE2yfxw*TT3!yggRk-T?W=%t l_sW647Wm^Ua_ASXKk4o?=v{S_oB#j-07*qo1w^hwV1l!$$szy% delta 1057 zcmV++1m63m2!sic7#Rcu0002CwraKj000DMK}|sb0I`n?{9y%=AsZDi008P>0026e z000+ooVrmw0000dkx?roS;KND00001VoOIv0Eh)0NB{r;2XskIMF-{q4F)6&p>*fY zk%=FFK1oDDR7l6&l(BEqKp4f3=+ym^bZ<hFFIBv5cvlf_@nrI=X26CR)flfl_AgX%kRCG5gu1RI6v5L6=+=ns}UZI z2zfd@+_!+O4edtwcBTSB8zb3=OeY=1)-);;(A*YA?b^&X?)#&Jg z^hrPH^w9+Xok@2A0vqkm+l|uPIde|e^Dh4=yKo$T*$q_lCp(?!#x)Qp;isG1&u@x< zAZ|9Q8k>!9nyzx+=QNGGfFD8jcN+$wYFq^RR4AfP>Fv$CA{6>WkgCQsG5!n6IWL&; zQBMJPm$b(}5aO?!1z8P@GNq&Ci_I^7{gVZYiS}z?<44;S=S&2w4!9^3&~N^tg2RT( z%i6|w23RV&%EWi>oN!Wv!KurXJzNb}MA63hZgUA*Q(j7S#zXVsZCjK-Mx#OYIw=@oQabf8h3iIcUiW zRbWr+4N;UCp#Ia6h}}(Jy$mGH679nn9;%<;ZhSrM6K5z;gQ)fVJOfeUo`^zmRXY3#JQbT?Oh5+dvesspE}D(X!SR@Jnfc zpqbY7{M2)w$;FR_D1)7bKvDXC^FIS|I(0qQ4b6iJz$+<>rU0f4^cB@NDaxnh*+$BZ zSk4=*0&Cp{;vj~1%P=ty4ghCj6B%HYsI<<*Ja<@m#c~?&bQMUOH;D~Ic$RzTypaHm zC^JBn2s+HnFo$=Epk;jlw1&WCGv5MY&ixtBcbd-9%dlAhAs@6qX#(kHhj&jt+0$W?`gzONy0j=F&`bdQIy@1ss#jrx1@@D)Sgy&u@X zM<4z_=5-&x0cL`}JnHa+$N&HUC3HntbYx+4WjbSWWnpw>05UK#GA%GMEip1wGBP?d zHaameD=;`ZFfdP#g>L{n001R)MObuXVRU6WZEs|0W_bWIFfuYNFflDLGE_1$Ix{vp bF)=GJI65#eKGHqY00000NkvXXu0mjf!k5>Y diff --git a/graphics/pokemon/quilava/overworld.png b/graphics/pokemon/quilava/overworld.png index a7ee14f2f9a8bf3ca392de1f357013944919da9d..4a710024ebf89c75910364f56587c936ab9ce836 100644 GIT binary patch delta 956 zcmV;t14I1W362Pm7#auz0001UMu)cm0004VQb$4nuFf3k0000mkzp|h0000`aszRZ zwjY0RNkl}Vw6 zAwvxQLx$g2VniB$2$*e_RDDKi;CY@$4B3A@2>fdk@`#@EU?53oIg%?rrOa##Dj@W? zc|IdU8+{eL=Go5?4>I^Gd2xXNTi_IePYLNu$%mc>2k9K#JH_$Idt)baUa+8T1@eN{mNjYk#6F;y^Ros{nzKK3jha zj57oQsIRMl(>`1T;OkxfQTdZ9hz0?#_^h}c;G&?%zhp=RS{cIWX6G)&c?mbFNA%5y zfTr520M`>x@wqDyAzq@=kBeC(Z+$%h(m>w)-MLwSnBw&Q`&M8%dY`n*CGTT41PCr? zQ1Fg`C5kP!fMJGYXApdiIf*wuItzbr(&1{2@dWf%$T|Duwaei(w*nwAd5M9;t055l z*F(T+Di~#mmA`)}BVm7OSQiI@-F>D9v=5CiT8XiLR@_zG6d?Syz&a@yWynj7gp}Y@ z=}O1uj)TBNw_^Z;QRh(X3W)MW#ajV5{x!f7V(ZEy{43ljKy`8oIN>NW4_kjU*QXM? zIq1;64fPbtuKePCqW}UA{4P*gX^)MEfF$M0U5ED87*w3_^Bn;ryqvMa+B=)v6X)V0 z-R63o@-kb#mQ$Zi@lrx}hiHFfAcrpva>A>1Mjvn{IUi2fo!b_{g1d4yOA9$W_-!Np zTDR>W72yV7RZVHrs!7&3ouNtht?4 zPymWs=m9@f`<@{)?=AFV zpm_JPFN=%A+Ks>qxA`NsW$j#SZ~TgjViw8DtV{68>Z%e5+ac)Ep|`;uF#KLF{V0B9 epGM%nv_BS7B$k4FK~D?-0000 z0Dy!50Qvv`0D$NK0Cg|`0P0`>06Lfe02gqax=}m;001qKGBG4eltjD$0004EOGiWi zhy@);00007bV*G`2j&3{1|tOtja&|qY9D`)Nkl}(2%=(Jym+dRVviNN=v_Q{5ijvr zL?M5Jv%ls?E?PuT@DT{#*_rQW-g`46N&n-YiNYWDSBiglhl=%k_OkpFfZ^!kfG&US zBV;YPd=M4j5ULhweGsaxYQ9EB8EhTn3buBEX9_0}2@_$exWhQ$*$D z`WXnfNGA=HU3aze1Y7F|>H5ve6PsuTxW3i}e}e-E8Rd+r#nlbsYdeYKIcplOKUPqq zsAqs>-0bpzWkfUuRF8H^N$!7Dbp|9EP@p@t+UrBB^%OgCiE=A5ixs!uvJpxj6txTG z3fyHIjGNB1qPc?s%(M6HXrwP@JkoNlA9dvcb_z*{dKEX4*?Xb_lq#^w01yG0HcE5& z*_>0-DKOHFBJKEkFNn{TZRs(PoZ={FCwmdq0rX(N0s2JusU}UtQDlD!OQo`dv4cy6 z6maK#Y!A1S61lx1ULqZf7%y;S9hr9#DsX)6%t5$T@}RDN<3LXyarmJEPI~EAhXDPRHj$eLeaz zhQLQCyUO{U5j^^|%M5=vBh5~!dk`9v?Dq@S0<@i_GT`@4I|cQ1T5{{H6v zkXmecqfbkm;ZmgAoZj&3{6+KD{JQ^~>HJnW9EM>y+)D?D+6s5y(HS?td7Uw5sCK*# z_Z&<4aMRo3GE^hI!}RudFESl&XJh&CPG`8i#}*KC-f%MVgnobX8#my!qaR!EF&{cX z+H6a|93H>;?}{Iz3@~QooZ_+o001R)MObuXVRU6WV{&C-bY%cCFfuYNFflDLGE_1$ zIx{soFf}VMI65#eoLw5>0000bbVXQnWMOn=I&E)cX=ZrAJ4Kc>m|UcAzM<>v?yHF~_fg z#ILfyT{qBSxOC~#rAvP&0QhCVdj$zo*I*d%WPaq0-vpzq8Pj8_CFj~Z&03vy} z!_RoUf%N%0hIjREa4J+pa{3vE0$rB@mkpBE0m$4dBd!KFxe4^Re_XyGHj|FOK9}a$ z2eA4i;!>cy%t3lw+~J1o?*_by_5sWi1)OM4(CV`;hl2XCFf@Dg%#ALfa%&MUfi8c@ z&&;sTp)C$Mg41Bn902jy2DC?b26~+Nu|=3)K)?q^yv-2e8TWajo4=IA zn;Miid3@DV0-UK#)Ew%GjwOn?R!P$0m(EKZ~Lz3eUHXzueTZizUH zyCt*tC=hTNbu455Y1RuMsjRwVvJFOj3u5gp_Cg~5n*{jY*zWXo`90|I{3_R<3nltJ k5d^$jpZ=%77^Q!xFQFwD^%`j|ng9R*07*qoM6N<$g5E_FQvd(} delta 720 zcmdnPx{Ymugd__y0|UdhZCTrZ6id3JuOkD)#(wTUiL4V9r9}-G7+xhXFj&oCU=S~u zvn$XBs7QTcptg#3uBHNz&6wov?!wT)D(eB{u$OrHy0SlGL>EJ>lod9J!`5T}oZ$ zEJ6QRtu}3qwKlB}sqK9H+p(YVV8f}&Mm2tw_n+^MnZjUmz1ViM6>TlF++PYGI z&z*1YL{nrZ?71#}?YDpKfn<5XJw~5AR-CF&oMU|^FRAQ)oz=Pbn}QY6&g2=fy}fpK z(|N(2dsZ$xcyQSj#$BEh+LKMs8%*#pSu*eJ1>vx$lHZxiPdk0hr*^g-%4+8>PAk;c zGwONLW_8;5#F2?Bm`n8iTr7nTvveDNnPIG({B2GoJjkei>9nO2Eg!#2~+uYejDJYD@<);T3K0RWdNI6eRX diff --git a/graphics/pokemon/rampardos/overworld.png b/graphics/pokemon/rampardos/overworld.png index 7687dcc26416e80d8cfb898987c4b411a6e6c356..2e1c24c7901c00d734ba056be17909652a09f745 100644 GIT binary patch delta 939 zcmV;c162IO2=@n&7zqdi0001UMu)eNF&h;x008P=0026d000+od= z00000007x+3u*uW01#tgPIdqQ03ZMW03ZMW00000003gS?)m@#13F1WK~z|U?U>$4>m|j$IIl%kB2vzT3alLI{7v|F(b-Q(OhC zxCD{gEoblA9lza5IXb{EU*YH@rXMMPird4AOGJ}gJ%Kxpmg~`h6SU*h2ktvqa*hpJ z2+kO9cxDSn2SNY(h%-P1CKWj0Ef0ZX6Jv9RXUC=1+QQL6X!uJ$;tb#<6Jw?)yyGHa zFsaQFxZ{XuHH4#s5NewQY&aBlO;hUYll~o-#_2Jwzr{6#0^`WDS>KlH5|QzLGG}?o zC1)8^W8HeswS)fbpqm0VTuK&dtdfh>$%;c?6|~aYygc6EX9qe+HM;^fyywyS$DHQ! zz4THFG9^!?V#kl5`_aMO5wPYr>75es?(FnF2fF7wNH2*C?W%CckEowQiFbT{iF1s# z4|kdQoVI!fhrSMpSA{!1f}S0JIE8G-G0m7|ynoJdYr!Hbu~lk~*8|6n>;197i|T96 zF0$p=CK5J_uW)9$WbSY}NRz-F*O(l$bbUAIo+G^@>wR};V9gnURXS$bRJh?V35PM- zo6MdwMIjJ(cMNR!i$c8HS-#?Ay2RjV`(Nk*H0ZIZrEp&hpY#9M+00 z;5RptNcxLFdjNiOccV>Xh{rfjN5+F|z?EZsiZDHpCbq!*!i`d-y0FD}N8m8n;~8ff zD8d0EhQgE{my)mi47l*jZB{t=da+R};riqZwhag!SOQ-S`UWscDvtsmF+Q$Y0{#rR zaAX%92w#>!HF$9Ro@N7oDKWV@Gz$Z2kfH7>&?)Rm@*|q7AWIqn7cMxg7SS9x1rCGC zh3An;K-Nc`bMQO1kzxqZx}#+-D3^*#gzz!JYIzZ?o3_Uc}qqUYeGc#r6L4)OY(|+b0026e z000+ooVrmw0000gkx?!r3;TZ(00001VoOIv0Eh)0NB{r;2XskIMF-{q4F)4QCgLE8 zk%=CE0{TfrK~zY`?bSbT(?A#o@T+7qC#6)t=CfO=*&4U1l*x5%%Q3BFQlC{^Ayp_o zQ6nb40kl%e2CAyEriq2#9R|J!3!jE_Qv1$UE(=VE+kTh4&*MKi1)=}zFRgZKx&Jg^ zMc0;CS+mq|i4me~;K7;P$lmK(NNO7!Ct_fK(+Hig0Y8*m(f3RPNxj;|+M`fzLY}h$ zjgWA$RifyoX{ZD(_R7O|cuTmRrjbAT#0Iq6k+s;$$i`+D`xj`jomI1IT=BrBk#gH+ z1KQ(jiIG3S7#m+LiTk$6+ZLGZwAq06#FAOPFl@)TL=w9ZHb&Pxu4y(fDF&ueE2(dP z`|eO;g-qp8jHY*qF@EJKhwB%MY0HLqp1g6;?9_ua9U2e9bVjz^8xLN8-?M)JI>k`JA z#O$SBd64%nmlz+|TT&~jGtiy_XcDu3v$TJDk#VA_UBwR<{t$0)-2hITLO% z*ri!cVOkz9W(t*+Y>4B5!2{iyv+5*44igXpS>d?Y6P~G;0(hDED=bYDn3Pt3Ar8F2 zGN-Ux2Hy4Zz^fMo0hmGo zQUidUmmB;gL_N4Wy0>C(x-{j1tT3gir|*>CJ~oX_qf-U4LiYT0Q~Vhzqb@cg;jQ=| zFm_6xzh5H}4`hW7iB_-9%EDxSypOd59(Zi-Z)!FWp#Z%YXyRE%>SxUVRO6eq$nI2u z==>vgqV=2d`)W?S_Bs!o7rOCOEKq4A<`-v;+dsFE5Lgt3sQ;S(s-l=uQU$WYxV;_` zOU&!j8tWU1Q*7|SqHw-he$I}a5a>pQom!q#=Yow|AZjiW)<3WPVg1{9>o)+-RzkSF zQl|g_03~!qSaf7zbY(hYa%Ew3WdJfTGBPbNF)cANR5CI;Gc`IjH!CnWIxsLpA_c4f z001R)MObuXVRU6WZEs|0W_bWIFfuYNFflDLGE_1$Ix{soH8(3TI65#eGJm}g00000 LNkvXXu0mjfN!PcK diff --git a/graphics/pokemon/rapidash/overworld.png b/graphics/pokemon/rapidash/overworld.png index f63e4811b2ee2b7042810c05d34a5d1620bbaba1..337bcc89e8b4d8c404011deba3886f7b126621d1 100644 GIT binary patch delta 904 zcmV;319$wn2k*ywo11m{HK~z|U?N{4!>mUq_3=*OK|NlK&*>U1pmub_P z^Ab8uQ?J0gx&gP_XMDzA4kCKX;NAIe4qbg&vKLeaKvRaL!Fz++QV3|R60o#FKyL8n zC<0I#P~m{mpbAd~x5|Neh-fMB!oU(V3ow=bEfm0@1qQvtznWu&uMuv41}=`(^8gv1 zmspGWJ@H5YcYTAJkbe6Gj__KAMepD6M4)tCUGM_=4c?ilDaA${2*`2eCvYDHPTufD z;7xdtu+ZQ@K!JlHLhSR)apYIi#aqzl4m=j9Mt4SZiSGe{3LlIp6OW(c!o9W0vmrwr zeg~d4@_xUw+VDLTkmJICEN~Hr5i|oAm%&q4hKt=2JK;}*Z(1kw&>x<@zzRotEdjw@ z01Vj0m7#jZa^&Udli(9S4CvBTRU^g>1r)dyc~}A{g3Z9e`?jOxOcHlg>w8H0AX|pd_)3&a$E^wE0sh53_Jmv zS6?)b5YWEo9|T?eQZ5=MBgiu-;tE%O4FbY0r2Lzw(CUKB#S=x^x*ci`f)W0$+&jyb zXJH>Nadg4u=eVvrKo4EQI%zu-tne3^k6-8g6^;zIvqn$_2`*y}k-bL{l9WyxLWRE& z)Haz4NbtTjiIyCHB|=<8HiO3)bmCXxH?$?g)e?Uq0tbHCEw}k&+sMNC2kz~*uLPCh z#UjVGeLM}qv&;j(?&kaaK@tC5!G`;%0i?)y^vixdwDmK7VIa26qEhPSt`DVfIa5G@w(7Be<-mmiwK=AyNY_etJv;|@ z#ns9^Z$0KKLFeL$N1(pXcloQj-jqPcxwkntE2Y*O)&)hQSP2@wPX9DW zeMNCgGT-p^>b+e6NUQ7T)V;*L8LCEH=fVYe;Yn&JcexUsfCwa9zf)xVGIM!!lW@@^CeNJKuVJ@Zb4y efPKdQ8UFw_5gaXn9Pdg100000026e z000+ooVrmw0000akx?ilyg~sU00001VoOIv0Eh)0NB{r;2XskIMF-{q4F)1HF(R4z zk%=CE0`^HnK~zY`?UgZW+dvqGPjCpb=_GqFog_nc=}I7*o!B@T1^%pPv*Vmh=p<@I z_y+_!H#os#htfX~4E=YNY>io8O=Ok>a8 z`i?8qnBMifYaEbW`;x~IKuW6JUl}5QuJ^iN5O#5Z#x%8$m4KYN4V&<73o}Nn;`sY2 zH;3smgfK=;)p?Qz$2sQE@m4hpSY!}$_R;YwL(FyO#{xhggIB!dK`V z)uLwQueo1m3JZ>#K(mtTF0Y=F9Y7d%9qwDd;e%mzrv@lYp*X3^s{*r`kTH~hBR%YW zor`XF01^S%pyK*$8l5aE4jR@=Udyw4FpO9W8(uYmpK-}&F4EJksuz4FUzkS_K?c#l zk`+{3>-H*w7=}$C8^;hu*H)w7#`y*oQWpisQZEeG`L0-!-|#feVA@>3PB+O-^i@{; zG)-H4tmjpyrTC^=q8XApRNi0DGMZ>Juwyi zj+oC#p9KD}_n6DCBF%$N9>^xq8*;RfX!JJa6v4XrfOO|k(aq1^har7lrLrk2-`pr) zgrXvBxF`B}OE>q74(Py?v-H#4+$;XCD%Qtada?7-Up10Brhj_;0+@$%@RFrVEt&uT z03~!qSaf7zbY(hYa%Ew3WdJfTGBPbNF)cANR5CI;Gc-ChIV&(YIxsLWbrn$n001R) zMObuXVRU6WZEs|0W_bWIFfuYNFflDLGE_1$Ix{pnG&w6UI65#eK`5>500000NkvXX Hu0mjfl(Mny diff --git a/graphics/pokemon/regirock/overworld.png b/graphics/pokemon/regirock/overworld.png index 1a5f11a9e7d126a073c87a8307f7b90f943777af..683bbf9fb66120295868b48f06e342a6275f3813 100644 GIT binary patch delta 1054 zcmV+(1mXMd34sZa7zqdi0001UMu)eNF&h;x008P=0026d000+od=tgoW^IjyZfW$ zG$njoWQ+~>SR*0T+x-=eJzMCINh;JQ?IK^o?Hqtb8-M*XuzJX8|AgViq z1p@swzIQ|kG2Wlfn9~$yTY#2zT^FlOb7-6PfTxt6^IZt$XNq(_f3Gh%&C@i`XrjDo z$y%MYk)HCTz!S92l%DauM4kVQfg4UCM19fX5rP=OFitbABAi3zrpj%!A7CqGkSf5c?HYImZkaWc^;>s~e zXRry>@f!N-2F=XP0M1t{jhEiwE>YtW@0awb2H3b~50#F&K*F1y5fqwSed-j)iQQ7= z@J74ADi8-$7K`ykY&;CQ6G6=yr1GM{(+u`|tf7W^e@Yn|VB_9{_Z}`#RBj09#aRWu zJXDoi@V?Zb^PnT78FYb!(?Miwj8}o8yJg%eZcuqaBr-LFT@0bDD~_m_*QnIpzw~f{ zYCy30`k@Lu7^nt~%YhTw%!1EiG429iEfB2Y294`xN*&cpB>O`VL;3FifpL#rU@o0N zOS;Vff0A}LSn|O@6`0LB9&yD5p4T>m#w`*%gS|R-d2jSzd$>SVATXejX#!PPO=4YW zGpJm)0l7;hi|N98x-RgvxEoZyCH1w(qG8U51pTCk3Dg`D3rwm4ucMKi7VaYccsb1D zNS`cYfu6L=X_Tb4fDY6(?hVu)L)wX-R6j&@(_1QWW=&i=lb0ERw>BE&r z_PQQ7bpN7bEU;@Ge0026e z000+ooVrmw0000dkx?ro;<46q00001VoOIv0Eh)0NB{r;2XskIMF-{q4F)4K#y82A zk%=FFsYygZR7l6|mOpRXMi__h&`}=lELjmlE+&y7X%><&njuRQypMHAZ2!bLDGE^2_pzGR3{z<@#zVhRM6#Shi@j+AtC#s10GqOX^GUgDk~kH@2o z(Es({DO$>y76<>7bFfIkuW+@Q4{MLf=kQ;D2CTvaOyO>7kI3h6wwP77upWi+qZUDR z_Kcv~*4L%%KQCihbr#r7WeF;;HMa?V!`J|=wVsd?KKK1HmN)r^wbg(EuQi(lKV__q zYRycrgnioRmar5)Wu2NDpfGk?kBPp|_P;09=9XQ;-PY#Ga+dYQelb90Y℘!x%e% zY&(v#Ucw+eUe2<r)@RSC$W_a|ts=vj`2cU7@AIKJJxlq2)S;^n&W6;3DfRY(=}dSyFs)hKO~$+Z`VRPx zO|Ac4G~zI4z26pRrZc?02wIyVPcCJEH|LR;DeBMpz;PAzV8}=CpBbZ`@bH2<2Fz37qw>%3N78r!sd+lv+t>Y*auRt2)T#c&QOq1Y=KSt=cqXgA~zf5GH6i$1z-X};4ML&%Xjz!>xeeDGzFnj3q);FEW{8JIfN&|$te`4O_5eTyY5qOXHGsb#MNBkGl z0wI>?fa2cHucr0kVhEQq<1NC!_*_cf%$l$~X`){d87SV=lui;w2%9@ej8q8-gCs2kKx4dMP0SU- zyo{LS&8(&|Nymy1hUr*;kH?D7m_(!yU=THsqJmHk@r{3M6yY>3UWa{J31ihrX05UK#GA%GMEip1w zGBP?dH99phD=;`ZFfbtUFqQxS03~!qSaf7zbY(hiZ)9m^c>ppfFfuYNFflDLGE_1$ fIx{soH8CqNI65#eQLl(900000NkvXXu0mjf9qOJ@z(F z`wRY00?e?%eV~m!EDncdS*8J|9O@$C-{hn*R)t*;i_-(@LWprtra8xt!N+llEbiXX zV~AZ3i?cs9!-z6>1I#(&Gk9czgY|!>oZY3t1q*z*nA|T-9&u+(OkU%kE}aTl+(~>Z z#6<{lnb*MV5%t~TtvuD`vp^QF9?gY5@nZptOKbuM`b=Kqhgu){_1B+qcWw}_(bI2o zY4cfk%Amzl{*K?$l+PJ6dDM7%DE7$>&e+T8a)+NI)_1Tt3ZzMuUW$v}h?sx;cZYZ%9 zphSI%}QM>!g;sSjeHVL9*jhqDq zJLCe#?IFys6lN$J6aJppBoR|nMw$8ejFJ%O#HNgbFcWP&(j=9q91ZBq>7P9}A(3L%!iM;8cZUf_zW_#^(b4 z60;@xGdqMZNHX!L@+Kwl9cWkpo15`%0pCb`?0?!XaGE283e`e(00000NkvXXu0mjf DKKf%3 delta 826 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 XIxsMv&A+_>0000 z00000008|pgO>mR01#tgPIdqQ03ZMW03ZMW00000003gS?)m@#11U*FK~z|U?U>to ztRM`9g-`-x=lx%IuLK!6Db7s4eI*yI^^ar)lAv9dd)(t5_qaznjQNUx`8W)|<<=}j z^Z{3C#yPW$WzKju_?RanXNi)NcR4wK$^!NBU7ig-=1HH(Q++=_Z*l-i0`+R(|D5Y> zBeQ?VWn-MNS)cb^1m`@@f8=1sb$eByJ;;DL*I^~Wpsx$ygfk~D+vBzr(|Z^B%Yh0! zO5q7l`m8mmQ99H=<{Vg;I1k!xUFKXa(WbA6aK=5t?{u8V8RIjQn5rRbVNv(x!UC5h}akddA{7_ z3FjaJL$V1XuzGmL35$W^#u{O2I6<{z)95nK0w2L*kU^qDUM=CAbBLIKeTcrt3X|9d zaLy@2?NVB#+NNTqZ^qTe23nJUK7$Qz^v}2?39Ym`haXfY$OSH4fiO1`)H=D4zu(}= zh}Iw(BJyJNU6(uO%$RnS6<)&v%xQze-$lA*5a#wKVjXs&6;BA1fWfVWh z0SLA<{F+GuwZ@I6S=UCFk`DzkdV|&xFWvKcgSCJ-!g8P=4*1D!boe!vFiyeY7U}%x z%_7u{G7tk*EL`8rh62+~9#&vMcGE^7Nn#xbpjf{u4lK4wsXfDA{wSO5S3 delta 981 zcmV;`11kLH2fGN67#Rcu0002CwraKj000DMK}|sb0I`n?{9y%=AsZDi008P>0026e z000+ooVrmw0000gkx?!r$p|6800001VoOIv0Eh)0NB{r;2XskIMF-{q4F)3-6IY0H zk%=CE0`f^jK~zY`?bJPM+dvox@JAd$tMx)cp&fK*$SU0lJ0V>pJ&@8ancBIOsPQJh z5IKb`b&1`v4J6Jd=+Ld{)GyGFkgwB|Pm*PGPKGWmTJqSx9=kF_>4a1+EZDt>9aIKV}BC2-X)B6UP3 zJ<{5oLMR(CfpMmFwm71AX1UHPP>#-Vp6P6!^ovWv*3O02WC}*RxMnaXI)fq=Z}QoH zd!5ZITb;4j%XB6u!$o04#_x14o|&u@eQTCZwI18yC&U+tr?_r%F>>0Gh0Hyj=v)N8 z{79MYrL#=y@fZFJ@jH7`6|8yh5(5{lFq!*W1MtZY8hG3Dsov(5bNlnvLD0+e?xdW> zG@+f;*IJ(P!AB?9zPZXaIHw1Qx3qeHc@Uvo?GZA&q;lW0`9yCy91$kH>%2Buu?%Ek z!dbiA*>21W*M*SZ2rpv$*Zp$SRIW}CjNcY#V!t*#?Kdq01I8VW>h&bI2rFC{8Z=c1BgfVc)SmQ5DL-@tntd^U=9~^0QIt zvQQQb1#fk(>kBZ1pi9fZ%;*kVco6Z>#D6>f0O)H4#?ldRL`eVu03~!q zSaf7zbY(hYa%Ew3WdJfTGBPbNF)cANR5CI;Gc`IfH!CnWIxsNDXbV;V001R)MObuX zVRU6WZEs|0W_bWIFfuYNFflDLGE_1$Ix{soF*hqPI65#ewl%Zr00000NkvXXu0mjf D0Pwv# diff --git a/graphics/pokemon/seel/overworld.png b/graphics/pokemon/seel/overworld.png index cc9dbad620dcb544390594bee47c9f27b9054e83..7f83952fbea66a011819857f6d45c1cf540cf803 100644 GIT binary patch delta 650 zcmV;50(Je^2KEJz7zqdi0001UMu)eNF&h;x008P=0026d000+od=NdFn8t* zTrOvvamE>EoN>ng3HXCG5b@=SxP8I^nke`Mfk;F?g$Y5{iGreEj#7h&Kvtfqz=KHw ziueL%1es)uNI;ouIl`r<0_(W2#v9DyDx4BzW)RSCvMzrmYflB<2L?6XiHN_-j9|%} z)R!n%Fca8}3~GGYd~QYd)1(Bea+z&F*kUt*2f?_;Sdu77c72i)+~9aXbx7!unE>5; z1Sq&$#Xc}9K(+T> zAPh&0<`z0kGBRv&i3C)YL5Xu*`>tGsrP1vW>?g}(bSaj-zbe6=VS_v97SNm$o(EFg z2sRhtK+qbv*`cA4msRL(>ksi5cDOHq%Mj8pdlr9?1|KV|1o^lKc|2*~k>x=;G+Sb!ezp~+AW>BArP&#(eFJ2Wy_K0em#BBfEB7HV`A$wZ$e^K74lhYc;F)iNh_rbJ$j# zY}fs^Gx#0%Io;2S{KDHhECkN5H3+Yr$N8&%TBvXM6URdlc}AZ6%nq&_^({89S){CL zmw4pDO8uz~#zFoCd6rsSG9I1oE3UZiRd|r>{31e+p}@WEk>If`mh@YD9|?0aMNVcA zI2~#HqA62jqt$;0R+}?dE6+GLc``Y9N1c{h9(Ve;PUImU-GiDMD^7khh`biDLVl*_ z&dl8=_56=}g$|T@6fAx2sB_=Ik7-Sl$=X#4ajBao8%bV{R-SRA`)I-iW1)0*ZmkXB zvuZ^T^=vPYTd=uBbzj@v-|n_Tt{JR6&pfuJq;5-+KBPLU`$nV_-?GJ5{+*3)*H$=w z@gr|=<2SAXTY=+J{e6}mwSv*!Cxk9ve7IQkPvsFg^+Wa2YQm3>i#@RDb=Z^id%5As zuP$Z1x*fjmkEhjF?6Xn5u|9Ur#JPg^>ul>P>o&EhO8lvey0XK0iGSzIjG`aEpElT@ zl#UT*w1}^Z+1LMlLg(CLbM}~R{4!7LdE60pnHSNr*L^JV7iZZ0t<2o@adwZ$y2n;r zZq4emdXF~G{%)sHUcV}_J>c5Kq>7(6KW=~Zf8h`Ax9?|VzxJ?)FK#IZ0z{p6~z);uFD8$If%Gkup)KJ^N!pgwlyg~E|6b-rgDVb@NxHas{eJldh Pz`)_@>gTe~DWM4f_&YWF diff --git a/graphics/pokemon/shieldon/overworld.png b/graphics/pokemon/shieldon/overworld.png index 4636dda608d69f6094514eb64f938294141df185..16e2badb2b38f382216b117ef0f04172bc02c899 100644 GIT binary patch delta 545 zcmV++0^a?G1g->-7=H)@0001UMu)cm0004VQb$4nuFf3k0000mP)t-sn9!g&I5=2X zSO5S3NJvO{czBS2NWh>-$jHbzFevEg__(;ZXizW!0000000000dJm&W00053Nkl0l)o0hY>e_=hPT+R)cI(gR2xFzuz!qFyhY(P=8WN5&QB! z=Q^iTS6}ac#DA?rbk|6rg8{$%O@|+FKBhyw0Rguys`W6{O6x85c_K5YAM{tDzfUf! zqnt@>Ve{A8GP}>y)!}M#cEICy$ca=DS=VPCCZ`qWDs&#^uU2WV9wR;t)~+oo)GH{! z=P5NQYOo0Ckjp7oK6O4>=A6BRM101aHYGYACm4Z%r++qddm7Jg{WE<7`FjrGF(u>;00000NkvXXu0mjf)HwJ1 delta 504 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 diff --git a/graphics/pokemon/smoochum/overworld.png b/graphics/pokemon/smoochum/overworld.png index ccee071741cbf2c7da496bb3b7f3812b7a6452b5..1739f83d1f8df7cb7532ac3a68673bc83cec1511 100644 GIT binary patch delta 503 zcmV^*f7zqdi0001UMu)eNF&h;x008P=0026d000+od=(~kP`8N3TUa!)!I2UWDMEgX z@EDm8L;f+qpJ7tMSVfg{_Q;T8R2#5)WMl0b;JbL0)ER$rIV816>HiF;M8jO{CH9t* z)_~2y6U>vl--o!shm;ktIs0o|>ConqpW3HW;S9GNdR!jQS3vg^usIhHb9r~zH{kIv z8<4#bkE`p@BXI*cJEG`CX#k#B&RcXNHu~}5|+njaTIQN<} zDFF^=huq(`ZNU25-x>a{&$$?^;K|8Q8?ZT1$=EI%a#7x8Y>t;j8AHNng%&XaDn^X$l&q3OKsqR)%rgN_r|NdIrxU7l&dj8*HWz4c^U4F tHxo#R!(rqQn=#4T-G!lpRn`N@VK4FYb!C6X$jhcI)@v+#VPdCzeS@cq zV~EG`w^uiM9d?jl|DeBp$Fn^h*?;tsxI;7a9?W?bci_-WyT%u*oCW7_vCen+#dp{0 z)w4%W9x4A&d8Rbw^wjsex}MB`Sw8)by@wOih2{S9?dsKJ7FndQOl!+o&oN_R$5F*e zeHCKr>T|aAJ}}H(RyZeJ_?DLT)-#^BJsLIZGnY*jINGx9)LX|}_XInwmiBtBw0Ysu z!V}}aCHlq8P_OVTr`;EPi!KR7D(9}89HbuVb-T^1qfAjv*SmJg6u-vzwaiAbChndy zS8mk3W4AT-zgSQnmv+9xQ{D%Eesy)v`Ld6(M?5re<&NaNrn^nfn{PjDwS3L3_Ej3@ z+T|JXd+Mhc?4F|=7sj04ke(_%brH{oINsg@wl(3+eNUD5<+kx}36;LIA&#e~guSA# zZ~6M!w|-u$NXu28)Yg1+)3kF=k5|5#^P%&(yu<9o$qkLQu{FsD3bK6O@);akGVgUm zuH%h2Z%*pAT-;+UU-0hz{pEL?%Fi!e_f~(&=J)yUZ{Lq}sQRJ*lkt64_qn|}yOsf? zNVUW@q9i4;B-JXpC>2OC7#SED=^7a78XAQd8Ce;dS{WH>8(3Hw7)ak&7DCaGo1c=I XR*73fR@3ZtKn)C@u6{1-oD!M<)!Y7l diff --git a/graphics/pokemon/sneasel/overworld.png b/graphics/pokemon/sneasel/overworld.png index 3cabd75c549331f9bb086923c93c217572576fc4..a9e12ebe5f74422c0122a579b37d867b0b70f692 100644 GIT binary patch delta 553 zcmV+^0@nSM2BHO!7zqdi0001UMu)eNF&hyt008P=0026d000+od=44)23IOI2To=&%wur09lr)si~={si~=d zB!JKOP)g||eqNBX>(Jp)%JDa?E565nS5(S#iirOt$>bH_am-XewBTCna{(^Lbxlwf z!G*H&aKMKOkmOj9}1 zl16=*NGm_!JwdOJ?bWIq^!YtNEb6N);^p8*gCpMi1C-dF>M!EBam3}q9op0kAYhHsp r^S(&X8~x>obL=6<;A>w~Q-4a|#2phIklKtP00000NkvXXu0mjf<9r4} delta 666 zcmZ3)I)!b5gd__y0|UdhZCTrZ6id3JuOkD)#(wTUiL4V9r3DQb7+xhXFj&oCU=S~u zvn$YMqOZLyW0JSK3quF1tOrmFdx@v7EBiA>UN&W+uDF{gCw9u$AN6!`4DmSr_UhiO z#|{GQA0~3l4y!f_Qs`ZD=y{lrP;;T++}_yd2PQn~3e8#1xvr&mJ4a^BOU^m$AB1Bb zPf+vq5cHVe?lIBa!jFq3Q?&n-HsAm5*86=kVz>NaxRE+Nw(MuQ;hL=Uk9)JikMXUF zvG!&!R@ip?%jQD;KWnD_-B|z7k4IGQoaOdooj3B#EUX^yss9zJYaM-dZt=6ra%>%r zi~VM(K0n@3w$I^YX3UYJKh$%p+iq}r#Q!o&Dt46WDY1Xtt@<*D$#BWu>5&)ixtBzhG#h1c%MMh~_m{<;yh-F%CBG>PwFSo5;e(l%wu5T`i^{ZT4 z{p0dNeWY(Z+h{Agg?H+)RUe-H3*)@SaBu{(&3`&Fyp00i_>zopr02Fj0vH$=8 diff --git a/graphics/pokemon/snover/overworld_shiny.pal b/graphics/pokemon/snover/overworld_shiny.pal index 66f6e6532f..a951f0a24a 100644 --- a/graphics/pokemon/snover/overworld_shiny.pal +++ b/graphics/pokemon/snover/overworld_shiny.pal @@ -9,9 +9,9 @@ JASC-PAL 216 216 232 160 160 192 0 0 0 -32 72 72 +58 102 156 32 48 56 -32 96 96 +81 147 204 48 40 16 128 104 40 72 56 40 diff --git a/graphics/pokemon/spheal/overworld.png b/graphics/pokemon/spheal/overworld.png index dc394187ec54099b0acf4f86182098eaeaa825b1..f76c37e144e9447985bfa6298aafbb83e29e8a2c 100644 GIT binary patch delta 517 zcmV+g0{Z>-1@Z)t7zqdi0001UMu)eNF&h;x008P=0026d000+od=H&y zQ@n7+p~sI6!b8XS5=U4b0{k(jc)Okc)Bt1N3}PGyuz9=~RMyDn>uGR(h4c2f(-Ny7 zd_QYEE=zo`=gggqEimM=vbQ$Dy}`6S@hxc+L=>CBu7}41VI<;|C}qmq!r^IK*EV`w z*Un(dPdtBj0m=+S5GZ%--dHY&vPrOP5apzHc*-9agCD)Y^u&ArA;Ap*t3g2MX4vCA z#Zr-huj=dC;fWVU9x>!Akz$Yl+WLcfjMAR-o+MusqrE}qrNZDTi)b-SJES00000NkvXX Hu0mjfrUmb} delta 650 zcmeyw@{M(Zgd__y0|UdhZCTrZ6id3JuOkD)#(wTUiL4V9r9}-G7+xhXFj&oCU=S~u zvn$XBs7QBWprMN7l*!(QU)>&pI&k(W)`Al`0{`c-g?jb|9pohW5%kL%VuT0`adP{Z$b;7QO4Y>w>EG( zvP&p970j(}3149TUVY-y?FVJqO}}k&2+yvc{DJ#kKz7396Kad4_$%%;L|Dy!oRhHA z!Ib}t(xfXE@dn#U_=+z(q}M4Gx_o8JyXL=0c<$lXZ+wy;nFLIq?$iW+HY2z+1@2vb=1E_tnowT`_!F^XFg}_j#wyF;%-Mz-r5i0?d-*{%^OFzdYHp7vPBfMi(BirO>43H1k1gM86DwN&oYX1o zmR-%Z%-YuN@~6jPdpVNt_iyAd5j^jI>yh1y&Af9}_Hn#1-Zqg}UUGf$MgH*UV|LS0 z9rTqZ{z-k#tU6ozT4}9TT}binG})5{N7ZdS8fR21vL_hTPx&AHCTD?a?19~Uhl1Ga z?w4x$T@K-6G4ORnC}Q!>*k!5UPt>fo4r RHXW#g!PC{xWt~$(69CRV1$+Pi diff --git a/graphics/pokemon/staraptor/overworld.png b/graphics/pokemon/staraptor/overworld.png index a6f9360ac2a78967babde9ecb2e5f8c52e5ca73c..1dcbab906c448268e67b54528059e346136c6fc7 100644 GIT binary patch delta 1105 zcmV-X1g`tD3d9MJ7zqdi0001UMu)eNF&hyt008P=0026d000+od=T6 z2T4RhR9J=WSkZFhFbE8on8?@K|NpngBHIy2Y18IjZYIp6V|yiQ7ZAd|T;BG!x4o?~ zdIcx?dirc@jhc{m*7*&GCex85lz(3$&=FATk;JI1nA%SDQd1uFYml@~xc;tV* zR)Tmp3+T52h;g&UA`|Q$5yTG!iB ziV?K@@j^VjE+7Q}f=*mxcKbU;&J?M)?Gjc~L8;>Qt7k_; z!RD;1@q++z|C2VoP=hmk19^Ac->c#(|Ew$db@USZqZ3!@wvl_K?ol)`F@CkCp7>FD zqmj|`46)ZucIKdrQ;&bwLk?hrPkzcsp;cEZ;%Cj2Tx_IwT#;kZ!S(3b2~rJmNwTH$$haZ7v}@V1?G!7L<7g;Bp%(y# zMkVsat&Tef}gN2Z XHa#aQkt-s900000NkvXXu0mjfKidLI delta 1214 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 diff --git a/graphics/pokemon/stunky/overworld.png b/graphics/pokemon/stunky/overworld.png index b6c7c2b7a537efcfedd20b4443b0840a16a69bab..fb36b0cb876312e96a79fa6c92162d614de444a7 100644 GIT binary patch delta 613 zcmV-r0-F7f2D1f_7zqdi0001UMu)eNF&h;x008P=0026d000+od= z00000000FYpIra|01#tgPIdqQ03ZMW03ZMW00000003gS?)m@#0rp8mK~z|U?Uvn+ zgFpy{WqufDTi^e6_b}S*g#&C_lim!8rpbqTKsa{WR;*aDV#SITEA9%S&-mAaQhuLP zDL5Ci$cWz&RD%LMPL)e3T+IRkenU`ytIfN;&!tvou2tUTH^hepw5rj}0s{VdP{JdU zt<8wzpe*``NaMdi~Y z@T2nOF%hR!5|#{SYXn@LF(QY+MAHHyp3xl{MCDyN9B~yWk~xc*1^7HmYE0aJk{Atk zd4@ezsgkq)yuRp&Z^wj75%{!G0G-?_5FDOG4DB;xHTV;xqkSJItM+4)c*NFCgHDzz=;~@R?wq3p@)Pe0Dwk@Z;HGP{^3c zi}=Xt&mr*HjSfa!aC?|TGe^jO;nH{6d!sh=T@^-r(=F-y1Nt6&H*C=7y5tR8)*KVC zxmuL|%YeyZ%dZ&`SAj5UX+JnP&uz}<`k@jM%#r;eb2uz2^Uw!Ac}E9F8EMW{q2PLq znV2@{bN$c_C$e|s;FbsA{(!1+ngO2FA)38qn`n!iKRbh47o$lDA4@Md0WOXSwh{=# zq4irCSRxP;|2^d$^e-MHoy~E2ga&$e#W&&?5kC@LJ#}J|00000NkvXXu0mjfy%7m8 delta 677 zcmdnY+Q&9QLXw4E2ao`M;uXl#%Ff8p6}i&qqmb(!yZ~D zEe%c8+8upcbe?R9#fnY3i#CKm+%GP{H8G^VqU^)NzQvVGW;!3bVOZVAv?;`4J2&Ul zWHZIs9}%zJg7x^fYF^C!I`u}dyPNRo`>pF8tk{J2Ny_Fu5__@DLZxT=S-wTyPE0%V z3{=kCo@=NVP_(@8LjJa%yzaR3+YhaH_UB#Z>GgTr0-e~7O+WBM>-z*-18td(0--HW z%lB=1c%VL3#BP!GhUIRYD|bIKiYa)t$oadI-=PmH&efUEw0*u!`}Zw@hP_Vb_4%12 zpJ+=by$$U!Kc17Xz$di$?eg2~=C@YVZ(Wk}!&hBC>A!4m;>niu>od(*W@RR;7>U;F zPvPafeX`Q%Q?FXyqoudxeZT+s5}_ID!?;6G+eUQm8=t4T^_w-*_q?z)VeEN-mJbMCW@`4`e=W#2B{U)(5ORKK`$e*fiL61o@GWM1FOJi*z2LH@sjmz7+< z<>EF3|N4BwzSsY&-HdqMlG<~?cvdZOjVMV;EJ?LWE=mPb3`PbyA9+6ER@1_qlP&d$$4(UF^KA|-7(8A5T-G@yGywoed>jG* diff --git a/graphics/pokemon/sudowoodo/overworld.png b/graphics/pokemon/sudowoodo/overworld.png index 58dceaf06728c49865c57e6ef56621311a46bb77..c9a9dfdc3bc161ea36699ee7b2579991ea1e8796 100644 GIT binary patch delta 644 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 IM6N<$g3a5wIsgCw delta 510 zcmaFI{DNhIgd__y0|UdhZCTrZ6id3JuOkD)#(wTUiL4V9r9}-G7+xhXFj&oCU=S~u zvn$XBs7PyKpq|PeL7VeHHe-^vy9+}HtE>l*!(QU)>&pI&k(W(b{>%HNB@;X4>*YON z978;gzrDOS>#%_U`-g7!#aDO8PdFL4VBv(N7L^T`N?vB!JA8PMcCBbhiGZBfGalWK z*G?|TtDJJ~?e36eKeHb6U3j3l;J;Gc9nW-b=>tcB;AzXHtQ!}4XO*tLZFy<{UvU1xUfr|q`R62jTeox73)yVo9- zu*t0NsXuAYYjAq$nRJIpnVr{!Uw2<#^8K1G(3*Jh6}4yiE#CfNXgD?Lql^<{JTL%N zOI#yLQW8s2t&)pUffR$0fsv7}fuXLUQHYU|m9eRnv7xqsg_VK9v$>XnC>nC}Q!>*k ZF*HcRbxc3dxE82`!PC{xWt~$(6986Y&_VzJ diff --git a/graphics/pokemon/swellow/overworld.png b/graphics/pokemon/swellow/overworld.png index 06c500273119d58a234bce8ef09cfdfa00fd54f3..ddf43c778cf60e24bfd871ccd701743378e75752 100644 GIT binary patch delta 1004 zcmVEk7zqdi0001UMu)eNF&hyt008P=0026d000+od=RFyt#i_0;=)oi^hMkdnb9UfKYtx1jRqor@?=NckUXlbIFeJ_ble2 z{Lc8lB_IK8Au^0aiR#u$2^uY$yrX9RC9!e4~HGTXhI? z%LxwN8a$vcgpou*N|sUx@mK(DC=B?ji`>Z*;N}w0;3G3jK{AGv;si9f<9}gO(tvui zqya)aQ~;@s%zMA?@VZAdxRlto0T58m zncwZ--U)X2xDKQhOVsrx5`!o=cn@B0%nvNU>}6fGfux*E#WXmgt#Pp(7fZ~T=nj|> z?(BWrTnp{+v6V`bAa$YdL9M1z1LSrHxZOA{Jgdl-_^(1y&H_+;JnT}MJRnTiodp&9e1Y;0I5x}ZR6Xe&{+)xxTy4aA<0E05zg6> zlkhGLzC=NmtE`Y6Qu}|Z)mPp41__ic!czZ^p5f|P3(3jSYsY`B*xZGWhe}`%5r4yL z4%|LF=}`&v&+(E1>Try(3gg@b3)$YUPbl z+xGClqdOR{nGQ!?1}7ZmZ%^FOS?LD>r%znHAIQ*sHur15THJQ--#s%&r`7MwckO++ zPvbsgKQ+{r)!{(a*na=a?4B3S4T4829Z#=K0ZZ62q}Tsiz%;$}#CDeH7k@hV*FU@b a=k^5%Yav;gLE#Pn00008&H delta 1118 zcmV-k1fl!k2-FFX7#Rcu0002CwraKj000DMK}|sb0I`n?{9y%=AsZ1e008P>0026e z000+ooVrmwkxf4x0b)x>L;#2d9Y_EG00(qQO+^Rh0SyKt9)swW;*p6Te}zdzK~zY` z?Uui58(9#?pZo$>q|s(21+H>*h1(}T?;1=X653TB4=Bhjp?Y+i<*sq z^IE%HXRX2d^%zs}gL25C5emJgSz8-`R=czk0k~wkn^zJ@z9JAlNyUvBqffM77zdiQ z^_0M^m(Q9cFg5{bzU;r1^rc)U(0Ot+VdU^3pDxh;mtvb?36lmqe}FMn$YxlvcOeBA ztz;0|3M#HiACkaO%08d|mfJAV*tn~m7x_??0iU=j6^GF!$f$l3E&$DqXUrb z>4_DnxM{lppjQIq5oCoen_}yOFPAWpLx3a^o@+JQS)?%>07Uyo!bN!CBP4HeT9%{8 z`>fatP&#>-CDemmf6uxXDuL4>!t!-i?7tB%XvNmS48~Er-GixJVHN*u;CFI34&uY3 zWY~S?xJOgLD`tG}IF9EpV!5(;4K>@h5F_MyUS{ZGuGqZMn}5EJ0K<5(z+f(g;Ur0d zpklHgkMaEe@S<4RCM`7EM&+^uETM39rO_ZZLvioLR9dgK27n!Eyf6H?$@O1I(POy}QF_$WbrHLuHfA6pNy94W> zRaTtNnza;a2}CeaTur#TyE{ibJdt65(lMfAWw)QdJDXc~4J<2eqZ^9`QeQBa03hue zY5>i`?qiA=f1N+#JfkX&e6KdxS)52USV6Vj;#R4vadPy zF~woW_b63MG1blO-k(=kZ2N$TRSHALTu5OHMpM?;f1J8m+sH-lkrS8}71IFvnn#(dkqY9@B{$sdOXUzX?{{ZngAF&mqXC?pu03~!qSaf7zbY(hYa%Ew3WdJfTGBPbN zF)cANR5CI;Gc`IhFe@-PIxsLm>N2GO001R)MObuXVRU6WZEs|0W_bWIFfuYNFflDL kGE_1$Ix{soGcYSKI65#eF}I2t00000NkvXX1g=70g5a3{%K!iX diff --git a/graphics/pokemon/swinub/overworld.png b/graphics/pokemon/swinub/overworld.png index 60bad0ef611873c47a10a9dce39b93f6648f92fd..e4ce6c8c159c95adfaa6503d387d83d7ee3f765c 100644 GIT binary patch delta 462 zcmV;<0WtoT1*`;+7zqdi0001UMu)eNF&h;x008P=0026d000+od=?YYGV91yKLHGwh)O&am{1wdu48;5-k$i$w&j;%qw@PBra zLG}VA%s=4BZmo(aSSSN-O*LyiqjrR5siB^@Mg_=LpxhMD=O{w^j8Gdf;AW7dhWKw_ z5Klbl(5b+vfIcrIM>QEnd^0FMW|6@W_YvO;yepu?%S^PlScR@rGU7FXir8(cUkwfP zIq;#tz~O+G1&Q=`M6Rps%C+qwD1WR|0&r76mje=tbFqKXQ>@F&Tra;#6|X5yJPL4! zIxovIYv_N-!7Ym03mahDp!0YuEU3D5*xa=t2ObA_in-XQvk~^WJ;^|zeS&>X-+6oi zd&_Wp?k))V@Y{gt{kzZ-FP1xbt2>>i_iv4-O4uC*PMo00000Ne4wvM6N<$ Ef+Io2nE(I) delta 568 zcmZ3(GL3bDgd__y0|UdhZCTrZ6id3JuOkD)#(wTUiL4V9r9}-G7+xhXFj&oCU=S~u zvn$XBs7P*NppwevtQ{smHe-^vy9+}HtE>l*!(QU)>&pI&k(W(b_;2LP_=%nJ^^u+~ zjv*e$-(E2cZZ;5M|DfW1T_xoF#)7TZ0lS=qzcamOzTk8|a{9Y_KN;tIxjk!(nA5o> zvzw3C|1SJ+PkDlZN$RO7n!(Hd#2O^WP1g7%W$0FWtnr4?eEHjYUnC3_i(Y-S5iatz zWmC-V-xzT6?z7W=C(IV<-On+Y&Y-a3a*cL<>m9M{+)s}0kza8we~UERny(Daoh+t> zy9%tPYP4xcfKfhoy=|KSj^o)Rno$ znr*;!>sXMviFA)m^=U2Bg6V4eqirut4RC6XnKxgWZ~xS%H{EZ&QuX|CWA;O3GsciJ z83{AhMe9RSon+_j-5m0C$0FtYZ_cg1pRYf^_~Y%!V>XROl4WvyTpGP|e-woX+pkT^ zih9F;OqhT9<&5W1Y7b?N&$F$|IH#o7dJH`N1I<&ZC zpn-EBk3Q7!4xS}Kb@*-00|VVeBR3gjk;5U*6;kAJZwzmIj6^E|^u#Mv;z@cVhZpfP zFDdIo8GnG}Q7UY4;`EUfFtIXGQNDjJHLwTGoMH*j#p?v8RVo&Vx6QJEZ9YvpgORTz zbD6a}NX z%);TBYf6pcTJ=-E*90nG3p^XoTBIc~@hd_Kr6o@uM%xP$ExBe$$NYdRcIt;ftO`6G zuNQfVuvY|FvDrh0+VFS?SjTP({H=JooZc_3<+1snz#s6-{+;~*h-WIE6j=S100000 LNkvXXu0mjfGowIF delta 829 zcmeyxI+1;XgeMC#0|UdhZCTrZ6id3JuOkD)#(wTUiL5}rLb6AYF9SoB8UsT^3j@P1 zpisjL28L1t28LG&3=CE?7#PG0=Ijcz0ZQmjG%{3iS@nh+$YxCPc6VXuV3qX%a@b2e zeO=j~G4ir08Mvvg%$b-aU+?Pa;uzv_{O#3^d9xiP*gvdao};rR?Av9DO78{@1_)|kf~Z1KRa(wDo@z@D*Z*`fg@t+%g@^AgEA2a;KH5BW+r>PYymxEmlrCASrKL2&-n4Ofd!A4)y^nY-}71LnI|j^|7Nt-BqX+BWxLdJd2N z%VqB}?r#3PZTYmi(z1W+OkVO_Hr{13Df-Umo;|4nARU$X03gsYUxpys(XF!c7B%C>iMR1 z`|iP~^Sb?(GS09#ToG1Irp}- z4HYuKDibHns&D^(y3@Dwg>miPxXcY|cRFI!%?@jx<$ip{_2I4=d%1}e&CAft=Yv2Q`FV8O=dG>Cn{+-ykdPnS=jBx zqx8DUrUQ?DME^hjn7=+OZLQkPZ?V9Hrdr|}QIe8al4_M)lnSI6j0}v7bPWu34UIyK wjI4}JtV}Gl4J@n-3>>F1$vs8Uk(-~AnO2Eg$Mg7Qkw6U$p00i_>zopr0LzPUd;kCd diff --git a/graphics/pokemon/togekiss/overworld.png b/graphics/pokemon/togekiss/overworld.png index 0808c0f9bba4408f94b1bd7e451dcd2869e6af01..884cf4c6e03f2894736792d100c30cc88934d823 100644 GIT binary patch delta 728 zcmV;}0w?|829^ep7zqdi0001UMu)eNF&h;x008P=0026d000+od=Y5}*~_St8jefHUB zpJk(${J)LdT;YNQf%LX~3A1Zq8A(i^;I%d4|`NuDqBM>gcaZ)Jd=`LHhR4 zC)ETkcv5ggkt)8eMuM5g1apUfupHmWF+TPN@5=^R|1m~&2HpznbA2UHoxqe+Qpf36 zHD2p?M9th4GeWUL206+^hw=tw2c+P3Os+$ai>n*sA}vqAlG`a{mkudrq?}Qua&(a5 zCe;+{dboJ}sQ#k7)*-PPMIJv%H3W7;>CRf-`l2hjZ@7xI2*LJmZV57fftf>Kdkt$@ zS)VjqugB%*^3x znRHX}=usP=G}_U+?@!vXr<)CHmmhUe2&GYXWr+D9u zU6u}Sjq2OsF>jv14;|hs+S~ug^g`$95Ud>j-R47j$KkWjp4cCn8W65veA{9G0000< KMNUMnLSTYg22srb delta 775 zcmbQn_JD1Igd__y0|UdhZCTrZ6id3JuOkD)#(wTUiL4V9r9}-G7+xhXFj&oCU=S~u zvn$XBs7QKZpuCFb$6PTWn=#4T-G!lpRn`N@VK4FYb!C6X$jhd}>0j0MXkw>)y_%;Id}UTXM!KMVhiwd3Z%VVB z_aa)UX2#54hO%j#)fYu41bFD=2}T@vlxA9vtG;SM<+2)Rp!sny}37j^$7L+bNo?TC&VK-<%`wQ*v&i66f+;1+oq<kiTRkf`ASo!|8bJwch zg-M>%HX1&Q>MwFye7#;YA^61hH)6Awhg-xwUXgLAqxQ|qapyRNi{6{Du9^bPhHP>*A4Yinz3Yinz3 z>%Yjk&-jPU-H+GrxiF$-LXCg615zED_E7l49*>3J79ZRqqrx4;*JUhx;5FrHP4(w zDnum({50^BF=Cd7PYdTL*NdX3N&huJN@d*9`@>ueoSAce9wU#D8O5WCBVd2Up9~xn zS|1Le@ZMTuQDYNl+2Y&qdKoy*sLS5g>U|&IVU0Jw1GZ-5FWFm}@@3*jIs0`XA@_4Q zpw6$}Ywg|2!4R-FBZnhj9X-x$=4b6y=Vi`2_NXt`FF70`mQu#&b1MVKFkOF?HGk^Q wmuDq_w1;C6a8dki&x-47wE!BrW9yIg1(Mbl8o1q)6#xJL07*qoM6N<$f-p7LVE_OC delta 578 zcmdnbvX^y&gd__y0|UdhZCTrZ6id3JuOkD)#(wTUiL4V9r3DQb7+xhXFj&oCU=S~u zvn$YMqOZLyW0JSK3quF1tOrmFdx@v7EBiA>UN&V;25SM;iJkKGd7dtgAs)xyp5N$q zC_sem!R6k(T*q(IoC>CRAGkUxOUBipaLTM-3~YLV9vpnVZW9H3*Vr|DV&Pk|nfr~3 zSH#?yxjkiXbmyH;OS)A5`(O1rUp|K^8i9*ke(vTFx_|mwDnsNU-UTb(xZO}F*3H|dNo^dHm+FUn3@K>YMgRTpLGav2C3AB2)BYgSe>E(9{?El;3@>~9^`g&*{ z>z@Y~Pqrirtbe|Fx!rN`dE(zDe0)=V%J9J1eYZKSp54o1*KK=q-uUG@Nzo#mrFg_Y4%G}r zK9xA&m>$tiahC&l_-ZC;#2w5zXXQ1&$3HP3Y)#(GEH#pUG~z{{3G}O}aKu?5lb6_Z zQX?H+yqQ95Ny>PI7iYQ))P}(k4bAuFE4A%P3xm7q~KgFq!cl8Xtm^0 zB{!_c!D+-zAo7eTu20x8<6vOOX^^jVUDfYic{mcM+pz+!O!ONhD# zN|V^3wyZ_$$lAb&MWBdcuh#{~2 S6vFoa0000IqW5# zzOL-g7?O}We`S2?Q*i#=gr!p}Cg}Xv`Lq9c`8COf z$+E8_{`+J;P1o`JgyPvU+{2QZ;#`xplbm-4>`quUORSWx70$J-4gx*(owTk^73BJP4M{~ zW7GOe^H{0vlR3fBPjesGK0aAf(Ov`;t!kK^Ha+;qO)clr>x#l98_yZCbnEEV&kv-Sj-I!ks#tJvU++f` z9_OtWf3wR4+1*!I8oS*~ZMybGq0^!Mi5zo|Z}@OSxTv8gaQesFraE0~x5TaVUE9HX z{mr%a)Bl;VY+Gz~?0J~da-G+HI_u1J#4N9!@=F%i__JQMRWR%Kj-)VswoQk7dS@<3 z65Xs3QZKC}eI`0jqL(>3(`xssN3Z^!J-6$vG2`1k84oUa7+VWQ2VUGh#Z2nok)tU= z6C2~RtS`6KT(%bJ5}cCUa>~V}#dYnZOUG`WnCaI%jmJc)Hod3$S_t2Q$hjwkRQ@uh z@P^y{mKC&IR{P>PyOCV|%dMWilN${loa^5||9@T5wK)y-A(wcqvUj)!IOTXfl~EA; zePnUbX2oycglDiFYS`_sH1RKwPjt58^JM+w1*b2w^qD*E(lQUe5inn;Bp@@PO6mEW zH~m_tqvK+3&P^-+cm5Z12)j&D>CUX{z~rV{;u=wsl30>zm0Xkxq!^40jEr;*40R2S zLX3>8j7_af4BWL1EUXL+y!5U2py z00000002~jVXgoG01#tgPIdqQ03ZMW03ZMW00000003gS?)m@#1J_AJK~z|U?U&(_ z+aL^tBTFLOIrsjr+m!%=z)sp`I{g#o+DrV&W>=DdyWKwHGd|-phC%cm|IY%5w(VKO zEB^L)Qvl0`A^f*|oQa=B&6KLBFafQ9N?!;l_&VSf50dn$fr*k3DJGyY0f8#v;=zlT zkq3iZ5)uXSlEdc)LO3Y~U-5}DiKwaNtqwL%Dnc9$4m=v%tfs6@ARf+eJ5@07MLw7Y zi7^3zPn5+5d4ty!s;0So;bB@Am0#0;!eis8HmgLPu#^QDLC>>dGn5n`ax(l&$qR zteT}7ei#gVFi5(2fi>Tu@P5zuh{-mcD|GN!A(tc4Q&RP}1k9WQwE`iZYWK8N#y&wG zYcM$TX3!@P%)mL_F;a#-voy|szoBZKqnd*RIpj41)~!bZ79MGP4;1RYOrh`>{^_t( zz=;`*d@yJw@F}-!VV zULznASYCSR0j)v<4+4um1W-zMTj4k)VByxkhHpWkt*q!#BJ?P)i?GapJQ`4Uphcj+ zGQ(O~Dx}i6=vbkm&jnh2+`y25g_r)FcM~iNX=jhv)4GxK%qN2`86N#7>Tg^-*Wizd ztSvpkn1B&M!xK(8>1qI)9zPEVE5D{q2n{%KS}QmRoGbX8^PRuZlF^4QrFVugYM^cVhn!Gl20aS`bG z9RwCSagP`jh+nlH_edE9+Ojiq2@$unKlUB%of3Jo5k6TfJ?CxTGlAZB#E7!rmaV?d zbMYLx_7}zUP&L&*b=WY;`ccUHM;q6ZE-I%@fB!u}CUI)BgIhYyK@e!ivs^Ni?dZ0gh9@2#ZSN-bS>LCy zPNjOKA6BeuIPjA{H*WP1?3pqPc{#OKUT}(>a8$7d!(yBD$r`@)5EjSwBoK1qOSgji`bKB1;x0+gKUI=u9sRmvDQD^R<#9#Ae zF>{XTbMii(4D5Th&gLtDX3zt&tp_LEFmAmN=$9)$d;S<@ljOYWcU(9FPmgImdnM2e zhQK+X-G45SkHTEsUuVf4m3OmxiEF^sL!JwKIo`VeNW-fghy1pj&-l0F7x9B7%@C$q Q0ssI207*qoM6N<$f{_;dS^xk5 delta 1162 zcmV;51a0026e z000+ooVrmw0000gkx?!rLk~+>00001VoOIv0Eh)0NB{r;2XskIMF-{q4F)4G(l(XY zk%=FFrb$FWR7l6|l|66cHW4z_-z`2Ro8!xs$(pWEl=S`a?X z|5YFu9fwcx^ZL&S+K8{7xXO9{15E0eVfI;L84Lie8londBLD{iWw7kz}VigIPHjfRnXPBgoKE^2SsY}XSEY_9&KZl0VPrWohNpyo zL~KdOnrDQ3Ycisism(~eK$1`!5EFps$l@RXR?T$Hlbl0n4ILZ9Y(AS5H@|&%-OQ7T z&q%Y&NR<;zB;!*Pfak!X$|z$E(YuD^yt%Z7p0yz&Nm6awc9qX&BsBrXR5LA&!WUXk z8{m-%z;j^HtU@z;J4;?Bh1r?If_XN7hG?v2Oxtz=Ka zEgA!nzl+OPm8c$N1ZuI{RxLj02|6RoR)GT>!O=1u<~9J&2<8)aSdnOMe*NaU5S^i8 zXTX6sZCfy4#$ZesXa;TsbEpX%wTofSbfG#%48R{1dh~v|KELXYk!Lqv024)jBRDjk zg=S%y;+IJ&*DV#X>FBuTok4W*52g1XGkghu0319BHwt^xq&)>(TFoGznJ&&W*2&!1&Nqbz26U&GO>@~m(9{O$L*_Bw(?Xqpx3u*-eOsAG{*xlHi1H^)VY&^#tN;W@n z9Q?SB%jKKy^+OIYlIm)ZtJDjktyEWqOb7cGt6h&l__M2-#cb{j&`xew%j<3ex>;{m za<^x>kg_MJ45geN802!ZTjbz(vf|b53Ya&z-B8*W+(}B$Zuh)hoNcCk1I??xf$E}k z_on*@O*NkhUou_WzToYDX0ZQ0y78W%GCUkt^kFgh>cggc<$S9i|JWVG@IdfkduCjB z^}5a5hcWzL+rP-`K~pDI`GWue03~!qSaf7zbY(hYa%Ew3WdJfTGBPbNF)cANR5CI; zGc`IiH!CnWIxsMghy^kL001R)MObuXVRU6WZEs|0W_bWIFfuYFEif@HF)~y#GCDIg cIy5&cFgQ9eF#grOjsO4v07*qoM6N<$g4F8(egFUf diff --git a/graphics/pokemon/vaporeon/overworld.png b/graphics/pokemon/vaporeon/overworld.png index beec2a377559ce82e95273be362239f6aa66849a..6343bf315d45b02145d8a548bbcef510ba0bd757 100644 GIT binary patch delta 867 zcmV-p1DyQC2-pXZ7zqdi0001UMu)eNF&hyt008P=0026d000+od=T5 z8%ab#R9J=WnA>iwFbqYpb0-7y|9^Y7!=*r+q*bN%JTxlpsEZ-X;Ml-4{f)ozV}qFS zo0)!Fq%}r@WUQN}F7ibL<(8__u$@NRVyPc?e@Zxn0mXHOIgmQp_nl zL}Q9!jCoN6HU8+i`4x*?`N3+b0vPZj$g&13Hv@2myPC5x#Sm$pk0NmuR5(97mKdTy zN0e*TZ^Wg}V4Zqdp^YLS@p*}`^0&sYhaid!7FaRA3RXNa&f+tGIbwewAmceIeP+bv z6z_uS1t=WL04uoSWXzj!mZiv`#zF2bSaHNqHPoCvzpX(Pe6!C=00UkM_a@lr<(E!e z5krtPHfLmr)PcKT#ic+!kAfzJ0*Ad&OK4H5$bk0*hg@!xq;IY3vXqYxL4{X^4sD8T zSu5~UTGfb4iX68RjR1cRtfd%Zz;0bP)k^TjS$%9oqawn^AzJklJmB&;R8mM4+ydOV z`p5)55#+63*EbsnZ{W>P6iKdH|NrA-He5=vrk|1)Pk>g&AapS&)%LJmhbZ_Pg zZ$5Mq+|Y5`0U$4^iRFH8d#}?l6u@mPGsyj9=d}+q2selwPLelA9WJc>eLC{Kd5p40 tZ-%LN{1F`QGx++6+ppHBNB_pJjDI7zBoK@hLDm2O002ovPDHLkV1kXho0$Lr delta 973 zcmV;;12X*B2gC@F7#Rcu0002CwraKj000DMK}|sb0I`n?{9y%=AsZ1e008P>0026e z000+ooVrmwkxf4x0b)x>L;#2d9Y_EG00(qQO+^Rh0SyKt0S@4p7mRgi{mcSKKCluGQiddjD*<)f0iKXgdvM`jPb?KC) zw#3wpmH{zR%8XhTvUG}v?qxvy0M3o?e0MahfFc%di1eKAo;UYt1Mt86R#6au<-aLZ z<{vz2Tx)X8G#R%D^_q$4)ytzOPo&XFvvi39lK09go^ z#3jgWZCuJ%7Fh`IaqO=G-%oy4FXpsPC^8E|IdFPs&GNeDT$HDb680%4zDN|N4B5PB z4RMhLo_MW!p4YAIkKx3(19&0jStdc#H-rFzCw6Tj^h_48+d!UEe`X9eqHtT~gp{F$ z(m}%d^bF!>NMzJWgiiK%I`eq8!8k{JNAEIW#?8evKtHMZF*gMLq&LU0b}sB@6Y5x| zWiswX+edFcs!TXyvIwv{nrMG5epahKAFy2_G0>J1;Yt?J)@-Z9xEF+bzOOPNW3XbT zyTXrxV8_pPiO2xAf5}P5Z5Dvr9k1h2&V>t66s- zL@gIr80TIXQM7r;gc-wrD*O}#VH9j0gNvC6HLO+mfEBE@C_}?o2tOYpD$KY>57UQD zGwd&IzXf9$ARA+o+XTq;9LAb~7hdh3k;`Tzq+G3rG~oUEf8*+`v&Domg9;HgxqwR3 za~V(GMaJH7Tn$qp<$j+X)&uAJ?fGv{nNVh+5g~un&rdQN!L3Q-{=uMYrb5cL#k$ms zCF4$Uh8biQg)&3UGWD~8Wu?N59ok<1vS=8M>}1IdD#=yB1z>_MV~F(OS7N2Yl(lTk zFfQ1Qn*%V8e}Uq9uFC~f2y<^JJszHt!_DrFgf$CumrXq`+#IUoS!pe|9)ht9^;3kp zUY=u&ZT=mp)Z?Le*~LTQyJ#wpg@Cp?mFL@I6`(ADumiF15-y-F-vJbzvcLsU61bFC zcvhVAI-x@BkSO?~NKfUO!UYe@V#T$78UD-i11ljbbExUrpdJ7K03~!qSaf7zbY(hY za%Ew3WdJfTGBPbNF)cANR5CI;Gc`IeF)J`QIxsM35Scx(U><^Q^-Kjm5- zwLa{}8Q0(SxvoL{Fc|zQaNFd6j@7U7VSKt&^kgvWV}rk9K=`+(26nNq`mhE9Wc9~@yuc&AtV`-Oo~ zg@^%0CPL+u)|h@g1ib}Jj?ASdIRWxt)z(c69YGT z;?vne92HsQheiXP(h!K*(Mbq8;R6GtPYndCF`8i-5whNn->_)s+n~tQ0Coike1)=` z3^?mhztS8)=`wcP~CEqoAbPj{%4K^1?i>r@kSyD-!*Qe$lJ%d&;2 zOM|*a21JWJpynKpYDhN>aLPc(D`TX<9mW!_=fBlu{=J9u0tw{$1s1;6Gkz(YE$Zs8 zw5b4(0iY&@F8jd-MXwzYq7^_Z20-{XnCOD<>jWqkR%*H8V4sSA7F0juSAYi()B?tu zr*k8^DHkFiXZN8y6wS{j-6LcJjjnQ~XU6JLIoO1!dIczQ3&<(O!Bx(>JZSZbc3>3E zdc%OIVM>jTbYt3mf-?$3epL4BGu10V9>JIfFcQ%ns>6~X69V!STN8+ow<$V!GxueQ zZ}f~9;uMAs|4Pq)fCxNS#NPly%($%QD|Ii{e0xJ=3};Z*6&~oaSB7ud=e|QxXh@?C`Y5HdBzx8h{wLS_Z z6SjB`Pjpn11c<&g`bbZ(K<}zRZ>vyUtE1LuLFp%-ztm|&pEk$EkD+Uw0Ev1Ic&Ez% zOTYLJbS{<49~_r@T!)(%`R6})9|cYl^i%zf|1SOjwyGx2V{Cce00000NkvXXu0mjf D3c`UN&V->rjKYKp}zTM87g1tpLS9ih&_% z=eu7F3`{>fT^vI^j=!DapMBdvqFr?HmpeL^x;!zyZvx6ZW1S-P`qqZU9$K)0?^K?z z_d991V|#V87d+u+DPP{(VBIh4Ry8ZHzPWb&-bw#8Ba^sx=hku_>3{S`ZttX=mUplB z{hN8~j!wG9;XmDfyjF*v+H}H-F^wa%|HA4gS}R+&R{Na~lswJGvGqDfP1~x+uOt%R zJ#{)c>jNK?(+?}h2b*6#`6}`G!0FZlGXth+KjZ!%mv*(`{fq9998Nx``g)=MN`b0Y zgLAF*MK2Z$7}xrF&oMEG6%dFOs8TmS{z+T-mb$t7Oo3NF!xfWqPo38JoUuW{fa9dz zN}qLoQ;(l%(OkY=CMs#)a#p>~A|DD)MHsqqob34Zu=EK}g^V9}qu~Ws+tZuoJ*_{M z6K#~bi(#4N(|u|Sbd*o&KYFp??Bg5hX=+pEa4AlRI9$JZuFZtsJQd;HtFKO3Abyke zb9cwaE39na*RcQ0O4j)P_=N4_!YLf73ZmOhxQ{UYQOMi*-_>-7p^KEV|Ku54 zodfeMB)(m$xf;VGQ+cw1t0YpaqoP7~f8lQN3kyy1A`UMTc)sDdCo?C%hDm|z=dZW^ z@BFNNHvINyz8l3I^-_V2e{BT5J+n%xW%Hi#=Hi7{92>ovrKwFE?3E9-kXW85t`-FH#HZmP(Q*iJ$rS11Z!U8TJ}r@ z7DM41QzjZMj9zVDb6;-TZDuBnBC)+CfFgQCzqUY)~)Dg{h6ydix1a558(ZK^3&Q>AG_nqZ~so+5H}+!>eOE~ z?ZjlKZSJZ(#jb0nOpM;{eM8~X=6UY}B&L6^kJ-z zm0Xkxq!^40jEr;*40R2SLX3>8j7_af47Cj`tPBj^L>O=&X)sE)%FR#7OsmALV=imQ Q7Eq@1boFyt=akR{0O^RS*#H0l diff --git a/graphics/pokemon/victini/overworld.png b/graphics/pokemon/victini/overworld.png index 3c76017a13680dcf52e301c85b190b62c162408f..9a003032b0b470bb4e02030f59e5139b5c13a43d 100644 GIT binary patch delta 554 zcmV+_0@eMu1h)i`7=H)@0001UMu)cm0004VQb$4nuFf3k0000mP)t-sn9!(7DH7&Q zD2^x*ZDlLyu1^2}07)Yh=_E=HT%Zf4pu{*Imt@046u%#750D6w~GW5U9`WCE#$25K~h3 z=l(yg26fQ~MK?i(J#foD~kb9q-z+eM}-1roVz@Jk7sW8Y69VQpKFh-ME1;J1SZ^0X*YNVe4hDHasTFA z-De>p$?zIpGkV!;ARDVdv?b5$W!$2Gd@C$}! zZQ~R4V(MDkLPs;?O6GDG55dwQ5eJciwQ+JWC#TQgDk%5>;u9403B*|+!PUgY`$cm| zaFTq7me2L_`xA=l)TvYFmob{3U#+UnkBTLs+FzeloW<@oK}qNpoXd8qI%|eE+F)d8 zbL_NQtC&`GUVqT;zy{C+JALeWm5uB+9;pS3CS%;g%&Tl<_trzupkR|>?9%Es9Gs-6 z+z16@%ss99IvdzcgvQ7`zjAL&b7MGH-95@H1`+2;xIE+pNQEmcz`fp z^$D9q9&`)_iU}j?Np7%FO2I}ErBwB15)leb6Lr8fA<|B{(TE43`bxMU@Esh#PCV#0 zIa9pI3g|o#B<-pj@BnOJz4Iu6-rG_eT8T9T9$E?Tz=xju@cxmA)rm77fCgD$ftl{t sA8r^!I3vMf;(O>%Q<%s?|0D=~0HS1^k%T9AF#rGn07*qoM6N<$g7cO9wEzGB diff --git a/graphics/pokemon/wartortle/overworld.png b/graphics/pokemon/wartortle/overworld.png index 53c5c24a05840e266e8f749cea5b391849e059da..ea8525237637a59760014469955da51e7332b13b 100644 GIT binary patch delta 637 zcmV-@0)qYK2IB>g7zqdi0001UMu)eNF&h;x008P=0026d000+od=B>1Hl));{f1e!+LbC? zRjTG?$opWR+qP=es#U92ty=YKDy8r7|6M8Pq2YkvqJf+<{v(w#(P-!aPn6w?nO!e` zd2Gh*L;tAp^Y6doTc?~NIN^yX6LTqrnLy4d&lc+B7WT_R&v^4Qe`?Qx*?EV%VJ%)2 zuG56O6mjEB;2ksm@*|46WWrsr^a=w^IGq9ED`vb4at{6P95v}VzP}-XCBAX+4&zls z3|FXNyy1v*sXbl7f;XRjUgifB*9083+6@90!Q_=3Cbq zJRe6GKwCiPs0&3{p3kS4AjCF$rHOo)Xso&Z7=6Zo5k;ya%iSJCF2w z01EYA9N*R2KW&~Y2Lm@Ns#)A~ z-|H~N^@*^{Q-+&Q0%V1bR6jnpB50}C)C%q;^V7f7&O6xiHqCtZ&9nB>i?`gZw|)A` zEPCdpHUA$llqGlbCK^6JpkZEgX3eBeugs6v_gMC&USzu4wng@ZY`#~$alVFpS5}{- z_5sfAp7Ga2A2RZ!XdZ9daGT-yo{7oFZUs!6#F7>($WY+LZ8UAwhvI#q4<;^|{x9i| zaPKm%66vcwCx2`>y@O9fW9HTCC zuaNA%^J$XU412C_^HumSogtVUizU6=q+v#?(kFz~K zKk=Sbc5>q3{>)c%7cUpwpE2oczLR#y=7RgS6YA%x?o!|TrLRu(V`LS(io!Qn2m8yJ zi)=1)M@7a99b0VR^P+Qo{ox60Gp=_&tC*7U`)Xg``kjyCr@h#8ZJ*r}vHhFuKfl;| z%LCJpYKdz^NlIc#s#S7PDv)9@GB7gIH89jQGzu{?vNATYGB(pT qu&^>PIP)WCA&Q3F{FKbJN>mLp$U62ey&?W6tH3A}@Yl z-npE+;f~qVkoFS+r|sV!=<0Usoc}TH^=2vc>d$KZYSEq3>aINy*Yo6R{3zD`v*6ZJ z|N9%#=Sdt|a&P_}!I+X;F4`Z=>*QW7=C7z(=Ca%C+Yfej%ZwQsY8g@_<4YPgQR~rm(30z`!9+gZ-2PA@6J=dPQipu)oBq)ovJwn|0YQGr}5gj{%g3Yop!OOacy|V#rv}BgU%$} z5=icPcWQ54w6f%j=zND=2Y*yry|*+dk@{8NcK9Rf$32|+>w5REsh9SfC7GA&d_VDa zTF1wiB|COHPU%~E^P*3rxy|E^W$XcmA3A?sTE(Rvt9e9n^ZAO)+s>Ikh*Iyb zyMs3@u6$=1xN6mb;&*-wHys>hHGcQmT(5l2X{dDVdse)-<=1&(J&OyZq`b4+X71S$ zdA=$&U`f5A^tyWu`=+Eg#B)`L-ZYQ9qx0eIR0*bwym^Ngyr>Rhun~OnuKde+g)+{S z&rSFbYH$TjDEY$i#W09#hyMG&+>Ndu;vcaq8^t@9Zk}rh3}e+2*NBpo#FA92FVdQ&MBb@0C<7l4FCWD diff --git a/graphics/pokemon/wooper/wooper_paldean/overworld.png b/graphics/pokemon/wooper/wooper_paldean/overworld.png index 7f8857dc4679a3398ae5b38af5a62f62e2503c32..f82da6a04dcafbe908a8a3dcf474bace463e76af 100644 GIT binary patch delta 402 zcmV;D0d4;G1N8%tZGUq~L_t(oh3%H%Zo?o9ghRoh_4_~Y?nttwtFc!_+y3~fR;oT@ zpMemTC6!90QmIrbl}e?C1o}sQJ^k8ypU3<%7Y&97e38Dc4C#{)mzQT=-sKm|Goyfw z0EQR_TwdM!E-w|}YF4MZH4dVeqgKd=5m zzC1T*6bSf%IaQXyh+~S7cx3P0n4pMbhTGw<*(>038hmX2+N=SWv$56`YR%Xo5$C1` z8TL@XdInq$gKf;uy)?D_MSNHiSVVf+|4zB8(E+~tIo>=3#N)_bNzt0!z=_)(>}_&= z5MdpI2On!-6n_xi$J_OJdN_Q%rjQzQGwa~s^BhtkM$L}m!JEmszFZ=m9^*dW@`D#= z5(16@)tSLBuI9^7D))DFstdNi!x!#Bq<2E_1Xg^!DG-?%+)O&R5w5Uuypz59ml@^y wt7A|Y;3QxU|F#s2zB=B&tNkP(_1F3U#Xu4~6eD`Z01E&B07*qoM6N<$g89S9wEzGB delta 404 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 delta 994 zcmbQozL8^sgeMC#0|UdhZCTrZ6id3JuOkD)#(wTUiL5}rLb6AYF9SoB8UsT^3j@P1 zpisjL28L1t28LG&3=CE?7#PG0=Ijcz0ZM31G}2RXWmwYyWHTmtySp%Su*!M>IqW5# zzOL-g7EamTas2I7$80G_5%v!^cU*Ywb?ur6SI`Po^TSdx zHo1>)Wn}P8@-bOC-HV6!t*cOAi`<)CACE?R32oXg#H;t4@ssAQ;7mLJ^pf;DQ~QoP zDZW?ucWmbO`FCZ*TI61DlzV-D%90D`r#tDZzF4kivetvEbFTKqP*dk8y;8CDfnu}5 ztmlZAE%bc0FV@sWPwnLOn&=EE^9_f@1vcfpSNi!P=*??qmB;fgESXoKCKTQFY4ekh zOK+UJ_}XWwy2;8nxo2Y@Fy+_z{W`^vn^xBO1%1TcL* zY8`WT--FJ(`d75>H?x=>+gnrlrhmq+UTw8^b3R#rN`9YgUc}Cy@0OB zBNv{t&o#MXQ1)B-f4Px;Gyj6aWh#dcyKi`RBG=nD*Z(cMo~&hT&v)%T3-7Q$y7aTO z*IdTTa2=1CT1?TLb>2LSZzkJ(E{QmvP{`kQM8{xf(1GxC^{m+zoO_D$y8MOrJe=Ue zcGZ5zYVGJFq7grjG3nhY!YZ+$pp1r4jV-RrT^|o^yD-YnI@+e?>-tx7+?%!%uf8(4Cq)ULPOQP`- zFhpbG=Du@Lc@d~QI(Hjq`O*lmt~qF&`3T{GixJ@#b>)M9s)3Me-nT~poWMJl{ojq#YZY0h$bJsc;fM`H>#K7415@PNl>dW@gVyW z9x(_ckzeC4tsqJVUer%Lf)UG>JgSb!a2>a3iO`0+){+1+zsK=f4hhCpAtcss{-m|GpDLw zYNvWo1y=o`L|XHcWxb0_fO5}K5pka9!~2h@3Q0qHY`LLS-IBW$Pm~JPdT%w-JQ#S> zj|o(wm?#X_RV~tvCvJNjk_mHvLLgW9o=vCTd8fDzYUKH3e_gdM$)%(QuJfDOtH6L^ zP5mX$IN159f4@!>%G9;ito}P6XjT*xK_I25^4ow?VmIDP%(!qxm}uBRn+rArtM?gX zNS$f@Jmmw``BLJL=%f^|hv|y?5K0UiNX~}i0xt9y-BO@gRhuN0CMb{h7MT?iYelFJ zJAR`C{g^+{L!89lCW55l9k>Sh(x22Mx7cIqRrdgof8&GvDKDGM)gqHZ1Sq7??Cyc( zrUGPjnKF>nPG-Bl=12xKt{#|Kxmd(Bcv(@@%R!&$r^<=aT;AQv3s2?os)`yPsb1jq z1bz6`ZW#T9(?{oAYU~yrcz`O4i^vl68!j99)&sPdBs+v#7k9p<5gm#eJL5utoSqEl zv=G22fBd9;u1;Yx-f&tyuan>yh72=rJW#%*bYhQT{G5yCqKPjGn9qllB0Ux!5KWwR zCsM2;rHFqVc+mo#FDQ{5^ME%0Q@rAG-p7G`d)|M=+bR!fDN(mPv|fBcks1AL=6=N~ z;55N`u{(Z^H-)lNNV{d8aAxc;_}Mz}1s;BbGn)> f{i#U2?dR0026e z000+ooVrmw0000dkx?roj`pZP00001VoOIv0Eh)0NB{r;2XskIMF-{q4F)3v;O_Z5 zk%=FFTS-JgR7l6|)V*)pMic;W@&-dAPZmP~^+26TQG*tTLY7RFo@}oobXCU)Mm2R2 zVU`+2BZ1#uAb&xVJ$t7NMS=E@>V5Fzq|^cmX92v?md5*2%DB!W54nUY;jsKb;q}CUIW^Dl0n?l!b1JsuN@le>E&V|n|UsnCv zMn%%AgStqQO#QWGfFQVmKnA#~64ciJ<2P0iPUpgRllq=^+w3$Ezmadcn!q}bH!Qfn zfqOQ*iyf6jWnaQZctrwU`g~I#ZEbkdjN9)IFAz)8ExKw zRCYFZBBMUeTwcIU&d+aAFCf(R+dXl`iX0J<8ult;50Yz$C)Wu;e=jq7wbtImA|sIk zCj1^CU)*9T_k{Vjw#Di_v6mA_$PQ^@xTx3}01SVN7Jq;i)z#4m$fj=u4D?m+EgT9Q55YR%;lwYYBK{N)tVvzYd2bxZ3l$G^0+?$9jMM-T^4*e)aI#ybP+KP;@40+A&BgeC{edf% zF8^^m9{eie?^Vg>wN=T~3~I$HzC{L224(#ci9&|ZgXy6wb`ZU6b>XFjSg9=8e1*!p zM=ndImRto?Zy*=ra+vQBUEZ7*ZkNiGndyeK$oLO#T5Q#DO7T$}OSNXND2iygio`{g zs9)k%c(5z6J%DVF=c2~kKeVEMU1UfXi~d8gtx_sR($P-sk=12v=;g%=#+Y7k=aC9i z4-ZZ^8IZMKw{%4!zMPHwVr?;<5tf-U*<$_a+v|M0ZesPf%J$ANCLlkrLY|^&gJ+-J z?w?Jc=W9nz0P>gD|J?RF+MYQ9+eBH&>(@xx;Ki7Y$IWnB*>3KPKNZ`5Km4{|+xCqK zE{0x4!t}r`DJ!ypv7TcyHw?}5|Jd@8Pb~DC!%v$vBw55Vv!F+|e+oy76PC9ek{A9{ zCZlM?%n815c+%CX()3ApNatYi|FsJEkUpI9^V{CvpY%7{{sji>CowxI-~<2w03~!q zSaf7zbY(hYa%Ew3WdJf+FfuYNFflDLGE_1$Ix{soFf%JKI65#e|BWx(0000bbVXQn zWMOn=I&E)cX=ZrP{v6-%jGO0!a0r|J9g~Yv17-MD~RYV{ZB*Th?(rmTK}g(DJ2IC zD4QPjZ@zJwep{Dh;R%404?V!w2IOO_Qvp*9ItF-Gw#s z>8P)E$ypkp*zGh+rvrXn8|Jc2SzxL=9WW>$tD@5y3^Y)6*w>MT8JO@!RU!E=jijb{Fg-ynpI2O6W@m4OpSk z24Nl2Zua}v0)X*#_^QuClq1G>k@4#!uv9t#`h9c;*d`ZbK)KS&fMKvV2+qNjtDa#o zGY>XF;^??<`V$9-Rh7wr^UKme86eP&zv_X5x&q+sTj)Bt^b7^uP@q;PsBIBkP1!W5~lP30000l*!(QU)>&pI&k(W(LYqxuV*u+k`dd9P! zE{-7{$KOsq=yyaxz+q+!|AH-^=UIi$zfIUv7Cq@-!!iB~@)u$czvo^%HBof&#qN{m z63z1^pBd^LzM-mD*y;U-@#^(IuRm={zAE`Y^@@gdfYM|BzY~_#osuaOaM@tA_Wptu zF1f3xY%uz5mwbN7Yolenvv$k=sg-RsFQY&2Ht<7(vGb zrGjqznaAB9@4fx~!-*%pHzY4AE)!Fl>}{v#`Bm14qC44 zAJqzGpW~hywrerx#LY}ve^fu~HC#4$+BCu8^XugY3RE(_)iajbM*c}V8C&h3K@ zf{HP{6Q{4+AeX0M@L(pxIhFvCg3U(e_Cga{LJP`VP3~z0JIZbKm_MI$M`}FxvA4IU z3fYNXV4C(q6IZu{!6U){t{AiX8P-szzA0@ag8WRNi0dVN-jzTQVd20Mn<{@ zhPsAEAx1`4#wJ#tCPvx@7FGrZMn#URQFP?yr(~v8V(NftaMu4R4%EQl>FVdQ&MBb@ E0NuwKHUIzs From 90089ecf51adddf0c8ca05463b39518bd9953716 Mon Sep 17 00:00:00 2001 From: Salem <65783283+u8-Salem@users.noreply.github.com> Date: Sat, 7 Sep 2024 16:13:22 +0200 Subject: [PATCH 51/78] add debug build target (#4817) * add debug build target * fix maybe uninitialized error * add option to undef NDEBUG * debug for agbcc * init instead of ignore to not break agbcc * make clean removes modern and agbcc artifacts. explicit use of -O0 again for NOOPT * automatically enable debug menu when building for debug * automatically enable debug menu when building for debug * automatically enable debug menu when building for debug * clean up previous mess omg * remove preproc around debug menus * automatically enable debug menu when building for debug * clean up previous mess omg * Apply suggestions from code review Co-authored-by: Bassoonian * Update Makefile * Update field_control_avatar.c * make debug print independent * remove unwanted changes * remove trailing endif --------- Co-authored-by: Bassoonian --- Makefile | 36 ++++++++++++++++++++++++++++----- data/scripts/debug.inc | 3 --- src/battle_ai_main.c | 4 +--- src/battle_main.c | 8 ++------ src/debug.c | 3 --- src/field_control_avatar.c | 15 +++++++------- src/librfu_rfu.c | 2 +- src/pokemon_sprite_visualizer.c | 3 --- src/pokemon_summary_screen.c | 4 +--- src/start_menu.c | 9 +++++---- 10 files changed, 48 insertions(+), 39 deletions(-) diff --git a/Makefile b/Makefile index 6f8951d378..52bfe1e93f 100644 --- a/Makefile +++ b/Makefile @@ -41,11 +41,16 @@ REVISION := 0 TEST ?= 0 ANALYZE ?= 0 UNUSED_ERROR ?= 0 +DEBUG ?= 0 ifeq (check,$(MAKECMDGOALS)) TEST := 1 endif +ifeq (debug,$(MAKECMDGOALS)) + DEBUG := 1 +endif + CPP := $(PREFIX)cpp ROM_NAME := pokeemerald.gba @@ -60,6 +65,7 @@ MAP = $(ROM:.gba=.map) SYM = $(ROM:.gba=.sym) TEST_OBJ_DIR_NAME := build/modern-test +DEBUG_OBJ_DIR_NAME := build/modern-debug TESTELF = $(ROM:.gba=-test.elf) HEADLESSELF = $(ROM:.gba=-test-headless.elf) @@ -86,7 +92,8 @@ TEST_BUILDDIR = $(OBJ_DIR)/$(TEST_SUBDIR) ASFLAGS := -mcpu=arm7tdmi --defsym MODERN=1 CC1 = $(shell $(PATH_ARMCC) --print-prog-name=cc1) -quiet -override CFLAGS += -mthumb -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast -std=gnu17 -Werror -Wall -Wno-strict-aliasing -Wno-attribute-alias -Woverride-init +override CFLAGS += -mthumb -mthumb-interwork -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast -std=gnu17 -Werror -Wall -Wno-strict-aliasing -Wno-attribute-alias -Woverride-init + ifeq ($(ANALYZE),1) override CFLAGS += -fanalyzer endif @@ -101,6 +108,12 @@ OBJ_DIR := $(OBJ_DIR_NAME) LIBPATH := -L "$(dir $(shell $(PATH_ARMCC) -mthumb -print-file-name=libgcc.a))" -L "$(dir $(shell $(PATH_ARMCC) -mthumb -print-file-name=libnosys.a))" -L "$(dir $(shell $(PATH_ARMCC) -mthumb -print-file-name=libc.a))" LIB := $(LIBPATH) -lc -lnosys -lgcc -L../../libagbsyscall -lagbsyscall +ifeq ($(DEBUG),1) +override CFLAGS += -Og -g +else +override CFLAGS += -O2 +endif + ifeq ($(TESTELF),$(MAKECMDGOALS)) TEST := 1 endif @@ -108,6 +121,10 @@ endif ifeq ($(TEST),1) OBJ_DIR := $(TEST_OBJ_DIR_NAME) endif +ifeq ($(DEBUG),1) +OBJ_DIR := $(DEBUG_OBJ_DIR_NAME) +endif + CPPFLAGS := -iquote include -iquote $(GFLIB_SUBDIR) -Wno-trigraphs -DMODERN=1 -DTESTING=$(TEST) @@ -146,7 +163,7 @@ MAKEFLAGS += --no-print-directory # Secondary expansion is required for dependency variables in object rules. .SECONDEXPANSION: -.PHONY: all rom clean compare tidy tools check-tools mostlyclean clean-tools clean-check-tools $(TOOLDIRS) $(CHECKTOOLDIRS) libagbsyscall agbcc modern tidymodern tidynonmodern check history +.PHONY: all rom clean compare tidy tools check-tools mostlyclean clean-tools clean-check-tools $(TOOLDIRS) $(CHECKTOOLDIRS) libagbsyscall agbcc modern tidymodern tidynonmodern check history debug infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst __SPACE__, ,$(line)))) @@ -154,7 +171,7 @@ infoshell = $(foreach line, $(shell $1 | sed "s/ /__SPACE__/g"), $(info $(subst # Disable dependency scanning for clean/tidy/tools # Use a separate minimal makefile for speed # Since we don't need to reload most of this makefile -ifeq (,$(filter-out all rom compare agbcc modern check libagbsyscall syms $(TESTELF),$(MAKECMDGOALS))) +ifeq (,$(filter-out all rom compare agbcc modern check libagbsyscall syms $(TESTELF) debug,$(MAKECMDGOALS))) $(call infoshell, $(MAKE) -f make_tools.mk) else NODEP ?= 1 @@ -246,7 +263,7 @@ clean-tools: clean-check-tools: @$(foreach tooldir,$(CHECKTOOLDIRS),$(MAKE) clean -C $(tooldir);) -mostlyclean: tidynonmodern tidymodern tidycheck +mostlyclean: tidynonmodern tidymodern tidycheck tidydebug find sound -iname '*.bin' -exec rm {} + rm -f $(MID_SUBDIR)/*.s find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.rl' -o -iname '*.latfont' -o -iname '*.hwjpnfont' -o -iname '*.fwjpnfont' \) -exec rm {} + @@ -256,7 +273,7 @@ mostlyclean: tidynonmodern tidymodern tidycheck rm -f $(AUTO_GEN_TARGETS) @$(MAKE) clean -C libagbsyscall -tidy: tidymodern tidycheck +tidy: tidymodern tidycheck tidydebug tidymodern: rm -f $(ROM_NAME) $(ELF_NAME) $(MAP_NAME) @@ -266,6 +283,8 @@ tidycheck: rm -f $(TESTELF) $(HEADLESSELF) rm -rf $(TEST_OBJ_DIR_NAME) +tidydebug: + rm -rf $(DEBUG_OBJ_DIR_NAME) include graphics_file_rules.mk include map_data_rules.mk @@ -305,6 +324,11 @@ ifeq ($(DINFO),1) override CFLAGS += -g endif +ifeq ($(NOOPT),1) +override CFLAGS := $(filter-out -O1 -Og -O2,$(CFLAGS)) +override CFLAGS += -O0 +endif + # The dep rules have to be explicit or else missing files won't be reported. # As a side effect, they're evaluated immediately instead of when the rule is invoked. # It doesn't look like $(shell) can be deferred so there might not be a better way. @@ -443,6 +467,8 @@ agbcc: modern: all +debug: all + LD_SCRIPT_TEST := ld_script_test.ld $(OBJ_DIR)/ld_script_test.ld: $(LD_SCRIPT_TEST) $(LD_SCRIPT_DEPS) diff --git a/data/scripts/debug.inc b/data/scripts/debug.inc index 12dc693fd0..4851c87c40 100644 --- a/data/scripts/debug.inc +++ b/data/scripts/debug.inc @@ -1,4 +1,3 @@ -.if DEBUG_OVERWORLD_MENU == TRUE Debug_MessageEnd: waitmessage waitbuttonpress @@ -448,5 +447,3 @@ Debug_EventScript_EWRAMCounters:: Debug_EventScript_EWRAMCounters_Text:: .string "Follower Steps: {STR_VAR_1}.\n" .string "Fishing Chain: {STR_VAR_2}.$" - -.endif diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index ffaa058a08..f554da437d 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -196,14 +196,12 @@ void BattleAI_SetupFlags(void) else AI_THINKING_STRUCT->aiFlags[B_POSITION_PLAYER_LEFT] = 0; // player has no AI -#if DEBUG_OVERWORLD_MENU == TRUE - if (gIsDebugBattle) + if (DEBUG_OVERWORLD_MENU && gIsDebugBattle) { AI_THINKING_STRUCT->aiFlags[B_POSITION_OPPONENT_LEFT] = gDebugAIFlags; AI_THINKING_STRUCT->aiFlags[B_POSITION_OPPONENT_RIGHT] = gDebugAIFlags; return; } -#endif if (IsWildMonSmart() && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER))) { diff --git a/src/battle_main.c b/src/battle_main.c index 319c26bcfa..c77c325db2 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -517,9 +517,7 @@ static void CB2_InitBattleInternal(void) gBattle_BG3_X = 0; gBattle_BG3_Y = 0; -#if DEBUG_OVERWORLD_MENU == TRUE - if (!gIsDebugBattle) -#endif + if (!DEBUG_OVERWORLD_MENU || (DEBUG_OVERWORLD_MENU && !gIsDebugBattle)) { gBattleTerrain = BattleSetup_GetTerrainId(); } @@ -552,9 +550,7 @@ static void CB2_InitBattleInternal(void) else SetMainCallback2(CB2_HandleStartBattle); -#if DEBUG_OVERWORLD_MENU == TRUE - if (!gIsDebugBattle) -#endif + if (!DEBUG_OVERWORLD_MENU || (DEBUG_OVERWORLD_MENU && !gIsDebugBattle)) { if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED))) { diff --git a/src/debug.c b/src/debug.c index a2bf55d95a..a3978fbd40 100644 --- a/src/debug.c +++ b/src/debug.c @@ -68,7 +68,6 @@ #include "constants/weather.h" #include "save.h" -#if DEBUG_OVERWORLD_MENU == TRUE // ******************************* enum DebugMenu { @@ -5129,5 +5128,3 @@ static void DebugAction_Util_CheckEWRAMCounters(u8 taskId) { Debug_DestroyMenu_Full_Script(taskId, Debug_EventScript_EWRAMCounters); } - -#endif //DEBUG_OVERWORLD_MENU == TRUE diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 582617d555..9452e1273e 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -135,13 +135,14 @@ void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys) else if (heldKeys & DPAD_RIGHT) input->dpadDirection = DIR_EAST; -#if DEBUG_OVERWORLD_MENU == TRUE && DEBUG_OVERWORLD_IN_MENU == FALSE - if ((heldKeys & DEBUG_OVERWORLD_HELD_KEYS) && input->DEBUG_OVERWORLD_TRIGGER_EVENT) + if(DEBUG_OVERWORLD_MENU && !DEBUG_OVERWORLD_IN_MENU) { - input->input_field_1_2 = TRUE; - input->DEBUG_OVERWORLD_TRIGGER_EVENT = FALSE; + if ((heldKeys & DEBUG_OVERWORLD_HELD_KEYS) && input->DEBUG_OVERWORLD_TRIGGER_EVENT) + { + input->input_field_1_2 = TRUE; + input->DEBUG_OVERWORLD_TRIGGER_EVENT = FALSE; + } } -#endif } int ProcessPlayerFieldInput(struct FieldInput *input) @@ -201,15 +202,13 @@ int ProcessPlayerFieldInput(struct FieldInput *input) if (input->pressedSelectButton && UseRegisteredKeyItemOnField() == TRUE) return TRUE; -#if DEBUG_OVERWORLD_MENU == TRUE && DEBUG_OVERWORLD_IN_MENU == FALSE - if (input->input_field_1_2) + if(input->input_field_1_2 && DEBUG_OVERWORLD_MENU && !DEBUG_OVERWORLD_IN_MENU) { PlaySE(SE_WIN_OPEN); FreezeObjectEvents(); Debug_ShowMainMenu(); return TRUE; } -#endif return FALSE; } diff --git a/src/librfu_rfu.c b/src/librfu_rfu.c index 152bb716e9..cd7cb6cc5a 100644 --- a/src/librfu_rfu.c +++ b/src/librfu_rfu.c @@ -762,7 +762,7 @@ static void rfu_CB_pollConnectParent(u8 reqCommand, u16 reqResult) u16 id; u8 slot; u8 bm_slot_flag, i; - struct RfuTgtData *target_p; + struct RfuTgtData *target_p = NULL; struct RfuTgtData target_local; if (reqResult == 0) diff --git a/src/pokemon_sprite_visualizer.c b/src/pokemon_sprite_visualizer.c index c83716aeda..a0b7ddabc2 100644 --- a/src/pokemon_sprite_visualizer.c +++ b/src/pokemon_sprite_visualizer.c @@ -41,7 +41,6 @@ #include "constants/items.h" #include "constants/event_objects.h" -#if DEBUG_POKEMON_SPRITE_VISUALIZER == TRUE extern const struct BattleBackground sBattleTerrainTable[]; extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow; extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow; @@ -1763,5 +1762,3 @@ static void Exit_PokemonSpriteVisualizer(u8 taskId) m4aMPlayVolumeControl(&gMPlayInfo_BGM, TRACKS_ALL, 0x100); } } - -#endif diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index a1ebc2b188..bf6ab45a2a 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -1640,15 +1640,13 @@ static void Task_HandleInput(u8 taskId) PlaySE(SE_SELECT); BeginCloseSummaryScreen(taskId); } - #if DEBUG_POKEMON_SPRITE_VISUALIZER == TRUE - else if (JOY_NEW(SELECT_BUTTON) && !gMain.inBattle) + else if (DEBUG_POKEMON_SPRITE_VISUALIZER && JOY_NEW(SELECT_BUTTON) && !gMain.inBattle) { sMonSummaryScreen->callback = CB2_Pokemon_Sprite_Visualizer; StopPokemonAnimations(); PlaySE(SE_SELECT); CloseSummaryScreen(taskId); } - #endif } } diff --git a/src/start_menu.c b/src/start_menu.c index 0525ccf70d..71ab87363c 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -784,10 +784,11 @@ static bool8 StartMenuDebugCallback(void) RemoveExtraStartMenuWindows(); HideStartMenuDebug(); // Hide start menu without enabling movement -#if DEBUG_OVERWORLD_MENU == TRUE - FreezeObjectEvents(); - Debug_ShowMainMenu(); -#endif + if (DEBUG_OVERWORLD_MENU) + { + FreezeObjectEvents(); + Debug_ShowMainMenu(); + } return TRUE; } From 8c3531ffc7049b351011a5ae5be120e1730fd049 Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sat, 7 Sep 2024 09:04:47 -0700 Subject: [PATCH 52/78] Grass/Water Pledge Swamp Animation + Sea of Fire animation tweak (#5325) --- data/battle_anim_scripts.s | 46 +++++++++++++++++- .../battle_anims/backgrounds/swampswizzle.bin | Bin 0 -> 2048 bytes .../battle_anims/backgrounds/swampswizzle.pal | 19 ++++++++ .../battle_anims/backgrounds/swampswizzle.png | Bin 0 -> 25120 bytes include/constants/battle_anim.h | 1 + include/graphics.h | 5 ++ src/data/battle_anim.h | 1 + src/graphics.c | 5 ++ 8 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 graphics/battle_anims/backgrounds/swampswizzle.bin create mode 100644 graphics/battle_anims/backgrounds/swampswizzle.pal create mode 100644 graphics/battle_anims/backgrounds/swampswizzle.png diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 622dd24f18..296de004ac 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -28312,10 +28312,19 @@ gBattleAnimGeneral_SeaOfFire:: monbg ANIM_DEF_PARTNER splitbgprio ANIM_TARGET playsewithpan SE_M_SACRED_FIRE2, SOUND_PAN_TARGET + fadetobg BG_FIRE + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 2, 0, 11, RGB(21, 2, 0) + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_DEF_PARTNER, 2, 0, 11, RGB(21, 2, 0) call SeaOfFireTwisterDos delay 3 call SeaOfFireTwisterTres + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 10, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 10, 1 waitforvisualfinish + restorebg + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 2, 11, 0, RGB(21, 2, 0) + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_DEF_PARTNER, 2, 11, 0, RGB(21, 2, 0) + waitbgfadein clearmonbg ANIM_DEF_PARTNER blendoff end @@ -28350,8 +28359,41 @@ SeaOfFireTwisterTres: delay 2 return -gBattleAnimGeneral_Swamp:: @ To do - goto gBattleAnimMove_Haze +gBattleAnimGeneral_Swamp:: + loadspritegfx ANIM_TAG_RAIN_DROPS + loadspritegfx ANIM_TAG_SMALL_BUBBLES + loadspritegfx ANIM_TAG_THOUGHT_BUBBLE + playsewithpan SE_M_RAIN_DANCE, SOUND_PAN_TARGET + createvisualtask AnimTask_BlendBattleAnimPal, 10, (F_PAL_BG | F_PAL_BATTLERS_2), 2, 0, 4, RGB_BLACK + waitforvisualfinish + createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 60 + createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 60 + createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_SMALL_BUBBLES, 0, 4, 4, RGB(12, 11, 31) + delay 1 + waitforvisualfinish + fadetobg BG_SWAMP + createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 60 + createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 60 + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 2, 0, 11, RGB(11, 26, 10) + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_DEF_PARTNER, 2, 0, 11, RGB(11, 26, 10) + waitbgfadeout + delay 4 + createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 60 + createvisualtask AnimTask_CreateRaindrops, 2, 0, 3, 60 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 1, 0, 10, 1 + createvisualtask AnimTask_ShakeMon2, 2, ANIM_DEF_PARTNER, 1, 0, 10, 1 + loopsewithpan SE_M_CRABHAMMER, SOUND_PAN_TARGET, 20, 3 + waitforvisualfinish + delay 10 + restorebg + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_TARGET, 2, 11, 0, RGB(11, 26, 10) + createvisualtask AnimTask_BlendBattleAnimPal, 10, F_PAL_DEF_PARTNER, 2, 11, 0, RGB(11, 26, 10) + waitbgfadein + createvisualtask AnimTask_BlendBattleAnimPal, 10, (F_PAL_BG | F_PAL_BATTLERS_2), 2, 4, 0, RGB_BLACK + waitforvisualfinish + clearmonbg ANIM_DEF_PARTNER + blendoff + end SnatchMoveTrySwapFromSubstitute: createvisualtask AnimTask_IsAttackerBehindSubstitute, 2 diff --git a/graphics/battle_anims/backgrounds/swampswizzle.bin b/graphics/battle_anims/backgrounds/swampswizzle.bin new file mode 100644 index 0000000000000000000000000000000000000000..54864dd530af53267a00c6702877b233370ac649 GIT binary patch literal 2048 zcmeIvReR6{6oB#3FmiPBzHD@lW^|73?pn}YBL*AYUCJ;>lT=XBPQn%x6qK|(0P%mt zH{fQ^d7g9kI~VT>Aq{CsM|v`lkxXQMV6qTOR|rlY1^#KC z;aQ&JdG@iN103WKhk1b)Il@t1;$@C;oD-bn6sLKGS9y)sd4o53EAVgg4)5|F?{kK; zoZ~zn@F5@ZF`w`$pYb^txX2fL$t5oH6<>3Ot9-+^TnqelZg7)Z+~zyJ=Lde|Cw}G^ ze&siQ=MVnmFaG8q{^bsLxkrd;OlvyRo8kWVQ_N^4Gn>UwvzpE9<}jzZ3^TWR%xgaL zTfl-Avam%gYB7sjLe!Fm2R_15mbQ##EoXTvSkX#Wwu)7)W~9}vVNGjU+d9^@o>A7f zfemeBW19rNsm*L|3tQUCXj|LHwzjjq9qec)JKM#scC))Z>}fB1+sD54v%doz82CXB zc8EhA=5S+-HO_cPIMPv$c8p^k=XfVL(Me8ric_8DbZ400OlJjtwsTB$uJcSX+4(MT vp^IGX5|_Hn<*sn0t6c3G*SgO2Zg8WU-0T*&2LAtssgqhDwLofthf&}^i@~Wi literal 0 HcmV?d00001 diff --git a/graphics/battle_anims/backgrounds/swampswizzle.pal b/graphics/battle_anims/backgrounds/swampswizzle.pal new file mode 100644 index 0000000000..68d0311f6b --- /dev/null +++ b/graphics/battle_anims/backgrounds/swampswizzle.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 0 0 +140 214 132 +115 181 132 +115 181 99 +90 148 90 +90 148 74 +74 115 41 +74 107 57 +57 82 24 +49 82 41 +66 74 33 +33 57 16 +41 49 16 +49 41 8 +16 24 0 +140 222 173 diff --git a/graphics/battle_anims/backgrounds/swampswizzle.png b/graphics/battle_anims/backgrounds/swampswizzle.png new file mode 100644 index 0000000000000000000000000000000000000000..9b4a88cf0a9b6443e0ba9450bf34004e484c775f GIT binary patch literal 25120 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 z Date: Sun, 8 Sep 2024 07:28:16 +0100 Subject: [PATCH 53/78] Fix some Pledge move combo issues (#5330) Fix Pledge moves looping, adds tests for pledge+incapacitation situations --- src/battle_script_commands.c | 6 +- test/battle/move_effect/pledge.c | 438 +++++++++++++++++++++++++++++++ 2 files changed, 442 insertions(+), 2 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 3f483c9ea7..fb6ec724e0 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -16659,7 +16659,7 @@ void BS_SetPledge(void) u32 i = 0; u32 k = 0; - if (gBattleStruct->pledgeMove) + if (gBattleStruct->pledgeMove && !(gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE)) { PrepareStringBattle(STRINGID_USEDMOVE, gBattlerAttacker); gHitMarker |= HITMARKER_ATTACKSTRING_PRINTED; @@ -16688,6 +16688,8 @@ void BS_SetPledge(void) else if ((gChosenActionByBattler[partner] == B_ACTION_USE_MOVE) && gBattleTypeFlags & BATTLE_TYPE_DOUBLE && IsBattlerAlive(partner) + && GetBattlerTurnOrderNum(gBattlerAttacker) < GetBattlerTurnOrderNum(partner) + && !(gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE) && gCurrentMove != partnerMove && gMovesInfo[partnerMove].effect == EFFECT_PLEDGE) { @@ -16726,8 +16728,8 @@ void BS_SetPledge(void) } else { + gBattleStruct->pledgeMove = FALSE; gBattlescriptCurrInstr = cmd->jumpInstr; - } } diff --git a/test/battle/move_effect/pledge.c b/test/battle/move_effect/pledge.c index a1ed91cab6..f17e75dfd2 100644 --- a/test/battle/move_effect/pledge.c +++ b/test/battle/move_effect/pledge.c @@ -330,3 +330,441 @@ DOUBLE_BATTLE_TEST("Damage calculation: Combined pledge move") EXPECT_EQ(expectedDamage, dmg); } } + +DOUBLE_BATTLE_TEST("Pledge move combo fails if ally fails to act - Sleep Right") +{ + u32 speedPLeft, speedPRight, speedOLeft, speedORight; + PARAMETRIZE { speedPLeft = 4; speedPRight = 3; speedOLeft = 8; speedORight = 2; } + PARAMETRIZE { speedPLeft = 4; speedPRight = 3; speedOLeft = 8; speedORight = 5; } + PARAMETRIZE { speedPLeft = 4; speedPRight = 3; speedOLeft = 8; speedORight = 1; } + PARAMETRIZE { speedPLeft = 3; speedPRight = 4; speedOLeft = 8; speedORight = 2; } + PARAMETRIZE { speedPLeft = 3; speedPRight = 4; speedOLeft = 8; speedORight = 5; } + PARAMETRIZE { speedPLeft = 3; speedPRight = 4; speedOLeft = 8; speedORight = 1; } + PARAMETRIZE { speedPLeft = 40; speedPRight = 30; speedOLeft = 8; speedORight = 2; } + PARAMETRIZE { speedPLeft = 40; speedPRight = 30; speedOLeft = 8; speedORight = 5; } + PARAMETRIZE { speedPLeft = 40; speedPRight = 30; speedOLeft = 8; speedORight = 1; } + PARAMETRIZE { speedPLeft = 30; speedPRight = 40; speedOLeft = 8; speedORight = 2; } + PARAMETRIZE { speedPLeft = 30; speedPRight = 40; speedOLeft = 8; speedORight = 5; } + PARAMETRIZE { speedPLeft = 30; speedPRight = 40; speedOLeft = 8; speedORight = 1; } + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Speed(speedPLeft); } + PLAYER(SPECIES_WYNAUT) { Speed(speedPRight); Status1(STATUS1_SLEEP_TURN(2)); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(speedOLeft); } + OPPONENT(SPECIES_WYNAUT) { Speed(speedORight); } + } WHEN { + TURN { MOVE(playerLeft, MOVE_FIRE_PLEDGE, target: opponentRight); MOVE(playerRight, MOVE_GRASS_PLEDGE, target: opponentRight); } + } SCENE { + if (speedPLeft < speedPRight) { + MESSAGE("Wynaut is fast asleep."); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + } else { + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + MESSAGE("Wynaut is fast asleep."); + } + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SEA_OF_FIRE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerRight); + } + } +} + +DOUBLE_BATTLE_TEST("Pledge move combo fails if ally fails to act - Sleep Left") +{ + u32 speedPLeft, speedPRight, speedOLeft, speedORight; + PARAMETRIZE { speedPLeft = 4; speedPRight = 3; speedOLeft = 8; speedORight = 2; } + PARAMETRIZE { speedPLeft = 4; speedPRight = 3; speedOLeft = 8; speedORight = 5; } + PARAMETRIZE { speedPLeft = 4; speedPRight = 3; speedOLeft = 8; speedORight = 1; } + PARAMETRIZE { speedPLeft = 3; speedPRight = 4; speedOLeft = 8; speedORight = 2; } + PARAMETRIZE { speedPLeft = 3; speedPRight = 4; speedOLeft = 8; speedORight = 5; } + PARAMETRIZE { speedPLeft = 3; speedPRight = 4; speedOLeft = 8; speedORight = 1; } + PARAMETRIZE { speedPLeft = 40; speedPRight = 30; speedOLeft = 8; speedORight = 2; } + PARAMETRIZE { speedPLeft = 40; speedPRight = 30; speedOLeft = 8; speedORight = 5; } + PARAMETRIZE { speedPLeft = 40; speedPRight = 30; speedOLeft = 8; speedORight = 1; } + PARAMETRIZE { speedPLeft = 30; speedPRight = 40; speedOLeft = 8; speedORight = 2; } + PARAMETRIZE { speedPLeft = 30; speedPRight = 40; speedOLeft = 8; speedORight = 5; } + PARAMETRIZE { speedPLeft = 30; speedPRight = 40; speedOLeft = 8; speedORight = 1; } + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Speed(speedPLeft); Status1(STATUS1_SLEEP_TURN(2)); } + PLAYER(SPECIES_WYNAUT) { Speed(speedPRight); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(speedOLeft); } + OPPONENT(SPECIES_WYNAUT) { Speed(speedORight); } + } WHEN { + TURN { MOVE(playerRight, MOVE_FIRE_PLEDGE, target: opponentRight); MOVE(playerLeft, MOVE_GRASS_PLEDGE, target: opponentRight); } + } SCENE { + if (speedPRight < speedPLeft) { + MESSAGE("Wobbuffet is fast asleep."); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); + } else { + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); + MESSAGE("Wobbuffet is fast asleep."); + } + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SEA_OF_FIRE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerLeft); + } + } +} + +DOUBLE_BATTLE_TEST("Pledge move combo fails if ally fails to act - Flinch Right") +{ + u32 speedPLeft, speedPRight, speedOLeft, speedORight; + PARAMETRIZE { speedPLeft = 4; speedPRight = 3; speedOLeft = 8; speedORight = 2; } + PARAMETRIZE { speedPLeft = 4; speedPRight = 3; speedOLeft = 8; speedORight = 5; } + PARAMETRIZE { speedPLeft = 4; speedPRight = 3; speedOLeft = 8; speedORight = 1; } + PARAMETRIZE { speedPLeft = 3; speedPRight = 4; speedOLeft = 8; speedORight = 2; } + PARAMETRIZE { speedPLeft = 3; speedPRight = 4; speedOLeft = 8; speedORight = 5; } + PARAMETRIZE { speedPLeft = 3; speedPRight = 4; speedOLeft = 8; speedORight = 1; } + GIVEN { + ASSUME(MoveHasAdditionalEffectWithChance(MOVE_FAKE_OUT, MOVE_EFFECT_FLINCH, 100)); + PLAYER(SPECIES_WOBBUFFET) { Speed(speedPLeft); } + PLAYER(SPECIES_WYNAUT) { Speed(speedPRight); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(speedOLeft); } + OPPONENT(SPECIES_WYNAUT) { Speed(speedORight); } + } WHEN { + TURN { MOVE(opponentLeft, MOVE_FAKE_OUT, target: playerRight); MOVE(playerLeft, MOVE_FIRE_PLEDGE, target: opponentRight); MOVE(playerRight, MOVE_GRASS_PLEDGE, target: opponentRight); } + } SCENE { + if (speedPLeft < speedPRight) { + MESSAGE("Wynaut flinched!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + } else { + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + MESSAGE("Wynaut flinched!"); + } + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SEA_OF_FIRE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerRight); + } + } +} + +DOUBLE_BATTLE_TEST("Pledge move combo fails if ally fails to act - Flinch Left") +{ + u32 speedPLeft, speedPRight, speedOLeft, speedORight; + PARAMETRIZE { speedPLeft = 4; speedPRight = 3; speedOLeft = 8; speedORight = 2; } + PARAMETRIZE { speedPLeft = 4; speedPRight = 3; speedOLeft = 8; speedORight = 5; } + PARAMETRIZE { speedPLeft = 4; speedPRight = 3; speedOLeft = 8; speedORight = 1; } + PARAMETRIZE { speedPLeft = 3; speedPRight = 4; speedOLeft = 8; speedORight = 2; } + PARAMETRIZE { speedPLeft = 3; speedPRight = 4; speedOLeft = 8; speedORight = 5; } + PARAMETRIZE { speedPLeft = 3; speedPRight = 4; speedOLeft = 8; speedORight = 1; } + GIVEN { + ASSUME(MoveHasAdditionalEffectWithChance(MOVE_FAKE_OUT, MOVE_EFFECT_FLINCH, 100)); + PLAYER(SPECIES_WOBBUFFET) { Speed(speedPLeft); } + PLAYER(SPECIES_WYNAUT) { Speed(speedPRight); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(speedOLeft); } + OPPONENT(SPECIES_WYNAUT) { Speed(speedORight); } + } WHEN { + TURN { MOVE(opponentLeft, MOVE_FAKE_OUT, target: playerLeft); MOVE(playerRight, MOVE_FIRE_PLEDGE, target: opponentRight); MOVE(playerLeft, MOVE_GRASS_PLEDGE, target: opponentRight); } + } SCENE { + if (speedPRight < speedPLeft) { + MESSAGE("Wobbuffet flinched!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); + } else { + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); + MESSAGE("Wobbuffet flinched!"); + } + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SEA_OF_FIRE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerLeft); + } + } +} + +DOUBLE_BATTLE_TEST("Pledge move combo doesn't fail if any mon wakes up") +{ + u32 statusLeft, statusRight; + PARAMETRIZE { statusLeft = STATUS1_SLEEP_TURN(1); statusRight = 0; } + PARAMETRIZE { statusLeft = 0; statusRight = STATUS1_SLEEP_TURN(1); } + PARAMETRIZE { statusLeft = STATUS1_SLEEP_TURN(1); statusRight = STATUS1_SLEEP_TURN(1); } + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Speed(4); Status1(statusLeft); } + PLAYER(SPECIES_WYNAUT) { Speed(3); Status1(statusRight); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(8); } + OPPONENT(SPECIES_WYNAUT) { Speed(2); } + } WHEN { + TURN { MOVE(playerLeft, MOVE_FIRE_PLEDGE, target: opponentRight); MOVE(playerRight, MOVE_GRASS_PLEDGE, target: opponentRight); } + } SCENE { + NONE_OF { + MESSAGE("Wobbuffet is fast asleep."); + MESSAGE("Wynaut is fast asleep."); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerRight); + } + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SEA_OF_FIRE, opponentRight); + } +} + +DOUBLE_BATTLE_TEST("Pledge move combo doesn't fail if any mon thaws out") +{ + u32 statusLeft, statusRight; + PARAMETRIZE { statusLeft = STATUS1_FREEZE; statusRight = 0; } + PARAMETRIZE { statusLeft = 0; statusRight = STATUS1_FREEZE; } + PARAMETRIZE { statusLeft = STATUS1_FREEZE; statusRight = STATUS1_FREEZE; } + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Speed(4); Status1(statusLeft); } + PLAYER(SPECIES_WYNAUT) { Speed(3); Status1(statusRight); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(8); } + OPPONENT(SPECIES_WYNAUT) { Speed(2); } + } WHEN { + TURN { MOVE(playerLeft, MOVE_FIRE_PLEDGE, target: opponentRight, WITH_RNG(RNG_FROZEN, 1)); MOVE(playerRight, MOVE_GRASS_PLEDGE, target: opponentRight, WITH_RNG(RNG_FROZEN, 1)); } + } SCENE { + NONE_OF { + MESSAGE("Wobbuffet is frozen solid!"); + MESSAGE("Wynaut is frozen solid!"); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerRight); + } + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SEA_OF_FIRE, opponentRight); + } +} + +DOUBLE_BATTLE_TEST("Pledge move combo fails if ally fails to act - Sleep Both Left Wake Up") +{ + u32 speedLeft, speedRight; + PARAMETRIZE { speedLeft = 4; speedRight = 3; } + PARAMETRIZE { speedLeft = 3; speedRight = 4; } + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Speed(speedLeft); Status1(STATUS1_SLEEP_TURN(1)); } + PLAYER(SPECIES_WYNAUT) { Speed(speedRight); Status1(STATUS1_SLEEP_TURN(2)); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(8); } + OPPONENT(SPECIES_WYNAUT) { Speed(2); } + } WHEN { + TURN { MOVE(playerLeft, MOVE_FIRE_PLEDGE, target: opponentRight); MOVE(playerRight, MOVE_GRASS_PLEDGE, target: opponentRight); } + } SCENE { + if (speedLeft < speedRight) { + MESSAGE("Wynaut is fast asleep."); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + } else { + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + MESSAGE("Wynaut is fast asleep."); + } + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SEA_OF_FIRE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerRight); + } + } +} + +DOUBLE_BATTLE_TEST("Pledge move combo fails if ally fails to act - Sleep Both Right Wake Up") +{ + u32 speedLeft, speedRight; + PARAMETRIZE { speedLeft = 4; speedRight = 3; } + PARAMETRIZE { speedLeft = 3; speedRight = 4; } + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Speed(speedLeft); Status1(STATUS1_SLEEP_TURN(2)); } + PLAYER(SPECIES_WYNAUT) { Speed(speedRight); Status1(STATUS1_SLEEP_TURN(1)); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(8); } + OPPONENT(SPECIES_WYNAUT) { Speed(2); } + } WHEN { + TURN { MOVE(playerLeft, MOVE_FIRE_PLEDGE, target: opponentRight); MOVE(playerRight, MOVE_GRASS_PLEDGE, target: opponentRight); } + } SCENE { + if (speedRight < speedLeft) { + MESSAGE("Wobbuffet is fast asleep."); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerRight); + } else { + NOT ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerRight); + MESSAGE("Wobbuffet is fast asleep."); + } + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SEA_OF_FIRE, opponentRight); + } + } +} + +DOUBLE_BATTLE_TEST("Pledge move combo fails if ally fails to act - Sleep Both Left Faster") +{ + u32 status1; + PARAMETRIZE { status1 = STATUS1_SLEEP_TURN(2); } + PARAMETRIZE { status1 = STATUS1_SLEEP_TURN(3); } + PARAMETRIZE { status1 = STATUS1_SLEEP_TURN(4); } + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Speed(4); Status1(status1); } + PLAYER(SPECIES_WYNAUT) { Speed(3); Status1(status1); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(8); } + OPPONENT(SPECIES_WYNAUT) { Speed(2); } + } WHEN { + TURN { MOVE(playerLeft, MOVE_FIRE_PLEDGE, target: opponentRight); MOVE(playerRight, MOVE_GRASS_PLEDGE, target: opponentRight); } + } SCENE { + MESSAGE("Wobbuffet is fast asleep."); + MESSAGE("Wynaut is fast asleep."); + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SEA_OF_FIRE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerRight); + HP_BAR(opponentRight); + } + } +} + +DOUBLE_BATTLE_TEST("Pledge move combo fails if ally fails to act - Sleep Both Right Faster") +{ + u32 status1; + PARAMETRIZE { status1 = STATUS1_SLEEP_TURN(2); } + PARAMETRIZE { status1 = STATUS1_SLEEP_TURN(3); } + PARAMETRIZE { status1 = STATUS1_SLEEP_TURN(4); } + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Speed(3); Status1(status1); } + PLAYER(SPECIES_WYNAUT) { Speed(4); Status1(status1); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(8); } + OPPONENT(SPECIES_WYNAUT) { Speed(2); } + } WHEN { + TURN { MOVE(playerLeft, MOVE_FIRE_PLEDGE, target: opponentRight); MOVE(playerRight, MOVE_GRASS_PLEDGE, target: opponentRight); } + } SCENE { + MESSAGE("Wynaut is fast asleep."); + MESSAGE("Wobbuffet is fast asleep."); + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SEA_OF_FIRE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerRight); + HP_BAR(opponentRight); + } + } +} + +DOUBLE_BATTLE_TEST("Pledge move combo fails if ally fails to act - Frozen Both Left Faster") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Speed(4); Status1(STATUS1_FREEZE); } + PLAYER(SPECIES_WYNAUT) { Speed(3); Status1(STATUS1_FREEZE); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(8); } + OPPONENT(SPECIES_WYNAUT) { Speed(2); } + } WHEN { + TURN { MOVE(playerLeft, MOVE_FIRE_PLEDGE, target: opponentRight, WITH_RNG(RNG_FROZEN, 0)); MOVE(playerRight, MOVE_GRASS_PLEDGE, target: opponentRight, WITH_RNG(RNG_FROZEN, 0)); } + } SCENE { + MESSAGE("Wobbuffet is frozen solid!"); + MESSAGE("Wynaut is frozen solid!"); + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SEA_OF_FIRE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerRight); + HP_BAR(opponentRight); + } + } +} + +DOUBLE_BATTLE_TEST("Pledge move combo fails if ally fails to act - Frozen Both Right Faster") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Speed(3); Status1(STATUS1_FREEZE); } + PLAYER(SPECIES_WYNAUT) { Speed(4); Status1(STATUS1_FREEZE); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(8); } + OPPONENT(SPECIES_WYNAUT) { Speed(2); } + } WHEN { + TURN { MOVE(playerLeft, MOVE_FIRE_PLEDGE, target: opponentRight, WITH_RNG(RNG_FROZEN, 0)); MOVE(playerRight, MOVE_GRASS_PLEDGE, target: opponentRight, WITH_RNG(RNG_FROZEN, 0)); } + } SCENE { + MESSAGE("Wynaut is frozen solid!"); + MESSAGE("Wobbuffet is frozen solid!"); + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SEA_OF_FIRE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerRight); + HP_BAR(opponentRight); + } + } +} + +DOUBLE_BATTLE_TEST("Pledge move combo fails if ally fails to act - Paralyzed Both Left Faster") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Speed(40); Status1(STATUS1_PARALYSIS); } + PLAYER(SPECIES_WYNAUT) { Speed(30); Status1(STATUS1_PARALYSIS); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(80); } + OPPONENT(SPECIES_WYNAUT) { Speed(2); } + } WHEN { + TURN { MOVE(playerLeft, MOVE_FIRE_PLEDGE, target: opponentRight, WITH_RNG(RNG_PARALYSIS, 0)); MOVE(playerRight, MOVE_GRASS_PLEDGE, target: opponentRight, WITH_RNG(RNG_PARALYSIS, 0)); } + } SCENE { + MESSAGE("Wobbuffet is paralyzed! It can't move!"); + MESSAGE("Wynaut is paralyzed! It can't move!"); + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SEA_OF_FIRE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerRight); + HP_BAR(opponentRight); + } + } +} + +DOUBLE_BATTLE_TEST("Pledge move combo fails if ally fails to act - Paralyzed Both Right Faster") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Speed(30); Status1(STATUS1_PARALYSIS); } + PLAYER(SPECIES_WYNAUT) { Speed(40); Status1(STATUS1_PARALYSIS); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(80); } + OPPONENT(SPECIES_WYNAUT) { Speed(2); } + } WHEN { + TURN { MOVE(playerLeft, MOVE_FIRE_PLEDGE, target: opponentRight, WITH_RNG(RNG_PARALYSIS, 0)); MOVE(playerRight, MOVE_GRASS_PLEDGE, target: opponentRight, WITH_RNG(RNG_PARALYSIS, 0)); } + } SCENE { + MESSAGE("Wynaut is paralyzed! It can't move!"); + MESSAGE("Wobbuffet is paralyzed! It can't move!"); + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SEA_OF_FIRE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerRight); + HP_BAR(opponentRight); + } + } +} + +DOUBLE_BATTLE_TEST("Pledge move combo fails if ally fails to act - Flinch Both Left Faster") +{ + GIVEN { + ASSUME(MoveHasAdditionalEffectWithChance(MOVE_FAKE_OUT, MOVE_EFFECT_FLINCH, 100)); + PLAYER(SPECIES_WOBBUFFET) { Speed(4); } + PLAYER(SPECIES_WYNAUT) { Speed(3); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(8); } + OPPONENT(SPECIES_WYNAUT) { Speed(2); } + } WHEN { + TURN { MOVE(opponentLeft, MOVE_FAKE_OUT, target: playerLeft); MOVE(opponentRight, MOVE_FAKE_OUT, target: playerRight); MOVE(playerRight, MOVE_FIRE_PLEDGE, target: opponentRight); MOVE(playerLeft, MOVE_GRASS_PLEDGE, target: opponentRight); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FAKE_OUT, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FAKE_OUT, opponentRight); + MESSAGE("Wobbuffet flinched!"); + MESSAGE("Wynaut flinched!"); + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SEA_OF_FIRE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerLeft); + HP_BAR(opponentRight); + } + } +} + +DOUBLE_BATTLE_TEST("Pledge move combo fails if ally fails to act - Flinch Both Right Faster") +{ + GIVEN { + ASSUME(MoveHasAdditionalEffectWithChance(MOVE_FAKE_OUT, MOVE_EFFECT_FLINCH, 100)); + PLAYER(SPECIES_WOBBUFFET) { Speed(3); } + PLAYER(SPECIES_WYNAUT) { Speed(4); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(8); } + OPPONENT(SPECIES_WYNAUT) { Speed(2); } + } WHEN { + TURN { MOVE(opponentLeft, MOVE_FAKE_OUT, target: playerLeft); MOVE(opponentRight, MOVE_FAKE_OUT, target: playerRight); MOVE(playerRight, MOVE_FIRE_PLEDGE, target: opponentRight); MOVE(playerLeft, MOVE_GRASS_PLEDGE, target: opponentRight); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FAKE_OUT, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FAKE_OUT, opponentRight); + MESSAGE("Wynaut flinched!"); + MESSAGE("Wobbuffet flinched!"); + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_SEA_OF_FIRE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerLeft); + HP_BAR(opponentRight); + } + } +} From 03e87a7d62162e94eb3b857315e9f83f42e7b951 Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Sun, 8 Sep 2024 10:38:52 +0200 Subject: [PATCH 54/78] Pledge fail into opponent pledge loop fix (#5339) * Pledge fail into opponent pledge loop fix * Fixed excessively aggressive canceller * Move the Pledge bit clear to its proper place --------- Co-authored-by: Hedara --- src/battle_script_commands.c | 2 ++ test/battle/move_effect/pledge.c | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index fb6ec724e0..13795ee61c 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -6438,6 +6438,8 @@ static void Cmd_moveend(void) gBattleStruct->poisonPuppeteerConfusion = FALSE; gBattleStruct->fickleBeamBoosted = FALSE; gBattleStruct->distortedTypeMatchups = 0; + if (gHitMarker & HITMARKER_UNABLE_TO_USE_MOVE) + gBattleStruct->pledgeMove = FALSE; if (GetActiveGimmick(gBattlerAttacker) == GIMMICK_Z_MOVE) SetActiveGimmick(gBattlerAttacker, GIMMICK_NONE); if (B_CHARGE <= GEN_8 || moveType == TYPE_ELECTRIC) diff --git a/test/battle/move_effect/pledge.c b/test/battle/move_effect/pledge.c index f17e75dfd2..32e9e070b4 100644 --- a/test/battle/move_effect/pledge.c +++ b/test/battle/move_effect/pledge.c @@ -768,3 +768,26 @@ DOUBLE_BATTLE_TEST("Pledge move combo fails if ally fails to act - Flinch Both R } } } + +DOUBLE_BATTLE_TEST("Pledge move combo doesn't trigger on opponent's Pledge move") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Speed(4); } + PLAYER(SPECIES_WYNAUT) { Speed(3); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(8); } + OPPONENT(SPECIES_WYNAUT) { Speed(5); Status1(STATUS1_SLEEP_TURN(2)); } + } WHEN { + TURN { MOVE(opponentLeft, MOVE_FIRE_PLEDGE, target: playerLeft); + MOVE(opponentRight, MOVE_GRASS_PLEDGE, target: playerLeft); + MOVE(playerLeft, MOVE_GRASS_PLEDGE, target: opponentRight); } + } SCENE { + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + } + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerLeft); + HP_BAR(opponentRight); + } +} From d6d2f2033de91545e699e423688a7c79ccf173ef Mon Sep 17 00:00:00 2001 From: PhallenTree <168426989+PhallenTree@users.noreply.github.com> Date: Sun, 8 Sep 2024 12:41:23 +0100 Subject: [PATCH 55/78] Fixes Pledge move combo timeout if frozen (#5340) Missing `HITMARKER_UNABLE_TO_USE_MOVE` in the frozen canceller --- src/battle_util.c | 2 +- test/battle/move_effect/pledge.c | 23 ++++++++++++++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/battle_util.c b/src/battle_util.c index 656607480b..afb7e474d5 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -3296,7 +3296,7 @@ u8 AtkCanceller_UnableToUseMove(u32 moveType) if (!RandomPercentage(RNG_FROZEN, 20)) { gBattlescriptCurrInstr = BattleScript_MoveUsedIsFrozen; - gHitMarker |= HITMARKER_NO_ATTACKSTRING; + gHitMarker |= (HITMARKER_NO_ATTACKSTRING | HITMARKER_UNABLE_TO_USE_MOVE); } else // unfreeze { diff --git a/test/battle/move_effect/pledge.c b/test/battle/move_effect/pledge.c index 32e9e070b4..96fcb94191 100644 --- a/test/battle/move_effect/pledge.c +++ b/test/battle/move_effect/pledge.c @@ -769,7 +769,7 @@ DOUBLE_BATTLE_TEST("Pledge move combo fails if ally fails to act - Flinch Both R } } -DOUBLE_BATTLE_TEST("Pledge move combo doesn't trigger on opponent's Pledge move") +DOUBLE_BATTLE_TEST("Pledge move combo doesn't trigger on opponent's Pledge move - Sleep") { GIVEN { PLAYER(SPECIES_WOBBUFFET) { Speed(4); } @@ -791,3 +791,24 @@ DOUBLE_BATTLE_TEST("Pledge move combo doesn't trigger on opponent's Pledge move" HP_BAR(opponentRight); } } + +DOUBLE_BATTLE_TEST("Pledge move combo doesn't trigger on opponent's Pledge move - Freeze") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET) { Speed(4); } + PLAYER(SPECIES_WYNAUT) { Speed(3); } + OPPONENT(SPECIES_WOBBUFFET) { Speed(8); } + OPPONENT(SPECIES_WYNAUT) { Speed(5); Status1(STATUS1_FREEZE); } + } WHEN { + TURN { MOVE(opponentLeft, MOVE_FIRE_PLEDGE, target: playerLeft); MOVE(opponentRight, MOVE_GRASS_PLEDGE, target: playerLeft, WITH_RNG(RNG_FROZEN, 0)); MOVE(playerLeft, MOVE_GRASS_PLEDGE, target: opponentRight); } + } SCENE { + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + } + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerLeft); + HP_BAR(opponentRight); + } +} From b8251e3a756f838f744910597fd84e1501414e70 Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Sun, 8 Sep 2024 16:17:18 +0200 Subject: [PATCH 56/78] Another Pledge fix, Powder this time (#5341) Co-authored-by: Hedara --- src/battle_util.c | 1 + test/battle/move_effect/pledge.c | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/src/battle_util.c b/src/battle_util.c index afb7e474d5..c0ab04b5b7 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -3551,6 +3551,7 @@ u8 AtkCanceller_UnableToUseMove(u32 moveType) gProtectStructs[gBattlerAttacker].powderSelfDmg = TRUE; gBattleMoveDamage = GetNonDynamaxMaxHP(gBattlerAttacker) / 4; gBattlescriptCurrInstr = BattleScript_MoveUsedPowder; + gHitMarker |= HITMARKER_UNABLE_TO_USE_MOVE; effect = 1; } } diff --git a/test/battle/move_effect/pledge.c b/test/battle/move_effect/pledge.c index 96fcb94191..2220b74186 100644 --- a/test/battle/move_effect/pledge.c +++ b/test/battle/move_effect/pledge.c @@ -812,3 +812,27 @@ DOUBLE_BATTLE_TEST("Pledge move combo doesn't trigger on opponent's Pledge move HP_BAR(opponentRight); } } + +DOUBLE_BATTLE_TEST("Pledge move combo doesn't trigger on opponent's Pledge move - Powder") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WYNAUT); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(playerLeft, MOVE_POWDER, target: opponentRight); + MOVE(opponentLeft, MOVE_GRASS_PLEDGE, target: playerLeft); + MOVE(opponentRight, MOVE_FIRE_PLEDGE, target: playerLeft); + MOVE(playerRight, MOVE_FIRE_PLEDGE, target: opponentLeft); } + } SCENE { + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + } + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); + HP_BAR(opponentLeft); + } +} From 6d020eb366269a7da5c37aa51b8e9be51d63a8a6 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 8 Sep 2024 14:14:05 -0300 Subject: [PATCH 57/78] Cleaned up duplicate dynamic type functions (#5338) * Cleaned up duplicated dynamic type functions * Small cleanup * Oops, last cleanup broke stuff * Alignment Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com> --------- Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com> --- include/battle_main.h | 1 + include/config/pokemon.h | 2 +- src/battle_controller_player.c | 15 +- src/battle_main.c | 279 ++++++++++++++++++++++----------- src/battle_script_commands.c | 2 +- src/pokemon.c | 172 +------------------- src/pokemon_summary_screen.c | 13 +- 7 files changed, 202 insertions(+), 282 deletions(-) diff --git a/include/battle_main.h b/include/battle_main.h index eb0af5aa77..7e3206c554 100644 --- a/include/battle_main.h +++ b/include/battle_main.h @@ -80,6 +80,7 @@ s32 GetWhichBattlerFaster(u32 battler1, u32 battler2, bool32 ignoreChosenMoves); void RunBattleScriptCommands_PopCallbacksStack(void); void RunBattleScriptCommands(void); void SpecialStatusesClear(void); +u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, u8 *ateBoost); void SetTypeBeforeUsingMove(u32 move, u32 battlerAtk); bool32 IsWildMonSmart(void); u8 CreateNPCTrainerPartyFromTrainer(struct Pokemon *party, const struct Trainer *trainer, bool32 firstTrainer, u32 battleTypeFlags); diff --git a/include/config/pokemon.h b/include/config/pokemon.h index 89e72cec17..15db4881b5 100644 --- a/include/config/pokemon.h +++ b/include/config/pokemon.h @@ -51,7 +51,7 @@ #define P_TWO_FRAME_FRONT_SPRITES TRUE // In Pokémon Emerald, Pokémon front sprites always consist of two frames. This config can revert it to only use the first frame, as is the case in the other Gen 3 games. #define P_ONLY_OBTAINABLE_SHINIES FALSE // If TRUE, Pokémon encountered in the Battle Pyramid won't be shiny. #define P_NO_SHINIES_WITHOUT_POKEBALLS FALSE // If TRUE, Pokémon encountered when the player is out of Poké Balls won't be shiny -#define P_SHOW_DYNAMIC_TYPES FALSE // If TRUE, moves with dynamic type changes will be reflected as their current type in battle/summary screens. +#define P_SHOW_DYNAMIC_TYPES FALSE // If TRUE, all moves with dynamic type changes will be reflected as their current type in battle/summary screens instead of just select ones like in vanilla. // Learnset helper toggles #define P_LEARNSET_HELPER_TEACHABLE TRUE // If TRUE, teachable_learnsets.h will be populated by tools/learnset_helpers/teachable.py using the included JSON files based on available TMs and tutors. diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 209a40e751..afff143266 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -1720,7 +1720,6 @@ static void MoveSelectionDisplayMoveType(u32 battler) { if (IsGimmickSelected(battler, GIMMICK_TERA) || GetActiveGimmick(battler) == GIMMICK_TERA) type = GetBattlerTeraType(battler); - end = StringCopy(txtPtr, gTypesInfo[type].name); } else if (moveInfo->moves[gMoveSelectionCursor[battler]] == MOVE_IVY_CUDGEL) { @@ -1730,32 +1729,24 @@ static void MoveSelectionDisplayMoveType(u32 battler) || speciesId == SPECIES_OGERPON_HEARTHFLAME_MASK || speciesId == SPECIES_OGERPON_HEARTHFLAME_MASK_TERA || speciesId == SPECIES_OGERPON_CORNERSTONE_MASK || speciesId == SPECIES_OGERPON_CORNERSTONE_MASK_TERA) type = gBattleMons[battler].types[1]; - end = StringCopy(txtPtr, gTypesInfo[type].name); } - // Max Guard is a Normal-type move else if (gMovesInfo[moveInfo->moves[gMoveSelectionCursor[battler]]].category == DAMAGE_CATEGORY_STATUS && (GetActiveGimmick(battler) == GIMMICK_DYNAMAX || IsGimmickSelected(battler, GIMMICK_DYNAMAX))) { - type = TYPE_NORMAL; - end = StringCopy(txtPtr, gTypesInfo[type].name); + type = TYPE_NORMAL; // Max Guard is always a Normal-type move } else if (moveInfo->moves[gMoveSelectionCursor[battler]] == MOVE_TERA_STARSTORM) { if (gBattleMons[battler].species == SPECIES_TERAPAGOS_STELLAR || (IsGimmickSelected(battler, GIMMICK_TERA) && gBattleMons[battler].species == SPECIES_TERAPAGOS_TERASTAL)) type = TYPE_STELLAR; - end = StringCopy(txtPtr, gTypesInfo[type].name); } - else if (P_SHOW_DYNAMIC_TYPES) + else if (P_SHOW_DYNAMIC_TYPES) // Non-vanilla changes to battle UI showing dynamic types { struct Pokemon *mon = &gPlayerParty[gBattlerPartyIndexes[battler]]; type = CheckDynamicMoveType(mon, moveInfo->moves[gMoveSelectionCursor[battler]], battler); - end = StringCopy(txtPtr, gTypesInfo[type].name); - } - else - { - end = StringCopy(txtPtr, gTypesInfo[type].name); } + end = StringCopy(txtPtr, gTypesInfo[type].name); PrependFontIdToFit(txtPtr, end, FONT_NORMAL, WindowWidthPx(B_WIN_MOVE_TYPE) - 25); BattlePutTextOnWindow(gDisplayedStringBattle, B_WIN_MOVE_TYPE); diff --git a/src/battle_main.c b/src/battle_main.c index c77c325db2..a4c55ce9b5 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -23,6 +23,7 @@ #include "dma3.h" #include "event_data.h" #include "evolution_scene.h" +#include "field_weather.h" #include "graphics.h" #include "gpu_regs.h" #include "international_string_util.h" @@ -67,6 +68,7 @@ #include "constants/rgb.h" #include "constants/songs.h" #include "constants/trainers.h" +#include "constants/weather.h" #include "cable_club.h" extern const struct BgTemplate gBattleBgTemplates[]; @@ -5774,151 +5776,246 @@ bool32 TrySetAteType(u32 move, u32 battlerAtk, u32 attackerAbility) return FALSE; } -void SetTypeBeforeUsingMove(u32 move, u32 battlerAtk) +// Returns TYPE_NONE if type doesn't change. +// NULL can be passed to ateBoost to avoid applying ate-ability boosts when opening the summary screen in-battle. +u32 GetDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler, u8 *ateBoost) { - u32 moveType, attackerAbility; - u16 holdEffect = GetBattlerHoldEffect(battlerAtk, TRUE); + u32 moveType = gMovesInfo[move].type; + u32 moveEffect = gMovesInfo[move].effect; + u32 species, heldItem, holdEffect, ability, type1, type2, type3; if (move == MOVE_STRUGGLE) - return; + return TYPE_NORMAL; - gBattleStruct->dynamicMoveType = 0; - gBattleStruct->ateBoost[battlerAtk] = 0; - gSpecialStatuses[battlerAtk].gemBoost = FALSE; - - if (gMovesInfo[move].effect == EFFECT_WEATHER_BALL) + if (gMain.inBattle) { - if (WEATHER_HAS_EFFECT) + species = gBattleMons[battler].species; + heldItem = gBattleMons[battler].item; + holdEffect = GetBattlerHoldEffect(battler, TRUE); + ability = GetBattlerAbility(battler); + type1 = gBattleMons[battler].types[0]; + type2 = gBattleMons[battler].types[1]; + type3 = gBattleMons[battler].types[2]; + } + else + { + species = GetMonData(mon, MON_DATA_SPECIES); + heldItem = GetMonData(mon, MON_DATA_HELD_ITEM, 0); + holdEffect = ItemId_GetHoldEffect(heldItem); + ability = GetMonAbility(mon); + type1 = gSpeciesInfo[species].types[0]; + type2 = gSpeciesInfo[species].types[1]; + type3 = TYPE_MYSTERY; + } + + if (moveEffect == EFFECT_WEATHER_BALL) + { + if (gMain.inBattle && WEATHER_HAS_EFFECT) { if (gBattleWeather & B_WEATHER_RAIN && holdEffect != HOLD_EFFECT_UTILITY_UMBRELLA) - gBattleStruct->dynamicMoveType = TYPE_WATER | F_DYNAMIC_TYPE_SET; + return TYPE_WATER; else if (gBattleWeather & B_WEATHER_SANDSTORM) - gBattleStruct->dynamicMoveType = TYPE_ROCK | F_DYNAMIC_TYPE_SET; + return TYPE_ROCK; else if (gBattleWeather & B_WEATHER_SUN && holdEffect != HOLD_EFFECT_UTILITY_UMBRELLA) - gBattleStruct->dynamicMoveType = TYPE_FIRE | F_DYNAMIC_TYPE_SET; - else if (gBattleWeather & (B_WEATHER_HAIL | B_WEATHER_SNOW)) - gBattleStruct->dynamicMoveType = TYPE_ICE | F_DYNAMIC_TYPE_SET; + return TYPE_FIRE; + else if (gBattleWeather & (B_WEATHER_SNOW | B_WEATHER_HAIL)) + return TYPE_ICE; else - gBattleStruct->dynamicMoveType = TYPE_NORMAL | F_DYNAMIC_TYPE_SET; + return moveType; + } + else + { + switch (gWeatherPtr->currWeather) + { + case WEATHER_DROUGHT: + if (holdEffect != HOLD_EFFECT_UTILITY_UMBRELLA) + return TYPE_FIRE; + break; + case WEATHER_RAIN: + case WEATHER_RAIN_THUNDERSTORM: + if (holdEffect != HOLD_EFFECT_UTILITY_UMBRELLA) + return TYPE_WATER; + break; + case WEATHER_SNOW: + return TYPE_ICE; + case WEATHER_SANDSTORM: + return TYPE_ROCK; + } + return moveType; } } - else if (gMovesInfo[move].effect == EFFECT_HIDDEN_POWER) + else if (moveEffect == EFFECT_HIDDEN_POWER) { - u8 typeBits = ((gBattleMons[battlerAtk].hpIV & 1) << 0) - | ((gBattleMons[battlerAtk].attackIV & 1) << 1) - | ((gBattleMons[battlerAtk].defenseIV & 1) << 2) - | ((gBattleMons[battlerAtk].speedIV & 1) << 3) - | ((gBattleMons[battlerAtk].spAttackIV & 1) << 4) - | ((gBattleMons[battlerAtk].spDefenseIV & 1) << 5); + u8 typeBits; + if (gMain.inBattle) + { + typeBits = ((gBattleMons[battler].hpIV & 1) << 0) + | ((gBattleMons[battler].attackIV & 1) << 1) + | ((gBattleMons[battler].defenseIV & 1) << 2) + | ((gBattleMons[battler].speedIV & 1) << 3) + | ((gBattleMons[battler].spAttackIV & 1) << 4) + | ((gBattleMons[battler].spDefenseIV & 1) << 5); + } + else + { + typeBits = ((GetMonData(mon, MON_DATA_HP_IV) & 1) << 0) + | ((GetMonData(mon, MON_DATA_ATK_IV) & 1) << 1) + | ((GetMonData(mon, MON_DATA_DEF_IV) & 1) << 2) + | ((GetMonData(mon, MON_DATA_SPEED_IV) & 1) << 3) + | ((GetMonData(mon, MON_DATA_SPATK_IV) & 1) << 4) + | ((GetMonData(mon, MON_DATA_SPDEF_IV) & 1) << 5); + } // Subtract 6 instead of 1 below because 5 types are excluded (TYPE_NONE, TYPE_NORMAL, TYPE_MYSTERY, TYPE_FAIRY and TYPE_STELLAR) // The final + 2 skips past TYPE_NONE and Normal. - gBattleStruct->dynamicMoveType = ((NUMBER_OF_MON_TYPES - 6) * typeBits) / 63 + 2; - if (gBattleStruct->dynamicMoveType >= TYPE_MYSTERY) - gBattleStruct->dynamicMoveType++; - gBattleStruct->dynamicMoveType |= F_DYNAMIC_TYPE_IGNORE_PHYSICALITY | F_DYNAMIC_TYPE_SET; + moveType = ((NUMBER_OF_MON_TYPES - 6) * typeBits) / 63 + 2; + if (moveType >= TYPE_MYSTERY) + moveType++; + return (moveType | F_DYNAMIC_TYPE_IGNORE_PHYSICALITY); } - else if (gMovesInfo[move].effect == EFFECT_CHANGE_TYPE_ON_ITEM && holdEffect == gMovesInfo[move].argument) + else if (moveEffect == EFFECT_CHANGE_TYPE_ON_ITEM && holdEffect == gMovesInfo[move].argument) { - gBattleStruct->dynamicMoveType = ItemId_GetSecondaryId(gBattleMons[battlerAtk].item) | F_DYNAMIC_TYPE_SET; + return ItemId_GetSecondaryId(heldItem); } - else if (gMovesInfo[move].effect == EFFECT_REVELATION_DANCE && GetActiveGimmick(battlerAtk) != GIMMICK_Z_MOVE) + else if (moveEffect == EFFECT_REVELATION_DANCE && GetActiveGimmick(battler) != GIMMICK_Z_MOVE) { - if (GetActiveGimmick(battlerAtk) == GIMMICK_TERA && GetBattlerTeraType(battlerAtk) != TYPE_STELLAR) - gBattleStruct->dynamicMoveType = GetBattlerTeraType(battlerAtk); - else if (gBattleMons[battlerAtk].types[0] != TYPE_MYSTERY && !(gBattleResources->flags->flags[battlerAtk] & RESOURCE_FLAG_ROOST && gBattleMons[battlerAtk].types[0] == TYPE_FLYING)) - gBattleStruct->dynamicMoveType = gBattleMons[battlerAtk].types[0] | F_DYNAMIC_TYPE_SET; - else if (gBattleMons[battlerAtk].types[1] != TYPE_MYSTERY && !(gBattleResources->flags->flags[battlerAtk] & RESOURCE_FLAG_ROOST && gBattleMons[battlerAtk].types[1] == TYPE_FLYING)) - gBattleStruct->dynamicMoveType = gBattleMons[battlerAtk].types[1] | F_DYNAMIC_TYPE_SET; - else if (gBattleResources->flags->flags[battlerAtk] & RESOURCE_FLAG_ROOST) - gBattleStruct->dynamicMoveType = (B_ROOST_PURE_FLYING >= GEN_5 ? TYPE_NORMAL : TYPE_MYSTERY) | F_DYNAMIC_TYPE_SET; - else if (gBattleMons[battlerAtk].types[2] != TYPE_MYSTERY) - gBattleStruct->dynamicMoveType = gBattleMons[battlerAtk].types[2] | F_DYNAMIC_TYPE_SET; + u8 teraType; + if (GetActiveGimmick(battler) == GIMMICK_TERA && ((teraType = GetMonData(mon, MON_DATA_TERA_TYPE)) != TYPE_STELLAR)) + return teraType; + else if (type1 != TYPE_MYSTERY && !(gBattleResources->flags->flags[battler] & RESOURCE_FLAG_ROOST && type1 == TYPE_FLYING)) + return type1; + else if (type2 != TYPE_MYSTERY && !(gBattleResources->flags->flags[battler] & RESOURCE_FLAG_ROOST && type2 == TYPE_FLYING)) + return type2; + else if (gBattleResources->flags->flags[battler] & RESOURCE_FLAG_ROOST) + return (B_ROOST_PURE_FLYING >= GEN_5 ? TYPE_NORMAL : TYPE_MYSTERY); + else if (type3 != TYPE_MYSTERY) + return type3; else - gBattleStruct->dynamicMoveType = TYPE_MYSTERY | F_DYNAMIC_TYPE_SET; + return TYPE_MYSTERY; } - else if (gMovesInfo[move].effect == EFFECT_RAGING_BULL - && (gBattleMons[battlerAtk].species == SPECIES_TAUROS_PALDEAN_COMBAT_BREED - || gBattleMons[battlerAtk].species == SPECIES_TAUROS_PALDEAN_BLAZE_BREED - || gBattleMons[battlerAtk].species == SPECIES_TAUROS_PALDEAN_AQUA_BREED)) + else if (moveEffect == EFFECT_RAGING_BULL + && (species == SPECIES_TAUROS_PALDEAN_COMBAT_BREED + || species == SPECIES_TAUROS_PALDEAN_BLAZE_BREED + || species == SPECIES_TAUROS_PALDEAN_AQUA_BREED)) { - gBattleStruct->dynamicMoveType = gBattleMons[battlerAtk].types[1] | F_DYNAMIC_TYPE_SET; + return type2; } - else if (gMovesInfo[move].effect == EFFECT_IVY_CUDGEL - && (gBattleMons[battlerAtk].species == SPECIES_OGERPON_WELLSPRING_MASK || gBattleMons[battlerAtk].species == SPECIES_OGERPON_WELLSPRING_MASK_TERA - || gBattleMons[battlerAtk].species == SPECIES_OGERPON_HEARTHFLAME_MASK || gBattleMons[battlerAtk].species == SPECIES_OGERPON_HEARTHFLAME_MASK_TERA - || gBattleMons[battlerAtk].species == SPECIES_OGERPON_CORNERSTONE_MASK || gBattleMons[battlerAtk].species == SPECIES_OGERPON_CORNERSTONE_MASK_TERA )) + else if (moveEffect == EFFECT_IVY_CUDGEL + && (species == SPECIES_OGERPON_WELLSPRING_MASK || species == SPECIES_OGERPON_WELLSPRING_MASK_TERA + || species == SPECIES_OGERPON_HEARTHFLAME_MASK || species == SPECIES_OGERPON_HEARTHFLAME_MASK_TERA + || species == SPECIES_OGERPON_CORNERSTONE_MASK || species == SPECIES_OGERPON_CORNERSTONE_MASK_TERA)) { - gBattleStruct->dynamicMoveType = gBattleMons[battlerAtk].types[1] | F_DYNAMIC_TYPE_SET; + return type2; } - else if (gMovesInfo[move].effect == EFFECT_NATURAL_GIFT) + else if (moveEffect == EFFECT_NATURAL_GIFT) { - if (ItemId_GetPocket(gBattleMons[battlerAtk].item) == POCKET_BERRIES) - gBattleStruct->dynamicMoveType = gNaturalGiftTable[ITEM_TO_BERRY(gBattleMons[battlerAtk].item)].type; + if (ItemId_GetPocket(heldItem) == POCKET_BERRIES) + return gNaturalGiftTable[ITEM_TO_BERRY(heldItem)].type; + else + return moveType; } - else if (gMovesInfo[move].effect == EFFECT_TERRAIN_PULSE) + else if (moveEffect == EFFECT_TERRAIN_PULSE) { - if (IsBattlerTerrainAffected(battlerAtk, STATUS_FIELD_TERRAIN_ANY)) + if (gMain.inBattle) { - if (gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN) - gBattleStruct->dynamicMoveType = TYPE_ELECTRIC | F_DYNAMIC_TYPE_SET; - else if (gFieldStatuses & STATUS_FIELD_GRASSY_TERRAIN) - gBattleStruct->dynamicMoveType = TYPE_GRASS | F_DYNAMIC_TYPE_SET; - else if (gFieldStatuses & STATUS_FIELD_MISTY_TERRAIN) - gBattleStruct->dynamicMoveType = TYPE_FAIRY | F_DYNAMIC_TYPE_SET; - else if (gFieldStatuses & STATUS_FIELD_PSYCHIC_TERRAIN) - gBattleStruct->dynamicMoveType = TYPE_PSYCHIC | F_DYNAMIC_TYPE_SET; - else //failsafe - gBattleStruct->dynamicMoveType = TYPE_NORMAL | F_DYNAMIC_TYPE_SET; + if (IsBattlerTerrainAffected(battler, STATUS_FIELD_TERRAIN_ANY)) + { + if (gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN) + return TYPE_ELECTRIC; + else if (gFieldStatuses & STATUS_FIELD_GRASSY_TERRAIN) + return TYPE_GRASS; + else if (gFieldStatuses & STATUS_FIELD_MISTY_TERRAIN) + return TYPE_FAIRY; + else if (gFieldStatuses & STATUS_FIELD_PSYCHIC_TERRAIN) + return TYPE_PSYCHIC; + else //failsafe + return moveType; + } + } + else + { + switch (gWeatherPtr->currWeather) + { + case WEATHER_RAIN_THUNDERSTORM: + if (B_THUNDERSTORM_TERRAIN) + return TYPE_ELECTRIC; + break; + case WEATHER_FOG_HORIZONTAL: + case WEATHER_FOG_DIAGONAL: + if (B_OVERWORLD_FOG >= GEN_8) + return TYPE_FAIRY; + break; + } + return moveType; } } - else if (gMovesInfo[move].effect == EFFECT_TERA_BLAST && GetActiveGimmick(battlerAtk) == GIMMICK_TERA) + else if (moveEffect == EFFECT_TERA_BLAST && GetActiveGimmick(battler) == GIMMICK_TERA) { - gBattleStruct->dynamicMoveType = GetBattlerTeraType(battlerAtk) | F_DYNAMIC_TYPE_SET; + return GetMonData(mon, MON_DATA_TERA_TYPE); } - else if (gMovesInfo[move].effect == EFFECT_TERA_STARSTORM && gBattleMons[battlerAtk].species == SPECIES_TERAPAGOS_STELLAR) + else if (moveEffect == EFFECT_TERA_STARSTORM && species == SPECIES_TERAPAGOS_STELLAR) { - gBattleStruct->dynamicMoveType = TYPE_STELLAR | F_DYNAMIC_TYPE_SET; + return TYPE_STELLAR; } - attackerAbility = GetBattlerAbility(battlerAtk); - if (gMovesInfo[move].type == TYPE_NORMAL - && TrySetAteType(move, battlerAtk, attackerAbility) - && GetActiveGimmick(battlerAtk) != GIMMICK_DYNAMAX) + if (moveType == TYPE_NORMAL + && ((!gMain.inBattle || TrySetAteType(move, battler, ability)) + && GetActiveGimmick(battler) != GIMMICK_DYNAMAX)) { - gBattleStruct->ateBoost[battlerAtk] = 1; + if (gMain.inBattle && ateBoost != NULL) + *ateBoost = TRUE; } - else if (gMovesInfo[move].type != TYPE_NORMAL - && gMovesInfo[move].effect != EFFECT_HIDDEN_POWER - && gMovesInfo[move].effect != EFFECT_WEATHER_BALL - && attackerAbility == ABILITY_NORMALIZE - && GetActiveGimmick(battlerAtk) != GIMMICK_Z_MOVE) + else if (moveType != TYPE_NORMAL + && moveEffect != EFFECT_HIDDEN_POWER + && moveEffect != EFFECT_WEATHER_BALL + && ability == ABILITY_NORMALIZE + && GetActiveGimmick(battler) != GIMMICK_Z_MOVE) { - gBattleStruct->dynamicMoveType = TYPE_NORMAL | F_DYNAMIC_TYPE_SET; - if (GetActiveGimmick(battlerAtk) != GIMMICK_DYNAMAX) - gBattleStruct->ateBoost[battlerAtk] = 1; + if (gMain.inBattle && ateBoost != NULL && GetActiveGimmick(battler) != GIMMICK_DYNAMAX) + *ateBoost = TRUE; + return TYPE_NORMAL; } - else if (gMovesInfo[move].soundMove && attackerAbility == ABILITY_LIQUID_VOICE) + else if (gMovesInfo[move].soundMove && ability == ABILITY_LIQUID_VOICE) { - gBattleStruct->dynamicMoveType = TYPE_WATER | F_DYNAMIC_TYPE_SET; + return TYPE_WATER; } - else if (gMovesInfo[move].effect == EFFECT_AURA_WHEEL && gBattleMons[battlerAtk].species == SPECIES_MORPEKO_HANGRY) + else if (moveEffect == EFFECT_AURA_WHEEL && species == SPECIES_MORPEKO_HANGRY) { - gBattleStruct->dynamicMoveType = TYPE_DARK | F_DYNAMIC_TYPE_SET; + return TYPE_DARK; } + return TYPE_NONE; +} + +void SetTypeBeforeUsingMove(u32 move, u32 battler) +{ + u32 moveType; + u32 heldItem = gBattleMons[battler].item; + u32 holdEffect = GetBattlerHoldEffect(battler, TRUE); + + gBattleStruct->dynamicMoveType = 0; + gBattleStruct->ateBoost[battler] = FALSE; + gSpecialStatuses[battler].gemBoost = FALSE; + + moveType = GetDynamicMoveType(&GetBattlerParty(battler)[gBattlerPartyIndexes[battler]], + move, + battler, + &gBattleStruct->ateBoost[battler]); + if (moveType != TYPE_NONE) + gBattleStruct->dynamicMoveType = moveType | F_DYNAMIC_TYPE_SET; + moveType = GetMoveType(move); if ((gFieldStatuses & STATUS_FIELD_ION_DELUGE && moveType == TYPE_NORMAL) - || gStatuses4[battlerAtk] & STATUS4_ELECTRIFIED) + || gStatuses4[battler] & STATUS4_ELECTRIFIED) gBattleStruct->dynamicMoveType = TYPE_ELECTRIC | F_DYNAMIC_TYPE_SET; // Check if a gem should activate. moveType = GetMoveType(move); if (holdEffect == HOLD_EFFECT_GEMS - && moveType == ItemId_GetSecondaryId(gBattleMons[battlerAtk].item)) + && moveType == ItemId_GetSecondaryId(heldItem)) { - gSpecialStatuses[battlerAtk].gemParam = GetBattlerHoldEffectParam(battlerAtk); - gSpecialStatuses[battlerAtk].gemBoost = TRUE; + gSpecialStatuses[battler].gemParam = GetBattlerHoldEffectParam(battler); + gSpecialStatuses[battler].gemBoost = TRUE; } } diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 231afefc1f..9f649252fd 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -6410,7 +6410,7 @@ static void Cmd_moveend(void) gBattleStruct->targetsDone[gBattlerAttacker] = 0; gProtectStructs[gBattlerAttacker].targetAffected = FALSE; gProtectStructs[gBattlerAttacker].shellTrap = FALSE; - gBattleStruct->ateBoost[gBattlerAttacker] = 0; + gBattleStruct->ateBoost[gBattlerAttacker] = FALSE; gStatuses3[gBattlerAttacker] &= ~STATUS3_ME_FIRST; gSpecialStatuses[gBattlerAttacker].gemBoost = FALSE; gSpecialStatuses[gBattlerAttacker].damagedMons = 0; diff --git a/src/pokemon.c b/src/pokemon.c index 92a50ed1aa..d76d1df58c 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -6963,172 +6963,8 @@ static inline u32 CalculateHiddenPowerType(struct Pokemon *mon) u32 CheckDynamicMoveType(struct Pokemon *mon, u32 move, u32 battler) { - u32 type = gMovesInfo[move].type; - u32 species = GetMonData(mon, MON_DATA_SPECIES); - u32 heldItem = GetMonData(mon, MON_DATA_HELD_ITEM, 0); - u32 heldItemEffect = ItemId_GetHoldEffect(heldItem); - u32 ability = GetMonAbility(mon); - u32 type1 = gSpeciesInfo[species].types[0]; - u32 type2 = gSpeciesInfo[species].types[1]; - u32 effect = gMovesInfo[move].effect; - - if (effect == EFFECT_IVY_CUDGEL - && (species == SPECIES_OGERPON_WELLSPRING_MASK || species == SPECIES_OGERPON_WELLSPRING_MASK_TERA - || species == SPECIES_OGERPON_HEARTHFLAME_MASK || species == SPECIES_OGERPON_HEARTHFLAME_MASK_TERA - || species == SPECIES_OGERPON_CORNERSTONE_MASK || species == SPECIES_OGERPON_CORNERSTONE_MASK_TERA)) - { - type = type2; - } - else if (move == MOVE_STRUGGLE) - { - return TYPE_NORMAL; - } - else if (effect == EFFECT_TERA_BLAST && GetActiveGimmick(battler) == GIMMICK_TERA && gBattleMons[battler].species == species) - { - return GetMonData(mon, MON_DATA_TERA_TYPE); - } - else if (effect == EFFECT_TERA_STARSTORM && species == SPECIES_TERAPAGOS_STELLAR) - { - return TYPE_STELLAR; - } - else if (move == MOVE_HIDDEN_POWER) - { - return CalculateHiddenPowerType(mon); - } - else if (effect == EFFECT_AURA_WHEEL && species == SPECIES_MORPEKO_HANGRY) - { - type = TYPE_DARK; - } - else if (effect == EFFECT_CHANGE_TYPE_ON_ITEM) - { - if (heldItemEffect == gMovesInfo[move].argument) - return ItemId_GetSecondaryId(heldItem); - else - return TYPE_NORMAL; - } - else if (effect == EFFECT_NATURAL_GIFT) - { - if (ItemId_GetPocket(heldItem) == POCKET_BERRIES) - return gNaturalGiftTable[ITEM_TO_BERRY(heldItem)].type; - else - return TYPE_NORMAL; - } - else if (effect == EFFECT_RAGING_BULL - && (species == SPECIES_TAUROS_PALDEAN_COMBAT_BREED - || species == SPECIES_TAUROS_PALDEAN_BLAZE_BREED - || species == SPECIES_TAUROS_PALDEAN_AQUA_BREED)) - { - return type2; - } - else if (effect == EFFECT_REVELATION_DANCE) - { - if (gBattleMons[battler].species != species && type1 != TYPE_MYSTERY) - type = type1; - else if (gBattleMons[battler].species != species && type2 != TYPE_MYSTERY) - type = type2; - else if (GetBattlerTeraType(battler) != TYPE_STELLAR && (GetActiveGimmick(battler) == GIMMICK_TERA || IsGimmickSelected(battler, GIMMICK_TERA))) - type = GetMonData(mon, MON_DATA_TERA_TYPE); - else if (gBattleMons[battler].types[0] != TYPE_MYSTERY) - type = gBattleMons[battler].types[0]; - else if (gBattleMons[battler].types[1] != TYPE_MYSTERY) - type = gBattleMons[battler].types[1]; - else if (gBattleMons[battler].types[2] != TYPE_MYSTERY) - type = gBattleMons[battler].types[2]; - } - else if (effect == EFFECT_TERRAIN_PULSE - && ((IsMonGrounded(heldItemEffect, ability, type1, type2) && gBattleMons[battler].species != species) - || (IsBattlerTerrainAffected(battler, STATUS_FIELD_TERRAIN_ANY) && gBattleMons[battler].species == species))) - { - if (gMain.inBattle) - { - if (gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN) - return TYPE_ELECTRIC; - else if (gFieldStatuses & STATUS_FIELD_GRASSY_TERRAIN) - return TYPE_GRASS; - else if (gFieldStatuses & STATUS_FIELD_MISTY_TERRAIN) - return TYPE_FAIRY; - else if (gFieldStatuses & STATUS_FIELD_PSYCHIC_TERRAIN) - return TYPE_PSYCHIC; - else //failsafe - type = TYPE_NORMAL; - } - else - { - switch (gWeatherPtr->currWeather) - { - case WEATHER_RAIN_THUNDERSTORM: - if (B_THUNDERSTORM_TERRAIN) - return TYPE_ELECTRIC; - break; - case WEATHER_FOG_HORIZONTAL: - case WEATHER_FOG_DIAGONAL: - if (B_OVERWORLD_FOG >= GEN_8) - return TYPE_FAIRY; - break; - } - return TYPE_NORMAL; - } - } - - if (effect == EFFECT_WEATHER_BALL) - { - if (gMain.inBattle && WEATHER_HAS_EFFECT) - { - if (gBattleWeather & B_WEATHER_RAIN && heldItemEffect != HOLD_EFFECT_UTILITY_UMBRELLA) - return TYPE_WATER; - else if (gBattleWeather & B_WEATHER_SANDSTORM) - return TYPE_ROCK; - else if (gBattleWeather & B_WEATHER_SUN && heldItemEffect != HOLD_EFFECT_UTILITY_UMBRELLA) - return TYPE_FIRE; - else if (gBattleWeather & (B_WEATHER_SNOW | B_WEATHER_HAIL)) - return TYPE_ICE; - else - return TYPE_NORMAL; - } - else - { - switch (gWeatherPtr->currWeather) - { - case WEATHER_DROUGHT: - if (heldItem != ITEM_UTILITY_UMBRELLA) - return TYPE_FIRE; - break; - case WEATHER_RAIN: - case WEATHER_RAIN_THUNDERSTORM: - if (heldItem != ITEM_UTILITY_UMBRELLA) - return TYPE_WATER; - break; - case WEATHER_SNOW: - return TYPE_ICE; - break; - case WEATHER_SANDSTORM: - return TYPE_ROCK; - break; - } - return TYPE_NORMAL; - } - } - - if (ability == ABILITY_NORMALIZE && gMovesInfo[move].type != TYPE_NORMAL && GetActiveGimmick(battler) != GIMMICK_Z_MOVE) - type = TYPE_NORMAL; - - if ((gFieldStatuses & STATUS_FIELD_ION_DELUGE && type == TYPE_NORMAL) || gStatuses4[battler] & STATUS4_ELECTRIFIED) - type = TYPE_ELECTRIC; - - if (gMovesInfo[move].type == TYPE_NORMAL && gMovesInfo[move].category != DAMAGE_CATEGORY_STATUS) - { - switch (ability) - { - case ABILITY_PIXILATE: return TYPE_FAIRY; - case ABILITY_REFRIGERATE: return TYPE_ICE; - case ABILITY_AERILATE: return TYPE_FLYING; - case ABILITY_GALVANIZE: return TYPE_ELECTRIC; - default: break; - } - } - - if (ability == ABILITY_LIQUID_VOICE && gMovesInfo[move].soundMove == TRUE) - return TYPE_WATER; - - return type; + u32 moveType = GetDynamicMoveType(mon, move, battler, NULL); + if (moveType != TYPE_NONE) + return moveType; + return gMovesInfo[move].type; } diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index bf6ab45a2a..de0b54800b 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -3956,28 +3956,23 @@ static void SetMonTypeIcons(void) static void SetMoveTypeIcons(void) { u32 i; - u32 type; struct PokeSummary *summary = &sMonSummaryScreen->summary; struct Pokemon *mon = &sMonSummaryScreen->currentMon; + u32 type; for (i = 0; i < MAX_MON_MOVES; i++) { if (summary->moves[i] != MOVE_NONE) { + type = gMovesInfo[summary->moves[i]].type; if (P_SHOW_DYNAMIC_TYPES) - { type = CheckDynamicMoveType(mon, summary->moves[i], 0); - SetTypeSpritePosAndPal(type, 85, 32 + (i * 16), i + SPRITE_ARR_ID_TYPE); - } - else - { - SetTypeSpritePosAndPal(gMovesInfo[summary->moves[i]].type, 85, 32 + (i * 16), i + SPRITE_ARR_ID_TYPE); - } + SetTypeSpritePosAndPal(type, 85, 32 + (i * 16), i + SPRITE_ARR_ID_TYPE); } else { SetSpriteInvisibility(i + SPRITE_ARR_ID_TYPE, TRUE); - } + } } } From 9bc21c043c9d79b80c843aec345cd7c7d9ca9377 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 8 Sep 2024 14:30:01 -0300 Subject: [PATCH 58/78] Fix swamp pal linebreaks --- .../battle_anims/backgrounds/swampswizzle.pal | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/graphics/battle_anims/backgrounds/swampswizzle.pal b/graphics/battle_anims/backgrounds/swampswizzle.pal index 68d0311f6b..b739a386e7 100644 --- a/graphics/battle_anims/backgrounds/swampswizzle.pal +++ b/graphics/battle_anims/backgrounds/swampswizzle.pal @@ -1,19 +1,19 @@ -JASC-PAL -0100 -16 -255 0 0 -140 214 132 -115 181 132 -115 181 99 -90 148 90 -90 148 74 -74 115 41 -74 107 57 -57 82 24 -49 82 41 -66 74 33 -33 57 16 -41 49 16 -49 41 8 -16 24 0 -140 222 173 +JASC-PAL +0100 +16 +255 0 0 +140 214 132 +115 181 132 +115 181 99 +90 148 90 +90 148 74 +74 115 41 +74 107 57 +57 82 24 +49 82 41 +66 74 33 +33 57 16 +41 49 16 +49 41 8 +16 24 0 +140 222 173 From 2f21073555eb6c5c4c1f60b8267f67dd44d6b8b5 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 8 Sep 2024 23:13:32 -0300 Subject: [PATCH 59/78] Fixed Tera Shift description (#5351) --- src/data/abilities.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/abilities.h b/src/data/abilities.h index ccb27ffe35..a85f114fec 100644 --- a/src/data/abilities.h +++ b/src/data/abilities.h @@ -2559,7 +2559,7 @@ const struct Ability gAbilitiesInfo[ABILITIES_COUNT] = [ABILITY_TERA_SHIFT] = { .name = _("Tera Shift"), - .description = COMPOUND_STRING("Terasteralizes upon entry."), + .description = COMPOUND_STRING("Terastallizes upon entry."), .aiRating = 10, .cantBeCopied = TRUE, .cantBeSwapped = TRUE, From ab279d9f8c77064139580b466bfaa8ae446f8884 Mon Sep 17 00:00:00 2001 From: kittenchilly Date: Mon, 9 Sep 2024 02:52:48 -0500 Subject: [PATCH 60/78] Update Move Category icons (#5080) Update Category Icons to be more accurate to Gen 5 --- graphics/interface/category_icons.png | Bin 5451 -> 303 bytes src/pokemon_summary_screen.c | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/graphics/interface/category_icons.png b/graphics/interface/category_icons.png index 1c7d63c9eb775ab15aefe3456b2ac3cb8c47ede7..4e4a3cc2d9d3559bffa118fac7fc685f445a2b64 100644 GIT binary patch delta 288 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 z6(E<^YGzcategoryIconSpriteId == 0xFF) - sMonSummaryScreen->categoryIconSpriteId = CreateSprite(&gSpriteTemplate_CategoryIcons, 48, 129, 0); + sMonSummaryScreen->categoryIconSpriteId = CreateSprite(&gSpriteTemplate_CategoryIcons, 48, 128, 0); gSprites[sMonSummaryScreen->categoryIconSpriteId].invisible = FALSE; StartSpriteAnim(&gSprites[sMonSummaryScreen->categoryIconSpriteId], category); From fd4860d17ee93ba0cd5a8d971745b353d7a9d5dc Mon Sep 17 00:00:00 2001 From: ghoulslash <41651341+ghoulslash@users.noreply.github.com> Date: Mon, 9 Sep 2024 04:41:43 -0400 Subject: [PATCH 61/78] fix missing break in ENDTURNs (#5350) Co-authored-by: ghoulslash --- src/battle_util.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/battle_util.c b/src/battle_util.c index c0ab04b5b7..48aba80c63 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -2884,9 +2884,11 @@ u8 DoBattlerEndTurnEffects(void) case ENDTURN_ELECTRIFY: gStatuses4[battler] &= ~STATUS4_ELECTRIFIED; gBattleStruct->turnEffectsTracker++; + break; case ENDTURN_POWDER: gBattleMons[battler].status2 &= ~STATUS2_POWDER; gBattleStruct->turnEffectsTracker++; + break; case ENDTURN_THROAT_CHOP: if (gDisableStructs[battler].throatChopTimer && --gDisableStructs[battler].throatChopTimer == 0) { From 32dde8af645965b315c544a1ad36a760f6310704 Mon Sep 17 00:00:00 2001 From: Pawkkie <61265402+Pawkkie@users.noreply.github.com> Date: Mon, 9 Sep 2024 04:43:15 -0400 Subject: [PATCH 62/78] Composite flag docs (#5349) --- docs/ai_flags.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/ai_flags.md b/docs/ai_flags.md index 8ba2e33253..8559ff36f9 100644 --- a/docs/ai_flags.md +++ b/docs/ai_flags.md @@ -27,6 +27,16 @@ If you are not using competitive syntax parties, instead access the trainer data # What AI Flags does pokeemerald-expansion have? This section lists all of expansion’s AI Flags and briefly describes the effect they have on the AI’s behaviour. In all cases, please check the corresponding function or surrounding code around their implementation for more details. Some of these functions are vanilla, some share a name with vanilla but have been modified to varying degrees, and some are completely new. +## Composite AI Flags + +Expansion has two "composite" AI flags, `AI_FLAG_BASIC_TRAINER` and `AI_FLAG_SMART_TRAINER`. This means that these flags have no unique functionality themselves, and can instead be thought of as groups of other flags that are all enabled when this flag is enabled. The idea behind these flags is that if you don't care to manage the detailed behaviour of a particular trainer, you can use these as a baseline instead, and expansion will keep them updated for you. + +`AI_FLAG_BASIC_TRAINER` is expansion's version of generic, normal AI behaviour. It includes `AI_FLAG_CHECK_BAD_MOVE` (don't use bad moves), `AI_FLAG_TRY_TO_FAINT` (faint the player where possible), and `AI_FLAG_CHECK_VIABILITY` (choose the most effective move to use in the current context). Trainers with this flag will still be smarter than they are in vanilla as there have been dramatic improvements made to move selection, but not incredibly so. Trainers with this flag should feel like normal trainers. In general we recommend these three flags be used in all cases, unless you specifically want a trainer who makes obvious mistakes in battle. + +`AI_FLAG_SMART_TRAINER` is expansion's version of a "smart AI". It includes everything in `AI_FLAG_BASIC_TRAINER` along with `AI_FLAG_SMART_SWITCHING` (make smart decisions about when to switch), `AI_FLAG_SMART_MON_CHOICES` (make smart decisions about what mon to send in after a switch / KO), and `AI_FLAG_OMNISCIENT` (awareness of what moves, items, and abilities the player's mons have to better inform decisions). Expansion will keep this updated to represent the most objectively intelligent behaviour our flags are capable of producing. + +Expansion has LOADS of flags, which will be covered in the rest of this guide. If you don't want to engage with detailed trainer AI tuning though, you can just use these two composite flags, and trust that expansion will keep their contents updated to always represent the most standard and the smartest behaviour we can. + ## `AI_FLAG_CHECK_BAD_MOVE` The AI will avoid using moves that are likely to fail in the current situation. This flag helps prevent the AI from making ineffective choices, such as using moves into immunities, into invulnerable states, or when the moves are otherwise hindered by abilities, terrain, or status conditions. From d62b7270c8ee3d8e5f3d0d19e1eda948eafbdbf6 Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Mon, 9 Sep 2024 10:49:05 +0200 Subject: [PATCH 63/78] Fixed trainerslide arguments (#5344) Co-authored-by: Hedara --- asm/macros/battle_script.inc | 4 ++-- data/battle_scripts_1.s | 30 +++++++++++++++--------------- data/battle_scripts_2.s | 10 +++++----- src/battle_script_commands.c | 4 ++-- 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index e18ce91f28..f91313cb92 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -507,9 +507,9 @@ .byte \battler .endm - .macro trainerslidein battler:req + .macro trainerslidein position:req .byte 0x53 - .byte \battler + .byte \position .endm .macro playse song:req diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 1a80940b72..f9bb4565f0 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -5603,13 +5603,13 @@ BattleScript_LocalTrainerBattleWon:: BattleScript_LocalTwoTrainersDefeated:: printstring STRINGID_TWOENEMIESDEFEATED BattleScript_LocalBattleWonLoseTexts:: - trainerslidein BS_ATTACKER + trainerslidein BS_OPPONENT1 waitstate printstring STRINGID_TRAINER1LOSETEXT jumpifnotbattletype BATTLE_TYPE_TWO_OPPONENTS, BattleScript_LocalBattleWonReward - trainerslideout B_POSITION_OPPONENT_LEFT + trainerslideout BS_OPPONENT1 waitstate - trainerslidein BS_FAINTED + trainerslidein BS_OPPONENT2 waitstate printstring STRINGID_TRAINER2LOSETEXT BattleScript_LocalBattleWonReward:: @@ -5661,15 +5661,15 @@ BattleScript_LocalBattleLostPrintTrainersWinText:: waitstate returnopponentmon2toball BS_ATTACKER waitstate - trainerslidein BS_ATTACKER + trainerslidein BS_OPPONENT1 waitstate printstring STRINGID_TRAINER1WINTEXT jumpifbattletype BATTLE_TYPE_TOWER_LINK_MULTI, BattleScript_LocalBattleLostDoTrainer2WinText jumpifnotbattletype BATTLE_TYPE_TWO_OPPONENTS, BattleScript_LocalBattleLostEnd_ BattleScript_LocalBattleLostDoTrainer2WinText:: - trainerslideout B_POSITION_OPPONENT_LEFT + trainerslideout BS_OPPONENT1 waitstate - trainerslidein BS_FAINTED + trainerslidein BS_OPPONENT2 waitstate printstring STRINGID_TRAINER2WINTEXT BattleScript_LocalBattleLostEnd_:: @@ -5680,12 +5680,12 @@ BattleScript_FrontierLinkBattleLost:: waitstate returnopponentmon2toball BS_ATTACKER waitstate - trainerslidein BS_ATTACKER + trainerslidein BS_OPPONENT1 waitstate printstring STRINGID_TRAINER1WINTEXT - trainerslideout B_POSITION_OPPONENT_LEFT + trainerslideout BS_OPPONENT1 waitstate - trainerslidein BS_FAINTED + trainerslidein BS_OPPONENT2 waitstate printstring STRINGID_TRAINER2WINTEXT jumpifbattletype BATTLE_TYPE_RECORDED, BattleScript_FrontierLinkBattleLostEnd @@ -5708,12 +5708,12 @@ BattleScript_TowerLinkBattleWon:: playtrainerdefeatbgm BS_ATTACKER printstring STRINGID_BATTLEEND waitmessage B_WAIT_TIME_LONG - trainerslidein BS_ATTACKER + trainerslidein BS_OPPONENT1 waitstate printstring STRINGID_TRAINER1LOSETEXT - trainerslideout B_POSITION_OPPONENT_LEFT + trainerslideout BS_OPPONENT1 waitstate - trainerslidein BS_FAINTED + trainerslidein BS_OPPONENT2 waitstate printstring STRINGID_TRAINER2LOSETEXT jumpifbattletype BATTLE_TYPE_RECORDED, BattleScript_TowerLinkBattleWonEnd @@ -5730,13 +5730,13 @@ BattleScript_FrontierTrainerBattleWon:: BattleScript_FrontierTrainerBattleWon_TwoDefeated: printstring STRINGID_TWOENEMIESDEFEATED BattleScript_FrontierTrainerBattleWon_LoseTexts: - trainerslidein BS_ATTACKER + trainerslidein BS_OPPONENT1 waitstate printstring STRINGID_TRAINER1LOSETEXT jumpifnotbattletype BATTLE_TYPE_TWO_OPPONENTS, BattleScript_TryPickUpItems - trainerslideout B_POSITION_OPPONENT_LEFT + trainerslideout BS_OPPONENT1 waitstate - trainerslidein BS_FAINTED + trainerslidein BS_OPPONENT2 waitstate printstring STRINGID_TRAINER2LOSETEXT BattleScript_TryPickUpItems: diff --git a/data/battle_scripts_2.s b/data/battle_scripts_2.s index 7fe22195c8..be6c04e32e 100644 --- a/data/battle_scripts_2.s +++ b/data/battle_scripts_2.s @@ -238,7 +238,7 @@ BattleScript_ActionWallyThrow: waitmessage B_WAIT_TIME_LONG returnatktoball waitstate - trainerslidein BS_TARGET + trainerslidein BS_PLAYER1 waitstate printstring STRINGID_YOUTHROWABALLNOWRIGHT waitmessage B_WAIT_TIME_LONG @@ -246,10 +246,10 @@ BattleScript_ActionWallyThrow: BattleScript_TrainerASlideMsgRet:: handletrainerslidemsg BS_SCRIPTING, 0 - trainerslidein B_POSITION_OPPONENT_LEFT + trainerslidein BS_OPPONENT1 handletrainerslidemsg BS_SCRIPTING, 1 waitstate - trainerslideout B_POSITION_OPPONENT_LEFT + trainerslideout BS_OPPONENT1 waitstate handletrainerslidemsg BS_SCRIPTING, 2 return @@ -260,10 +260,10 @@ BattleScript_TrainerASlideMsgEnd2:: BattleScript_TrainerBSlideMsgRet:: handletrainerslidemsg BS_SCRIPTING, 0 - trainerslidein B_POSITION_OPPONENT_RIGHT + trainerslidein BS_OPPONENT2 handletrainerslidemsg BS_SCRIPTING, 1 waitstate - trainerslideout B_POSITION_OPPONENT_RIGHT + trainerslideout BS_OPPONENT2 waitstate handletrainerslidemsg BS_SCRIPTING, 2 return diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 13795ee61c..faa383f7ef 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7439,9 +7439,9 @@ static void Cmd_switchineffects(void) static void Cmd_trainerslidein(void) { - CMD_ARGS(u8 battler); + CMD_ARGS(u8 position); - u32 battler = GetBattlerForBattleScript(cmd->battler); + u32 battler = GetBattlerForBattleScript(cmd->position); BtlController_EmitTrainerSlide(battler, BUFFER_A); MarkBattlerForControllerExec(battler); From 5089b1d0b41c89985181df35be80ae36d2bf1329 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Mon, 9 Sep 2024 11:52:26 +0200 Subject: [PATCH 64/78] Adds callnative for soundproofcheck to addtionally check the flag (#5301) * Adds callnative for soundproofcheck to addtionally check the flag * rename callnative, include parish song and missing ability recording --- asm/macros/battle_script.inc | 6 ++++++ data/battle_scripts_1.s | 4 ++-- src/battle_script_commands.c | 17 +++++++++++++++++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index f91313cb92..c9f9b28bef 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1679,6 +1679,12 @@ .4byte \failInstr .endm + .macro jumpifblockedbysoundproof battler:req, failInstr:req + callnative BS_JumpIfBlockedBySoundproof + .byte \battler + .4byte \failInstr + .endm + @ various command changed to more readable macros .macro cancelmultiturnmoves battler:req various \battler, VARIOUS_CANCEL_MULTI_TURN_MOVES diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index f9bb4565f0..c24dacb5c4 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -508,7 +508,7 @@ BattleScript_EffectAttackUpUserAlly_TryAlly: BattleScript_EffectAttackUpUserAlly_End: goto BattleScript_MoveEnd BattleScript_EffectAttackUpUserAlly_TryAlly_: - jumpifability BS_ATTACKER_PARTNER, ABILITY_SOUNDPROOF, BattleScript_EffectAttackUpUserAlly_TryAllyBlocked + jumpifblockedbysoundproof BS_ATTACKER_PARTNER, BattleScript_EffectAttackUpUserAlly_TryAllyBlocked setstatchanger STAT_ATK, 1, FALSE statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_EffectAttackUpUserAlly_End jumpifbyte CMP_NOT_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_EffectAttackUpUserAlly_AllyAnim @@ -4281,7 +4281,7 @@ BattleScript_EffectPerishSong:: waitmessage B_WAIT_TIME_LONG setbyte gBattlerTarget, 0 BattleScript_PerishSongLoop:: - jumpifability BS_TARGET, ABILITY_SOUNDPROOF, BattleScript_PerishSongBlocked + jumpifblockedbysoundproof BS_TARGET, BattleScript_PerishSongBlocked jumpifpranksterblocked BS_TARGET, BattleScript_PerishSongNotAffected BattleScript_PerishSongLoopIncrement:: addbyte gBattlerTarget, 1 diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index faa383f7ef..d4afe23be4 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -17218,3 +17218,20 @@ void BS_TryTarShot(void) gBattlescriptCurrInstr = cmd->nextInstr; } } + +void BS_JumpIfBlockedBySoundproof(void) +{ + NATIVE_ARGS(u8 battler, const u8 *jumpInstr); + u32 battler = GetBattlerForBattleScript(cmd->battler); + if (gMovesInfo[gCurrentMove].soundMove && GetBattlerAbility(battler) == ABILITY_SOUNDPROOF) + { + gLastUsedAbility = ABILITY_SOUNDPROOF; + gBattlescriptCurrInstr = cmd->jumpInstr; + RecordAbilityBattle(battler, gLastUsedAbility); + gBattlerAbility = battler; + } + else + { + gBattlescriptCurrInstr = cmd->nextInstr; + } +} From dc2bbe0448c49f36af62e4b4c96e7c388ffb4c6b Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Mon, 9 Sep 2024 14:34:21 +0200 Subject: [PATCH 65/78] Fixed loading into the wrong version of a map after saving in areas with multiple layouts (#5347) Co-authored-by: Hedara --- src/overworld.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/overworld.c b/src/overworld.c index a9606578dc..37a9642e28 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -624,7 +624,7 @@ static void LoadCurrentMapData(void) static void LoadSaveblockMapHeader(void) { gMapHeader = *Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum); - gMapHeader.mapLayout = GetMapLayout(gMapHeader.mapLayoutId); + gMapHeader.mapLayout = GetMapLayout(gSaveBlock1Ptr->mapLayoutId); } static void SetPlayerCoordsFromWarp(void) From 389e5c20dd9f4ba0d551a18ab0f50bab61f5fb88 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Mon, 9 Sep 2024 15:40:56 +0200 Subject: [PATCH 66/78] Fixes berries missing timing (#5300) * Fixes berries missing timing * salac berry test --- src/battle_util.c | 10 ++++++++++ test/battle/hold_effect/restore_hp.c | 29 ++++++++++++++++++++++++++++ test/battle/hold_effect/speed_up.c | 19 ++++++++++++++++++ 3 files changed, 58 insertions(+) create mode 100644 test/battle/hold_effect/restore_hp.c diff --git a/src/battle_util.c b/src/battle_util.c index 48aba80c63..f6c577a31c 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -2321,6 +2321,7 @@ enum ENDTURN_DYNAMAX, ENDTURN_GMAX_MOVE_RESIDUAL_DAMAGE, ENDTURN_SEA_OF_FIRE_DAMAGE, + ENDTURN_ITEMS3, ENDTURN_BATTLER_COUNT }; @@ -2453,6 +2454,15 @@ u8 DoBattlerEndTurnEffects(void) effect++; gBattleStruct->turnEffectsTracker++; break; + case ENDTURN_ITEMS3: // berry effects + if (gItemsInfo[gBattleMons[battler].item].pocket == POCKET_BERRIES + || GetBattlerHoldEffect(battler, TRUE) == HOLD_EFFECT_RESTORE_HP) // Edge case for Berry Juice + { + if (ItemBattleEffects(ITEMEFFECT_NORMAL, battler, FALSE)) + effect++; + } + gBattleStruct->turnEffectsTracker++; + break; case ENDTURN_ORBS: if (IsBattlerAlive(battler) && ItemBattleEffects(ITEMEFFECT_ORBS, battler, FALSE)) effect++; diff --git a/test/battle/hold_effect/restore_hp.c b/test/battle/hold_effect/restore_hp.c new file mode 100644 index 0000000000..09daecc860 --- /dev/null +++ b/test/battle/hold_effect/restore_hp.c @@ -0,0 +1,29 @@ +#include "global.h" +#include "test/battle.h" + +DOUBLE_BATTLE_TEST("Restore HP Item effects do not miss timing") +{ + u16 item; + + PARAMETRIZE { item = ITEM_BERRY_JUICE; } + PARAMETRIZE { item = ITEM_ORAN_BERRY; } + PARAMETRIZE { item = ITEM_SITRUS_BERRY; } + + GIVEN { + ASSUME(gItemsInfo[ITEM_ORAN_BERRY].holdEffect == HOLD_EFFECT_RESTORE_HP); + ASSUME(gItemsInfo[ITEM_BERRY_JUICE].holdEffect == HOLD_EFFECT_RESTORE_HP); + ASSUME(gItemsInfo[ITEM_SITRUS_BERRY].holdEffect == HOLD_EFFECT_RESTORE_PCT_HP); + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT) { MaxHP(100); HP(51); Item(item); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerLeft, MOVE_FIRE_PLEDGE, target: opponentRight); MOVE(playerRight, MOVE_GRASS_PLEDGE, target: opponentRight); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); + MESSAGE("A sea of fire enveloped the opposing team!"); + MESSAGE("The opposing Foe Wynaut was hurt by the sea of fire!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponentLeft); + MESSAGE("The opposing Foe Wobbuffet was hurt by the sea of fire!"); + } +} diff --git a/test/battle/hold_effect/speed_up.c b/test/battle/hold_effect/speed_up.c index 438ff0d3cc..c6ddc19d8d 100644 --- a/test/battle/hold_effect/speed_up.c +++ b/test/battle/hold_effect/speed_up.c @@ -68,3 +68,22 @@ SINGLE_BATTLE_TEST("Salac Berry raises Speed by one stage when HP drops to 1/4 o EXPECT_EQ(player->statStages[STAT_SPEED], DEFAULT_STAT_STAGE + 2); } } + +DOUBLE_BATTLE_TEST("Salac Berry does not miss timing miss timing") +{ + GIVEN { + PLAYER(SPECIES_WOBBUFFET); + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT) { MaxHP(100); HP(26); Item(ITEM_SALAC_BERRY); } + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(playerLeft, MOVE_FIRE_PLEDGE, target: opponentRight); MOVE(playerRight, MOVE_GRASS_PLEDGE, target: opponentRight); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerRight); + MESSAGE("A sea of fire enveloped the opposing team!"); + MESSAGE("The opposing Foe Wynaut was hurt by the sea of fire!"); + ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, opponentLeft); + MESSAGE("Using Salac Berry, the Speed of Foe Wynaut rose!"); + MESSAGE("The opposing Foe Wobbuffet was hurt by the sea of fire!"); + } +} From 3cfc0004b6da27b2fc4e16bb258223f81554ce4f Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Mon, 9 Sep 2024 17:30:39 +0200 Subject: [PATCH 67/78] Removes redundant moveTargetType ai function (#5354) * Removes redundant moveTargetType ai function * Beautify GetBattlerMoveTargetType for better readability --- include/battle_ai_util.h | 1 - src/battle_ai_main.c | 18 +++++++++--------- src/battle_ai_util.c | 10 +--------- src/battle_util.c | 9 +++------ 4 files changed, 13 insertions(+), 25 deletions(-) diff --git a/include/battle_ai_util.h b/include/battle_ai_util.h index 04920cb3a2..3146bb94fd 100644 --- a/include/battle_ai_util.h +++ b/include/battle_ai_util.h @@ -72,7 +72,6 @@ bool32 CanKnockOffItem(u32 battler, u32 item); bool32 IsAbilityOfRating(u32 ability, s8 rating); bool32 AI_IsAbilityOnSide(u32 battlerId, u32 ability); bool32 AI_MoveMakesContact(u32 ability, u32 holdEffect, u32 move); -u32 AI_GetBattlerMoveTargetType(u32 battlerId, u32 move); bool32 ShouldUseZMove(u32 battlerAtk, u32 battlerDef, u32 chosenMove); // stat stage checks diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index f554da437d..b71e6799e0 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -812,7 +812,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) s8 atkPriority = GetMovePriority(battlerAtk, move); u32 moveEffect = gMovesInfo[move].effect; s32 moveType; - u32 moveTarget = AI_GetBattlerMoveTargetType(battlerAtk, move); + u32 moveTarget = GetBattlerMoveTargetType(battlerAtk, move); struct AiLogicData *aiData = AI_DATA; u32 effectiveness = aiData->effectiveness[battlerAtk][battlerDef][AI_THINKING_STRUCT->movesetIndex]; bool32 isDoubleBattle = IsValidDoubleBattle(battlerAtk); @@ -2569,7 +2569,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) } else { - if (AI_GetBattlerMoveTargetType(battlerDef, instructedMove) & (MOVE_TARGET_SELECTED + if (GetBattlerMoveTargetType(battlerDef, instructedMove) & (MOVE_TARGET_SELECTED | MOVE_TARGET_DEPENDS | MOVE_TARGET_RANDOM | MOVE_TARGET_BOTH @@ -2767,7 +2767,7 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) // move data u32 moveType = gMovesInfo[move].type; u32 effect = gMovesInfo[move].effect; - u32 moveTarget = AI_GetBattlerMoveTargetType(battlerAtk, move); + u32 moveTarget = GetBattlerMoveTargetType(battlerAtk, move); // ally data u32 battlerAtkPartner = BATTLE_PARTNER(battlerAtk); struct AiLogicData *aiData = AI_DATA; @@ -3098,7 +3098,7 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) if (instructedMove != MOVE_NONE && !IS_MOVE_STATUS(instructedMove) - && (AI_GetBattlerMoveTargetType(battlerAtkPartner, instructedMove) & (MOVE_TARGET_BOTH | MOVE_TARGET_FOES_AND_ALLY))) // Use instruct on multi-target moves + && (GetBattlerMoveTargetType(battlerAtkPartner, instructedMove) & (MOVE_TARGET_BOTH | MOVE_TARGET_FOES_AND_ALLY))) // Use instruct on multi-target moves { RETURN_SCORE_PLUS(WEAK_EFFECT); } @@ -3743,24 +3743,24 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) ProtectChecks(battlerAtk, battlerDef, move, predictedMove, &score); break; case MOVE_WIDE_GUARD: - if (predictedMove != MOVE_NONE && AI_GetBattlerMoveTargetType(battlerDef, predictedMove) & (MOVE_TARGET_FOES_AND_ALLY | MOVE_TARGET_BOTH)) + if (predictedMove != MOVE_NONE && GetBattlerMoveTargetType(battlerDef, predictedMove) & (MOVE_TARGET_FOES_AND_ALLY | MOVE_TARGET_BOTH)) { ProtectChecks(battlerAtk, battlerDef, move, predictedMove, &score); } - else if (isDoubleBattle && AI_GetBattlerMoveTargetType(BATTLE_PARTNER(battlerAtk), aiData->partnerMove) & MOVE_TARGET_FOES_AND_ALLY) + else if (isDoubleBattle && GetBattlerMoveTargetType(BATTLE_PARTNER(battlerAtk), aiData->partnerMove) & MOVE_TARGET_FOES_AND_ALLY) { if (aiData->abilities[battlerAtk] != ABILITY_TELEPATHY) ProtectChecks(battlerAtk, battlerDef, move, predictedMove, &score); } break; case MOVE_CRAFTY_SHIELD: - if (predictedMove != MOVE_NONE && IS_MOVE_STATUS(predictedMove) && !(AI_GetBattlerMoveTargetType(battlerDef, predictedMove) & MOVE_TARGET_USER)) + if (predictedMove != MOVE_NONE && IS_MOVE_STATUS(predictedMove) && !(GetBattlerMoveTargetType(battlerDef, predictedMove) & MOVE_TARGET_USER)) ProtectChecks(battlerAtk, battlerDef, move, predictedMove, &score); break; case MOVE_MAT_BLOCK: if (gDisableStructs[battlerAtk].isFirstTurn && predictedMove != MOVE_NONE - && !IS_MOVE_STATUS(predictedMove) && !(AI_GetBattlerMoveTargetType(battlerDef, predictedMove) & MOVE_TARGET_USER)) + && !IS_MOVE_STATUS(predictedMove) && !(GetBattlerMoveTargetType(battlerDef, predictedMove) & MOVE_TARGET_USER)) ProtectChecks(battlerAtk, battlerDef, move, predictedMove, &score); break; case MOVE_KINGS_SHIELD: @@ -4140,7 +4140,7 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move) ADJUST_SCORE(GOOD_EFFECT); break; case EFFECT_MAGIC_COAT: - if (IS_MOVE_STATUS(predictedMove) && AI_GetBattlerMoveTargetType(battlerDef, predictedMove) & (MOVE_TARGET_SELECTED | MOVE_TARGET_OPPONENTS_FIELD | MOVE_TARGET_BOTH)) + if (IS_MOVE_STATUS(predictedMove) && GetBattlerMoveTargetType(battlerDef, predictedMove) & (MOVE_TARGET_SELECTED | MOVE_TARGET_OPPONENTS_FIELD | MOVE_TARGET_BOTH)) ADJUST_SCORE(GOOD_EFFECT); break; case EFFECT_RECYCLE: diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 2b17361435..a6eab774cb 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -1405,14 +1405,6 @@ u32 AI_GetWeather(struct AiLogicData *aiData) return gBattleWeather; } -u32 AI_GetBattlerMoveTargetType(u32 battlerId, u32 move) -{ - if (gMovesInfo[move].effect == EFFECT_EXPANDING_FORCE && AI_IsTerrainAffected(battlerId, STATUS_FIELD_PSYCHIC_TERRAIN)) - return MOVE_TARGET_BOTH; - else - return gMovesInfo[move].target; -} - bool32 IsAromaVeilProtectedMove(u32 move) { switch (move) @@ -2113,7 +2105,7 @@ bool32 HasMoveWithLowAccuracy(u32 battlerAtk, u32 battlerDef, u32 accCheck, bool if (ignoreStatus && IS_MOVE_STATUS(moves[i])) continue; else if ((!IS_MOVE_STATUS(moves[i]) && gMovesInfo[moves[i]].accuracy == 0) - || AI_GetBattlerMoveTargetType(battlerAtk, moves[i]) & (MOVE_TARGET_USER | MOVE_TARGET_OPPONENTS_FIELD)) + || GetBattlerMoveTargetType(battlerAtk, moves[i]) & (MOVE_TARGET_USER | MOVE_TARGET_OPPONENTS_FIELD)) continue; if (AI_DATA->moveAccuracy[battlerAtk][battlerDef][i] <= accCheck) diff --git a/src/battle_util.c b/src/battle_util.c index 8fde78b4cb..2fc7ab899c 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -11423,14 +11423,11 @@ bool32 IsBattlerWeatherAffected(u32 battler, u32 weatherFlags) // Possible return values are defined in battle.h following MOVE_TARGET_SELECTED u32 GetBattlerMoveTargetType(u32 battler, u32 move) { - if (move == MOVE_CURSE - && !IS_BATTLER_OF_TYPE(battler, TYPE_GHOST)) + if (move == MOVE_CURSE && !IS_BATTLER_OF_TYPE(battler, TYPE_GHOST)) return MOVE_TARGET_USER; - else if (gMovesInfo[move].effect == EFFECT_EXPANDING_FORCE - && IsBattlerTerrainAffected(battler, STATUS_FIELD_PSYCHIC_TERRAIN)) + if (gMovesInfo[move].effect == EFFECT_EXPANDING_FORCE && IsBattlerTerrainAffected(battler, STATUS_FIELD_PSYCHIC_TERRAIN)) return MOVE_TARGET_BOTH; - else if (gMovesInfo[move].effect == EFFECT_TERA_STARSTORM - && gBattleMons[battler].species == SPECIES_TERAPAGOS_STELLAR) + if (gMovesInfo[move].effect == EFFECT_TERA_STARSTORM && gBattleMons[battler].species == SPECIES_TERAPAGOS_STELLAR) return MOVE_TARGET_BOTH; return gMovesInfo[move].target; From 4c49dfdd1d0d33c72c6254bfa84d07de47291cdf Mon Sep 17 00:00:00 2001 From: Pawkkie <61265402+Pawkkie@users.noreply.github.com> Date: Mon, 9 Sep 2024 15:03:24 -0400 Subject: [PATCH 68/78] AI burn score fixes and improvements (#5356) * Burn score fixes * Remove CanTargetFaintAi check --- src/battle_ai_util.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index a6eab774cb..82425a3082 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -3744,11 +3744,14 @@ void IncreaseBurnScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score) if (AI_CanBurn(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) { - ADJUST_SCORE_PTR(WEAK_EFFECT); // burning is good - if (HasMoveWithCategory(battlerDef, DAMAGE_CATEGORY_PHYSICAL)) + if (HasMoveWithCategory(battlerDef, DAMAGE_CATEGORY_PHYSICAL) + || (!(AI_THINKING_STRUCT->aiFlags[battlerAtk] & AI_FLAG_OMNISCIENT) // Not Omniscient but expects physical attacker + && gSpeciesInfo[gBattleMons[battlerDef].species].baseAttack >= gSpeciesInfo[gBattleMons[battlerDef].species].baseSpAttack + 10)) { - if (CanTargetFaintAi(battlerDef, battlerAtk)) - ADJUST_SCORE_PTR(DECENT_EFFECT); // burning the target to stay alive is cool + if (gMovesInfo[GetBestDmgMoveFromBattler(battlerDef, battlerAtk)].category == DAMAGE_CATEGORY_PHYSICAL) + ADJUST_SCORE_PTR(DECENT_EFFECT); + else + ADJUST_SCORE_PTR(WEAK_EFFECT); } if (HasMoveEffectANDArg(battlerAtk, EFFECT_DOUBLE_POWER_ON_ARG_STATUS, STATUS1_BURN) From 36ff435ab69e393df93c3e0c01715b9ab500fbff Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Mon, 9 Sep 2024 21:03:52 +0200 Subject: [PATCH 69/78] Liam follower fixes (#5334) * Fix Blinking on Meganium South Sprite * Fixes Lediba and Ledian Blinking * Fixes two blinking spots on spinerak * Crobat Eye and Igglibuff butt vlinking fix * More blinking follower fixes flaaffy xatu hoppip line * Blinking Gen 2 Fixes Mantine Miltank Raikou yanma wooper skarmory * Gen 4 Fixes + donphan and espeon prinplup starraptor shieldon roserade ambipom mamoswine Stunky Donphan - gen 2 fix Espion - noticed a flickering pixel on south walk * Synchronization with Cafeei * Messed up the merge, fixing now * Added mantine --------- Co-authored-by: Liamjd14 Co-authored-by: Hedara --- graphics/pokemon/ambipom/overworld.png | Bin 1257 -> 1286 bytes graphics/pokemon/crobat/overworld.png | Bin 1148 -> 1053 bytes graphics/pokemon/donphan/overworld.png | Bin 842 -> 836 bytes graphics/pokemon/flygon/overworld.png | Bin 1068 -> 1064 bytes graphics/pokemon/grovyle/overworld.png | Bin 700 -> 722 bytes graphics/pokemon/igglybuff/overworld.png | Bin 614 -> 452 bytes graphics/pokemon/ledian/overworld.png | Bin 1152 -> 1019 bytes graphics/pokemon/ledyba/overworld.png | Bin 1166 -> 1032 bytes graphics/pokemon/mantine/overworld.png | Bin 1162 -> 1008 bytes graphics/pokemon/marshtomp/overworld.png | Bin 578 -> 601 bytes graphics/pokemon/meganium/overworld.png | Bin 1039 -> 939 bytes graphics/pokemon/mightyena/overworld.png | Bin 912 -> 903 bytes graphics/pokemon/miltank/overworld.png | Bin 980 -> 842 bytes graphics/pokemon/prinplup/overworld.png | Bin 690 -> 712 bytes graphics/pokemon/raikou/overworld.png | Bin 1210 -> 1116 bytes graphics/pokemon/roserade/overworld.png | Bin 840 -> 841 bytes graphics/pokemon/skarmory/overworld.png | Bin 1197 -> 1123 bytes graphics/pokemon/skiploom/overworld.png | Bin 730 -> 550 bytes graphics/pokemon/spinarak/overworld.png | Bin 824 -> 714 bytes graphics/pokemon/stunky/overworld.png | Bin 691 -> 685 bytes graphics/pokemon/torkoal/overworld.png | Bin 811 -> 825 bytes graphics/pokemon/wooper/overworld.png | Bin 509 -> 488 bytes graphics/pokemon/xatu/overworld.png | Bin 864 -> 743 bytes graphics/pokemon/yanma/overworld.png | Bin 1019 -> 1015 bytes 24 files changed, 0 insertions(+), 0 deletions(-) diff --git a/graphics/pokemon/ambipom/overworld.png b/graphics/pokemon/ambipom/overworld.png index af46949aaadcd4471fce18fb4da632e7cb895f60..1f47b4d3e17c466c3d7fd260fde1dddf86030138 100644 GIT binary patch delta 767 zcmV0Dy!50Qvv`0D$NK0Cg__0P0@=06Lcd02gq4 z6}kZc001qKGBE_`B^DQvY99eiv5Kq#e?dJ)DMi)qMZoHOLg*2q>z*8OB?KTm6CtBZ zeHaZ2AQ_^4mQtp_6jvIa`}FYE@;bC4qY<<^f-M4Egw6OCLFJ=;Pg^8m19bd@PV*nA zl#UBTfD|OD6Wr(y91dgPS+5ba`n?D^y+x247DdWb0UQmCI@^m7tU=o03`igPf5YAG zK=|)^lO;@gun>-bgTX;Rhn>~=xWY{Uoxa1qJAPWDbxk`hFqur$p>Ni}s}4+)Qol_a z0joi)pM8%pAZrK@fJQI%!MqJszz~Qo)AoBX@Ssx%OS%i51l<&YyN;!(FyJnZ=w}XS z^^IS1f-}H`DSR#-dVN9?zHT7TfAnSmGfz@xs?w;BO9#v_)0d15aKCtyQe~L}TAga> zSilM(O;ZZj4+i{kg~XF*47}@n6YPXJ%fqSy;*;JZL>JX%odQ~Y(dUF;0$zj*Xsvd* zRJ3LEMK4ngSrKz}W(>aQM0h~~T&93V2To@zV10_Y)W^?teIiPD^JqZJe_PWRqnF|Q zoRU_bLC%2JhZ_*#C+4+2?M`KnugIu!f!egZh^!#l!2$d3Y9U6~=8EB7b_Jt~chq|t>CrE$EAITt~mB-PcR znITyoY&V!Cdk&Id7<29Ok>MX|weO xS-%%RUjA41;ZFZf`_1vczV!F`Rp8$?wx4^jJ>2u<-$(!e002ovPDHLkV1oJ&USt3O delta 738 zcmV<80v-K^3h4=uBn|;{Qb$4nuFf3k0000mkx?-R00027v<;t;h93b-v8Jp6f5A2$ zRlgSjtMdt=M~JR_a>SJofbdL&j4t(IG$?>%i1t}Znf_8-X?X6_!&}Si(29&k(CP@b z2yhWL<68ukkM=!nk%SG<@eex9f1px2E)W4ykfcseX@@f)edrH&f4c+Wzw1qwFzLZUI06m^2mKs&R_EgiHvx3|4*Tx- zX^qx3?X)> zP8}@iE_f1jQv~ihmZHLdyEvksIiS@ye$5Ha028M0xp?UH2}$_6fjrZje*w%qNtvli zqdqPjFvCn=GB&{d;!R4GWeR9@s-a^6D}XdjDO^7o@W&MrPo6RGuJcW>6Xq-rs|tuu zdXErYRF`!MX!S*(6MhMJ5iX#$+Tl{smeCizOf_Uh%+;AO_@Wcx1qE=K0va7SovncN zDdtiiKiBn%DB;bc0WEJ$e_xDVhST^gtv-XC0k01?Ai__~YkkPy0Id%6I_&~u- zs~}BYEXK>1T|kGV@mp;k^-735R&-o^1o`q+xBhe}_UHWsaMXu)gn^JB1+uy_Lo`?J zQ3!fe8W%~U3n5D5co%anf;>s8t3fkEvOL&sHv1(54=w&M-F3Cdf7OudTb^3XRR=)( zs>lwQ8~JS&pChO`pXmANoD<#vIaKA=DNp$2j>H!N5jwnPvFbT{jqFM3NAZVTd0Yfh z5~e!u-q>pgyf~DU`PeR>3^uIv~djp8;k6=q`Q4 zUv&BW+8Tqo=cUjYB>kG1eFMz!Kuk6E}{+;%l<9~hW@AIp`zin(k0k}^+ U&O|5Dy8r+H07*qoM6N<$f-yi?4*&oF diff --git a/graphics/pokemon/crobat/overworld.png b/graphics/pokemon/crobat/overworld.png index 28add5ba23cad0af04eb10ddcb8ca0ecc4d09b41..9fbaaf7e4286ae434f5784a0ca99214d652cda75 100644 GIT binary patch delta 951 zcmV;o14#V*2%QL!7zqdi0001UMu)eNF&hyt008P=0026d000+od=l&HdQ(8`07|U@xb_3d*q11afYm<|u=q#(3aI>E0H?IL;?{kdtRf_@UuJ(Rz+~(R zFJmo3!L&1j&EnlZ;8#FA2vGI8K`OX*Pf3h8a%cgdn`_CB!f*lLBB0bzKrNpVFaZx4 zgmd~x0PX^My7v(C)(BYbTLie0Xs#ztprsFKz52_X9sp(bq6wfi#PVriHUX(gWPnG{ z(Ff>*YrSh}yX+KTi$D@e9(;d_u$4+&$ES~wQLq5Y1Ox&mfbE|553#>Vls9e%d%dOg z1vu?=Z%cV&jh&Cf@5N3wWtesdw(kiT^KRx2jGD}E%HMFTqz|m&7cWF zF1jfVyKG)t5U%koP>z2xEuk?g)@2tO12Hq~bku`B4!V*9{>q3_e5xsuI8O!hFi6V~ zcSbSyzl2tuHlB7szn=}jbd*57Ln&9dT|iyF?QrN$1$us1_cGke`nJzSBL*1c0RuAq zF^#yNA`|Kg#cKifRG{aFO@Of*0gg3%$X6-&LIDfVWb*<}{WpK&kIv@wbcx~sKVUry zNG}BtXBoM6?s5OtFyhx$aO)>$T({j1rg42FfE36aoLYDQ4Eb5XT>b|;7#Rcu0002CwraKj000DMK}|sb0I`n?{9y%=AsZ1e008P>0026e z000+ooVrmwkxeii0b)x>L;#2d9Y_EG00(qQO+^Rh0SyKt2zNXnvyplqe>_Pxq8KcHLwLH}is;-_Of zZP21q86ft{qu%FuI!Y$w|M=sCR>uL- z5Dsx|ALmQR4W@h7l{_3=>N)6fpmN71xyS;ccG<@7ffLz2{Pyj_iLM4>_>gNXS7K~Og9vpV!!O(~% z-XSVCQyS}9p@9HEgUa0x<~3mv;Nl73;v_fJ<2C}s6j;GLLd3~_$}AV5}d$~>SHpw6+T=N#Z{a5VLxnb9u4 z(Gn#Vy>b49O$BUPe^qXX`-=c|kI2FUNZG;pS5OZ^`QGLF@*7kST89PFpkHOqd_g8x z(rVVI%utQn>v&6E-$TVsIw+m|0&hO^bzHEudXtXL)}VhE)Z|85&D#LjprLG%-}Z8* zLFET=YaYLw=ug$4JC((8#Q0_+tscQTGYtE);}b@)@L8M5f47g1CThV4%|)1@8n4hg zsKrKE4ZY3`jZSv-hr}?X1nB}7EW!#tW~J5S)aO72$1QZi?-?)NqTY5UU4F>+yU0izk5gU6^k?!0W;TLf&|uljpTA^bUY#0H5Kopq!_t`luaVOyR-nK92xS zb^-K)%G6ja`zYr(X;r%*Pe+;ccX&Y^0+=hBcW!1df6q!eIt0k#**m=OPxn|Oja|mb z{-E=95+C<-ppeBk*;$H(@S5Xm=+G8uo^*KtkpJ)~pZg&;Kn{#PH(0+s{;$VRNS2oG z6z!!l0000bbVXQnWMOn=I%9HWVRU5xGB7eSEif@HF)~y#GCDIgIxsjZFgQ9eF#U>q zApigXIwf>PSaf7zbY(hiZ)9m^c>ppnGBPbNF)cANR5CI;Gc`IeI4dwXIxsMd*TbCv O0000vI diff --git a/graphics/pokemon/donphan/overworld.png b/graphics/pokemon/donphan/overworld.png index 93f70fbda7b2c1b87eacb19f0a8bcbddbdc15d3d..b0b62b3b39ac5aeac61fbefb9a9cccfbb968f5b7 100644 GIT binary patch delta 20 ccmX@bc7$z00HfB#Ks}b)7d5Xob{=E`08%grf&c&j delta 26 ecmX@Yc8YC60HeXgKs_!7Fetst7Q3kC;&ObL=7G5R}-0%;F=RRid za$SL@3Ap9tKH{jcPdN0=BRJ(BPT;gaiN+zmi^dJG1vV+1!h5au$)cSINivw8Jt~IOfcMa_Y+pr4M1n`^hnL4lfI58}RE4S&p&| zyc}^B@4cwLWm(mf^TV3zH7efgw}~B?#^0OqHAlR<3?YOZf^`dl5y5_ul2`gwmKQR4 zCXu$Ls$a>w*erW&oQh*_-HK&O4hP!|A%;5aj~DGDdd&@u{*t%)WAqYtfl+*nod zfh)f60gmCnEq-+?B6XAV-AbgtV-}oc zDHpPo5(97XnQG!OeqC!6A^^cGE8qj@T`3;DM$$BFcE^p+;cG(V_8>_=kU@ z{xu4+{vZXnGHMjiDXzUm(mT`z?UMIsgCw07*qoM6N<$f-efds{jB1 delta 906 zcmV;519kkU2&@Q@PysNJQ85Pq000cWh-i_99~o~+L_t(oh3%KwlH(u@MI&TkhLHaM z&z&ogz8inThu-1ZJRdpdzhhYCM*o<9GWNHOoa1GxVaCa^n|mv+S{P5XauS70Z-d9c(kCF~qPxUeHHy%?*wIlDGO}^b&W0QGAS@ z2Xue(D+hu{lrazL$Hzv0&4rr`nS|(Bvu*-`bdJV_ikErO(XsHr^s5Ix)DG;ta{#-; z!lF#|YtM3Q%^{@9P!8c5+4Iw5i}@$M*;=&+6))R^>5VZ+zDmf~T0cBUxjl6W;FT<* z(3i3Uu^QX+(!s3+qIw|sDylzjHE>R%rFnmFk#c%DJV?62uD?#8h?Qvh4f$u2M;KwQiF;MFbGT#h;Jfo2je;i{)|^15W*sn z$ONWf=R~+~j<>66x=l z1!q~xg)F7S&sTgsnYQ1B0MmbP^Pp332&A^%^ot7D*e!100n!^a%KFeljlhm;hsHzV zAO4B>YZPStK?-hV)F_}+U^O0F%#MFQaT>g+4^--=o`ZE2X?XOG8`F|p>IF8uf1col z6C#|rag1#T3hpL5r-!vPciK&$bM-l?_Yd8)l<+)^@@H_Z()xB{J%3*M!h>@*F<(6J zG`uqnT}la$Jj3V3jbFdi;{Y;&sc~RCHkFf0ZsT^UwhC}Isy-S$PTp}$O}bXjHNNA- zSzx;dPOdq^zv)Y*^>~-#jpH$UXS?CpWLibz_W@EL$9!L9>cE^kr=PLiaER{#J2 diff --git a/graphics/pokemon/grovyle/overworld.png b/graphics/pokemon/grovyle/overworld.png index 92705c00fe9d213f51aa4b469d76dcd3f5aae7c4..96dc7812fa96aae0df5b501d1772252ac281f284 100644 GIT binary patch delta 64 zcmdnPdWm&{impPkN02WALzNl>LqiJ#!!HIP{epp^RG)$2RXhWO)pQ01@q!xBU5r2p S^@&E>EMmEO=Qd^qF#!M{U=V@; delta 42 scmcb_x`%aw3Lj%}kh>GZx^prw85kH0CI)Kr0%-_vl`Gi1u_1^F0QN=-fB*mh diff --git a/graphics/pokemon/igglybuff/overworld.png b/graphics/pokemon/igglybuff/overworld.png index ab5af8ee16e16d6e8446965863c368ca0368af96..ab6af8a03cd7bfda87d02473a6a4cc278273e505 100644 GIT binary patch delta 371 zcmV-(0gV3U1jGZ77#0Wv0001UMu)cm0004VQb$4nuFf3kkzFm3svLhfNkl_r((S@W6}|Y5?E_RvOG%|tsZ=VJN~QjZ0N^kAYWo6+ z7+D_XtL=4z&EZ=f=OLZp#K`1s@@ZZ`VYtB&M zu6Dp1H#%GwjLrsc+)4o0`ycgYz?ka^@3Je^)d_fU=Zbs8_HEW*+z#0LbI5@_UV!Re znYgWXz!xWzAFaE*4W4r9>#l^NeEJx5`F(=-7<>Z{0v_DIfbvf|LlK9I_~&=4cVCqN z2Y&^GC~5#AK*9VrAb=B=)%uAB6C+Y@)hBuT3NL&pI&k(W)G zlfha*bz+2ky{4y&V~EG`w^#P(9WoGL`|$b1vn7!dwZ4MMhKUJll2@IxagtN=4=B^J zI+E|5q*9a~F((=>_MQ7FEImLDn zHnXEtCAiL(^XLX-Pkj`$dd9*N-a08~Bue|*YF{mEXP4k%Iaa^J_YTv?j1%vZ4%I4c zD|AkqH9h&W8Q-0n{Z3}J4KjCGY|Wp%*IgI2Y2o&rxAz-Px>xNAPU9R7+AJ|fx`~9Ge>4Bq`&sulSSvg;>y2>#kPj+^EUGDiB z#&r4btL>f~X|A8G{cm1`brO@xA7D_bmbgZgq$HN4S|t~y0x1R~10y3{14CUyqYxt_ xD`QhD150fK3o8SI=)VP1Q8eV{r(~v8LNzF3(V?~AgeFi2gQu&X%Q~loCIBFv&!YeU diff --git a/graphics/pokemon/ledian/overworld.png b/graphics/pokemon/ledian/overworld.png index 8ca49bef3b624fc6b648b7d7434043fa2b33965e..64cd573aef7af3776a97ed18a9e1f9c2cbee6be5 100644 GIT binary patch delta 904 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 delta 1050 zcmV+#1m*jP2#yJm7#Rcu0002CwraKj000DMK}|sb0I`n?{9y%=AsZ1e008P>0026e z000+ooVrmwkxe`u0b)x>L;#2d9Y_EG00(qQO+^Rh0SyKt2j_!5B9Vq4e?mz_K~zY` z?Ug@I+dvqHZIGN5=MMbsW4v8%-$OzO{mXI*1Lf0H4brt7k z5K{R99Vio0vm|U)hsIOawx6MQzB?O7q*7IN;}rwX+4uZ>@4ZqK<-YFgzW!tB!yXuh z_-Dj;_%}jzERK1}1HusmfBC}5Ol3{JT?_uA8e}F+m13Nd0fCTh5JI(@FOM-!L14kY%r?kW17WO1DH!Hap{XgFx-Ntn zB)EdYE!z-AU##k5jP>Xii_}tHP~xoXe7loD0F5seGt~l`u-X0`e^{fOtQN9Ts6z-# zQmCd1S;jda6Gm&rTf%_V!UBLLwvfOlIZ#b+Z>OlR-DHV6m}We^5acnTnTAkDLYRUO zQO>NxvM_4XFU*1|go5cS<$Ng!IM$5}{h~@TJBew4gS{l@iFVT#!ZpJ{La5Ta3YgxV z=*sL0EQLbBCWK%;f8aw*^rJlB^=WF@C2^9=frc^iSV&x90X9|f_M4x1aP5-rmaQF?}}Tw4KY9$ z5GJenlDLF`GXRA{;2gB};HuSff|fhDDH*dCX=v6WjmuB z(1sdEq}i;r)cgqim8S;ox0nG>2Iz+@;J#bIzSBP_&00&vH^M^$C6m#zsumG@QdcSp zM$C}U4tU-u{noKQXN_Yibpo*Ft00`05PfW*;(JlKhPgZ$sY_eKEuRfUkYazPgC7Bu zueQ7n0+t4%lu7J?fx?@L57mybhKaHfCj3tWsaP%FJFpp@{t>So7#_`a)05U?&8H6W zyuw(+1|W2C4)_b9StY9GhdHR^xB5Fi$Dnuyi@T_>oTx*-9I3H}d3)v}b(a5XYMA}i ze3gXkK%>{+LLDF}J#>|@fslVgXKDE`0jTLTI(OqKrU?!Plm;B}tpit-RhuEIMWK-^ zl;fe55|NWwR){(@6`wMQC^Qs#+{jZavtXP3499%s04kAA?e*bw>I`y;mK31mmJE2m z?;KmMG|=*80V(}OU{J{22l{)yUIrdlXL9}W2K zx`F7g6G$4#g!A%clL>z%(DS+kvewh6d>n#cxbT@F#f{L6=24$MuDr}&bqdw(j46@4R*S)fY1`H~{`FJb&x*r}6x~*I$P(PHib@ TSMABp00000NkvXXu0mjfKR&d9 delta 1046 zcmV+x1nK+m2Z{-h7#Rcu0002CwraKj000DMK}|sb0I`n?{9y%=AsZ1e008P>0026e z000+ooVrmwkxe`u0b)x>L;#2d9Y_EG00(qQO+^Rh0SyKt6k|Pn{E>zqe?Cb>K~zY` z?Uuc2+fWq8ue8X)i$(kZMntZYrh{w0KyaVHJRTD_hZOnt7_`Yzfb43&+o>SuFj7@DX9QwcCQw?y zHX%58_L|cD6DN$cfMQdePZa`Slwrhzq?EMPVd@SuNi50mW57|5f6@^NAy#cN#X7m) z<>?s##n?PAJ$Cw(c7xPo!%_eMNJJ@#_=OZ;KweP#CIY2U#SWp}FcFZ96}#g79|cZG zdEkJ1EUOw;9`U+6g7^4EMYfc%%&>7kHvL#7!H0r{x>Xkf1cx5K6ML9@EYl39BkZX9 za)2;pnc+d-^y99Uf3j@J-O4>~)9R?#p}zK*8D_}{I`jZ(1Y*hhyj;iI!(w}uH1h^9 z-%WMZV4K!Py&?5gi%!ac9zoa-L=OjRV9Q?ZzkHCm5#NBt`Ap{qI) z78q70*)>&eDA(vA0V4>}k$9=yQIGo5G2o^wD4A0JbhA;>f1dU`lvZ^?DX3YGP#BAX z>qpO4OU*84F0&F-Wk=|`~(=+YJlf_aOd7TSfoMqAr8!z8a z2I;56u=#Yz1)huC=e@`kKF%_{&R4=LmtTnEfxcu}f7ai#xdRT(A5g{F>@@q=A|Y^! z?h=_3PD?iDCFcby=q_Qo^B&FplQ0*4yyX138E)yuo!bPK9dLge_I(SWWZT?({00!& zTjYxIvV#Bs03~!qSaf7zbY(hYa%Ew3WdJfTGBPbNF)cANR5CI;Gc`IgFe@-PIxsMd zKr%Z3JOBVCbVXQnWMOn=I&E)cX=Zr0Dy!50Qvv`0D$NK0Cg__0P0@=06Lcd02gq4 z6}kZc001hHGA;xt)|CE{Y9D{1NklIT05>)unH-kX~i42#x$fXzPV+q1EVlUD2Hxfr11$FQiIIT6 z$YBsa-(iC@C-B5xio5y5ErWH=lC}g%>_y0P(!ew_T(!mjNb~u@f zyvY|B%%B+t7i0blTy}NwiHi0|+vFH*a75%#BuNR`4rp^C*dyxYC8vyglPQ>QyB61@ zMku9Vn{u|nliS0Qp^$&*#T$Qce|%PlA=+Dgi!&bYyk>pcon7SMp1~Lk70m8zqbK*? zWFauRgtt|&Ypin^Bw5#0kl!=_2Rrw+L7cTBMI2U~@hA6oa$1G4#=H)L#|qyJqQk<@ z8o|=qc%{HN6Fjmro?qM^uMt_hqaF6RV)i%;qIW3KJ<9;0kCi$C_bHs=+fCR)+{2DC wJfiN2RX+&0!e2o>=vqv3f=Y3hBZfY!A8|kx7P2C-Z2$lO07*qoM6N<$f^wAU@Bjb+ delta 510 zcmVgdhxrrP5XxeE-+IsjlATLcwU< z{ljcxHu(yjRzw_zuCA`GuCA`Gu3h1qoS-}0<{#@3&vF{av1YNwZyUJHDTc8Y(c%Lm z0e_Ky!ytaX!v<#-P+>2{(|q8T!8&IZBnTo}&hRuJSfUwpS9ycm{36jV#SBk#3y9IB zC%F8oXy9qCJ9X=;@@bln`R8f6!uJe%h5s$ETtJ=E49N@hCHD9KIy=L4bEtZOBjV_= z6c>4uPcWE36AVs;`A=}&bcqj?tv}W#$6$khBO-;YqB*2;K${c69??~vlO)`mM4@=# zXmLAggq$bvCjK@1I$)0v+7umUIFvd(7vpd`9 z!M!(G2#hY_Z57Hj);SE4F3Y0GUo-#*8~3(BoV6lF99Eq12lsYzT9mQIybgoM3SSLn zqQlD08o|<9d8NQO5hMBR@D`yk*7e+OMb=VF=@REj$t(e+vV067zqdi0001UMu)eNF&hyt008P=0026d000+od=j0w=b|Jzm)kVDZS+3wElMbw$b;lt>c#3|eMwzvHk7D7RED4Ge`Qry=9@TNDLYe2bBr0DwEkxV^?vA2QH$?DD`0 z*#Y@lD`0b$2yh$+fFRH1sE>W@N{)X$-X%^4Vw@hw=#Flh4~qxbfa+$Yj=ke7b z9UhNqQUPopKCnPRtlU$4I0!s^Pz8AW7Xieu)99K+k531I_2~jE9@9DWok?5+77uan z*%4p$`Or57iV9txhQc!`0T_Jh(-x4&hrkon1^llCVDogdm-$VgoMMl6f%$)OB>cN% zB>;!RRUf>}R-yjvT zq;A7HM}Zd>h|$%$D)cy6iD?{E804Su0;Q7S=gS-t7M9m{g4XI%B9GJfwPB6%s(>*z zAx59qSU<_Cm?MWrnk0!vXMun4vq~N(eQi$C*j9xekC~+L6d{>;xy(77?n<#cfLdBv zk1U6iz`0F;5`e`?U@5#rN>Ku^I9qoB1&622V#%_}(ZfDE>|%mEUU8m|oeqRa>hYVv z(z-xgZ9n!~i<7?nvtflBJxCcec^{p|JSav*oyE}#^(nb@ee12s;yiyxGX~d6R_Cz6 zyFlKhlBlpZ53bx7c#Z5WEBb97bIv$B8_raGlBST&Z|AHLfWcW{E0xMy=A{o_;TRmy z22p{YRsj!u_5Qa4pgN!Dxbz7DJn)A+^8Bi})yaoFZ();5XX#BG9TzJHCRP9&9T2q( z7#sF0JkpP5I_demmI8l3P$G8|HW8lMbkIdH{+ z_bBvGXzyZYP*>*gr~2JNrQa;%liuF;uk9PCR5PiSTwn$O000R9NkvXXu0mjfy!wfS delta 919 zcmV;I18DrK2agDl7#Rcu0002CwraKj000DMK}|sb0I`n?{9y%=AsZ1e008P>0026e z000+ooVrmwkxf4x0b)x>L;#2d9Y_EG00(qQO+^Rh0SyKt1qqE@4v~o;f51sZK~zY` z?bOd}6G0RQ@VAgT4rm{sGQJlbxC7RRk}Bd)fU=c;7df*&TrY*I&4Tf_=MgfI`8o z@cg@gVtC8CT{i@?vt=jHe{(UcncHF(;F>MY051n&1d|O@oI6wY9Te~C0u~ks>qL%? zxpAKF;6YFftttC9iKd`H8ghu(0LnpmF1&5Wc{T<25bxaJ$2t&el&7MZ$WHTZ3QCBj z+6}(3!E~{NcA{@nu!d_+fNS<#=d}~c(=&)ItJ=3NKoi)cEjJKfeq^Byx%zAiTgl)(Wq|yW{;L#77q3z!ug}mIxw~x zxMtnUJw#S|B|PJkWs+UYlgr4X@O}`TcB$ zVX8i5hMes1s?1&+-vB#ueYIa6raJTvDl(tkSPyq--$pXi*+*s5V~HYYw0Eu6#mS3JpcdzC3HntbYx+4WjbwdWNBu3 t05UK#GA%GMEip1wGBP?dH99agD=;`ZFfi=^qFn$0002ovPDHLkV1f=HrAPn( diff --git a/graphics/pokemon/mightyena/overworld.png b/graphics/pokemon/mightyena/overworld.png index 4dc936895da74afbdd91c48265b18d1ed63ebc2a..2765fd4fc05c62ca1e9a5ebd7a1030d71c6d5131 100644 GIT binary patch delta 20 bcmbQh-p)QDfKh#7pf*d$^~CQRJK325MXCn| delta 29 ecmZo?pTIsLfYD%Lpf)c9418RY`)OkXJ2L=h&If=1 diff --git a/graphics/pokemon/miltank/overworld.png b/graphics/pokemon/miltank/overworld.png index 351fc02f878fad696d6c4b818ea75be073cdbd14..1ade8435229a6ed1b9053bc1f205780f914a86ac 100644 GIT binary patch delta 723 zcmV;^0xbR12g(MJ7zqdi0001UMu)eNF&hyt008P=0026d000+od=zsCbE8!Xa{ z+|&XlTzw8GACbDq*~LnE>E1&=;ixW+iLFH<_|zpZ=id{$!HdAHTVGSYC~d8Fj>qOR zHs$8W?r^2Gb>)y+3TGT1)~*&_tF>(b6HZ@&okw)Uz2b>Wo!#K@fHb{XyJ>&O^f!2* zB9SOu=ZYtGu2)}EzIdzSO3vb#)~M|{g%3wwDF`k)$3L}14!3puiJ#+%Cl-P21DtW? z03lDIP;i3}hcZ#-%uiM1o%2pZqZn?_@%qSJwF6M-1_CEsndk@<8KN;rV2F+B*4k;3Xi%{JD>HrkJFLY0>N{W$HleU zsBp^5ILEUE*&yEM*m#5r7YE^|35a|Q*1uuihSm&6UgbwT_7rz5|6~gc;=(O zY~C0wAT{-21%-Bav5_ahQQX(98{hvk`Aer?P4U=2wLhRcC2PCr9#8-P002ovPDHLk FV1lJlTe$!L delta 860 zcmX@bc7=U{gd__y0|UdhZCTrZ6id3JuOkD)#(wTUiL4V9r3DQb7+xhXFj&oCU=S~u zvn$YMqOZLyW0JSK3quF1tOrmFdx@v7EBiA>UN&X%UnaV46FcSWTRmMILp+YZy=<6& z*+GQ;L-EZ+6JkW>W(u$LZC}PM#4XRDx%QM#Ys7k|=~1Tw(oY0-uGCW13!b(`T*+~! zkYGrvBTMPYNvBpuN@#o8F^Wn~+;D2+d753O2eeiE_LBbK^o24z`len{<3!YnjmU*FEoI;L^ zqT+<4rJd=EOc<;bql=PmNNEN*Wz19wQDb#F<&yfISB16mNn$qZBDZb3nX=0AKKEpYYg$If zUYYLC?>YNNH$#k@)ot$P^p%e<{5tp~>cCsE`mNGiZgDWBcOLw8HF*F3nm17eXENPx zzMLlEdE`P${B*N-M)g@zGSTgh^Xqq*I>!XN8N@sD$Ca$i-Pjnhzwo9$$Szpmz8CL$!}JIBXJqSBLU5?PQ-?CA;KLx5)2L4}bT6&R0^% zdi2HP*u>uY4azmQt=x}ZQ+UT-^!>yFIroE1bIrxY_dm&&_~`ze%d2tYKI2ms>5YxI z+iqBvH9Ks->pU~LTx3qM)Gp^Ak!L>aeco3fv}^xDlgHbhuPLy(d%EOKqJV_I^@its zNBOs?v{?T1)^(iWd*biUz#aDXlYak^$b9~4`G=0+ZQ&0c3f9&?(GPA8zJ2|t{&jiZ zJNBA9%yr7Zl&V_d8c~vxSdwa$T$Bo=7>o>zjC2hQbq$R|jEt;|O|6WKwGAw+3=H0Dy!50Qvv`0D$NK0Cg__0P0@=06Lcd02gq4 z6}kZc001hHGA;!Dgw;!tY9D_QNklyq0b423O_P!^N-f89#Ln>e)uS+{Bb z_{=z$`3~p^u#;uEbm`KiOP4PFB>})6@NXKqKFx)sl!gh%98v~EgdCVY&D9`^6HYj# zOjt@m%8C91mw=f>g9gT23l!BLz$dxn(<73@gflJ`zzRUHK%eGNQnG)9Q3Dgcpq$ad zMb0Rm;-tJNj~W#p*wuWZGM&qL?-qvxZ~a#z`nn> z&8Ilf7BD)2W4_R?K+u1{JYeY$8i#khao12;^VP6{2`6I}s=XgOz!zQvZgOkP__v{! zb#)WI!Le2@Tq`;S>^JnuT?6)ngYggUcF49%xYi(G=hf#{U-w8ZFTop}q(LoEk$%p_ z!8g6VSX_QWzV!xuj;$cG+$DNpX?Vc2TECrhU=MJ{O8jQF&u$hAA?6TpQ<0D@%z8m84efn|z5ceq%bNo}CGlt!7-gdN%__W+{?b3!FW&YY5T6pfhyVZp07*qoM6N<$ Ef&gA2A^-pY delta 623 zcmV-#0+9X41+oQ@Bn|;{Qb$4nuFf3k0000mkx?#x00000002sFYRUir01#tgPIdqQ z03ZMW03ZMW00000003gS?)m@#0u)I^K~z|U?UvDY;~)$~Es#)($^ZZEO2SRtwFIem z)4q7laoXk%Xav~qvRt}!>C&Z3m;RFg;2-!Wja={MLQ+b@gkugV10q5WOz-Au5XA{6 zoKhx#ETtgjM8Ci#U?$O^fic$tMKuWUPA>WMh~zNgj7tTu0uU_FyE&AUEMe5ZgfA#( zv~ZC#il;a!FUq3^h8$S9C>TBE60js-W=JJyV8+3gSUyj2$kv}U7~LUbE-S=0NeJo2 z!3xf}X0z)IhrYieKj4h_fFB9c$Dn~R*VO@kU8XafY-UU74xe#x)WY(B$i$_(6($_} z{@ONsXJpEOwt&$I9P@>C1>6QE9Qz}t1SLA&xNE4a`D)m}gp;uf)qWlm&N$llCb!0n ze;R68S2y7c9BbvmwW3qN-l0$K8n7oEjDK*qL$+PQwFUt@uRgc>x<_((30~kN4QhdZ ziu8Rh4!+6lB`It56Y{M$=yPlZndL6g3roWTrX45WP`d)$9=sh5YGEdspP~jDj~bLo zNoFwVuZIA%?D*mtG~l|f7SO@C<9INr=dMfB`*b_F_Xd4VBt_c2*@gP&-}npn43cYA zVL1ND4~C_00ZV}<|8oahU=2oG9N0`&!E<)maLnavO diff --git a/graphics/pokemon/raikou/overworld.png b/graphics/pokemon/raikou/overworld.png index 8936847f40555b74edf01630d394e1e823a4e8eb..2bad9c9b2a7b3e320a39e7f972c5d76120f24c50 100644 GIT binary patch delta 999 zcmVz1n^427i_QK|L)-}dYsu(c9kdSPkm5m6j75q&M~eMm}TZ9ZgS|G($LE2rcz;#XCo?f)c}9md`5L@ z2Po0m@ZRQL^{Ho7XavyY1D6(ALSUH*jS7JsuG-d>Pjd=&I4dOSgL9)sdVHYsRUi=Y zIZ66rhrc^W;?{gE1L$xsHwxrdfltO9X!GP2$w7VUGKU<+B{un6fP?ZRke5P0kBg>O z-}(BG!!I1)@2jM#uDecLB({I~DFPo<*?QM^2}KEXIQEI>R?XeI44}oeKA`WO6714K zxh#vc_$k1FN0gZ{3KYuBL(4^fo9ph5apjXsy)}oN0$LQD1AC`F9F&mTJWbu9zsjEm zDsT&;B_d%n188wn2zEMI@X&p(tPyaQu3B6<3k2$fr#&ZWo8mN$Szv#Szw{5>qt@^c zWLO?y`Y-kM_{{zy#6>Rh zQ?b>N<5$U|;Hay|7O{WIqsF(*8srLpA4Vof7h5a8T|O(1D@Ik78UZk_Y;ol= zrjb*9N#J&t*W;-Ngoy#d3n?zo3LQT0;<;7p(0bX60KoMqLW_b&IE_3ZQD1KI0oNWj z$kN)v`(^~t<*3m~PYL^Ga8XVJ@@wyL;EbibUBxlYQgYd|g)e_yXb-$8`(8rjd*;TE z5rEbu{<2e_9RMQ8-1-q{kDJE{s5r# VHPOYb#ODA2002ovPDHLkV1miM0026e z000+ooVrmwkxf4x0b)x>L;#2d9Y_EG00(qQO+^Rh0SyKt7y2|UMv;jhe``rZK~zY` z-PN&c+e#P!@GC(O$YKYnOD7-pZV+~+64c7W<1J@dpAxGvrU)rx2a{+Gl)N`})SzbR zB1-i#WXa$^z{|s1$a|CUR5Eo6rddpSvaOSJ&80)9_Jd&kKA*l%cV}G?`c2|VweqNc zI<|4`QUCM=a1~b`F;bgqfAcZ_D5@CC#YN#Q9gch#iT%R~)VHy0)PzQoGa8i|a9$<5 zLYr6t-KZ0h(MH?#)WW^Imm%vFkxflDJ5`;CEVZ3(&ubx(SJUnQ5n0i7-PAi3ku9&Q zYnDeuUKKQOM`Zcsp}FVeGveKLX~&M&6q&AB6G<4?D*`{Uc1C_Xf8P_%8{X>$mZJ0NIN!h{bM|Ey zCBivamXJIM5Bho8OTm{*|9Eh9mCPO9?2+F`aZotS%BC;+ z**}5f99oBNLJMAzhfL$Nzc<|L!wGuWoAVY#;I!_TRhK3*ZylX^&LE+2 z{h(>QgHwRh!HLkbHh8-U^I+C?t=%MhzKbyol0|ZzJSUl9K@-ne11Xs!>7EfuGwMa| zx5->p7lj7NEj3#Jv~}@rM$gMcz0ORZ!A(>)V5shre`3M3VVYyUPa9sb?>CkYG)Jf~ zfF6y5Bu@?RU@>C_dagr?1=H&^m*0O&iUrf_Ua`UOHXSPs=fx4j`@8@FR4kZYr#Tk% z=Vu7V)1o>-g(wy*70-JJklwHwU&zu+>H8wTWPAhvU)KrbcZpvB z001R)X+>CcWMOn=I%9HWVRU5xGB7eSEif@HF)~y#GCDIgIx;gWFgQ9eFukZKrT_o{ zC3HntbYx+4WjbwdWNBu305UK#GA%GMEip1wGBP?dH99ggD=;`ZFfh#ZkQx90002ov JPDHLkV1hLA@Gk%W diff --git a/graphics/pokemon/roserade/overworld.png b/graphics/pokemon/roserade/overworld.png index 6011e19040c8d4b2e95fd5d5d7d8ad28e16db7ae..f5aa7ddfeb6620ea4e2efdb84f2c57e11c09a137 100644 GIT binary patch delta 685 zcmV;e0#g0R2FV7HsDF$}L_t(oh3%Eywxb{ng#k&BderxS+u0lJ%te6|XVzSquC8jo z7}{U*7yO?D7-56^Kwgb9yGw%$7Wi;6xnHV0 z;>MVmyu`m;8Wpm*llWGMix6a*m%!{1_1)sNJjLa+Ko&0^)rCIsV*!gxtO7gwOkU!L zQXl%Y*B^0rZ4j=}(rd6PE8pOL-=WZHG29;K z>8JR4QlScreB1XaUXql`JMxDd0k@sI6bDV>9zBn;;MW|thZoJ{Sp@|y34hCrJ~kB_ zwYk46F3`7QlOQ_QSXV*8PMP4iJtcwV44))B6aJo;BoPzUL7Cba3^@Xdtc1e_@29~Nhl3!+|0n>oGeYk>Xx7S&lE>?LWLMGDDCjX4m5ael4K!o z4~fAYcW6SDF`*p~atK^IoG)lRn|WHc-y=LfF+SSlY!dj2cU=1|QF(?#M?aQu@>6Ip zLw@1X;Z%iVg1l1z#^(a<60;@xGdhGYNHXv!@+JoG9jIFXo15`%0pCb`?0?!XRrn)- TCA>T~00000NkvXXu0mjf<4sKE delta 684 zcmV;d0#p6T2FM1GsDFz|L_t(oh3%Eywxb{ng#k%`derxS+u0lJ%te7zXVzSquD04Q z4Ld)ebB{gt*kg}9_BK!Z3;s_6%&@_Ipp88&4u@q~rU9lL>LTLb4 zh;dM+ImeH|$8m`)?%vU3h+Pkhvp+S%h%$Er%sJyTcw~Zu^?#?F-KD_=3w*ek+%HWY zac4|SUgMuGoeEjpNqj5BMF?`4*TC!%_1)sFJk{m1Ko+ka&4oVkV*!gxYyt=ROkU%M zS|9rL*Pn5BZV;}~({FNV^I3Pwpv6=Ej^EOh&lxj$)OdO*_Q?&-*vsj1ho2+Xcd$4L zq)C-tii_Ten1B3ti^2_F59xN$*PZ^6fWfgsN;xYm=ahOQV)624#>x%ulnay;YLz-O zW^!F#uMB&=7S-$AX%VJbmyoLYxp1ZS2C=F`d&A{NCEKS1d*01)K z5`#PL(1a>uLI)n?5SRy?4`}?i@U-kdM|gf>e6-8iB=C%9T>mN2c!9$}KbCOvQ|Tx} zzTq<9RE1-Ld{6+!=K}o_vnBd7JA^PuGV!SLCMED4XjlN7oAGS{-$;Dyf7&l_nj?e? S)k1av0000EKgDgPHfC`ii|MH@kjpT%*&8v&Z*w{ejSej&rglEJ^|F$+3ADuV|YMFEmEVgV=- z@=s~Bpd z92Y>)VAVQ2EY5CqghsxpcBR)P2Td#>(4>v>_AKkRh5!CU~0->#D3Tr2L;o5PR ze~ix}usqyU>8H-%fIIqe=enXmz)j$X3a0CtoDA6TVZ6FKFa+5Uf|dTf9qFbvq} zCl`0+!vlz-rzOs_U5y!_9X}%Ud6fVKg(aZU&)!yAE{YV*ERO<}GST1R#XZkKgHSr_ zsYsf`m(yXx{yGIFhGqUnZ-7o<02#8vR|E2ZTwelIC=*KYLz2{ zcR`dE{9F7CF5toy_jcKBDtb_8eN``GwM1q@6rBqKlAj9rGuqA$7Hg7*OImlwr}{9W z2*HUR6nju%989(g%nX0S#Vw`nHuD}!3UBw0bC%3mXPopfuGDc{z41>SPon}n%iJnP zkexEk0sf`o o;cdJ7;p@5y!|&D%zwNKLKaKSm>VEnrXaE2J07*qoM6N<$f-n`{0RR91 delta 1090 zcmV-I1iky?2(1Z_7#Rcu0002CwraKj000DMK}|sb0I`n?{9y%=AsZ1e008P>0026e z000+ooVrmwkxerl0b)x>L;#2d9Y_EG00(qQO+^Rh0SyKt6k|Pn{E>Yhe`-lYK~zY` z?Uq4r+cp%(B?tz36eG1%k0$j2Bub9l-DGjdjxGYZ@Hw#Vj6AScBN*a)-~l=J((|?t zxJOB(sBCu7?l$zni1iEk-v5#BQMBXyu))wP{9nzTpJOlUzico(+H1__=h!1%P?o4? zM$Lreg~Mg`$b6a~83kFKe`trCB;PII!?xtrgnOIa#?|29aax}Xm|te5QVY31;X$Bb zJaN4H7MxbsJDq`I+d}^my9_qk<)y``8LaO})dlocbhkbu;O#H5iwU_;FpsiqWSzmR zsafpj`+X9U#YV3{@erzW@?>kC9m6{Q6#<*?MMkK_dg^s^8wc@ze@{cYX@&rvVqGqh zB@UDKiIXv+yR74J!cYyxDfr*BP*q8!f=-?z!Xlr#t=9Rr!spCm^8mT}_s7ln)ky0Jhk5)n^d6 z-kmz0of>m16s_q25GW$xC1$n&oR`!h1_CzQ6F2L1fB&@J+zwIQ!!kV>Un-Ge+>WCvmAeN zNkl^=H?|q2DdmG2d&q=_|`7yfHQG|`d8qNdm%umE~&J>aK0es_z1;3u38c${e z!L509!5E;!;lSYr&JK}9jt#OLYFvM90MNU}oyYeIfQNjQAL9- zi{ec!Nc-${jV^MebsFL_K`{tfdIP6iOu|~_bC3g@3^2wQKAhY1P+fu^CzE(>X{8l= zF7iT$w2bnFuNW=?Nw>Ji`JNT&w{V~H+`za4uW;FDDb)&Kl<0AJZ@~*(thM~Tz*`Z! gz!g3<_0RMLS)m;|IWbwH000UA07*qoM6N<$f^RR&UH||9 delta 617 zcmZ3+a*K6>gd__y0|UdhZCTrZ6id3JuOkD)#(wTUiL4V9r3DQb7+xhXFj&oCU=S~u zvn$YMqOX}OW0JSK3quF1tOrmFdx@v7EBiA>UN&W(g1{%MCN{{|Pw{kd4DmSr_L5bhvm$LAs5d%c~0&#F`Ii-yzKJA)y$QG*OnPxYz=&q=ThEuTzthZ-ajF>mqq$! zeHYqolDXsU@%iQD{RbjKf#B-@l~JqTgsuJg*zxApwAZWl)LEOX^v$!}d#U*!bLrip z9hJU$yl!*$1U&y$e0(8$Mg8`a><<~!`BxO@elXb@`)Oa}GUnaWB4YTUpn> zZy|HrUGuwBcR#$Tzxdyi>uIII*KemJpLLwfI5F|YwnF)5-!4pxzu_|blZ-kaj~|;E z%l4Q}0xEm%7Aoq#v5X1OE}k=^;>9CrH-)gehpG(^@)!i3`7tqGIW=b^v&xI4`U8wX z3VjN*I}`YJ?{PF^o{_&#I)P8=#HT+w4TmaJ8&sG4+@r6)^Zw(foDW2DomYNj@#y7E zpTISrXU4;+T-i$J6mG9=IW&9iof{umc3beJruEj=+&M1KrLWNYB<q42`r6EUXL+ jrUs~dMA49&pOTqYiCe=He%?90KphO8u6{1-oD!M}+(Z6UMD&RB$dC9#5lz!{5%G>YKZn`3i+snQ%1yIsYRz!V=T)EbEbpDW8q(xG zAl!tI!Pkwy;NJU>IaY{Z7!~FzRQG@RiVMrTK&=uTI7V0eLDL~)X!v(t`t^J&by_9e zX0kWA<`RkARw3sq0o{QUMX`QyF7J?Q_;)VWKWKk{rS;{2#X-I1B23Zi6u7;QwSXti zBGw;y&OI`7toTpd`XS;m90S^Yyx{^dK>Fx%&W}5$GcV=`_1h8iET#X6PP_%~kqlbpV&_=P__hl>>^o-U^$rG3zCS{y!=3D*C2-qQOeU-v5Sye$k&V{0pX kU*+ohkM6s>cm17y0D6}hYsJo4u>b%707*qoM6N<$f<$K|YybcN delta 706 zcmX@bx`SUN&WpavO!s6WiqK8Q*xiIEHu}e|u%4 z-)#p8_7B?gCRp8wXiD*xWjX5n^oNe>b4C3FEGM{>g+k|;Iz9XBrIj*4B4ba1q~ofP zc}z#R^c~|`KHn_g=hnM9Y^r_g&!6&tYs)t_2iShS66|mL|6)zl!>P$zSG~2o8h2A( zX4|SglJj4O##J&fH#BQ8AE@7P=q3+u?M`{Pk)Bmb5$3H8}o4D9i|6%L#U-$R=1zR*5zp~nS_fW{1dJEpo z%GPtc_G~zD@iyOqFd5hQua|g_uDi>+o_n9^dGjB7I$ZLTPAhoS-RX|mapGe3AudL> zMFj_MSsNaH|1i_|=uX44Z@UhiOJxWwQ2ac9XSdA4^OFtC-WzNcSzbOR>L~Aqw{MSa z@IBHb@bKI1MHk9$&Xm`(+o>zjC2hQbq$R|jEt;|O|1+pv<)n*3=IBuRVzYt eKsDs%r(~v8;?~e}{qS6%1_n=8KbLh*2~7Z$1u?4t diff --git a/graphics/pokemon/stunky/overworld.png b/graphics/pokemon/stunky/overworld.png index fb36b0cb876312e96a79fa6c92162d614de444a7..350aac0b4d3b62ec26691b8d633e5d22d0fa7bcc 100644 GIT binary patch delta 20 ccmdnYx|Vf90HfB#Ks}adwYj%9c4{#J07sDq=>Px# delta 26 ecmZ3>x|wxC0HeXgKs_!7FkqFPAG@(xiwOW&A_f!y diff --git a/graphics/pokemon/torkoal/overworld.png b/graphics/pokemon/torkoal/overworld.png index c3a22a1fb0b5f4d6641a07880cbb96ce30023546..29cb8a45e1ac878ee00c0737d47a39466936248b 100644 GIT binary patch delta 708 zcmV;#0z3Vy2Dt{1BrPCgNK#Dz0D2|>0Dy!50Qvv`0D$NK0Cg__0P0@=06Lcd02gq4 z6}kZc001PBGAINF@=nu{Y99fJk%}RIZ7mPf2$gR@?y~;~=)|Jg-!MpIwbCyP&`rIG|7K63^b8Z#RS;|#b zH-YoaE_#)_z{~=fIn8KRm}TC7EWE-)aD!CmXl|#sIU4A5mYB~FCZ^1ix&%8M5(Ozm%)GQ(a;cIF)??!|;wBJzMikd4?3i&dFyu7I z*SfCiXD@PACSued0+}!UUT;U-)>ligO%$;dSIg{xv%#jf53hZo8o@q)cac$Dp_}BX zrsrK#pZgkZQ-w!stsZeR=y@r*X(ph@T_A_n6fW*j<*@7Pa-}<)Bv#@4q}ihZtHPbD zRviF)zLl6!>l<-XDC|UuFst1A93R*{t}!K6S+ao3r=9fM#CNl<{2}TV~rz%f@;0#uNy? z-C`kF1RtsM4mCy@)$*6G7FZ1Ke+g07Kxq=&^tJ@L!Hu_mzTG7y?5B-CK6{5YuIzMM qUi$gP3;gKR?!ULbr00(R82Gl{ny-9??#5mjihCY9?vK9n3jrmI*L?W=VkO|F@^TB z+xqDP{z(ZUnL;jcEGDg7xX!)LvMy|&Sst2sfAlxvA<)$}Lp0dXf6igzM7TkL4ylI9DlmS=|KAGrQ zf3WZh55Wymou_$SD+3*l2^0t}6OX~az+@{B01PuMZzU|`5;kgs)J)$d;9tW3nHKLj#g`n}(d zxb3f&U|T3+DXzBJ0cV3PZ=YU!Lp6haf9@iqx~s9V?s1JNvC4dxiI7U58T`SyppJ)?R0j7Xp>gJCzOZq2XrDHiBlTfyh*%%Hf1mji z*01=*A8O08Ak+fg;5TRQg8|JPk;Bp+=dV68+fiCJ&WAUaK=9)h3&A4zOr3YAG0Lo# zzkId8VsQUUh`I(!lh~oRCD09Sy!G|%DJfyUZT#`sJG60Sr`z(<*Dnt6qf@*8-ujZB dJN{$*1JsBiul*Fl_W%F@07*qo1w^hwV1hx*P#ypP diff --git a/graphics/pokemon/wooper/overworld.png b/graphics/pokemon/wooper/overworld.png index 28fd4df96c43383c3dbf6cad4beb96654c00dac9..471039362dee25ceb3b2c399afe60a337b53d573 100644 GIT binary patch delta 360 zcmV-u0hj*$1Ly;gPyrs1Q6dB=o0sB|i64JGNkljsZ=VJN~KbWO#jHQx8ImK_uR}$7Uc`xh_}rxoLFw= zSKFI`ISh&AZY~%vc`U$-05@`3l&^SiUHReo!D=_>`Afjl{1?{6{-?Zu*`;A3jhlbd zob*`XG>?G(d^-1Z1CZN8CDkD^)cQ{+u;QW-@iX3Rf0l9bY~JKCWQ%C+X9IrWlC%(5 zZ*`atr(L?tyB|C;gh_oqxg)sfbch!4yMA8kM<4KbO^J4uZ22D!deAUY?%26bx&J)UA$^9~zuwD=xKuKO=8Hz71r zwKz{I_4i@dRU)gY>xb4Z!dw8VC zc>k<>JZBO;bjphlR-C;1VM5KJmk(YtF-&*;(e?e>%>6RA`|r+quFpE}nSX@%>-nGl zom#pE57uYb9tr6i{F=bF6VBzV>UIU{Y1cN`?m+Wy4^bGe@uJ5SxUY7vs%Ae zbmz3XYY)WrJh>V_inaeNxV6;({)Y5<5{H)Dn}0_zrsS53_6PGixmSz%D{7Xx?DqQh zgPq+nV}?fgo0#Qy?(^qQTvGpd#`~YT<{B4%9^l>}=^xHzv%|-}&7@`@dxh1_AI$e^ z*mP|-L=?BhW^i|GV*0LhFtMeK*F;(49`~1j+!_<^FbGxf)kHv_#`HjYNfWs>Yr3FiAe|zSOT= zsiy$}X&e1zA}Lo|I0yA<7$)@wNWzZm_Qjt#)JKT(6($S@dlLf+gselJN=SQ$$0TXw zGz)Iea~kSddJA(!<^So%?^366#3^ z#VhJ5&5#Cx!(LhsjvtPk@hVeDI3{?sCz3Q9WXMJAW)r$Q_vw6ihoEm}gh2<`eQXdW zT)EV1`*`DV;522&a|J9Ja(F`Eh8;EO62gRgp3a9`_E?`TAxi7D0e~#8r=+q7cU)7T z0XwJbuoMPG9eaGowOvXB$31_>T0Nfqj_2-VMrP~p6C84STtr0EpL9SR9BSh|B1-cL*P=XlUR&#}pI z`ZD8?o^^p5H~kW&uM!m=^w0B#ae~jxxRkzcZ=Ch|b%_-Jp;@_FAN50z>T7%n_M>ia z^t|RA)+0}?hwf3m?2?$G)6gMgl=#lbSKj}@`g+QUN&W}nMRKDCw9u$3wpXZhIkx*d&w~S zwu1=!hj2cV(iIEmJAAwL^h4yPha%3a7YBcMwDO8TbF=tF&DOdGk*rrx67U? z_Qu^PtL3oB92#GROWTo~(Vlbb^2UN#V_F7d&+TRrBFX<&>uxCcjRI?<$GdGJC%K27UP% zv-3UHzU7x(e2drl;li?m(#NC~--_Qof6o2v#TN!A%pz89y_1|H)e?~_!`&a+cTc!J zaS7X$DnzOe= zZL|KNFv(wrza>*geqx+$oT}&Z>wPv2j{;^KdnL{&bZi0JlFf{(-=DKueYa6nJZkw$ z@k<=b-HPN^+U#$bdsc$YRH64%qu9@XJu*+<8`PJ66I*DSoMV38Gi#FRi=(gS{kyw- z+m^=1RbN9n(z;uv-^l)-^Fn+I@3~#C-;|zxCeQj`=SM_ z!kaa9ixOf;$`t`Q|Ei6yC4 z$wjF^iowXh$Vk_~P}k5X#K_3X*wo6yy*=T4Y~O#nQ4`{H55`meT diff --git a/graphics/pokemon/yanma/overworld.png b/graphics/pokemon/yanma/overworld.png index bc4288ef4b9849680ed98a6ca6767846f26a7ec9..fbd1be82bdf4d42c2cf5af4a27f65ae288077d47 100644 GIT binary patch delta 876 zcmV-y1C#vw2loe%PysEGQ85G(A&>x(i64JGNklDPcO*eD zP>j=b9<5c9HoGzB2yr`(C!ToXi6@?DAq4$=$))Vye$P1oO8YK^5*pi=TpDey)#lQ` z4W|I-fZC^uhtOJs4<7LSJ8pak!J9R`=LhR|+2TM_qqvED=qD$|t?TVzBV@gDwG(W1xr`R`z3VJpU*$ zt!aLcM1=<4<)9b58==Obbcn{mV}?D@K(eH_22#jl#GJ>cS6J=FDlpFWOBb;jh%gV3 zrqzK93=5^^S6eMEI1C)BTIZzXF_w}RWA+56em8K}IcNzGEKtn$TLP+q$$o#;SA&)~ zU2`7ZTh5;I)9Hy&W(w{!&^{~uE8yrjg=+R{0+hlzuGD1zOhDsqa)4q?!YBf9nrR(K zbX!~YykrEU%oItrG(C@nzso(omguE20qVYAB4=fywtawD&qrt#iLqw5=AAdecL_t(oh3%JFmg67{MGZoXf&DMH zB|)$u*iNVW(>g^`m0L0I2{CQk6Hh$x#1l{SP>O$k$!)b?8_qmbH1y7mWNyNNzaK*K263+~D?!A#VJ)nES5CTr0 z4IXwrht8!cj3uwC{EDNa`N4SsBPBHVyz{j|`pT=ym04EhzgCsl`Sbw#wl3MR!sv3* z3;QFVf~GbVCW&PAp9$Xi>t%r3Y=BI8?tc=gM34p5PmT(!!OHg!4hevgB1bB)vY$%l z<)g$9d48}&Lk8aEfD3*Yq0XUpNX8*hh6C_Gilny&Rw!d6T*l|9u-Q#bV4CgME>bs; zU>+dk)j;29jX%!1Ba&8d#z=a(V7=y@dUemKX89=&=a6UpqlOX1T+Ja{ePyf z1ut>favtAX&NY{(^An-Y6xwN^e^&c9AaURvrrT=?Fox#1F_Zm00iFBF0g17hq6(yG zh8S6NUt6wu%?L%EDS->kzl)}3SlkSpmx9Xo1c0ovFxlS|(D}i>1dVLTRbhzEQ5TK` zI_K4Qd~46dw$otyyXUWF?8sYAVSh>hJv2`CTLMPD+phvk_M*@_FwW3^Pf6CX&w)G6 zL1(l&Q}_jsN48eLFmMRY+FXT%=La~I&ib%Vt}^F zwpYeXTjjx=sQKjMQo`p{lx+g16KhMrz~^}!qSA$y*LD`FK;tKeH5Ub1d4EwDv!~y; zIc~VBV@L@WFGti8F!IrU2s%-m?X;aMI6dsCP4g(xGM6*`w#^FfIR6Lbgi3Q;uy6QQ zk3wwV^fby#v{@gwMPQxk<3e3q6Nexq#$$`DlS>@y2 zb;oH=$!1SQVwYEzJ1%`(-&tpfUkni`O3Bg&VX4;E6>`Zb!|lFvIs(^R;^syPH$y}l zv^%*Be8aWZNbP6-Mf}s1^FAoImsj>X{zd%TrT>ZlAAbOakT6mOhI7FH0000 Date: Tue, 10 Sep 2024 02:33:59 -0400 Subject: [PATCH 70/78] reset item flags on new game (#5363) Co-authored-by: ghoulslash --- src/new_game.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/new_game.c b/src/new_game.c index 783c6893c8..4bce5a5b96 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -51,6 +51,7 @@ extern const u8 EventScript_ResetAllMapFlags[]; static void ClearFrontierRecord(void); static void WarpToTruck(void); static void ResetMiniGamesRecords(void); +static void ResetItemFlags(void); EWRAM_DATA bool8 gDifferentSaveFile = FALSE; EWRAM_DATA bool8 gEnableContestDebugging = FALSE; @@ -204,6 +205,7 @@ void NewGameInitData(void) WipeTrainerNameRecords(); ResetTrainerHillResults(); ResetContestLinkResults(); + ResetItemFlags(); } static void ResetMiniGamesRecords(void) @@ -213,3 +215,10 @@ static void ResetMiniGamesRecords(void) ResetPokemonJumpRecords(); CpuFill16(0, &gSaveBlock2Ptr->berryPick, sizeof(struct BerryPickingResults)); } + +static void ResetItemFlags(void) +{ +#if OW_SHOW_ITEM_DESCRIPTIONS == OW_ITEM_DESCRIPTIONS_FIRST_TIME + memset(&gSaveBlock3Ptr->itemFlags, 0, sizeof(gSaveBlock3Ptr->itemFlags)); +#endif +} From 6f922df7ef7d6d3db502b6fef24c0a2ce0cfc214 Mon Sep 17 00:00:00 2001 From: Pawkkie <61265402+Pawkkie@users.noreply.github.com> Date: Tue, 10 Sep 2024 06:58:30 -0400 Subject: [PATCH 71/78] Frostbite score fixes (#5362) --- src/battle_ai_util.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 82425a3082..b2e18db740 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -3828,11 +3828,14 @@ void IncreaseFrostbiteScore(u32 battlerAtk, u32 battlerDef, u32 move, s32 *score if (AI_CanGiveFrostbite(battlerAtk, battlerDef, AI_DATA->abilities[battlerDef], BATTLE_PARTNER(battlerAtk), move, AI_DATA->partnerMove)) { - ADJUST_SCORE_PTR(WEAK_EFFECT); // frostbite is good - if (HasMoveWithCategory(battlerDef, DAMAGE_CATEGORY_SPECIAL)) + if (HasMoveWithCategory(battlerDef, DAMAGE_CATEGORY_SPECIAL) + || (!(AI_THINKING_STRUCT->aiFlags[battlerAtk] & AI_FLAG_OMNISCIENT) // Not Omniscient but expects special attacker + && gSpeciesInfo[gBattleMons[battlerDef].species].baseSpAttack >= gSpeciesInfo[gBattleMons[battlerDef].species].baseAttack + 10)) { - if (CanTargetFaintAi(battlerDef, battlerAtk)) - ADJUST_SCORE_PTR(DECENT_EFFECT); // frostbiting the target to stay alive is cool + if (gMovesInfo[GetBestDmgMoveFromBattler(battlerDef, battlerAtk)].category == DAMAGE_CATEGORY_SPECIAL) + ADJUST_SCORE_PTR(DECENT_EFFECT); + else + ADJUST_SCORE_PTR(WEAK_EFFECT); } if (HasMoveEffectANDArg(battlerAtk, EFFECT_DOUBLE_POWER_ON_ARG_STATUS, STATUS1_FROSTBITE) From 2477f1d5cab5766e78dca618d9024b6bca6b8cb5 Mon Sep 17 00:00:00 2001 From: psf <77138753+pkmnsnfrn@users.noreply.github.com> Date: Tue, 10 Sep 2024 05:44:08 -0700 Subject: [PATCH 72/78] Made BuildColorMaps redundant by using static tables (#5289) * Added config for ColorMaps * Fixed delclartion of static maps * First commit complete * Removed config * Removed config * fixed overworld config per https://github.com/rh-hideout/pokeemerald-expansion/pull/5289\#discussion_r1747583812 * Fixed pointer alignment per https://github.com/rh-hideout/pokeemerald-expansion/pull/5289\#pullrequestreview-2286973040 * Update overworld.h Removed new lines per https://github.com/rh-hideout/pokeemerald-expansion/pull/5289/files#r1749325673 --- include/field_weather.h | 2 - src/field_weather.c | 145 ++++++++++++++++------------------------ 2 files changed, 58 insertions(+), 89 deletions(-) diff --git a/include/field_weather.h b/include/field_weather.h index 9805dc491d..ba45d161b7 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -41,8 +41,6 @@ struct Weather struct Sprite *sandstormSprites2[NUM_SWIRL_SANDSTORM_SPRITES]; } s2; } sprites; - u8 darkenedContrastColorMaps[NUM_WEATHER_COLOR_MAPS][32]; - u8 contrastColorMaps[NUM_WEATHER_COLOR_MAPS][32]; s8 colorMapIndex; s8 targetColorMapIndex; u8 colorMapStepDelay; diff --git a/src/field_weather.c b/src/field_weather.c index 3c9f642faf..7d3c4caf4f 100644 --- a/src/field_weather.c +++ b/src/field_weather.c @@ -5,6 +5,7 @@ #include "util.h" #include "event_object_movement.h" #include "field_weather.h" +#include "fieldmap.h" #include "main.h" #include "menu.h" #include "palette.h" @@ -44,7 +45,6 @@ struct WeatherCallbacks // This file's functions. static bool8 LightenSpritePaletteInFog(u8); -static void BuildColorMaps(void); static void UpdateWeatherColorMap(void); static void ApplyColorMap(u8 startPalIndex, u8 numPalettes, s8 colorMapIndex); static void ApplyColorMapWithBlend(u8 startPalIndex, u8 numPalettes, s8 colorMapIndex, u8 blendCoeff, u32 blendColor); @@ -66,6 +66,52 @@ EWRAM_DATA static u8 ALIGNED(2) sFieldEffectPaletteColorMapTypes[32] = {0}; static const u8 *sPaletteColorMapTypes; +static const u8 sDarkenedContrastColorMaps[NUM_WEATHER_COLOR_MAPS][32] = +{ + {0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29}, + {0, 0, 1, 2, 3, 4, 5, 6, 7, 7, 8, 9, 10, 11, 12, 13, 14, 14, 15, 16, 17, 18, 19, 20, 21, 21, 22, 23, 24, 25, 26, 27}, + {0, 0, 1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 11, 12, 13, 13, 14, 15, 16, 17, 17, 18, 19, 20, 21, 21, 22, 23, 24, 25}, + {0, 1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 11, 11, 12, 13, 14, 14, 15, 16, 17, 17, 18, 19, 20, 20, 21, 22, 23, 24, 24, 25}, + {1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9, 12, 13, 13, 14, 15, 15, 16, 17, 18, 18, 19, 20, 20, 21, 22, 23, 23, 24, 25, 25}, + {1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 13, 14, 15, 15, 16, 17, 17, 18, 19, 19, 20, 20, 21, 22, 22, 23, 24, 24, 25, 26}, + {1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 15, 15, 16, 16, 17, 18, 18, 19, 19, 20, 21, 21, 22, 22, 23, 24, 24, 25, 26, 26}, + {1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 16, 16, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 23, 23, 24, 24, 25, 25, 26, 27}, + {1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27}, + {1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 19, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 24, 25, 25, 26, 26, 27, 27}, + {1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 20, 20, 21, 21, 22, 22, 22, 23, 23, 24, 24, 24, 25, 25, 26, 26, 26, 27, 27, 28}, + {1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 21, 22, 22, 22, 23, 23, 23, 24, 24, 24, 25, 25, 25, 26, 26, 27, 27, 27, 28, 28}, + {1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 23, 23, 23, 23, 24, 24, 24, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 28, 28, 28}, + {1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 27, 28, 28, 28, 28, 29}, + {1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 25, 25, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 29, 29, 29}, + {1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29}, + {1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30}, + {1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30}, + {1, 2, 3, 4, 4, 5, 6, 7, 8, 8, 9, 10, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31} +}; + +static const u8 sContrastColorMaps[NUM_WEATHER_COLOR_MAPS][32] = +{ + {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31}, + {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31}, + {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31}, + {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 11, 14, 15, 16, 17, 17, 18, 19, 20, 21, 22, 23, 24, 24, 25, 26, 27, 28, 29, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 16, 17, 18, 18, 19, 20, 21, 22, 22, 23, 24, 25, 26, 26, 27, 28, 29, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 16, 17, 18, 19, 19, 20, 21, 22, 22, 23, 24, 25, 25, 26, 27, 28, 28, 29, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 17, 18, 19, 20, 20, 21, 22, 22, 23, 24, 24, 25, 26, 26, 27, 28, 28, 29, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 19, 19, 20, 21, 21, 22, 22, 23, 24, 24, 25, 26, 26, 27, 27, 28, 29, 29, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 20, 20, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 27, 27, 28, 28, 29, 29, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 22, 23, 23, 24, 24, 24, 25, 25, 26, 26, 27, 27, 27, 28, 28, 29, 29, 30, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 23, 24, 24, 25, 25, 25, 26, 26, 26, 27, 27, 28, 28, 28, 29, 29, 29, 30, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 28, 28, 28, 29, 29, 29, 30, 30, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 26, 26, 26, 27, 27, 27, 27, 28, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 27, 27, 27, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31}, + {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31} +}; + // The drought weather effect uses a precalculated color lookup table. Presumably this // is because the underlying color shift calculation is slow. static const u16 sDroughtWeatherColors[][0x1000] = { @@ -158,7 +204,9 @@ void StartWeather(void) { u8 index = AllocSpritePalette(PALTAG_WEATHER); CpuCopy32(gFogPalette, &gPlttBufferUnfaded[OBJ_PLTT_ID(index)], PLTT_SIZE_4BPP); - BuildColorMaps(); + + sPaletteColorMapTypes = sBasePaletteColorMapTypes; + gWeatherPtr->contrastColorMapSpritePalIndex = index; gWeatherPtr->weatherPicSpritePalIndex = AllocSpritePalette(PALTAG_WEATHER_2); gWeatherPtr->rainSpriteCount = 0; @@ -265,83 +313,6 @@ static u8 None_Finish(void) return 0; } -// Builds two tables that contain color maps, used for directly transforming -// palette colors in weather effects. The colors maps are a spectrum of -// brightness + contrast mappings. By transitioning between the maps, weather -// effects like lightning are created. -// It's unclear why the two tables aren't declared as const arrays, since -// this function always builds the same two tables. -static void BuildColorMaps(void) -{ - u16 i; - u8 (*colorMaps)[32]; - u16 colorVal; - u16 curBrightness; - u16 brightnessDelta; - u16 colorMapIndex; - u16 baseBrightness; - s16 diff; - - sPaletteColorMapTypes = sBasePaletteColorMapTypes; - for (i = 0; i < 2; i++) - { - if (i == 0) - colorMaps = gWeatherPtr->darkenedContrastColorMaps; - else - colorMaps = gWeatherPtr->contrastColorMaps; - - for (colorVal = 0; colorVal < 32; colorVal++) - { - curBrightness = colorVal << 8; - if (i == 0) - brightnessDelta = (colorVal << 8) / 16; - else - brightnessDelta = 0; - - // First three color mappings are simple brightness modifiers which are - // progressively darker, according to brightnessDelta. - for (colorMapIndex = 0; colorMapIndex < 3; colorMapIndex++) - { - curBrightness -= brightnessDelta; - colorMaps[colorMapIndex][colorVal] = curBrightness >> 8; - } - - baseBrightness = curBrightness; - brightnessDelta = (0x1f00 - curBrightness) / (NUM_WEATHER_COLOR_MAPS - 3); - if (colorVal < 12) - { - // For shadows (color values < 12), the remaining color mappings are - // brightness modifiers, which are increased at a significantly lower rate - // than the midtones and highlights (color values >= 12). This creates a - // high contrast effect, used in the thunderstorm weather. - for (; colorMapIndex < NUM_WEATHER_COLOR_MAPS; colorMapIndex++) - { - curBrightness += brightnessDelta; - diff = curBrightness - baseBrightness; - if (diff > 0) - curBrightness -= diff / 2; - colorMaps[colorMapIndex][colorVal] = curBrightness >> 8; - if (colorMaps[colorMapIndex][colorVal] > 31) - colorMaps[colorMapIndex][colorVal] = 31; - } - } - else - { - // For midtones and highlights (color values >= 12), the remaining - // color mappings are simple brightness modifiers which are - // progressively brighter, hitting exactly 31 at the last mapping. - for (; colorMapIndex < NUM_WEATHER_COLOR_MAPS; colorMapIndex++) - { - curBrightness += brightnessDelta; - colorMaps[colorMapIndex][colorVal] = curBrightness >> 8; - if (colorMaps[colorMapIndex][colorVal] > 31) - colorMaps[colorMapIndex][colorVal] = 31; - } - } - } - } -} - // When the weather is changing, it gradually updates the palettes // towards the desired color map. static void UpdateWeatherColorMap(void) @@ -463,8 +434,8 @@ static void ApplyColorMap(u8 startPalIndex, u8 numPalettes, s8 colorMapIndex) { u16 curPalIndex; u16 palOffset; - u8 *colorMap; - u16 i; + const u8 *colorMap; + u32 i; if (colorMapIndex > 0) { @@ -487,9 +458,9 @@ static void ApplyColorMap(u8 startPalIndex, u8 numPalettes, s8 colorMapIndex) u8 r, g, b; if (sPaletteColorMapTypes[curPalIndex] == COLOR_MAP_CONTRAST || curPalIndex - 16 == gWeatherPtr->contrastColorMapSpritePalIndex) - colorMap = gWeatherPtr->contrastColorMaps[colorMapIndex]; + colorMap = sContrastColorMaps[colorMapIndex]; else - colorMap = gWeatherPtr->darkenedContrastColorMaps[colorMapIndex]; + colorMap = sDarkenedContrastColorMaps[colorMapIndex]; for (i = 0; i < 16; i++) { @@ -544,7 +515,7 @@ static void ApplyColorMapWithBlend(u8 startPalIndex, u8 numPalettes, s8 colorMap { u16 palOffset; u16 curPalIndex; - u16 i; + u32 i; struct RGBColor color = *(struct RGBColor *)&blendColor; u8 rBlend = color.r; u8 gBlend = color.g; @@ -565,12 +536,12 @@ static void ApplyColorMapWithBlend(u8 startPalIndex, u8 numPalettes, s8 colorMap } else { - u8 *colorMap; + const u8 *colorMap; if (sPaletteColorMapTypes[curPalIndex] == COLOR_MAP_DARK_CONTRAST) - colorMap = gWeatherPtr->darkenedContrastColorMaps[colorMapIndex]; + colorMap = sDarkenedContrastColorMaps[colorMapIndex]; else - colorMap = gWeatherPtr->contrastColorMaps[colorMapIndex]; + colorMap = sContrastColorMaps[colorMapIndex]; for (i = 0; i < 16; i++) { From b478881fc64f6b8c8c5336e92e71f8b3126f319c Mon Sep 17 00:00:00 2001 From: Rachel Date: Tue, 10 Sep 2024 12:27:49 -0700 Subject: [PATCH 73/78] Add in-battle shadows underneath all enemy battlers (#5178) * Add data to SpeciesInfo entries for in-battle shadows * Implement sized shadows in the sprite visualizer * Implement sized shadows in game code * Show shadows for the lead battler for opponents during their battle anim * Feedback on shadows, round 1 * Revert removal of Goomy and Sliggoo shadows * Fixed GEN_3 setting * Code cleanup + remove pre-processor branches * Fix bugs with gen-3 configuration branch * Style corrections, final shadow coordinate adjustments * Adjustments to Garbodor and Araquanid --- .../enemy_mon_shadows_sized.png | Bin 0 -> 255 bytes include/battle.h | 5 +- include/battle_interface.h | 3 + include/config/battle.h | 3 + include/constants/event_objects.h | 10 +- include/graphics.h | 1 + include/pokemon.h | 6 + include/pokemon_sprite_visualizer.h | 20 +- src/battle_anim_effects_1.c | 27 +- src/battle_anim_smokescreen.c | 36 -- src/battle_controller_opponent.c | 37 +- src/battle_controller_recorded_opponent.c | 36 +- src/battle_gfx_sfx_util.c | 207 +++++++++-- src/battle_script_commands.c | 1 - src/data/pokemon/species_info.h | 8 + .../pokemon/species_info/gen_1_families.h | 273 ++++++++++++++ .../pokemon/species_info/gen_2_families.h | 114 +++++- .../pokemon/species_info/gen_3_families.h | 173 ++++++++- .../pokemon/species_info/gen_4_families.h | 98 +++++ .../pokemon/species_info/gen_5_families.h | 188 ++++++++++ .../pokemon/species_info/gen_6_families.h | 91 +++++ .../pokemon/species_info/gen_7_families.h | 113 ++++++ .../pokemon/species_info/gen_8_families.h | 123 +++++++ .../pokemon/species_info/gen_9_families.h | 127 ++++++- src/graphics.c | 1 + src/pokemon_sprite_visualizer.c | 335 ++++++++++++++++-- 26 files changed, 1907 insertions(+), 129 deletions(-) create mode 100644 graphics/battle_interface/enemy_mon_shadows_sized.png diff --git a/graphics/battle_interface/enemy_mon_shadows_sized.png b/graphics/battle_interface/enemy_mon_shadows_sized.png new file mode 100644 index 0000000000000000000000000000000000000000..8d0e96885292fdf4a81edac08fed71a246b71312 GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3-p)I`?e@QU(D&A+A8$(b4h$|9khYZaKQQ zxOz%+P*#$HC4*&<Wf|Bf40dc#m(vy&Yz&7&&l&Zlustm%5UYe8PhL)e9U$7 k_4G!@J%>7#`}Tii<4F?#dTJ@VHPB`TPgg&ebxsLQ04$|#hyVZp literal 0 HcmV?d00001 diff --git a/include/battle.h b/include/battle.h index d3a7995ab8..66f8531ae7 100644 --- a/include/battle.h +++ b/include/battle.h @@ -979,7 +979,10 @@ struct BattleHealthboxInfo u8 animationState; u8 partyStatusDelayTimer; u8 matrixNum; - u8 shadowSpriteId; + + u8 shadowSpriteIdPrimary; + u8 shadowSpriteIdSecondary; + u8 soundTimer; u8 introEndDelay; u8 field_A; diff --git a/include/battle_interface.h b/include/battle_interface.h index 6635298dc1..3280826ff7 100644 --- a/include/battle_interface.h +++ b/include/battle_interface.h @@ -47,6 +47,9 @@ enum #define TAG_HEALTHBAR_PAL TAG_HEALTHBAR_PLAYER1_TILE #define TAG_HEALTHBOX_PAL TAG_HEALTHBOX_PLAYER1_TILE +#define TAG_SHADOW_PAL TAG_HEALTHBOX_PLAYER1_TILE + +#define TAG_SHADOW_TILE 0xD759 #define TAG_GIMMICK_TRIGGER_TILE 0xD777 #define TAG_MEGA_INDICATOR_TILE 0xD778 diff --git a/include/config/battle.h b/include/config/battle.h index 99476b4f83..a60d9cdd9b 100644 --- a/include/config/battle.h +++ b/include/config/battle.h @@ -279,4 +279,7 @@ #define SHOW_TYPES_CAUGHT 2 #define B_SHOW_TYPES SHOW_TYPES_NEVER // When defined as SHOW_TYPES_ALWAYS, after selecting "Fight" in battle, the types of all Pokemon are revealed. Whe defined as SHOW_TYPES_OWN, types are only revealed if the player owns the mon in question. +// Pokémon battle sprite settings +#define B_ENEMY_MON_SHADOW_STYLE GEN_LATEST // In Gen4+, all enemy Pokemon will have a shadow drawn beneath them. + #endif // GUARD_CONFIG_BATTLE_H diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h index fccc206638..07853a69a8 100644 --- a/include/constants/event_objects.h +++ b/include/constants/event_objects.h @@ -281,10 +281,12 @@ #define OW_SPECIES(x) (((x)->graphicsId & OBJ_EVENT_GFX_SPECIES_MASK) - OBJ_EVENT_GFX_MON_BASE) #define OW_FORM(x) ((x)->graphicsId >> OBJ_EVENT_GFX_SPECIES_BITS) -#define SHADOW_SIZE_S 0 -#define SHADOW_SIZE_M 1 -#define SHADOW_SIZE_L 2 -#define SHADOW_SIZE_NONE 3 // Originally SHADOW_SIZE_XL, which went unused due to shadowSize in ObjectEventGraphicsInfo being only 2 bits. +#define SHADOW_SIZE_S 0 +#define SHADOW_SIZE_M 1 +#define SHADOW_SIZE_L 2 +#define SHADOW_SIZE_NONE 3 // Originally SHADOW_SIZE_XL, which went unused due to shadowSize in ObjectEventGraphicsInfo being only 2 bits. + +#define SHADOW_SIZE_XL_BATTLE_ONLY SHADOW_SIZE_NONE // Battle-only definition for XL shadow size. #define F_INANIMATE (1 << 6) #define F_DISABLE_REFLECTION_PALETTE_LOAD (1 << 7) diff --git a/include/graphics.h b/include/graphics.h index 950c129c7d..0ea07557d5 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -3104,6 +3104,7 @@ extern const u32 gBattleAnimBgPalette_Surf[]; extern const u32 gBattleAnimBackgroundImageMuddyWater_Pal[]; extern const u32 gEnemyMonShadow_Gfx[]; +extern const u32 gEnemyMonShadowsSized_Gfx[]; extern const u32 gBattleAnimFogTilemap[]; diff --git a/include/pokemon.h b/include/pokemon.h index dcdbf43dec..4dbd86a391 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -442,6 +442,12 @@ struct SpeciesInfo /*0xC4*/ u32 tmIlliterate:1; // This species will be unable to learn the universal moves. u32 isFrontierBanned:1; // This species is not allowed to participate in Battle Frontier facilities. u32 padding4:11; + // Shadow settings + s8 enemyShadowXOffset; // This determines the X-offset for an enemy Pokémon's shadow during battle; negative values point left, positive values point right. + s8 enemyShadowYOffset; // This determines the Y-offset for an enemy Pokémon's shadow during battle; negative values point up, positive values point down. + u16 enemyShadowSize:3; // This determines the size of the shadow sprite used for an enemy Pokémon's front sprite during battle. + u16 suppressEnemyShadow:1; // If set to true, then a shadow will not be drawn beneath an enemy Pokémon's front sprite during battle. + u16 padding5:12; // Move Data /* 0x80 */ const struct LevelUpMove *levelUpLearnset; /* 0x84 */ const u16 *teachableLearnset; diff --git a/include/pokemon_sprite_visualizer.h b/include/pokemon_sprite_visualizer.h index 946c2f37f6..fdd53d2ce8 100644 --- a/include/pokemon_sprite_visualizer.h +++ b/include/pokemon_sprite_visualizer.h @@ -1,6 +1,7 @@ #ifndef GUARD_POKEMON_SPRITE_VISUALIZER_H #define GUARD_POKEMON_SPRITE_VISUALIZER_H +#include "constants/global.h" #include "constants/pokemon_sprite_visualizer.h" //Structs @@ -43,6 +44,17 @@ struct PokemonSpriteOffsets s8 offset_front_elevation; }; +struct PokemonShadowSettings +{ + s8 definedX; + s8 definedY; + u8 definedSize; + + s8 overrideX; + s8 overrideY; + u8 overrideSize; +}; + struct PokemonSpriteVisualizer { u16 currentmonId; @@ -52,14 +64,20 @@ struct PokemonSpriteVisualizer u8 backspriteId; u8 iconspriteId; u8 followerspriteId; - u8 frontShadowSpriteId; + bool8 isShiny; bool8 isFemale; + + u8 frontShadowSpriteIdPrimary; + u8 frontShadowSpriteIdSecondary; + struct PokemonShadowSettings shadowSettings; + struct PokemonSpriteVisualizerModifyArrows modifyArrows; struct PokemonSpriteVisualizerOptionArrows optionArrows; struct PokemonSpriteVisualizerYPosModifiyArrows yPosModifyArrows; struct PokemonSpriteConstValues constSpriteValues; struct PokemonSpriteOffsets offsetsSpriteValues; + u8 animIdBack; u8 animIdFront; u8 battleBgType; diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index a44bf85090..69b9d0760e 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -6616,12 +6616,29 @@ static void ReloadBattlerSprites(u32 battler, struct Pokemon *party) UpdateIndicatorVisibilityAndType(gHealthboxSpriteIds[battler], TRUE); // Try to recreate shadow sprite - if (gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId < MAX_SPRITES) + if (B_ENEMY_MON_SHADOW_STYLE >= GEN_4) { - DestroySprite(&gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId]); - gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId = MAX_SPRITES; - CreateEnemyShadowSprite(battler); - SetBattlerShadowSpriteCallback(battler, GetMonData(mon, MON_DATA_SPECIES)); + // Both of these *should* be true, but use an OR just to be certain + if (gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary < MAX_SPRITES + || gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary < MAX_SPRITES) + { + DestroySprite(&gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary]); + DestroySprite(&gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary]); + gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary = MAX_SPRITES; + gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary = MAX_SPRITES; + CreateEnemyShadowSprite(battler); + SetBattlerShadowSpriteCallback(battler, GetMonData(mon, MON_DATA_SPECIES)); + } + } + else + { + if (gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary < MAX_SPRITES) + { + DestroySprite(&gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary]); + gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary = MAX_SPRITES; + CreateEnemyShadowSprite(battler); + SetBattlerShadowSpriteCallback(battler, GetMonData(mon, MON_DATA_SPECIES)); + } } } diff --git a/src/battle_anim_smokescreen.c b/src/battle_anim_smokescreen.c index 3b05ef6280..12fe97b993 100644 --- a/src/battle_anim_smokescreen.c +++ b/src/battle_anim_smokescreen.c @@ -9,9 +9,6 @@ #define TAG_SMOKESCREEN 55019 -#define PALTAG_SHADOW 55039 -#define GFXTAG_SHADOW 55129 - static void SpriteCB_SmokescreenImpactMain(struct Sprite *); static void SpriteCB_SmokescreenImpact(struct Sprite *); @@ -95,39 +92,6 @@ static const struct SpriteTemplate sSmokescreenImpactSpriteTemplate = .callback = SpriteCB_SmokescreenImpact }; -const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow = -{ - .data = gEnemyMonShadow_Gfx, .size = 0x80, .tag = GFXTAG_SHADOW -}; - -static const struct OamData sOamData_EnemyShadow = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_NORMAL, - .mosaic = FALSE, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x8), - .x = 0, - .matrixNum = 0, - .size = SPRITE_SIZE(32x8), - .tileNum = 0, - .priority = 3, - .paletteNum = 0, - .affineParam = 0 -}; - -const struct SpriteTemplate gSpriteTemplate_EnemyShadow = -{ - .tileTag = GFXTAG_SHADOW, - .paletteTag = PALTAG_SHADOW, - .oam = &sOamData_EnemyShadow, - .anims = gDummySpriteAnimTable, - .images = NULL, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = SpriteCB_SetInvisible -}; - #define sActiveSprites data[0] #define sPersist data[1] diff --git a/src/battle_controller_opponent.c b/src/battle_controller_opponent.c index 275aa623b6..57ebccf7fa 100644 --- a/src/battle_controller_opponent.c +++ b/src/battle_controller_opponent.c @@ -211,6 +211,18 @@ static void Intro_WaitForShinyAnimAndHealthbox(u32 battler) } } +static void TrySetBattlerShadowSpriteCallback(u32 battler) +{ + if (gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary].callback == SpriteCallbackDummy) + { + if (B_ENEMY_MON_SHADOW_STYLE <= GEN_3 + || gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary].callback == SpriteCallbackDummy) + { + SetBattlerShadowSpriteCallback(battler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES)); + } + } +} + static void Intro_TryShinyAnimShowHealthbox(u32 battler) { bool32 bgmRestored = FALSE; @@ -269,33 +281,36 @@ static void Intro_TryShinyAnimShowHealthbox(u32 battler) if (!twoMons || (twoMons && gBattleTypeFlags & BATTLE_TYPE_MULTI && !BATTLE_TWO_VS_ONE_OPPONENT)) { - if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) + if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy) { - battlerAnimsDone = TRUE; + TrySetBattlerShadowSpriteCallback(battler); + if (gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) + { + battlerAnimsDone = TRUE; + } } } else { if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy - && gSprites[gBattleControllerData[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy) + && gSprites[gBattleControllerData[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy) { - battlerAnimsDone = TRUE; + TrySetBattlerShadowSpriteCallback(battler); + TrySetBattlerShadowSpriteCallback(BATTLE_PARTNER(battler)); + if (gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy) + { + battlerAnimsDone = TRUE; + } } } if (bgmRestored && battlerAnimsDone) { if (twoMons && (!(gBattleTypeFlags & BATTLE_TYPE_MULTI) || BATTLE_TWO_VS_ONE_OPPONENT)) - { DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(battler)]]); - SetBattlerShadowSpriteCallback(BATTLE_PARTNER(battler), GetMonData(&gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]], MON_DATA_SPECIES)); - } DestroySprite(&gSprites[gBattleControllerData[battler]]); - SetBattlerShadowSpriteCallback(battler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES)); gBattleSpritesDataPtr->animationData->introAnimActive = FALSE; gBattleSpritesDataPtr->healthBoxesData[battler].bgmRestored = FALSE; gBattleSpritesDataPtr->healthBoxesData[battler].healthboxSlideInStarted = FALSE; diff --git a/src/battle_controller_recorded_opponent.c b/src/battle_controller_recorded_opponent.c index da977fab89..bbeae7a9c0 100644 --- a/src/battle_controller_recorded_opponent.c +++ b/src/battle_controller_recorded_opponent.c @@ -200,6 +200,19 @@ static void Intro_WaitForShinyAnimAndHealthbox(u32 battler) } } +static void TrySetBattlerShadowSpriteCallback(u32 battler) +{ + + if (gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary].callback == SpriteCallbackDummy) + { + if (B_ENEMY_MON_SHADOW_STYLE <= GEN_3 + || gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary].callback == SpriteCallbackDummy) + { + SetBattlerShadowSpriteCallback(battler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES)); + } + } +} + static void Intro_TryShinyAnimShowHealthbox(u32 battler) { bool32 bgmRestored = FALSE; @@ -253,33 +266,34 @@ static void Intro_TryShinyAnimShowHealthbox(u32 battler) if (!IsDoubleBattle()) { - if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) + if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy) { - battlerAnimsDone = TRUE; + TrySetBattlerShadowSpriteCallback(battler); + if (gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy) + battlerAnimsDone = TRUE; } } else { if (gSprites[gBattleControllerData[battler]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy - && gSprites[gBattleControllerData[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy - && gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy) + && gSprites[gBattleControllerData[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy) { - battlerAnimsDone = TRUE; + TrySetBattlerShadowSpriteCallback(battler); + TrySetBattlerShadowSpriteCallback(BATTLE_PARTNER(battler)); + if (gSprites[gBattlerSpriteIds[battler]].callback == SpriteCallbackDummy + && gSprites[gBattlerSpriteIds[BATTLE_PARTNER(battler)]].callback == SpriteCallbackDummy) + { + battlerAnimsDone = TRUE; + } } } if (bgmRestored && battlerAnimsDone) { if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) - { DestroySprite(&gSprites[gBattleControllerData[BATTLE_PARTNER(battler)]]); - SetBattlerShadowSpriteCallback(BATTLE_PARTNER(battler), GetMonData(&gEnemyParty[gBattlerPartyIndexes[BATTLE_PARTNER(battler)]], MON_DATA_SPECIES)); - } DestroySprite(&gSprites[gBattleControllerData[battler]]); - SetBattlerShadowSpriteCallback(battler, GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES)); gBattleSpritesDataPtr->animationData->introAnimActive = FALSE; gBattleSpritesDataPtr->healthBoxesData[battler].bgmRestored = FALSE; diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index aa16003694..ec5c1cfb33 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -27,10 +27,6 @@ #include "constants/battle_palace.h" #include "constants/battle_move_effects.h" - -extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow; -extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow; - // this file's functions static u8 GetBattlePalaceMoveGroup(u8 battler, u16 move); static u16 GetBattlePalaceTarget(u32 battler); @@ -82,6 +78,46 @@ const struct SpritePalette sSpritePalettes_HealthBoxHealthBar[2] = {gBattleInterface_BallDisplayPal, TAG_HEALTHBAR_PAL} }; +const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow = +{ + .data = gEnemyMonShadow_Gfx, .size = 0x80, .tag = TAG_SHADOW_TILE +}; + +const struct CompressedSpriteSheet gSpriteSheet_EnemyShadowsSized = +{ + .data = gEnemyMonShadowsSized_Gfx, + .size = TILE_SIZE_4BPP * 8 * 4, // 8 tiles per sprite, 4 sprites total + .tag = TAG_SHADOW_TILE, +}; + +static const struct OamData sOamData_EnemyShadow = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .mosaic = FALSE, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x8), + .x = 0, + .matrixNum = 0, + .size = SPRITE_SIZE(32x8), + .tileNum = 0, + .priority = 3, + .paletteNum = 0, + .affineParam = 0 +}; + +const struct SpriteTemplate gSpriteTemplate_EnemyShadow = +{ + .tileTag = TAG_SHADOW_TILE, + .paletteTag = TAG_SHADOW_PAL, + .oam = &sOamData_EnemyShadow, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + // code void AllocateBattleSpritesData(void) { @@ -1094,16 +1130,58 @@ void SetBattlerSpriteAffineMode(u8 affineMode) } } -#define tBattlerId data[0] +#define tBattlerId data[0] +#define tSpriteSide data[1] + +#define SPRITE_SIDE_LEFT 0 +#define SPRITE_SIDE_RIGHT 1 void CreateEnemyShadowSprite(u32 battler) { - gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, - GetBattlerSpriteCoord(battler, BATTLER_COORD_X), - GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + 29, - 0xC8); - if (gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId < MAX_SPRITES) - gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].data[0] = battler; + if (B_ENEMY_MON_SHADOW_STYLE >= GEN_4) + { + u16 species = SanitizeSpeciesId(gBattleMons[battler].species); + u8 size = gSpeciesInfo[species].enemyShadowSize; + + gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary = CreateSprite(&gSpriteTemplate_EnemyShadow, + GetBattlerSpriteCoord(battler, BATTLER_COORD_X), + GetBattlerSpriteCoord(battler, BATTLER_COORD_Y), + 0xC8); + if (gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary < MAX_SPRITES) + { + struct Sprite *sprite = &gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary]; + sprite->tBattlerId = battler; + sprite->tSpriteSide = SPRITE_SIDE_LEFT; + sprite->oam.tileNum += 8 * size; + sprite->invisible = TRUE; + } + + gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary = CreateSprite(&gSpriteTemplate_EnemyShadow, + GetBattlerSpriteCoord(battler, BATTLER_COORD_X), + GetBattlerSpriteCoord(battler, BATTLER_COORD_Y), + 0xC8); + if (gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary < MAX_SPRITES) + { + struct Sprite *sprite = &gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary]; + sprite->tBattlerId = battler; + sprite->tSpriteSide = SPRITE_SIDE_RIGHT; + sprite->oam.tileNum += (8 * size) + 4; + sprite->invisible = TRUE; + } + } + else + { + gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary = CreateSprite(&gSpriteTemplate_EnemyShadow, + GetBattlerSpriteCoord(battler, BATTLER_COORD_X), + GetBattlerSpriteCoord(battler, BATTLER_COORD_Y), + 0xC8); + if (gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary < MAX_SPRITES) + { + struct Sprite *sprite = &gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary]; + sprite->tBattlerId = battler; + sprite->invisible = TRUE; + } + } } void LoadAndCreateEnemyShadowSprites(void) @@ -1111,12 +1189,26 @@ void LoadAndCreateEnemyShadowSprites(void) u8 battler; u32 i; - LoadCompressedSpriteSheet(&gSpriteSheet_EnemyShadow); - - // initialize shadow sprite ids - for (i = 0; i < gBattlersCount; i++) + if (B_ENEMY_MON_SHADOW_STYLE >= GEN_4) { - gBattleSpritesDataPtr->healthBoxesData[i].shadowSpriteId = MAX_SPRITES; + LoadCompressedSpriteSheet(&gSpriteSheet_EnemyShadowsSized); + + // initialize shadow sprite ids + for (i = 0; i < gBattlersCount; i++) + { + gBattleSpritesDataPtr->healthBoxesData[i].shadowSpriteIdPrimary = MAX_SPRITES; + gBattleSpritesDataPtr->healthBoxesData[i].shadowSpriteIdSecondary = MAX_SPRITES; + } + } + else + { + LoadCompressedSpriteSheet(&gSpriteSheet_EnemyShadow); + + // initialize shadow sprite ids + for (i = 0; i < gBattlersCount; i++) + { + gBattleSpritesDataPtr->healthBoxesData[i].shadowSpriteIdPrimary = MAX_SPRITES; + } } battler = GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT); @@ -1141,16 +1233,36 @@ void SpriteCB_EnemyShadow(struct Sprite *shadowSprite) shadowSprite->callback = SpriteCB_SetInvisible; return; } + + s8 xOffset = 0, yOffset = 0; if (gAnimScriptActive || battlerSprite->invisible) invisible = TRUE; - else if (transformSpecies != SPECIES_NONE && gSpeciesInfo[transformSpecies].enemyMonElevation == 0) - invisible = TRUE; + else if (transformSpecies != SPECIES_NONE) + { + xOffset = gSpeciesInfo[transformSpecies].enemyShadowXOffset; + yOffset = gSpeciesInfo[transformSpecies].enemyShadowYOffset; + + invisible = B_ENEMY_MON_SHADOW_STYLE >= GEN_4 + ? gSpeciesInfo[transformSpecies].suppressEnemyShadow + : gSpeciesInfo[transformSpecies].enemyMonElevation == 0; + } + else if (B_ENEMY_MON_SHADOW_STYLE >= GEN_4) + { + u16 species = SanitizeSpeciesId(gBattleMons[battler].species); + xOffset = gSpeciesInfo[species].enemyShadowXOffset + (shadowSprite->tSpriteSide == SPRITE_SIDE_LEFT ? -16 : 16); + yOffset = gSpeciesInfo[species].enemyShadowYOffset + 16; + } + else + { + yOffset = 29; + } if (gBattleSpritesDataPtr->battlerData[battler].behindSubstitute) invisible = TRUE; - shadowSprite->x = battlerSprite->x; + shadowSprite->x = battlerSprite->x + xOffset; shadowSprite->x2 = battlerSprite->x2; + shadowSprite->y = battlerSprite->y + yOffset; shadowSprite->invisible = invisible; } @@ -1163,24 +1275,59 @@ void SpriteCB_SetInvisible(struct Sprite *sprite) void SetBattlerShadowSpriteCallback(u8 battler, u16 species) { - // The player's shadow is never seen. - if (GetBattlerSide(battler) == B_SIDE_PLAYER || gBattleScripting.monCaught) - return; - if (gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId >= MAX_SPRITES) - return; + if (B_ENEMY_MON_SHADOW_STYLE >= GEN_4) + { + if (GetBattlerSide(battler) == B_SIDE_PLAYER || gBattleScripting.monCaught) + { + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary].callback = SpriteCB_SetInvisible; + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary].callback = SpriteCB_SetInvisible; + return; + } - if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE) - species = gBattleSpritesDataPtr->battlerData[battler].transformSpecies; + if (gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary >= MAX_SPRITES + || gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary >= MAX_SPRITES) + return; - if (gSpeciesInfo[SanitizeSpeciesId(species)].enemyMonElevation != 0) - gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].callback = SpriteCB_EnemyShadow; + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE) + species = gBattleSpritesDataPtr->battlerData[battler].transformSpecies; + + if (gSpeciesInfo[SanitizeSpeciesId(species)].suppressEnemyShadow == FALSE) + { + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary].callback = SpriteCB_EnemyShadow; + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary].callback = SpriteCB_EnemyShadow; + } + else + { + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary].callback = SpriteCB_SetInvisible; + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary].callback = SpriteCB_SetInvisible; + } + } else - gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].callback = SpriteCB_SetInvisible; + { + if (GetBattlerSide(battler) == B_SIDE_PLAYER || gBattleScripting.monCaught) + { + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary].callback = SpriteCB_SetInvisible; + return; + } + + if (gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary >= MAX_SPRITES) + return; + + if (gBattleSpritesDataPtr->battlerData[battler].transformSpecies != SPECIES_NONE) + species = gBattleSpritesDataPtr->battlerData[battler].transformSpecies; + + if (gSpeciesInfo[SanitizeSpeciesId(species)].enemyMonElevation != 0) + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary].callback = SpriteCB_EnemyShadow; + else + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary].callback = SpriteCB_SetInvisible; + } } void HideBattlerShadowSprite(u8 battler) { - gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteId].callback = SpriteCB_SetInvisible; + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdPrimary].callback = SpriteCB_SetInvisible; + if (B_ENEMY_MON_SHADOW_STYLE >= GEN_4) + gSprites[gBattleSpritesDataPtr->healthBoxesData[battler].shadowSpriteIdSecondary].callback = SpriteCB_SetInvisible; } // Color the background tiles surrounding the action selection and move windows diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 8f917d5cbb..afa9cc7dec 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -10115,7 +10115,6 @@ static void Cmd_various(void) { // Save sprite IDs, because trainer slide in will overwrite gBattlerSpriteIds variable. gBattleScripting.savedDmg = (gBattlerSpriteIds[battler] & 0xFF) | (gBattlerSpriteIds[BATTLE_PARTNER(battler)] << 8); - HideBattlerShadowSprite(battler); } else if (cmd->case_ == 1) { diff --git a/src/data/pokemon/species_info.h b/src/data/pokemon/species_info.h index 939f1d4635..b0945ed43f 100644 --- a/src/data/pokemon/species_info.h +++ b/src/data/pokemon/species_info.h @@ -11,6 +11,14 @@ #define FOOTPRINT(sprite) #endif +#if B_ENEMY_MON_SHADOW_STYLE >= GEN_4 +#define SHADOW(x, y, size) .enemyShadowXOffset = x, .enemyShadowYOffset = y, .enemyShadowSize = size, +#define NO_SHADOW .suppressEnemyShadow = TRUE, +#else +#define SHADOW(x, y, size) .enemyShadowXOffset = 0, .enemyShadowYOffset = 0, .enemyShadowSize = 0, +#define NO_SHADOW .suppressEnemyShadow = FALSE, +#endif + #define SIZE_32x32 1 #define SIZE_64x64 0 diff --git a/src/data/pokemon/species_info/gen_1_families.h b/src/data/pokemon/species_info/gen_1_families.h index a149174cd1..bb5ba4a0d4 100644 --- a/src/data/pokemon/species_info/gen_1_families.h +++ b/src/data/pokemon/species_info/gen_1_families.h @@ -51,6 +51,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Bulbasaur, .iconSprite = gMonIcon_Bulbasaur, .iconPalIndex = 4, + SHADOW(1, -1, SHADOW_SIZE_S) FOOTPRINT(Bulbasaur) OVERWORLD( sPicTable_Bulbasaur, @@ -114,6 +115,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Ivysaur, .iconSprite = gMonIcon_Ivysaur, .iconPalIndex = 4, + SHADOW(-1, 3, SHADOW_SIZE_L) FOOTPRINT(Ivysaur) OVERWORLD( sPicTable_Ivysaur, @@ -186,6 +188,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Venusaur, .iconSprite = gMonIcon_Venusaur, .iconPalIndex = 4, + SHADOW(2, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Venusaur) OVERWORLD( sPicTable_Venusaur, @@ -249,6 +252,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_VenusaurMega, .iconSprite = gMonIcon_VenusaurMega, .iconPalIndex = 4, + SHADOW(2, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Venusaur) .isMegaEvolution = TRUE, .levelUpLearnset = sVenusaurLevelUpLearnset, @@ -307,6 +311,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_VenusaurGigantamax, .iconSprite = gMonIcon_VenusaurGigantamax, .iconPalIndex = 0, + SHADOW(2, 4, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Venusaur) .isGigantamax = TRUE, .levelUpLearnset = sVenusaurLevelUpLearnset, @@ -365,6 +370,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Charmander, .iconSprite = gMonIcon_Charmander, .iconPalIndex = 0, + SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Charmander) OVERWORLD( sPicTable_Charmander, @@ -428,6 +434,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Charmeleon, .iconSprite = gMonIcon_Charmeleon, .iconPalIndex = 0, + SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Charmeleon) OVERWORLD( sPicTable_Charmeleon, @@ -495,6 +502,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Charizard, .iconSprite = gMonIcon_Charizard, .iconPalIndex = 0, + SHADOW(2, 13, SHADOW_SIZE_L) FOOTPRINT(Charizard) OVERWORLD( sPicTable_Charizard, @@ -557,6 +565,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_CharizardMegaX, .iconSprite = gMonIcon_CharizardMegaX, .iconPalIndex = 0, + SHADOW(2, 13, SHADOW_SIZE_L) FOOTPRINT(Charizard) .isMegaEvolution = TRUE, .levelUpLearnset = sCharizardLevelUpLearnset, @@ -612,6 +621,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_CharizardMegaY, .iconSprite = gMonIcon_CharizardMegaY, .iconPalIndex = 0, + SHADOW(-1, 14, SHADOW_SIZE_L) FOOTPRINT(Charizard) .isMegaEvolution = TRUE, .levelUpLearnset = sCharizardLevelUpLearnset, @@ -669,6 +679,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_CharizardGigantamax, .iconSprite = gMonIcon_CharizardGigantamax, .iconPalIndex = 0, + SHADOW(1, 13, SHADOW_SIZE_L) FOOTPRINT(Charizard) .isGigantamax = TRUE, .levelUpLearnset = sCharizardLevelUpLearnset, @@ -727,6 +738,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Squirtle, .iconSprite = gMonIcon_Squirtle, .iconPalIndex = 0, + SHADOW(-3, 2, SHADOW_SIZE_S) FOOTPRINT(Squirtle) OVERWORLD( sPicTable_Squirtle, @@ -790,6 +802,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Wartortle, .iconSprite = gMonIcon_Wartortle, .iconPalIndex = 2, + SHADOW(0, 6, SHADOW_SIZE_M) FOOTPRINT(Wartortle) OVERWORLD( sPicTable_Wartortle, @@ -858,6 +871,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Blastoise, .iconSprite = gMonIcon_Blastoise, .iconPalIndex = 2, + SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Blastoise) OVERWORLD( sPicTable_Blastoise, @@ -921,6 +935,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_BlastoiseMega, .iconSprite = gMonIcon_BlastoiseMega, .iconPalIndex = 2, + SHADOW(4, 11, SHADOW_SIZE_L) FOOTPRINT(Blastoise) .isMegaEvolution = TRUE, .levelUpLearnset = sBlastoiseLevelUpLearnset, @@ -978,6 +993,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_BlastoiseGigantamax, .iconSprite = gMonIcon_BlastoiseGigantamax, .iconPalIndex = 0, + SHADOW(-2, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Blastoise) .isGigantamax = TRUE, .levelUpLearnset = sBlastoiseLevelUpLearnset, @@ -1036,6 +1052,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Caterpie, .iconSprite = gMonIcon_Caterpie, .iconPalIndex = 1, + SHADOW(4, 1, SHADOW_SIZE_S) FOOTPRINT(Caterpie) OVERWORLD( sPicTable_Caterpie, @@ -1098,6 +1115,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Metapod, .iconSprite = gMonIcon_Metapod, .iconPalIndex = 1, + SHADOW(3, 0, SHADOW_SIZE_S) FOOTPRINT(Metapod) OVERWORLD( sPicTable_Metapod, @@ -1177,6 +1195,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Butterfree, .iconSprite = gMonIcon_Butterfree, .iconPalIndex = 0, + SHADOW(-3, 13, SHADOW_SIZE_S) FOOTPRINT(Butterfree) OVERWORLD( sPicTable_Butterfree, @@ -1243,6 +1262,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_ButterfreeGigantamax, .iconSprite = gMonIcon_ButterfreeGigantamax, .iconPalIndex = 0, + SHADOW(-4, 15, SHADOW_SIZE_S) FOOTPRINT(Butterfree) .isGigantamax = TRUE, .levelUpLearnset = sButterfreeLevelUpLearnset, @@ -1302,6 +1322,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Weedle, .iconSprite = gMonIcon_Weedle, .iconPalIndex = 2, + SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Weedle) OVERWORLD( sPicTable_Weedle, @@ -1365,6 +1386,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Kakuna, .iconSprite = gMonIcon_Kakuna, .iconPalIndex = 2, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Kakuna) OVERWORLD( sPicTable_Kakuna, @@ -1440,6 +1462,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Beedrill, .iconSprite = gMonIcon_Beedrill, .iconPalIndex = 2, + SHADOW(4, 15, SHADOW_SIZE_M) FOOTPRINT(Beedrill) OVERWORLD( sPicTable_Beedrill, @@ -1506,6 +1529,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_BeedrillMega, .iconSprite = gMonIcon_BeedrillMega, .iconPalIndex = 2, + SHADOW(1, 14, SHADOW_SIZE_S) FOOTPRINT(Beedrill) .isMegaEvolution = TRUE, .levelUpLearnset = sBeedrillLevelUpLearnset, @@ -1568,6 +1592,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Pidgey, .iconSprite = gMonIcon_Pidgey, .iconPalIndex = 0, + SHADOW(-1, -1, SHADOW_SIZE_S) FOOTPRINT(Pidgey) OVERWORLD( sPicTable_Pidgey, @@ -1635,6 +1660,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Pidgeotto, .iconSprite = gMonIcon_Pidgeotto, .iconPalIndex = 0, + SHADOW(-4, 6, SHADOW_SIZE_M) FOOTPRINT(Pidgeotto) OVERWORLD( sPicTable_Pidgeotto, @@ -1711,6 +1737,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Pidgeot, .iconSprite = gMonIcon_Pidgeot, .iconPalIndex = 0, + SHADOW(-7, 14, SHADOW_SIZE_M) FOOTPRINT(Pidgeot) OVERWORLD( sPicTable_Pidgeot, @@ -1774,6 +1801,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PidgeotMega, .iconSprite = gMonIcon_PidgeotMega, .iconPalIndex = 0, + SHADOW(-7, 19, SHADOW_SIZE_M) FOOTPRINT(Pidgeot) .isMegaEvolution = TRUE, .levelUpLearnset = sPidgeotLevelUpLearnset, @@ -1836,6 +1864,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Rattata, .iconSprite = gMonIcon_Rattata, .iconPalIndex = 2, + SHADOW(1, -3, SHADOW_SIZE_S) FOOTPRINT(Rattata) OVERWORLD( sPicTable_Rattata, @@ -1903,6 +1932,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Raticate, .iconSprite = gMonIcon_Raticate, .iconPalIndex = 2, + SHADOW(0, 8, SHADOW_SIZE_L) FOOTPRINT(Raticate) OVERWORLD( sPicTable_Raticate, @@ -1966,6 +1996,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_RattataAlolan, .iconSprite = gMonIcon_RattataAlolan, .iconPalIndex = 2, + SHADOW(-3, 2, SHADOW_SIZE_S) FOOTPRINT(Rattata) OVERWORLD( sPicTable_RattataAlolan, @@ -2028,6 +2059,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_RaticateAlolan, .iconSprite = gMonIcon_RaticateAlolan, .iconPalIndex = 2, + SHADOW(-4, 3, SHADOW_SIZE_L) FOOTPRINT(Raticate) OVERWORLD( sPicTable_RaticateAlolan, @@ -2087,6 +2119,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_RaticateAlolan, .iconSprite = gMonIcon_RaticateAlolan, .iconPalIndex = 2, + SHADOW(-4, 3, SHADOW_SIZE_L) FOOTPRINT(Raticate) .isTotem = TRUE, .isAlolanForm = TRUE, @@ -2147,6 +2180,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Spearow, .iconSprite = gMonIcon_Spearow, .iconPalIndex = 0, + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Spearow) OVERWORLD( sPicTable_Spearow, @@ -2212,6 +2246,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Fearow, .iconSprite = gMonIcon_Fearow, .iconPalIndex = 0, + SHADOW(0, 17, SHADOW_SIZE_M) FOOTPRINT(Fearow) OVERWORLD( sPicTable_Fearow, @@ -2275,6 +2310,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Ekans, .iconSprite = gMonIcon_Ekans, .iconPalIndex = 2, + SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Ekans) OVERWORLD( sPicTable_Ekans, @@ -2343,6 +2379,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Arbok, .iconSprite = gMonIcon_Arbok, .iconPalIndex = 2, + SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Arbok) OVERWORLD( sPicTable_Arbok, @@ -2403,6 +2440,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Pichu, .iconSprite = gMonIcon_Pichu, .iconPalIndex = 1, + SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Pichu) OVERWORLD( sPicTable_Pichu, @@ -2463,6 +2501,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PichuSpikyEared, .iconSprite = gMonIcon_PichuSpikyEared, .iconPalIndex = 1, + SHADOW(2, 0, SHADOW_SIZE_S) FOOTPRINT(Pichu) OVERWORLD( sPicTable_PichuSpikyEared, @@ -2540,6 +2579,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .iconSpriteFemale = gMonIcon_PikachuF, .iconPalIndexFemale = 2, #endif + SHADOW(-3, 5, SHADOW_SIZE_M) OVERWORLD( sPicTable_Pikachu, SIZE_32x32, @@ -2602,6 +2642,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PikachuCosplay, .iconSprite = gMonIcon_PikachuCosplay, .iconPalIndex = 2, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, @@ -2652,6 +2693,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PikachuRockStar, .iconSprite = gMonIcon_PikachuRockStar, .iconPalIndex = 1, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, @@ -2703,6 +2745,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PikachuBelle, .iconSprite = gMonIcon_PikachuBelle, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, @@ -2754,6 +2797,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PikachuPopStar, .iconSprite = gMonIcon_PikachuPopStar, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, @@ -2804,6 +2848,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PikachuPhD, .iconSprite = gMonIcon_PikachuPhD, .iconPalIndex = 1, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, @@ -2854,6 +2899,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PikachuLibre, .iconSprite = gMonIcon_PikachuLibre, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, @@ -2912,6 +2958,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PikachuOriginalCap, .iconSprite = gMonIcon_PikachuOriginalCap, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, @@ -2966,6 +3013,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PikachuHoennCap, .iconSprite = gMonIcon_PikachuHoennCap, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, @@ -3020,6 +3068,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PikachuSinnohCap, .iconSprite = gMonIcon_PikachuSinnohCap, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, @@ -3074,6 +3123,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PikachuUnovaCap, .iconSprite = gMonIcon_PikachuUnovaCap, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, @@ -3128,6 +3178,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PikachuKalosCap, .iconSprite = gMonIcon_PikachuKalosCap, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, @@ -3182,6 +3233,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PikachuAlolaCap, .iconSprite = gMonIcon_PikachuAlolaCap, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, @@ -3237,6 +3289,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PikachuPartnerCap, .iconSprite = gMonIcon_PikachuPartnerCap, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, @@ -3291,6 +3344,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PikachuWorldCap, .iconSprite = gMonIcon_PikachuWorldCap, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .levelUpLearnset = sPikachuLevelUpLearnset, .teachableLearnset = sPikachuTeachableLearnset, @@ -3348,6 +3402,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PikachuGigantamax, .iconSprite = gMonIcon_PikachuGigantamax, .iconPalIndex = 2, + SHADOW(-3, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Pikachu) .isGigantamax = TRUE, .levelUpLearnset = sPikachuLevelUpLearnset, @@ -3410,6 +3465,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .iconSpriteFemale = gMonIcon_PikachuPartnerF, .iconPalIndexFemale = 2, #endif + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Pikachu) .cannotBeTraded = TRUE, .perfectIVCount = NUM_STATS, @@ -3479,6 +3535,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Raichu, .iconSprite = gMonIcon_Raichu, .iconPalIndex = 0, + SHADOW(2, 10, SHADOW_SIZE_M) FOOTPRINT(Raichu) OVERWORLD( sPicTable_Raichu, @@ -3542,6 +3599,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_RaichuAlolan, .iconSprite = gMonIcon_RaichuAlolan, .iconPalIndex = 2, + SHADOW(3, 15, SHADOW_SIZE_M) FOOTPRINT(Raichu) OVERWORLD( sPicTable_RaichuAlolan, @@ -3608,6 +3666,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Sandshrew, .iconSprite = gMonIcon_Sandshrew, .iconPalIndex = 2, + SHADOW(0, 1, SHADOW_SIZE_M) FOOTPRINT(Sandshrew) OVERWORLD( sPicTable_Sandshrew, @@ -3672,6 +3731,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Sandslash, .iconSprite = gMonIcon_Sandslash, .iconPalIndex = 2, + SHADOW(4, 4, SHADOW_SIZE_L) FOOTPRINT(Sandslash) OVERWORLD( sPicTable_Sandslash, @@ -3735,6 +3795,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_SandshrewAlolan, .iconSprite = gMonIcon_SandshrewAlolan, .iconPalIndex = 0, + SHADOW(-2, -1, SHADOW_SIZE_M) FOOTPRINT(Sandshrew) OVERWORLD( sPicTable_SandshrewAlolan, @@ -3800,6 +3861,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_SandslashAlolan, .iconSprite = gMonIcon_SandslashAlolan, .iconPalIndex = 0, + SHADOW(0, 9, SHADOW_SIZE_L) FOOTPRINT(Sandslash) OVERWORLD( sPicTable_SandslashAlolan, @@ -3870,6 +3932,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_NidoranF, .iconSprite = gMonIcon_NidoranF, .iconPalIndex = 0, + SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(NidoranF) OVERWORLD( sPicTable_NidoranF, @@ -3936,6 +3999,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Nidorina, .iconSprite = gMonIcon_Nidorina, .iconPalIndex = 0, + SHADOW(3, 5, SHADOW_SIZE_M) FOOTPRINT(Nidorina) OVERWORLD( sPicTable_Nidorina, @@ -4009,6 +4073,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Nidoqueen, .iconSprite = gMonIcon_Nidoqueen, .iconPalIndex = 2, + SHADOW(1, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Nidoqueen) OVERWORLD( sPicTable_Nidoqueen, @@ -4073,6 +4138,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_NidoranM, .iconSprite = gMonIcon_NidoranM, .iconPalIndex = 2, + SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(NidoranM) OVERWORLD( sPicTable_NidoranM, @@ -4139,6 +4205,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Nidorino, .iconSprite = gMonIcon_Nidorino, .iconPalIndex = 2, + SHADOW(2, 1, SHADOW_SIZE_L) FOOTPRINT(Nidorino) OVERWORLD( sPicTable_Nidorino, @@ -4213,6 +4280,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Nidoking, .iconSprite = gMonIcon_Nidoking, .iconPalIndex = 2, + SHADOW(0, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Nidoking) OVERWORLD( sPicTable_Nidoking, @@ -4288,6 +4356,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Cleffa, .iconSprite = gMonIcon_Cleffa, .iconPalIndex = 0, + SHADOW(0, -4, SHADOW_SIZE_S) FOOTPRINT(Cleffa) OVERWORLD( sPicTable_Cleffa, @@ -4357,6 +4426,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Clefairy, .iconSprite = gMonIcon_Clefairy, .iconPalIndex = 0, + SHADOW(1, 1, SHADOW_SIZE_S) FOOTPRINT(Clefairy) OVERWORLD( sPicTable_Clefairy, @@ -4432,6 +4502,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Clefable, .iconSprite = gMonIcon_Clefable, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Clefable) OVERWORLD( sPicTable_Clefable, @@ -4495,6 +4566,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Vulpix, .iconSprite = gMonIcon_Vulpix, .iconPalIndex = 5, + SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Vulpix) OVERWORLD( sPicTable_Vulpix, @@ -4560,6 +4632,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Ninetales, .iconSprite = gMonIcon_Ninetales, .iconPalIndex = 3, + SHADOW(1, 7, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Ninetales) OVERWORLD( sPicTable_Ninetales, @@ -4623,6 +4696,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_VulpixAlolan, .iconSprite = gMonIcon_VulpixAlolan, .iconPalIndex = 2, + SHADOW(-2, 3, SHADOW_SIZE_M) FOOTPRINT(Vulpix) OVERWORLD( sPicTable_VulpixAlolan, @@ -4689,6 +4763,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_NinetalesAlolan, .iconSprite = gMonIcon_NinetalesAlolan, .iconPalIndex = 2, + SHADOW(0, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Ninetales) OVERWORLD( sPicTable_NinetalesAlolan, @@ -4766,6 +4841,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Igglybuff, .iconSprite = gMonIcon_Igglybuff, .iconPalIndex = 1, + SHADOW(0, -3, SHADOW_SIZE_S) FOOTPRINT(Igglybuff) OVERWORLD( sPicTable_Igglybuff, @@ -4835,6 +4911,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Jigglypuff, .iconSprite = gMonIcon_Jigglypuff, .iconPalIndex = 0, + SHADOW(-1, -1, SHADOW_SIZE_S) FOOTPRINT(Jigglypuff) OVERWORLD( sPicTable_Jigglypuff, @@ -4910,6 +4987,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Wigglytuff, .iconSprite = gMonIcon_Wigglytuff, .iconPalIndex = 0, + SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Wigglytuff) OVERWORLD( sPicTable_Wigglytuff, @@ -4977,6 +5055,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Zubat, .iconSprite = gMonIcon_Zubat, .iconPalIndex = 2, + SHADOW(-4, 11, SHADOW_SIZE_S) FOOTPRINT(Zubat) OVERWORLD( sPicTable_Zubat, @@ -5044,6 +5123,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Golbat, .iconSprite = gMonIcon_Golbat, .iconPalIndex = 2, + SHADOW(2, 14, SHADOW_SIZE_M) FOOTPRINT(Golbat) OVERWORLD( sPicTable_Golbat, @@ -5113,6 +5193,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Crobat, .iconSprite = gMonIcon_Crobat, .iconPalIndex = 2, + SHADOW(-3, 14, SHADOW_SIZE_M) FOOTPRINT(Crobat) OVERWORLD( sPicTable_Crobat, @@ -5177,6 +5258,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Oddish, .iconSprite = gMonIcon_Oddish, .iconPalIndex = 4, + SHADOW(0, -2, SHADOW_SIZE_S) FOOTPRINT(Oddish) OVERWORLD( sPicTable_Oddish, @@ -5244,6 +5326,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Gloom, .iconSprite = gMonIcon_Gloom, .iconPalIndex = 0, + SHADOW(-1, 3, SHADOW_SIZE_M) FOOTPRINT(Gloom) OVERWORLD( sPicTable_Gloom, @@ -5319,6 +5402,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Vileplume, .iconSprite = gMonIcon_Vileplume, .iconPalIndex = 0, + SHADOW(-1, 7, SHADOW_SIZE_L) FOOTPRINT(Vileplume) OVERWORLD( sPicTable_Vileplume, @@ -5389,6 +5473,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Bellossom, .iconSprite = gMonIcon_Bellossom, .iconPalIndex = 1, + SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Bellossom) OVERWORLD( sPicTable_Bellossom, @@ -5459,6 +5544,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Paras, .iconSprite = gMonIcon_Paras, .iconPalIndex = 0, + SHADOW(7, -11, SHADOW_SIZE_M) FOOTPRINT(Paras) OVERWORLD( sPicTable_Paras, @@ -5529,6 +5615,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Parasect, .iconSprite = gMonIcon_Parasect, .iconPalIndex = 0, + SHADOW(5, 2, SHADOW_SIZE_L) FOOTPRINT(Parasect) OVERWORLD( sPicTable_Parasect, @@ -5596,6 +5683,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Venonat, .iconSprite = gMonIcon_Venonat, .iconPalIndex = 2, + SHADOW(-1, 5, SHADOW_SIZE_M) FOOTPRINT(Venonat) OVERWORLD( sPicTable_Venonat, @@ -5665,6 +5753,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Venomoth, .iconSprite = gMonIcon_Venomoth, .iconPalIndex = 2, + SHADOW(-5, 18, SHADOW_SIZE_M) FOOTPRINT(Venomoth) OVERWORLD( sPicTable_Venomoth, @@ -5740,6 +5829,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Diglett, .iconSprite = gMonIcon_Diglett, .iconPalIndex = 2, + NO_SHADOW FOOTPRINT(Diglett) OVERWORLD( sPicTable_Diglett, @@ -5805,6 +5895,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Dugtrio, .iconSprite = gMonIcon_Dugtrio, .iconPalIndex = 2, + NO_SHADOW FOOTPRINT(Dugtrio) OVERWORLD( sPicTable_Dugtrio, @@ -5868,6 +5959,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_DiglettAlolan, .iconSprite = gMonIcon_DiglettAlolan, .iconPalIndex = 2, + NO_SHADOW FOOTPRINT(Diglett) OVERWORLD( sPicTable_DiglettAlolan, @@ -5934,6 +6026,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_DugtrioAlolan, .iconSprite = gMonIcon_DugtrioAlolan, .iconPalIndex = 2, + NO_SHADOW FOOTPRINT(Dugtrio) OVERWORLD( sPicTable_DugtrioAlolan, @@ -6005,6 +6098,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Meowth, .iconSprite = gMonIcon_Meowth, .iconPalIndex = 1, + SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Meowth) OVERWORLD( sPicTable_Meowth, @@ -6075,6 +6169,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Persian, .iconSprite = gMonIcon_Persian, .iconPalIndex = 1, + SHADOW(-2, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Persian) OVERWORLD( sPicTable_Persian, @@ -6138,6 +6233,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_MeowthAlolan, .iconSprite = gMonIcon_MeowthAlolan, .iconPalIndex = 2, + SHADOW(-2, 5, SHADOW_SIZE_M) FOOTPRINT(Meowth) OVERWORLD( sPicTable_MeowthAlolan, @@ -6203,6 +6299,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PersianAlolan, .iconSprite = gMonIcon_PersianAlolan, .iconPalIndex = 2, + SHADOW(-1, 9, SHADOW_SIZE_L) FOOTPRINT(Persian) OVERWORLD( sPicTable_PersianAlolan, @@ -6267,6 +6364,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_MeowthGalarian, .iconSprite = gMonIcon_MeowthGalarian, .iconPalIndex = 0, + SHADOW(1, 4, SHADOW_SIZE_M) FOOTPRINT(Meowth) OVERWORLD( sPicTable_MeowthGalarian, @@ -6330,6 +6428,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Perrserker, .iconSprite = gMonIcon_Perrserker, .iconPalIndex = 2, + SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(Perrserker) OVERWORLD( sPicTable_Perrserker, @@ -6393,6 +6492,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_MeowthGigantamax, .iconSprite = gMonIcon_MeowthGigantamax, .iconPalIndex = 1, + SHADOW(4, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Meowth) .isGigantamax = TRUE, .levelUpLearnset = sMeowthLevelUpLearnset, @@ -6452,6 +6552,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Psyduck, .iconSprite = gMonIcon_Psyduck, .iconPalIndex = 1, + SHADOW(1, 2, SHADOW_SIZE_M) FOOTPRINT(Psyduck) OVERWORLD( sPicTable_Psyduck, @@ -6514,6 +6615,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Golduck, .iconSprite = gMonIcon_Golduck, .iconPalIndex = 0, + SHADOW(1, 6, SHADOW_SIZE_M) FOOTPRINT(Golduck) OVERWORLD( sPicTable_Golduck, @@ -6581,6 +6683,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Mankey, .iconSprite = gMonIcon_Mankey, .iconPalIndex = 1, + SHADOW(-1, 1, SHADOW_SIZE_M) FOOTPRINT(Mankey) OVERWORLD( sPicTable_Mankey, @@ -6647,6 +6750,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Primeape, .iconSprite = gMonIcon_Primeape, .iconPalIndex = 2, + SHADOW(0, 7, SHADOW_SIZE_L) FOOTPRINT(Primeape) OVERWORLD( sPicTable_Primeape, @@ -6709,6 +6813,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Annihilape, .iconSprite = gMonIcon_Annihilape, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Annihilape) OVERWORLD( sPicTable_Annihilape, @@ -6773,6 +6878,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Growlithe, .iconSprite = gMonIcon_Growlithe, .iconPalIndex = 3, + SHADOW(0, 4, SHADOW_SIZE_M) FOOTPRINT(Growlithe) OVERWORLD( sPicTable_Growlithe, @@ -6837,6 +6943,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Arcanine, .iconSprite = gMonIcon_Arcanine, .iconPalIndex = 3, + SHADOW(-4, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Arcanine) OVERWORLD( sPicTable_Arcanine, @@ -6899,6 +7006,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_GrowlitheHisuian, .iconSprite = gMonIcon_GrowlitheHisuian, .iconPalIndex = 0, + SHADOW(2, -2, SHADOW_SIZE_M) FOOTPRINT(Growlithe) OVERWORLD( sPicTable_GrowlitheHisuian, @@ -6962,6 +7070,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_ArcanineHisuian, .iconSprite = gMonIcon_ArcanineHisuian, .iconPalIndex = 0, + SHADOW(-1, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Arcanine) OVERWORLD( sPicTable_ArcanineHisuian, @@ -7028,6 +7137,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Poliwag, .iconSprite = gMonIcon_Poliwag, .iconPalIndex = 0, + SHADOW(-3, 0, SHADOW_SIZE_S) FOOTPRINT(Poliwag) OVERWORLD( sPicTable_Poliwag, @@ -7093,6 +7203,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Poliwhirl, .iconSprite = gMonIcon_Poliwhirl, .iconPalIndex = 0, + SHADOW(-1, 4, SHADOW_SIZE_M) FOOTPRINT(Poliwhirl) OVERWORLD( sPicTable_Poliwhirl, @@ -7166,6 +7277,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Poliwrath, .iconSprite = gMonIcon_Poliwrath, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_L) FOOTPRINT(Poliwrath) OVERWORLD( sPicTable_Poliwrath, @@ -7240,6 +7352,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Politoed, .iconSprite = gMonIcon_Politoed, .iconPalIndex = 1, + SHADOW(1, 9, SHADOW_SIZE_M) FOOTPRINT(Politoed) OVERWORLD( sPicTable_Politoed, @@ -7310,6 +7423,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Abra, .iconSprite = gMonIcon_Abra, .iconPalIndex = 2, + SHADOW(0, 0, SHADOW_SIZE_L) FOOTPRINT(Abra) OVERWORLD( sPicTable_Abra, @@ -7378,6 +7492,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Kadabra, .iconSprite = gMonIcon_Kadabra, .iconPalIndex = 2, + SHADOW(1, 6, SHADOW_SIZE_L) FOOTPRINT(Kadabra) OVERWORLD( sPicTable_Kadabra, @@ -7455,6 +7570,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Alakazam, .iconSprite = gMonIcon_Alakazam, .iconPalIndex = 2, + SHADOW(-1, 9, SHADOW_SIZE_L) FOOTPRINT(Alakazam) OVERWORLD( sPicTable_Alakazam, @@ -7519,6 +7635,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_AlakazamMega, .iconSprite = gMonIcon_AlakazamMega, .iconPalIndex = 2, + SHADOW(0, 18, SHADOW_SIZE_L) FOOTPRINT(Alakazam) .isMegaEvolution = TRUE, .levelUpLearnset = sAlakazamLevelUpLearnset, @@ -7588,6 +7705,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Machop, .iconSprite = gMonIcon_Machop, .iconPalIndex = 0, + SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Machop) OVERWORLD( sPicTable_Machop, @@ -7656,6 +7774,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Machoke, .iconSprite = gMonIcon_Machoke, .iconPalIndex = 2, + SHADOW(-1, 9, SHADOW_SIZE_M) FOOTPRINT(Machoke) OVERWORLD( sPicTable_Machoke, @@ -7731,6 +7850,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Machamp, .iconSprite = gMonIcon_Machamp, .iconPalIndex = 0, + SHADOW(7, 13, SHADOW_SIZE_L) FOOTPRINT(Machamp) OVERWORLD( sPicTable_Machamp, @@ -7799,6 +7919,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_MachampGigantamax, .iconSprite = gMonIcon_MachampGigantamax, .iconPalIndex = 0, + SHADOW(7, 13, SHADOW_SIZE_L) FOOTPRINT(Machamp) .isGigantamax = TRUE, .levelUpLearnset = sMachampLevelUpLearnset, @@ -7857,6 +7978,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Bellsprout, .iconSprite = gMonIcon_Bellsprout, .iconPalIndex = 1, + SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Bellsprout) OVERWORLD( sPicTable_Bellsprout, @@ -7920,6 +8042,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Weepinbell, .iconSprite = gMonIcon_Weepinbell, .iconPalIndex = 1, + SHADOW(-3, 3, SHADOW_SIZE_M) FOOTPRINT(Weepinbell) OVERWORLD( sPicTable_Weepinbell, @@ -7989,6 +8112,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Victreebel, .iconSprite = gMonIcon_Victreebel, .iconPalIndex = 1, + SHADOW(3, 8, SHADOW_SIZE_M) FOOTPRINT(Victreebel) OVERWORLD( sPicTable_Victreebel, @@ -8052,6 +8176,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Tentacool, .iconSprite = gMonIcon_Tentacool, .iconPalIndex = 0, + SHADOW(1, 6, SHADOW_SIZE_M) FOOTPRINT(Tentacool) OVERWORLD( sPicTable_Tentacool, @@ -8115,6 +8240,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Tentacruel, .iconSprite = gMonIcon_Tentacruel, .iconPalIndex = 0, + SHADOW(2, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Tentacruel) OVERWORLD( sPicTable_Tentacruel, @@ -8200,6 +8326,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Geodude, .iconSprite = gMonIcon_Geodude, .iconPalIndex = 1, + SHADOW(1, 2, SHADOW_SIZE_M) FOOTPRINT(Geodude) OVERWORLD( sPicTable_Geodude, @@ -8264,6 +8391,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Graveler, .iconSprite = gMonIcon_Graveler, .iconPalIndex = 1, + SHADOW(0, 3, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Graveler) OVERWORLD( sPicTable_Graveler, @@ -8328,6 +8456,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Golem, .iconSprite = gMonIcon_Golem, .iconPalIndex = 2, + SHADOW(3, 5, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Golem) OVERWORLD( sPicTable_Golem, @@ -8392,6 +8521,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_GeodudeAlolan, .iconSprite = gMonIcon_GeodudeAlolan, .iconPalIndex = 2, + SHADOW(-1, 10, SHADOW_SIZE_M) FOOTPRINT(Geodude) OVERWORLD( sPicTable_GeodudeAlolan, @@ -8457,6 +8587,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_GravelerAlolan, .iconSprite = gMonIcon_GravelerAlolan, .iconPalIndex = 2, + SHADOW(1, 5, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Graveler) OVERWORLD( sPicTable_GravelerAlolan, @@ -8522,6 +8653,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_GolemAlolan, .iconSprite = gMonIcon_GolemAlolan, .iconPalIndex = 2, + SHADOW(2, 11, SHADOW_SIZE_L) FOOTPRINT(Golem) OVERWORLD( sPicTable_GolemAlolan, @@ -8588,6 +8720,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Ponyta, .iconSprite = gMonIcon_Ponyta, .iconPalIndex = 3, + SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(Ponyta) OVERWORLD( sPicTable_Ponyta, @@ -8651,6 +8784,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Rapidash, .iconSprite = gMonIcon_Rapidash, .iconPalIndex = 3, + SHADOW(-1, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Rapidash) OVERWORLD( sPicTable_Rapidash, @@ -8713,6 +8847,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PonytaGalarian, .iconSprite = gMonIcon_PonytaGalarian, .iconPalIndex = 2, + SHADOW(-5, 5, SHADOW_SIZE_M) FOOTPRINT(Ponyta) OVERWORLD( sPicTable_PonytaGalarian, @@ -8777,6 +8912,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_RapidashGalarian, .iconSprite = gMonIcon_RapidashGalarian, .iconPalIndex = 2, + SHADOW(0, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Rapidash) OVERWORLD( sPicTable_RapidashGalarian, @@ -8843,6 +8979,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Slowpoke, .iconSprite = gMonIcon_Slowpoke, .iconPalIndex = 0, + SHADOW(1, -5, SHADOW_SIZE_L) FOOTPRINT(Slowpoke) OVERWORLD( sPicTable_Slowpoke, @@ -8909,6 +9046,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Slowbro, .iconSprite = gMonIcon_Slowbro, .iconPalIndex = 0, + SHADOW(-1, 8, SHADOW_SIZE_L) FOOTPRINT(Slowbro) OVERWORLD( sPicTable_Slowbro, @@ -8973,6 +9111,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Slowking, .iconSprite = gMonIcon_Slowking, .iconPalIndex = 0, + SHADOW(-2, 11, SHADOW_SIZE_M) FOOTPRINT(Slowking) OVERWORLD( sPicTable_Slowking, @@ -9037,6 +9176,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_SlowbroMega, .iconSprite = gMonIcon_SlowbroMega, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(Slowbro) .isMegaEvolution = TRUE, .levelUpLearnset = sSlowbroLevelUpLearnset, @@ -9094,6 +9234,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_SlowpokeGalarian, .iconSprite = gMonIcon_SlowpokeGalarian, .iconPalIndex = 0, + SHADOW(-3, -8, SHADOW_SIZE_L) FOOTPRINT(Slowpoke) OVERWORLD( sPicTable_SlowpokeGalarian, @@ -9160,6 +9301,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_SlowbroGalarian, .iconSprite = gMonIcon_SlowbroGalarian, .iconPalIndex = 0, + SHADOW(-5, 9, SHADOW_SIZE_L) FOOTPRINT(Slowbro) OVERWORLD( sPicTable_SlowbroGalarian, @@ -9223,6 +9365,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_SlowkingGalarian, .iconSprite = gMonIcon_SlowkingGalarian, .iconPalIndex = 0, + SHADOW(-2, 12, SHADOW_SIZE_M) FOOTPRINT(Slowking) OVERWORLD( sPicTable_SlowkingGalarian, @@ -9291,6 +9434,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Magnemite, .iconSprite = gMonIcon_Magnemite, .iconPalIndex = 0, + SHADOW(-1, 8, SHADOW_SIZE_S) FOOTPRINT(Magnemite) OVERWORLD( sPicTable_Magnemite, @@ -9354,6 +9498,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Magneton, .iconSprite = gMonIcon_Magneton, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Magneton) OVERWORLD( sPicTable_Magneton, @@ -9425,6 +9570,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Magnezone, .iconSprite = gMonIcon_Magnezone, .iconPalIndex = 0, + SHADOW(4, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Magnezone) OVERWORLD( sPicTable_Magnezone, @@ -9499,6 +9645,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Farfetchd, .iconSprite = gMonIcon_Farfetchd, .iconPalIndex = 1, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Farfetchd) OVERWORLD( sPicTable_Farfetchd, @@ -9563,6 +9710,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_FarfetchdGalarian, .iconSprite = gMonIcon_FarfetchdGalarian, .iconPalIndex = 1, + SHADOW(-7, 2, SHADOW_SIZE_L) FOOTPRINT(Farfetchd) OVERWORLD( sPicTable_FarfetchdGalarian, @@ -9628,6 +9776,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Sirfetchd, .iconSprite = gMonIcon_Sirfetchd, .iconPalIndex = 1, + SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Sirfetchd) OVERWORLD( sPicTable_Sirfetchd, @@ -9696,6 +9845,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Doduo, .iconSprite = gMonIcon_Doduo, .iconPalIndex = 2, + SHADOW(6, 5, SHADOW_SIZE_M) FOOTPRINT(Doduo) OVERWORLD( sPicTable_Doduo, @@ -9769,6 +9919,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Dodrio, .iconSprite = gMonIcon_Dodrio, .iconPalIndex = 2, + SHADOW(3, 12, SHADOW_SIZE_L) FOOTPRINT(Dodrio) OVERWORLD( sPicTable_Dodrio, @@ -9835,6 +9986,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Seel, .iconSprite = gMonIcon_Seel, .iconPalIndex = 0, + SHADOW(0, 3, SHADOW_SIZE_L) FOOTPRINT(Seel) OVERWORLD( sPicTable_Seel, @@ -9901,6 +10053,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Dewgong, .iconSprite = gMonIcon_Dewgong, .iconPalIndex = 2, + SHADOW(2, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Dewgong) OVERWORLD( sPicTable_Dewgong, @@ -9964,6 +10117,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Grimer, .iconSprite = gMonIcon_Grimer, .iconPalIndex = 2, + SHADOW(2, 3, SHADOW_SIZE_M) FOOTPRINT(Grimer) OVERWORLD( sPicTable_Grimer, @@ -10030,6 +10184,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Muk, .iconSprite = gMonIcon_Muk, .iconPalIndex = 2, + SHADOW(-1, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Muk) OVERWORLD( sPicTable_Muk, @@ -10093,6 +10248,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_GrimerAlolan, .iconSprite = gMonIcon_GrimerAlolan, .iconPalIndex = 1, + SHADOW(2, 1, SHADOW_SIZE_M) FOOTPRINT(Grimer) OVERWORLD( sPicTable_GrimerAlolan, @@ -10160,6 +10316,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_MukAlolan, .iconSprite = gMonIcon_MukAlolan, .iconPalIndex = 0, + SHADOW(-1, 7, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Muk) OVERWORLD( sPicTable_MukAlolan, @@ -10232,6 +10389,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Shellder, .iconSprite = gMonIcon_Shellder, .iconPalIndex = 2, + SHADOW(0, -4, SHADOW_SIZE_S) FOOTPRINT(Shellder) OVERWORLD( sPicTable_Shellder, @@ -10300,6 +10458,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Cloyster, .iconSprite = gMonIcon_Cloyster, .iconPalIndex = 2, + SHADOW(4, 8, SHADOW_SIZE_M) FOOTPRINT(Cloyster) OVERWORLD( sPicTable_Cloyster, @@ -10363,6 +10522,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Gastly, .iconSprite = gMonIcon_Gastly, .iconPalIndex = 2, + SHADOW(0, 11, SHADOW_SIZE_S) FOOTPRINT(Gastly) OVERWORLD( sPicTable_Gastly, @@ -10427,6 +10587,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Haunter, .iconSprite = gMonIcon_Haunter, .iconPalIndex = 2, + SHADOW(1, 12, SHADOW_SIZE_M) FOOTPRINT(Haunter) OVERWORLD( sPicTable_Haunter, @@ -10501,6 +10662,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Gengar, .iconSprite = gMonIcon_Gengar, .iconPalIndex = 2, + SHADOW(3, 5, SHADOW_SIZE_L) FOOTPRINT(Gengar) OVERWORLD( sPicTable_Gengar, @@ -10564,6 +10726,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_GengarMega, .iconSprite = gMonIcon_GengarMega, .iconPalIndex = 2, + SHADOW(6, 1, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Gengar) .isMegaEvolution = TRUE, .levelUpLearnset = sGengarLevelUpLearnset, @@ -10621,6 +10784,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_GengarGigantamax, .iconSprite = gMonIcon_GengarGigantamax, .iconPalIndex = 2, + NO_SHADOW FOOTPRINT(Gengar) .isGigantamax = TRUE, .levelUpLearnset = sGengarLevelUpLearnset, @@ -10679,6 +10843,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Onix, .iconSprite = gMonIcon_Onix, .iconPalIndex = 2, + SHADOW(0, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Onix) OVERWORLD( sPicTable_Onix, @@ -10749,6 +10914,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Steelix, .iconSprite = gMonIcon_Steelix, .iconPalIndex = 0, + SHADOW(2, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Steelix) OVERWORLD( sPicTable_Steelix, @@ -10813,6 +10979,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_SteelixMega, .iconSprite = gMonIcon_SteelixMega, .iconPalIndex = 0, + SHADOW(1, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Steelix) .isMegaEvolution = TRUE, .levelUpLearnset = sSteelixLevelUpLearnset, @@ -10877,6 +11044,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Drowzee, .iconSprite = gMonIcon_Drowzee, .iconPalIndex = 2, + SHADOW(1, 6, SHADOW_SIZE_M) FOOTPRINT(Drowzee) OVERWORLD( sPicTable_Drowzee, @@ -10948,6 +11116,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Hypno, .iconSprite = gMonIcon_Hypno, .iconPalIndex = 2, + SHADOW(-3, 9, SHADOW_SIZE_L) FOOTPRINT(Hypno) OVERWORLD( sPicTable_Hypno, @@ -11010,6 +11179,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Krabby, .iconSprite = gMonIcon_Krabby, .iconPalIndex = 0, + SHADOW(0, -1, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Krabby) OVERWORLD( sPicTable_Krabby, @@ -11074,6 +11244,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Kingler, .iconSprite = gMonIcon_Kingler, .iconPalIndex = 0, + SHADOW(-2, 4, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kingler) OVERWORLD( sPicTable_Kingler, @@ -11138,6 +11309,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_KinglerGigantamax, .iconSprite = gMonIcon_KinglerGigantamax, .iconPalIndex = 0, + SHADOW(-3, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kingler) .isGigantamax = TRUE, .levelUpLearnset = sKinglerLevelUpLearnset, @@ -11204,6 +11376,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Voltorb, .iconSprite = gMonIcon_Voltorb, .iconPalIndex = 0, + SHADOW(0, -2, SHADOW_SIZE_S) FOOTPRINT(Voltorb) OVERWORLD( sPicTable_Voltorb, @@ -11266,6 +11439,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Electrode, .iconSprite = gMonIcon_Electrode, .iconPalIndex = 0, + SHADOW(1, 2, SHADOW_SIZE_M) FOOTPRINT(Electrode) OVERWORLD( sPicTable_Electrode, @@ -11328,6 +11502,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_VoltorbHisuian, .iconSprite = gMonIcon_VoltorbHisuian, .iconPalIndex = 0, + SHADOW(1, -4, SHADOW_SIZE_S) FOOTPRINT(Voltorb) OVERWORLD( sPicTable_VoltorbHisuian, @@ -11391,6 +11566,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_ElectrodeHisuian, .iconSprite = gMonIcon_ElectrodeHisuian, .iconPalIndex = 1, + SHADOW(-1, 4, SHADOW_SIZE_M) FOOTPRINT(Electrode) OVERWORLD( sPicTable_ElectrodeHisuian, @@ -11457,6 +11633,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Exeggcute, .iconSprite = gMonIcon_Exeggcute, .iconPalIndex = 0, + SHADOW(0, -5, SHADOW_SIZE_L) FOOTPRINT(Exeggcute) OVERWORLD( sPicTable_Exeggcute, @@ -11530,6 +11707,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Exeggutor, .iconSprite = gMonIcon_Exeggutor, .iconPalIndex = 1, + SHADOW(2, 13, SHADOW_SIZE_L) FOOTPRINT(Exeggutor) OVERWORLD( sPicTable_Exeggutor, @@ -11592,6 +11770,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_ExeggutorAlolan, .iconSprite = gMonIcon_ExeggutorAlolan, .iconPalIndex = 1, + SHADOW(6, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Exeggutor) OVERWORLD( sPicTable_ExeggutorAlolan, @@ -11659,6 +11838,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Cubone, .iconSprite = gMonIcon_Cubone, .iconPalIndex = 2, + SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(Cubone) OVERWORLD( sPicTable_Cubone, @@ -11724,6 +11904,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Marowak, .iconSprite = gMonIcon_Marowak, .iconPalIndex = 2, + SHADOW(6, 6, SHADOW_SIZE_M) FOOTPRINT(Marowak) OVERWORLD( sPicTable_Marowak, @@ -11783,6 +11964,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_MarowakAlolan, .iconSprite = gMonIcon_MarowakAlolan, .iconPalIndex = 1, + SHADOW(-2, 11, SHADOW_SIZE_M) FOOTPRINT(Marowak) OVERWORLD( sPicTable_MarowakAlolan, @@ -11842,6 +12024,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_MarowakAlolan, .iconSprite = gMonIcon_MarowakAlolan, .iconPalIndex = 1, + SHADOW(-2, 11, SHADOW_SIZE_M) FOOTPRINT(Marowak) .isTotem = TRUE, .isAlolanForm = TRUE, @@ -11906,6 +12089,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Tyrogue, .iconSprite = gMonIcon_Tyrogue, .iconPalIndex = 2, + SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Tyrogue) OVERWORLD( sPicTable_Tyrogue, @@ -11975,6 +12159,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Hitmonlee, .iconSprite = gMonIcon_Hitmonlee, .iconPalIndex = 2, + SHADOW(2, 8, SHADOW_SIZE_M) FOOTPRINT(Hitmonlee) OVERWORLD( sPicTable_Hitmonlee, @@ -12039,6 +12224,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Hitmonchan, .iconSprite = gMonIcon_Hitmonchan, .iconPalIndex = 2, + SHADOW(1, 9, SHADOW_SIZE_M) FOOTPRINT(Hitmonchan) OVERWORLD( sPicTable_Hitmonchan, @@ -12104,6 +12290,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Hitmontop, .iconSprite = gMonIcon_Hitmontop, .iconPalIndex = 2, + SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Hitmontop) OVERWORLD( sPicTable_Hitmontop, @@ -12168,6 +12355,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Lickitung, .iconSprite = gMonIcon_Lickitung, .iconPalIndex = 0, + SHADOW(2, 6, SHADOW_SIZE_M) FOOTPRINT(Lickitung) OVERWORLD( sPicTable_Lickitung, @@ -12232,6 +12420,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Lickilicky, .iconSprite = gMonIcon_Lickilicky, .iconPalIndex = 1, + SHADOW(1, 11, SHADOW_SIZE_M) FOOTPRINT(Lickilicky) OVERWORLD( sPicTable_Lickilicky, @@ -12301,6 +12490,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Koffing, .iconSprite = gMonIcon_Koffing, .iconPalIndex = 2, + SHADOW(0, 15, SHADOW_SIZE_S) FOOTPRINT(Koffing) OVERWORLD( sPicTable_Koffing, @@ -12371,6 +12561,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Weezing, .iconSprite = gMonIcon_Weezing, .iconPalIndex = 2, + SHADOW(5, 14, SHADOW_SIZE_M) FOOTPRINT(Weezing) OVERWORLD( sPicTable_Weezing, @@ -12436,6 +12627,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_WeezingGalarian, .iconSprite = gMonIcon_WeezingGalarian, .iconPalIndex = 1, + SHADOW(7, 17, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Weezing) OVERWORLD( sPicTable_WeezingGalarian, @@ -12505,6 +12697,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Rhyhorn, .iconSprite = gMonIcon_Rhyhorn, .iconPalIndex = 1, + SHADOW(0, 0, SHADOW_SIZE_L) FOOTPRINT(Rhyhorn) OVERWORLD( sPicTable_Rhyhorn, @@ -12571,6 +12764,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Rhydon, .iconSprite = gMonIcon_Rhydon, .iconPalIndex = 1, + SHADOW(3, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Rhydon) OVERWORLD( sPicTable_Rhydon, @@ -12644,6 +12838,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Rhyperior, .iconSprite = gMonIcon_Rhyperior, .iconPalIndex = 0, + SHADOW(2, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Rhyperior) OVERWORLD( sPicTable_Rhyperior, @@ -12709,6 +12904,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Happiny, .iconSprite = gMonIcon_Happiny, .iconPalIndex = 0, + SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Happiny) OVERWORLD( sPicTable_Happiny, @@ -12774,6 +12970,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Chansey, .iconSprite = gMonIcon_Chansey, .iconPalIndex = 0, + SHADOW(1, 4, SHADOW_SIZE_L) FOOTPRINT(Chansey) OVERWORLD( sPicTable_Chansey, @@ -12838,6 +13035,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Blissey, .iconSprite = gMonIcon_Blissey, .iconPalIndex = 0, + SHADOW(1, 8, SHADOW_SIZE_L) FOOTPRINT(Blissey) OVERWORLD( sPicTable_Blissey, @@ -12905,6 +13103,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Tangela, .iconSprite = gMonIcon_Tangela, .iconPalIndex = 0, + SHADOW(-1, 1, SHADOW_SIZE_M) FOOTPRINT(Tangela) OVERWORLD( sPicTable_Tangela, @@ -12970,6 +13169,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Tangrowth, .iconSprite = gMonIcon_Tangrowth, .iconPalIndex = 0, + SHADOW(-2, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Tangrowth) OVERWORLD( sPicTable_Tangrowth, @@ -13033,6 +13233,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Kangaskhan, .iconSprite = gMonIcon_Kangaskhan, .iconPalIndex = 2, + SHADOW(0, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kangaskhan) OVERWORLD( sPicTable_Kangaskhan, @@ -13097,6 +13298,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_KangaskhanMega, .iconSprite = gMonIcon_KangaskhanMega, .iconPalIndex = 2, + SHADOW(0, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kangaskhan) .isMegaEvolution = TRUE, .levelUpLearnset = sKangaskhanLevelUpLearnset, @@ -13161,6 +13363,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Horsea, .iconSprite = gMonIcon_Horsea, .iconPalIndex = 0, + SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Horsea) OVERWORLD( sPicTable_Horsea, @@ -13229,6 +13432,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Seadra, .iconSprite = gMonIcon_Seadra, .iconPalIndex = 0, + SHADOW(-2, 7, SHADOW_SIZE_M) FOOTPRINT(Seadra) OVERWORLD( sPicTable_Seadra, @@ -13305,6 +13509,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Kingdra, .iconSprite = gMonIcon_Kingdra, .iconPalIndex = 0, + SHADOW(3, 12, SHADOW_SIZE_M) FOOTPRINT(Kingdra) OVERWORLD( sPicTable_Kingdra, @@ -13373,6 +13578,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Goldeen, .iconSprite = gMonIcon_Goldeen, .iconPalIndex = 0, + SHADOW(-6, 0, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Goldeen) OVERWORLD( sPicTable_Goldeen, @@ -13440,6 +13646,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Seaking, .iconSprite = gMonIcon_Seaking, .iconPalIndex = 0, + SHADOW(0, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Seaking) OVERWORLD( sPicTable_Seaking, @@ -13505,6 +13712,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Staryu, .iconSprite = gMonIcon_Staryu, .iconPalIndex = 2, + SHADOW(-1, 2, SHADOW_SIZE_M) FOOTPRINT(Staryu) OVERWORLD( sPicTable_Staryu, @@ -13568,6 +13776,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Starmie, .iconSprite = gMonIcon_Starmie, .iconPalIndex = 2, + SHADOW(0, 7, SHADOW_SIZE_L) FOOTPRINT(Starmie) OVERWORLD( sPicTable_Starmie, @@ -13639,6 +13848,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_MimeJr, .iconSprite = gMonIcon_MimeJr, .iconPalIndex = 0, + SHADOW(-5, 4, SHADOW_SIZE_S) FOOTPRINT(MimeJr) OVERWORLD( sPicTable_MimeJr, @@ -13707,6 +13917,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_MrMime, .iconSprite = gMonIcon_MrMime, .iconPalIndex = 0, + SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(MrMime) OVERWORLD( sPicTable_MrMime, @@ -13770,6 +13981,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_MrMimeGalarian, .iconSprite = gMonIcon_MrMimeGalarian, .iconPalIndex = 0, + SHADOW(-1, 6, SHADOW_SIZE_M) FOOTPRINT(MrMime) OVERWORLD( sPicTable_MrMimeGalarian, @@ -13833,6 +14045,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_MrRime, .iconSprite = gMonIcon_MrRime, .iconPalIndex = 0, + SHADOW(3, 9, SHADOW_SIZE_L) FOOTPRINT(MrRime) OVERWORLD( sPicTable_MrRime, @@ -13903,6 +14116,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Scyther, .iconSprite = gMonIcon_Scyther, .iconPalIndex = 1, + SHADOW(0, 7, SHADOW_SIZE_L) FOOTPRINT(Scyther) OVERWORLD( sPicTable_Scyther, @@ -13975,6 +14189,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Scizor, .iconSprite = gMonIcon_Scizor, .iconPalIndex = 0, + SHADOW(3, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Scizor) OVERWORLD( sPicTable_Scizor, @@ -14038,6 +14253,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_ScizorMega, .iconSprite = gMonIcon_ScizorMega, .iconPalIndex = 0, + SHADOW(5, 15, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Scizor) .isMegaEvolution = TRUE, .levelUpLearnset = sScizorLevelUpLearnset, @@ -14096,6 +14312,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Kleavor, .iconSprite = gMonIcon_Kleavor, .iconPalIndex = 2, + SHADOW(2, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kleavor) OVERWORLD( sPicTable_Kleavor, @@ -14165,6 +14382,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Smoochum, .iconSprite = gMonIcon_Smoochum, .iconPalIndex = 1, + SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Smoochum) OVERWORLD( sPicTable_Smoochum, @@ -14232,6 +14450,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Jynx, .iconSprite = gMonIcon_Jynx, .iconPalIndex = 2, + SHADOW(0, 3, SHADOW_SIZE_L) FOOTPRINT(Jynx) OVERWORLD( sPicTable_Jynx, @@ -14297,6 +14516,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Elekid, .iconSprite = gMonIcon_Elekid, .iconPalIndex = 1, + SHADOW(-1, 1, SHADOW_SIZE_M) FOOTPRINT(Elekid) OVERWORLD( sPicTable_Elekid, @@ -14362,6 +14582,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Electabuzz, .iconSprite = gMonIcon_Electabuzz, .iconPalIndex = 1, + SHADOW(-2, 9, SHADOW_SIZE_L) FOOTPRINT(Electabuzz) OVERWORLD( sPicTable_Electabuzz, @@ -14432,6 +14653,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Electivire, .iconSprite = gMonIcon_Electivire, .iconPalIndex = 1, + SHADOW(-3, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Electivire) OVERWORLD( sPicTable_Electivire, @@ -14498,6 +14720,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Magby, .iconSprite = gMonIcon_Magby, .iconPalIndex = 0, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Magby) OVERWORLD( sPicTable_Magby, @@ -14562,6 +14785,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Magmar, .iconSprite = gMonIcon_Magmar, .iconPalIndex = 0, + SHADOW(3, 8, SHADOW_SIZE_L) FOOTPRINT(Magmar) OVERWORLD( sPicTable_Magmar, @@ -14633,6 +14857,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Magmortar, .iconSprite = gMonIcon_Magmortar, .iconPalIndex = 0, + SHADOW(4, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Magmortar) OVERWORLD( sPicTable_Magmortar, @@ -14700,6 +14925,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Pinsir, .iconSprite = gMonIcon_Pinsir, .iconPalIndex = 2, + SHADOW(5, 7, SHADOW_SIZE_L) FOOTPRINT(Pinsir) OVERWORLD( sPicTable_Pinsir, @@ -14765,6 +14991,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PinsirMega, .iconSprite = gMonIcon_PinsirMega, .iconPalIndex = 2, + SHADOW(3, 12, SHADOW_SIZE_L) FOOTPRINT(Pinsir) .isMegaEvolution = TRUE, .levelUpLearnset = sPinsirLevelUpLearnset, @@ -14830,6 +15057,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Tauros, .iconSprite = gMonIcon_Tauros, .iconPalIndex = 2, + SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Tauros) OVERWORLD( sPicTable_Tauros, @@ -14892,6 +15120,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_TaurosPaldeanCombatBreed, .iconSprite = gMonIcon_TaurosPaldeanCombatBreed, .iconPalIndex = 0, + SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Tauros) OVERWORLD( sPicTable_TaurosPaldeanCombatBreed, @@ -14955,6 +15184,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_TaurosPaldeanBlazeBreed, .iconSprite = gMonIcon_TaurosPaldeanBlazeBreed, .iconPalIndex = 0, + SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Tauros) OVERWORLD( sPicTable_TaurosPaldeanBlazeBreed, @@ -15018,6 +15248,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_TaurosPaldeanAquaBreed, .iconSprite = gMonIcon_TaurosPaldeanAquaBreed, .iconPalIndex = 0, + SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Tauros) OVERWORLD( sPicTable_TaurosPaldeanAquaBreed, @@ -15088,6 +15319,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Magikarp, .iconSprite = gMonIcon_Magikarp, .iconPalIndex = 0, + SHADOW(1, 7, SHADOW_SIZE_M) FOOTPRINT(Magikarp) OVERWORLD( sPicTable_Magikarp, @@ -15154,6 +15386,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Gyarados, .iconSprite = gMonIcon_Gyarados, .iconPalIndex = 0, + SHADOW(5, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Gyarados) OVERWORLD( sPicTable_Gyarados, @@ -15218,6 +15451,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_GyaradosMega, .iconSprite = gMonIcon_GyaradosMega, .iconPalIndex = 0, + SHADOW(3, 17, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Gyarados) .isMegaEvolution = TRUE, .levelUpLearnset = sGyaradosLevelUpLearnset, @@ -15278,6 +15512,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Lapras, .iconSprite = gMonIcon_Lapras, .iconPalIndex = 2, + SHADOW(2, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Lapras) OVERWORLD( sPicTable_Lapras, @@ -15344,6 +15579,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_LaprasGigantamax, .iconSprite = gMonIcon_LaprasGigantamax, .iconPalIndex = 2, + SHADOW(2, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Lapras) .isGigantamax = TRUE, .levelUpLearnset = sLaprasLevelUpLearnset, @@ -15405,6 +15641,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Ditto, .iconSprite = gMonIcon_Ditto, .iconPalIndex = 2, + SHADOW(0, -4, SHADOW_SIZE_M) FOOTPRINT(Ditto) OVERWORLD( sPicTable_Ditto, @@ -15472,6 +15709,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Eevee, .iconSprite = gMonIcon_Eevee, .iconPalIndex = 2, + SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Eevee) OVERWORLD( sPicTable_Eevee, @@ -15546,6 +15784,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_EeveeGigantamax, .iconSprite = gMonIcon_EeveeGigantamax, .iconPalIndex = 2, + SHADOW(0, 4, SHADOW_SIZE_L) FOOTPRINT(Eevee) .isGigantamax = TRUE, .levelUpLearnset = sEeveeLevelUpLearnset, @@ -15607,6 +15846,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .iconSpriteFemale = gMonIcon_EeveePartnerF, .iconPalIndexFemale = 2, #endif + SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Eevee) .cannotBeTraded = TRUE, .perfectIVCount = NUM_STATS, @@ -15663,6 +15903,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Vaporeon, .iconSprite = gMonIcon_Vaporeon, .iconPalIndex = 0, + SHADOW(-4, 3, SHADOW_SIZE_M) FOOTPRINT(Vaporeon) OVERWORLD( sPicTable_Vaporeon, @@ -15723,6 +15964,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Jolteon, .iconSprite = gMonIcon_Jolteon, .iconPalIndex = 2, + SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Jolteon) OVERWORLD( sPicTable_Jolteon, @@ -15783,6 +16025,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Flareon, .iconSprite = gMonIcon_Flareon, .iconPalIndex = 3, + SHADOW(-2, 1, SHADOW_SIZE_L) FOOTPRINT(Flareon) OVERWORLD( sPicTable_Flareon, @@ -15844,6 +16087,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Espeon, .iconSprite = gMonIcon_Espeon, .iconPalIndex = 2, + SHADOW(2, 4, SHADOW_SIZE_M) FOOTPRINT(Espeon) OVERWORLD( sPicTable_Espeon, @@ -15904,6 +16148,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Umbreon, .iconSprite = gMonIcon_Umbreon, .iconPalIndex = 0, + SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Umbreon) OVERWORLD( sPicTable_Umbreon, @@ -15966,6 +16211,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Leafeon, .iconSprite = gMonIcon_Leafeon, .iconPalIndex = 1, + SHADOW(0, 4, SHADOW_SIZE_M) FOOTPRINT(Leafeon) OVERWORLD( sPicTable_Leafeon, @@ -16026,6 +16272,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Glaceon, .iconSprite = gMonIcon_Glaceon, .iconPalIndex = 0, + SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Glaceon) OVERWORLD( sPicTable_Glaceon, @@ -16089,6 +16336,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Sylveon, .iconSprite = gMonIcon_Sylveon, .iconPalIndex = 0, + SHADOW(2, 9, SHADOW_SIZE_M) FOOTPRINT(Sylveon) OVERWORLD( sPicTable_Sylveon, @@ -16156,6 +16404,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Porygon, .iconSprite = gMonIcon_Porygon, .iconPalIndex = 0, + SHADOW(0, -2, SHADOW_SIZE_S) FOOTPRINT(Porygon) OVERWORLD( sPicTable_Porygon, @@ -16224,6 +16473,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Porygon2, .iconSprite = gMonIcon_Porygon2, .iconPalIndex = 0, + SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Porygon2) OVERWORLD( sPicTable_Porygon2, @@ -16294,6 +16544,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_PorygonZ, .iconSprite = gMonIcon_PorygonZ, .iconPalIndex = 0, + SHADOW(0, 17, SHADOW_SIZE_S) FOOTPRINT(PorygonZ) OVERWORLD( sPicTable_PorygonZ, @@ -16364,6 +16615,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Omanyte, .iconSprite = gMonIcon_Omanyte, .iconPalIndex = 0, + SHADOW(-2, -2, SHADOW_SIZE_S) FOOTPRINT(Omanyte) OVERWORLD( sPicTable_Omanyte, @@ -16426,6 +16678,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Omastar, .iconSprite = gMonIcon_Omastar, .iconPalIndex = 0, + SHADOW(0, 4, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Omastar) OVERWORLD( sPicTable_Omastar, @@ -16494,6 +16747,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Kabuto, .iconSprite = gMonIcon_Kabuto, .iconPalIndex = 2, + SHADOW(2, -3, SHADOW_SIZE_S) FOOTPRINT(Kabuto) OVERWORLD( sPicTable_Kabuto, @@ -16562,6 +16816,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Kabutops, .iconSprite = gMonIcon_Kabutops, .iconPalIndex = 2, + SHADOW(1, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kabutops) OVERWORLD( sPicTable_Kabutops, @@ -16625,6 +16880,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Aerodactyl, .iconSprite = gMonIcon_Aerodactyl, .iconPalIndex = 2, + SHADOW(-2, 16, SHADOW_SIZE_M) FOOTPRINT(Aerodactyl) OVERWORLD( sPicTable_Aerodactyl, @@ -16689,6 +16945,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_AerodactylMega, .iconSprite = gMonIcon_AerodactylMega, .iconPalIndex = 2, + SHADOW(-2, 16, SHADOW_SIZE_M) FOOTPRINT(Aerodactyl) .isMegaEvolution = TRUE, .levelUpLearnset = sAerodactylLevelUpLearnset, @@ -16751,6 +17008,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Munchlax, .iconSprite = gMonIcon_Munchlax, .iconPalIndex = 3, + SHADOW(-1, 2, SHADOW_SIZE_M) FOOTPRINT(Munchlax) OVERWORLD( sPicTable_Munchlax, @@ -16816,6 +17074,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Snorlax, .iconSprite = gMonIcon_Snorlax, .iconPalIndex = 3, + SHADOW(0, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Snorlax) OVERWORLD( sPicTable_Snorlax, @@ -16882,6 +17141,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_SnorlaxGigantamax, .iconSprite = gMonIcon_SnorlaxGigantamax, .iconPalIndex = 3, + SHADOW(0, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Snorlax) .isGigantamax = TRUE, .levelUpLearnset = sSnorlaxLevelUpLearnset, @@ -16947,6 +17207,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Articuno, .iconSprite = gMonIcon_Articuno, .iconPalIndex = 2, + SHADOW(3, 10, SHADOW_SIZE_M) FOOTPRINT(Articuno) OVERWORLD( sPicTable_Articuno, @@ -17012,6 +17273,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_ArticunoGalarian, .iconSprite = gMonIcon_ArticunoGalarian, .iconPalIndex = 2, + SHADOW(3, 14, SHADOW_SIZE_M) FOOTPRINT(Articuno) OVERWORLD( sPicTable_ArticunoGalarian, @@ -17090,6 +17352,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Zapdos, .iconSprite = gMonIcon_Zapdos, .iconPalIndex = 0, + SHADOW(1, 15, SHADOW_SIZE_M) FOOTPRINT(Zapdos) OVERWORLD( sPicTable_Zapdos, @@ -17154,6 +17417,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_ZapdosGalarian, .iconSprite = gMonIcon_ZapdosGalarian, .iconPalIndex = 0, + SHADOW(-2, 11, SHADOW_SIZE_M) FOOTPRINT(Zapdos) OVERWORLD( sPicTable_ZapdosGalarian, @@ -17227,6 +17491,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Moltres, .iconSprite = gMonIcon_Moltres, .iconPalIndex = 0, + SHADOW(-1, 12, SHADOW_SIZE_M) FOOTPRINT(Moltres) OVERWORLD( sPicTable_Moltres, @@ -17291,6 +17556,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_MoltresGalarian, .iconSprite = gMonIcon_MoltresGalarian, .iconPalIndex = 0, + SHADOW(0, 12, SHADOW_SIZE_M) FOOTPRINT(Moltres) OVERWORLD( sPicTable_MoltresGalarian, @@ -17359,6 +17625,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Dratini, .iconSprite = gMonIcon_Dratini, .iconPalIndex = 0, + SHADOW(3, 3, SHADOW_SIZE_L) FOOTPRINT(Dratini) OVERWORLD( sPicTable_Dratini, @@ -17422,6 +17689,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Dragonair, .iconSprite = gMonIcon_Dragonair, .iconPalIndex = 0, + SHADOW(0, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Dragonair) OVERWORLD( sPicTable_Dragonair, @@ -17490,6 +17758,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Dragonite, .iconSprite = gMonIcon_Dragonite, .iconPalIndex = 2, + SHADOW(0, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Dragonite) OVERWORLD( sPicTable_Dragonite, @@ -17558,6 +17827,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Mewtwo, .iconSprite = gMonIcon_Mewtwo, .iconPalIndex = 2, + SHADOW(6, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Mewtwo) OVERWORLD( sPicTable_Mewtwo, @@ -17624,6 +17894,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_MewtwoMegaX, .iconSprite = gMonIcon_MewtwoMegaX, .iconPalIndex = 2, + SHADOW(1, 12, SHADOW_SIZE_M) FOOTPRINT(Mewtwo) .isLegendary = TRUE, .isMegaEvolution = TRUE, @@ -17683,6 +17954,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_MewtwoMegaY, .iconSprite = gMonIcon_MewtwoMegaY, .iconPalIndex = 2, + SHADOW(0, 14, SHADOW_SIZE_S) FOOTPRINT(Mewtwo) .isLegendary = TRUE, .isMegaEvolution = TRUE, @@ -17753,6 +18025,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .shinyPalette = gMonShinyPalette_Mew, .iconSprite = gMonIcon_Mew, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Mew) OVERWORLD( sPicTable_Mew, diff --git a/src/data/pokemon/species_info/gen_2_families.h b/src/data/pokemon/species_info/gen_2_families.h index 8c99c6b1db..f59e8a5417 100644 --- a/src/data/pokemon/species_info/gen_2_families.h +++ b/src/data/pokemon/species_info/gen_2_families.h @@ -51,6 +51,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Chikorita, .iconSprite = gMonIcon_Chikorita, .iconPalIndex = 1, + SHADOW(-1, 2, SHADOW_SIZE_S) FOOTPRINT(Chikorita) OVERWORLD( sPicTable_Chikorita, @@ -114,6 +115,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Bayleef, .iconSprite = gMonIcon_Bayleef, .iconPalIndex = 1, + SHADOW(-1, 10, SHADOW_SIZE_M) FOOTPRINT(Bayleef) OVERWORLD( sPicTable_Bayleef, @@ -186,6 +188,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Meganium, .iconSprite = gMonIcon_Meganium, .iconPalIndex = 1, + SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Meganium) OVERWORLD( sPicTable_Meganium, @@ -248,6 +251,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Cyndaquil, .iconSprite = gMonIcon_Cyndaquil, .iconPalIndex = 3, + SHADOW(0, -1, SHADOW_SIZE_S) FOOTPRINT(Cyndaquil) OVERWORLD( sPicTable_Cyndaquil, @@ -311,6 +315,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Quilava, .iconSprite = gMonIcon_Quilava, .iconPalIndex = 3, + SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Quilava) OVERWORLD( sPicTable_Quilava, @@ -382,6 +387,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Typhlosion, .iconSprite = gMonIcon_Typhlosion, .iconPalIndex = 3, + SHADOW(4, 14, SHADOW_SIZE_L) FOOTPRINT(Typhlosion) OVERWORLD( sPicTable_Typhlosion, @@ -444,6 +450,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_TyphlosionHisuian, .iconSprite = gMonIcon_TyphlosionHisuian, .iconPalIndex = 1, + SHADOW(2, 14, SHADOW_SIZE_L) FOOTPRINT(Typhlosion) OVERWORLD( sPicTable_TyphlosionHisuian, @@ -509,6 +516,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Totodile, .iconSprite = gMonIcon_Totodile, .iconPalIndex = 0, + SHADOW(2, 0, SHADOW_SIZE_S) FOOTPRINT(Totodile) OVERWORLD( sPicTable_Totodile, @@ -573,6 +581,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Croconaw, .iconSprite = gMonIcon_Croconaw, .iconPalIndex = 0, + SHADOW(2, 8, SHADOW_SIZE_M) FOOTPRINT(Croconaw) OVERWORLD( sPicTable_Croconaw, @@ -642,6 +651,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Feraligatr, .iconSprite = gMonIcon_Feraligatr, .iconPalIndex = 0, + SHADOW(3, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Feraligatr) OVERWORLD( sPicTable_Feraligatr, @@ -704,6 +714,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Sentret, .iconSprite = gMonIcon_Sentret, .iconPalIndex = 2, + SHADOW(0, 11, SHADOW_SIZE_S) FOOTPRINT(Sentret) OVERWORLD( sPicTable_Sentret, @@ -766,6 +777,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Furret, .iconSprite = gMonIcon_Furret, .iconPalIndex = 2, + SHADOW(-1, 9, SHADOW_SIZE_M) FOOTPRINT(Furret) OVERWORLD( sPicTable_Furret, @@ -828,6 +840,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Hoothoot, .iconSprite = gMonIcon_Hoothoot, .iconPalIndex = 2, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Hoothoot) OVERWORLD( sPicTable_Hoothoot, @@ -896,6 +909,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Noctowl, .iconSprite = gMonIcon_Noctowl, .iconPalIndex = 2, + SHADOW(-2, 10, SHADOW_SIZE_S) FOOTPRINT(Noctowl) OVERWORLD( sPicTable_Noctowl, @@ -962,6 +976,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Ledyba, .iconSprite = gMonIcon_Ledyba, .iconPalIndex = 0, + SHADOW(2, 4, SHADOW_SIZE_M) FOOTPRINT(Ledyba) OVERWORLD( sPicTable_Ledyba, @@ -1029,6 +1044,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Ledian, .iconSprite = gMonIcon_Ledian, .iconPalIndex = 0, + SHADOW(0, 15, SHADOW_SIZE_S) FOOTPRINT(Ledian) OVERWORLD( sPicTable_Ledian, @@ -1091,6 +1107,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Spinarak, .iconSprite = gMonIcon_Spinarak, .iconPalIndex = 1, + SHADOW(0, -8, SHADOW_SIZE_M) FOOTPRINT(Spinarak) OVERWORLD( sPicTable_Spinarak, @@ -1159,6 +1176,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Ariados, .iconSprite = gMonIcon_Ariados, .iconPalIndex = 0, + SHADOW(1, 3, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Ariados) OVERWORLD( sPicTable_Ariados, @@ -1222,6 +1240,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Chinchou, .iconSprite = gMonIcon_Chinchou, .iconPalIndex = 2, + SHADOW(-1, 1, SHADOW_SIZE_M) FOOTPRINT(Chinchou) OVERWORLD( sPicTable_Chinchou, @@ -1285,6 +1304,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Lanturn, .iconSprite = gMonIcon_Lanturn, .iconPalIndex = 0, + SHADOW(5, 4, SHADOW_SIZE_M) FOOTPRINT(Lanturn) OVERWORLD( sPicTable_Lanturn, @@ -1349,6 +1369,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Togepi, .iconSprite = gMonIcon_Togepi, .iconPalIndex = 0, + SHADOW(-1, -3, SHADOW_SIZE_S) FOOTPRINT(Togepi) OVERWORLD( sPicTable_Togepi, @@ -1411,6 +1432,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Togetic, .iconSprite = gMonIcon_Togetic, .iconPalIndex = 0, + SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Togetic) OVERWORLD( sPicTable_Togetic, @@ -1482,6 +1504,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Togekiss, .iconSprite = gMonIcon_Togekiss, .iconPalIndex = 2, + SHADOW(4, 15, SHADOW_SIZE_M) FOOTPRINT(Togekiss) OVERWORLD( sPicTable_Togekiss, @@ -1546,6 +1569,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Natu, .iconSprite = gMonIcon_Natu, .iconPalIndex = 1, + SHADOW(-2, -4, SHADOW_SIZE_S) FOOTPRINT(Natu) OVERWORLD( sPicTable_Natu, @@ -1611,6 +1635,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Xatu, .iconSprite = gMonIcon_Xatu, .iconPalIndex = 1, + SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Xatu) OVERWORLD( sPicTable_Xatu, @@ -1674,6 +1699,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Mareep, .iconSprite = gMonIcon_Mareep, .iconPalIndex = 0, + SHADOW(1, 1, SHADOW_SIZE_M) FOOTPRINT(Mareep) OVERWORLD( sPicTable_Mareep, @@ -1736,6 +1762,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Flaaffy, .iconSprite = gMonIcon_Flaaffy, .iconPalIndex = 0, + SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Flaaffy) OVERWORLD( sPicTable_Flaaffy, @@ -1808,6 +1835,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Ampharos, .iconSprite = gMonIcon_Ampharos, .iconPalIndex = 0, + SHADOW(3, 11, SHADOW_SIZE_M) FOOTPRINT(Ampharos) OVERWORLD( sPicTable_Ampharos, @@ -1871,6 +1899,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_AmpharosMega, .iconSprite = gMonIcon_AmpharosMega, .iconPalIndex = 0, + SHADOW(-7, 13, SHADOW_SIZE_M) FOOTPRINT(Ampharos) .isMegaEvolution = TRUE, .levelUpLearnset = sAmpharosLevelUpLearnset, @@ -1934,6 +1963,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Azurill, .iconSprite = gMonIcon_Azurill, .iconPalIndex = 0, + SHADOW(-4, 3, SHADOW_SIZE_S) FOOTPRINT(Azurill) OVERWORLD( sPicTable_Azurill, @@ -2001,6 +2031,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Marill, .iconSprite = gMonIcon_Marill, .iconPalIndex = 0, + SHADOW(-2, 0, SHADOW_SIZE_S) FOOTPRINT(Marill) OVERWORLD( sPicTable_Marill, @@ -2075,6 +2106,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Azumarill, .iconSprite = gMonIcon_Azumarill, .iconPalIndex = 0, + SHADOW(-4, 8, SHADOW_SIZE_S) FOOTPRINT(Azumarill) OVERWORLD( sPicTable_Azumarill, @@ -2138,6 +2170,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Bonsly, .iconSprite = gMonIcon_Bonsly, .iconPalIndex = 1, + SHADOW(-3, 4, SHADOW_SIZE_S) FOOTPRINT(Bonsly) OVERWORLD( sPicTable_Bonsly, @@ -2205,6 +2238,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Sudowoodo, .iconSprite = gMonIcon_Sudowoodo, .iconPalIndex = 1, + SHADOW(-2, 7, SHADOW_SIZE_S) FOOTPRINT(Sudowoodo) OVERWORLD( sPicTable_Sudowoodo, @@ -2273,6 +2307,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Hoppip, .iconSprite = gMonIcon_Hoppip, .iconPalIndex = 1, + SHADOW(-5, 12, SHADOW_SIZE_S) FOOTPRINT(Hoppip) OVERWORLD( sPicTable_Hoppip, @@ -2340,6 +2375,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Skiploom, .iconSprite = gMonIcon_Skiploom, .iconPalIndex = 1, + SHADOW(-1, 10, SHADOW_SIZE_S) FOOTPRINT(Skiploom) OVERWORLD( sPicTable_Skiploom, @@ -2414,6 +2450,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Jumpluff, .iconSprite = gMonIcon_Jumpluff, .iconPalIndex = 2, + SHADOW(-2, 11, SHADOW_SIZE_S) FOOTPRINT(Jumpluff) OVERWORLD( sPicTable_Jumpluff, @@ -2480,6 +2517,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Aipom, .iconSprite = gMonIcon_Aipom, .iconPalIndex = 2, + SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Aipom) OVERWORLD( sPicTable_Aipom, @@ -2547,6 +2585,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Ambipom, .iconSprite = gMonIcon_Ambipom, .iconPalIndex = 2, + SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Ambipom) OVERWORLD( sPicTable_Ambipom, @@ -2614,6 +2653,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Sunkern, .iconSprite = gMonIcon_Sunkern, .iconPalIndex = 1, + SHADOW(-1, -4, SHADOW_SIZE_S) FOOTPRINT(Sunkern) OVERWORLD( sPicTable_Sunkern, @@ -2680,6 +2720,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Sunflora, .iconSprite = gMonIcon_Sunflora, .iconPalIndex = 1, + SHADOW(-1, 6, SHADOW_SIZE_S) FOOTPRINT(Sunflora) OVERWORLD( sPicTable_Sunflora, @@ -2744,6 +2785,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Yanma, .iconSprite = gMonIcon_Yanma, .iconPalIndex = 1, + SHADOW(-2, 10, SHADOW_SIZE_S) FOOTPRINT(Yanma) OVERWORLD( sPicTable_Yanma, @@ -2809,6 +2851,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Yanmega, .iconSprite = gMonIcon_Yanmega, .iconPalIndex = 1, + SHADOW(-1, 12, SHADOW_SIZE_M) FOOTPRINT(Yanmega) OVERWORLD( sPicTable_Yanmega, @@ -2876,6 +2919,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Wooper, .iconSprite = gMonIcon_Wooper, .iconPalIndex = 0, + SHADOW(1, -2, SHADOW_SIZE_S) FOOTPRINT(Wooper) OVERWORLD( sPicTable_Wooper, @@ -2943,6 +2987,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Quagsire, .iconSprite = gMonIcon_Quagsire, .iconPalIndex = 0, + SHADOW(0, 8, SHADOW_SIZE_M) FOOTPRINT(Quagsire) OVERWORLD( sPicTable_Quagsire, @@ -3004,6 +3049,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_WooperPaldean, .iconSprite = gMonIcon_WooperPaldean, .iconPalIndex = 2, + SHADOW(-1, -2, SHADOW_SIZE_S) FOOTPRINT(Wooper) OVERWORLD( sPicTable_WooperPaldean, @@ -3068,6 +3114,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Clodsire, .iconSprite = gMonIcon_Clodsire, .iconPalIndex = 0, + SHADOW(-2, 3, SHADOW_SIZE_L) FOOTPRINT(Clodsire) OVERWORLD( sPicTable_Clodsire, @@ -3140,6 +3187,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Murkrow, .iconSprite = gMonIcon_Murkrow, .iconPalIndex = 2, + SHADOW(-2, 8, SHADOW_SIZE_S) FOOTPRINT(Murkrow) OVERWORLD( sPicTable_Murkrow, @@ -3203,6 +3251,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Honchkrow, .iconSprite = gMonIcon_Honchkrow, .iconPalIndex = 2, + SHADOW(5, 7, SHADOW_SIZE_M) FOOTPRINT(Honchkrow) OVERWORLD( sPicTable_Honchkrow, @@ -3268,6 +3317,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Misdreavus, .iconSprite = gMonIcon_Misdreavus, .iconPalIndex = 0, + SHADOW(0, 10, SHADOW_SIZE_S) FOOTPRINT(Misdreavus) OVERWORLD( sPicTable_Misdreavus, @@ -3333,6 +3383,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Mismagius, .iconSprite = gMonIcon_Mismagius, .iconPalIndex = 2, + SHADOW(1, 11, SHADOW_SIZE_M) FOOTPRINT(Mismagius) OVERWORLD( sPicTable_Mismagius, @@ -3395,8 +3446,9 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Unown, \ .iconSprite = gMonIcon_Unown ##letter, \ .iconPalIndex = 0, \ + SHADOW(0, 3, SHADOW_SIZE_S) \ FOOTPRINT(Unown) \ - OVERWORLD( \ + OVERWORLD( \ sPicTable_Unown ##letter, \ SIZE_32x32, \ SHADOW_SIZE_M, \ @@ -3490,6 +3542,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Wynaut, .iconSprite = gMonIcon_Wynaut, .iconPalIndex = 0, + SHADOW(-1, 2, SHADOW_SIZE_S) FOOTPRINT(Wynaut) OVERWORLD( sPicTable_Wynaut, @@ -3561,6 +3614,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .iconSpriteFemale = gMonIcon_WobbuffetF, .iconPalIndexFemale = 0, #endif + SHADOW(-3, 8, SHADOW_SIZE_M) FOOTPRINT(Wobbuffet) OVERWORLD( sPicTable_Wobbuffet, @@ -3628,6 +3682,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Girafarig, .iconSprite = gMonIcon_Girafarig, .iconPalIndex = 1, + SHADOW(2, 13, SHADOW_SIZE_M) FOOTPRINT(Girafarig) OVERWORLD( sPicTable_Girafarig, @@ -3691,6 +3746,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Farigiraf, .iconSprite = gMonIcon_Farigiraf, .iconPalIndex = 0, + SHADOW(11, 13, SHADOW_SIZE_L) FOOTPRINT(Farigiraf) OVERWORLD( sPicTable_Farigiraf, @@ -3754,6 +3810,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Pineco, .iconSprite = gMonIcon_Pineco, .iconPalIndex = 0, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Pineco) OVERWORLD( sPicTable_Pineco, @@ -3816,6 +3873,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Forretress, .iconSprite = gMonIcon_Forretress, .iconPalIndex = 2, + SHADOW(0, 6, SHADOW_SIZE_L) FOOTPRINT(Forretress) OVERWORLD( sPicTable_Forretress, @@ -3885,6 +3943,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Dunsparce, .iconSprite = gMonIcon_Dunsparce, .iconPalIndex = 0, + SHADOW(0, -4, SHADOW_SIZE_M) FOOTPRINT(Dunsparce) OVERWORLD( sPicTable_Dunsparce, @@ -3949,6 +4008,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Dudunsparce, .iconSprite = gMonIcon_Dudunsparce, .iconPalIndex = 0, + SHADOW(0, 5, SHADOW_SIZE_L) FOOTPRINT(Dudunsparce) OVERWORLD( sPicTable_DudunsparceTwoSegment, @@ -4010,6 +4070,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Dudunsparce, .iconSprite = gMonIcon_Dudunsparce, .iconPalIndex = 0, + SHADOW(4, 4, SHADOW_SIZE_L) FOOTPRINT(Dudunsparce) OVERWORLD( sPicTable_DudunsparceThreeSegment, @@ -4079,6 +4140,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Gligar, .iconSprite = gMonIcon_Gligar, .iconPalIndex = 0, + SHADOW(0, 15, SHADOW_SIZE_S) FOOTPRINT(Gligar) OVERWORLD( sPicTable_Gligar, @@ -4144,6 +4206,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Gliscor, .iconSprite = gMonIcon_Gliscor, .iconPalIndex = 2, + SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Gliscor) OVERWORLD( sPicTable_Gliscor, @@ -4211,6 +4274,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Snubbull, .iconSprite = gMonIcon_Snubbull, .iconPalIndex = 0, + SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Snubbull) OVERWORLD( sPicTable_Snubbull, @@ -4281,6 +4345,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Granbull, .iconSprite = gMonIcon_Granbull, .iconPalIndex = 2, + SHADOW(3, 10, SHADOW_SIZE_L) FOOTPRINT(Granbull) OVERWORLD( sPicTable_Granbull, @@ -4354,6 +4419,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Qwilfish, .iconSprite = gMonIcon_Qwilfish, .iconPalIndex = 0, + SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Qwilfish) OVERWORLD( sPicTable_Qwilfish, @@ -4419,6 +4485,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_QwilfishHisuian, .iconSprite = gMonIcon_QwilfishHisuian, .iconPalIndex = 1, + SHADOW(-5, 4, SHADOW_SIZE_S) FOOTPRINT(Qwilfish) OVERWORLD( sPicTable_QwilfishHisuian, @@ -4482,6 +4549,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Overqwil, .iconSprite = gMonIcon_Overqwil, .iconPalIndex = 2, + SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(Overqwil) OVERWORLD( sPicTable_Overqwil, @@ -4552,6 +4620,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Shuckle, .iconSprite = gMonIcon_Shuckle, .iconPalIndex = 1, + SHADOW(1, 3, SHADOW_SIZE_M) FOOTPRINT(Shuckle) OVERWORLD( sPicTable_Shuckle, @@ -4619,6 +4688,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Heracross, .iconSprite = gMonIcon_Heracross, .iconPalIndex = 0, + SHADOW(-1, 10, SHADOW_SIZE_M) FOOTPRINT(Heracross) OVERWORLD( sPicTable_Heracross, @@ -4683,6 +4753,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_HeracrossMega, .iconSprite = gMonIcon_HeracrossMega, .iconPalIndex = 0, + SHADOW(2, 13, SHADOW_SIZE_M) FOOTPRINT(Heracross) .isMegaEvolution = TRUE, .levelUpLearnset = sHeracrossLevelUpLearnset, @@ -4748,6 +4819,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Sneasel, .iconSprite = gMonIcon_Sneasel, .iconPalIndex = 0, + SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Sneasel) OVERWORLD( sPicTable_Sneasel, @@ -4819,6 +4891,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Weavile, .iconSprite = gMonIcon_Weavile, .iconPalIndex = 0, + SHADOW(-4, 10, SHADOW_SIZE_M) FOOTPRINT(Weavile) OVERWORLD( sPicTable_Weavile, @@ -4887,6 +4960,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_SneaselHisuian, .iconSprite = gMonIcon_SneaselHisuian, .iconPalIndex = 0, + SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Sneasel) OVERWORLD( sPicTable_SneaselHisuian, @@ -4951,6 +5025,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Sneasler, .iconSprite = gMonIcon_Sneasler, .iconPalIndex = 2, + SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(Sneasler) OVERWORLD( sPicTable_Sneasler, @@ -5020,6 +5095,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Teddiursa, .iconSprite = gMonIcon_Teddiursa, .iconPalIndex = 0, + SHADOW(-2, 1, SHADOW_SIZE_S) FOOTPRINT(Teddiursa) OVERWORLD( sPicTable_Teddiursa, @@ -5090,6 +5166,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Ursaring, .iconSprite = gMonIcon_Ursaring, .iconPalIndex = 2, + SHADOW(1, 14, SHADOW_SIZE_L) FOOTPRINT(Ursaring) OVERWORLD( sPicTable_Ursaring, @@ -5152,6 +5229,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Ursaluna, .iconSprite = gMonIcon_Ursaluna, .iconPalIndex = 2, + SHADOW(1, 4, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Ursaluna) OVERWORLD( sPicTable_Ursaluna, @@ -5213,6 +5291,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_UrsalunaBloodmoon, .iconSprite = gMonIcon_UrsalunaBloodmoon, .iconPalIndex = 2, + SHADOW(6, 11, SHADOW_SIZE_L) FOOTPRINT(Ursaluna) .levelUpLearnset = sUrsalunaBloodmoonLevelUpLearnset, .teachableLearnset = sUrsalunaBloodmoonTeachableLearnset, @@ -5269,6 +5348,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Slugma, .iconSprite = gMonIcon_Slugma, .iconPalIndex = 0, + SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Slugma) OVERWORLD( sPicTable_Slugma, @@ -5338,6 +5418,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Magcargo, .iconSprite = gMonIcon_Magcargo, .iconPalIndex = 0, + SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Magcargo) OVERWORLD( sPicTable_Magcargo, @@ -5404,6 +5485,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Swinub, .iconSprite = gMonIcon_Swinub, .iconPalIndex = 2, + SHADOW(-3, -6, SHADOW_SIZE_S) FOOTPRINT(Swinub) OVERWORLD( sPicTable_Swinub, @@ -5475,6 +5557,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Piloswine, .iconSprite = gMonIcon_Piloswine, .iconPalIndex = 2, + SHADOW(-1, 3, SHADOW_SIZE_M) FOOTPRINT(Piloswine) OVERWORLD( sPicTable_Piloswine, @@ -5545,6 +5628,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Mamoswine, .iconSprite = gMonIcon_Mamoswine, .iconPalIndex = 2, + SHADOW(7, 7, SHADOW_SIZE_L) FOOTPRINT(Mamoswine) OVERWORLD( sPicTable_Mamoswine, @@ -5620,6 +5704,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Corsola, .iconSprite = gMonIcon_Corsola, .iconPalIndex = 0, + SHADOW(0, 1, SHADOW_SIZE_M) FOOTPRINT(Corsola) OVERWORLD( sPicTable_Corsola, @@ -5683,6 +5768,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_CorsolaGalarian, .iconSprite = gMonIcon_CorsolaGalarian, .iconPalIndex = 0, + SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Corsola) OVERWORLD( sPicTable_CorsolaGalarian, @@ -5747,6 +5833,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Cursola, .iconSprite = gMonIcon_Cursola, .iconPalIndex = 0, + SHADOW(-3, 13, SHADOW_SIZE_S) FOOTPRINT(Cursola) OVERWORLD( sPicTable_Cursola, @@ -5814,6 +5901,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Remoraid, .iconSprite = gMonIcon_Remoraid, .iconPalIndex = 0, + SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Remoraid) OVERWORLD( sPicTable_Remoraid, @@ -5886,6 +5974,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Octillery, .iconSprite = gMonIcon_Octillery, .iconPalIndex = 0, + SHADOW(1, 4, SHADOW_SIZE_M) FOOTPRINT(Octillery) OVERWORLD( sPicTable_Octillery, @@ -5948,6 +6037,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Delibird, .iconSprite = gMonIcon_Delibird, .iconPalIndex = 1, + SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Delibird) OVERWORLD( sPicTable_Delibird, @@ -6012,6 +6102,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Mantyke, .iconSprite = gMonIcon_Mantyke, .iconPalIndex = 0, + SHADOW(-1, 3, SHADOW_SIZE_S) FOOTPRINT(Mantyke) OVERWORLD( sPicTable_Mantyke, @@ -6082,6 +6173,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Mantine, .iconSprite = gMonIcon_Mantine, .iconPalIndex = 2, + SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Mantine) OVERWORLD( sPicTable_Mantine, @@ -6146,6 +6238,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Skarmory, .iconSprite = gMonIcon_Skarmory, .iconPalIndex = 0, + SHADOW(2, 9, SHADOW_SIZE_M) FOOTPRINT(Skarmory) OVERWORLD( sPicTable_Skarmory, @@ -6209,6 +6302,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Houndour, .iconSprite = gMonIcon_Houndour, .iconPalIndex = 0, + SHADOW(0, 4, SHADOW_SIZE_M) FOOTPRINT(Houndour) OVERWORLD( sPicTable_Houndour, @@ -6275,6 +6369,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Houndoom, .iconSprite = gMonIcon_Houndoom, .iconPalIndex = 0, + SHADOW(-5, 13, SHADOW_SIZE_L) FOOTPRINT(Houndoom) OVERWORLD( sPicTable_Houndoom, @@ -6337,6 +6432,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_HoundoomMega, .iconSprite = gMonIcon_HoundoomMega, .iconPalIndex = 0, + SHADOW(-5, 13, SHADOW_SIZE_L) FOOTPRINT(Houndoom) .isMegaEvolution = TRUE, .levelUpLearnset = sHoundoomLevelUpLearnset, @@ -6395,6 +6491,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Phanpy, .iconSprite = gMonIcon_Phanpy, .iconPalIndex = 0, + SHADOW(3, -2, SHADOW_SIZE_M) FOOTPRINT(Phanpy) OVERWORLD( sPicTable_Phanpy, @@ -6462,6 +6559,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Donphan, .iconSprite = gMonIcon_Donphan, .iconPalIndex = 0, + SHADOW(7, 2, SHADOW_SIZE_L) FOOTPRINT(Donphan) OVERWORLD( sPicTable_Donphan, @@ -6528,6 +6626,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Stantler, .iconSprite = gMonIcon_Stantler, .iconPalIndex = 2, + SHADOW(3, 13, SHADOW_SIZE_M) FOOTPRINT(Stantler) OVERWORLD( sPicTable_Stantler, @@ -6592,6 +6691,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Wyrdeer, .iconSprite = gMonIcon_Wyrdeer, .iconPalIndex = 2, + SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Wyrdeer) OVERWORLD( sPicTable_Wyrdeer, @@ -6659,6 +6759,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Smeargle, .iconSprite = gMonIcon_Smeargle, .iconPalIndex = 1, + SHADOW(6, 7, SHADOW_SIZE_S) FOOTPRINT(Smeargle) OVERWORLD( sPicTable_Smeargle, @@ -6728,6 +6829,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Miltank, .iconSprite = gMonIcon_Miltank, .iconPalIndex = 0, + SHADOW(-3, 4, SHADOW_SIZE_M) FOOTPRINT(Miltank) OVERWORLD( sPicTable_Miltank, @@ -6802,6 +6904,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Raikou, .iconSprite = gMonIcon_Raikou, .iconPalIndex = 2, + SHADOW(-4, 7, SHADOW_SIZE_L) FOOTPRINT(Raikou) OVERWORLD( sPicTable_Raikou, @@ -6877,6 +6980,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Entei, .iconSprite = gMonIcon_Entei, .iconPalIndex = 2, + SHADOW(-1, 8, SHADOW_SIZE_L) FOOTPRINT(Entei) OVERWORLD( sPicTable_Entei, @@ -6952,6 +7056,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Suicune, .iconSprite = gMonIcon_Suicune, .iconPalIndex = 2, + SHADOW(3, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Suicune) OVERWORLD( sPicTable_Suicune, @@ -7016,6 +7121,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Larvitar, .iconSprite = gMonIcon_Larvitar, .iconPalIndex = 1, + SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Larvitar) OVERWORLD( sPicTable_Larvitar, @@ -7078,6 +7184,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Pupitar, .iconSprite = gMonIcon_Pupitar, .iconPalIndex = 2, + SHADOW(3, 3, SHADOW_SIZE_S) FOOTPRINT(Pupitar) OVERWORLD( sPicTable_Pupitar, @@ -7146,6 +7253,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Tyranitar, .iconSprite = gMonIcon_Tyranitar, .iconPalIndex = 4, + SHADOW(-1, 11, SHADOW_SIZE_L) FOOTPRINT(Tyranitar) OVERWORLD( sPicTable_Tyranitar, @@ -7209,6 +7317,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_TyranitarMega, .iconSprite = gMonIcon_TyranitarMega, .iconPalIndex = 1, + SHADOW(-1, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Tyranitar) .isMegaEvolution = TRUE, .levelUpLearnset = sTyranitarLevelUpLearnset, @@ -7275,6 +7384,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Lugia, .iconSprite = gMonIcon_Lugia, .iconPalIndex = 0, + SHADOW(2, 17, SHADOW_SIZE_L) FOOTPRINT(Lugia) OVERWORLD( sPicTable_Lugia, @@ -7349,6 +7459,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_HoOh, .iconSprite = gMonIcon_HoOh, .iconPalIndex = 1, + SHADOW(1, 17, SHADOW_SIZE_L) FOOTPRINT(HoOh) OVERWORLD( sPicTable_HoOh, @@ -7423,6 +7534,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = .shinyPalette = gMonShinyPalette_Celebi, .iconSprite = gMonIcon_Celebi, .iconPalIndex = 1, + SHADOW(0, 14, SHADOW_SIZE_S) FOOTPRINT(Celebi) OVERWORLD( sPicTable_Celebi, diff --git a/src/data/pokemon/species_info/gen_3_families.h b/src/data/pokemon/species_info/gen_3_families.h index 667dc54d0e..e9d566096a 100644 --- a/src/data/pokemon/species_info/gen_3_families.h +++ b/src/data/pokemon/species_info/gen_3_families.h @@ -51,6 +51,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Treecko, .iconSprite = gMonIcon_Treecko, .iconPalIndex = 1, + SHADOW(-3, 4, SHADOW_SIZE_S) FOOTPRINT(Treecko) OVERWORLD( sPicTable_Treecko, @@ -113,6 +114,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Grovyle, .iconSprite = gMonIcon_Grovyle, .iconPalIndex = 1, + SHADOW(1, 7, SHADOW_SIZE_M) FOOTPRINT(Grovyle) OVERWORLD( sPicTable_Grovyle, @@ -180,6 +182,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Sceptile, .iconSprite = gMonIcon_Sceptile, .iconPalIndex = 1, + SHADOW(2, 11, SHADOW_SIZE_L) FOOTPRINT(Sceptile) OVERWORLD( sPicTable_Sceptile, @@ -243,6 +246,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_SceptileMega, .iconSprite = gMonIcon_SceptileMega, .iconPalIndex = 1, + SHADOW(3, 11, SHADOW_SIZE_L) FOOTPRINT(Sceptile) .isMegaEvolution = TRUE, .levelUpLearnset = sSceptileLevelUpLearnset, @@ -303,6 +307,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Torchic, .iconSprite = gMonIcon_Torchic, .iconPalIndex = 0, + SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Torchic) OVERWORLD( sPicTable_Torchic, @@ -370,6 +375,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Combusken, .iconSprite = gMonIcon_Combusken, .iconPalIndex = 0, + SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Combusken) OVERWORLD( sPicTable_Combusken, @@ -441,6 +447,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Blaziken, .iconSprite = gMonIcon_Blaziken, .iconPalIndex = 0, + SHADOW(4, 8, SHADOW_SIZE_M) FOOTPRINT(Blaziken) OVERWORLD( sPicTable_Blaziken, @@ -504,6 +511,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_BlazikenMega, .iconSprite = gMonIcon_BlazikenMega, .iconPalIndex = 0, + SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(Blaziken) .isMegaEvolution = TRUE, .levelUpLearnset = sBlazikenLevelUpLearnset, @@ -562,6 +570,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Mudkip, .iconSprite = gMonIcon_Mudkip, .iconPalIndex = 0, + SHADOW(1, 1, SHADOW_SIZE_S) FOOTPRINT(Mudkip) OVERWORLD( sPicTable_Mudkip, @@ -624,6 +633,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Marshtomp, .iconSprite = gMonIcon_Marshtomp, .iconPalIndex = 0, + SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(Marshtomp) OVERWORLD( sPicTable_Marshtomp, @@ -691,6 +701,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Swampert, .iconSprite = gMonIcon_Swampert, .iconPalIndex = 0, + SHADOW(5, 7, SHADOW_SIZE_L) FOOTPRINT(Swampert) OVERWORLD( sPicTable_Swampert, @@ -754,6 +765,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_SwampertMega, .iconSprite = gMonIcon_SwampertMega, .iconPalIndex = 0, + SHADOW(6, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Swampert) .isMegaEvolution = TRUE, .levelUpLearnset = sSwampertLevelUpLearnset, @@ -822,6 +834,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Poochyena, .iconSprite = gMonIcon_Poochyena, .iconPalIndex = 2, + SHADOW(0, 2, SHADOW_SIZE_M) FOOTPRINT(Poochyena) OVERWORLD( sPicTable_Poochyena, @@ -888,6 +901,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Mightyena, .iconSprite = gMonIcon_Mightyena, .iconPalIndex = 2, + SHADOW(-2, 6, SHADOW_SIZE_L) FOOTPRINT(Mightyena) OVERWORLD( sPicTable_Mightyena, @@ -964,6 +978,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Zigzagoon, .iconSprite = gMonIcon_Zigzagoon, .iconPalIndex = 2, + SHADOW(-4, 0, SHADOW_SIZE_M) FOOTPRINT(Zigzagoon) OVERWORLD( sPicTable_Zigzagoon, @@ -1033,6 +1048,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Linoone, .iconSprite = gMonIcon_Linoone, .iconPalIndex = 2, + SHADOW(-6, 0, SHADOW_SIZE_L) FOOTPRINT(Linoone) OVERWORLD( sPicTable_Linoone, @@ -1095,6 +1111,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_ZigzagoonGalarian, .iconSprite = gMonIcon_ZigzagoonGalarian, .iconPalIndex = 0, + SHADOW(-5, 0, SHADOW_SIZE_M) FOOTPRINT(Zigzagoon) OVERWORLD( sPicTable_ZigzagoonGalarian, @@ -1159,6 +1176,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_LinooneGalarian, .iconSprite = gMonIcon_LinooneGalarian, .iconPalIndex = 0, + SHADOW(-4, 0, SHADOW_SIZE_L) FOOTPRINT(Linoone) OVERWORLD( sPicTable_LinooneGalarian, @@ -1222,6 +1240,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Obstagoon, .iconSprite = gMonIcon_Obstagoon, .iconPalIndex = 0, + SHADOW(2, 13, SHADOW_SIZE_M) FOOTPRINT(Obstagoon) OVERWORLD( sPicTable_Obstagoon, @@ -1293,6 +1312,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Wurmple, .iconSprite = gMonIcon_Wurmple, .iconPalIndex = 0, + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Wurmple) OVERWORLD( sPicTable_Wurmple, @@ -1356,6 +1376,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Silcoon, .iconSprite = gMonIcon_Silcoon, .iconPalIndex = 2, + SHADOW(0, -4, SHADOW_SIZE_M) FOOTPRINT(Silcoon) OVERWORLD( sPicTable_Silcoon, @@ -1432,6 +1453,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Beautifly, .iconSprite = gMonIcon_Beautifly, .iconPalIndex = 0, + SHADOW(-5, 12, SHADOW_SIZE_S) FOOTPRINT(Beautifly) OVERWORLD( sPicTable_Beautifly, @@ -1498,6 +1520,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Cascoon, .iconSprite = gMonIcon_Cascoon, .iconPalIndex = 2, + SHADOW(0, -4, SHADOW_SIZE_M) FOOTPRINT(Cascoon) OVERWORLD( sPicTable_Cascoon, @@ -1576,6 +1599,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Dustox, .iconSprite = gMonIcon_Dustox, .iconPalIndex = 5, + SHADOW(-2, 11, SHADOW_SIZE_S) FOOTPRINT(Dustox) OVERWORLD( sPicTable_Dustox, @@ -1639,6 +1663,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Lotad, .iconSprite = gMonIcon_Lotad, .iconPalIndex = 4, + SHADOW(2, -3, SHADOW_SIZE_S) FOOTPRINT(Lotad) OVERWORLD( sPicTable_Lotad, @@ -1702,6 +1727,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Lombre, .iconSprite = gMonIcon_Lombre, .iconPalIndex = 1, + SHADOW(4, 2, SHADOW_SIZE_S) FOOTPRINT(Lombre) OVERWORLD( sPicTable_Lombre, @@ -1774,6 +1800,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Ludicolo, .iconSprite = gMonIcon_Ludicolo, .iconPalIndex = 1, + SHADOW(-3, 14, SHADOW_SIZE_M) FOOTPRINT(Ludicolo) OVERWORLD( sPicTable_Ludicolo, @@ -1837,6 +1864,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Seedot, .iconSprite = gMonIcon_Seedot, .iconPalIndex = 2, + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Seedot) OVERWORLD( sPicTable_Seedot, @@ -1904,6 +1932,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Nuzleaf, .iconSprite = gMonIcon_Nuzleaf, .iconPalIndex = 1, + SHADOW(-3, 5, SHADOW_SIZE_S) FOOTPRINT(Nuzleaf) OVERWORLD( sPicTable_Nuzleaf, @@ -1980,6 +2009,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Shiftry, .iconSprite = gMonIcon_Shiftry, .iconPalIndex = 5, + SHADOW(-5, 5, SHADOW_SIZE_M) FOOTPRINT(Shiftry) OVERWORLD( sPicTable_Shiftry, @@ -2042,6 +2072,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Taillow, .iconSprite = gMonIcon_Taillow, .iconPalIndex = 2, + SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Taillow) OVERWORLD( sPicTable_Taillow, @@ -2110,6 +2141,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Swellow, .iconSprite = gMonIcon_Swellow, .iconPalIndex = 2, + SHADOW(-7, 7, SHADOW_SIZE_M) FOOTPRINT(Swellow) OVERWORLD( sPicTable_Swellow, @@ -2178,6 +2210,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Wingull, .iconSprite = gMonIcon_Wingull, .iconPalIndex = 0, + SHADOW(-2, 15, SHADOW_SIZE_S) FOOTPRINT(Wingull) OVERWORLD( sPicTable_Wingull, @@ -2252,6 +2285,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Pelipper, .iconSprite = gMonIcon_Pelipper, .iconPalIndex = 2, + SHADOW(-1, 17, SHADOW_SIZE_M) FOOTPRINT(Pelipper) OVERWORLD( sPicTable_Pelipper, @@ -2322,6 +2356,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Ralts, .iconSprite = gMonIcon_Ralts, .iconPalIndex = 1, + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Ralts) OVERWORLD( sPicTable_Ralts, @@ -2384,6 +2419,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Kirlia, .iconSprite = gMonIcon_Kirlia, .iconPalIndex = 1, + SHADOW(-2, 7, SHADOW_SIZE_S) FOOTPRINT(Kirlia) OVERWORLD( sPicTable_Kirlia, @@ -2452,6 +2488,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Gardevoir, .iconSprite = gMonIcon_Gardevoir, .iconPalIndex = 1, + SHADOW(0, 14, SHADOW_SIZE_L) FOOTPRINT(Gardevoir) OVERWORLD( sPicTable_Gardevoir, @@ -2515,6 +2552,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_GardevoirMega, .iconSprite = gMonIcon_GardevoirMega, .iconPalIndex = 1, + SHADOW(1, 14, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Gardevoir) .isMegaEvolution = TRUE, .levelUpLearnset = sGardevoirLevelUpLearnset, @@ -2582,6 +2620,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Gallade, .iconSprite = gMonIcon_Gallade, .iconPalIndex = 1, + SHADOW(4, 13, SHADOW_SIZE_L) FOOTPRINT(Gallade) OVERWORLD( sPicTable_Gallade, @@ -2645,6 +2684,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_GalladeMega, .iconSprite = gMonIcon_GalladeMega, .iconPalIndex = 1, + SHADOW(-2, 13, SHADOW_SIZE_L) FOOTPRINT(Gallade) .isMegaEvolution = TRUE, .levelUpLearnset = sGalladeLevelUpLearnset, @@ -2705,6 +2745,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Surskit, .iconSprite = gMonIcon_Surskit, .iconPalIndex = 0, + SHADOW(-1, -3, SHADOW_SIZE_S) FOOTPRINT(Surskit) OVERWORLD( sPicTable_Surskit, @@ -2776,6 +2817,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Masquerain, .iconSprite = gMonIcon_Masquerain, .iconPalIndex = 0, + SHADOW(-4, 17, SHADOW_SIZE_M) FOOTPRINT(Masquerain) OVERWORLD( sPicTable_Masquerain, @@ -2844,6 +2886,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Shroomish, .iconSprite = gMonIcon_Shroomish, .iconPalIndex = 1, + SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Shroomish) OVERWORLD( sPicTable_Shroomish, @@ -2912,6 +2955,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Breloom, .iconSprite = gMonIcon_Breloom, .iconPalIndex = 1, + SHADOW(-4, 9, SHADOW_SIZE_M) FOOTPRINT(Breloom) OVERWORLD( sPicTable_Breloom, @@ -2974,6 +3018,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Slakoth, .iconSprite = gMonIcon_Slakoth, .iconPalIndex = 2, + SHADOW(1, -4, SHADOW_SIZE_M) FOOTPRINT(Slakoth) OVERWORLD( sPicTable_Slakoth, @@ -3036,6 +3081,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Vigoroth, .iconSprite = gMonIcon_Vigoroth, .iconPalIndex = 2, + SHADOW(4, 6, SHADOW_SIZE_M) FOOTPRINT(Vigoroth) OVERWORLD( sPicTable_Vigoroth, @@ -3103,6 +3149,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Slaking, .iconSprite = gMonIcon_Slaking, .iconPalIndex = 2, + SHADOW(0, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Slaking) OVERWORLD( sPicTable_Slaking, @@ -3166,6 +3213,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Nincada, .iconSprite = gMonIcon_Nincada, .iconPalIndex = 1, + SHADOW(2, -3, SHADOW_SIZE_M) FOOTPRINT(Nincada) OVERWORLD( sPicTable_Nincada, @@ -3230,6 +3278,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Ninjask, .iconSprite = gMonIcon_Ninjask, .iconPalIndex = 1, + SHADOW(-2, 10, SHADOW_SIZE_S) FOOTPRINT(Ninjask) OVERWORLD( sPicTable_Ninjask, @@ -3291,6 +3340,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Shedinja, .iconSprite = gMonIcon_Shedinja, .iconPalIndex = 1, + SHADOW(-2, 9, SHADOW_SIZE_S) FOOTPRINT(Shedinja) OVERWORLD( sPicTable_Shedinja, @@ -3353,6 +3403,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Whismur, .iconSprite = gMonIcon_Whismur, .iconPalIndex = 1, + SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(Whismur) OVERWORLD( sPicTable_Whismur, @@ -3415,6 +3466,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Loudred, .iconSprite = gMonIcon_Loudred, .iconPalIndex = 2, + SHADOW(1, 9, SHADOW_SIZE_M) FOOTPRINT(Loudred) OVERWORLD( sPicTable_Loudred, @@ -3484,6 +3536,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Exploud, .iconSprite = gMonIcon_Exploud, .iconPalIndex = 2, + SHADOW(0, 12, SHADOW_SIZE_L) FOOTPRINT(Exploud) OVERWORLD( sPicTable_Exploud, @@ -3547,6 +3600,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Makuhita, .iconSprite = gMonIcon_Makuhita, .iconPalIndex = 1, + SHADOW(1, 5, SHADOW_SIZE_M) FOOTPRINT(Makuhita) OVERWORLD( sPicTable_Makuhita, @@ -3610,6 +3664,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Hariyama, .iconSprite = gMonIcon_Hariyama, .iconPalIndex = 2, + SHADOW(-3, 9, SHADOW_SIZE_L) FOOTPRINT(Hariyama) OVERWORLD( sPicTable_Hariyama, @@ -3673,6 +3728,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Nosepass, .iconSprite = gMonIcon_Nosepass, .iconPalIndex = 0, + SHADOW(-1, 3, SHADOW_SIZE_M) FOOTPRINT(Nosepass) OVERWORLD( sPicTable_Nosepass, @@ -3740,6 +3796,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Probopass, .iconSprite = gMonIcon_Probopass, .iconPalIndex = 0, + SHADOW(-1, 13, SHADOW_SIZE_L) FOOTPRINT(Probopass) OVERWORLD( sPicTable_Probopass, @@ -3807,6 +3864,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Skitty, .iconSprite = gMonIcon_Skitty, .iconPalIndex = 0, + SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Skitty) OVERWORLD( sPicTable_Skitty, @@ -3880,6 +3938,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Delcatty, .iconSprite = gMonIcon_Delcatty, .iconPalIndex = 2, + SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Delcatty) OVERWORLD( sPicTable_Delcatty, @@ -3948,6 +4007,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Sableye, .iconSprite = gMonIcon_Sableye, .iconPalIndex = 2, + SHADOW(2, 3, SHADOW_SIZE_S) FOOTPRINT(Sableye) OVERWORLD( sPicTable_Sableye, @@ -4012,6 +4072,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_SableyeMega, .iconSprite = gMonIcon_SableyeMega, .iconPalIndex = 2, + SHADOW(3, 7, SHADOW_SIZE_S) FOOTPRINT(Sableye) .isMegaEvolution = TRUE, .levelUpLearnset = sSableyeLevelUpLearnset, @@ -4079,6 +4140,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Mawile, .iconSprite = gMonIcon_Mawile, .iconPalIndex = 2, + SHADOW(1, 4, SHADOW_SIZE_L) FOOTPRINT(Mawile) OVERWORLD( sPicTable_Mawile, @@ -4144,6 +4206,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_MawileMega, .iconSprite = gMonIcon_MawileMega, .iconPalIndex = 0, + SHADOW(0, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Mawile) .isMegaEvolution = TRUE, .levelUpLearnset = sMawileLevelUpLearnset, @@ -4204,6 +4267,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Aron, .iconSprite = gMonIcon_Aron, .iconPalIndex = 2, + SHADOW(2, -3, SHADOW_SIZE_S) FOOTPRINT(Aron) OVERWORLD( sPicTable_Aron, @@ -4267,6 +4331,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Lairon, .iconSprite = gMonIcon_Lairon, .iconPalIndex = 2, + SHADOW(4, 2, SHADOW_SIZE_L) FOOTPRINT(Lairon) OVERWORLD( sPicTable_Lairon, @@ -4335,6 +4400,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Aggron, .iconSprite = gMonIcon_Aggron, .iconPalIndex = 2, + SHADOW(5, 12, SHADOW_SIZE_L) FOOTPRINT(Aggron) OVERWORLD( sPicTable_Aggron, @@ -4399,6 +4465,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_AggronMega, .iconSprite = gMonIcon_AggronMega, .iconPalIndex = 2, + SHADOW(1, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Aggron) .isMegaEvolution = TRUE, .levelUpLearnset = sAggronLevelUpLearnset, @@ -4461,6 +4528,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Meditite, .iconSprite = gMonIcon_Meditite, .iconPalIndex = 0, + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Meditite) OVERWORLD( sPicTable_Meditite, @@ -4527,6 +4595,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Medicham, .iconSprite = gMonIcon_Medicham, .iconPalIndex = 0, + SHADOW(-2, 13, SHADOW_SIZE_S) FOOTPRINT(Medicham) OVERWORLD( sPicTable_Medicham, @@ -4590,6 +4659,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_MedichamMega, .iconSprite = gMonIcon_MedichamMega, .iconPalIndex = 0, + SHADOW(-2, 13, SHADOW_SIZE_S) FOOTPRINT(Medicham) .isMegaEvolution = TRUE, .levelUpLearnset = sMedichamLevelUpLearnset, @@ -4648,6 +4718,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Electrike, .iconSprite = gMonIcon_Electrike, .iconPalIndex = 1, + SHADOW(3, -1, SHADOW_SIZE_M) FOOTPRINT(Electrike) OVERWORLD( sPicTable_Electrike, @@ -4710,6 +4781,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Manectric, .iconSprite = gMonIcon_Manectric, .iconPalIndex = 0, + SHADOW(1, 10, SHADOW_SIZE_M) FOOTPRINT(Manectric) OVERWORLD( sPicTable_Manectric, @@ -4772,6 +4844,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_ManectricMega, .iconSprite = gMonIcon_ManectricMega, .iconPalIndex = 0, + SHADOW(1, 10, SHADOW_SIZE_L) FOOTPRINT(Manectric) .isMegaEvolution = TRUE, .levelUpLearnset = sManectricLevelUpLearnset, @@ -4835,6 +4908,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Plusle, .iconSprite = gMonIcon_Plusle, .iconPalIndex = 0, + SHADOW(2, 3, SHADOW_SIZE_S) FOOTPRINT(Plusle) OVERWORLD( sPicTable_Plusle, @@ -4903,6 +4977,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Minun, .iconSprite = gMonIcon_Minun, .iconPalIndex = 0, + SHADOW(-4, 3, SHADOW_SIZE_S) FOOTPRINT(Minun) OVERWORLD( sPicTable_Minun, @@ -4973,6 +5048,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Volbeat, .iconSprite = gMonIcon_Volbeat, .iconPalIndex = 0, + SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Volbeat) OVERWORLD( sPicTable_Volbeat, @@ -5045,6 +5121,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Illumise, .iconSprite = gMonIcon_Illumise, .iconPalIndex = 2, + SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Illumise) OVERWORLD( sPicTable_Illumise, @@ -5111,6 +5188,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Budew, .iconSprite = gMonIcon_Budew, .iconPalIndex = 1, + SHADOW(-3, 0, SHADOW_SIZE_S) FOOTPRINT(Budew) OVERWORLD( sPicTable_Budew, @@ -5180,6 +5258,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Roselia, .iconSprite = gMonIcon_Roselia, .iconPalIndex = 4, + SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Roselia) OVERWORLD( sPicTable_Roselia, @@ -5257,6 +5336,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Roserade, .iconSprite = gMonIcon_Roserade, .iconPalIndex = 0, + SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Roserade) OVERWORLD( sPicTable_Roserade, @@ -5326,6 +5406,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Gulpin, .iconSprite = gMonIcon_Gulpin, .iconPalIndex = 1, + SHADOW(1, -2, SHADOW_SIZE_S) FOOTPRINT(Gulpin) OVERWORLD( sPicTable_Gulpin, @@ -5394,6 +5475,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Swalot, .iconSprite = gMonIcon_Swalot, .iconPalIndex = 2, + SHADOW(4, 3, SHADOW_SIZE_L) FOOTPRINT(Swalot) OVERWORLD( sPicTable_Swalot, @@ -5457,6 +5539,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Carvanha, .iconSprite = gMonIcon_Carvanha, .iconPalIndex = 0, + SHADOW(-1, 8, SHADOW_SIZE_S) FOOTPRINT(Carvanha) OVERWORLD( sPicTable_Carvanha, @@ -5520,6 +5603,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Sharpedo, .iconSprite = gMonIcon_Sharpedo, .iconPalIndex = 0, + SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Sharpedo) OVERWORLD( sPicTable_Sharpedo, @@ -5585,6 +5669,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_SharpedoMega, .iconSprite = gMonIcon_SharpedoMega, .iconPalIndex = 0, + SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Sharpedo) .isMegaEvolution = TRUE, .levelUpLearnset = sSharpedoLevelUpLearnset, @@ -5643,6 +5728,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Wailmer, .iconSprite = gMonIcon_Wailmer, .iconPalIndex = 2, + SHADOW(0, 3, SHADOW_SIZE_L) FOOTPRINT(Wailmer) OVERWORLD( sPicTable_Wailmer, @@ -5706,6 +5792,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Wailord, .iconSprite = gMonIcon_Wailord, .iconPalIndex = 0, + SHADOW(1, 7, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Wailord) OVERWORLD( sPicTable_Wailord, @@ -5776,6 +5863,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Numel, .iconSprite = gMonIcon_Numel, .iconPalIndex = 1, + SHADOW(4, 2, SHADOW_SIZE_S) FOOTPRINT(Numel) OVERWORLD( sPicTable_Numel, @@ -5847,6 +5935,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Camerupt, .iconSprite = gMonIcon_Camerupt, .iconPalIndex = 0, + SHADOW(2, 4, SHADOW_SIZE_L) FOOTPRINT(Camerupt) OVERWORLD( sPicTable_Camerupt, @@ -5911,6 +6000,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_CameruptMega, .iconSprite = gMonIcon_CameruptMega, .iconPalIndex = 0, + SHADOW(1, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Camerupt) .isMegaEvolution = TRUE, .levelUpLearnset = sCameruptLevelUpLearnset, @@ -5974,6 +6064,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Torkoal, .iconSprite = gMonIcon_Torkoal, .iconPalIndex = 2, + SHADOW(2, 7, SHADOW_SIZE_L) FOOTPRINT(Torkoal) OVERWORLD( sPicTable_Torkoal, @@ -6037,6 +6128,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Spoink, .iconSprite = gMonIcon_Spoink, .iconPalIndex = 0, + SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Spoink) OVERWORLD( sPicTable_Spoink, @@ -6100,6 +6192,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Grumpig, .iconSprite = gMonIcon_Grumpig, .iconPalIndex = 2, + SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Grumpig) OVERWORLD( sPicTable_Grumpig, @@ -6167,6 +6260,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Spinda, .iconSprite = gMonIcon_Spinda, .iconPalIndex = 1, + SHADOW(2, 6, SHADOW_SIZE_S) FOOTPRINT(Spinda) OVERWORLD( sPicTable_Spinda, @@ -6235,6 +6329,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Trapinch, .iconSprite = gMonIcon_Trapinch, .iconPalIndex = 0, + SHADOW(4, -1, SHADOW_SIZE_S) FOOTPRINT(Trapinch) OVERWORLD( sPicTable_Trapinch, @@ -6302,6 +6397,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Vibrava, .iconSprite = gMonIcon_Vibrava, .iconPalIndex = 1, + SHADOW(-2, 0, SHADOW_SIZE_L) FOOTPRINT(Vibrava) OVERWORLD( sPicTable_Vibrava, @@ -6375,6 +6471,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Flygon, .iconSprite = gMonIcon_Flygon, .iconPalIndex = 1, + SHADOW(0, 17, SHADOW_SIZE_M) FOOTPRINT(Flygon) OVERWORLD( sPicTable_Flygon, @@ -6438,6 +6535,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Cacnea, .iconSprite = gMonIcon_Cacnea, .iconPalIndex = 1, + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Cacnea) OVERWORLD( sPicTable_Cacnea, @@ -6504,6 +6602,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Cacturne, .iconSprite = gMonIcon_Cacturne, .iconPalIndex = 1, + SHADOW(-1, 14, SHADOW_SIZE_M) FOOTPRINT(Cacturne) OVERWORLD( sPicTable_Cacturne, @@ -6566,6 +6665,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Swablu, .iconSprite = gMonIcon_Swablu, .iconPalIndex = 0, + SHADOW(-2, 0, SHADOW_SIZE_S) FOOTPRINT(Swablu) OVERWORLD( sPicTable_Swablu, @@ -6628,6 +6728,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Altaria, .iconSprite = gMonIcon_Altaria, .iconPalIndex = 0, + SHADOW(-1, 14, SHADOW_SIZE_L) FOOTPRINT(Altaria) OVERWORLD( sPicTable_Altaria, @@ -6692,6 +6793,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_AltariaMega, .iconSprite = gMonIcon_AltariaMega, .iconPalIndex = 0, + SHADOW(-2, 17, SHADOW_SIZE_L) FOOTPRINT(Altaria) .isMegaEvolution = TRUE, .levelUpLearnset = sAltariaLevelUpLearnset, @@ -6752,6 +6854,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Zangoose, .iconSprite = gMonIcon_Zangoose, .iconPalIndex = 0, + SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Zangoose) OVERWORLD( sPicTable_Zangoose, @@ -6818,6 +6921,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Seviper, .iconSprite = gMonIcon_Seviper, .iconPalIndex = 2, + SHADOW(-3, 7, SHADOW_SIZE_L) FOOTPRINT(Seviper) OVERWORLD( sPicTable_Seviper, @@ -6890,6 +6994,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Lunatone, .iconSprite = gMonIcon_Lunatone, .iconPalIndex = 1, + SHADOW(0, 15, SHADOW_SIZE_S) FOOTPRINT(Lunatone) OVERWORLD( sPicTable_Lunatone, @@ -6961,6 +7066,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Solrock, .iconSprite = gMonIcon_Solrock, .iconPalIndex = 0, + SHADOW(0, 15, SHADOW_SIZE_M) FOOTPRINT(Solrock) OVERWORLD( sPicTable_Solrock, @@ -7028,6 +7134,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Barboach, .iconSprite = gMonIcon_Barboach, .iconPalIndex = 0, + SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Barboach) OVERWORLD( sPicTable_Barboach, @@ -7094,6 +7201,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Whiscash, .iconSprite = gMonIcon_Whiscash, .iconPalIndex = 0, + SHADOW(0, 3, SHADOW_SIZE_L) FOOTPRINT(Whiscash) OVERWORLD( sPicTable_Whiscash, @@ -7156,6 +7264,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Corphish, .iconSprite = gMonIcon_Corphish, .iconPalIndex = 0, + SHADOW(1, 5, SHADOW_SIZE_M) FOOTPRINT(Corphish) OVERWORLD( sPicTable_Corphish, @@ -7218,6 +7327,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Crawdaunt, .iconSprite = gMonIcon_Crawdaunt, .iconPalIndex = 0, + SHADOW(6, 9, SHADOW_SIZE_M) FOOTPRINT(Crawdaunt) OVERWORLD( sPicTable_Crawdaunt, @@ -7282,6 +7392,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Baltoy, .iconSprite = gMonIcon_Baltoy, .iconPalIndex = 2, + SHADOW(-2, 5, SHADOW_SIZE_S) FOOTPRINT(Baltoy) OVERWORLD( sPicTable_Baltoy, @@ -7345,6 +7456,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Claydol, .iconSprite = gMonIcon_Claydol, .iconPalIndex = 0, + SHADOW(0, 18, SHADOW_SIZE_M) FOOTPRINT(Claydol) OVERWORLD( sPicTable_Claydol, @@ -7414,6 +7526,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Lileep, .iconSprite = gMonIcon_Lileep, .iconPalIndex = 2, + SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Lileep) OVERWORLD( sPicTable_Lileep, @@ -7483,6 +7596,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Cradily, .iconSprite = gMonIcon_Cradily, .iconPalIndex = 1, + SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(Cradily) OVERWORLD( sPicTable_Cradily, @@ -7551,6 +7665,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Anorith, .iconSprite = gMonIcon_Anorith, .iconPalIndex = 0, + SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Anorith) OVERWORLD( sPicTable_Anorith, @@ -7619,6 +7734,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Armaldo, .iconSprite = gMonIcon_Armaldo, .iconPalIndex = 2, + SHADOW(-2, 11, SHADOW_SIZE_L) FOOTPRINT(Armaldo) OVERWORLD( sPicTable_Armaldo, @@ -7685,6 +7801,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Feebas, .iconSprite = gMonIcon_Feebas, .iconPalIndex = 2, + SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Feebas) OVERWORLD( sPicTable_Feebas, @@ -7758,6 +7875,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Milotic, .iconSprite = gMonIcon_Milotic, .iconPalIndex = 2, + SHADOW(0, 12, SHADOW_SIZE_M) FOOTPRINT(Milotic) OVERWORLD( sPicTable_Milotic, @@ -7823,6 +7941,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_CastformNormal, .iconSprite = gMonIcon_CastformNormal, .iconPalIndex = 0, + SHADOW(1, 10, SHADOW_SIZE_S) FOOTPRINT(Castform) OVERWORLD( sPicTable_CastformNormal, @@ -7889,6 +8008,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_CastformSunny, .iconSprite = gMonIcon_CastformSunny, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Castform) OVERWORLD( sPicTable_CastformSunny, @@ -7955,6 +8075,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_CastformRainy, .iconSprite = gMonIcon_CastformRainy, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Castform) OVERWORLD( sPicTable_CastformRainy, @@ -8021,6 +8142,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_CastformSnowy, .iconSprite = gMonIcon_CastformSnowy, .iconPalIndex = 0, + SHADOW(0, 8, SHADOW_SIZE_S) FOOTPRINT(Castform) OVERWORLD( sPicTable_CastformSnowy, @@ -8091,6 +8213,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Kecleon, .iconSprite = gMonIcon_Kecleon, .iconPalIndex = 1, + SHADOW(2, 8, SHADOW_SIZE_S) FOOTPRINT(Kecleon) OVERWORLD( sPicTable_Kecleon, @@ -8160,6 +8283,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Shuppet, .iconSprite = gMonIcon_Shuppet, .iconPalIndex = 0, + SHADOW(2, 12, SHADOW_SIZE_S) FOOTPRINT(Shuppet) OVERWORLD( sPicTable_Shuppet, @@ -8227,6 +8351,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Banette, .iconSprite = gMonIcon_Banette, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Banette) OVERWORLD( sPicTable_Banette, @@ -8291,6 +8416,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_BanetteMega, .iconSprite = gMonIcon_BanetteMega, .iconPalIndex = 0, + SHADOW(0, 16, SHADOW_SIZE_M) FOOTPRINT(Banette) .isMegaEvolution = TRUE, .levelUpLearnset = sBanetteLevelUpLearnset, @@ -8356,6 +8482,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Duskull, .iconSprite = gMonIcon_Duskull, .iconPalIndex = 0, + SHADOW(0, 12, SHADOW_SIZE_S) FOOTPRINT(Duskull) OVERWORLD( sPicTable_Duskull, @@ -8425,6 +8552,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Dusclops, .iconSprite = gMonIcon_Dusclops, .iconPalIndex = 0, + SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Dusclops) OVERWORLD( sPicTable_Dusclops, @@ -8501,6 +8629,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Dusknoir, .iconSprite = gMonIcon_Dusknoir, .iconPalIndex = 2, + SHADOW(6, 13, SHADOW_SIZE_M) FOOTPRINT(Dusknoir) OVERWORLD( sPicTable_Dusknoir, @@ -8568,6 +8697,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Tropius, .iconSprite = gMonIcon_Tropius, .iconPalIndex = 1, + SHADOW(-6, 13, SHADOW_SIZE_L) FOOTPRINT(Tropius) OVERWORLD( sPicTable_Tropius, @@ -8633,6 +8763,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Chingling, .iconSprite = gMonIcon_Chingling, .iconPalIndex = 1, + SHADOW(-1, -2, SHADOW_SIZE_S) FOOTPRINT(Chingling) OVERWORLD( sPicTable_Chingling, @@ -8705,6 +8836,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Chimecho, .iconSprite = gMonIcon_Chimecho, .iconPalIndex = 0, + SHADOW(-3, 16, SHADOW_SIZE_S) FOOTPRINT(Chimecho) OVERWORLD( sPicTable_Chimecho, @@ -8774,6 +8906,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Absol, .iconSprite = gMonIcon_Absol, .iconPalIndex = 0, + SHADOW(4, 6, SHADOW_SIZE_L) FOOTPRINT(Absol) OVERWORLD( sPicTable_Absol, @@ -8839,6 +8972,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_AbsolMega, .iconSprite = gMonIcon_AbsolMega, .iconPalIndex = 0, + SHADOW(1, 7, SHADOW_SIZE_L) FOOTPRINT(Absol) .isMegaEvolution = TRUE, .levelUpLearnset = sAbsolLevelUpLearnset, @@ -8904,6 +9038,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Snorunt, .iconSprite = gMonIcon_Snorunt, .iconPalIndex = 2, + SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Snorunt) OVERWORLD( sPicTable_Snorunt, @@ -8972,6 +9107,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Glalie, .iconSprite = gMonIcon_Glalie, .iconPalIndex = 0, + SHADOW(1, 15, SHADOW_SIZE_M) FOOTPRINT(Glalie) OVERWORLD( sPicTable_Glalie, @@ -9035,6 +9171,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_GlalieMega, .iconSprite = gMonIcon_GlalieMega, .iconPalIndex = 0, + SHADOW(3, 18, SHADOW_SIZE_L) FOOTPRINT(Glalie) .isMegaEvolution = TRUE, .levelUpLearnset = sGlalieLevelUpLearnset, @@ -9093,6 +9230,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Froslass, .iconSprite = gMonIcon_Froslass, .iconPalIndex = 0, + SHADOW(-1, 10, SHADOW_SIZE_S) FOOTPRINT(Froslass) OVERWORLD( sPicTable_Froslass, @@ -9161,6 +9299,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Spheal, .iconSprite = gMonIcon_Spheal, .iconPalIndex = 2, + SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Spheal) OVERWORLD( sPicTable_Spheal, @@ -9227,6 +9366,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Sealeo, .iconSprite = gMonIcon_Sealeo, .iconPalIndex = 2, + SHADOW(-1, 2, SHADOW_SIZE_L) FOOTPRINT(Sealeo) OVERWORLD( sPicTable_Sealeo, @@ -9298,6 +9438,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Walrein, .iconSprite = gMonIcon_Walrein, .iconPalIndex = 0, + SHADOW(0, 8, SHADOW_SIZE_L) FOOTPRINT(Walrein) OVERWORLD( sPicTable_Walrein, @@ -9362,6 +9503,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Clamperl, .iconSprite = gMonIcon_Clamperl, .iconPalIndex = 0, + SHADOW(-1, 1, SHADOW_SIZE_M) FOOTPRINT(Clamperl) OVERWORLD( sPicTable_Clamperl, @@ -9429,6 +9571,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Huntail, .iconSprite = gMonIcon_Huntail, .iconPalIndex = 0, + SHADOW(2, 7, SHADOW_SIZE_L) FOOTPRINT(Huntail) OVERWORLD( sPicTable_Huntail, @@ -9490,6 +9633,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Gorebyss, .iconSprite = gMonIcon_Gorebyss, .iconPalIndex = 0, + SHADOW(-1, 5, SHADOW_SIZE_M) FOOTPRINT(Gorebyss) OVERWORLD( sPicTable_Gorebyss, @@ -9558,6 +9702,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Relicanth, .iconSprite = gMonIcon_Relicanth, .iconPalIndex = 2, + SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Relicanth) OVERWORLD( sPicTable_Relicanth, @@ -9622,6 +9767,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Luvdisc, .iconSprite = gMonIcon_Luvdisc, .iconPalIndex = 0, + SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Luvdisc) OVERWORLD( sPicTable_Luvdisc, @@ -9686,6 +9832,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Bagon, .iconSprite = gMonIcon_Bagon, .iconPalIndex = 0, + SHADOW(4, 3, SHADOW_SIZE_S) FOOTPRINT(Bagon) OVERWORLD( sPicTable_Bagon, @@ -9749,6 +9896,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Shelgon, .iconSprite = gMonIcon_Shelgon, .iconPalIndex = 2, + SHADOW(1, 2, SHADOW_SIZE_M) FOOTPRINT(Shelgon) OVERWORLD( sPicTable_Shelgon, @@ -9818,6 +9966,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Salamence, .iconSprite = gMonIcon_Salamence, .iconPalIndex = 0, + SHADOW(3, 8, SHADOW_SIZE_L) FOOTPRINT(Salamence) OVERWORLD( sPicTable_Salamence, @@ -9882,6 +10031,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_SalamenceMega, .iconSprite = gMonIcon_SalamenceMega, .iconPalIndex = 0, + SHADOW(3, 8, SHADOW_SIZE_L) FOOTPRINT(Salamence) .isMegaEvolution = TRUE, .levelUpLearnset = sSalamenceLevelUpLearnset, @@ -9942,6 +10092,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Beldum, .iconSprite = gMonIcon_Beldum, .iconPalIndex = 0, + SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Beldum) OVERWORLD( sPicTable_Beldum, @@ -10005,6 +10156,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Metang, .iconSprite = gMonIcon_Metang, .iconPalIndex = 0, + SHADOW(1, 2, SHADOW_SIZE_M) FOOTPRINT(Metang) OVERWORLD( sPicTable_Metang, @@ -10073,6 +10225,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Metagross, .iconSprite = gMonIcon_Metagross, .iconPalIndex = 0, + SHADOW(2, -2, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Metagross) OVERWORLD( sPicTable_Metagross, @@ -10137,6 +10290,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_MetagrossMega, .iconSprite = gMonIcon_MetagrossMega, .iconPalIndex = 0, + SHADOW(1, 15, SHADOW_SIZE_L) FOOTPRINT(Metagross) .isMegaEvolution = TRUE, .levelUpLearnset = sMetagrossLevelUpLearnset, @@ -10202,6 +10356,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Regirock, .iconSprite = gMonIcon_Regirock, .iconPalIndex = 2, + SHADOW(1, 10, SHADOW_SIZE_L) FOOTPRINT(Regirock) OVERWORLD( sPicTable_Regirock, @@ -10272,6 +10427,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Regice, .iconSprite = gMonIcon_Regice, .iconPalIndex = 0, + SHADOW(1, 10, SHADOW_SIZE_L) FOOTPRINT(Regice) OVERWORLD( sPicTable_Regice, @@ -10343,6 +10499,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Registeel, .iconSprite = gMonIcon_Registeel, .iconPalIndex = 2, + SHADOW(4, 8, SHADOW_SIZE_L) FOOTPRINT(Registeel) OVERWORLD( sPicTable_Registeel, @@ -10414,6 +10571,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Latias, .iconSprite = gMonIcon_Latias, .iconPalIndex = 0, + SHADOW(3, 15, SHADOW_SIZE_M) FOOTPRINT(Latias) OVERWORLD( sPicTable_Latias, @@ -10480,6 +10638,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_LatiasMega, .iconSprite = gMonIcon_LatiasMega, .iconPalIndex = 2, + SHADOW(-1, 19, SHADOW_SIZE_L) FOOTPRINT(Latias) .isLegendary = TRUE, .isMegaEvolution = TRUE, @@ -10547,6 +10706,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Latios, .iconSprite = gMonIcon_Latios, .iconPalIndex = 0, + SHADOW(1, 17, SHADOW_SIZE_M) FOOTPRINT(Latios) OVERWORLD( sPicTable_Latios, @@ -10613,6 +10773,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_LatiosMega, .iconSprite = gMonIcon_LatiosMega, .iconPalIndex = 2, + SHADOW(-1, 19, SHADOW_SIZE_L) FOOTPRINT(Latios) .isLegendary = TRUE, .isMegaEvolution = TRUE, @@ -10680,6 +10841,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Kyogre, .iconSprite = gMonIcon_Kyogre, .iconPalIndex = 2, + SHADOW(-1, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kyogre) OVERWORLD( sPicTable_Kyogre, @@ -10745,6 +10907,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_KyogrePrimal, .iconSprite = gMonIcon_KyogrePrimal, .iconPalIndex = 0, + SHADOW(-1, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Kyogre) .isLegendary = TRUE, .isPrimalReversion = TRUE, @@ -10812,6 +10975,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Groudon, .iconSprite = gMonIcon_Groudon, .iconPalIndex = 0, + SHADOW(2, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Groudon) OVERWORLD( sPicTable_Groudon, @@ -10878,6 +11042,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_GroudonPrimal, .iconSprite = gMonIcon_GroudonPrimal, .iconPalIndex = 0, + SHADOW(2, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Groudon) .isLegendary = TRUE, .isPrimalReversion = TRUE, @@ -10948,6 +11113,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Rayquaza, .iconSprite = gMonIcon_Rayquaza, .iconPalIndex = 1, + SHADOW(0, 17, SHADOW_SIZE_L) FOOTPRINT(Rayquaza) OVERWORLD( sPicTable_Rayquaza, @@ -11016,6 +11182,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_RayquazaMega, .iconSprite = gMonIcon_RayquazaMega, .iconPalIndex = 1, + SHADOW(0, 15, SHADOW_SIZE_L) FOOTPRINT(Rayquaza) .isLegendary = TRUE, .isMegaEvolution = TRUE, @@ -11086,6 +11253,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_Jirachi, .iconSprite = gMonIcon_Jirachi, .iconPalIndex = 0, + SHADOW(0, 12, SHADOW_SIZE_S) FOOTPRINT(Jirachi) OVERWORLD( sPicTable_Jirachi, @@ -11157,6 +11325,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_DeoxysNormal, .iconSprite = gMonIcon_DeoxysNormal, .iconPalIndex = 0, + SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Deoxys) OVERWORLD( sPicTable_DeoxysNormal, @@ -11219,7 +11388,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_DeoxysAttack, .iconSprite = gMonIcon_DeoxysAttack, .iconPalIndex = 0, - FOOTPRINT(Deoxys) + SHADOW(0, 14, SHADOW_SIZE_M) OVERWORLD( sPicTable_DeoxysAttack, SIZE_32x32, @@ -11281,6 +11450,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_DeoxysDefense, .iconSprite = gMonIcon_DeoxysDefense, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Deoxys) OVERWORLD( sPicTable_DeoxysDefense, @@ -11343,6 +11513,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = .shinyPalette = gMonShinyPalette_DeoxysSpeed, .iconSprite = gMonIcon_DeoxysSpeed, .iconPalIndex = 0, + SHADOW(3, 13, SHADOW_SIZE_M) FOOTPRINT(Deoxys) OVERWORLD( sPicTable_DeoxysSpeed, diff --git a/src/data/pokemon/species_info/gen_4_families.h b/src/data/pokemon/species_info/gen_4_families.h index e1dbdd160e..c63d6f613b 100644 --- a/src/data/pokemon/species_info/gen_4_families.h +++ b/src/data/pokemon/species_info/gen_4_families.h @@ -51,6 +51,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Turtwig, .iconSprite = gMonIcon_Turtwig, .iconPalIndex = 1, + SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Turtwig) OVERWORLD( sPicTable_Turtwig, @@ -114,6 +115,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Grotle, .iconSprite = gMonIcon_Grotle, .iconPalIndex = 1, + SHADOW(1, 2, SHADOW_SIZE_L) FOOTPRINT(Grotle) OVERWORLD( sPicTable_Grotle, @@ -183,6 +185,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Torterra, .iconSprite = gMonIcon_Torterra, .iconPalIndex = 1, + SHADOW(1, 10, SHADOW_SIZE_L) FOOTPRINT(Torterra) OVERWORLD( sPicTable_Torterra, @@ -246,6 +249,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Chimchar, .iconSprite = gMonIcon_Chimchar, .iconPalIndex = 1, + SHADOW(4, 3, SHADOW_SIZE_S) FOOTPRINT(Chimchar) OVERWORLD( sPicTable_Chimchar, @@ -310,6 +314,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Monferno, .iconSprite = gMonIcon_Monferno, .iconPalIndex = 0, + SHADOW(-7, 6, SHADOW_SIZE_S) FOOTPRINT(Monferno) OVERWORLD( sPicTable_Monferno, @@ -379,6 +384,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Infernape, .iconSprite = gMonIcon_Infernape, .iconPalIndex = 0, + SHADOW(0, 9, SHADOW_SIZE_L) FOOTPRINT(Infernape) OVERWORLD( sPicTable_Infernape, @@ -445,6 +451,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Piplup, .iconSprite = gMonIcon_Piplup, .iconPalIndex = 0, + SHADOW(0, -1, SHADOW_SIZE_S) FOOTPRINT(Piplup) OVERWORLD( sPicTable_Piplup, @@ -511,6 +518,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Prinplup, .iconSprite = gMonIcon_Prinplup, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Prinplup) OVERWORLD( sPicTable_Prinplup, @@ -582,6 +590,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Empoleon, .iconSprite = gMonIcon_Empoleon, .iconPalIndex = 0, + SHADOW(2, 12, SHADOW_SIZE_M) FOOTPRINT(Empoleon) OVERWORLD( sPicTable_Empoleon, @@ -652,6 +661,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Starly, .iconSprite = gMonIcon_Starly, .iconPalIndex = 0, + SHADOW(-2, 1, SHADOW_SIZE_S) FOOTPRINT(Starly) OVERWORLD( sPicTable_Starly, @@ -718,6 +728,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Staravia, .iconSprite = gMonIcon_Staravia, .iconPalIndex = 0, + SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Staravia) OVERWORLD( sPicTable_Staravia, @@ -789,6 +800,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Staraptor, .iconSprite = gMonIcon_Staraptor, .iconPalIndex = 0, + SHADOW(1, 10, SHADOW_SIZE_M) FOOTPRINT(Staraptor) OVERWORLD( sPicTable_Staraptor, @@ -855,6 +867,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Bidoof, .iconSprite = gMonIcon_Bidoof, .iconPalIndex = 2, + SHADOW(1, 1, SHADOW_SIZE_M) FOOTPRINT(Bidoof) OVERWORLD( sPicTable_Bidoof, @@ -919,6 +932,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Bibarel, .iconSprite = gMonIcon_Bibarel, .iconPalIndex = 2, + SHADOW(-5, 5, SHADOW_SIZE_M) FOOTPRINT(Bibarel) OVERWORLD( sPicTable_Bibarel, @@ -986,6 +1000,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Kricketot, .iconSprite = gMonIcon_Kricketot, .iconPalIndex = 2, + SHADOW(-5, 2, SHADOW_SIZE_S) FOOTPRINT(Kricketot) OVERWORLD( sPicTable_Kricketot, @@ -1053,6 +1068,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Kricketune, .iconSprite = gMonIcon_Kricketune, .iconPalIndex = 2, + SHADOW(-3, 6, SHADOW_SIZE_S) FOOTPRINT(Kricketune) OVERWORLD( sPicTable_Kricketune, @@ -1119,6 +1135,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Shinx, .iconSprite = gMonIcon_Shinx, .iconPalIndex = 0, + SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Shinx) OVERWORLD( sPicTable_Shinx, @@ -1185,6 +1202,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Luxio, .iconSprite = gMonIcon_Luxio, .iconPalIndex = 0, + SHADOW(-4, 2, SHADOW_SIZE_M) FOOTPRINT(Luxio) OVERWORLD( sPicTable_Luxio, @@ -1256,6 +1274,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Luxray, .iconSprite = gMonIcon_Luxray, .iconPalIndex = 0, + SHADOW(-1, 10, SHADOW_SIZE_L) FOOTPRINT(Luxray) OVERWORLD( sPicTable_Luxray, @@ -1318,6 +1337,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Cranidos, .iconSprite = gMonIcon_Cranidos, .iconPalIndex = 0, + SHADOW(4, 4, SHADOW_SIZE_S) FOOTPRINT(Cranidos) OVERWORLD( sPicTable_Cranidos, @@ -1380,6 +1400,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Rampardos, .iconSprite = gMonIcon_Rampardos, .iconPalIndex = 0, + SHADOW(7, 11, SHADOW_SIZE_L) FOOTPRINT(Rampardos) OVERWORLD( sPicTable_Rampardos, @@ -1442,6 +1463,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Shieldon, .iconSprite = gMonIcon_Shieldon, .iconPalIndex = 1, + SHADOW(3, -1, SHADOW_SIZE_S) FOOTPRINT(Shieldon) OVERWORLD( sPicTable_Shieldon, @@ -1504,6 +1526,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Bastiodon, .iconSprite = gMonIcon_Bastiodon, .iconPalIndex = 1, + SHADOW(1, 6, SHADOW_SIZE_L) FOOTPRINT(Bastiodon) OVERWORLD( sPicTable_Bastiodon, @@ -1567,6 +1590,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_BurmyPlantCloak, .iconSprite = gMonIcon_BurmyPlantCloak, .iconPalIndex = 1, + SHADOW(-1, 8, SHADOW_SIZE_S) FOOTPRINT(Burmy) OVERWORLD( sPicTable_BurmyPlantCloak, @@ -1633,6 +1657,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_BurmySandyCloak, .iconSprite = gMonIcon_BurmySandyCloak, .iconPalIndex = 1, + SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Burmy) OVERWORLD( sPicTable_BurmySandyCloak, @@ -1699,6 +1724,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_BurmyTrashCloak, .iconSprite = gMonIcon_BurmyTrashCloak, .iconPalIndex = 0, + SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Burmy) OVERWORLD( sPicTable_BurmyTrashCloak, @@ -1766,6 +1792,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_WormadamPlantCloak, .iconSprite = gMonIcon_WormadamPlantCloak, .iconPalIndex = 1, + SHADOW(0, 9, SHADOW_SIZE_S) FOOTPRINT(Wormadam) OVERWORLD( sPicTable_WormadamPlantCloak, @@ -1829,6 +1856,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_WormadamSandyCloak, .iconSprite = gMonIcon_WormadamSandyCloak, .iconPalIndex = 1, + SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Wormadam) OVERWORLD( sPicTable_WormadamSandyCloak, @@ -1893,6 +1921,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_WormadamTrashCloak, .iconSprite = gMonIcon_WormadamTrashCloak, .iconPalIndex = 0, + SHADOW(0, 9, SHADOW_SIZE_S) FOOTPRINT(Wormadam) OVERWORLD( sPicTable_WormadamTrashCloak, @@ -1953,6 +1982,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Mothim, \ .iconSprite = gMonIcon_Mothim, \ .iconPalIndex = 0, \ + SHADOW(-1, 9, SHADOW_SIZE_S) \ FOOTPRINT(Mothim) \ OVERWORLD( \ sPicTable_Mothim, \ @@ -2024,6 +2054,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPaletteFemale = gMonShinyPalette_CombeeF, .iconSprite = gMonIcon_Combee, .iconPalIndex = 0, + SHADOW(-4, 10, SHADOW_SIZE_S) FOOTPRINT(Combee) OVERWORLD( sPicTable_Combee, @@ -2089,6 +2120,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Vespiquen, .iconSprite = gMonIcon_Vespiquen, .iconPalIndex = 0, + SHADOW(-1, 11, SHADOW_SIZE_L) FOOTPRINT(Vespiquen) OVERWORLD( sPicTable_Vespiquen, @@ -2153,6 +2185,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Pachirisu, .iconSprite = gMonIcon_Pachirisu, .iconPalIndex = 0, + SHADOW(-2, 1, SHADOW_SIZE_S) FOOTPRINT(Pachirisu) OVERWORLD( sPicTable_Pachirisu, @@ -2218,6 +2251,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Buizel, .iconSprite = gMonIcon_Buizel, .iconPalIndex = 0, + SHADOW(1, 4, SHADOW_SIZE_S) FOOTPRINT(Buizel) OVERWORLD( sPicTable_Buizel, @@ -2282,6 +2316,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Floatzel, .iconSprite = gMonIcon_Floatzel, .iconPalIndex = 0, + SHADOW(-4, 10, SHADOW_SIZE_M) FOOTPRINT(Floatzel) OVERWORLD( sPicTable_Floatzel, @@ -2345,6 +2380,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Cherubi, .iconSprite = gMonIcon_Cherubi, .iconPalIndex = 1, + SHADOW(-4, -2, SHADOW_SIZE_S) FOOTPRINT(Cherubi) OVERWORLD( sPicTable_Cherubi, @@ -2408,6 +2444,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_CherrimOvercast, .iconSprite = gMonIcon_CherrimOvercast, .iconPalIndex = 0, + SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Cherrim) OVERWORLD( sPicTable_CherrimOvercast, @@ -2471,6 +2508,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_CherrimSunshine, .iconSprite = gMonIcon_CherrimSunshine, .iconPalIndex = 1, + SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Cherrim) .levelUpLearnset = sCherrimLevelUpLearnset, .teachableLearnset = sCherrimTeachableLearnset, @@ -2527,6 +2565,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_ShellosWestSea, .iconSprite = gMonIcon_ShellosWestSea, .iconPalIndex = 0, + SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(Shellos) OVERWORLD( sPicTable_ShellosWestSea, @@ -2590,6 +2629,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_ShellosEastSea, .iconSprite = gMonIcon_ShellosEastSea, .iconPalIndex = 0, + SHADOW(2, -1, SHADOW_SIZE_S) FOOTPRINT(Shellos) OVERWORLD( sPicTable_ShellosEastSea, @@ -2653,6 +2693,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_GastrodonWestSea, .iconSprite = gMonIcon_GastrodonWestSea, .iconPalIndex = 0, + SHADOW(1, 3, SHADOW_SIZE_M) FOOTPRINT(Gastrodon) OVERWORLD( sPicTable_GastrodonWestSea, @@ -2714,6 +2755,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_GastrodonEastSea, .iconSprite = gMonIcon_GastrodonEastSea, .iconPalIndex = 0, + SHADOW(2, 4, SHADOW_SIZE_M) FOOTPRINT(Gastrodon) OVERWORLD( sPicTable_GastrodonEastSea, @@ -2778,6 +2820,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Drifloon, .iconSprite = gMonIcon_Drifloon, .iconPalIndex = 2, + SHADOW(1, 9, SHADOW_SIZE_S) FOOTPRINT(Drifloon) OVERWORLD( sPicTable_Drifloon, @@ -2841,6 +2884,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Drifblim, .iconSprite = gMonIcon_Drifblim, .iconPalIndex = 2, + SHADOW(0, 11, SHADOW_SIZE_M) FOOTPRINT(Drifblim) OVERWORLD( sPicTable_Drifblim, @@ -2903,6 +2947,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Buneary, .iconSprite = gMonIcon_Buneary, .iconPalIndex = 2, + SHADOW(3, 5, SHADOW_SIZE_S) FOOTPRINT(Buneary) OVERWORLD( sPicTable_Buneary, @@ -2965,6 +3010,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Lopunny, .iconSprite = gMonIcon_Lopunny, .iconPalIndex = 2, + SHADOW(0, 10, SHADOW_SIZE_S) FOOTPRINT(Lopunny) OVERWORLD( sPicTable_Lopunny, @@ -3028,6 +3074,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_LopunnyMega, .iconSprite = gMonIcon_LopunnyMega, .iconPalIndex = 2, + SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Lopunny) .isMegaEvolution = TRUE, .levelUpLearnset = sLopunnyLevelUpLearnset, @@ -3086,6 +3133,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Glameow, .iconSprite = gMonIcon_Glameow, .iconPalIndex = 0, + SHADOW(-3, 6, SHADOW_SIZE_S) FOOTPRINT(Glameow) OVERWORLD( sPicTable_Glameow, @@ -3148,6 +3196,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Purugly, .iconSprite = gMonIcon_Purugly, .iconPalIndex = 0, + SHADOW(4, 8, SHADOW_SIZE_L) FOOTPRINT(Purugly) OVERWORLD( sPicTable_Purugly, @@ -3210,6 +3259,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Stunky, .iconSprite = gMonIcon_Stunky, .iconPalIndex = 2, + SHADOW(-1, 0, SHADOW_SIZE_M) FOOTPRINT(Stunky) OVERWORLD( sPicTable_Stunky, @@ -3272,6 +3322,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Skuntank, .iconSprite = gMonIcon_Skuntank, .iconPalIndex = 2, + SHADOW(-3, 6, SHADOW_SIZE_L) FOOTPRINT(Skuntank) OVERWORLD( sPicTable_Skuntank, @@ -3336,6 +3387,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Bronzor, .iconSprite = gMonIcon_Bronzor, .iconPalIndex = 0, + SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Bronzor) OVERWORLD( sPicTable_Bronzor, @@ -3400,6 +3452,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Bronzong, .iconSprite = gMonIcon_Bronzong, .iconPalIndex = 0, + SHADOW(5, 12, SHADOW_SIZE_M) FOOTPRINT(Bronzong) OVERWORLD( sPicTable_Bronzong, @@ -3463,6 +3516,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Chatot, .iconSprite = gMonIcon_Chatot, .iconPalIndex = 0, + SHADOW(-1, 3, SHADOW_SIZE_S) FOOTPRINT(Chatot) OVERWORLD( sPicTable_Chatot, @@ -3527,6 +3581,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Spiritomb, .iconSprite = gMonIcon_Spiritomb, .iconPalIndex = 5, + SHADOW(-1, 7, SHADOW_SIZE_L) FOOTPRINT(Spiritomb) OVERWORLD( sPicTable_Spiritomb, @@ -3594,6 +3649,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Gible, .iconSprite = gMonIcon_Gible, .iconPalIndex = 0, + SHADOW(1, 5, SHADOW_SIZE_M) FOOTPRINT(Gible) OVERWORLD( sPicTable_Gible, @@ -3660,6 +3716,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Gabite, .iconSprite = gMonIcon_Gabite, .iconPalIndex = 0, + SHADOW(3, 8, SHADOW_SIZE_M) FOOTPRINT(Gabite) OVERWORLD( sPicTable_Gabite, @@ -3729,6 +3786,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Garchomp, .iconSprite = gMonIcon_Garchomp, .iconPalIndex = 0, + SHADOW(5, 11, SHADOW_SIZE_L) FOOTPRINT(Garchomp) OVERWORLD( sPicTable_Garchomp, @@ -3792,6 +3850,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_GarchompMega, .iconSprite = gMonIcon_GarchompMega, .iconPalIndex = 0, + SHADOW(1, 12, SHADOW_SIZE_L) FOOTPRINT(Garchomp) .isMegaEvolution = TRUE, .levelUpLearnset = sGarchompLevelUpLearnset, @@ -3850,6 +3909,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Riolu, .iconSprite = gMonIcon_Riolu, .iconPalIndex = 2, + SHADOW(3, 3, SHADOW_SIZE_S) FOOTPRINT(Riolu) OVERWORLD( sPicTable_Riolu, @@ -3913,6 +3973,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Lucario, .iconSprite = gMonIcon_Lucario, .iconPalIndex = 2, + SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(Lucario) OVERWORLD( sPicTable_Lucario, @@ -3977,6 +4038,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_LucarioMega, .iconSprite = gMonIcon_LucarioMega, .iconPalIndex = 2, + SHADOW(-1, 11, SHADOW_SIZE_M) FOOTPRINT(Lucario) .isMegaEvolution = TRUE, .levelUpLearnset = sLucarioLevelUpLearnset, @@ -4041,6 +4103,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .iconSpriteFemale = gMonIcon_HippopotasF, .iconPalIndexFemale = 1, #endif + SHADOW(2, -1, SHADOW_SIZE_L) FOOTPRINT(Hippopotas) OVERWORLD( sPicTable_Hippopotas, @@ -4109,6 +4172,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .iconSpriteFemale = gMonIcon_HippowdonF, .iconPalIndexFemale = 1, #endif + NO_SHADOW FOOTPRINT(Hippowdon) OVERWORLD( sPicTable_Hippowdon, @@ -4172,6 +4236,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Skorupi, .iconSprite = gMonIcon_Skorupi, .iconPalIndex = 0, + SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Skorupi) OVERWORLD( sPicTable_Skorupi, @@ -4235,6 +4300,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Drapion, .iconSprite = gMonIcon_Drapion, .iconPalIndex = 2, + SHADOW(-3, 6, SHADOW_SIZE_L) FOOTPRINT(Drapion) OVERWORLD( sPicTable_Drapion, @@ -4302,6 +4368,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Croagunk, .iconSprite = gMonIcon_Croagunk, .iconPalIndex = 0, + SHADOW(2, 4, SHADOW_SIZE_S) FOOTPRINT(Croagunk) OVERWORLD( sPicTable_Croagunk, @@ -4369,6 +4436,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Toxicroak, .iconSprite = gMonIcon_Toxicroak, .iconPalIndex = 0, + SHADOW(3, 7, SHADOW_SIZE_M) FOOTPRINT(Toxicroak) OVERWORLD( sPicTable_Toxicroak, @@ -4432,6 +4500,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Carnivine, .iconSprite = gMonIcon_Carnivine, .iconPalIndex = 1, + SHADOW(0, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Carnivine) OVERWORLD( sPicTable_Carnivine, @@ -4499,6 +4568,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Finneon, .iconSprite = gMonIcon_Finneon, .iconPalIndex = 0, + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Finneon) OVERWORLD( sPicTable_Finneon, @@ -4565,6 +4635,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Lumineon, .iconSprite = gMonIcon_Lumineon, .iconPalIndex = 0, + SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Lumineon) OVERWORLD( sPicTable_Lumineon, @@ -4632,6 +4703,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Snover, .iconSprite = gMonIcon_Snover, .iconPalIndex = 1, + SHADOW(1, 4, SHADOW_SIZE_M) FOOTPRINT(Snover) OVERWORLD( sPicTable_Snover, @@ -4698,6 +4770,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Abomasnow, .iconSprite = gMonIcon_Abomasnow, .iconPalIndex = 1, + SHADOW(0, 11, SHADOW_SIZE_L) FOOTPRINT(Abomasnow) OVERWORLD( sPicTable_Abomasnow, @@ -4763,6 +4836,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_AbomasnowMega, .iconSprite = gMonIcon_AbomasnowMega, .iconPalIndex = 1, + SHADOW(0, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Abomasnow) .isMegaEvolution = TRUE, .levelUpLearnset = sAbomasnowLevelUpLearnset, @@ -4823,6 +4897,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Rotom, .iconSprite = gMonIcon_Rotom, .iconPalIndex = 0, + SHADOW(0, 10, SHADOW_SIZE_S) FOOTPRINT(Rotom) OVERWORLD( sPicTable_Rotom, @@ -4895,6 +4970,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_RotomHeat, .iconSprite = gMonIcon_RotomHeat, .iconPalIndex = 0, + SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(Rotom) OVERWORLD( sPicTable_RotomHeat, @@ -4960,6 +5036,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_RotomWash, .iconSprite = gMonIcon_RotomWash, .iconPalIndex = 0, + SHADOW(0, 10, SHADOW_SIZE_M) FOOTPRINT(Rotom) OVERWORLD( sPicTable_RotomWash, @@ -5024,6 +5101,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_RotomFrost, .iconSprite = gMonIcon_RotomFrost, .iconPalIndex = 5, + SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Rotom) OVERWORLD( sPicTable_RotomFrost, @@ -5089,6 +5167,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_RotomFan, .iconSprite = gMonIcon_RotomFan, .iconPalIndex = 0, + SHADOW(4, 9, SHADOW_SIZE_S) FOOTPRINT(Rotom) OVERWORLD( sPicTable_RotomFan, @@ -5153,6 +5232,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_RotomMow, .iconSprite = gMonIcon_RotomMow, .iconPalIndex = 0, + SHADOW(2, 14, SHADOW_SIZE_M) FOOTPRINT(Rotom) OVERWORLD( sPicTable_RotomMow, @@ -5225,6 +5305,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Uxie, .iconSprite = gMonIcon_Uxie, .iconPalIndex = 0, + SHADOW(2, 11, SHADOW_SIZE_S) FOOTPRINT(Uxie) OVERWORLD( sPicTable_Uxie, @@ -5298,6 +5379,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Mesprit, .iconSprite = gMonIcon_Mesprit, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Mesprit) OVERWORLD( sPicTable_Mesprit, @@ -5370,6 +5452,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Azelf, .iconSprite = gMonIcon_Azelf, .iconPalIndex = 0, + SHADOW(0, 17, SHADOW_SIZE_S) FOOTPRINT(Azelf) OVERWORLD( sPicTable_Azelf, @@ -5442,6 +5525,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Dialga, .iconSprite = gMonIcon_Dialga, .iconPalIndex = 2, + SHADOW(4, 12, SHADOW_SIZE_L) FOOTPRINT(Dialga) OVERWORLD( sPicTable_Dialga, @@ -5507,6 +5591,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_DialgaOrigin, .iconSprite = gMonIcon_DialgaOrigin, .iconPalIndex = 0, + SHADOW(2, 11, SHADOW_SIZE_L) FOOTPRINT(Dialga) OVERWORLD( sPicTable_DialgaOrigin, @@ -5582,6 +5667,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Palkia, .iconSprite = gMonIcon_Palkia, .iconPalIndex = 2, + SHADOW(0, 10, SHADOW_SIZE_L) FOOTPRINT(Palkia) OVERWORLD( sPicTable_Palkia, @@ -5647,6 +5733,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_PalkiaOrigin, .iconSprite = gMonIcon_PalkiaOrigin, .iconPalIndex = 2, + SHADOW(-3, 14, SHADOW_SIZE_L) FOOTPRINT(Palkia) OVERWORLD( sPicTable_PalkiaOrigin, @@ -5720,6 +5807,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Heatran, .iconSprite = gMonIcon_Heatran, .iconPalIndex = 0, + SHADOW(2, 2, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Heatran) OVERWORLD( sPicTable_Heatran, @@ -5790,6 +5878,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Regigigas, .iconSprite = gMonIcon_Regigigas, .iconPalIndex = 0, + SHADOW(3, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Regigigas) OVERWORLD( sPicTable_Regigigas, @@ -5862,6 +5951,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_GiratinaAltered, .iconSprite = gMonIcon_GiratinaAltered, .iconPalIndex = 0, + SHADOW(3, 11, SHADOW_SIZE_L) FOOTPRINT(GiratinaAltered) OVERWORLD( sPicTable_GiratinaAltered, @@ -5928,6 +6018,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_GiratinaOrigin, .iconSprite = gMonIcon_GiratinaOrigin, .iconPalIndex = 0, + SHADOW(0, 18, SHADOW_SIZE_L) FOOTPRINT(GiratinaOrigin) OVERWORLD( sPicTable_GiratinaOrigin, @@ -6002,6 +6093,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Cresselia, .iconSprite = gMonIcon_Cresselia, .iconPalIndex = 0, + SHADOW(-2, 12, SHADOW_SIZE_M) FOOTPRINT(Cresselia) OVERWORLD( sPicTable_Cresselia, @@ -6073,6 +6165,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Phione, .iconSprite = gMonIcon_Phione, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Phione) OVERWORLD( sPicTable_Phione, @@ -6143,6 +6236,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Manaphy, .iconSprite = gMonIcon_Manaphy, .iconPalIndex = 0, + SHADOW(-5, 8, SHADOW_SIZE_S) FOOTPRINT(Manaphy) OVERWORLD( sPicTable_Manaphy, @@ -6216,6 +6310,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_Darkrai, .iconSprite = gMonIcon_Darkrai, .iconPalIndex = 0, + SHADOW(4, 12, SHADOW_SIZE_M) FOOTPRINT(Darkrai) OVERWORLD( sPicTable_Darkrai, @@ -6291,6 +6386,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_ShayminLand, .iconSprite = gMonIcon_ShayminLand, .iconPalIndex = 1, + SHADOW(1, -3, SHADOW_SIZE_S) FOOTPRINT(Shaymin) OVERWORLD( sPicTable_ShayminLand, @@ -6363,6 +6459,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .shinyPalette = gMonShinyPalette_ShayminSky, .iconSprite = gMonIcon_ShayminSky, .iconPalIndex = 1, + SHADOW(3, 7, SHADOW_SIZE_M) FOOTPRINT(Shaymin) .isMythical = TRUE, .isFrontierBanned = TRUE, @@ -6434,6 +6531,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = .palette = gMonPalette_Arceus ##typeName, \ .shinyPalette = gMonShinyPalette_Arceus ##typeName, \ ARCEUS_ICON(typeName, iconPal) \ + SHADOW(-1, 15, SHADOW_SIZE_XL_BATTLE_ONLY) \ FOOTPRINT(Arceus) \ OVERWORLD( \ sPicTable_Arceus ##typeName, \ diff --git a/src/data/pokemon/species_info/gen_5_families.h b/src/data/pokemon/species_info/gen_5_families.h index 5e40f94469..9445c57a43 100644 --- a/src/data/pokemon/species_info/gen_5_families.h +++ b/src/data/pokemon/species_info/gen_5_families.h @@ -51,6 +51,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Victini, .iconSprite = gMonIcon_Victini, .iconPalIndex = 0, + SHADOW(1, 4, SHADOW_SIZE_S) FOOTPRINT(Victini) OVERWORLD( sPicTable_Victini, @@ -116,6 +117,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Snivy, .iconSprite = gMonIcon_Snivy, .iconPalIndex = 1, + SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Snivy) OVERWORLD( sPicTable_Snivy, @@ -178,6 +180,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Servine, .iconSprite = gMonIcon_Servine, .iconPalIndex = 1, + SHADOW(-2, 7, SHADOW_SIZE_S) FOOTPRINT(Servine) OVERWORLD( sPicTable_Servine, @@ -239,6 +242,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Serperior, .iconSprite = gMonIcon_Serperior, .iconPalIndex = 1, + SHADOW(2, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Serperior) OVERWORLD( sPicTable_Serperior, @@ -301,6 +305,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Tepig, .iconSprite = gMonIcon_Tepig, .iconPalIndex = 0, + SHADOW(0, -2, SHADOW_SIZE_S) FOOTPRINT(Tepig) OVERWORLD( sPicTable_Tepig, @@ -363,6 +368,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Pignite, .iconSprite = gMonIcon_Pignite, .iconPalIndex = 0, + SHADOW(0, 6, SHADOW_SIZE_M) FOOTPRINT(Pignite) OVERWORLD( sPicTable_Pignite, @@ -425,6 +431,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Emboar, .iconSprite = gMonIcon_Emboar, .iconPalIndex = 0, + SHADOW(-1, 12, SHADOW_SIZE_L) FOOTPRINT(Emboar) OVERWORLD( sPicTable_Emboar, @@ -487,6 +494,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Oshawott, .iconSprite = gMonIcon_Oshawott, .iconPalIndex = 0, + SHADOW(-3, 0, SHADOW_SIZE_S) FOOTPRINT(Oshawott) OVERWORLD( sPicTable_Oshawott, @@ -549,6 +557,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Dewott, .iconSprite = gMonIcon_Dewott, .iconPalIndex = 0, + SHADOW(-2, 6, SHADOW_SIZE_S) FOOTPRINT(Dewott) OVERWORLD( sPicTable_Dewott, @@ -611,6 +620,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Samurott, .iconSprite = gMonIcon_Samurott, .iconPalIndex = 2, + SHADOW(-2, 13, SHADOW_SIZE_L) FOOTPRINT(Samurott) OVERWORLD( sPicTable_Samurott, @@ -673,6 +683,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_SamurottHisuian, .iconSprite = gMonIcon_SamurottHisuian, .iconPalIndex = 0, + SHADOW(-2, 13, SHADOW_SIZE_L) FOOTPRINT(Samurott) OVERWORLD( sPicTable_SamurottHisuian, @@ -738,6 +749,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Patrat, .iconSprite = gMonIcon_Patrat, .iconPalIndex = 2, + SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Patrat) OVERWORLD( sPicTable_Patrat, @@ -800,6 +812,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Watchog, .iconSprite = gMonIcon_Watchog, .iconPalIndex = 2, + SHADOW(-4, 11, SHADOW_SIZE_S) FOOTPRINT(Watchog) OVERWORLD( sPicTable_Watchog, @@ -862,6 +875,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Lillipup, .iconSprite = gMonIcon_Lillipup, .iconPalIndex = 2, + SHADOW(2, 1, SHADOW_SIZE_S) FOOTPRINT(Lillipup) OVERWORLD( sPicTable_Lillipup, @@ -924,6 +938,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Herdier, .iconSprite = gMonIcon_Herdier, .iconPalIndex = 2, + SHADOW(3, 5, SHADOW_SIZE_M) FOOTPRINT(Herdier) OVERWORLD( sPicTable_Herdier, @@ -991,6 +1006,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Stoutland, .iconSprite = gMonIcon_Stoutland, .iconPalIndex = 2, + SHADOW(-4, 9, SHADOW_SIZE_L) FOOTPRINT(Stoutland) OVERWORLD( sPicTable_Stoutland, @@ -1053,6 +1069,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Purrloin, .iconSprite = gMonIcon_Purrloin, .iconPalIndex = 0, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Purrloin) OVERWORLD( sPicTable_Purrloin, @@ -1115,6 +1132,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Liepard, .iconSprite = gMonIcon_Liepard, .iconPalIndex = 0, + SHADOW(-1, 11, SHADOW_SIZE_M) FOOTPRINT(Liepard) OVERWORLD( sPicTable_Liepard, @@ -1177,6 +1195,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Pansage, .iconSprite = gMonIcon_Pansage, .iconPalIndex = 1, + SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Pansage) OVERWORLD( sPicTable_Pansage, @@ -1239,6 +1258,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Simisage, .iconSprite = gMonIcon_Simisage, .iconPalIndex = 1, + SHADOW(-2, 12, SHADOW_SIZE_M) FOOTPRINT(Simisage) OVERWORLD( sPicTable_Simisage, @@ -1302,6 +1322,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Pansear, .iconSprite = gMonIcon_Pansear, .iconPalIndex = 2, + SHADOW(1, 3, SHADOW_SIZE_S) FOOTPRINT(Pansear) OVERWORLD( sPicTable_Pansear, @@ -1365,6 +1386,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Simisear, .iconSprite = gMonIcon_Simisear, .iconPalIndex = 2, + SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Simisear) OVERWORLD( sPicTable_Simisear, @@ -1427,6 +1449,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Panpour, .iconSprite = gMonIcon_Panpour, .iconPalIndex = 2, + SHADOW(-3, 4, SHADOW_SIZE_S) FOOTPRINT(Panpour) OVERWORLD( sPicTable_Panpour, @@ -1489,6 +1512,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Simipour, .iconSprite = gMonIcon_Simipour, .iconPalIndex = 2, + SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Simipour) OVERWORLD( sPicTable_Simipour, @@ -1552,6 +1576,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Munna, .iconSprite = gMonIcon_Munna, .iconPalIndex = 0, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Munna) OVERWORLD( sPicTable_Munna, @@ -1615,6 +1640,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Musharna, .iconSprite = gMonIcon_Musharna, .iconPalIndex = 0, + SHADOW(6, 10, SHADOW_SIZE_M) FOOTPRINT(Musharna) OVERWORLD( sPicTable_Musharna, @@ -1677,6 +1703,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Pidove, .iconSprite = gMonIcon_Pidove, .iconPalIndex = 0, + SHADOW(-2, 1, SHADOW_SIZE_S) FOOTPRINT(Pidove) OVERWORLD( sPicTable_Pidove, @@ -1739,6 +1766,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Tranquill, .iconSprite = gMonIcon_Tranquill, .iconPalIndex = 0, + SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Tranquill) OVERWORLD( sPicTable_Tranquill, @@ -1814,6 +1842,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .iconSpriteFemale = gMonIcon_UnfezantF, .iconPalIndex = 1, .iconPalIndexFemale = 1, + SHADOW(-2, 12, SHADOW_SIZE_M) FOOTPRINT(Unfezant) OVERWORLD( sPicTable_Unfezant, @@ -1876,6 +1905,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Blitzle, .iconSprite = gMonIcon_Blitzle, .iconPalIndex = 2, + SHADOW(3, 9, SHADOW_SIZE_M) FOOTPRINT(Blitzle) OVERWORLD( sPicTable_Blitzle, @@ -1938,6 +1968,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Zebstrika, .iconSprite = gMonIcon_Zebstrika, .iconPalIndex = 2, + SHADOW(-2, 13, SHADOW_SIZE_M) FOOTPRINT(Zebstrika) OVERWORLD( sPicTable_Zebstrika, @@ -2006,6 +2037,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Roggenrola, .iconSprite = gMonIcon_Roggenrola, .iconPalIndex = 2, + SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Roggenrola) OVERWORLD( sPicTable_Roggenrola, @@ -2075,6 +2107,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Boldore, .iconSprite = gMonIcon_Boldore, .iconPalIndex = 0, + SHADOW(1, 3, SHADOW_SIZE_L) FOOTPRINT(Boldore) OVERWORLD( sPicTable_Boldore, @@ -2149,6 +2182,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Gigalith, .iconSprite = gMonIcon_Gigalith, .iconPalIndex = 0, + SHADOW(-1, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Gigalith) OVERWORLD( sPicTable_Gigalith, @@ -2212,6 +2246,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Woobat, .iconSprite = gMonIcon_Woobat, .iconPalIndex = 0, + SHADOW(-2, 14, SHADOW_SIZE_S) FOOTPRINT(Woobat) OVERWORLD( sPicTable_Woobat, @@ -2275,6 +2310,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Swoobat, .iconSprite = gMonIcon_Swoobat, .iconPalIndex = 0, + SHADOW(-1, 17, SHADOW_SIZE_M) FOOTPRINT(Swoobat) OVERWORLD( sPicTable_Swoobat, @@ -2338,6 +2374,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Drilbur, .iconSprite = gMonIcon_Drilbur, .iconPalIndex = 0, + SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Drilbur) OVERWORLD( sPicTable_Drilbur, @@ -2401,6 +2438,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Excadrill, .iconSprite = gMonIcon_Excadrill, .iconPalIndex = 0, + SHADOW(3, 8, SHADOW_SIZE_L) FOOTPRINT(Excadrill) OVERWORLD( sPicTable_Excadrill, @@ -2465,6 +2503,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Audino, .iconSprite = gMonIcon_Audino, .iconPalIndex = 1, + SHADOW(-1, 6, SHADOW_SIZE_S) FOOTPRINT(Audino) OVERWORLD( sPicTable_Audino, @@ -2531,6 +2570,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_AudinoMega, .iconSprite = gMonIcon_AudinoMega, .iconPalIndex = 1, + SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(Audino) .isMegaEvolution = TRUE, .levelUpLearnset = sAudinoLevelUpLearnset, @@ -2590,6 +2630,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Timburr, .iconSprite = gMonIcon_Timburr, .iconPalIndex = 1, + SHADOW(-4, 2, SHADOW_SIZE_S) FOOTPRINT(Timburr) OVERWORLD( sPicTable_Timburr, @@ -2652,6 +2693,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Gurdurr, .iconSprite = gMonIcon_Gurdurr, .iconPalIndex = 1, + SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Gurdurr) OVERWORLD( sPicTable_Gurdurr, @@ -2714,6 +2756,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Conkeldurr, .iconSprite = gMonIcon_Conkeldurr, .iconPalIndex = 1, + SHADOW(0, 3, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Conkeldurr) OVERWORLD( sPicTable_Conkeldurr, @@ -2776,6 +2819,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Tympole, .iconSprite = gMonIcon_Tympole, .iconPalIndex = 2, + SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Tympole) OVERWORLD( sPicTable_Tympole, @@ -2838,6 +2882,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Palpitoad, .iconSprite = gMonIcon_Palpitoad, .iconPalIndex = 2, + SHADOW(-1, 3, SHADOW_SIZE_S) FOOTPRINT(Palpitoad) OVERWORLD( sPicTable_Palpitoad, @@ -2905,6 +2950,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Seismitoad, .iconSprite = gMonIcon_Seismitoad, .iconPalIndex = 0, + SHADOW(4, 10, SHADOW_SIZE_L) FOOTPRINT(Seismitoad) OVERWORLD( sPicTable_Seismitoad, @@ -2968,6 +3014,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Throh, .iconSprite = gMonIcon_Throh, .iconPalIndex = 0, + SHADOW(3, 4, SHADOW_SIZE_M) FOOTPRINT(Throh) OVERWORLD( sPicTable_Throh, @@ -3032,6 +3079,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Sawk, .iconSprite = gMonIcon_Sawk, .iconPalIndex = 0, + SHADOW(-1, 6, SHADOW_SIZE_M) FOOTPRINT(Sawk) OVERWORLD( sPicTable_Sawk, @@ -3095,6 +3143,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Sewaddle, .iconSprite = gMonIcon_Sewaddle, .iconPalIndex = 1, + SHADOW(1, 0, SHADOW_SIZE_S) FOOTPRINT(Sewaddle) OVERWORLD( sPicTable_Sewaddle, @@ -3158,6 +3207,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Swadloon, .iconSprite = gMonIcon_Swadloon, .iconPalIndex = 1, + SHADOW(0, 1, SHADOW_SIZE_L) FOOTPRINT(Swadloon) OVERWORLD( sPicTable_Swadloon, @@ -3226,6 +3276,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Leavanny, .iconSprite = gMonIcon_Leavanny, .iconPalIndex = 1, + SHADOW(0, 14, SHADOW_SIZE_S) FOOTPRINT(Leavanny) OVERWORLD( sPicTable_Leavanny, @@ -3293,6 +3344,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Venipede, .iconSprite = gMonIcon_Venipede, .iconPalIndex = 1, + SHADOW(-2, -3, SHADOW_SIZE_M) FOOTPRINT(Venipede) OVERWORLD( sPicTable_Venipede, @@ -3360,6 +3412,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Whirlipede, .iconSprite = gMonIcon_Whirlipede, .iconPalIndex = 2, + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Whirlipede) OVERWORLD( sPicTable_Whirlipede, @@ -3432,6 +3485,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Scolipede, .iconSprite = gMonIcon_Scolipede, .iconPalIndex = 2, + SHADOW(1, 12, SHADOW_SIZE_L) FOOTPRINT(Scolipede) OVERWORLD( sPicTable_Scolipede, @@ -3501,6 +3555,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Cottonee, .iconSprite = gMonIcon_Cottonee, .iconPalIndex = 1, + SHADOW(-1, -5, SHADOW_SIZE_M) FOOTPRINT(Cottonee) OVERWORLD( sPicTable_Cottonee, @@ -3564,6 +3619,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Whimsicott, .iconSprite = gMonIcon_Whimsicott, .iconPalIndex = 1, + SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Whimsicott) OVERWORLD( sPicTable_Whimsicott, @@ -3628,6 +3684,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Petilil, .iconSprite = gMonIcon_Petilil, .iconPalIndex = 1, + SHADOW(-2, 6, SHADOW_SIZE_S) FOOTPRINT(Petilil) OVERWORLD( sPicTable_Petilil, @@ -3693,6 +3750,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Lilligant, .iconSprite = gMonIcon_Lilligant, .iconPalIndex = 1, + SHADOW(-2, 13, SHADOW_SIZE_M) FOOTPRINT(Lilligant) OVERWORLD( sPicTable_Lilligant, @@ -3758,6 +3816,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_LilligantHisuian, .iconSprite = gMonIcon_LilligantHisuian, .iconPalIndex = 1, + SHADOW(-3, 13, SHADOW_SIZE_S) FOOTPRINT(Lilligant) OVERWORLD( sPicTable_LilligantHisuian, @@ -3825,6 +3884,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_BasculinRedStriped, .iconSprite = gMonIcon_BasculinRedStriped, .iconPalIndex = 1, + SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Basculin) OVERWORLD( sPicTable_BasculinRedStriped, @@ -3889,6 +3949,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_BasculinBlueStriped, .iconSprite = gMonIcon_BasculinBlueStriped, .iconPalIndex = 0, + SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Basculin) OVERWORLD( sPicTable_BasculinBlueStriped, @@ -3954,6 +4015,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_BasculinWhiteStriped, .iconSprite = gMonIcon_BasculinWhiteStriped, .iconPalIndex = 0, + SHADOW(-2, 5, SHADOW_SIZE_S) FOOTPRINT(Basculin) OVERWORLD( sPicTable_BasculinWhiteStriped, @@ -4018,6 +4080,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_BasculegionMale, .iconSprite = gMonIcon_BasculegionMale, .iconPalIndex = 1, + SHADOW(0, 16, SHADOW_SIZE_M) FOOTPRINT(Basculegion) OVERWORLD( sPicTable_BasculegionMale, @@ -4079,6 +4142,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_BasculegionFemale, .iconSprite = gMonIcon_BasculegionFemale, .iconPalIndex = 0, + SHADOW(0, 16, SHADOW_SIZE_M) FOOTPRINT(Basculegion) OVERWORLD( sPicTable_BasculegionFemale, @@ -4144,6 +4208,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Sandile, .iconSprite = gMonIcon_Sandile, .iconPalIndex = 1, + SHADOW(4, -5, SHADOW_SIZE_M) FOOTPRINT(Sandile) OVERWORLD( sPicTable_Sandile, @@ -4207,6 +4272,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Krokorok, .iconSprite = gMonIcon_Krokorok, .iconPalIndex = 1, + SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Krokorok) OVERWORLD( sPicTable_Krokorok, @@ -4275,6 +4341,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Krookodile, .iconSprite = gMonIcon_Krookodile, .iconPalIndex = 0, + SHADOW(3, 12, SHADOW_SIZE_L) FOOTPRINT(Krookodile) OVERWORLD( sPicTable_Krookodile, @@ -4337,6 +4404,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Darumaka, .iconSprite = gMonIcon_Darumaka, .iconPalIndex = 0, + SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Darumaka) OVERWORLD( sPicTable_Darumaka, @@ -4400,6 +4468,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_DarmanitanStandardMode, .iconSprite = gMonIcon_DarmanitanStandardMode, .iconPalIndex = 0, + SHADOW(3, 5, SHADOW_SIZE_L) FOOTPRINT(Darmanitan) OVERWORLD( sPicTable_DarmanitanStandardMode, @@ -4461,6 +4530,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_DarmanitanZenMode, .iconSprite = gMonIcon_DarmanitanZenMode, .iconPalIndex = 0, + SHADOW(-1, -1, SHADOW_SIZE_S) FOOTPRINT(Darmanitan) .levelUpLearnset = sDarmanitanLevelUpLearnset, .teachableLearnset = sDarmanitanTeachableLearnset, @@ -4516,6 +4586,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_DarumakaGalarian, .iconSprite = gMonIcon_DarumakaGalarian, .iconPalIndex = 0, + SHADOW(-3, -1, SHADOW_SIZE_S) FOOTPRINT(Darumaka) OVERWORLD( sPicTable_DarumakaGalarian, @@ -4580,6 +4651,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_DarmanitanGalarianStandardMode, .iconSprite = gMonIcon_DarmanitanGalarianStandardMode, .iconPalIndex = 0, + SHADOW(4, 8, SHADOW_SIZE_L) FOOTPRINT(Darmanitan) OVERWORLD( sPicTable_DarmanitanGalarianStandardMode, @@ -4643,6 +4715,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_DarmanitanGalarianZenMode, .iconSprite = gMonIcon_DarmanitanGalarianZenMode, .iconPalIndex = 0, + SHADOW(0, 11, SHADOW_SIZE_S) FOOTPRINT(Darmanitan) .isGalarianForm = TRUE, .levelUpLearnset = sDarmanitanGalarianLevelUpLearnset, @@ -4702,6 +4775,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Maractus, .iconSprite = gMonIcon_Maractus, .iconPalIndex = 1, + SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Maractus) OVERWORLD( sPicTable_Maractus, @@ -4766,6 +4840,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Dwebble, .iconSprite = gMonIcon_Dwebble, .iconPalIndex = 0, + SHADOW(-1, -2, SHADOW_SIZE_S) FOOTPRINT(Dwebble) OVERWORLD( sPicTable_Dwebble, @@ -4829,6 +4904,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Crustle, .iconSprite = gMonIcon_Crustle, .iconPalIndex = 2, + SHADOW(1, 8, SHADOW_SIZE_L) FOOTPRINT(Crustle) OVERWORLD( sPicTable_Crustle, @@ -4892,6 +4968,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Scraggy, .iconSprite = gMonIcon_Scraggy, .iconPalIndex = 2, + SHADOW(-4, 2, SHADOW_SIZE_S) FOOTPRINT(Scraggy) OVERWORLD( sPicTable_Scraggy, @@ -4956,6 +5033,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Scrafty, .iconSprite = gMonIcon_Scrafty, .iconPalIndex = 0, + SHADOW(-2, 9, SHADOW_SIZE_M) FOOTPRINT(Scrafty) OVERWORLD( sPicTable_Scrafty, @@ -5019,6 +5097,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Sigilyph, .iconSprite = gMonIcon_Sigilyph, .iconPalIndex = 0, + SHADOW(3, 18, SHADOW_SIZE_S) FOOTPRINT(Sigilyph) OVERWORLD( sPicTable_Sigilyph, @@ -5084,6 +5163,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Yamask, .iconSprite = gMonIcon_Yamask, .iconPalIndex = 0, + SHADOW(-1, 6, SHADOW_SIZE_S) FOOTPRINT(Yamask) OVERWORLD( sPicTable_Yamask, @@ -5148,6 +5228,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Cofagrigus, .iconSprite = gMonIcon_Cofagrigus, .iconPalIndex = 0, + SHADOW(6, 12, SHADOW_SIZE_M) FOOTPRINT(Cofagrigus) OVERWORLD( sPicTable_Cofagrigus, @@ -5210,6 +5291,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_YamaskGalarian, .iconSprite = gMonIcon_YamaskGalarian, .iconPalIndex = 2, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Yamask) OVERWORLD( sPicTable_YamaskGalarian, @@ -5274,6 +5356,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Runerigus, .iconSprite = gMonIcon_Runerigus, .iconPalIndex = 2, + SHADOW(14, 14, SHADOW_SIZE_M) FOOTPRINT(Runerigus) OVERWORLD( sPicTable_Runerigus, @@ -5337,6 +5420,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Tirtouga, .iconSprite = gMonIcon_Tirtouga, .iconPalIndex = 2, + SHADOW(0, -3, SHADOW_SIZE_M) FOOTPRINT(Tirtouga) OVERWORLD( sPicTable_Tirtouga, @@ -5399,6 +5483,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Carracosta, .iconSprite = gMonIcon_Carracosta, .iconPalIndex = 2, + SHADOW(4, 8, SHADOW_SIZE_L) FOOTPRINT(Carracosta) OVERWORLD( sPicTable_Carracosta, @@ -5461,6 +5546,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Archen, .iconSprite = gMonIcon_Archen, .iconPalIndex = 0, + SHADOW(-3, -2, SHADOW_SIZE_S) FOOTPRINT(Archen) OVERWORLD( sPicTable_Archen, @@ -5524,6 +5610,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Archeops, .iconSprite = gMonIcon_Archeops, .iconPalIndex = 0, + SHADOW(0, 18, SHADOW_SIZE_M) FOOTPRINT(Archeops) OVERWORLD( sPicTable_Archeops, @@ -5587,6 +5674,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Trubbish, .iconSprite = gMonIcon_Trubbish, .iconPalIndex = 1, + SHADOW(-2, -1, SHADOW_SIZE_S) FOOTPRINT(Trubbish) OVERWORLD( sPicTable_Trubbish, @@ -5652,6 +5740,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Garbodor, .iconSprite = gMonIcon_Garbodor, .iconPalIndex = 1, + SHADOW(3, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Garbodor) OVERWORLD( sPicTable_Garbodor, @@ -5718,6 +5807,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_GarbodorGigantamax, .iconSprite = gMonIcon_GarbodorGigantamax, .iconPalIndex = 0, + NO_SHADOW FOOTPRINT(Garbodor) .isGigantamax = TRUE, .levelUpLearnset = sGarbodorLevelUpLearnset, @@ -5776,6 +5866,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Zorua, .iconSprite = gMonIcon_Zorua, .iconPalIndex = 0, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Zorua) OVERWORLD( sPicTable_Zorua, @@ -5839,6 +5930,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Zoroark, .iconSprite = gMonIcon_Zoroark, .iconPalIndex = 0, + SHADOW(1, 8, SHADOW_SIZE_L) FOOTPRINT(Zoroark) OVERWORLD( sPicTable_Zoroark, @@ -5901,6 +5993,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_ZoruaHisuian, .iconSprite = gMonIcon_ZoruaHisuian, .iconPalIndex = 0, + SHADOW(2, 12, SHADOW_SIZE_S) FOOTPRINT(Zorua) OVERWORLD( sPicTable_ZoruaHisuian, @@ -5964,6 +6057,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_ZoroarkHisuian, .iconSprite = gMonIcon_ZoroarkHisuian, .iconPalIndex = 0, + SHADOW(11, 13, SHADOW_SIZE_L) FOOTPRINT(Zoroark) OVERWORLD( sPicTable_ZoroarkHisuian, @@ -6029,6 +6123,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Minccino, .iconSprite = gMonIcon_Minccino, .iconPalIndex = 0, + SHADOW(-3, 3, SHADOW_SIZE_S) FOOTPRINT(Minccino) OVERWORLD( sPicTable_Minccino, @@ -6092,6 +6187,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Cinccino, .iconSprite = gMonIcon_Cinccino, .iconPalIndex = 0, + SHADOW(0, 6, SHADOW_SIZE_M) FOOTPRINT(Cinccino) OVERWORLD( sPicTable_Cinccino, @@ -6158,6 +6254,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Gothita, .iconSprite = gMonIcon_Gothita, .iconPalIndex = 2, + SHADOW(-3, 2, SHADOW_SIZE_S) FOOTPRINT(Gothita) OVERWORLD( sPicTable_Gothita, @@ -6224,6 +6321,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Gothorita, .iconSprite = gMonIcon_Gothorita, .iconPalIndex = 2, + SHADOW(-2, 7, SHADOW_SIZE_S) FOOTPRINT(Gothorita) OVERWORLD( sPicTable_Gothorita, @@ -6289,6 +6387,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Gothitelle, .iconSprite = gMonIcon_Gothitelle, .iconPalIndex = 2, + SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Gothitelle) OVERWORLD( sPicTable_Gothitelle, @@ -6353,6 +6452,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Solosis, .iconSprite = gMonIcon_Solosis, .iconPalIndex = 1, + SHADOW(-1, 8, SHADOW_SIZE_S) FOOTPRINT(Solosis) OVERWORLD( sPicTable_Solosis, @@ -6416,6 +6516,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Duosion, .iconSprite = gMonIcon_Duosion, .iconPalIndex = 1, + SHADOW(-1, 6, SHADOW_SIZE_M) FOOTPRINT(Duosion) OVERWORLD( sPicTable_Duosion, @@ -6478,6 +6579,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Reuniclus, .iconSprite = gMonIcon_Reuniclus, .iconPalIndex = 1, + SHADOW(0, 8, SHADOW_SIZE_M) FOOTPRINT(Reuniclus) OVERWORLD( sPicTable_Reuniclus, @@ -6540,6 +6642,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Ducklett, .iconSprite = gMonIcon_Ducklett, .iconPalIndex = 0, + SHADOW(-1, 2, SHADOW_SIZE_S) FOOTPRINT(Ducklett) OVERWORLD( sPicTable_Ducklett, @@ -6602,6 +6705,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Swanna, .iconSprite = gMonIcon_Swanna, .iconPalIndex = 2, + SHADOW(0, 12, SHADOW_SIZE_M) FOOTPRINT(Swanna) OVERWORLD( sPicTable_Swanna, @@ -6669,6 +6773,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Vanillite, .iconSprite = gMonIcon_Vanillite, .iconPalIndex = 0, + SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Vanillite) OVERWORLD( sPicTable_Vanillite, @@ -6736,6 +6841,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Vanillish, .iconSprite = gMonIcon_Vanillish, .iconPalIndex = 2, + SHADOW(-3, 9, SHADOW_SIZE_S) FOOTPRINT(Vanillish) OVERWORLD( sPicTable_Vanillish, @@ -6802,6 +6908,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Vanilluxe, .iconSprite = gMonIcon_Vanilluxe, .iconPalIndex = 2, + SHADOW(-2, 10, SHADOW_SIZE_M) FOOTPRINT(Vanilluxe) OVERWORLD( sPicTable_Vanilluxe, @@ -6864,6 +6971,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_DeerlingSpring, .iconSprite = gMonIcon_DeerlingSpring, .iconPalIndex = 1, + SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Deerling) OVERWORLD( sPicTable_DeerlingSpring, @@ -6927,6 +7035,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_DeerlingSummer, .iconSprite = gMonIcon_DeerlingSummer, .iconPalIndex = 1, + SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Deerling) OVERWORLD( sPicTable_DeerlingSummer, @@ -6990,6 +7099,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_DeerlingAutumn, .iconSprite = gMonIcon_DeerlingAutumn, .iconPalIndex = 0, + SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Deerling) OVERWORLD( sPicTable_DeerlingAutumn, @@ -7053,6 +7163,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_DeerlingWinter, .iconSprite = gMonIcon_DeerlingWinter, .iconPalIndex = 2, + SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Deerling) OVERWORLD( sPicTable_DeerlingWinter, @@ -7116,6 +7227,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_SawsbuckSpring, .iconSprite = gMonIcon_SawsbuckSpring, .iconPalIndex = 1, + SHADOW(7, 13, SHADOW_SIZE_M) FOOTPRINT(Sawsbuck) OVERWORLD( sPicTable_SawsbuckSpring, @@ -7177,6 +7289,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_SawsbuckSummer, .iconSprite = gMonIcon_SawsbuckSummer, .iconPalIndex = 1, + SHADOW(7, 13, SHADOW_SIZE_M) FOOTPRINT(Sawsbuck) OVERWORLD( sPicTable_SawsbuckSummer, @@ -7238,6 +7351,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_SawsbuckAutumn, .iconSprite = gMonIcon_SawsbuckAutumn, .iconPalIndex = 1, + SHADOW(7, 13, SHADOW_SIZE_M) FOOTPRINT(Sawsbuck) OVERWORLD( sPicTable_SawsbuckAutumn, @@ -7299,6 +7413,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_SawsbuckWinter, .iconSprite = gMonIcon_SawsbuckWinter, .iconPalIndex = 1, + SHADOW(7, 13, SHADOW_SIZE_M) FOOTPRINT(Sawsbuck) OVERWORLD( sPicTable_SawsbuckWinter, @@ -7364,6 +7479,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Emolga, .iconSprite = gMonIcon_Emolga, .iconPalIndex = 2, + SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Emolga) OVERWORLD( sPicTable_Emolga, @@ -7427,6 +7543,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Karrablast, .iconSprite = gMonIcon_Karrablast, .iconPalIndex = 0, + SHADOW(-1, 0, SHADOW_SIZE_S) FOOTPRINT(Karrablast) OVERWORLD( sPicTable_Karrablast, @@ -7489,6 +7606,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Escavalier, .iconSprite = gMonIcon_Escavalier, .iconPalIndex = 0, + SHADOW(1, 11, SHADOW_SIZE_M) FOOTPRINT(Escavalier) OVERWORLD( sPicTable_Escavalier, @@ -7553,6 +7671,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Foongus, .iconSprite = gMonIcon_Foongus, .iconPalIndex = 0, + SHADOW(-1, -3, SHADOW_SIZE_S) FOOTPRINT(Foongus) OVERWORLD( sPicTable_Foongus, @@ -7618,6 +7737,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Amoonguss, .iconSprite = gMonIcon_Amoonguss, .iconPalIndex = 1, + SHADOW(1, 5, SHADOW_SIZE_M) FOOTPRINT(Amoonguss) OVERWORLD( sPicTable_Amoonguss, @@ -7688,6 +7808,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .iconSpriteFemale = gMonIcon_FrillishF, .iconPalIndex = 0, .iconPalIndexFemale = 1, + SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Frillish) OVERWORLD( sPicTable_Frillish, @@ -7758,6 +7879,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .iconSpriteFemale = gMonIcon_JellicentF, .iconPalIndex = 0, .iconPalIndexFemale = 1, + SHADOW(-1, 11, SHADOW_SIZE_M) FOOTPRINT(Jellicent) OVERWORLD( sPicTable_Jellicent, @@ -7820,6 +7942,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Alomomola, .iconSprite = gMonIcon_Alomomola, .iconPalIndex = 0, + SHADOW(0, 15, SHADOW_SIZE_S) FOOTPRINT(Alomomola) OVERWORLD( sPicTable_Alomomola, @@ -7883,6 +8006,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Joltik, .iconSprite = gMonIcon_Joltik, .iconPalIndex = 0, + SHADOW(0, -5, SHADOW_SIZE_S) FOOTPRINT(Joltik) OVERWORLD( sPicTable_Joltik, @@ -7945,6 +8069,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Galvantula, .iconSprite = gMonIcon_Galvantula, .iconPalIndex = 2, + SHADOW(0, -2, SHADOW_SIZE_L) FOOTPRINT(Galvantula) OVERWORLD( sPicTable_Galvantula, @@ -8008,6 +8133,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Ferroseed, .iconSprite = gMonIcon_Ferroseed, .iconPalIndex = 1, + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Ferroseed) OVERWORLD( sPicTable_Ferroseed, @@ -8076,6 +8202,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Ferrothorn, .iconSprite = gMonIcon_Ferrothorn, .iconPalIndex = 1, + SHADOW(-2, 17, SHADOW_SIZE_M) FOOTPRINT(Ferrothorn) OVERWORLD( sPicTable_Ferrothorn, @@ -8140,6 +8267,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Klink, .iconSprite = gMonIcon_Klink, .iconPalIndex = 0, + SHADOW(-2, 11, SHADOW_SIZE_S) FOOTPRINT(Klink) OVERWORLD( sPicTable_Klink, @@ -8203,6 +8331,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Klang, .iconSprite = gMonIcon_Klang, .iconPalIndex = 0, + SHADOW(-1, 12, SHADOW_SIZE_M) FOOTPRINT(Klang) OVERWORLD( sPicTable_Klang, @@ -8266,6 +8395,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Klinklang, .iconSprite = gMonIcon_Klinklang, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(Klinklang) OVERWORLD( sPicTable_Klinklang, @@ -8329,6 +8459,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Tynamo, .iconSprite = gMonIcon_Tynamo, .iconPalIndex = 0, + SHADOW(-3, 5, SHADOW_SIZE_S) FOOTPRINT(Tynamo) OVERWORLD( sPicTable_Tynamo, @@ -8392,6 +8523,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Eelektrik, .iconSprite = gMonIcon_Eelektrik, .iconPalIndex = 0, + SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Eelektrik) OVERWORLD( sPicTable_Eelektrik, @@ -8454,6 +8586,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Eelektross, .iconSprite = gMonIcon_Eelektross, .iconPalIndex = 0, + SHADOW(3, 13, SHADOW_SIZE_M) FOOTPRINT(Eelektross) OVERWORLD( sPicTable_Eelektross, @@ -8516,6 +8649,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Elgyem, .iconSprite = gMonIcon_Elgyem, .iconPalIndex = 0, + SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Elgyem) OVERWORLD( sPicTable_Elgyem, @@ -8578,6 +8712,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Beheeyem, .iconSprite = gMonIcon_Beheeyem, .iconPalIndex = 2, + SHADOW(0, 10, SHADOW_SIZE_M) FOOTPRINT(Beheeyem) OVERWORLD( sPicTable_Beheeyem, @@ -8645,6 +8780,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Litwick, .iconSprite = gMonIcon_Litwick, .iconPalIndex = 2, + SHADOW(1, -1, SHADOW_SIZE_S) FOOTPRINT(Litwick) OVERWORLD( sPicTable_Litwick, @@ -8712,6 +8848,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Lampent, .iconSprite = gMonIcon_Lampent, .iconPalIndex = 2, + SHADOW(-1, 9, SHADOW_SIZE_S) FOOTPRINT(Lampent) OVERWORLD( sPicTable_Lampent, @@ -8778,6 +8915,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Chandelure, .iconSprite = gMonIcon_Chandelure, .iconPalIndex = 2, + SHADOW(1, 13, SHADOW_SIZE_S) FOOTPRINT(Chandelure) OVERWORLD( sPicTable_Chandelure, @@ -8840,6 +8978,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Axew, .iconSprite = gMonIcon_Axew, .iconPalIndex = 1, + SHADOW(2, 1, SHADOW_SIZE_S) FOOTPRINT(Axew) OVERWORLD( sPicTable_Axew, @@ -8902,6 +9041,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Fraxure, .iconSprite = gMonIcon_Fraxure, .iconPalIndex = 1, + SHADOW(-2, 8, SHADOW_SIZE_L) FOOTPRINT(Fraxure) OVERWORLD( sPicTable_Fraxure, @@ -8963,6 +9103,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Haxorus, .iconSprite = gMonIcon_Haxorus, .iconPalIndex = 2, + SHADOW(2, 9, SHADOW_SIZE_L) FOOTPRINT(Haxorus) OVERWORLD( sPicTable_Haxorus, @@ -9029,6 +9170,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Cubchoo, .iconSprite = gMonIcon_Cubchoo, .iconPalIndex = 0, + SHADOW(-2, 0, SHADOW_SIZE_S) FOOTPRINT(Cubchoo) OVERWORLD( sPicTable_Cubchoo, @@ -9095,6 +9237,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Beartic, .iconSprite = gMonIcon_Beartic, .iconPalIndex = 0, + SHADOW(1, 13, SHADOW_SIZE_L) FOOTPRINT(Beartic) OVERWORLD( sPicTable_Beartic, @@ -9159,6 +9302,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Cryogonal, .iconSprite = gMonIcon_Cryogonal, .iconPalIndex = 0, + SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Cryogonal) OVERWORLD( sPicTable_Cryogonal, @@ -9221,6 +9365,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Shelmet, .iconSprite = gMonIcon_Shelmet, .iconPalIndex = 1, + SHADOW(0, -1, SHADOW_SIZE_S) FOOTPRINT(Shelmet) OVERWORLD( sPicTable_Shelmet, @@ -9283,6 +9428,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Accelgor, .iconSprite = gMonIcon_Accelgor, .iconPalIndex = 1, + SHADOW(-14, 8, SHADOW_SIZE_S) FOOTPRINT(Accelgor) OVERWORLD( sPicTable_Accelgor, @@ -9346,6 +9492,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Stunfisk, .iconSprite = gMonIcon_Stunfisk, .iconPalIndex = 2, + SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Stunfisk) OVERWORLD( sPicTable_Stunfisk, @@ -9409,6 +9556,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_StunfiskGalarian, .iconSprite = gMonIcon_StunfiskGalarian, .iconPalIndex = 1, + SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Stunfisk) OVERWORLD( sPicTable_StunfiskGalarian, @@ -9475,6 +9623,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Mienfoo, .iconSprite = gMonIcon_Mienfoo, .iconPalIndex = 1, + SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Mienfoo) OVERWORLD( sPicTable_Mienfoo, @@ -9537,6 +9686,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Mienshao, .iconSprite = gMonIcon_Mienshao, .iconPalIndex = 2, + SHADOW(-1, 8, SHADOW_SIZE_M) FOOTPRINT(Mienshao) OVERWORLD( sPicTable_Mienshao, @@ -9600,6 +9750,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Druddigon, .iconSprite = gMonIcon_Druddigon, .iconPalIndex = 0, + SHADOW(3, 9, SHADOW_SIZE_M) FOOTPRINT(Druddigon) OVERWORLD( sPicTable_Druddigon, @@ -9665,6 +9816,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Golett, .iconSprite = gMonIcon_Golett, .iconPalIndex = 0, + SHADOW(-1, 7, SHADOW_SIZE_M) FOOTPRINT(Golett) OVERWORLD( sPicTable_Golett, @@ -9728,6 +9880,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Golurk, .iconSprite = gMonIcon_Golurk, .iconPalIndex = 0, + SHADOW(-1, 14, SHADOW_SIZE_L) FOOTPRINT(Golurk) OVERWORLD( sPicTable_Golurk, @@ -9790,6 +9943,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Pawniard, .iconSprite = gMonIcon_Pawniard, .iconPalIndex = 0, + SHADOW(4, 4, SHADOW_SIZE_S) FOOTPRINT(Pawniard) OVERWORLD( sPicTable_Pawniard, @@ -9853,6 +10007,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Bisharp, .iconSprite = gMonIcon_Bisharp, .iconPalIndex = 0, + SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Bisharp) OVERWORLD( sPicTable_Bisharp, @@ -9915,6 +10070,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Kingambit, .iconSprite = gMonIcon_Kingambit, .iconPalIndex = 0, + SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Kingambit) OVERWORLD( sPicTable_Kingambit, @@ -9978,6 +10134,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Bouffalant, .iconSprite = gMonIcon_Bouffalant, .iconPalIndex = 2, + SHADOW(8, 7, SHADOW_SIZE_M) FOOTPRINT(Bouffalant) OVERWORLD( sPicTable_Bouffalant, @@ -10041,6 +10198,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Rufflet, .iconSprite = gMonIcon_Rufflet, .iconPalIndex = 2, + SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Rufflet) OVERWORLD( sPicTable_Rufflet, @@ -10104,6 +10262,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Braviary, .iconSprite = gMonIcon_Braviary, .iconPalIndex = 0, + SHADOW(-1, 16, SHADOW_SIZE_M) FOOTPRINT(Braviary) OVERWORLD( sPicTable_Braviary, @@ -10166,6 +10325,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_BraviaryHisuian, .iconSprite = gMonIcon_BraviaryHisuian, .iconPalIndex = 2, + SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Braviary) OVERWORLD( sPicTable_BraviaryHisuian, @@ -10231,6 +10391,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Vullaby, .iconSprite = gMonIcon_Vullaby, .iconPalIndex = 0, + SHADOW(-1, 9, SHADOW_SIZE_M) FOOTPRINT(Vullaby) OVERWORLD( sPicTable_Vullaby, @@ -10293,6 +10454,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Mandibuzz, .iconSprite = gMonIcon_Mandibuzz, .iconPalIndex = 1, + SHADOW(1, 12, SHADOW_SIZE_M) FOOTPRINT(Mandibuzz) OVERWORLD( sPicTable_Mandibuzz, @@ -10355,6 +10517,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Heatmor, .iconSprite = gMonIcon_Heatmor, .iconPalIndex = 2, + SHADOW(5, 7, SHADOW_SIZE_L) FOOTPRINT(Heatmor) OVERWORLD( sPicTable_Heatmor, @@ -10418,6 +10581,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Durant, .iconSprite = gMonIcon_Durant, .iconPalIndex = 0, + SHADOW(0, -3, SHADOW_SIZE_L) FOOTPRINT(Durant) OVERWORLD( sPicTable_Durant, @@ -10481,6 +10645,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Deino, .iconSprite = gMonIcon_Deino, .iconPalIndex = 2, + SHADOW(1, 3, SHADOW_SIZE_S) FOOTPRINT(Deino) OVERWORLD( sPicTable_Deino, @@ -10543,6 +10708,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Zweilous, .iconSprite = gMonIcon_Zweilous, .iconPalIndex = 2, + SHADOW(1, 6, SHADOW_SIZE_L) FOOTPRINT(Zweilous) OVERWORLD( sPicTable_Zweilous, @@ -10605,6 +10771,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Hydreigon, .iconSprite = gMonIcon_Hydreigon, .iconPalIndex = 2, + SHADOW(1, 16, SHADOW_SIZE_M) FOOTPRINT(Hydreigon) OVERWORLD( sPicTable_Hydreigon, @@ -10667,6 +10834,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Larvesta, .iconSprite = gMonIcon_Larvesta, .iconPalIndex = 0, + SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Larvesta) OVERWORLD( sPicTable_Larvesta, @@ -10732,6 +10900,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Volcarona, .iconSprite = gMonIcon_Volcarona, .iconPalIndex = 0, + SHADOW(-4, 14, SHADOW_SIZE_M) FOOTPRINT(Volcarona) OVERWORLD( sPicTable_Volcarona, @@ -10794,6 +10963,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Cobalion, .iconSprite = gMonIcon_Cobalion, .iconPalIndex = 0, + SHADOW(2, 14, SHADOW_SIZE_M) FOOTPRINT(Cobalion) OVERWORLD( sPicTable_Cobalion, @@ -10858,6 +11028,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Terrakion, .iconSprite = gMonIcon_Terrakion, .iconPalIndex = 2, + SHADOW(3, 6, SHADOW_SIZE_L) FOOTPRINT(Terrakion) OVERWORLD( sPicTable_Terrakion, @@ -10922,6 +11093,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Virizion, .iconSprite = gMonIcon_Virizion, .iconPalIndex = 1, + SHADOW(1, 12, SHADOW_SIZE_M) FOOTPRINT(Virizion) OVERWORLD( sPicTable_Virizion, @@ -10987,6 +11159,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_TornadusIncarnate, .iconSprite = gMonIcon_TornadusIncarnate, .iconPalIndex = 1, + SHADOW(2, 17, SHADOW_SIZE_M) FOOTPRINT(Tornadus) OVERWORLD( sPicTable_TornadusIncarnate, @@ -11051,6 +11224,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_TornadusTherian, .iconSprite = gMonIcon_TornadusTherian, .iconPalIndex = 1, + SHADOW(-5, 12, SHADOW_SIZE_L) FOOTPRINT(Tornadus) .isLegendary = TRUE, .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, @@ -11110,6 +11284,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_ThundurusIncarnate, .iconSprite = gMonIcon_ThundurusIncarnate, .iconPalIndex = 0, + SHADOW(2, 17, SHADOW_SIZE_M) FOOTPRINT(Thundurus) OVERWORLD( sPicTable_ThundurusIncarnate, @@ -11175,6 +11350,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_ThundurusTherian, .iconSprite = gMonIcon_ThundurusTherian, .iconPalIndex = 0, + SHADOW(5, 16, SHADOW_SIZE_M) FOOTPRINT(Thundurus) .isLegendary = TRUE, .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, @@ -11233,6 +11409,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Reshiram, .iconSprite = gMonIcon_Reshiram, .iconPalIndex = 0, + SHADOW(-2, 12, SHADOW_SIZE_L) FOOTPRINT(Reshiram) OVERWORLD( sPicTable_Reshiram, @@ -11298,6 +11475,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Zekrom, .iconSprite = gMonIcon_Zekrom, .iconPalIndex = 2, + SHADOW(2, 14, SHADOW_SIZE_L) FOOTPRINT(Zekrom) OVERWORLD( sPicTable_Zekrom, @@ -11364,6 +11542,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_LandorusIncarnate, .iconSprite = gMonIcon_LandorusIncarnate, .iconPalIndex = 0, + SHADOW(2, 17, SHADOW_SIZE_M) FOOTPRINT(Landorus) OVERWORLD( sPicTable_LandorusIncarnate, @@ -11428,6 +11607,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_LandorusTherian, .iconSprite = gMonIcon_LandorusTherian, .iconPalIndex = 0, + SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Landorus) .isLegendary = TRUE, .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, @@ -11489,6 +11669,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_Kyurem, .iconSprite = gMonIcon_Kyurem, .iconPalIndex = 0, + SHADOW(0, 8, SHADOW_SIZE_L) FOOTPRINT(Kyurem) OVERWORLD( sPicTable_Kyurem, @@ -11561,6 +11742,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_KyuremWhite, .iconSprite = gMonIcon_KyuremWhite, .iconPalIndex = 0, + SHADOW(-8, 14, SHADOW_SIZE_L) FOOTPRINT(Kyurem) .isLegendary = TRUE, .cannotBeTraded = TRUE, @@ -11625,6 +11807,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_KyuremBlack, .iconSprite = gMonIcon_KyuremBlack, .iconPalIndex = 0, + SHADOW(4, 14, SHADOW_SIZE_L) FOOTPRINT(Kyurem) .isLegendary = TRUE, .cannotBeTraded = TRUE, @@ -11685,6 +11868,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_KeldeoOrdinary, .iconSprite = gMonIcon_KeldeoOrdinary, .iconPalIndex = 0, + SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Keldeo) OVERWORLD( sPicTable_KeldeoOrdinary, @@ -11751,6 +11935,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_KeldeoResolute, .iconSprite = gMonIcon_KeldeoResolute, .iconPalIndex = 0, + SHADOW(0, 12, SHADOW_SIZE_M) FOOTPRINT(Keldeo) .isMythical = TRUE, .isFrontierBanned = TRUE, @@ -11816,6 +12001,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_MeloettaAria, .iconSprite = gMonIcon_MeloettaAria, .iconPalIndex = 4, + SHADOW(-1, 10, SHADOW_SIZE_S) FOOTPRINT(Meloetta) OVERWORLD( sPicTable_MeloettaAria, @@ -11886,6 +12072,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_MeloettaPirouette, .iconSprite = gMonIcon_MeloettaPirouette, .iconPalIndex = 0, + SHADOW(0, 16, SHADOW_SIZE_S) FOOTPRINT(Meloetta) OVERWORLD( sPicTable_MeloettaPirouette, @@ -11951,6 +12138,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = .shinyPalette = gMonShinyPalette_##form, \ .iconSprite = gMonIcon_Genesect, \ .iconPalIndex = 2, \ + SHADOW(5, 13, SHADOW_SIZE_L) \ FOOTPRINT(Genesect) \ OVERWORLD( \ sPicTable_Genesect, \ diff --git a/src/data/pokemon/species_info/gen_6_families.h b/src/data/pokemon/species_info/gen_6_families.h index bae2833b9e..90e3d2d51e 100644 --- a/src/data/pokemon/species_info/gen_6_families.h +++ b/src/data/pokemon/species_info/gen_6_families.h @@ -51,6 +51,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Chespin, .iconSprite = gMonIcon_Chespin, .iconPalIndex = 1, + SHADOW(-2, 3, SHADOW_SIZE_S) FOOTPRINT(Chespin) OVERWORLD( sPicTable_Chespin, @@ -113,6 +114,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Quilladin, .iconSprite = gMonIcon_Quilladin, .iconPalIndex = 1, + SHADOW(2, 4, SHADOW_SIZE_M) FOOTPRINT(Quilladin) OVERWORLD( sPicTable_Quilladin, @@ -174,6 +176,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Chesnaught, .iconSprite = gMonIcon_Chesnaught, .iconPalIndex = 1, + SHADOW(4, 10, SHADOW_SIZE_L) FOOTPRINT(Chesnaught) OVERWORLD( sPicTable_Chesnaught, @@ -236,6 +239,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Fennekin, .iconSprite = gMonIcon_Fennekin, .iconPalIndex = 0, + SHADOW(0, 4, SHADOW_SIZE_S) FOOTPRINT(Fennekin) OVERWORLD( sPicTable_Fennekin, @@ -298,6 +302,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Braixen, .iconSprite = gMonIcon_Braixen, .iconPalIndex = 0, + SHADOW(-2, 10, SHADOW_SIZE_M) FOOTPRINT(Braixen) OVERWORLD( sPicTable_Braixen, @@ -359,6 +364,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Delphox, .iconSprite = gMonIcon_Delphox, .iconPalIndex = 0, + SHADOW(7, 14, SHADOW_SIZE_M) FOOTPRINT(Delphox) OVERWORLD( sPicTable_Delphox, @@ -421,6 +427,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Froakie, .iconSprite = gMonIcon_Froakie, .iconPalIndex = 0, + SHADOW(2, 0, SHADOW_SIZE_S) FOOTPRINT(Froakie) OVERWORLD( sPicTable_Froakie, @@ -483,6 +490,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Frogadier, .iconSprite = gMonIcon_Frogadier, .iconPalIndex = 0, + SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Frogadier) OVERWORLD( sPicTable_Frogadier, @@ -541,6 +549,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Greninja, .iconSprite = gMonIcon_Greninja, .iconPalIndex = 0, + SHADOW(4, 6, SHADOW_SIZE_L) FOOTPRINT(Greninja) OVERWORLD( sPicTable_Greninja, @@ -599,6 +608,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Greninja, .iconSprite = gMonIcon_Greninja, .iconPalIndex = 0, + SHADOW(4, 6, SHADOW_SIZE_L) FOOTPRINT(Greninja) OVERWORLD( sPicTable_Greninja, @@ -662,6 +672,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_GreninjaAsh, .iconSprite = gMonIcon_GreninjaAsh, .iconPalIndex = 0, + SHADOW(1, 10, SHADOW_SIZE_L) FOOTPRINT(Greninja) .levelUpLearnset = sGreninjaLevelUpLearnset, .teachableLearnset = sGreninjaTeachableLearnset, @@ -718,6 +729,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Bunnelby, .iconSprite = gMonIcon_Bunnelby, .iconPalIndex = 2, + SHADOW(3, 9, SHADOW_SIZE_S) FOOTPRINT(Bunnelby) OVERWORLD( sPicTable_Bunnelby, @@ -780,6 +792,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Diggersby, .iconSprite = gMonIcon_Diggersby, .iconPalIndex = 2, + SHADOW(8, 10, SHADOW_SIZE_M) FOOTPRINT(Diggersby) OVERWORLD( sPicTable_Diggersby, @@ -842,6 +855,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Fletchling, .iconSprite = gMonIcon_Fletchling, .iconPalIndex = 2, + SHADOW(-2, 0, SHADOW_SIZE_S) FOOTPRINT(Fletchling) OVERWORLD( sPicTable_Fletchling, @@ -905,6 +919,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Fletchinder, .iconSprite = gMonIcon_Fletchinder, .iconPalIndex = 2, + SHADOW(0, 12, SHADOW_SIZE_S) FOOTPRINT(Fletchinder) OVERWORLD( sPicTable_Fletchinder, @@ -967,6 +982,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Talonflame, .iconSprite = gMonIcon_Talonflame, .iconPalIndex = 2, + SHADOW(-2, 17, SHADOW_SIZE_M) FOOTPRINT(Talonflame) OVERWORLD( sPicTable_Talonflame, @@ -1025,6 +1041,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Scatterbug, \ .iconSprite = gMonIcon_Scatterbug, \ .iconPalIndex = 1, \ + SHADOW(1, 1, SHADOW_SIZE_S) \ FOOTPRINT(Scatterbug) \ OVERWORLD( \ sPicTable_Scatterbug, \ @@ -1106,6 +1123,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Spewpa, \ .iconSprite = gMonIcon_Spewpa, \ .iconPalIndex = 1, \ + SHADOW(0, 2, SHADOW_SIZE_M) \ FOOTPRINT(Spewpa) \ OVERWORLD( \ sPicTable_Spewpa, \ @@ -1187,6 +1205,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Vivillon ##form, \ .iconSprite = gMonIcon_Vivillon ##form, \ .iconPalIndex = iconPal, \ + SHADOW(0, 20, SHADOW_SIZE_M) \ FOOTPRINT(Vivillon) \ OVERWORLD( \ sPicTable_Vivillon ##form, \ @@ -1430,6 +1449,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Litleo, .iconSprite = gMonIcon_Litleo, .iconPalIndex = 2, + SHADOW(2, 3, SHADOW_SIZE_S) FOOTPRINT(Litleo) OVERWORLD( sPicTable_Litleo, @@ -1498,6 +1518,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .iconSpriteFemale = gMonIcon_PyroarF, .iconPalIndex = 2, .iconPalIndexFemale = 2, + SHADOW(-2, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Pyroar) OVERWORLD( sPicTable_Pyroar, @@ -1555,6 +1576,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Flabebe##Form##Flower, \ .iconSprite = gMonIcon_Flabebe##Form##Flower, \ .iconPalIndex = iconPal, \ + SHADOW(0, 11, SHADOW_SIZE_S) \ FOOTPRINT(Flabebe) \ OVERWORLD( \ sPicTable_Flabebe##Form##Flower, \ @@ -1642,6 +1664,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Floette ##form##Flower, \ .iconSprite = gMonIcon_Floette##form##Flower, \ .iconPalIndex = iconPal, \ + SHADOW(-3, 12, SHADOW_SIZE_S) \ FOOTPRINT(Floette) \ OVERWORLD( \ sPicTable_Floette ##form##Flower, \ @@ -1789,6 +1812,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Florges##Form##Flower, \ .iconSprite = gMonIcon_Florges##Form##Flower, \ .iconPalIndex = iconPal, \ + SHADOW(-5, 15, SHADOW_SIZE_M) \ FOOTPRINT(Florges) \ OVERWORLD( \ sPicTable_Florges ##Form##Flower, \ @@ -1896,6 +1920,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Skiddo, .iconSprite = gMonIcon_Skiddo, .iconPalIndex = 1, + SHADOW(2, 7, SHADOW_SIZE_M) FOOTPRINT(Skiddo) OVERWORLD( sPicTable_Skiddo, @@ -1958,6 +1983,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Gogoat, .iconSprite = gMonIcon_Gogoat, .iconPalIndex = 1, + SHADOW(2, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Gogoat) OVERWORLD( sPicTable_Gogoat, @@ -2021,6 +2047,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Pancham, .iconSprite = gMonIcon_Pancham, .iconPalIndex = 1, + SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Pancham) OVERWORLD( sPicTable_Pancham, @@ -2084,6 +2111,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Pangoro, .iconSprite = gMonIcon_Pangoro, .iconPalIndex = 1, + SHADOW(-2, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Pangoro) OVERWORLD( sPicTable_Pangoro, @@ -2143,6 +2171,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Furfrou##_form, \ .iconSprite = gMonIcon_Furfrou##_form, \ .iconPalIndex = _iconIdx, \ + SHADOW(3, 10, SHADOW_SIZE_XL_BATTLE_ONLY) \ FOOTPRINT(Furfrou) \ OVERWORLD( \ sPicTable_Furfrou##_form, \ @@ -2219,6 +2248,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Espurr, .iconSprite = gMonIcon_Espurr, .iconPalIndex = 2, + SHADOW(-1, 4, SHADOW_SIZE_S) FOOTPRINT(Espurr) OVERWORLD( sPicTable_Espurr, @@ -2282,6 +2312,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_MeowsticMale, .iconSprite = gMonIcon_MeowsticMale, .iconPalIndex = 0, + SHADOW(-2, 11, SHADOW_SIZE_S) FOOTPRINT(Meowstic) OVERWORLD( sPicTable_MeowsticMale, @@ -2343,6 +2374,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_MeowsticFemale, .iconSprite = gMonIcon_MeowsticFemale, .iconPalIndex = 0, + SHADOW(-2, 12, SHADOW_SIZE_S) FOOTPRINT(Meowstic) OVERWORLD( sPicTable_MeowsticFemale, @@ -2407,6 +2439,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Honedge, .iconSprite = gMonIcon_Honedge, .iconPalIndex = 2, + SHADOW(-10, 11, SHADOW_SIZE_S) FOOTPRINT(Honedge) OVERWORLD( sPicTable_Honedge, @@ -2470,6 +2503,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Doublade, .iconSprite = gMonIcon_Doublade, .iconPalIndex = 2, + SHADOW(8, 11, SHADOW_SIZE_M) FOOTPRINT(Doublade) OVERWORLD( sPicTable_Doublade, @@ -2535,6 +2569,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_AegislashShield, .iconSprite = gMonIcon_AegislashShield, .iconPalIndex = 2, + SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Aegislash) OVERWORLD( sPicTable_AegislashShield, @@ -2604,6 +2639,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_AegislashBlade, .iconSprite = gMonIcon_AegislashBlade, .iconPalIndex = 2, + SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Aegislash) .levelUpLearnset = sAegislashLevelUpLearnset, .teachableLearnset = sAegislashTeachableLearnset, @@ -2661,6 +2697,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Spritzee, .iconSprite = gMonIcon_Spritzee, .iconPalIndex = 0, + SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Spritzee) OVERWORLD( sPicTable_Spritzee, @@ -2724,6 +2761,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Aromatisse, .iconSprite = gMonIcon_Aromatisse, .iconPalIndex = 0, + SHADOW(0, 10, SHADOW_SIZE_M) FOOTPRINT(Aromatisse) OVERWORLD( sPicTable_Aromatisse, @@ -2786,6 +2824,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Swirlix, .iconSprite = gMonIcon_Swirlix, .iconPalIndex = 1, + SHADOW(0, -1, SHADOW_SIZE_S) FOOTPRINT(Swirlix) OVERWORLD( sPicTable_Swirlix, @@ -2849,6 +2888,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Slurpuff, .iconSprite = gMonIcon_Slurpuff, .iconPalIndex = 1, + SHADOW(1, 6, SHADOW_SIZE_M) FOOTPRINT(Slurpuff) OVERWORLD( sPicTable_Slurpuff, @@ -2912,6 +2952,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Inkay, .iconSprite = gMonIcon_Inkay, .iconPalIndex = 0, + SHADOW(-1, 11, SHADOW_SIZE_S) FOOTPRINT(Inkay) OVERWORLD( sPicTable_Inkay, @@ -2974,6 +3015,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Malamar, .iconSprite = gMonIcon_Malamar, .iconPalIndex = 2, + SHADOW(5, 14, SHADOW_SIZE_M) FOOTPRINT(Malamar) OVERWORLD( sPicTable_Malamar, @@ -3036,6 +3078,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Binacle, .iconSprite = gMonIcon_Binacle, .iconPalIndex = 2, + SHADOW(-3, 5, SHADOW_SIZE_M) FOOTPRINT(Binacle) OVERWORLD( sPicTable_Binacle, @@ -3099,6 +3142,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Barbaracle, .iconSprite = gMonIcon_Barbaracle, .iconPalIndex = 2, + SHADOW(4, 14, SHADOW_SIZE_L) FOOTPRINT(Barbaracle) OVERWORLD( sPicTable_Barbaracle, @@ -3161,6 +3205,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Skrelp, .iconSprite = gMonIcon_Skrelp, .iconPalIndex = 2, + SHADOW(3, 5, SHADOW_SIZE_S) FOOTPRINT(Skrelp) OVERWORLD( sPicTable_Skrelp, @@ -3223,6 +3268,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Dragalge, .iconSprite = gMonIcon_Dragalge, .iconPalIndex = 5, + SHADOW(-3, 14, SHADOW_SIZE_M) FOOTPRINT(Dragalge) OVERWORLD( sPicTable_Dragalge, @@ -3286,6 +3332,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Clauncher, .iconSprite = gMonIcon_Clauncher, .iconPalIndex = 0, + SHADOW(4, -6, SHADOW_SIZE_M) FOOTPRINT(Clauncher) OVERWORLD( sPicTable_Clauncher, @@ -3349,6 +3396,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Clawitzer, .iconSprite = gMonIcon_Clawitzer, .iconPalIndex = 0, + SHADOW(6, 1, SHADOW_SIZE_L) FOOTPRINT(Clawitzer) OVERWORLD( sPicTable_Clawitzer, @@ -3411,6 +3459,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Helioptile, .iconSprite = gMonIcon_Helioptile, .iconPalIndex = 2, + SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Helioptile) OVERWORLD( sPicTable_Helioptile, @@ -3474,6 +3523,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Heliolisk, .iconSprite = gMonIcon_Heliolisk, .iconPalIndex = 2, + SHADOW(-2, 10, SHADOW_SIZE_M) FOOTPRINT(Heliolisk) OVERWORLD( sPicTable_Heliolisk, @@ -3536,6 +3586,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Tyrunt, .iconSprite = gMonIcon_Tyrunt, .iconPalIndex = 2, + SHADOW(3, 2, SHADOW_SIZE_M) FOOTPRINT(Tyrunt) OVERWORLD( sPicTable_Tyrunt, @@ -3598,6 +3649,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Tyrantrum, .iconSprite = gMonIcon_Tyrantrum, .iconPalIndex = 0, + SHADOW(-2, 14, SHADOW_SIZE_L) FOOTPRINT(Tyrantrum) OVERWORLD( sPicTable_Tyrantrum, @@ -3660,6 +3712,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Amaura, .iconSprite = gMonIcon_Amaura, .iconPalIndex = 0, + SHADOW(0, 8, SHADOW_SIZE_S) FOOTPRINT(Amaura) OVERWORLD( sPicTable_Amaura, @@ -3722,6 +3775,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Aurorus, .iconSprite = gMonIcon_Aurorus, .iconPalIndex = 0, + SHADOW(-6, 14, SHADOW_SIZE_L) FOOTPRINT(Aurorus) OVERWORLD( sPicTable_Aurorus, @@ -3789,6 +3843,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Hawlucha, .iconSprite = gMonIcon_Hawlucha, .iconPalIndex = 0, + SHADOW(3, 6, SHADOW_SIZE_S) FOOTPRINT(Hawlucha) OVERWORLD( sPicTable_Hawlucha, @@ -3852,6 +3907,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Dedenne, .iconSprite = gMonIcon_Dedenne, .iconPalIndex = 0, + SHADOW(-2, 1, SHADOW_SIZE_S) FOOTPRINT(Dedenne) OVERWORLD( sPicTable_Dedenne, @@ -3917,6 +3973,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Carbink, .iconSprite = gMonIcon_Carbink, .iconPalIndex = 2, + SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Carbink) OVERWORLD( sPicTable_Carbink, @@ -3980,6 +4037,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Goomy, .iconSprite = gMonIcon_Goomy, .iconPalIndex = 5, + SHADOW(-1, -1, SHADOW_SIZE_S) FOOTPRINT(Goomy) OVERWORLD( sPicTable_Goomy, @@ -4044,6 +4102,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Sliggoo, .iconSprite = gMonIcon_Sliggoo, .iconPalIndex = 5, + SHADOW(1, 6, SHADOW_SIZE_S) FOOTPRINT(Sliggoo) OVERWORLD( sPicTable_Sliggoo, @@ -4107,6 +4166,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Goodra, .iconSprite = gMonIcon_Goodra, .iconPalIndex = 5, + SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Goodra) OVERWORLD( sPicTable_Goodra, @@ -4170,6 +4230,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_SliggooHisuian, .iconSprite = gMonIcon_SliggooHisuian, .iconPalIndex = 2, + SHADOW(2, 6, SHADOW_SIZE_M) FOOTPRINT(Sliggoo) OVERWORLD( sPicTable_SliggooHisuian, @@ -4234,6 +4295,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_GoodraHisuian, .iconSprite = gMonIcon_GoodraHisuian, .iconPalIndex = 2, + SHADOW(1, 12, SHADOW_SIZE_M) FOOTPRINT(Goodra) OVERWORLD( sPicTable_GoodraHisuian, @@ -4301,6 +4363,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Klefki, .iconSprite = gMonIcon_Klefki, .iconPalIndex = 0, + SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Klefki) OVERWORLD( sPicTable_Klefki, @@ -4365,6 +4428,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Phantump, .iconSprite = gMonIcon_Phantump, .iconPalIndex = 1, + SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Phantump) OVERWORLD( sPicTable_Phantump, @@ -4428,6 +4492,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Trevenant, .iconSprite = gMonIcon_Trevenant, .iconPalIndex = 1, + SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Trevenant) OVERWORLD( sPicTable_Trevenant, @@ -4490,6 +4555,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Pumpkaboo, .iconSprite = gMonIcon_Pumpkaboo, .iconPalIndex = 2, + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Pumpkaboo) OVERWORLD( sPicTable_PumpkabooAverage, @@ -4553,6 +4619,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Pumpkaboo, .iconSprite = gMonIcon_Pumpkaboo, .iconPalIndex = 2, + SHADOW(-1, -1, SHADOW_SIZE_S) FOOTPRINT(Pumpkaboo) .levelUpLearnset = sPumpkabooLevelUpLearnset, .teachableLearnset = sPumpkabooTeachableLearnset, @@ -4608,6 +4675,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Pumpkaboo, .iconSprite = gMonIcon_Pumpkaboo, .iconPalIndex = 2, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Pumpkaboo) .levelUpLearnset = sPumpkabooLevelUpLearnset, .teachableLearnset = sPumpkabooTeachableLearnset, @@ -4665,6 +4733,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Pumpkaboo, .iconSprite = gMonIcon_Pumpkaboo, .iconPalIndex = 2, + SHADOW(1, 4, SHADOW_SIZE_S) FOOTPRINT(Pumpkaboo) .levelUpLearnset = sPumpkabooLevelUpLearnset, .teachableLearnset = sPumpkabooTeachableLearnset, @@ -4721,6 +4790,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Gourgeist, .iconSprite = gMonIcon_Gourgeist, .iconPalIndex = 2, + SHADOW(3, 10, SHADOW_SIZE_M) FOOTPRINT(Gourgeist) OVERWORLD( sPicTable_GourgeistAverage, @@ -4782,6 +4852,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Gourgeist, .iconSprite = gMonIcon_Gourgeist, .iconPalIndex = 2, + SHADOW(4, 9, SHADOW_SIZE_S) FOOTPRINT(Gourgeist) .levelUpLearnset = sGourgeistLevelUpLearnset, .teachableLearnset = sGourgeistTeachableLearnset, @@ -4835,6 +4906,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Gourgeist, .iconSprite = gMonIcon_Gourgeist, .iconPalIndex = 2, + SHADOW(4, 12, SHADOW_SIZE_M) FOOTPRINT(Gourgeist) .levelUpLearnset = sGourgeistLevelUpLearnset, .teachableLearnset = sGourgeistTeachableLearnset, @@ -4890,6 +4962,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Gourgeist, .iconSprite = gMonIcon_Gourgeist, .iconPalIndex = 2, + SHADOW(4, 14, SHADOW_SIZE_M) FOOTPRINT(Gourgeist) .levelUpLearnset = sGourgeistLevelUpLearnset, .teachableLearnset = sGourgeistTeachableLearnset, @@ -4951,6 +5024,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Bergmite, .iconSprite = gMonIcon_Bergmite, .iconPalIndex = 0, + SHADOW(1, -1, SHADOW_SIZE_S) FOOTPRINT(Bergmite) OVERWORLD( sPicTable_Bergmite, @@ -5014,6 +5088,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Avalugg, .iconSprite = gMonIcon_Avalugg, .iconPalIndex = 0, + SHADOW(1, -1, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Avalugg) OVERWORLD( sPicTable_Avalugg, @@ -5075,6 +5150,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_AvaluggHisuian, .iconSprite = gMonIcon_AvaluggHisuian, .iconPalIndex = 5, + SHADOW(2, -2, SHADOW_SIZE_L) FOOTPRINT(Avalugg) OVERWORLD( sPicTable_AvaluggHisuian, @@ -5145,6 +5221,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Noibat, .iconSprite = gMonIcon_Noibat, .iconPalIndex = 2, + SHADOW(2, 11, SHADOW_SIZE_L) FOOTPRINT(Noibat) OVERWORLD( sPicTable_Noibat, @@ -5211,6 +5288,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Noivern, .iconSprite = gMonIcon_Noivern, .iconPalIndex = 2, + SHADOW(5, 10, SHADOW_SIZE_L) FOOTPRINT(Noivern) OVERWORLD( sPicTable_Noivern, @@ -5269,6 +5347,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_XerneasNeutral, .iconSprite = gMonIcon_XerneasNeutral, .iconPalIndex = 0, + SHADOW(3, 14, SHADOW_SIZE_M) FOOTPRINT(Xerneas) OVERWORLD( sPicTable_XerneasNeutral, @@ -5330,6 +5409,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_XerneasActive, .iconSprite = gMonIcon_XerneasActive, .iconPalIndex = 0, + SHADOW(3, 14, SHADOW_SIZE_M) FOOTPRINT(Xerneas) OVERWORLD( sPicTable_XerneasActive, @@ -5398,6 +5478,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Yveltal, .iconSprite = gMonIcon_Yveltal, .iconPalIndex = 0, + SHADOW(0, 16, SHADOW_SIZE_L) FOOTPRINT(Yveltal) OVERWORLD( sPicTable_Yveltal, @@ -5460,6 +5541,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Zygarde50, .iconSprite = gMonIcon_Zygarde50, .iconPalIndex = 1, + SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(Zygarde) OVERWORLD( sPicTable_Zygarde50, @@ -5521,6 +5603,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Zygarde50, .iconSprite = gMonIcon_Zygarde50, .iconPalIndex = 1, + SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(Zygarde) OVERWORLD( sPicTable_Zygarde50, @@ -5582,6 +5665,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Zygarde10, .iconSprite = gMonIcon_Zygarde10, .iconPalIndex = 1, + SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Zygarde) .isLegendary = TRUE, .isFrontierBanned = TRUE, @@ -5636,6 +5720,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Zygarde10, .iconSprite = gMonIcon_Zygarde10, .iconPalIndex = 1, + SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Zygarde) .isLegendary = TRUE, .isFrontierBanned = TRUE, @@ -5694,6 +5779,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_ZygardeComplete, .iconSprite = gMonIcon_ZygardeComplete, .iconPalIndex = 1, + SHADOW(-3, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Zygarde) .isLegendary = TRUE, .isFrontierBanned = TRUE, @@ -5754,6 +5840,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Diancie, .iconSprite = gMonIcon_Diancie, .iconPalIndex = 1, + SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Diancie) OVERWORLD( sPicTable_Diancie, @@ -5821,6 +5908,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_DiancieMega, .iconSprite = gMonIcon_DiancieMega, .iconPalIndex = 0, + SHADOW(0, 12, SHADOW_SIZE_M) FOOTPRINT(Diancie) .isMythical = TRUE, .isMegaEvolution = TRUE, @@ -5883,6 +5971,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_HoopaConfined, .iconSprite = gMonIcon_HoopaConfined, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Hoopa) OVERWORLD( sPicTable_HoopaConfined, @@ -5949,6 +6038,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_HoopaUnbound, .iconSprite = gMonIcon_HoopaUnbound, .iconPalIndex = 0, + SHADOW(1, 14, SHADOW_SIZE_L) FOOTPRINT(Hoopa) OVERWORLD( sPicTable_HoopaUnbound, @@ -6016,6 +6106,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = .shinyPalette = gMonShinyPalette_Volcanion, .iconSprite = gMonIcon_Volcanion, .iconPalIndex = 0, + SHADOW(0, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Volcanion) OVERWORLD( sPicTable_Volcanion, diff --git a/src/data/pokemon/species_info/gen_7_families.h b/src/data/pokemon/species_info/gen_7_families.h index 0465def06b..b328c2a716 100644 --- a/src/data/pokemon/species_info/gen_7_families.h +++ b/src/data/pokemon/species_info/gen_7_families.h @@ -51,6 +51,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Rowlet, .iconSprite = gMonIcon_Rowlet, .iconPalIndex = 0, + SHADOW(-1, 1, SHADOW_SIZE_S) FOOTPRINT(Rowlet) OVERWORLD( sPicTable_Rowlet, @@ -114,6 +115,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Dartrix, .iconSprite = gMonIcon_Dartrix, .iconPalIndex = 1, + SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Dartrix) OVERWORLD( sPicTable_Dartrix, @@ -176,6 +178,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Decidueye, .iconSprite = gMonIcon_Decidueye, .iconPalIndex = 1, + SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Decidueye) OVERWORLD( sPicTable_Decidueye, @@ -238,6 +241,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_DecidueyeHisuian, .iconSprite = gMonIcon_DecidueyeHisuian, .iconPalIndex = 0, + SHADOW(-1, 14, SHADOW_SIZE_L) FOOTPRINT(Decidueye) OVERWORLD( sPicTable_DecidueyeHisuian, @@ -303,6 +307,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Litten, .iconSprite = gMonIcon_Litten, .iconPalIndex = 0, + SHADOW(1, 1, SHADOW_SIZE_S) FOOTPRINT(Litten) OVERWORLD( sPicTable_Litten, @@ -365,6 +370,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Torracat, .iconSprite = gMonIcon_Torracat, .iconPalIndex = 0, + SHADOW(5, 7, SHADOW_SIZE_M) FOOTPRINT(Torracat) OVERWORLD( sPicTable_Torracat, @@ -426,6 +432,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Incineroar, .iconSprite = gMonIcon_Incineroar, .iconPalIndex = 0, + SHADOW(4, 14, SHADOW_SIZE_L) FOOTPRINT(Incineroar) OVERWORLD( sPicTable_Incineroar, @@ -488,6 +495,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Popplio, .iconSprite = gMonIcon_Popplio, .iconPalIndex = 0, + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Popplio) OVERWORLD( sPicTable_Popplio, @@ -550,6 +558,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Brionne, .iconSprite = gMonIcon_Brionne, .iconPalIndex = 0, + SHADOW(-5, 6, SHADOW_SIZE_M) FOOTPRINT(Brionne) OVERWORLD( sPicTable_Brionne, @@ -611,6 +620,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Primarina, .iconSprite = gMonIcon_Primarina, .iconPalIndex = 0, + SHADOW(-6, 11, SHADOW_SIZE_L) FOOTPRINT(Primarina) OVERWORLD( sPicTable_Primarina, @@ -674,6 +684,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Pikipek, .iconSprite = gMonIcon_Pikipek, .iconPalIndex = 2, + SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Pikipek) OVERWORLD( sPicTable_Pikipek, @@ -737,6 +748,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Trumbeak, .iconSprite = gMonIcon_Trumbeak, .iconPalIndex = 0, + SHADOW(1, 8, SHADOW_SIZE_S) FOOTPRINT(Trumbeak) OVERWORLD( sPicTable_Trumbeak, @@ -799,6 +811,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Toucannon, .iconSprite = gMonIcon_Toucannon, .iconPalIndex = 0, + SHADOW(9, 12, SHADOW_SIZE_M) FOOTPRINT(Toucannon) OVERWORLD( sPicTable_Toucannon, @@ -862,6 +875,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Yungoos, .iconSprite = gMonIcon_Yungoos, .iconPalIndex = 2, + SHADOW(-9, 1, SHADOW_SIZE_M) FOOTPRINT(Yungoos) OVERWORLD( sPicTable_Yungoos, @@ -921,6 +935,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Gumshoos, .iconSprite = gMonIcon_Gumshoos, .iconPalIndex = 2, + SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Gumshoos) OVERWORLD( sPicTable_Gumshoos, @@ -979,6 +994,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Gumshoos, .iconSprite = gMonIcon_Gumshoos, .iconPalIndex = 2, + SHADOW(-2, 8, SHADOW_SIZE_M) FOOTPRINT(Gumshoos) OVERWORLD( sPicTable_Gumshoos, @@ -1044,6 +1060,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Grubbin, .iconSprite = gMonIcon_Grubbin, .iconPalIndex = 0, + SHADOW(0, -4, SHADOW_SIZE_M) FOOTPRINT(Grubbin) OVERWORLD( sPicTable_Grubbin, @@ -1107,6 +1124,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Charjabug, .iconSprite = gMonIcon_Charjabug, .iconPalIndex = 1, + NO_SHADOW FOOTPRINT(Charjabug) OVERWORLD( sPicTable_Charjabug, @@ -1167,6 +1185,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Vikavolt, .iconSprite = gMonIcon_Vikavolt, .iconPalIndex = 0, + SHADOW(-1, 16, SHADOW_SIZE_S) FOOTPRINT(Vikavolt) OVERWORLD( sPicTable_Vikavolt, @@ -1225,6 +1244,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Vikavolt, .iconSprite = gMonIcon_Vikavolt, .iconPalIndex = 0, + SHADOW(-1, 16, SHADOW_SIZE_S) FOOTPRINT(Vikavolt) OVERWORLD( sPicTable_Vikavolt, @@ -1291,6 +1311,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Crabrawler, .iconSprite = gMonIcon_Crabrawler, .iconPalIndex = 2, + SHADOW(7, 6, SHADOW_SIZE_M) FOOTPRINT(Crabrawler) OVERWORLD( sPicTable_Crabrawler, @@ -1355,6 +1376,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Crabominable, .iconSprite = gMonIcon_Crabominable, .iconPalIndex = 2, + SHADOW(1, 14, SHADOW_SIZE_L) FOOTPRINT(Crabominable) OVERWORLD( sPicTable_Crabominable, @@ -1418,6 +1440,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_OricorioBaile, .iconSprite = gMonIcon_OricorioBaile, .iconPalIndex = 0, + SHADOW(-4, 9, SHADOW_SIZE_S) FOOTPRINT(Oricorio) OVERWORLD( sPicTable_OricorioBaile, @@ -1482,6 +1505,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_OricorioPomPom, .iconSprite = gMonIcon_OricorioPomPom, .iconPalIndex = 1, + SHADOW(5, 8, SHADOW_SIZE_S) FOOTPRINT(Oricorio) .levelUpLearnset = sOricorioLevelUpLearnset, .teachableLearnset = sOricorioTeachableLearnset, @@ -1538,6 +1562,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_OricorioPau, .iconSprite = gMonIcon_OricorioPau, .iconPalIndex = 1, + SHADOW(-3, 11, SHADOW_SIZE_S) FOOTPRINT(Oricorio) .levelUpLearnset = sOricorioLevelUpLearnset, .teachableLearnset = sOricorioTeachableLearnset, @@ -1594,6 +1619,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_OricorioSensu, .iconSprite = gMonIcon_OricorioSensu, .iconPalIndex = 0, + SHADOW(7, 10, SHADOW_SIZE_S) FOOTPRINT(Oricorio) .levelUpLearnset = sOricorioLevelUpLearnset, .teachableLearnset = sOricorioTeachableLearnset, @@ -1653,6 +1679,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Cutiefly, .iconSprite = gMonIcon_Cutiefly, .iconPalIndex = 2, + SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Cutiefly) OVERWORLD( sPicTable_Cutiefly, @@ -1714,6 +1741,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Ribombee, .iconSprite = gMonIcon_Ribombee, .iconPalIndex = 2, + SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Ribombee) OVERWORLD( sPicTable_Ribombee, @@ -1773,6 +1801,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Ribombee, .iconSprite = gMonIcon_Ribombee, .iconPalIndex = 2, + SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Ribombee) OVERWORLD( sPicTable_Ribombee, @@ -1834,6 +1863,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Rockruff, .iconSprite = gMonIcon_Rockruff, .iconPalIndex = 2, + SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Rockruff) OVERWORLD( sPicTable_Rockruff, @@ -1894,6 +1924,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Rockruff, .iconSprite = gMonIcon_Rockruff, .iconPalIndex = 2, + SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Rockruff) OVERWORLD( sPicTable_Rockruff, @@ -1957,6 +1988,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_LycanrocMidday, .iconSprite = gMonIcon_LycanrocMidday, .iconPalIndex = 2, + SHADOW(5, 7, SHADOW_SIZE_L) FOOTPRINT(Lycanroc) OVERWORLD( sPicTable_LycanrocMidday, @@ -2018,6 +2050,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_LycanrocMidnight, .iconSprite = gMonIcon_LycanrocMidnight, .iconPalIndex = 0, + SHADOW(5, 13, SHADOW_SIZE_L) FOOTPRINT(Lycanroc) OVERWORLD( sPicTable_LycanrocMidnight, @@ -2079,6 +2112,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_LycanrocDusk, .iconSprite = gMonIcon_LycanrocDusk, .iconPalIndex = 0, + SHADOW(5, 7, SHADOW_SIZE_L) FOOTPRINT(Lycanroc) OVERWORLD( sPicTable_LycanrocDusk, @@ -2143,6 +2177,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_WishiwashiSolo, .iconSprite = gMonIcon_WishiwashiSolo, .iconPalIndex = 2, + SHADOW(-1, 3, SHADOW_SIZE_S) FOOTPRINT(Wishiwashi) OVERWORLD( sPicTable_WishiwashiSolo, @@ -2206,6 +2241,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_WishiwashiSchool, .iconSprite = gMonIcon_WishiwashiSchool, .iconPalIndex = 0, + SHADOW(-4, 7, SHADOW_SIZE_L) FOOTPRINT(Wishiwashi) .levelUpLearnset = sWishiwashiLevelUpLearnset, .teachableLearnset = sWishiwashiTeachableLearnset, @@ -2264,6 +2300,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Mareanie, .iconSprite = gMonIcon_Mareanie, .iconPalIndex = 2, + SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Mareanie) OVERWORLD( sPicTable_Mareanie, @@ -2327,6 +2364,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Toxapex, .iconSprite = gMonIcon_Toxapex, .iconPalIndex = 0, + SHADOW(0, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Toxapex) OVERWORLD( sPicTable_Toxapex, @@ -2390,6 +2428,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Mudbray, .iconSprite = gMonIcon_Mudbray, .iconPalIndex = 2, + SHADOW(2, 6, SHADOW_SIZE_M) FOOTPRINT(Mudbray) OVERWORLD( sPicTable_Mudbray, @@ -2453,6 +2492,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Mudsdale, .iconSprite = gMonIcon_Mudsdale, .iconPalIndex = 0, + SHADOW(4, 13, SHADOW_SIZE_L) FOOTPRINT(Mudsdale) OVERWORLD( sPicTable_Mudsdale, @@ -2516,6 +2556,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Dewpider, .iconSprite = gMonIcon_Dewpider, .iconPalIndex = 0, + SHADOW(1, 2, SHADOW_SIZE_S) FOOTPRINT(Dewpider) OVERWORLD( sPicTable_Dewpider, @@ -2576,6 +2617,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Araquanid, .iconSprite = gMonIcon_Araquanid, .iconPalIndex = 2, + SHADOW(-6, 9, SHADOW_SIZE_M) FOOTPRINT(Araquanid) OVERWORLD( sPicTable_Araquanid, @@ -2634,6 +2676,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Araquanid, .iconSprite = gMonIcon_Araquanid, .iconPalIndex = 2, + SHADOW(-6, 9, SHADOW_SIZE_S) FOOTPRINT(Araquanid) OVERWORLD( sPicTable_Araquanid, @@ -2700,6 +2743,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Fomantis, .iconSprite = gMonIcon_Fomantis, .iconPalIndex = 1, + SHADOW(0, 3, SHADOW_SIZE_S) FOOTPRINT(Fomantis) OVERWORLD( sPicTable_Fomantis, @@ -2760,6 +2804,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Lurantis, .iconSprite = gMonIcon_Lurantis, .iconPalIndex = 1, + SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Lurantis) OVERWORLD( sPicTable_Lurantis, @@ -2818,6 +2863,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Lurantis, .iconSprite = gMonIcon_Lurantis, .iconPalIndex = 1, + SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Lurantis) OVERWORLD( sPicTable_Lurantis, @@ -2885,6 +2931,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Morelull, .iconSprite = gMonIcon_Morelull, .iconPalIndex = 0, + SHADOW(-1, 4, SHADOW_SIZE_S) FOOTPRINT(Morelull) OVERWORLD( sPicTable_Morelull, @@ -2949,6 +2996,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Shiinotic, .iconSprite = gMonIcon_Shiinotic, .iconPalIndex = 1, + SHADOW(0, 10, SHADOW_SIZE_S) FOOTPRINT(Shiinotic) OVERWORLD( sPicTable_Shiinotic, @@ -3012,6 +3060,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Salandit, .iconSprite = gMonIcon_Salandit, .iconPalIndex = 2, + SHADOW(3, 1, SHADOW_SIZE_M) FOOTPRINT(Salandit) OVERWORLD( sPicTable_Salandit, @@ -3072,6 +3121,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Salazzle, .iconSprite = gMonIcon_Salazzle, .iconPalIndex = 0, + SHADOW(-4, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Salazzle) OVERWORLD( sPicTable_Salazzle, @@ -3130,6 +3180,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Salazzle, .iconSprite = gMonIcon_Salazzle, .iconPalIndex = 0, + SHADOW(-4, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Salazzle) OVERWORLD( sPicTable_Salazzle, @@ -3195,6 +3246,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Stufful, .iconSprite = gMonIcon_Stufful, .iconPalIndex = 0, + SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Stufful) OVERWORLD( sPicTable_Stufful, @@ -3257,6 +3309,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Bewear, .iconSprite = gMonIcon_Bewear, .iconPalIndex = 0, + SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Bewear) OVERWORLD( sPicTable_Bewear, @@ -3320,6 +3373,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Bounsweet, .iconSprite = gMonIcon_Bounsweet, .iconPalIndex = 1, + SHADOW(-2, -3, SHADOW_SIZE_S) FOOTPRINT(Bounsweet) OVERWORLD( sPicTable_Bounsweet, @@ -3384,6 +3438,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Steenee, .iconSprite = gMonIcon_Steenee, .iconPalIndex = 1, + SHADOW(-2, 7, SHADOW_SIZE_S) FOOTPRINT(Steenee) OVERWORLD( sPicTable_Steenee, @@ -3447,6 +3502,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Tsareena, .iconSprite = gMonIcon_Tsareena, .iconPalIndex = 1, + SHADOW(1, 13, SHADOW_SIZE_M) FOOTPRINT(Tsareena) OVERWORLD( sPicTable_Tsareena, @@ -3512,6 +3568,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Comfey, .iconSprite = gMonIcon_Comfey, .iconPalIndex = 1, + SHADOW(0, 10, SHADOW_SIZE_M) FOOTPRINT(Comfey) OVERWORLD( sPicTable_Comfey, @@ -3575,6 +3632,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Oranguru, .iconSprite = gMonIcon_Oranguru, .iconPalIndex = 0, + SHADOW(-2, 6, SHADOW_SIZE_M) FOOTPRINT(Oranguru) OVERWORLD( sPicTable_Oranguru, @@ -3638,6 +3696,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Passimian, .iconSprite = gMonIcon_Passimian, .iconPalIndex = 1, + SHADOW(-4, 12, SHADOW_SIZE_L) FOOTPRINT(Passimian) OVERWORLD( sPicTable_Passimian, @@ -3701,6 +3760,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Wimpod, .iconSprite = gMonIcon_Wimpod, .iconPalIndex = 2, + SHADOW(-4, -3, SHADOW_SIZE_S) FOOTPRINT(Wimpod) OVERWORLD( sPicTable_Wimpod, @@ -3763,6 +3823,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Golisopod, .iconSprite = gMonIcon_Golisopod, .iconPalIndex = 2, + SHADOW(2, 13, SHADOW_SIZE_L) FOOTPRINT(Golisopod) OVERWORLD( sPicTable_Golisopod, @@ -3826,6 +3887,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Sandygast, .iconSprite = gMonIcon_Sandygast, .iconPalIndex = 1, + NO_SHADOW FOOTPRINT(Sandygast) OVERWORLD( sPicTable_Sandygast, @@ -3889,6 +3951,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Palossand, .iconSprite = gMonIcon_Palossand, .iconPalIndex = 2, + NO_SHADOW FOOTPRINT(Palossand) OVERWORLD( sPicTable_Palossand, @@ -3951,6 +4014,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Pyukumuku, .iconSprite = gMonIcon_Pyukumuku, .iconPalIndex = 0, + SHADOW(-3, -3, SHADOW_SIZE_S) FOOTPRINT(Pyukumuku) OVERWORLD( sPicTable_Pyukumuku, @@ -4014,6 +4078,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_TypeNull, .iconSprite = gMonIcon_TypeNull, .iconPalIndex = 0, + SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Type_Null) OVERWORLD( sPicTable_TypeNull, @@ -4075,6 +4140,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Silvally##_palette, \ .iconSprite = gMonIcon_Silvally, \ .iconPalIndex = 0, \ + SHADOW(1, 13, SHADOW_SIZE_L) \ FOOTPRINT(Silvally) \ OVERWORLD( \ sPicTable_Silvally, \ @@ -4166,6 +4232,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_MiniorMeteor, \ .iconSprite = gMonIcon_MiniorMeteor, \ .iconPalIndex = 0, \ + SHADOW(0, 14, SHADOW_SIZE_S) \ OVERWORLD( \ sPicTable_MiniorMeteor, \ SIZE_32x32, \ @@ -4202,6 +4269,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_MiniorCore, \ .iconSprite = gMonIcon_MiniorCore##Form, \ .iconPalIndex = iconPal, \ + SHADOW(-2, 12, SHADOW_SIZE_S) \ .formChangeTable = sMinior ##Form##FormChangeTable, \ MINIOR_MISC_INFO(color), \ } @@ -4270,6 +4338,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Komala, .iconSprite = gMonIcon_Komala, .iconPalIndex = 2, + SHADOW(-4, 0, SHADOW_SIZE_S) FOOTPRINT(Komala) OVERWORLD( sPicTable_Komala, @@ -4334,6 +4403,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Turtonator, .iconSprite = gMonIcon_Turtonator, .iconPalIndex = 0, + SHADOW(-3, 12, SHADOW_SIZE_L) FOOTPRINT(Turtonator) OVERWORLD( sPicTable_Turtonator, @@ -4394,6 +4464,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Togedemaru, .iconSprite = gMonIcon_Togedemaru, .iconPalIndex = 2, + SHADOW(-1, 4, SHADOW_SIZE_S) FOOTPRINT(Togedemaru) OVERWORLD( sPicTable_Togedemaru, @@ -4453,6 +4524,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Togedemaru, .iconSprite = gMonIcon_Togedemaru, .iconPalIndex = 2, + SHADOW(-1, 4, SHADOW_SIZE_S) FOOTPRINT(Togedemaru) OVERWORLD( sPicTable_Togedemaru, @@ -4516,6 +4588,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_MimikyuDisguised, .iconSprite = gMonIcon_MimikyuDisguised, .iconPalIndex = 1, + SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Mimikyu) OVERWORLD( sPicTable_MimikyuDisguised, @@ -4576,6 +4649,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_MimikyuBusted, .iconSprite = gMonIcon_MimikyuBusted, .iconPalIndex = 1, + SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Mimikyu) .levelUpLearnset = sMimikyuLevelUpLearnset, .teachableLearnset = sMimikyuTeachableLearnset, @@ -4628,6 +4702,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_MimikyuDisguised, .iconSprite = gMonIcon_MimikyuDisguised, .iconPalIndex = 1, + SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Mimikyu) .isTotem = TRUE, .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, @@ -4682,6 +4757,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_MimikyuBusted, .iconSprite = gMonIcon_MimikyuBusted, .iconPalIndex = 1, + SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Mimikyu) .isTotem = TRUE, .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, @@ -4742,6 +4818,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Bruxish, .iconSprite = gMonIcon_Bruxish, .iconPalIndex = 0, + SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Bruxish) OVERWORLD( sPicTable_Bruxish, @@ -4806,6 +4883,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Drampa, .iconSprite = gMonIcon_Drampa, .iconPalIndex = 0, + SHADOW(5, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Drampa) OVERWORLD( sPicTable_Drampa, @@ -4871,6 +4949,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Dhelmise, .iconSprite = gMonIcon_Dhelmise, .iconPalIndex = 1, + SHADOW(-1, 12, SHADOW_SIZE_M) FOOTPRINT(Dhelmise) OVERWORLD( sPicTable_Dhelmise, @@ -4934,6 +5013,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_JangmoO, .iconSprite = gMonIcon_JangmoO, .iconPalIndex = 2, + SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(JangmoO) OVERWORLD( sPicTable_JangmoO, @@ -4997,6 +5077,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_HakamoO, .iconSprite = gMonIcon_HakamoO, .iconPalIndex = 2, + SHADOW(-2, 12, SHADOW_SIZE_M) FOOTPRINT(HakamoO) OVERWORLD( sPicTable_HakamoO, @@ -5056,6 +5137,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_KommoO, .iconSprite = gMonIcon_KommoO, .iconPalIndex = 2, + SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(KommoO) OVERWORLD( sPicTable_KommoO, @@ -5114,6 +5196,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_KommoO, .iconSprite = gMonIcon_KommoO, .iconPalIndex = 2, + SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(KommoO) OVERWORLD( sPicTable_KommoO, @@ -5180,6 +5263,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_TapuKoko, .iconSprite = gMonIcon_TapuKoko, .iconPalIndex = 0, + SHADOW(-1, 19, SHADOW_SIZE_M) FOOTPRINT(TapuKoko) OVERWORLD( sPicTable_TapuKoko, @@ -5245,6 +5329,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_TapuLele, .iconSprite = gMonIcon_TapuLele, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(TapuLele) OVERWORLD( sPicTable_TapuLele, @@ -5310,6 +5395,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_TapuBulu, .iconSprite = gMonIcon_TapuBulu, .iconPalIndex = 2, + SHADOW(4, 16, SHADOW_SIZE_M) FOOTPRINT(TapuBulu) OVERWORLD( sPicTable_TapuBulu, @@ -5376,6 +5462,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_TapuFini, .iconSprite = gMonIcon_TapuFini, .iconPalIndex = 0, + SHADOW(1, 15, SHADOW_SIZE_M) FOOTPRINT(TapuFini) OVERWORLD( sPicTable_TapuFini, @@ -5441,6 +5528,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Cosmog, .iconSprite = gMonIcon_Cosmog, .iconPalIndex = 2, + SHADOW(0, 8, SHADOW_SIZE_S) FOOTPRINT(Cosmog) OVERWORLD( sPicTable_Cosmog, @@ -5508,6 +5596,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Cosmoem, .iconSprite = gMonIcon_Cosmoem, .iconPalIndex = 0, + SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Cosmoem) OVERWORLD( sPicTable_Cosmoem, @@ -5574,6 +5663,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Solgaleo, .iconSprite = gMonIcon_Solgaleo, .iconPalIndex = 0, + SHADOW(-1, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Solgaleo) OVERWORLD( sPicTable_Solgaleo, @@ -5638,6 +5728,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Lunala, .iconSprite = gMonIcon_Lunala, .iconPalIndex = 2, + SHADOW(4, 17, SHADOW_SIZE_L) FOOTPRINT(Lunala) OVERWORLD( sPicTable_Lunala, @@ -5704,6 +5795,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Nihilego, .iconSprite = gMonIcon_Nihilego, .iconPalIndex = 0, + SHADOW(-2, 14, SHADOW_SIZE_S) FOOTPRINT(Nihilego) OVERWORLD( sPicTable_Nihilego, @@ -5769,6 +5861,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Buzzwole, .iconSprite = gMonIcon_Buzzwole, .iconPalIndex = 0, + SHADOW(-2, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Buzzwole) OVERWORLD( sPicTable_Buzzwole, @@ -5833,6 +5926,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Pheromosa, .iconSprite = gMonIcon_Pheromosa, .iconPalIndex = 2, + SHADOW(0, 13, SHADOW_SIZE_S) FOOTPRINT(Pheromosa) OVERWORLD( sPicTable_Pheromosa, @@ -5897,6 +5991,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Xurkitree, .iconSprite = gMonIcon_Xurkitree, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(Xurkitree) OVERWORLD( sPicTable_Xurkitree, @@ -5963,6 +6058,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Celesteela, .iconSprite = gMonIcon_Celesteela, .iconPalIndex = 0, + SHADOW(-1, 13, SHADOW_SIZE_M) FOOTPRINT(Celesteela) OVERWORLD( sPicTable_Celesteela, @@ -6028,6 +6124,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Kartana, .iconSprite = gMonIcon_Kartana, .iconPalIndex = 0, + SHADOW(2, 14, SHADOW_SIZE_M) FOOTPRINT(Kartana) OVERWORLD( sPicTable_Kartana, @@ -6092,6 +6189,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Guzzlord, .iconSprite = gMonIcon_Guzzlord, .iconPalIndex = 0, + SHADOW(4, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Guzzlord) OVERWORLD( sPicTable_Guzzlord, @@ -6159,6 +6257,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Necrozma, .iconSprite = gMonIcon_Necrozma, .iconPalIndex = 0, + SHADOW(-1, 15, SHADOW_SIZE_M) FOOTPRINT(Necrozma) OVERWORLD( sPicTable_Necrozma, @@ -6225,6 +6324,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_NecrozmaDuskMane, .iconSprite = gMonIcon_NecrozmaDuskMane, .iconPalIndex = 0, + SHADOW(-3, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Necrozma) OVERWORLD( sPicTable_NecrozmaDuskMane, @@ -6293,6 +6393,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_NecrozmaDawnWings, .iconSprite = gMonIcon_NecrozmaDawnWings, .iconPalIndex = 0, + SHADOW(3, 17, SHADOW_SIZE_L) FOOTPRINT(Necrozma) OVERWORLD( sPicTable_NecrozmaDawnWings, @@ -6364,6 +6465,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_NecrozmaUltra, .iconSprite = gMonIcon_NecrozmaUltra, .iconPalIndex = 2, + SHADOW(-1, 16, SHADOW_SIZE_L) FOOTPRINT(Necrozma) .isLegendary = TRUE, .isUltraBurst = TRUE, @@ -6426,6 +6528,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Magearna, .iconSprite = gMonIcon_Magearna, .iconPalIndex = 0, + SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Magearna) OVERWORLD( sPicTable_Magearna, @@ -6489,6 +6592,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_MagearnaOriginalColor, .iconSprite = gMonIcon_MagearnaOriginalColor, .iconPalIndex = 0, + SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Magearna) .isMythical = TRUE, .isFrontierBanned = TRUE, @@ -6549,6 +6653,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Marshadow, .iconSprite = gMonIcon_Marshadow, .iconPalIndex = 0, + SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Marshadow) OVERWORLD( sPicTable_Marshadow, @@ -6614,6 +6719,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Poipole, .iconSprite = gMonIcon_Poipole, .iconPalIndex = 0, + SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Poipole) OVERWORLD( sPicTable_Poipole, @@ -6677,6 +6783,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Naganadel, .iconSprite = gMonIcon_Naganadel, .iconPalIndex = 0, + SHADOW(7, 17, SHADOW_SIZE_M) FOOTPRINT(Naganadel) OVERWORLD( sPicTable_Naganadel, @@ -6741,6 +6848,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Stakataka, .iconSprite = gMonIcon_Stakataka, .iconPalIndex = 0, + SHADOW(2, 15, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Stakataka) OVERWORLD( sPicTable_Stakataka, @@ -6805,6 +6913,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Blacephalon, .iconSprite = gMonIcon_Blacephalon, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Blacephalon) OVERWORLD( sPicTable_Blacephalon, @@ -6868,6 +6977,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Zeraora, .iconSprite = gMonIcon_Zeraora, .iconPalIndex = 0, + SHADOW(0, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Zeraora) OVERWORLD( sPicTable_Zeraora, @@ -6932,6 +7042,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Meltan, .iconSprite = gMonIcon_Meltan, .iconPalIndex = 2, + SHADOW(-1, 2, SHADOW_SIZE_S) FOOTPRINT(Meltan) OVERWORLD( sPicTable_Meltan, @@ -6994,6 +7105,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_Melmetal, .iconSprite = gMonIcon_Melmetal, .iconPalIndex = 2, + SHADOW(3, 10, SHADOW_SIZE_L) FOOTPRINT(Melmetal) OVERWORLD( sPicTable_Melmetal, @@ -7060,6 +7172,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = .shinyPalette = gMonShinyPalette_MelmetalGigantamax, .iconSprite = gMonIcon_MelmetalGigantamax, .iconPalIndex = 0, + SHADOW(2, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Melmetal) .isMythical = TRUE, .isGigantamax = TRUE, diff --git a/src/data/pokemon/species_info/gen_8_families.h b/src/data/pokemon/species_info/gen_8_families.h index a18f314547..b40b31a25d 100644 --- a/src/data/pokemon/species_info/gen_8_families.h +++ b/src/data/pokemon/species_info/gen_8_families.h @@ -51,6 +51,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Grookey, .iconSprite = gMonIcon_Grookey, .iconPalIndex = 1, + SHADOW(1, 1, SHADOW_SIZE_S) FOOTPRINT(Grookey) OVERWORLD( sPicTable_Grookey, @@ -112,6 +113,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Thwackey, .iconSprite = gMonIcon_Thwackey, .iconPalIndex = 1, + SHADOW(5, 6, SHADOW_SIZE_M) FOOTPRINT(Thwackey) OVERWORLD( sPicTable_Thwackey, @@ -172,6 +174,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Rillaboom, .iconSprite = gMonIcon_Rillaboom, .iconPalIndex = 1, + SHADOW(2, 8, SHADOW_SIZE_L) FOOTPRINT(Rillaboom) OVERWORLD( sPicTable_Rillaboom, @@ -234,6 +237,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_RillaboomGigantamax, .iconSprite = gMonIcon_RillaboomGigantamax, .iconPalIndex = 1, + SHADOW(0, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Rillaboom) .isGigantamax = TRUE, .levelUpLearnset = sRillaboomLevelUpLearnset, @@ -292,6 +296,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Scorbunny, .iconSprite = gMonIcon_Scorbunny, .iconPalIndex = 0, + SHADOW(-1, 6, SHADOW_SIZE_S) FOOTPRINT(Scorbunny) OVERWORLD( sPicTable_Scorbunny, @@ -353,6 +358,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Raboot, .iconSprite = gMonIcon_Raboot, .iconPalIndex = 0, + SHADOW(-4, 5, SHADOW_SIZE_S) FOOTPRINT(Raboot) OVERWORLD( sPicTable_Raboot, @@ -414,6 +420,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Cinderace, .iconSprite = gMonIcon_Cinderace, .iconPalIndex = 0, + SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Cinderace) OVERWORLD( sPicTable_Cinderace, @@ -477,6 +484,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_CinderaceGigantamax, .iconSprite = gMonIcon_CinderaceGigantamax, .iconPalIndex = 0, + SHADOW(-3, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Cinderace) .isGigantamax = TRUE, .levelUpLearnset = sCinderaceLevelUpLearnset, @@ -536,6 +544,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Sobble, .iconSprite = gMonIcon_Sobble, .iconPalIndex = 2, + SHADOW(-3, 3, SHADOW_SIZE_S) FOOTPRINT(Sobble) OVERWORLD( sPicTable_Sobble, @@ -597,6 +606,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Drizzile, .iconSprite = gMonIcon_Drizzile, .iconPalIndex = 2, + SHADOW(2, 5, SHADOW_SIZE_M) FOOTPRINT(Drizzile) OVERWORLD( sPicTable_Drizzile, @@ -658,6 +668,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Inteleon, .iconSprite = gMonIcon_Inteleon, .iconPalIndex = 0, + SHADOW(-5, 12, SHADOW_SIZE_S) FOOTPRINT(Inteleon) OVERWORLD( sPicTable_Inteleon, @@ -721,6 +732,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_InteleonGigantamax, .iconSprite = gMonIcon_InteleonGigantamax, .iconPalIndex = 0, + SHADOW(-5, 12, SHADOW_SIZE_L) FOOTPRINT(Inteleon) .isGigantamax = TRUE, .levelUpLearnset = sInteleonLevelUpLearnset, @@ -779,6 +791,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Skwovet, .iconSprite = gMonIcon_Skwovet, .iconPalIndex = 2, + SHADOW(-7, 5, SHADOW_SIZE_S) FOOTPRINT(Skwovet) OVERWORLD( sPicTable_Skwovet, @@ -842,6 +855,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Greedent, .iconSprite = gMonIcon_Greedent, .iconPalIndex = 0, + SHADOW(-11, 10, SHADOW_SIZE_M) FOOTPRINT(Greedent) OVERWORLD( sPicTable_Greedent, @@ -904,6 +918,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Rookidee, .iconSprite = gMonIcon_Rookidee, .iconPalIndex = 0, + SHADOW(-1, -3, SHADOW_SIZE_S) FOOTPRINT(Rookidee) OVERWORLD( sPicTable_Rookidee, @@ -967,6 +982,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Corvisquire, .iconSprite = gMonIcon_Corvisquire, .iconPalIndex = 0, + SHADOW(2, 16, SHADOW_SIZE_S) FOOTPRINT(Corvisquire) OVERWORLD( sPicTable_Corvisquire, @@ -1028,6 +1044,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Corviknight, .iconSprite = gMonIcon_Corviknight, .iconPalIndex = 0, + SHADOW(-1, 9, SHADOW_SIZE_L) FOOTPRINT(Corviknight) OVERWORLD( sPicTable_Corviknight, @@ -1091,6 +1108,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_CorviknightGigantamax, .iconSprite = gMonIcon_CorviknightGigantamax, .iconPalIndex = 0, + SHADOW(2, 8, SHADOW_SIZE_L) FOOTPRINT(Corviknight) .isGigantamax = TRUE, .levelUpLearnset = sCorviknightLevelUpLearnset, @@ -1148,6 +1166,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Blipbug, .iconSprite = gMonIcon_Blipbug, .iconPalIndex = 0, + SHADOW(2, 1, SHADOW_SIZE_S) FOOTPRINT(Blipbug) OVERWORLD( sPicTable_Blipbug, @@ -1212,6 +1231,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Dottler, .iconSprite = gMonIcon_Dottler, .iconPalIndex = 2, + SHADOW(-1, 0, SHADOW_SIZE_M) FOOTPRINT(Dottler) OVERWORLD( sPicTable_Dottler, @@ -1275,6 +1295,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Orbeetle, .iconSprite = gMonIcon_Orbeetle, .iconPalIndex = 0, + SHADOW(0, 15, SHADOW_SIZE_M) FOOTPRINT(Orbeetle) OVERWORLD( sPicTable_Orbeetle, @@ -1339,6 +1360,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_OrbeetleGigantamax, .iconSprite = gMonIcon_OrbeetleGigantamax, .iconPalIndex = 0, + SHADOW(0, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Orbeetle) .isGigantamax = TRUE, .levelUpLearnset = sOrbeetleLevelUpLearnset, @@ -1397,6 +1419,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Nickit, .iconSprite = gMonIcon_Nickit, .iconPalIndex = 2, + SHADOW(0, 4, SHADOW_SIZE_M) FOOTPRINT(Nickit) OVERWORLD( sPicTable_Nickit, @@ -1459,6 +1482,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Thievul, .iconSprite = gMonIcon_Thievul, .iconPalIndex = 2, + SHADOW(-9, 7, SHADOW_SIZE_M) FOOTPRINT(Thievul) OVERWORLD( sPicTable_Thievul, @@ -1521,6 +1545,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Gossifleur, .iconSprite = gMonIcon_Gossifleur, .iconPalIndex = 1, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Gossifleur) OVERWORLD( sPicTable_Gossifleur, @@ -1583,6 +1608,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Eldegoss, .iconSprite = gMonIcon_Eldegoss, .iconPalIndex = 1, + SHADOW(-2, 8, SHADOW_SIZE_S) FOOTPRINT(Eldegoss) OVERWORLD( sPicTable_Eldegoss, @@ -1645,6 +1671,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Wooloo, .iconSprite = gMonIcon_Wooloo, .iconPalIndex = 0, + SHADOW(1, 1, SHADOW_SIZE_S) FOOTPRINT(Wooloo) OVERWORLD( sPicTable_Wooloo, @@ -1707,6 +1734,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Dubwool, .iconSprite = gMonIcon_Dubwool, .iconPalIndex = 2, + SHADOW(2, 8, SHADOW_SIZE_M) FOOTPRINT(Dubwool) OVERWORLD( sPicTable_Dubwool, @@ -1768,6 +1796,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Chewtle, .iconSprite = gMonIcon_Chewtle, .iconPalIndex = 0, + SHADOW(3, 1, SHADOW_SIZE_S) FOOTPRINT(Chewtle) OVERWORLD( sPicTable_Chewtle, @@ -1829,6 +1858,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Drednaw, .iconSprite = gMonIcon_Drednaw, .iconPalIndex = 0, + SHADOW(-2, 4, SHADOW_SIZE_L) FOOTPRINT(Drednaw) OVERWORLD( sPicTable_Drednaw, @@ -1892,6 +1922,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_DrednawGigantamax, .iconSprite = gMonIcon_DrednawGigantamax, .iconPalIndex = 0, + SHADOW(2, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Drednaw) .isGigantamax = TRUE, .levelUpLearnset = sDrednawLevelUpLearnset, @@ -1950,6 +1981,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Yamper, .iconSprite = gMonIcon_Yamper, .iconPalIndex = 1, + SHADOW(-1, 2, SHADOW_SIZE_M) FOOTPRINT(Yamper) OVERWORLD( sPicTable_Yamper, @@ -2012,6 +2044,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Boltund, .iconSprite = gMonIcon_Boltund, .iconPalIndex = 1, + SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Boltund) OVERWORLD( sPicTable_Boltund, @@ -2074,6 +2107,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Rolycoly, .iconSprite = gMonIcon_Rolycoly, .iconPalIndex = 0, + SHADOW(0, -3, SHADOW_SIZE_S) FOOTPRINT(Rolycoly) OVERWORLD( sPicTable_Rolycoly, @@ -2135,6 +2169,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Carkol, .iconSprite = gMonIcon_Carkol, .iconPalIndex = 0, + SHADOW(0, 3, SHADOW_SIZE_M) FOOTPRINT(Carkol) OVERWORLD( sPicTable_Carkol, @@ -2196,6 +2231,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Coalossal, .iconSprite = gMonIcon_Coalossal, .iconPalIndex = 0, + SHADOW(1, 12, SHADOW_SIZE_L) FOOTPRINT(Coalossal) OVERWORLD( sPicTable_Coalossal, @@ -2259,6 +2295,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_CoalossalGigantamax, .iconSprite = gMonIcon_CoalossalGigantamax, .iconPalIndex = 0, + SHADOW(1, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Coalossal) .isGigantamax = TRUE, .levelUpLearnset = sCoalossalLevelUpLearnset, @@ -2317,6 +2354,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Applin, .iconSprite = gMonIcon_Applin, .iconPalIndex = 1, + SHADOW(-1, -3, SHADOW_SIZE_S) FOOTPRINT(Applin) OVERWORLD( sPicTable_Applin, @@ -2382,6 +2420,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Flapple, .iconSprite = gMonIcon_Flapple, .iconPalIndex = 1, + SHADOW(-6, 11, SHADOW_SIZE_S) FOOTPRINT(Flapple) OVERWORLD( sPicTable_Flapple, @@ -2445,6 +2484,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_FlappleGigantamax, .iconSprite = gMonIcon_FlappleGigantamax, .iconPalIndex = 1, + SHADOW(0, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Flapple) .isGigantamax = TRUE, .levelUpLearnset = sFlappleLevelUpLearnset, @@ -2500,6 +2540,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Appletun, .iconSprite = gMonIcon_Appletun, .iconPalIndex = 1, + SHADOW(5, 6, SHADOW_SIZE_L) FOOTPRINT(Appletun) OVERWORLD( sPicTable_Appletun, @@ -2563,6 +2604,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_AppletunGigantamax, .iconSprite = gMonIcon_AppletunGigantamax, .iconPalIndex = 1, + SHADOW(0, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Appletun) .isGigantamax = TRUE, .levelUpLearnset = sAppletunLevelUpLearnset, @@ -2619,6 +2661,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Dipplin, .iconSprite = gMonIcon_Dipplin, .iconPalIndex = 1, + SHADOW(-4, 8, SHADOW_SIZE_S) FOOTPRINT(Dipplin) OVERWORLD( sPicTable_Dipplin, @@ -2680,6 +2723,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Hydrapple, .iconSprite = gMonIcon_Hydrapple, .iconPalIndex = 5, + SHADOW(1, 12, SHADOW_SIZE_L) FOOTPRINT(Hydrapple) OVERWORLD( sPicTable_Hydrapple, @@ -2742,6 +2786,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Silicobra, .iconSprite = gMonIcon_Silicobra, .iconPalIndex = 1, + SHADOW(3, 1, SHADOW_SIZE_M) FOOTPRINT(Silicobra) OVERWORLD( sPicTable_Silicobra, @@ -2804,6 +2849,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Sandaconda, .iconSprite = gMonIcon_Sandaconda, .iconPalIndex = 1, + SHADOW(2, -1, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Sandaconda) OVERWORLD( sPicTable_Sandaconda, @@ -2867,6 +2913,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_SandacondaGigantamax, .iconSprite = gMonIcon_SandacondaGigantamax, .iconPalIndex = 1, + SHADOW(0, 14, SHADOW_SIZE_M) FOOTPRINT(Sandaconda) .isGigantamax = TRUE, .levelUpLearnset = sSandacondaLevelUpLearnset, @@ -2924,6 +2971,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Cramorant, .iconSprite = gMonIcon_Cramorant, .iconPalIndex = 0, + SHADOW(5, 14, SHADOW_SIZE_M) FOOTPRINT(Cramorant) OVERWORLD( sPicTable_Cramorant, @@ -2987,6 +3035,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_CramorantGulping, .iconSprite = gMonIcon_CramorantGulping, .iconPalIndex = 0, + SHADOW(5, 14, SHADOW_SIZE_M) FOOTPRINT(Cramorant) .levelUpLearnset = sCramorantLevelUpLearnset, .teachableLearnset = sCramorantTeachableLearnset, @@ -3042,6 +3091,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_CramorantGorging, .iconSprite = gMonIcon_CramorantGorging, .iconPalIndex = 0, + SHADOW(5, 14, SHADOW_SIZE_M) FOOTPRINT(Cramorant) .levelUpLearnset = sCramorantLevelUpLearnset, .teachableLearnset = sCramorantTeachableLearnset, @@ -3099,6 +3149,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Arrokuda, .iconSprite = gMonIcon_Arrokuda, .iconPalIndex = 2, + SHADOW(-1, -5, SHADOW_SIZE_S) FOOTPRINT(Arrokuda) OVERWORLD( sPicTable_Arrokuda, @@ -3161,6 +3212,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Barraskewda, .iconSprite = gMonIcon_Barraskewda, .iconPalIndex = 2, + SHADOW(4, 5, SHADOW_SIZE_M) FOOTPRINT(Barraskewda) OVERWORLD( sPicTable_Barraskewda, @@ -3223,6 +3275,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Toxel, .iconSprite = gMonIcon_Toxel, .iconPalIndex = 2, + SHADOW(-2, 1, SHADOW_SIZE_M) FOOTPRINT(Toxel) OVERWORLD( sPicTable_Toxel, @@ -3286,6 +3339,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_ToxtricityAmped, .iconSprite = gMonIcon_ToxtricityAmped, .iconPalIndex = 2, + SHADOW(-6, 13, SHADOW_SIZE_M) FOOTPRINT(Toxtricity) OVERWORLD( sPicTable_ToxtricityAmped, @@ -3345,6 +3399,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_ToxtricityGigantamax, .iconSprite = gMonIcon_ToxtricityGigantamax, .iconPalIndex = 0, + SHADOW(1, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Toxtricity) .isGigantamax = TRUE, .levelUpLearnset = sToxtricityAmpedLevelUpLearnset, @@ -3400,6 +3455,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_ToxtricityLowKey, .iconSprite = gMonIcon_ToxtricityLowKey, .iconPalIndex = 2, + SHADOW(1, 12, SHADOW_SIZE_M) FOOTPRINT(Toxtricity) OVERWORLD( sPicTable_ToxtricityLowKey, @@ -3459,6 +3515,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_ToxtricityGigantamax, .iconSprite = gMonIcon_ToxtricityGigantamax, .iconPalIndex = 0, + SHADOW(1, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Toxtricity) OVERWORLD( sPicTable_ToxtricityLowKey, @@ -3524,6 +3581,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Sizzlipede, .iconSprite = gMonIcon_Sizzlipede, .iconPalIndex = 0, + SHADOW(6, -4, SHADOW_SIZE_S) FOOTPRINT(Sizzlipede) OVERWORLD( sPicTable_Sizzlipede, @@ -3586,6 +3644,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Centiskorch, .iconSprite = gMonIcon_Centiskorch, .iconPalIndex = 0, + SHADOW(-3, 7, SHADOW_SIZE_M) FOOTPRINT(Centiskorch) OVERWORLD( sPicTable_Centiskorch, @@ -3649,6 +3708,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_CentiskorchGigantamax, .iconSprite = gMonIcon_CentiskorchGigantamax, .iconPalIndex = 0, + SHADOW(6, 9, SHADOW_SIZE_L) FOOTPRINT(Centiskorch) .isGigantamax = TRUE, .levelUpLearnset = sCentiskorchLevelUpLearnset, @@ -3707,6 +3767,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Clobbopus, .iconSprite = gMonIcon_Clobbopus, .iconPalIndex = 0, + SHADOW(1, -2, SHADOW_SIZE_S) FOOTPRINT(Clobbopus) OVERWORLD( sPicTable_Clobbopus, @@ -3768,6 +3829,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Grapploct, .iconSprite = gMonIcon_Grapploct, .iconPalIndex = 2, + SHADOW(4, 9, SHADOW_SIZE_M) FOOTPRINT(Grapploct) OVERWORLD( sPicTable_Grapploct, @@ -3830,6 +3892,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Sinistea, .iconSprite = gMonIcon_Sinistea, .iconPalIndex = 2, + SHADOW(3, 3, SHADOW_SIZE_S) FOOTPRINT(Sinistea) OVERWORLD( sPicTable_Sinistea, @@ -3893,6 +3956,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Sinistea, .iconSprite = gMonIcon_Sinistea, .iconPalIndex = 2, + SHADOW(3, 4, SHADOW_SIZE_S) FOOTPRINT(Sinistea) OVERWORLD( sPicTable_Sinistea, @@ -3955,6 +4019,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Polteageist, .iconSprite = gMonIcon_Polteageist, .iconPalIndex = 2, + SHADOW(0, 12, SHADOW_SIZE_S) FOOTPRINT(Polteageist) OVERWORLD( sPicTable_Polteageist, @@ -4017,6 +4082,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Polteageist, .iconSprite = gMonIcon_Polteageist, .iconPalIndex = 2, + SHADOW(0, 11, SHADOW_SIZE_S) FOOTPRINT(Polteageist) OVERWORLD( sPicTable_Polteageist, @@ -4080,6 +4146,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Hatenna, .iconSprite = gMonIcon_Hatenna, .iconPalIndex = 0, + SHADOW(0, 1, SHADOW_SIZE_M) FOOTPRINT(Hatenna) OVERWORLD( sPicTable_Hatenna, @@ -4141,6 +4208,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Hattrem, .iconSprite = gMonIcon_Hattrem, .iconPalIndex = 0, + SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Hattrem) OVERWORLD( sPicTable_Hattrem, @@ -4201,6 +4269,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Hatterene, .iconSprite = gMonIcon_Hatterene, .iconPalIndex = 0, + SHADOW(6, 13, SHADOW_SIZE_S) FOOTPRINT(Hatterene) OVERWORLD( sPicTable_Hatterene, @@ -4264,6 +4333,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_HattereneGigantamax, .iconSprite = gMonIcon_HattereneGigantamax, .iconPalIndex = 0, + SHADOW(-3, 13, SHADOW_SIZE_S) FOOTPRINT(Hatterene) .isGigantamax = TRUE, .levelUpLearnset = sHattereneLevelUpLearnset, @@ -4322,6 +4392,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Impidimp, .iconSprite = gMonIcon_Impidimp, .iconPalIndex = 0, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Impidimp) OVERWORLD( sPicTable_Impidimp, @@ -4383,6 +4454,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Morgrem, .iconSprite = gMonIcon_Morgrem, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Morgrem) OVERWORLD( sPicTable_Morgrem, @@ -4444,6 +4516,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Grimmsnarl, .iconSprite = gMonIcon_Grimmsnarl, .iconPalIndex = 0, + SHADOW(1, 11, SHADOW_SIZE_L) FOOTPRINT(Grimmsnarl) OVERWORLD( sPicTable_Grimmsnarl, @@ -4507,6 +4580,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_GrimmsnarlGigantamax, .iconSprite = gMonIcon_GrimmsnarlGigantamax, .iconPalIndex = 0, + SHADOW(0, 14, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Grimmsnarl) .isGigantamax = TRUE, .levelUpLearnset = sGrimmsnarlLevelUpLearnset, @@ -4565,6 +4639,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Milcery, .iconSprite = gMonIcon_Milcery, .iconPalIndex = 1, + SHADOW(0, 6, SHADOW_SIZE_S) FOOTPRINT(Milcery) OVERWORLD( sPicTable_Milcery, @@ -4634,6 +4709,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Alcremie ##sweet, \ .iconSprite = gMonIcon_AlcremieStrawberryVanillaCream, /*AlcremieStrawberry##cream##*/ \ .iconPalIndex = 1, \ + SHADOW(0, 5, SHADOW_SIZE_S) \ FOOTPRINT(Alcremie) \ OVERWORLD( \ sPicTable_AlcremieStrawberry, /*Alcremie ##sweet*/ \ @@ -4744,6 +4820,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_AlcremieGigantamax, .iconSprite = gMonIcon_AlcremieGigantamax, .iconPalIndex = 1, + SHADOW(0, 10, SHADOW_SIZE_L) FOOTPRINT(Alcremie) .isGigantamax = TRUE, .levelUpLearnset = sAlcremieLevelUpLearnset, @@ -4801,6 +4878,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Falinks, .iconSprite = gMonIcon_Falinks, .iconPalIndex = 0, + SHADOW(-7, 5, SHADOW_SIZE_S) FOOTPRINT(Falinks) OVERWORLD( sPicTable_Falinks, @@ -4862,6 +4940,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Pincurchin, .iconSprite = gMonIcon_Pincurchin, .iconPalIndex = 2, + SHADOW(-1, -4, SHADOW_SIZE_S) FOOTPRINT(Pincurchin) OVERWORLD( sPicTable_Pincurchin, @@ -4926,6 +5005,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Snom, .iconSprite = gMonIcon_Snom, .iconPalIndex = 0, + SHADOW(-2, -7, SHADOW_SIZE_S) FOOTPRINT(Snom) OVERWORLD( sPicTable_Snom, @@ -4989,6 +5069,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Frosmoth, .iconSprite = gMonIcon_Frosmoth, .iconPalIndex = 0, + SHADOW(-7, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Frosmoth) OVERWORLD( sPicTable_Frosmoth, @@ -5051,6 +5132,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Stonjourner, .iconSprite = gMonIcon_Stonjourner, .iconPalIndex = 2, + SHADOW(0, 10, SHADOW_SIZE_L) FOOTPRINT(Stonjourner) OVERWORLD( sPicTable_Stonjourner, @@ -5114,6 +5196,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_EiscueIceFace, .iconSprite = gMonIcon_EiscueIceFace, .iconPalIndex = 0, + SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Eiscue) OVERWORLD( sPicTable_EiscueIceFace, @@ -5177,6 +5260,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_EiscueNoiceFace, .iconSprite = gMonIcon_EiscueNoiceFace, .iconPalIndex = 0, + SHADOW(-1, 13, SHADOW_SIZE_S) FOOTPRINT(Eiscue) .levelUpLearnset = sEiscueLevelUpLearnset, .teachableLearnset = sEiscueTeachableLearnset, @@ -5234,6 +5318,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_IndeedeeMale, .iconSprite = gMonIcon_IndeedeeMale, .iconPalIndex = 2, + SHADOW(2, 4, SHADOW_SIZE_S) FOOTPRINT(Indeedee) OVERWORLD( sPicTable_IndeedeeMale, @@ -5295,6 +5380,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_IndeedeeFemale, .iconSprite = gMonIcon_IndeedeeFemale, .iconPalIndex = 2, + SHADOW(2, 4, SHADOW_SIZE_S) FOOTPRINT(Indeedee) OVERWORLD( sPicTable_IndeedeeFemale, @@ -5359,6 +5445,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_MorpekoFullBelly, .iconSprite = gMonIcon_MorpekoFullBelly, .iconPalIndex = 2, + SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Morpeko) OVERWORLD( sPicTable_MorpekoFullBelly, @@ -5422,6 +5509,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_MorpekoHangry, .iconSprite = gMonIcon_MorpekoHangry, .iconPalIndex = 2, + SHADOW(0, 0, SHADOW_SIZE_S) FOOTPRINT(Morpeko) .levelUpLearnset = sMorpekoLevelUpLearnset, .teachableLearnset = sMorpekoTeachableLearnset, @@ -5480,6 +5568,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Cufant, .iconSprite = gMonIcon_Cufant, .iconPalIndex = 0, + SHADOW(5, 2, SHADOW_SIZE_M) FOOTPRINT(Cufant) OVERWORLD( sPicTable_Cufant, @@ -5542,6 +5631,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Copperajah, .iconSprite = gMonIcon_Copperajah, .iconPalIndex = 0, + SHADOW(6, 7, SHADOW_SIZE_L) FOOTPRINT(Copperajah) OVERWORLD( sPicTable_Copperajah, @@ -5606,6 +5696,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_CopperajahGigantamax, .iconSprite = gMonIcon_CopperajahGigantamax, .iconPalIndex = 0, + SHADOW(0, 11, SHADOW_SIZE_L) FOOTPRINT(Copperajah) .isGigantamax = TRUE, .levelUpLearnset = sCopperajahLevelUpLearnset, @@ -5664,6 +5755,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Dracozolt, .iconSprite = gMonIcon_Dracozolt, .iconPalIndex = 1, + SHADOW(-4, 10, SHADOW_SIZE_L) FOOTPRINT(Dracozolt) OVERWORLD( sPicTable_Dracozolt, @@ -5725,6 +5817,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Arctozolt, .iconSprite = gMonIcon_Arctozolt, .iconPalIndex = 0, + SHADOW(-2, 11, SHADOW_SIZE_M) FOOTPRINT(Arctozolt) OVERWORLD( sPicTable_Arctozolt, @@ -5787,6 +5880,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Dracovish, .iconSprite = gMonIcon_Dracovish, .iconPalIndex = 0, + SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(Dracovish) OVERWORLD( sPicTable_Dracovish, @@ -5849,6 +5943,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Arctovish, .iconSprite = gMonIcon_Arctovish, .iconPalIndex = 0, + SHADOW(0, 11, SHADOW_SIZE_L) FOOTPRINT(Arctovish) OVERWORLD( sPicTable_Arctovish, @@ -5910,6 +6005,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Duraludon, .iconSprite = gMonIcon_Duraludon, .iconPalIndex = 0, + SHADOW(2, 11, SHADOW_SIZE_L) FOOTPRINT(Duraludon) OVERWORLD( sPicTable_Duraludon, @@ -5975,6 +6071,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_DuraludonGigantamax, .iconSprite = gMonIcon_DuraludonGigantamax, .iconPalIndex = 0, + SHADOW(3, 12, SHADOW_SIZE_L) FOOTPRINT(Duraludon) .isGigantamax = TRUE, .levelUpLearnset = sDuraludonLevelUpLearnset, @@ -6033,6 +6130,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Archaludon, .iconSprite = gMonIcon_Archaludon, .iconPalIndex = 0, + SHADOW(4, 14, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Archaludon) OVERWORLD( sPicTable_Archaludon, @@ -6097,6 +6195,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Dreepy, .iconSprite = gMonIcon_Dreepy, .iconPalIndex = 0, + SHADOW(0, 2, SHADOW_SIZE_S) FOOTPRINT(Dreepy) OVERWORLD( sPicTable_Dreepy, @@ -6159,6 +6258,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Drakloak, .iconSprite = gMonIcon_Drakloak, .iconPalIndex = 0, + SHADOW(0, 9, SHADOW_SIZE_M) FOOTPRINT(Drakloak) OVERWORLD( sPicTable_Drakloak, @@ -6221,6 +6321,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Dragapult, .iconSprite = gMonIcon_Dragapult, .iconPalIndex = 0, + SHADOW(0, 12, SHADOW_SIZE_M) FOOTPRINT(Dragapult) OVERWORLD( sPicTable_Dragapult, @@ -6282,6 +6383,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_ZacianHeroOfManyBattles, .iconSprite = gMonIcon_ZacianHeroOfManyBattles, .iconPalIndex = 2, + SHADOW(-1, 9, SHADOW_SIZE_L) FOOTPRINT(Zacian) OVERWORLD( sPicTable_ZacianHeroOfManyBattles, @@ -6347,6 +6449,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_ZacianCrownedSword, .iconSprite = gMonIcon_ZacianCrownedSword, .iconPalIndex = 2, + SHADOW(-3, 12, SHADOW_SIZE_L) FOOTPRINT(Zacian) OVERWORLD( sPicTable_ZacianCrownedSword, @@ -6414,6 +6517,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_ZamazentaHeroOfManyBattles, .iconSprite = gMonIcon_ZamazentaHeroOfManyBattles, .iconPalIndex = 2, + SHADOW(-1, 12, SHADOW_SIZE_L) FOOTPRINT(Zamazenta) OVERWORLD( sPicTable_ZamazentaHeroOfManyBattles, @@ -6479,6 +6583,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_ZamazentaCrownedShield, .iconSprite = gMonIcon_ZamazentaCrownedShield, .iconPalIndex = 2, + SHADOW(0, 12, SHADOW_SIZE_L) FOOTPRINT(Zamazenta) OVERWORLD( sPicTable_ZamazentaCrownedShield, @@ -6547,6 +6652,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Eternatus, .iconSprite = gMonIcon_Eternatus, .iconPalIndex = 0, + SHADOW(0, 14, SHADOW_SIZE_L) FOOTPRINT(Eternatus) OVERWORLD( sPicTable_Eternatus, @@ -6612,6 +6718,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_EternatusEternamax, .iconSprite = gMonIcon_EternatusEternamax, .iconPalIndex = 0, + SHADOW(-3, 20, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Eternatus) .isLegendary = TRUE, .isFrontierBanned = TRUE, @@ -6669,6 +6776,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Kubfu, .iconSprite = gMonIcon_Kubfu, .iconPalIndex = 1, + SHADOW(-2, 5, SHADOW_SIZE_S) FOOTPRINT(Kubfu) OVERWORLD( sPicTable_Kubfu, @@ -6735,6 +6843,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_UrshifuSingleStrikeStyle, .iconSprite = gMonIcon_Urshifu, .iconPalIndex = 2, + SHADOW(0, 14, SHADOW_SIZE_L) FOOTPRINT(Urshifu) OVERWORLD( sPicTable_Urshifu, @@ -6800,6 +6909,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_UrshifuSingleStrikeStyleGigantamax, .iconSprite = gMonIcon_UrshifuSingleStrikeStyleGigantamax, .iconPalIndex = 0, + SHADOW(1, 13, SHADOW_SIZE_L) FOOTPRINT(Urshifu) .isLegendary = TRUE, .isGigantamax = TRUE, @@ -6857,6 +6967,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_UrshifuRapidStrikeStyle, .iconSprite = gMonIcon_Urshifu, .iconPalIndex = 2, + SHADOW(4, 14, SHADOW_SIZE_M) FOOTPRINT(Urshifu) OVERWORLD( sPicTable_Urshifu, @@ -6922,6 +7033,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_UrshifuRapidStrikeStyleGigantamax, .iconSprite = gMonIcon_UrshifuRapidStrikeStyleGigantamax, .iconPalIndex = 0, + SHADOW(2, 13, SHADOW_SIZE_M) FOOTPRINT(Urshifu) .isLegendary = TRUE, .isGigantamax = TRUE, @@ -6982,6 +7094,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Zarude, .iconSprite = gMonIcon_Zarude, .iconPalIndex = 1, + SHADOW(5, 11, SHADOW_SIZE_L) FOOTPRINT(Zarude) OVERWORLD( sPicTable_Zarude, @@ -7045,6 +7158,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_ZarudeDada, .iconSprite = gMonIcon_ZarudeDada, .iconPalIndex = 1, + SHADOW(5, 11, SHADOW_SIZE_L) FOOTPRINT(Zarude) .isMythical = TRUE, .isFrontierBanned = TRUE, @@ -7104,6 +7218,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Regieleki, .iconSprite = gMonIcon_Regieleki, .iconPalIndex = 0, + SHADOW(-3, 14, SHADOW_SIZE_S) FOOTPRINT(Regieleki) OVERWORLD( sPicTable_Regieleki, @@ -7169,6 +7284,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Regidrago, .iconSprite = gMonIcon_Regidrago, .iconPalIndex = 0, + SHADOW(0, 13, SHADOW_SIZE_M) FOOTPRINT(Regidrago) OVERWORLD( sPicTable_Regidrago, @@ -7232,6 +7348,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Glastrier, .iconSprite = gMonIcon_Glastrier, .iconPalIndex = 0, + SHADOW(-5, 11, SHADOW_SIZE_L) FOOTPRINT(Glastrier) OVERWORLD( sPicTable_Glastrier, @@ -7296,6 +7413,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Spectrier, .iconSprite = gMonIcon_Spectrier, .iconPalIndex = 0, + SHADOW(-6, 12, SHADOW_SIZE_L) FOOTPRINT(Spectrier) OVERWORLD( sPicTable_Spectrier, @@ -7360,6 +7478,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_Calyrex, .iconSprite = gMonIcon_Calyrex, .iconPalIndex = 0, + SHADOW(-1, 12, SHADOW_SIZE_S) FOOTPRINT(Calyrex) OVERWORLD( sPicTable_Calyrex, @@ -7425,6 +7544,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_CalyrexIceRider, .iconSprite = gMonIcon_CalyrexIceRider, .iconPalIndex = 0, + SHADOW(-5, 11, SHADOW_SIZE_L) FOOTPRINT(Calyrex) OVERWORLD( sPicTable_CalyrexIceRider, @@ -7490,6 +7610,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_CalyrexShadowRider, .iconSprite = gMonIcon_CalyrexShadowRider, .iconPalIndex = 0, + SHADOW(-5, 12, SHADOW_SIZE_L) FOOTPRINT(Calyrex) OVERWORLD( sPicTable_CalyrexShadowRider, @@ -7559,6 +7680,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_EnamorusIncarnate, .iconSprite = gMonIcon_EnamorusIncarnate, .iconPalIndex = 1, + SHADOW(0, 17, SHADOW_SIZE_M) FOOTPRINT(Enamorus) OVERWORLD( sPicTable_EnamorusIncarnate, @@ -7622,6 +7744,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = .shinyPalette = gMonShinyPalette_EnamorusTherian, .iconSprite = gMonIcon_EnamorusTherian, .iconPalIndex = 1, + SHADOW(2, 8, SHADOW_SIZE_L) FOOTPRINT(Enamorus) OVERWORLD( sPicTable_EnamorusTherian, diff --git a/src/data/pokemon/species_info/gen_9_families.h b/src/data/pokemon/species_info/gen_9_families.h index 08614606f7..922e57784b 100644 --- a/src/data/pokemon/species_info/gen_9_families.h +++ b/src/data/pokemon/species_info/gen_9_families.h @@ -51,6 +51,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Sprigatito, .iconSprite = gMonIcon_Sprigatito, .iconPalIndex = 1, + SHADOW(-2, 5, SHADOW_SIZE_S) FOOTPRINT(Sprigatito) OVERWORLD( sPicTable_Sprigatito, @@ -113,6 +114,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Floragato, .iconSprite = gMonIcon_Floragato, .iconPalIndex = 1, + SHADOW(-3, 11, SHADOW_SIZE_M) FOOTPRINT(Floragato) OVERWORLD( sPicTable_Floragato, @@ -174,6 +176,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Meowscarada, .iconSprite = gMonIcon_Meowscarada, .iconPalIndex = 1, + SHADOW(-3, 14, SHADOW_SIZE_S) FOOTPRINT(Meowscarada) OVERWORLD( sPicTable_Meowscarada, @@ -236,6 +239,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Fuecoco, .iconSprite = gMonIcon_Fuecoco, .iconPalIndex = 2, + SHADOW(-3, 5, SHADOW_SIZE_S) FOOTPRINT(Fuecoco) OVERWORLD( sPicTable_Fuecoco, @@ -298,6 +302,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Crocalor, .iconSprite = gMonIcon_Crocalor, .iconPalIndex = 0, + SHADOW(2, 8, SHADOW_SIZE_M) FOOTPRINT(Crocalor) OVERWORLD( sPicTable_Crocalor, @@ -359,6 +364,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Skeledirge, .iconSprite = gMonIcon_Skeledirge, .iconPalIndex = 0, + SHADOW(6, 7, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Skeledirge) OVERWORLD( sPicTable_Skeledirge, @@ -421,6 +427,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Quaxly, .iconSprite = gMonIcon_Quaxly, .iconPalIndex = 0, + SHADOW(0, 5, SHADOW_SIZE_S) FOOTPRINT(Quaxly) OVERWORLD( sPicTable_Quaxly, @@ -483,6 +490,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Quaxwell, .iconSprite = gMonIcon_Quaxwell, .iconPalIndex = 0, + SHADOW(1, 10, SHADOW_SIZE_S) FOOTPRINT(Quaxwell) OVERWORLD( sPicTable_Quaxwell, @@ -544,6 +552,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Quaquaval, .iconSprite = gMonIcon_Quaquaval, .iconPalIndex = 0, + SHADOW(-7, 13, SHADOW_SIZE_M) FOOTPRINT(Quaquaval) OVERWORLD( sPicTable_Quaquaval, @@ -606,6 +615,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Lechonk, .iconSprite = gMonIcon_Lechonk, .iconPalIndex = 1, + SHADOW(0, 1, SHADOW_SIZE_S) FOOTPRINT(Lechonk) OVERWORLD( sPicTable_Lechonk, @@ -668,6 +678,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_OinkologneMale, .iconSprite = gMonIcon_OinkologneMale, .iconPalIndex = 1, + SHADOW(-2, 6, SHADOW_SIZE_M) FOOTPRINT(Oinkologne) OVERWORLD( sPicTable_OinkologneMale, @@ -729,6 +740,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_OinkologneFemale, .iconSprite = gMonIcon_OinkologneFemale, .iconPalIndex = 0, + SHADOW(3, 7, SHADOW_SIZE_M) FOOTPRINT(Oinkologne) OVERWORLD( sPicTable_OinkologneFemale, @@ -792,6 +804,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Tarountula, .iconSprite = gMonIcon_Tarountula, .iconPalIndex = 1, + SHADOW(-1, 2, SHADOW_SIZE_M) FOOTPRINT(Tarountula) OVERWORLD( sPicTable_Tarountula, @@ -854,6 +867,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Spidops, .iconSprite = gMonIcon_Spidops, .iconPalIndex = 1, + SHADOW(6, 8, SHADOW_SIZE_L) FOOTPRINT(Spidops) OVERWORLD( sPicTable_Spidops, @@ -916,6 +930,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Nymble, .iconSprite = gMonIcon_Nymble, .iconPalIndex = 0, + SHADOW(1, 3, SHADOW_SIZE_M) FOOTPRINT(Nymble) OVERWORLD( sPicTable_Nymble, @@ -978,6 +993,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Lokix, .iconSprite = gMonIcon_Lokix, .iconPalIndex = 0, + SHADOW(0, 11, SHADOW_SIZE_M) FOOTPRINT(Lokix) OVERWORLD( sPicTable_Lokix, @@ -1040,6 +1056,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Pawmi, .iconSprite = gMonIcon_Pawmi, .iconPalIndex = 0, + SHADOW(1, 4, SHADOW_SIZE_M) FOOTPRINT(Pawmi) OVERWORLD( sPicTable_Pawmi, @@ -1102,6 +1119,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Pawmo, .iconSprite = gMonIcon_Pawmo, .iconPalIndex = 0, + SHADOW(-3, 10, SHADOW_SIZE_S) FOOTPRINT(Pawmo) OVERWORLD( sPicTable_Pawmo, @@ -1163,6 +1181,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Pawmot, .iconSprite = gMonIcon_Pawmot, .iconPalIndex = 0, + SHADOW(-1, 11, SHADOW_SIZE_M) FOOTPRINT(Pawmot) OVERWORLD( sPicTable_Pawmot, @@ -1225,6 +1244,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Tandemaus, .iconSprite = gMonIcon_Tandemaus, .iconPalIndex = 1, + SHADOW(0, -1, SHADOW_SIZE_M) FOOTPRINT(Tandemaus) OVERWORLD( sPicTable_Tandemaus, @@ -1288,6 +1308,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Maushold, .iconSprite = gMonIcon_MausholdFamilyOfThree, .iconPalIndex = 1, + SHADOW(4, -1, SHADOW_SIZE_L) FOOTPRINT(MausholdFamilyOfThree) OVERWORLD( sPicTable_MausholdFamilyOfThree, @@ -1348,6 +1369,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Maushold, .iconSprite = gMonIcon_MausholdFamilyOfFour, .iconPalIndex = 1, + SHADOW(0, -1, SHADOW_SIZE_L) FOOTPRINT(MausholdFamilyOfFour) OVERWORLD( sPicTable_MausholdFamilyOfFour, @@ -1411,6 +1433,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Fidough, .iconSprite = gMonIcon_Fidough, .iconPalIndex = 1, + SHADOW(4, 0, SHADOW_SIZE_S) FOOTPRINT(Fidough) OVERWORLD( sPicTable_Fidough, @@ -1473,6 +1496,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Dachsbun, .iconSprite = gMonIcon_Dachsbun, .iconPalIndex = 0, + SHADOW(-1, 7, SHADOW_SIZE_L) FOOTPRINT(Dachsbun) OVERWORLD( sPicTable_Dachsbun, @@ -1535,6 +1559,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Smoliv, .iconSprite = gMonIcon_Smoliv, .iconPalIndex = 1, + SHADOW(-1, -2, SHADOW_SIZE_S) FOOTPRINT(Smoliv) OVERWORLD( sPicTable_Smoliv, @@ -1597,6 +1622,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Dolliv, .iconSprite = gMonIcon_Dolliv, .iconPalIndex = 1, + SHADOW(1, 9, SHADOW_SIZE_M) FOOTPRINT(Dolliv) OVERWORLD( sPicTable_Dolliv, @@ -1658,6 +1684,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Arboliva, .iconSprite = gMonIcon_Arboliva, .iconPalIndex = 1, + SHADOW(1, 13, SHADOW_SIZE_L) FOOTPRINT(Arboliva) OVERWORLD( sPicTable_Arboliva, @@ -1720,6 +1747,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_SquawkabillyGreenPlumage, .iconSprite = gMonIcon_SquawkabillyGreenPlumage, .iconPalIndex = 1, + SHADOW(-6, 9, SHADOW_SIZE_M) FOOTPRINT(Squawkabilly) OVERWORLD( sPicTable_SquawkabillyGreenPlumage, @@ -1782,6 +1810,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_SquawkabillyBluePlumage, .iconSprite = gMonIcon_SquawkabillyBluePlumage, .iconPalIndex = 0, + SHADOW(-6, 9, SHADOW_SIZE_M) FOOTPRINT(Squawkabilly) OVERWORLD( sPicTable_SquawkabillyBluePlumage, @@ -1844,6 +1873,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_SquawkabillyYellowPlumage, .iconSprite = gMonIcon_SquawkabillyYellowPlumage, .iconPalIndex = 1, + SHADOW(-6, 9, SHADOW_SIZE_M) FOOTPRINT(Squawkabilly) OVERWORLD( sPicTable_SquawkabillyYellowPlumage, @@ -1906,6 +1936,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_SquawkabillyWhitePlumage, .iconSprite = gMonIcon_SquawkabillyWhitePlumage, .iconPalIndex = 0, + SHADOW(-6, 9, SHADOW_SIZE_M) FOOTPRINT(Squawkabilly) OVERWORLD( sPicTable_SquawkabillyWhitePlumage, @@ -1970,6 +2001,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Nacli, .iconSprite = gMonIcon_Nacli, .iconPalIndex = 2, + SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Nacli) OVERWORLD( sPicTable_Nacli, @@ -2032,6 +2064,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Naclstack, .iconSprite = gMonIcon_Naclstack, .iconPalIndex = 2, + SHADOW(0, 5, SHADOW_SIZE_L) FOOTPRINT(Naclstack) OVERWORLD( sPicTable_Naclstack, @@ -2093,6 +2126,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Garganacl, .iconSprite = gMonIcon_Garganacl, .iconPalIndex = 2, + SHADOW(0, 13, SHADOW_SIZE_L) FOOTPRINT(Garganacl) OVERWORLD( sPicTable_Garganacl, @@ -2155,6 +2189,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Charcadet, .iconSprite = gMonIcon_Charcadet, .iconPalIndex = 0, + SHADOW(-1, 5, SHADOW_SIZE_S) FOOTPRINT(Charcadet) OVERWORLD( sPicTable_Charcadet, @@ -2218,6 +2253,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Armarouge, .iconSprite = gMonIcon_Armarouge, .iconPalIndex = 0, + SHADOW(0, 14, SHADOW_SIZE_L) FOOTPRINT(Armarouge) OVERWORLD( sPicTable_Armarouge, @@ -2278,6 +2314,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Ceruledge, .iconSprite = gMonIcon_Ceruledge, .iconPalIndex = 2, + SHADOW(9, 14, SHADOW_SIZE_L) FOOTPRINT(Ceruledge) OVERWORLD( sPicTable_Ceruledge, @@ -2341,6 +2378,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Tadbulb, .iconSprite = gMonIcon_Tadbulb, .iconPalIndex = 0, + SHADOW(0, 19, SHADOW_SIZE_S) FOOTPRINT(Tadbulb) OVERWORLD( sPicTable_Tadbulb, @@ -2403,6 +2441,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Bellibolt, .iconSprite = gMonIcon_Bellibolt, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(Bellibolt) OVERWORLD( sPicTable_Bellibolt, @@ -2465,6 +2504,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Wattrel, .iconSprite = gMonIcon_Wattrel, .iconPalIndex = 0, + SHADOW(-3, 0, SHADOW_SIZE_S) FOOTPRINT(Wattrel) OVERWORLD( sPicTable_Wattrel, @@ -2527,6 +2567,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Kilowattrel, .iconSprite = gMonIcon_Kilowattrel, .iconPalIndex = 0, + SHADOW(-6, 6, SHADOW_SIZE_M) FOOTPRINT(Kilowattrel) OVERWORLD( sPicTable_Kilowattrel, @@ -2589,6 +2630,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Maschiff, .iconSprite = gMonIcon_Maschiff, .iconPalIndex = 0, + SHADOW(2, 5, SHADOW_SIZE_L) FOOTPRINT(Maschiff) OVERWORLD( sPicTable_Maschiff, @@ -2651,6 +2693,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Mabosstiff, .iconSprite = gMonIcon_Mabosstiff, .iconPalIndex = 0, + SHADOW(1, 5, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Mabosstiff) OVERWORLD( sPicTable_Mabosstiff, @@ -2713,6 +2756,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Shroodle, .iconSprite = gMonIcon_Shroodle, .iconPalIndex = 0, + SHADOW(0, -6, SHADOW_SIZE_S) FOOTPRINT(Shroodle) OVERWORLD( sPicTable_Shroodle, @@ -2775,6 +2819,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Grafaiai, .iconSprite = gMonIcon_Grafaiai, .iconPalIndex = 0, + SHADOW(-2, 5, SHADOW_SIZE_S) FOOTPRINT(Grafaiai) OVERWORLD( sPicTable_Grafaiai, @@ -2837,6 +2882,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Bramblin, .iconSprite = gMonIcon_Bramblin, .iconPalIndex = 1, + SHADOW(2, 0, SHADOW_SIZE_S) FOOTPRINT(Bramblin) OVERWORLD( sPicTable_Bramblin, @@ -2899,6 +2945,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Brambleghast, .iconSprite = gMonIcon_Brambleghast, .iconPalIndex = 2, + SHADOW(0, 6, SHADOW_SIZE_M) FOOTPRINT(Brambleghast) OVERWORLD( sPicTable_Brambleghast, @@ -2963,6 +3010,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Toedscool, .iconSprite = gMonIcon_Toedscool, .iconPalIndex = 0, + SHADOW(-2, 10, SHADOW_SIZE_M) FOOTPRINT(Toedscool) OVERWORLD( sPicTable_Toedscool, @@ -3027,6 +3075,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Toedscruel, .iconSprite = gMonIcon_Toedscruel, .iconPalIndex = 0, + SHADOW(2, 8, SHADOW_SIZE_L) FOOTPRINT(Toedscruel) OVERWORLD( sPicTable_Toedscruel, @@ -3089,6 +3138,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Klawf, .iconSprite = gMonIcon_Klawf, .iconPalIndex = 0, + SHADOW(0, 0, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Klawf) OVERWORLD( sPicTable_Klawf, @@ -3152,6 +3202,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Capsakid, .iconSprite = gMonIcon_Capsakid, .iconPalIndex = 1, + SHADOW(2, 0, SHADOW_SIZE_S) FOOTPRINT(Capsakid) OVERWORLD( sPicTable_Capsakid, @@ -3214,6 +3265,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Scovillain, .iconSprite = gMonIcon_Scovillain, .iconPalIndex = 1, + SHADOW(6, 11, SHADOW_SIZE_M) FOOTPRINT(Scovillain) OVERWORLD( sPicTable_Scovillain, @@ -3277,6 +3329,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Rellor, .iconSprite = gMonIcon_Rellor, .iconPalIndex = 0, + SHADOW(4, -3, SHADOW_SIZE_L) FOOTPRINT(Rellor) OVERWORLD( sPicTable_Rellor, @@ -3339,6 +3392,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Rabsca, .iconSprite = gMonIcon_Rabsca, .iconPalIndex = 0, + SHADOW(-2, 14, SHADOW_SIZE_M) FOOTPRINT(Rabsca) OVERWORLD( sPicTable_Rabsca, @@ -3401,6 +3455,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Flittle, .iconSprite = gMonIcon_Flittle, .iconPalIndex = 1, + SHADOW(-2, 2, SHADOW_SIZE_S) FOOTPRINT(Flittle) OVERWORLD( sPicTable_Flittle, @@ -3463,6 +3518,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Espathra, .iconSprite = gMonIcon_Espathra, .iconPalIndex = 0, + SHADOW(-5, 10, SHADOW_SIZE_M) FOOTPRINT(Espathra) OVERWORLD( sPicTable_Espathra, @@ -3525,6 +3581,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Tinkatink, .iconSprite = gMonIcon_Tinkatink, .iconPalIndex = 1, + SHADOW(-3, 1, SHADOW_SIZE_S) FOOTPRINT(Tinkatink) OVERWORLD( sPicTable_Tinkatink, @@ -3588,6 +3645,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Tinkatuff, .iconSprite = gMonIcon_Tinkatuff, .iconPalIndex = 1, + SHADOW(-4, 5, SHADOW_SIZE_L) FOOTPRINT(Tinkatuff) OVERWORLD( sPicTable_Tinkatuff, @@ -3650,6 +3708,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Tinkaton, .iconSprite = gMonIcon_Tinkaton, .iconPalIndex = 1, + SHADOW(-5, 15, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Tinkaton) OVERWORLD( sPicTable_Tinkaton, @@ -3712,6 +3771,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Wiglett, .iconSprite = gMonIcon_Wiglett, .iconPalIndex = 0, + NO_SHADOW FOOTPRINT(Wiglett) OVERWORLD( sPicTable_Wiglett, @@ -3773,6 +3833,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Wugtrio, .iconSprite = gMonIcon_Wugtrio, .iconPalIndex = 0, + NO_SHADOW FOOTPRINT(Wugtrio) OVERWORLD( sPicTable_Wugtrio, @@ -3836,6 +3897,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Bombirdier, .iconSprite = gMonIcon_Bombirdier, .iconPalIndex = 0, + SHADOW(1, 18, SHADOW_SIZE_M) FOOTPRINT(Bombirdier) OVERWORLD( sPicTable_Bombirdier, @@ -3898,6 +3960,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Finizen, .iconSprite = gMonIcon_Finizen, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Finizen) OVERWORLD( sPicTable_Finizen, @@ -3960,6 +4023,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_PalafinZero, .iconSprite = gMonIcon_PalafinZero, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Palafin) OVERWORLD( sPicTable_PalafinZero, @@ -4022,6 +4086,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_PalafinHero, .iconSprite = gMonIcon_PalafinHero, .iconPalIndex = 0, + SHADOW(1, 13, SHADOW_SIZE_M) FOOTPRINT(Palafin) OVERWORLD( sPicTable_PalafinHero, @@ -4086,6 +4151,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Varoom, .iconSprite = gMonIcon_Varoom, .iconPalIndex = 2, + SHADOW(0, 0, SHADOW_SIZE_M) FOOTPRINT(Varoom) OVERWORLD( sPicTable_Varoom, @@ -4148,6 +4214,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Revavroom, .iconSprite = gMonIcon_Revavroom, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_L) FOOTPRINT(Revavroom) OVERWORLD( sPicTable_Revavroom, @@ -4210,6 +4277,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Cyclizar, .iconSprite = gMonIcon_Cyclizar, .iconPalIndex = 1, + SHADOW(-1, 9, SHADOW_SIZE_M) FOOTPRINT(Cyclizar) OVERWORLD( sPicTable_Cyclizar, @@ -4273,6 +4341,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Orthworm, .iconSprite = gMonIcon_Orthworm, .iconPalIndex = 0, + SHADOW(6, 10, SHADOW_SIZE_L) FOOTPRINT(Orthworm) OVERWORLD( sPicTable_Orthworm, @@ -4337,6 +4406,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Glimmet, .iconSprite = gMonIcon_Glimmet, .iconPalIndex = 0, + SHADOW(-2, 6, SHADOW_SIZE_S) FOOTPRINT(Glimmet) OVERWORLD( sPicTable_Glimmet, @@ -4400,6 +4470,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Glimmora, .iconSprite = gMonIcon_Glimmora, .iconPalIndex = 0, + SHADOW(-3, 17, SHADOW_SIZE_M) FOOTPRINT(Glimmora) OVERWORLD( sPicTable_Glimmora, @@ -4462,6 +4533,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Greavard, .iconSprite = gMonIcon_Greavard, .iconPalIndex = 0, + SHADOW(3, 2, SHADOW_SIZE_M) FOOTPRINT(Greavard) OVERWORLD( sPicTable_Greavard, @@ -4524,6 +4596,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Houndstone, .iconSprite = gMonIcon_Houndstone, .iconPalIndex = 2, + SHADOW(4, 6, SHADOW_SIZE_L) FOOTPRINT(Houndstone) OVERWORLD( sPicTable_Houndstone, @@ -4586,6 +4659,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Flamigo, .iconSprite = gMonIcon_Flamigo, .iconPalIndex = 1, + SHADOW(0, 12, SHADOW_SIZE_S) FOOTPRINT(Flamigo) OVERWORLD( sPicTable_Flamigo, @@ -4649,6 +4723,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Cetoddle, .iconSprite = gMonIcon_Cetoddle, .iconPalIndex = 0, + SHADOW(2, 0, SHADOW_SIZE_M) FOOTPRINT(Cetoddle) OVERWORLD( sPicTable_Cetoddle, @@ -4711,6 +4786,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Cetitan, .iconSprite = gMonIcon_Cetitan, .iconPalIndex = 0, + SHADOW(-1, 10, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Cetitan) OVERWORLD( sPicTable_Cetitan, @@ -4774,6 +4850,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Veluza, .iconSprite = gMonIcon_Veluza, .iconPalIndex = 1, + SHADOW(0, 5, SHADOW_SIZE_M) FOOTPRINT(Veluza) OVERWORLD( sPicTable_Veluza, @@ -4838,6 +4915,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Dondozo, .iconSprite = gMonIcon_Dondozo, .iconPalIndex = 0, + SHADOW(-1, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Dondozo) OVERWORLD( sPicTable_Dondozo, @@ -4901,6 +4979,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_TatsugiriCurly, .iconSprite = gMonIcon_TatsugiriCurly, .iconPalIndex = 0, + SHADOW(-2, -1, SHADOW_SIZE_S) FOOTPRINT(Tatsugiri) OVERWORLD( sPicTable_TatsugiriCurly, @@ -4962,6 +5041,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_TatsugiriDroopy, .iconSprite = gMonIcon_TatsugiriDroopy, .iconPalIndex = 0, + SHADOW(-2, -1, SHADOW_SIZE_S) FOOTPRINT(Tatsugiri) OVERWORLD( sPicTable_TatsugiriDroopy, @@ -5023,6 +5103,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_TatsugiriStretchy, .iconSprite = gMonIcon_TatsugiriStretchy, .iconPalIndex = 0, + SHADOW(-2, -1, SHADOW_SIZE_S) FOOTPRINT(Tatsugiri) OVERWORLD( sPicTable_TatsugiriStretchy, @@ -5088,6 +5169,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_GreatTusk, .iconSprite = gMonIcon_GreatTusk, .iconPalIndex = 0, + SHADOW(3, 6, SHADOW_SIZE_L) FOOTPRINT(GreatTusk) OVERWORLD( sPicTable_GreatTusk, @@ -5152,6 +5234,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_ScreamTail, .iconSprite = gMonIcon_ScreamTail, .iconPalIndex = 0, + SHADOW(0, 3, SHADOW_SIZE_L) FOOTPRINT(ScreamTail) OVERWORLD( sPicTable_ScreamTail, @@ -5216,6 +5299,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_BruteBonnet, .iconSprite = gMonIcon_BruteBonnet, .iconPalIndex = 1, + SHADOW(2, 7, SHADOW_SIZE_L) FOOTPRINT(BruteBonnet) OVERWORLD( sPicTable_BruteBonnet, @@ -5283,6 +5367,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_FlutterMane, .iconSprite = gMonIcon_FlutterMane, .iconPalIndex = 2, + SHADOW(-2, 20, SHADOW_SIZE_S) FOOTPRINT(FlutterMane) OVERWORLD( sPicTable_FlutterMane, @@ -5346,6 +5431,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_SlitherWing, .iconSprite = gMonIcon_SlitherWing, .iconPalIndex = 1, + SHADOW(-5, 13, SHADOW_SIZE_M) FOOTPRINT(SlitherWing) OVERWORLD( sPicTable_SlitherWing, @@ -5410,6 +5496,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_SandyShocks, .iconSprite = gMonIcon_SandyShocks, .iconPalIndex = 0, + SHADOW(2, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(SandyShocks) OVERWORLD( sPicTable_SandyShocks, @@ -5474,6 +5561,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronTreads, .iconSprite = gMonIcon_IronTreads, .iconPalIndex = 1, + SHADOW(4, 3, SHADOW_SIZE_L) FOOTPRINT(IronTreads) OVERWORLD( sPicTable_IronTreads, @@ -5538,6 +5626,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronBundle, .iconSprite = gMonIcon_IronBundle, .iconPalIndex = 0, + SHADOW(-1, 6, SHADOW_SIZE_M) FOOTPRINT(IronBundle) OVERWORLD( sPicTable_IronBundle, @@ -5602,6 +5691,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronHands, .iconSprite = gMonIcon_IronHands, .iconPalIndex = 0, + SHADOW(-2, 8, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(IronHands) OVERWORLD( sPicTable_IronHands, @@ -5667,6 +5757,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronJugulis, .iconSprite = gMonIcon_IronJugulis, .iconPalIndex = 0, + SHADOW(0, 15, SHADOW_SIZE_M) FOOTPRINT(IronJugulis) OVERWORLD( sPicTable_IronJugulis, @@ -5732,6 +5823,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronMoth, .iconSprite = gMonIcon_IronMoth, .iconPalIndex = 3, + SHADOW(-4, 14, SHADOW_SIZE_M) FOOTPRINT(IronMoth) OVERWORLD( sPicTable_IronMoth, @@ -5796,6 +5888,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronThorns, .iconSprite = gMonIcon_IronThorns, .iconPalIndex = 1, + SHADOW(-9, 12, SHADOW_SIZE_L) FOOTPRINT(IronThorns) OVERWORLD( sPicTable_IronThorns, @@ -5859,6 +5952,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Frigibax, .iconSprite = gMonIcon_Frigibax, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_S) FOOTPRINT(Frigibax) OVERWORLD( sPicTable_Frigibax, @@ -5921,6 +6015,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Arctibax, .iconSprite = gMonIcon_Arctibax, .iconPalIndex = 0, + SHADOW(4, 8, SHADOW_SIZE_M) FOOTPRINT(Arctibax) OVERWORLD( sPicTable_Arctibax, @@ -5982,6 +6077,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Baxcalibur, .iconSprite = gMonIcon_Baxcalibur, .iconPalIndex = 0, + SHADOW(5, 12, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Baxcalibur) OVERWORLD( sPicTable_Baxcalibur, @@ -6044,6 +6140,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_GimmighoulChest, .iconSprite = gMonIcon_GimmighoulChest, .iconPalIndex = 0, + SHADOW(0, 7, SHADOW_SIZE_M) FOOTPRINT(GimmighoulChest) OVERWORLD( sPicTable_GimmighoulChest, @@ -6106,6 +6203,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_GimmighoulRoaming, .iconSprite = gMonIcon_GimmighoulRoaming, .iconPalIndex = 0, + SHADOW(-1, -4, SHADOW_SIZE_S) FOOTPRINT(GimmighoulRoaming) .levelUpLearnset = sGimmighoulLevelUpLearnset, .teachableLearnset = sGimmighoulTeachableLearnset, @@ -6160,6 +6258,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Gholdengo, .iconSprite = gMonIcon_Gholdengo, .iconPalIndex = 0, + SHADOW(3, 13, SHADOW_SIZE_M) FOOTPRINT(Gholdengo) OVERWORLD( sPicTable_Gholdengo, @@ -6222,6 +6321,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_WoChien, .iconSprite = gMonIcon_WoChien, .iconPalIndex = 1, + SHADOW(0, 11, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(WoChien) OVERWORLD( sPicTable_WoChien, @@ -6286,6 +6386,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_ChienPao, .iconSprite = gMonIcon_ChienPao, .iconPalIndex = 0, + SHADOW(-4, 8, SHADOW_SIZE_L) FOOTPRINT(ChienPao) OVERWORLD( sPicTable_ChienPao, @@ -6350,6 +6451,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_TingLu, .iconSprite = gMonIcon_TingLu, .iconPalIndex = 0, + SHADOW(12, 13, SHADOW_SIZE_L) FOOTPRINT(TingLu) OVERWORLD( sPicTable_TingLu, @@ -6415,6 +6517,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_ChiYu, .iconSprite = gMonIcon_ChiYu, .iconPalIndex = 0, + SHADOW(0, 16, SHADOW_SIZE_S) FOOTPRINT(ChiYu) OVERWORLD( sPicTable_ChiYu, @@ -6481,6 +6584,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_RoaringMoon, .iconSprite = gMonIcon_RoaringMoon, .iconPalIndex = 0, + SHADOW(3, 9, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(RoaringMoon) OVERWORLD( sPicTable_RoaringMoon, @@ -6544,6 +6648,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronValiant, .iconSprite = gMonIcon_IronValiant, .iconPalIndex = 1, + SHADOW(2, 14, SHADOW_SIZE_L) FOOTPRINT(IronValiant) OVERWORLD( sPicTable_IronValiant, @@ -6607,6 +6712,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Koraidon, .iconSprite = gMonIcon_Koraidon, .iconPalIndex = 0, + SHADOW(-3, 13, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(Koraidon) OVERWORLD( sPicTable_Koraidon, @@ -6672,6 +6778,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Miraidon, .iconSprite = gMonIcon_Miraidon, .iconPalIndex = 2, + SHADOW(10, 14, SHADOW_SIZE_L) FOOTPRINT(Miraidon) OVERWORLD( sPicTable_Miraidon, @@ -6737,6 +6844,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_WalkingWake, .iconSprite = gMonIcon_WalkingWake, .iconPalIndex = 2, + SHADOW(2, 13, SHADOW_SIZE_L) FOOTPRINT(WalkingWake) OVERWORLD( sPicTable_WalkingWake, @@ -6800,6 +6908,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronLeaves, .iconSprite = gMonIcon_IronLeaves, .iconPalIndex = 1, + SHADOW(2, 11, SHADOW_SIZE_M) FOOTPRINT(IronLeaves) OVERWORLD( sPicTable_IronLeaves, @@ -6864,6 +6973,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Poltchageist, .iconSprite = gMonIcon_Poltchageist, .iconPalIndex = 1, + SHADOW(-1, 14, SHADOW_SIZE_S) FOOTPRINT(Poltchageist) OVERWORLD( sPicTable_Poltchageist, @@ -6925,6 +7035,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Poltchageist, .iconSprite = gMonIcon_Poltchageist, .iconPalIndex = 1, + SHADOW(-1, 14, SHADOW_SIZE_S) FOOTPRINT(Poltchageist) OVERWORLD( sPicTable_Poltchageist, @@ -6987,6 +7098,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Sinistcha, .iconSprite = gMonIcon_Sinistcha, .iconPalIndex = 1, + SHADOW(0, 11, SHADOW_SIZE_M) FOOTPRINT(Sinistcha) OVERWORLD( sPicTable_Sinistcha, @@ -7047,6 +7159,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Sinistcha, .iconSprite = gMonIcon_Sinistcha, .iconPalIndex = 1, + SHADOW(0, 11, SHADOW_SIZE_M) FOOTPRINT(Sinistcha) OVERWORLD( sPicTable_Sinistcha, @@ -7109,6 +7222,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Okidogi, .iconSprite = gMonIcon_Okidogi, .iconPalIndex = 1, + SHADOW(-1, 11, SHADOW_SIZE_L) FOOTPRINT(Okidogi) OVERWORLD( sPicTable_Okidogi, @@ -7173,6 +7287,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Munkidori, .iconSprite = gMonIcon_Munkidori, .iconPalIndex = 0, + SHADOW(1, 8, SHADOW_SIZE_S) FOOTPRINT(Munkidori) OVERWORLD( sPicTable_Munkidori, @@ -7237,6 +7352,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Fezandipiti, .iconSprite = gMonIcon_Fezandipiti, .iconPalIndex = 0, + SHADOW(-3, 10, SHADOW_SIZE_M) FOOTPRINT(Fezandipiti) OVERWORLD( sPicTable_Fezandipiti, @@ -7298,6 +7414,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Ogerpon##Form1##Form2, \ .iconSprite = gMonIcon_Ogerpon##Form1##Mask, \ .iconPalIndex = iconpalette, \ + SHADOW(7, 13, SHADOW_SIZE_L) \ FOOTPRINT(Ogerpon) \ OVERWORLD( \ sPicTable_Ogerpon##Form1##Form2, \ @@ -7313,7 +7430,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .formChangeTable = sOgerponFormChangeTable, \ .isLegendary = TRUE, \ .isTeraForm = isTeraform, \ - .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, \ + .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, \ } [SPECIES_OGERPON_TEAL_MASK] = OGERPON_SPECIES_INFO(Teal, Mask, TYPE_GRASS, ABILITY_DEFIANT, BODY_COLOR_GREEN, 1, FALSE), @@ -7378,6 +7495,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_GougingFire, .iconSprite = gMonIcon_GougingFire, .iconPalIndex = 5, + SHADOW(-1, 6, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(GougingFire) OVERWORLD( sPicTable_GougingFire, @@ -7442,6 +7560,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_RagingBolt, .iconSprite = gMonIcon_RagingBolt, .iconPalIndex = 2, + SHADOW(4, 14, SHADOW_SIZE_L) FOOTPRINT(RagingBolt) OVERWORLD( sPicTable_RagingBolt, @@ -7505,6 +7624,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronBoulder, .iconSprite = gMonIcon_IronBoulder, .iconPalIndex = 5, + SHADOW(4, 7, SHADOW_SIZE_XL_BATTLE_ONLY) FOOTPRINT(IronBoulder) OVERWORLD( sPicTable_IronBoulder, @@ -7569,6 +7689,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_IronCrown, .iconSprite = gMonIcon_IronCrown, .iconPalIndex = 3, + SHADOW(0, 14, SHADOW_SIZE_L) FOOTPRINT(IronCrown) OVERWORLD( sPicTable_IronCrown, @@ -7634,6 +7755,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_TerapagosNormal, .iconSprite = gMonIcon_TerapagosNormal, .iconPalIndex = 0, + SHADOW(3, 13, SHADOW_SIZE_L) FOOTPRINT(TerapagosNormal) OVERWORLD( sPicTable_TerapagosNormal, @@ -7702,6 +7824,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_TerapagosTerastal, .iconSprite = gMonIcon_TerapagosTerastal, .iconPalIndex = 0, + SHADOW(-4, 4, SHADOW_SIZE_L) FOOTPRINT(TerapagosTerastal) OVERWORLD( sPicTable_TerapagosTerastal, @@ -7768,6 +7891,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_TerapagosStellar, .iconSprite = gMonIcon_TerapagosStellar, .iconPalIndex = 0, + SHADOW(0, 12, SHADOW_SIZE_L) FOOTPRINT(TerapagosStellar) .isLegendary = TRUE, .isTeraForm = TRUE, @@ -7828,6 +7952,7 @@ const struct SpeciesInfo gSpeciesInfoGen9[] = .shinyPalette = gMonShinyPalette_Pecharunt, .iconSprite = gMonIcon_Pecharunt, .iconPalIndex = 0, + SHADOW(2, 1, SHADOW_SIZE_L) FOOTPRINT(Pecharunt) OVERWORLD( sPicTable_Pecharunt, diff --git a/src/graphics.c b/src/graphics.c index 724b4791cb..703c32331f 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -1387,6 +1387,7 @@ const u32 gBattleAnimSpritePal_Protect[] = INCBIN_U32("graphics/battle_anims/spr const u32 gBattleAnimBackgroundImageMuddyWater_Pal[] = INCBIN_U32("graphics/battle_anims/backgrounds/water_muddy.gbapal.lz"); const u32 gEnemyMonShadow_Gfx[] = INCBIN_U32("graphics/battle_interface/enemy_mon_shadow.4bpp.lz"); +const u32 gEnemyMonShadowsSized_Gfx[] = INCBIN_U32("graphics/battle_interface/enemy_mon_shadows_sized.4bpp.lz"); const u32 gBattleInterface_BallStatusBarGfx[] = INCBIN_U32("graphics/battle_interface/ball_status_bar.4bpp.lz"); diff --git a/src/pokemon_sprite_visualizer.c b/src/pokemon_sprite_visualizer.c index a0b7ddabc2..fea6324129 100644 --- a/src/pokemon_sprite_visualizer.c +++ b/src/pokemon_sprite_visualizer.c @@ -4,8 +4,6 @@ #include "battle_anim.h" #include "battle_gfx_sfx_util.h" #include "bg.h" -#include "constants/rgb.h" -#include "constants/songs.h" #include "data.h" #include "decompress.h" #include "event_object_movement.h" @@ -38,11 +36,15 @@ #include "text_window.h" #include "trainer_pokemon_sprites.h" +#include "constants/global.h" #include "constants/items.h" #include "constants/event_objects.h" +#include "constants/rgb.h" +#include "constants/songs.h" extern const struct BattleBackground sBattleTerrainTable[]; extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow; +extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadowsSized; extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow; extern const struct SpritePalette sSpritePalettes_HealthBoxHealthBar[2]; extern const struct UCoords8 sBattlerCoords[][MAX_BATTLERS_COUNT] ; @@ -396,6 +398,13 @@ const u8 gBattleBackgroundTerrainNames[][26] = [BATTLE_TERRAIN_BUILDING] = _("NORMAL - BUILDING "), [BATTLE_TERRAIN_PLAIN] = _("NORMAL - PLAIN "), }; +const u8 sShadowSizeLabels[][4] = +{ + [SHADOW_SIZE_S] = _(" S"), + [SHADOW_SIZE_M] = _(" M"), + [SHADOW_SIZE_L] = _(" L"), + [SHADOW_SIZE_XL_BATTLE_ONLY] = _(" XL"), +}; //Function declarations static void PrintDigitChars(struct PokemonSpriteVisualizer *data); static void SetUpModifyArrows(struct PokemonSpriteVisualizer *data); @@ -426,17 +435,27 @@ static void PrintInstructionsOnWindow(struct PokemonSpriteVisualizer *data) { u8 fontId = 0; u8 x = 2; - u8 textInstructions[] = _("{START_BUTTON} Shiny\n{B_BUTTON} Exit {A_BUTTON} Submenu 1$"); - u8 textInstructionsGender[] = _("{START_BUTTON} Shiny {SELECT_BUTTON} Gender\n{B_BUTTON} Exit {A_BUTTON} Submenu 1$"); - u8 textInstructionsSubmenuOne[] = _("{START_BUTTON} Shiny\n{B_BUTTON} Back {A_BUTTON} Submenu 2$"); - u8 textInstructionsSubmenuOneGender[] = _("{START_BUTTON} Shiny {SELECT_BUTTON} Gender\n{B_BUTTON} Back {A_BUTTON} Submenu 2$"); + u8 textInstructions[] = _("{START_BUTTON} Shiny\n{B_BUTTON} Exit {A_BUTTON} Anims and BG$"); + u8 textInstructionsGender[] = _("{START_BUTTON} Shiny {SELECT_BUTTON} Gender\n{B_BUTTON} Exit {A_BUTTON} Anims and BG$"); + u8 textInstructionsSubmenuOne[] = _("{START_BUTTON} Shiny\n{B_BUTTON} Back {A_BUTTON} Sprite Coords$"); + u8 textInstructionsSubmenuOneGender[] = _("{START_BUTTON} Shiny {SELECT_BUTTON} Gender\n{B_BUTTON} Back {A_BUTTON} Sprite Coords$"); +#if B_ENEMY_MON_SHADOW_STYLE >= GEN_4 + u8 textInstructionsSubmenuTwo[] = _("{START_BUTTON} Shiny\n{B_BUTTON} Back {A_BUTTON} Shadow Coords$"); + u8 textInstructionsSubmenuTwoGender[] = _("{START_BUTTON} Shiny {SELECT_BUTTON} Gender\n{B_BUTTON} Back {A_BUTTON} Shadow Coords$"); + u8 textInstructionsSubmenuThree[] = _("{START_BUTTON} Shiny\n{B_BUTTON} Back"); + u8 textInstructionsSubmenuThreeGender[] = _("{START_BUTTON} Shiny {SELECT_BUTTON} Gender\n{B_BUTTON} Back$"); +#else u8 textInstructionsSubmenuTwo[] = _("{START_BUTTON} Shiny\n{B_BUTTON} Back$"); u8 textInstructionsSubmenuTwoGender[] = _("{START_BUTTON} Shiny {SELECT_BUTTON} Gender\n{B_BUTTON} Back$"); + u8 textInstructionsSubmenuThree[] = _("$"); + u8 textInstructionsSubmenuThreeGender[] = _("$"); +#endif u8 textBottom[] = _("BACK:\nFRONT:\nBG:$"); u8 textBottomForms[] = _("BACK:\nFRONT:\nBG:\nFORMS:$"); u8 textBottomSubmenuTwo[] = _("B coords:\nF coords:\nF elev:"); + u8 textBottomSubmenuThree[] = _("X coords:\nY coords:\nSize:"); u16 species = data->modifyArrows.currValue; u8 textL[] = _("{L_BUTTON}"); @@ -465,11 +484,18 @@ static void PrintInstructionsOnWindow(struct PokemonSpriteVisualizer *data) else AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsSubmenuTwo, x, 0, 0, NULL); } + else if (data->currentSubmenu == 3) + { + if (SpeciesHasGenderDifferences(species)) + AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsSubmenuThreeGender, x, 0, 0, NULL); + else + AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsSubmenuThree, x, 0, 0, NULL); + } CopyWindowToVram(WIN_INSTRUCTIONS, COPYWIN_FULL); //Bottom left text FillWindowPixelBuffer(WIN_BOTTOM_LEFT, PIXEL_FILL(0)); - if (data->currentSubmenu != 2) + if (data->currentSubmenu < 2) { AddTextPrinterParameterized(WIN_BOTTOM_LEFT, fontId, textL, 30, 0, 0, NULL); AddTextPrinterParameterized(WIN_BOTTOM_LEFT, fontId, textR, 30, 12, 0, NULL); @@ -478,8 +504,10 @@ static void PrintInstructionsOnWindow(struct PokemonSpriteVisualizer *data) else AddTextPrinterParameterized(WIN_BOTTOM_LEFT, fontId, textBottom, 0, 0, 0, NULL); } - else + else if (data->currentSubmenu == 2) AddTextPrinterParameterized(WIN_BOTTOM_LEFT, fontId, textBottomSubmenuTwo, 0, 0, 0, NULL); + else if (data->currentSubmenu == 3) + AddTextPrinterParameterized(WIN_BOTTOM_LEFT, fontId, textBottomSubmenuThree, 0, 0, 0, NULL); } static void VBlankCB(void) @@ -588,6 +616,7 @@ static void SetArrowInvisibility(struct PokemonSpriteVisualizer *data) gSprites[data->yPosModifyArrows.arrowSpriteId[0]].invisible = TRUE; break; case 2: + case 3: gSprites[data->modifyArrows.arrowSpriteId[0]].invisible = TRUE; gSprites[data->modifyArrows.arrowSpriteId[1]].invisible = TRUE; gSprites[data->optionArrows.arrowSpriteId[0]].invisible = TRUE; @@ -735,6 +764,20 @@ static void ResetOffsetSpriteValues(struct PokemonSpriteVisualizer *data) data->offsetsSpriteValues.offset_front_elevation = 0; } +static void ResetShadowSettings(struct PokemonSpriteVisualizer *data, u16 species) +{ + if (B_ENEMY_MON_SHADOW_STYLE <= GEN_3) + return; + + data->shadowSettings.definedX = gSpeciesInfo[species].enemyShadowXOffset; + data->shadowSettings.definedY = gSpeciesInfo[species].enemyShadowYOffset; + data->shadowSettings.definedSize = gSpeciesInfo[species].enemyShadowSize; + + data->shadowSettings.overrideX = data->shadowSettings.definedX; + data->shadowSettings.overrideY = data->shadowSettings.definedY; + data->shadowSettings.overrideSize = data->shadowSettings.definedSize; +} + static u8 GetBattlerSpriteFinal_YCustom(u16 species, s8 offset_picCoords, s8 offset_elevation) { u16 offset; @@ -758,18 +801,39 @@ static u8 GetBattlerSpriteFinal_YCustom(u16 species, s8 offset_picCoords, s8 off static void UpdateShadowSpriteInvisible(struct PokemonSpriteVisualizer *data) { + if (B_ENEMY_MON_SHADOW_STYLE >= GEN_4) + return; + if (data->constSpriteValues.frontElevation + data->offsetsSpriteValues.offset_front_elevation == 0) - gSprites[data->frontShadowSpriteId].invisible = TRUE; + gSprites[data->frontShadowSpriteIdPrimary].invisible = TRUE; else - gSprites[data->frontShadowSpriteId].invisible = FALSE; + gSprites[data->frontShadowSpriteIdPrimary].invisible = FALSE; } +#define tFrontSpriteId data[0] +#define tSpriteSide data[1] +#define tShadowXOffset data[2] +#define tShadowYOffset data[3] + +#define SPRITE_SIDE_LEFT 0 +#define SPRITE_SIDE_RIGHT 1 + + static void SpriteCB_EnemyShadowCustom(struct Sprite *shadowSprite) { - u8 frontSpriteId = shadowSprite->data[0]; + u8 frontSpriteId = shadowSprite->tFrontSpriteId; struct Sprite *battlerSprite = &gSprites[frontSpriteId]; - shadowSprite->x = battlerSprite->x; + s8 xOffset = 0, yOffset = 0; + if (B_ENEMY_MON_SHADOW_STYLE >= GEN_4) + { + xOffset = shadowSprite->tShadowXOffset + (shadowSprite->tSpriteSide == SPRITE_SIDE_LEFT ? -16 : 16); + yOffset = shadowSprite->tShadowYOffset + 16; + + shadowSprite->y = battlerSprite->y + yOffset; + } + + shadowSprite->x = battlerSprite->x + xOffset; shadowSprite->x2 = battlerSprite->x2; } @@ -801,25 +865,60 @@ static void SpriteCB_Follower(struct Sprite *sprite) sprite->animDelayCounter--; } } - static void LoadAndCreateEnemyShadowSpriteCustom(struct PokemonSpriteVisualizer *data, u16 species) { - u8 x, y; bool8 invisible = FALSE; species = SanitizeSpeciesId(species); - if (gSpeciesInfo[species].enemyMonElevation == 0) - invisible = TRUE; - LoadCompressedSpriteSheet(&gSpriteSheet_EnemyShadow); - LoadSpritePalette(&sSpritePalettes_HealthBoxHealthBar[0]); - x = sBattlerCoords[0][1].x; - y = sBattlerCoords[0][1].y; - data->frontShadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, x, y + 29, 0xC8); - gSprites[data->frontShadowSpriteId].data[0] = data->frontspriteId; + if (B_ENEMY_MON_SHADOW_STYLE >= GEN_4) + { + invisible = gSpeciesInfo[species].suppressEnemyShadow; - gSprites[data->frontShadowSpriteId].callback = SpriteCB_EnemyShadowCustom; - gSprites[data->frontShadowSpriteId].oam.priority = 0; - gSprites[data->frontShadowSpriteId].invisible = invisible; + LoadCompressedSpriteSheet(&gSpriteSheet_EnemyShadowsSized); + LoadSpritePalette(&sSpritePalettes_HealthBoxHealthBar[0]); + u8 x = sBattlerCoords[0][1].x; + u8 y = sBattlerCoords[0][1].y; + s8 xOffset = data->shadowSettings.overrideX; + s8 yOffset = data->shadowSettings.overrideY; + u8 size = data->shadowSettings.overrideSize; + + data->frontShadowSpriteIdPrimary = CreateSprite(&gSpriteTemplate_EnemyShadow, x, y, 0xC8); + gSprites[data->frontShadowSpriteIdPrimary].tFrontSpriteId = data->frontspriteId; + gSprites[data->frontShadowSpriteIdPrimary].tSpriteSide = SPRITE_SIDE_LEFT; + gSprites[data->frontShadowSpriteIdPrimary].tShadowXOffset = (u8)xOffset; + gSprites[data->frontShadowSpriteIdPrimary].tShadowYOffset = (u8)yOffset; + gSprites[data->frontShadowSpriteIdPrimary].callback = SpriteCB_EnemyShadowCustom; + gSprites[data->frontShadowSpriteIdPrimary].oam.priority = 0; + gSprites[data->frontShadowSpriteIdPrimary].oam.tileNum += 8 * size; + gSprites[data->frontShadowSpriteIdPrimary].invisible = invisible; + + data->frontShadowSpriteIdSecondary = CreateSprite(&gSpriteTemplate_EnemyShadow, x, y, 0xC8); + gSprites[data->frontShadowSpriteIdSecondary].tFrontSpriteId = data->frontspriteId; + gSprites[data->frontShadowSpriteIdSecondary].tSpriteSide = SPRITE_SIDE_RIGHT; + gSprites[data->frontShadowSpriteIdSecondary].tShadowXOffset = (u8)xOffset; + gSprites[data->frontShadowSpriteIdSecondary].tShadowYOffset = (u8)yOffset; + gSprites[data->frontShadowSpriteIdSecondary].callback = SpriteCB_EnemyShadowCustom; + gSprites[data->frontShadowSpriteIdSecondary].oam.priority = 0; + gSprites[data->frontShadowSpriteIdSecondary].oam.tileNum += (8 * size) + 4; + gSprites[data->frontShadowSpriteIdSecondary].invisible = invisible; + } + else + { + if (gSpeciesInfo[species].enemyMonElevation == 0) + invisible = TRUE; + + LoadCompressedSpriteSheet(&gSpriteSheet_EnemyShadow); + LoadSpritePalette(&sSpritePalettes_HealthBoxHealthBar[0]); + u8 x = sBattlerCoords[0][1].x; + u8 y = sBattlerCoords[0][1].y; + + data->frontShadowSpriteIdPrimary = CreateSprite(&gSpriteTemplate_EnemyShadow, x, y + 29, 0xC8); + gSprites[data->frontShadowSpriteIdPrimary].data[0] = data->frontspriteId; + + gSprites[data->frontShadowSpriteIdPrimary].callback = SpriteCB_EnemyShadowCustom; + gSprites[data->frontShadowSpriteIdPrimary].oam.priority = 0; + gSprites[data->frontShadowSpriteIdPrimary].invisible = invisible; + } } //Battle background functions @@ -1044,6 +1143,55 @@ static void UpdateYPosOffsetText(struct PokemonSpriteVisualizer *data) AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, text, x_new_val, y, 0, NULL); } +#define ABS(val) (val < 0 ? val * -1 : val) +#define ITOA_SIGNED(buf, val) \ +{ \ + buf[0] = val < 0 ? CHAR_HYPHEN : CHAR_SPACER; \ + ConvertIntToDecimalStringN(&text[1], ABS(val), STR_CONV_MODE_LEFT_ALIGN, 2); \ +} + +static void UpdateShadowSettingsText(struct PokemonSpriteVisualizer *data) +{ + if (B_ENEMY_MON_SHADOW_STYLE <= GEN_3) + return; + + u8 text[16]; + u8 fontId = 0; + u8 textConst[] = _("const val:"); + u8 textNew[] = _("new val:"); + u8 x_const_val = 50; + u8 x_new_text = 70; + u8 x_new_val = 110; + u8 y = 0; + + FillWindowPixelBuffer(WIN_BOTTOM_RIGHT, PIXEL_FILL(0)); + + // X offset + y = 0; + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, textConst, 0, y, 0, NULL); + ITOA_SIGNED(text, data->shadowSettings.definedX); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, text, x_const_val, y, 0, NULL); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, textNew, x_new_text, y, 0, NULL); + ITOA_SIGNED(text, data->shadowSettings.overrideX); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, text, x_new_val, y, 0, NULL); + + // Y offset + y = 12; + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, textConst, 0, y, 0, NULL); + ITOA_SIGNED(text, data->shadowSettings.definedY); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, text, x_const_val, y, 0, NULL); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, textNew, x_new_text, y, 0, NULL); + ITOA_SIGNED(text, data->shadowSettings.overrideY); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, text, x_new_val, y, 0, NULL); + + // Shadow Size + y = 24; + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, textConst, 0, y, 0, NULL); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, sShadowSizeLabels[data->shadowSettings.definedSize], x_const_val, y, 0, NULL); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, textNew, x_new_text, y, 0, NULL); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, sShadowSizeLabels[data->shadowSettings.overrideSize], x_new_val, y, 0, NULL); +} + static void ResetPokemonSpriteVisualizerWindows(void) { u8 i; @@ -1334,6 +1482,7 @@ static void UpdateSubmenuOneOptionValue(u8 taskId, bool8 increment) data->animIdFront = gSpeciesInfo[modArrows->currValue].frontAnimId; UpdateMonAnimNames(taskId); ResetOffsetSpriteValues(data); + ResetShadowSettings(data, modArrows->currValue); UpdateBattlerValue(data); ReloadPokemonSprites(data); @@ -1421,6 +1570,79 @@ static void UpdateSubmenuTwoOptionValue(u8 taskId, bool8 increment) UpdateYPosOffsetText(data); } +static void UpdateShadowSettingsValue(u8 taskId, bool8 increment) +{ + if (B_ENEMY_MON_SHADOW_STYLE <= GEN_3) + return; + + struct PokemonSpriteVisualizer *data = GetStructPtr(taskId); + u8 option = data->submenuYpos[2]; + s8 *offset; + s16 *leftTarget, *rightTarget; + if (option == 0) + { + offset = &data->shadowSettings.overrideX; + leftTarget = &gSprites[data->frontShadowSpriteIdPrimary].tShadowXOffset; + rightTarget = &gSprites[data->frontShadowSpriteIdSecondary].tShadowXOffset; + } + else + { + offset = &data->shadowSettings.overrideY; + leftTarget = &gSprites[data->frontShadowSpriteIdPrimary].tShadowYOffset; + rightTarget = &gSprites[data->frontShadowSpriteIdSecondary].tShadowYOffset; + } + + *offset = *offset + (increment ? 1 : -1); + if (*offset > 20) + *offset = -20; + else if (*offset < -20) + *offset = 20; + UpdateShadowSettingsText(data); + + *leftTarget = (s16)*offset; + *rightTarget = (s16)*offset; +} + +static void UpdateShadowSizeValue(u8 taskId, bool8 increment) +{ + if (B_ENEMY_MON_SHADOW_STYLE <= GEN_3) + return; + + struct PokemonSpriteVisualizer *data = GetStructPtr(taskId); + s8 update; + + if (increment) + { + if (data->shadowSettings.overrideSize == SHADOW_SIZE_XL_BATTLE_ONLY) + { + update = -data->shadowSettings.overrideSize; + data->shadowSettings.overrideSize = SHADOW_SIZE_S; + } + else + { + update = 1; + data->shadowSettings.overrideSize += 1; + } + } + else + { + if (data->shadowSettings.overrideSize == SHADOW_SIZE_S) + { + update = SHADOW_SIZE_XL_BATTLE_ONLY; + data->shadowSettings.overrideSize = update; + } + else + { + update = -1; + data->shadowSettings.overrideSize -= 1; + } + } + + UpdateShadowSettingsText(data); + gSprites[data->frontShadowSpriteIdPrimary].oam.tileNum += (8 * update); + gSprites[data->frontShadowSpriteIdSecondary].oam.tileNum += (8 * update); +} + #define READ_PTR_FROM_TASK(taskId, dataId) \ (void *)( \ ((u16)(gTasks[taskId].data[dataId]) | \ @@ -1517,6 +1739,7 @@ static void HandleInput_PokemonSpriteVisualizer(u8 taskId) data->isFemale = FALSE; PrintDigitChars(data); UpdateBattlerValue(data); + ResetShadowSettings(data, data->currentmonId); ReloadPokemonSprites(data); data->animIdBack = GetSpeciesBackAnimSet(data->currentmonId) + 1; data->animIdFront = gSpeciesInfo[data->currentmonId].frontAnimId; @@ -1533,6 +1756,7 @@ static void HandleInput_PokemonSpriteVisualizer(u8 taskId) data->isFemale = FALSE; PrintDigitChars(data); UpdateBattlerValue(data); + ResetShadowSettings(data, data->currentmonId); ReloadPokemonSprites(data); data->animIdBack = GetSpeciesBackAnimSet(data->currentmonId) + 1; data->animIdFront = gSpeciesInfo[data->currentmonId].frontAnimId; @@ -1571,6 +1795,8 @@ static void HandleInput_PokemonSpriteVisualizer(u8 taskId) SetArrowInvisibility(data); SetConstSpriteValues(data); UpdateYPosOffsetText(data); + + gSprites[data->followerspriteId].invisible = TRUE; } else if (JOY_NEW(B_BUTTON)) { @@ -1621,13 +1847,22 @@ static void HandleInput_PokemonSpriteVisualizer(u8 taskId) } else if (data->currentSubmenu == 2) //Submenu 2 { - if (JOY_NEW(B_BUTTON)) + if (JOY_NEW(A_BUTTON) && B_ENEMY_MON_SHADOW_STYLE >= GEN_4) + { + data->currentSubmenu = 3; + PrintInstructionsOnWindow(data); + SetArrowInvisibility(data); + UpdateShadowSettingsText(data); + } + else if (JOY_NEW(B_BUTTON)) { data->currentSubmenu = 1; SetArrowInvisibility(data); PrintInstructionsOnWindow(data); UpdateMonAnimNames(taskId); + + gSprites[data->followerspriteId].invisible = FALSE; } else if (JOY_NEW(DPAD_DOWN)) { @@ -1657,6 +1892,50 @@ static void HandleInput_PokemonSpriteVisualizer(u8 taskId) UpdateSubmenuTwoOptionValue(taskId, TRUE); } } + else if (data->currentSubmenu == 3) // Submenu 3 + { + if (JOY_NEW(B_BUTTON)) + { + data->currentSubmenu = 2; + PrintInstructionsOnWindow(data); + SetArrowInvisibility(data); + SetConstSpriteValues(data); + UpdateYPosOffsetText(data); + } + else if (JOY_NEW(DPAD_DOWN)) + { + data->submenuYpos[2] += 1; + if (data->submenuYpos[2] >= 3) + data->submenuYpos[2] = 0; + + data->yPosModifyArrows.currentDigit = data->submenuYpos[2]; + gSprites[data->yPosModifyArrows.arrowSpriteId[0]].y = OPTIONS_ARROW_Y + data->yPosModifyArrows.currentDigit * 12; + } + else if (JOY_NEW(DPAD_UP)) + { + if (data->submenuYpos[2] == 0) + data->submenuYpos[2] = 2; + else + data->submenuYpos[2] -= 1; + + data->yPosModifyArrows.currentDigit = data->submenuYpos[2]; + gSprites[data->yPosModifyArrows.arrowSpriteId[0]].y = OPTIONS_ARROW_Y + data->yPosModifyArrows.currentDigit * 12; + } + else if (JOY_NEW(DPAD_LEFT)) + { + if (data->submenuYpos[2] < 2) + UpdateShadowSettingsValue(taskId, FALSE); + else + UpdateShadowSizeValue(taskId, FALSE); + } + else if (JOY_NEW(DPAD_RIGHT)) + { + if (data->submenuYpos[2] < 2) + UpdateShadowSettingsValue(taskId, TRUE); + else + UpdateShadowSizeValue(taskId, TRUE); + } + } } #undef sDelay #undef sAnimId @@ -1674,6 +1953,10 @@ static void ReloadPokemonSprites(struct PokemonSpriteVisualizer *data) DestroySprite(&gSprites[data->iconspriteId]); DestroySprite(&gSprites[data->followerspriteId]); + DestroySprite(&gSprites[data->frontShadowSpriteIdPrimary]); + if (B_ENEMY_MON_SHADOW_STYLE >= GEN_4) + DestroySprite(&gSprites[data->frontShadowSpriteIdSecondary]); + FreeMonSpritesGfx(); ResetSpriteData(); ResetPaletteFade(); From 3aa46c3ca061c9031b1fbcb4bef0f5296dd89858 Mon Sep 17 00:00:00 2001 From: Pawkkie <61265402+Pawkkie@users.noreply.github.com> Date: Tue, 10 Sep 2024 17:52:49 -0400 Subject: [PATCH 74/78] Fix stat id check (#5366) --- src/battle_ai_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 06735d6015..d50410186f 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -863,7 +863,7 @@ static bool32 AI_IsMoveEffectInPlus(u32 battlerAtk, u32 battlerDef, u32 move, s3 case MOVE_EFFECT_SP_DEF_MINUS_2: case MOVE_EFFECT_ACC_MINUS_2: case MOVE_EFFECT_EVS_MINUS_2: - if (ShouldLowerStat(battlerDef, abilityDef, STAT_ATK + (gMovesInfo[move].additionalEffects[i].moveEffect - MOVE_EFFECT_ATK_MINUS_1)) && noOfHitsToKo != 1) + if (ShouldLowerStat(battlerDef, abilityDef, STAT_ATK + (gMovesInfo[move].additionalEffects[i].moveEffect - MOVE_EFFECT_ATK_MINUS_2)) && noOfHitsToKo != 1) return TRUE; break; } From c57d149003929c71f7b44c27841c432ad39018ac Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Tue, 10 Sep 2024 23:53:55 +0200 Subject: [PATCH 75/78] Fixes with Pledge combos and absorption abilities (#5364) * Fixes with Pledge combos and absorption moves * Fixed incorrect merge * Removed superflous if statement --------- Co-authored-by: Hedara --- src/battle_util.c | 4 + test/battle/move_effect/pledge.c | 213 +++++++++++++++++++++++++++++++ 2 files changed, 217 insertions(+) diff --git a/src/battle_util.c b/src/battle_util.c index f6c577a31c..b2cf51ba0c 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5313,6 +5313,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 } if (caseID == ABILITYEFFECT_WOULD_ABSORB) { + gBattleStruct->pledgeMove = FALSE; if (effect && gLastUsedAbility != 0xFFFF) RecordAbilityBattle(battler, gLastUsedAbility); @@ -5320,6 +5321,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 } else if (effect == 1) // Drain Hp ability. { + gBattleStruct->pledgeMove = FALSE; if (BATTLER_MAX_HP(battler) || (B_HEAL_BLOCKING >= GEN_5 && gStatuses3[battler] & STATUS3_HEAL_BLOCK)) { if ((gProtectStructs[gBattlerAttacker].notFirstStrike)) @@ -5342,6 +5344,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 } else if (effect == 2) // Boost Stat ability; { + gBattleStruct->pledgeMove = FALSE; if (!CompareStat(battler, statId, MAX_STAT_STAGE, CMP_LESS_THAN)) { if ((gProtectStructs[gBattlerAttacker].notFirstStrike)) @@ -5363,6 +5366,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 } else if (effect == 3) { + gBattleStruct->pledgeMove = FALSE; if (!(gBattleResources->flags->flags[battler] & RESOURCE_FLAG_FLASH_FIRE)) { gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_FLASH_FIRE_BOOST; diff --git a/test/battle/move_effect/pledge.c b/test/battle/move_effect/pledge.c index 2220b74186..d2cc16aa47 100644 --- a/test/battle/move_effect/pledge.c +++ b/test/battle/move_effect/pledge.c @@ -836,3 +836,216 @@ DOUBLE_BATTLE_TEST("Pledge move combo doesn't trigger on opponent's Pledge move HP_BAR(opponentLeft); } } + +DOUBLE_BATTLE_TEST("Pledge move combo doesn't trigger on opponent's Pledge move - Electrify") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_ELECTRIFY].effect == EFFECT_ELECTRIFY); + PLAYER(SPECIES_MAROWAK) { Ability(ABILITY_LIGHTNING_ROD); } + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(playerRight, MOVE_ELECTRIFY, target: opponentRight); + MOVE(opponentLeft, MOVE_GRASS_PLEDGE, target: playerLeft); + MOVE(opponentRight, MOVE_FIRE_PLEDGE, target: playerLeft); + MOVE(playerLeft, MOVE_WATER_PLEDGE, target: opponentRight); } + } SCENE { + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + } + ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_PLEDGE, playerLeft); + HP_BAR(opponentRight); + } +} + +DOUBLE_BATTLE_TEST("Pledge move combo doesn't trigger on opponent's Pledge move - Storm Drain") +{ + GIVEN { + PLAYER(SPECIES_GASTRODON) { Ability(ABILITY_STORM_DRAIN); } + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(opponentLeft, MOVE_FIRE_PLEDGE, target: playerLeft); + MOVE(opponentRight, MOVE_WATER_PLEDGE, target: playerLeft); + MOVE(playerLeft, MOVE_GRASS_PLEDGE, target: opponentRight); } + } SCENE { + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_PLEDGE, playerLeft); + } + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerLeft); + HP_BAR(opponentRight); + } +} + +DOUBLE_BATTLE_TEST("Pledge move combo doesn't trigger on opponent's Pledge move - Sap Sipper") +{ + GIVEN { + PLAYER(SPECIES_GOODRA) { Ability(ABILITY_SAP_SIPPER); } + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(opponentLeft, MOVE_WATER_PLEDGE, target: playerLeft); + MOVE(opponentRight, MOVE_GRASS_PLEDGE, target: playerLeft); + MOVE(playerLeft, MOVE_FIRE_PLEDGE, target: opponentRight); } + } SCENE { + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_PLEDGE, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerLeft); + } + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + HP_BAR(opponentRight); + } +} + +DOUBLE_BATTLE_TEST("Pledge move combo doesn't trigger on opponent's Pledge move - Dry Skin") +{ + GIVEN { + PLAYER(SPECIES_PARASECT) { Ability(ABILITY_DRY_SKIN); } + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(opponentLeft, MOVE_FIRE_PLEDGE, target: playerLeft); + MOVE(opponentRight, MOVE_WATER_PLEDGE, target: playerLeft); + MOVE(playerLeft, MOVE_GRASS_PLEDGE, target: opponentRight); } + } SCENE { + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_PLEDGE, playerLeft); + } + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerLeft); + HP_BAR(opponentRight); + } +} + +DOUBLE_BATTLE_TEST("Pledge move combo doesn't trigger on opponent's Pledge move - Flash Fire") +{ + GIVEN { + PLAYER(SPECIES_HEATRAN) { Ability(ABILITY_FLASH_FIRE); } + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(opponentLeft, MOVE_GRASS_PLEDGE, target: playerLeft); + MOVE(opponentRight, MOVE_FIRE_PLEDGE, target: playerLeft); + MOVE(playerLeft, MOVE_WATER_PLEDGE, target: opponentRight); } + } SCENE { + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + } + ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_PLEDGE, playerLeft); + HP_BAR(opponentRight); + } +} + +DOUBLE_BATTLE_TEST("Pledge move combo doesn't trigger on opponent's Pledge move - Motor Drive") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_ELECTRIFY].effect == EFFECT_ELECTRIFY); + PLAYER(SPECIES_ELECTIVIRE) { Ability(ABILITY_MOTOR_DRIVE); } + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(playerRight, MOVE_ELECTRIFY, target: opponentRight); + MOVE(opponentLeft, MOVE_WATER_PLEDGE, target: playerLeft); + MOVE(opponentRight, MOVE_GRASS_PLEDGE, target: playerLeft); + MOVE(playerLeft, MOVE_FIRE_PLEDGE, target: opponentRight); } + } SCENE { + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_PLEDGE, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerLeft); + } + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + HP_BAR(opponentRight); + } +} + +DOUBLE_BATTLE_TEST("Pledge move combo doesn't trigger on opponent's Pledge move - Volt Absorb") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_ELECTRIFY].effect == EFFECT_ELECTRIFY); + PLAYER(SPECIES_JOLTEON) { Ability(ABILITY_VOLT_ABSORB); } + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(playerRight, MOVE_ELECTRIFY, target: opponentRight); + MOVE(opponentLeft, MOVE_WATER_PLEDGE, target: playerLeft); + MOVE(opponentRight, MOVE_GRASS_PLEDGE, target: playerLeft); + MOVE(playerLeft, MOVE_GRASS_PLEDGE, target: opponentRight); } + } SCENE { + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + } + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerLeft); + HP_BAR(opponentRight); + } +} + +DOUBLE_BATTLE_TEST("Pledge move combo doesn't trigger on opponent's Pledge move - Water Absorb") +{ + GIVEN { + PLAYER(SPECIES_VAPOREON) { Ability(ABILITY_WATER_ABSORB); } + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(opponentLeft, MOVE_FIRE_PLEDGE, target: playerLeft); + MOVE(opponentRight, MOVE_WATER_PLEDGE, target: playerLeft); + MOVE(playerLeft, MOVE_GRASS_PLEDGE, target: opponentRight); } + } SCENE { + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_PLEDGE, playerLeft); + } + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, playerLeft); + HP_BAR(opponentRight); + } +} + +DOUBLE_BATTLE_TEST("Pledge move combo doesn't trigger on opponent's Pledge move - Well Baked Body") +{ + GIVEN { + PLAYER(SPECIES_DACHSBUN) { Ability(ABILITY_WELL_BAKED_BODY); } + PLAYER(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WYNAUT); + } WHEN { + TURN { MOVE(opponentLeft, MOVE_GRASS_PLEDGE, target: playerLeft); + MOVE(opponentRight, MOVE_FIRE_PLEDGE, target: playerLeft); + MOVE(playerLeft, MOVE_WATER_PLEDGE, target: opponentRight); } + } SCENE { + NONE_OF { + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, opponentLeft); + ANIMATION(ANIM_TYPE_MOVE, MOVE_GRASS_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, opponentRight); + ANIMATION(ANIM_TYPE_MOVE, MOVE_FIRE_PLEDGE, playerLeft); + } + ANIMATION(ANIM_TYPE_MOVE, MOVE_WATER_PLEDGE, playerLeft); + HP_BAR(opponentRight); + } +} From 047289a63939541ed99edaea9d02dbc24bd3c8e8 Mon Sep 17 00:00:00 2001 From: Pawkkie <61265402+Pawkkie@users.noreply.github.com> Date: Tue, 10 Sep 2024 18:00:29 -0400 Subject: [PATCH 76/78] Improve AI's Skill Swap handling in double battles (#5360) * Improve AI contrary * Update src/battle_ai_util.c Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com> * Fix additionalEffects loop * moves[i] to aiMove * Update src/battle_ai_util.c Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com> --------- Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com> --- include/battle_ai_util.h | 2 ++ src/battle_ai_main.c | 19 +++++++++--- src/battle_ai_util.c | 48 +++++++++++++++++++++++++++++ test/battle/ai/ai_check_viability.c | 15 +++++++++ 4 files changed, 80 insertions(+), 4 deletions(-) diff --git a/include/battle_ai_util.h b/include/battle_ai_util.h index 3146bb94fd..5fecdd5f47 100644 --- a/include/battle_ai_util.h +++ b/include/battle_ai_util.h @@ -114,6 +114,7 @@ bool32 HasMoveEffectANDArg(u32 battlerId, u32 effect, u32 argument); bool32 HasMoveWithAdditionalEffect(u32 battlerId, u32 moveEffect); bool32 HasMoveWithCriticalHitChance(u32 battlerId); bool32 HasMoveWithMoveEffectExcept(u32 battlerId, u32 moveEffect, u32 exception); +bool32 HasMoveThatLowersOwnStats(u32 battlerId); bool32 HasMoveWithLowAccuracy(u32 battlerAtk, u32 battlerDef, u32 accCheck, bool32 ignoreStatus, u32 atkAbility, u32 defAbility, u32 atkHoldEffect, u32 defHoldEffect); bool32 HasAnyKnownMove(u32 battlerId); bool32 IsAromaVeilProtectedMove(u32 move); @@ -138,6 +139,7 @@ bool32 ShouldFakeOut(u32 battlerAtk, u32 battlerDef, u32 move); bool32 HasThawingMove(u32 battler); bool32 IsStatRaisingEffect(u32 effect); bool32 IsStatLoweringEffect(u32 effect); +bool32 IsSelfStatLoweringEffect(u32 effect); bool32 IsAttackBoostMoveEffect(u32 effect); bool32 IsUngroundingEffect(u32 effect); bool32 IsSemiInvulnerable(u32 battlerDef, u32 move); diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index b71e6799e0..af6557e967 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -3049,15 +3049,26 @@ static s32 AI_DoubleBattle(u32 battlerAtk, u32 battlerDef, u32 move, s32 score) case EFFECT_SKILL_SWAP: if (aiData->abilities[battlerAtk] != aiData->abilities[BATTLE_PARTNER(battlerAtk)] && !attackerHasBadAbility) { + // Partner abilities if (aiData->abilities[BATTLE_PARTNER(battlerAtk)] == ABILITY_TRUANT) { - RETURN_SCORE_PLUS(10); + ADJUST_SCORE(10); } - else if (aiData->abilities[battlerAtk] == ABILITY_COMPOUND_EYES - && HasMoveWithLowAccuracy(battlerAtkPartner, FOE(battlerAtkPartner), 90, TRUE, atkPartnerAbility, aiData->abilities[FOE(battlerAtkPartner)], atkPartnerHoldEffect, aiData->holdEffects[FOE(battlerAtkPartner)])) + else if (aiData->abilities[BATTLE_PARTNER(battlerAtk)] == ABILITY_INTIMIDATE) { - RETURN_SCORE_PLUS(3); + ADJUST_SCORE(DECENT_EFFECT); } + // Active mon abilities + if (aiData->abilities[battlerAtk] == ABILITY_COMPOUND_EYES + && HasMoveWithLowAccuracy(battlerAtkPartner, FOE(battlerAtkPartner), 90, TRUE, atkPartnerAbility, aiData->abilities[FOE(battlerAtkPartner)], atkPartnerHoldEffect, aiData->holdEffects[FOE(battlerAtkPartner)])) + { + ADJUST_SCORE(GOOD_EFFECT); + } + else if (aiData->abilities[battlerAtk] == ABILITY_CONTRARY && HasMoveThatLowersOwnStats(battlerAtkPartner)) + { + ADJUST_SCORE(GOOD_EFFECT); + } + return score; } break; case EFFECT_ROLE_PLAY: diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index b2e18db740..1ac43fb737 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -2089,6 +2089,26 @@ bool32 HasAnyKnownMove(u32 battlerId) return FALSE; } +bool32 HasMoveThatLowersOwnStats(u32 battlerId) +{ + s32 i, j; + u32 aiMove; + u16 *moves = GetMovesArray(battlerId); + for (i = 0; i < MAX_MON_MOVES; i++) + { + aiMove = moves[i]; + if (aiMove != MOVE_NONE && aiMove != MOVE_UNAVAILABLE) + { + for (j = 0; j < gMovesInfo[aiMove].numAdditionalEffects; j++) + { + if (IsSelfStatLoweringEffect(gMovesInfo[aiMove].additionalEffects[j].moveEffect) && gMovesInfo[aiMove].additionalEffects[j].self) + return TRUE; + } + } + } + return FALSE; +} + bool32 HasMoveWithLowAccuracy(u32 battlerAtk, u32 battlerDef, u32 accCheck, bool32 ignoreStatus, u32 atkAbility, u32 defAbility, u32 atkHoldEffect, u32 defHoldEffect) { s32 i; @@ -2294,6 +2314,34 @@ bool32 IsStatLoweringEffect(u32 effect) } } +bool32 IsSelfStatLoweringEffect(u32 effect) +{ + // Self stat lowering moves like Overheart, Superpower etc. + switch (effect) + { + case MOVE_EFFECT_ATK_MINUS_1: + case MOVE_EFFECT_DEF_MINUS_1: + case MOVE_EFFECT_SPD_MINUS_1: + case MOVE_EFFECT_SP_ATK_MINUS_1: + case MOVE_EFFECT_SP_DEF_MINUS_1: + case MOVE_EFFECT_EVS_MINUS_1: + case MOVE_EFFECT_ACC_MINUS_1: + case MOVE_EFFECT_ATK_MINUS_2: + case MOVE_EFFECT_DEF_MINUS_2: + case MOVE_EFFECT_SPD_MINUS_2: + case MOVE_EFFECT_SP_ATK_MINUS_2: + case MOVE_EFFECT_SP_DEF_MINUS_2: + case MOVE_EFFECT_EVS_MINUS_2: + case MOVE_EFFECT_ACC_MINUS_2: + case MOVE_EFFECT_V_CREATE: + case MOVE_EFFECT_ATK_DEF_DOWN: + case MOVE_EFFECT_DEF_SPDEF_DOWN: + return TRUE; + default: + return FALSE; + } +} + bool32 HasDamagingMove(u32 battlerId) { u32 i; diff --git a/test/battle/ai/ai_check_viability.c b/test/battle/ai/ai_check_viability.c index fa921e8674..039d8ca331 100644 --- a/test/battle/ai/ai_check_viability.c +++ b/test/battle/ai/ai_check_viability.c @@ -239,3 +239,18 @@ AI_SINGLE_BATTLE_TEST("AI chooses moves that cure inactive party members") TURN { EXPECT_MOVE(opponent, MOVE_HEAL_BELL); } } } + +AI_DOUBLE_BATTLE_TEST("AI prioritizes Skill Swapping Contrary to allied mons that would benefit from it") +{ + GIVEN { + ASSUME(gMovesInfo[MOVE_SKILL_SWAP].effect == EFFECT_SKILL_SWAP); + ASSUME(gMovesInfo[MOVE_OVERHEAT].additionalEffects[0].moveEffect == MOVE_EFFECT_SP_ATK_MINUS_2); + AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_DOUBLE_BATTLE); + PLAYER(SPECIES_WOBBUFFET) { Speed(3); } + PLAYER(SPECIES_WOBBUFFET) { Speed(3); } + OPPONENT(SPECIES_SPINDA) { Ability(ABILITY_CONTRARY); Speed(5); Moves(MOVE_SKILL_SWAP, MOVE_ENCORE, MOVE_FAKE_TEARS, MOVE_SWAGGER); } + OPPONENT(SPECIES_ARCANINE) { Ability(ABILITY_INTIMIDATE); Speed(4); Moves (MOVE_OVERHEAT); } + } WHEN { + TURN { EXPECT_MOVE(opponentLeft, MOVE_SKILL_SWAP, target:opponentRight); EXPECT_MOVE(opponentRight, MOVE_OVERHEAT); } + } +} From cdf781f7262cb5b4c456aaa159adfe4f72f3b205 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Wed, 11 Sep 2024 06:18:58 -0300 Subject: [PATCH 77/78] Fixed Toxic Thread stat increase (#5369) --- data/battle_scripts_1.s | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index c24dacb5c4..e042201d94 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -1838,7 +1838,7 @@ BattleScript_HitSwitchTargetForceRandomSwitchFailed: goto BattleScript_MoveEnd BattleScript_EffectToxicThread:: - setstatchanger STAT_SPEED, 2, TRUE + setstatchanger STAT_SPEED, 1, TRUE attackcanceler jumpifsubstituteblocks BattleScript_FailedFromAtkString jumpifstat BS_TARGET, CMP_NOT_EQUAL, STAT_SPEED, MIN_STAT_STAGE, BattleScript_ToxicThreadWorks From e13f399a67a2af1b6843dcbcf57282ed526e48fb Mon Sep 17 00:00:00 2001 From: Pawkkie <61265402+Pawkkie@users.noreply.github.com> Date: Thu, 12 Sep 2024 04:13:08 -0400 Subject: [PATCH 78/78] Switch AI hitsToKO considers one shot prevention (#5371) * One shot prevention effects * I'm bad at brackets --- src/battle_ai_switch_items.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index b087cf3939..2fb8417ad9 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -1609,7 +1609,7 @@ static u32 GetSwitchinHitsToKO(s32 damageTaken, u32 battler) u16 maxHP = AI_DATA->switchinCandidate.battleMon.maxHP, item = AI_DATA->switchinCandidate.battleMon.item, heldItemEffect = ItemId_GetHoldEffect(item); u8 weatherDuration = gWishFutureKnock.weatherDuration, holdEffectParam = ItemId_GetHoldEffectParam(item); u32 opposingBattler = GetBattlerAtPosition(BATTLE_OPPOSITE(GetBattlerPosition(battler))); - u32 opposingAbility = gBattleMons[opposingBattler].ability; + u32 opposingAbility = gBattleMons[opposingBattler].ability, ability = AI_DATA->switchinCandidate.battleMon.ability; bool32 usedSingleUseHealingItem = FALSE; s32 currentHP = startingHP; @@ -1631,6 +1631,10 @@ static u32 GetSwitchinHitsToKO(s32 damageTaken, u32 battler) // Take attack damage for the turn currentHP = currentHP - damageTaken; + // One shot prevention effects + if (damageTaken >= maxHP && currentHP == maxHP && (heldItemEffect == HOLD_EFFECT_FOCUS_SASH || (B_STURDY >= GEN_5 && ability == ABILITY_STURDY))) + currentHP = 1; + // If mon is still alive, apply weather impact first, as it might KO the mon before it can heal with its item (order is weather -> item -> status) if (currentHP != 0) currentHP = currentHP - weatherImpact;