From 1de476da84b88bd977fe1bd4982b7e5f3c8f9fad Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 28 Nov 2021 19:33:58 -0800 Subject: [PATCH 001/130] Update battle_script.inc --- asm/macros/battle_script.inc | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 6ba63f916..e5ba428f6 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1924,6 +1924,31 @@ .macro shellsidearmcheck various BS_ATTACKER, VARIOUS_SHELL_SIDE_ARM_CHECK .endm + + .macro jumpifrodaffected battler:req, ptr:req + various \battler, VARIOUS_JUMP_IF_ROD + .4byte \ptr + .endm + + .macro jumpifabsorbaffected battler:req, ptr:req + various \battler, VARIOUS_JUMP_IF_ABSORB + .4byte \ptr + .endm + + .macro jumpifmotoraffected battler:req, ptr:req + various \battler, VARIOUS_JUMP_IF_MOTOR + .4byte \ptr + .endm + + .macro jumpifteanoberry ptr:req + various BS_ATTACKER, VARIOUS_TEATIME_TARGETS + .4byte \ptr + .endm + + .macro jumpifteainvulnerable battler:req, ptr:req + various \battler, VARIOUS_TEATIME_INVUL + .4byte \ptr + .endm @ helpful macros .macro setstatchanger stat:req, stages:req, down:req From c8fba3fa908e05cd7427628d83e807d1b8d03d96 Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 28 Nov 2021 19:36:17 -0800 Subject: [PATCH 002/130] Update graphics.h --- include/graphics.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/graphics.h b/include/graphics.h index efb57bfde..bbd89686d 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4918,6 +4918,8 @@ extern const u32 gBattleAnimSpriteGfx_Tornado[]; extern const u32 gBattleAnimSpritePal_Tornado[]; extern const u32 gBattleAnimSpriteGfx_ZMoveSymbol[]; extern const u32 gBattleAnimSpritePal_ZMoveSymbol[]; +extern const u32 gBattleAnimSpriteGfx_Teapot[]; +extern const u32 gBattleAnimSpritePal_Teapot[]; extern const u32 gBattleAnimBgImage_Dark[]; extern const u32 gBattleAnimBgImage_Ghost[]; From ca4207d497bb3add0aeebde087512a711a442c69 Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 28 Nov 2021 19:40:55 -0800 Subject: [PATCH 003/130] Update battle_anim.h --- include/constants/battle_anim.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/constants/battle_anim.h b/include/constants/battle_anim.h index 7df75794e..7b0789fc0 100644 --- a/include/constants/battle_anim.h +++ b/include/constants/battle_anim.h @@ -395,6 +395,7 @@ #define ANIM_TAG_OMEGA_SYMBOL (ANIM_SPRITES_START + 383) #define ANIM_TAG_PRIMAL_PARTICLES (ANIM_SPRITES_START + 384) #define ANIM_TAG_STEEL_BEAM (ANIM_SPRITES_START + 385) +#define ANIM_TAG_TEAPOT (ANIM_SPRITES_START + 386) // battlers #define ANIM_ATTACKER 0 From 002556cf3f85ecc57115b69e540dfe64fb9fc213 Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 28 Nov 2021 19:42:32 -0800 Subject: [PATCH 004/130] Update battle_script_commands.h --- include/constants/battle_script_commands.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index bd16f741b..59869e65f 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -208,6 +208,11 @@ #define VARIOUS_SET_OCTOLOCK 135 #define VARIOUS_CUT_1_3_HP_RAISE_STATS 136 #define VARIOUS_TRY_END_NEUTRALIZING_GAS 137 +#define VARIOUS_JUMP_IF_ROD 138 +#define VARIOUS_JUMP_IF_ABSORB 139 +#define VARIOUS_JUMP_IF_MOTOR 140 +#define VARIOUS_TEATIME_INVUL 141 +#define VARIOUS_TEATIME_TARGETS 142 // Cmd_manipulatedamage #define DMG_CHANGE_SIGN 0 From 7b5dfa83afd7721d2e6f79709a8449f17555476e Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 28 Nov 2021 19:44:02 -0800 Subject: [PATCH 005/130] Update battle_move_effects.h --- include/constants/battle_move_effects.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index 3f24caf5e..2a86a7b4c 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -386,7 +386,9 @@ #define EFFECT_OCTOLOCK 380 #define EFFECT_CLANGOROUS_SOUL 381 #define EFFECT_BOLT_BEAK 382 +#define EFFECT_TEATIME 383 -#define NUM_BATTLE_MOVE_EFFECTS 383 + +#define NUM_BATTLE_MOVE_EFFECTS 384 #endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H From 10a870a568f73763a878a7dec9460926e36f2303 Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 28 Nov 2021 19:45:47 -0800 Subject: [PATCH 006/130] Update battle_scripts_1.s --- data/battle_scripts_1.s | 67 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index e9d019e43..dc8e0758b 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -403,6 +403,73 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectOctolock @ EFFECT_OCTOLOCK .4byte BattleScript_EffectClangorousSoul @ EFFECT_CLANGOROUS_SOUL .4byte BattleScript_EffectHit @ EFFECT_BOLT_BEAK + .4byte BattleScript_EffectTeatime @ EFFECT_TEATIME + +BattleScript_EffectTeatime:: + attackcanceler + attackstring + ppreduce + jumpifteanoberry BattleScript_ButItFailed +@ at least one battler is affected + attackanimation + waitanimation +BattleScript_TeatimeLoop: +jumpifteainvulnerable BS_TARGET, BattleScript_Teatimevul +jumpifrodaffected BS_TARGET, BattleScript_Teatimerod +jumpifabsorbaffected BS_TARGET, BattleScript_Teatimesorb +jumpifmotoraffected BS_TARGET, BattleScript_Teatimemotor + orword gHitMarker, HITMARKER_NO_ANIMATIONS + setbyte sBERRY_OVERRIDE, TRUE @ override the requirements for eating berries + consumeberry BS_TARGET, TRUE @ consume the berry, then restore the item from changedItems + bicword gHitMarker, HITMARKER_NO_ANIMATIONS + setbyte sBERRY_OVERRIDE, FALSE + moveendto MOVEEND_NEXT_TARGET + jumpifnexttargetvalid BattleScript_TeatimeLoop + moveendcase MOVEEND_CLEAR_BITS + goto BattleScript_MoveEnd +BattleScript_Teatimevul: + moveendto MOVEEND_NEXT_TARGET + jumpifnexttargetvalid BattleScript_TeatimeLoop + moveendcase MOVEEND_CLEAR_BITS + goto BattleScript_MoveEnd +BattleScript_Teatimesorb: + copybyte gBattlerAbility, gBattlerTarget + call BattleScript_AbilityPopUp + moveendto MOVEEND_NEXT_TARGET + jumpifnexttargetvalid BattleScript_TeatimeLoop + moveendcase MOVEEND_CLEAR_BITS + goto BattleScript_MoveEnd +BattleScript_Teatimerod: + copybyte gBattlerAbility, gBattlerTarget + call BattleScript_AbilityPopUp + playstatchangeanimation BS_TARGET, BIT_SPATK, STAT_CHANGE_BY_TWO + setstatchanger STAT_SPATK, 1, FALSE + statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_TeatimeBuffer + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_TeatimeBuffer + printfromtable gStatUpStringIds + waitmessage 0x40 + moveendto MOVEEND_NEXT_TARGET + jumpifnexttargetvalid BattleScript_TeatimeLoop + moveendcase MOVEEND_CLEAR_BITS + goto BattleScript_MoveEnd +BattleScript_Teatimemotor: + copybyte gBattlerAbility, gBattlerTarget + call BattleScript_AbilityPopUp + playstatchangeanimation BS_TARGET, BIT_SPEED, STAT_CHANGE_BY_TWO + setstatchanger STAT_SPEED, 1, FALSE + statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_TeatimeBuffer + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_TeatimeBuffer + printfromtable gStatUpStringIds + waitmessage 0x40 + moveendto MOVEEND_NEXT_TARGET + jumpifnexttargetvalid BattleScript_TeatimeLoop + moveendcase MOVEEND_CLEAR_BITS + goto BattleScript_MoveEnd +BattleScript_TeatimeBuffer: + moveendto MOVEEND_NEXT_TARGET + jumpifnexttargetvalid BattleScript_TeatimeLoop + moveendcase MOVEEND_CLEAR_BITS + goto BattleScript_MoveEnd BattleScript_EffectShellSideArm: shellsidearmcheck From adecc77fe8c4112556134b42d4a521c520d0058f Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 28 Nov 2021 19:47:09 -0800 Subject: [PATCH 007/130] Update battle_anim_scripts.s --- data/battle_anim_scripts.s | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 350ba2cc0..a96210571 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -13351,7 +13351,18 @@ Move_DRAGON_DARTS:: end Move_TEATIME:: - goto Move_MILK_DRINK + loadspritegfx ANIM_TAG_TEAPOT + loadspritegfx ANIM_TAG_THOUGHT_BUBBLE + createsprite gThoughtBubbleSpriteTemplate, ANIM_ATTACKER, 11, 0, 100 + playsewithpan SE_M_ICY_WIND, SOUND_PAN_ATTACKER + delay 6 + createsprite gTeapotSpriteTemplate, ANIM_ATTACKER, 12, 0 + createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0 + createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATK_PARTNER, 2, 0 + delay 24 + loopsewithpan SE_M_HEAL_BELL, SOUND_PAN_ATTACKER, 22, 3 + waitforvisualfinish + end Move_OCTOLOCK:: loadspritegfx ANIM_TAG_TENDRILS From 7fe8e956e788f7a03d17f5f6a496d41f6bbc9587 Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 28 Nov 2021 19:49:03 -0800 Subject: [PATCH 008/130] Update battle_anim.c --- src/battle_anim.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/battle_anim.c b/src/battle_anim.c index e6152a7cf..2a4e2feea 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -1568,6 +1568,7 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] = {gBattleAnimSpriteGfx_OmegaSymbol, 0x0200, ANIM_TAG_OMEGA_SYMBOL}, {gBattleAnimSpriteGfx_PrimalParticles, 0x0180, ANIM_TAG_PRIMAL_PARTICLES}, {gBattleAnimSpriteGfx_Orbs, 0x0180, ANIM_TAG_STEEL_BEAM}, + {gBattleAnimSpriteGfx_Teapot, 0x1800, ANIM_TAG_TEAPOT}, }; const struct CompressedSpritePalette gBattleAnimPaletteTable[] = @@ -2019,6 +2020,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] = {gBattleAnimSpritePal_OmegaSymbol, ANIM_TAG_OMEGA_SYMBOL}, {gBattleAnimSpritePal_PrimalParticles, ANIM_TAG_PRIMAL_PARTICLES}, {gBattleAnimSpritePal_SteelBeam, ANIM_TAG_STEEL_BEAM}, + {gBattleAnimSpritePal_Teapot, ANIM_TAG_TEAPOT}, }; const struct BattleAnimBackground gBattleAnimBackgroundTable[] = From 3c33a4b3d796391d825efb9e1149137e4d61abf9 Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 28 Nov 2021 19:50:25 -0800 Subject: [PATCH 009/130] Update battle_anim_effects_1.c --- src/battle_anim_effects_1.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index 3498346f2..ad2eed896 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -2447,6 +2447,39 @@ const struct SpriteTemplate gFollowMeFingerSpriteTemplate = .callback = AnimFollowMeFinger, }; +const union AffineAnimCmd gTeaAffineAnimCmds1[] = +{ + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), + AFFINEANIMCMD_FRAME(0x1E, 0x1E, 0, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd gTeaAffineAnimCmds2[] = +{ + AFFINEANIMCMD_FRAME(0x0, 0x0, -3, 11), + AFFINEANIMCMD_FRAME(0x0, 0x0, 3, 11), + AFFINEANIMCMD_LOOP(2), + AFFINEANIMCMD_FRAME(0xFFE2, 0xFFE2, 0, 8), + AFFINEANIMCMD_END, +}; + +const union AffineAnimCmd *const gTeaAffineAnimTable[] = +{ + gTeaAffineAnimCmds1, + gTeaAffineAnimCmds2, +}; + +const struct SpriteTemplate gTeapotSpriteTemplate = +{ + .tileTag = ANIM_TAG_TEAPOT, + .paletteTag = ANIM_TAG_TEAPOT, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gTeaAffineAnimTable, + .callback = AnimMetronomeFinger, +}; + const union AnimCmd gTauntFingerAnimCmds1[] = { ANIMCMD_FRAME(0, 1), From 1a882dddb4df0207a5bdf1a7b30ad66391be0083 Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 28 Nov 2021 19:54:34 -0800 Subject: [PATCH 010/130] Update battle_script_commands.c --- src/battle_script_commands.c | 109 +++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 4ae42cb48..d90f687ec 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7509,6 +7509,72 @@ static bool32 IsRototillerAffected(u32 battlerId) return TRUE; } +static bool32 IsAbilityRodAffected(void) +{ + u32 moveType; + + if (gBattleStruct->dynamicMoveType == 0) + moveType = gBattleMoves[gCurrentMove].type; + else if (!(gBattleStruct->dynamicMoveType & 0x40)) + moveType = gBattleStruct->dynamicMoveType & 0x3F; + else + moveType = gBattleMoves[gCurrentMove].type; + + if (moveType == TYPE_ELECTRIC && GetBattlerAbility(gBattlerTarget) == ABILITY_LIGHTNING_ROD) { + return TRUE; + } + else { + return FALSE; + } +} + +static bool32 IsAbilityMotorAffected(void) +{ + u32 moveType; + + if (gBattleStruct->dynamicMoveType == 0) + moveType = gBattleMoves[gCurrentMove].type; + else if (!(gBattleStruct->dynamicMoveType & 0x40)) + moveType = gBattleStruct->dynamicMoveType & 0x3F; + else + moveType = gBattleMoves[gCurrentMove].type; + + if (moveType == TYPE_ELECTRIC && GetBattlerAbility(gBattlerTarget) == ABILITY_MOTOR_DRIVE) { + return TRUE; + } + else { + return FALSE; + } +} + +static bool32 IsAbilityAbsorbAffected(void) +{ + u32 moveType; + + if (gBattleStruct->dynamicMoveType == 0) + moveType = gBattleMoves[gCurrentMove].type; + else if (!(gBattleStruct->dynamicMoveType & 0x40)) + moveType = gBattleStruct->dynamicMoveType & 0x3F; + else + moveType = gBattleMoves[gCurrentMove].type; + + if (moveType == TYPE_ELECTRIC && GetBattlerAbility(gBattlerTarget) == ABILITY_VOLT_ABSORB) { + return TRUE; + } + else { + return FALSE; + } +} + +static bool32 IsTeatimeAffected(u32 battlerId) +{ + if (ItemId_GetPocket(gBattleMons[battlerId].item) != POCKET_BERRIES) + return FALSE; // Only berries + if (gStatuses3[battlerId] & STATUS3_SEMI_INVULNERABLE) + return FALSE; // Teatime doesn't affected semi-invulnerable battlers + return TRUE; +} + static void Cmd_various(void) { struct Pokemon *mon; @@ -9285,6 +9351,49 @@ static void Cmd_various(void) gBattlescriptCurrInstr += 7; return; } + case VARIOUS_TEATIME_TARGETS: + // Gets the battlers to be affected by teatime. If there are none, print 'But it failed!' + { + u32 count = 0; + for (i = 0; i < gBattlersCount; i++) + { + if (IsTeatimeAffected(i)) + { + count++; + } + } + if (count == 0) { + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); // Teatime fails + } + else { + gBattlescriptCurrInstr += 7; + } + } + return; + case VARIOUS_TEATIME_INVUL: + if (ItemId_GetPocket(gBattleMons[gActiveBattler].item) == POCKET_BERRIES && !(gStatuses3[gBattlerTarget] & (STATUS3_SEMI_INVULNERABLE))) + gBattlescriptCurrInstr += 7; + else + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); + return; + case VARIOUS_JUMP_IF_ROD: + if (IsAbilityRodAffected()) + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); + else + gBattlescriptCurrInstr += 7; + return; + case VARIOUS_JUMP_IF_MOTOR: + if (IsAbilityMotorAffected()) + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); + else + gBattlescriptCurrInstr += 7; + return; + case VARIOUS_JUMP_IF_ABSORB: + if (IsAbilityAbsorbAffected()) + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); + else + gBattlescriptCurrInstr += 7; + return; } // End of switch (gBattlescriptCurrInstr[2]) gBattlescriptCurrInstr += 3; From 492f8d8f29cdc0f6975757585cbed09f7c2f3e23 Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 28 Nov 2021 19:55:49 -0800 Subject: [PATCH 011/130] Update battle_util.c --- src/battle_util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_util.c b/src/battle_util.c index 7e2320500..e158c7e88 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -387,7 +387,7 @@ void HandleAction_UseMove(void) { gActiveBattler = gBattlerByTurnOrder[var]; RecordAbilityBattle(gActiveBattler, gBattleMons[gActiveBattler].ability); - if (GetBattlerAbility(gActiveBattler) == ABILITY_LIGHTNING_ROD) + if (GetBattlerAbility(gActiveBattler) == ABILITY_LIGHTNING_ROD && gCurrentMove != MOVE_TEATIME) gSpecialStatuses[gActiveBattler].lightningRodRedirected = TRUE; else if (GetBattlerAbility(gActiveBattler) == ABILITY_STORM_DRAIN) gSpecialStatuses[gActiveBattler].stormDrainRedirected = TRUE; From 5258ddcc8efef33492f7e3006d91dd46516fba55 Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 28 Nov 2021 19:57:05 -0800 Subject: [PATCH 012/130] Update graphics.c --- src/graphics.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/graphics.c b/src/graphics.c index 1621f9d5b..b4d2c8338 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -293,6 +293,8 @@ const u32 gBattleAnimSpritePal_Tornado[] = INCBIN_U32("graphics/battle_anims/spr const u32 gBattleAnimSpriteGfx_ZMoveSymbol[] = INCBIN_U32("graphics/battle_anims/sprites/new/z_move_symbol.4bpp.lz"); const u32 gBattleAnimSpritePal_ZMoveSymbol[] = INCBIN_U32("graphics/battle_anims/sprites/new/z_move_symbol.gbapal.lz"); +const u32 gBattleAnimSpriteGfx_Teapot[] = INCBIN_U32("graphics/battle_anims/sprites/new/teapot.4bpp.lz"); +const u32 gBattleAnimSpritePal_Teapot[] = INCBIN_U32("graphics/battle_anims/sprites/new/teapot.gbapal.lz"); // Battle anims const u32 gBattleAnimSpriteGfx_Bubble[] = INCBIN_U32("graphics/battle_anims/sprites/bubble.4bpp.lz"); From ec596cf9b2fea01b686aa093021b4264055c0b3d Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 28 Nov 2021 19:58:18 -0800 Subject: [PATCH 013/130] Update battle_moves.h Not sure why it works better with User than "All targets" --- src/data/battle_moves.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index a49cf5fd8..691180afb 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -10857,13 +10857,13 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] = [MOVE_TEATIME] = { - .effect = EFFECT_PLACEHOLDER, //TODO + .effect = EFFECT_TEATIME, .power = 0, .type = TYPE_NORMAL, .accuracy = 0, .pp = 10, .secondaryEffectChance = 0, - .target = MOVE_TARGET_ALL_BATTLERS, + .target = MOVE_TARGET_USER, .priority = 0, .flags = 0, .split = SPLIT_STATUS, From 9d14cb33094e3216128d7557dbd07a66d6e83833 Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 28 Nov 2021 19:59:38 -0800 Subject: [PATCH 014/130] Add files via upload Teapot sprited by me. Based on this: https://cdn.discordapp.com/attachments/425852970689626123/914062336476708874/unknown.png --- graphics/battle_anims/sprites/new/teapot.pal | 19 +++++++++++++++++++ graphics/battle_anims/sprites/new/teapot.png | Bin 0 -> 881 bytes 2 files changed, 19 insertions(+) create mode 100644 graphics/battle_anims/sprites/new/teapot.pal create mode 100644 graphics/battle_anims/sprites/new/teapot.png diff --git a/graphics/battle_anims/sprites/new/teapot.pal b/graphics/battle_anims/sprites/new/teapot.pal new file mode 100644 index 000000000..9b59309ba --- /dev/null +++ b/graphics/battle_anims/sprites/new/teapot.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +10 247 12 +144 141 173 +255 255 255 +207 232 255 +106 104 120 +190 211 255 +166 169 214 +214 171 113 +162 119 89 +72 71 81 +251 255 211 +232 207 121 +255 255 153 +124 86 73 +0 0 0 +0 0 0 diff --git a/graphics/battle_anims/sprites/new/teapot.png b/graphics/battle_anims/sprites/new/teapot.png new file mode 100644 index 0000000000000000000000000000000000000000..6be0680dfce165621cf650c7b94fb1f8d456f83e GIT binary patch literal 881 zcmV-%1CIQOP)KYHc)rvB zrm5D}t8t=tSx84w`~TDE&w2mY4{Y$~^xY4GlY)n??Hlj=$@kv(y>kfpUw>5@x|9wq8{6py zhGFcd0z1Z5I#4Y^DnM2tmnOH(73;+P@{+v3i-)^=F#PGp7tXnLjo`3qIm4!}J(jmB zGYw9Q0b7LvG{+rvu(Jor>sEgmBUY;nA@on>`N1ZfBpveX+9)!BaLgSEd@jux@S8gO zXc)zCeCibL@L$st%Zsd6(rKVYN-7}w~#bxOC z6tJ?%*mg9%_D0cI7f0!0EHIg-#28!04!sCV0%-AC`A7rHtg{*}S^|**diR{S@ANoK zg2Vv=BLRf!j&sgc3mKz^YbY~zqycHc`F#wmY#tMGc3ZdRfQJ}Z7Eh=XBAtitz=74@%0Y}z8$xNo#aR}9f&pZ9TN?FAa89VX}Zx$%T022VS zJ*+4J&=|-vOu2xYelie%LpS;=gaj4?#&&m^*74DRLwhk$$1i1Zg2ZE40>Bh%RirFF zrOPOo1vvjOATe+(fLr0M3R`F*pbbbCz}$a-Teju>w(7CL`O|wX100)W_$2heR)cKt z_7i{>qShtA)G{gWBp!Svk9xt@fZPP-g9Jd_D<}-*6d1FG!3|xzO9JGT`wc(=O#!s% zn^{11I-W!UjzHYdq8oF%=oEkZ10=vHt;_>xfq+QU#8uPWpZ_x1JV*lopSPYdAjHf! zgiPt$vj$l2sIFGdeNHFYD-FD$BjF0fbYIem7?_(T|I76odMBJs< Date: Mon, 2 May 2022 06:04:16 +0300 Subject: [PATCH 015/130] Initial commit --- include/battle_util.h | 1 + src/battle_ai_util.c | 34 +++++++++++++++++++++++++++++----- src/battle_util.c | 14 ++++++++++---- 3 files changed, 40 insertions(+), 9 deletions(-) diff --git a/include/battle_util.h b/include/battle_util.h index d2d7ac29f..bf6d4280c 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -133,6 +133,7 @@ u16 CalcTypeEffectivenessMultiplier(u16 move, u8 moveType, u8 battlerAtk, u8 bat u16 CalcPartyMonTypeEffectivenessMultiplier(u16 move, u16 speciesDef, u16 abilityDef); u16 GetTypeModifier(u8 atkType, u8 defType); s32 GetStealthHazardDamage(u8 hazardType, u8 battlerId); +s32 GetStealthHazardDamageByTypesAndHP(u8 hazardType, u8 type1, u8 type2, u32 maxHp); u16 GetMegaEvolutionSpecies(u16 preEvoSpecies, u16 heldItemId); u16 GetWishMegaEvolutionSpecies(u16 preEvoSpecies, u16 moveId1, u16 moveId2, u16 moveId3, u16 moveId4); bool32 CanMegaEvolve(u8 battlerId); diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index de4271bba..79c2f7ed3 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -2437,19 +2437,43 @@ static bool32 PartyBattlerShouldAvoidHazards(u8 currBattler, u8 switchBattler) { struct Pokemon *mon = GetPartyBattlerPartyData(currBattler, switchBattler); u16 ability = GetMonAbility(mon); // we know our own party data - u16 holdEffect = GetBattlerHoldEffect(GetMonData(mon, MON_DATA_HELD_ITEM), TRUE); + u16 holdEffect; + u16 species = GetMonData(mon, MON_DATA_SPECIES); u32 flags = gSideStatuses[GetBattlerSide(currBattler)] & (SIDE_STATUS_SPIKES | SIDE_STATUS_STEALTH_ROCK | SIDE_STATUS_STICKY_WEB | SIDE_STATUS_TOXIC_SPIKES); + s32 hazardDamage = 0; + u8 type1 = gBaseStats[species].type1; + u8 type2 = gBaseStats[species].type2; + u32 maxHp = GetMonData(mon, MON_DATA_MAX_HP); if (flags == 0) return FALSE; - if (ability == ABILITY_MAGIC_GUARD || ability == ABILITY_LEVITATE - || holdEffect == HOLD_EFFECT_HEAVY_DUTY_BOOTS) + if (ability == ABILITY_MAGIC_GUARD) + return FALSE; + if (!(gFieldStatuses & STATUS_FIELD_MAGIC_ROOM || ability == ABILITY_KLUTZ)) + holdEffect = gItems[GetMonData(mon, MON_DATA_HELD_ITEM)].holdEffect; + else + holdEffect = HOLD_EFFECT_NONE; + if (holdEffect == HOLD_EFFECT_HEAVY_DUTY_BOOTS) return FALSE; - if (flags & (SIDE_STATUS_SPIKES | SIDE_STATUS_STEALTH_ROCK) && GetMonData(mon, MON_DATA_HP) < (GetMonData(mon, MON_DATA_MAX_HP) / 8)) - return TRUE; + if (flags & SIDE_STATUS_STEALTH_ROCK) + { + hazardDamage += GetStealthHazardDamageByTypesAndHP(gBattleMoves[MOVE_STEALTH_ROCK].type, type1, type2, maxHp); + } + if (flags & SIDE_STATUS_SPIKES && ((type1 != TYPE_FLYING && type2 != TYPE_FLYING + && ability != ABILITY_LEVITATE && holdEffect != HOLD_EFFECT_AIR_BALLOON) + || holdEffect == HOLD_EFFECT_IRON_BALL || gFieldStatuses & STATUS_FIELD_GRAVITY)) + { + u8 spikesDmg = maxHp / ((5 - gSideTimers[GetBattlerSide(currBattler)].spikesAmount) * 2); + if (spikesDmg == 0) + spikesDmg = 1; + hazardDamage += spikesDmg; + } + + if (hazardDamage >= GetMonData(mon, MON_DATA_HP)) + return TRUE; return FALSE; } diff --git a/src/battle_util.c b/src/battle_util.c index c0a7f2150..06b7c03d2 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -9216,11 +9216,8 @@ u16 GetTypeModifier(u8 atkType, u8 defType) return sTypeEffectivenessTable[atkType][defType]; } -s32 GetStealthHazardDamage(u8 hazardType, u8 battlerId) +s32 GetStealthHazardDamageByTypesAndHP(u8 hazardType, u8 type1, u8 type2, u32 maxHp) { - u8 type1 = gBattleMons[battlerId].type1; - u8 type2 = gBattleMons[battlerId].type2; - u32 maxHp = gBattleMons[battlerId].maxHP; s32 dmg = 0; u16 modifier = UQ_4_12(1.0); @@ -9263,6 +9260,15 @@ s32 GetStealthHazardDamage(u8 hazardType, u8 battlerId) return dmg; } +s32 GetStealthHazardDamage(u8 hazardType, u8 battlerId) +{ + u8 type1 = gBattleMons[battlerId].type1; + u8 type2 = gBattleMons[battlerId].type2; + u32 maxHp = gBattleMons[battlerId].maxHP; + + return GetStealthHazardDamageByTypesAndHP(hazardType, type1, type2, maxHp); +} + bool32 IsPartnerMonFromSameTrainer(u8 battlerId) { if (GetBattlerSide(battlerId) == B_SIDE_OPPONENT && gBattleTypeFlags & BATTLE_TYPE_TWO_OPPONENTS) From f96fc60ac48db813a47be8afee317ef26f35beb8 Mon Sep 17 00:00:00 2001 From: sneed Date: Mon, 2 May 2022 06:20:49 +0300 Subject: [PATCH 016/130] removed brackets --- src/battle_ai_util.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 79c2f7ed3..e9807f915 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -2458,9 +2458,7 @@ static bool32 PartyBattlerShouldAvoidHazards(u8 currBattler, u8 switchBattler) return FALSE; if (flags & SIDE_STATUS_STEALTH_ROCK) - { hazardDamage += GetStealthHazardDamageByTypesAndHP(gBattleMoves[MOVE_STEALTH_ROCK].type, type1, type2, maxHp); - } if (flags & SIDE_STATUS_SPIKES && ((type1 != TYPE_FLYING && type2 != TYPE_FLYING && ability != ABILITY_LEVITATE && holdEffect != HOLD_EFFECT_AIR_BALLOON) From 00e9d0288976e9bb91d8bdd734113833b6095c63 Mon Sep 17 00:00:00 2001 From: sneed Date: Tue, 3 May 2022 15:06:56 +0300 Subject: [PATCH 017/130] minor change --- src/battle_ai_util.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index e9807f915..95419da94 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -2450,10 +2450,10 @@ static bool32 PartyBattlerShouldAvoidHazards(u8 currBattler, u8 switchBattler) if (ability == ABILITY_MAGIC_GUARD) return FALSE; - if (!(gFieldStatuses & STATUS_FIELD_MAGIC_ROOM || ability == ABILITY_KLUTZ)) - holdEffect = gItems[GetMonData(mon, MON_DATA_HELD_ITEM)].holdEffect; - else + if (gFieldStatuses & STATUS_FIELD_MAGIC_ROOM || ability == ABILITY_KLUTZ) holdEffect = HOLD_EFFECT_NONE; + else + holdEffect = gItems[GetMonData(mon, MON_DATA_HELD_ITEM)].holdEffect; if (holdEffect == HOLD_EFFECT_HEAVY_DUTY_BOOTS) return FALSE; From 31a602f3b64eb58efaf8065614f13abfaa4048e9 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Tue, 8 Nov 2022 10:10:21 -0300 Subject: [PATCH 018/130] Optimized Intimidate's code --- asm/macros/battle_script.inc | 6 +-- data/battle_scripts_1.s | 43 +++++++++++----------- include/battle.h | 4 +- include/battle_scripts.h | 1 - include/battle_util.h | 12 +++--- include/constants/battle_script_commands.h | 2 +- src/battle_main.c | 2 - src/battle_script_commands.c | 30 ++------------- src/battle_util.c | 32 +++------------- 9 files changed, 40 insertions(+), 92 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 1a6641e76..0e3aab037 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1162,7 +1162,7 @@ .4byte \ptr .endm - .macro trygetintimidatetarget ptr:req + .macro unused2 ptr:req .byte 0xe1 .4byte \ptr .endm @@ -1326,8 +1326,8 @@ various \battler, VARIOUS_GET_BATTLER_FAINTED .endm - .macro resetintimidatetracebits battler:req - various \battler, VARIOUS_RESET_INTIMIDATE_TRACE_BITS + .macro resetswitchinabilitybits battler:req + various \battler, VARIOUS_RESET_SWITCH_IN_ABILITY_BITS .endm .macro updatechoicemoveonlvlup battler:req diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 63719e2b6..4514de868 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -6128,7 +6128,7 @@ BattleScript_FaintedMonTryChoose: jumpifbyte CMP_EQUAL, gBattleCommunication, PARTY_SIZE, BattleScript_FaintedMonSendOutNew @ Switch Pokémon before opponent atknameinbuff1 - resetintimidatetracebits BS_ATTACKER + resetswitchinabilitybits BS_ATTACKER hpthresholds2 BS_ATTACKER printstring STRINGID_RETURNMON switchoutabilities BS_ATTACKER @@ -8198,19 +8198,15 @@ BattleScript_TryAdrenalineOrb: BattleScript_TryAdrenalineOrbRet: return -BattleScript_IntimidateActivatesEnd3:: - call BattleScript_PauseIntimidateActivates - end3 - -BattleScript_PauseIntimidateActivates: - pause B_WAIT_TIME_SHORT BattleScript_IntimidateActivates:: + showabilitypopup BS_ATTACKER + pause B_WAIT_TIME_LONG + destroyabilitypopup setbyte gBattlerTarget, 0 - call BattleScript_AbilityPopUp -BattleScript_IntimidateActivatesLoop: - setstatchanger STAT_ATK, 1, TRUE - trygetintimidatetarget BattleScript_IntimidateActivatesReturn - jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_IntimidateActivatesLoopIncrement +BattleScript_IntimidateLoop: + jumpifbyteequal gBattlerTarget, gBattlerAttacker, BattleScript_IntimidateLoopIncrement + jumpiftargetally BattleScript_IntimidateLoopIncrement + jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_IntimidateLoopIncrement jumpifability BS_TARGET, ABILITY_CLEAR_BODY, BattleScript_IntimidatePrevented jumpifability BS_TARGET, ABILITY_HYPER_CUTTER, BattleScript_IntimidatePrevented jumpifability BS_TARGET, ABILITY_WHITE_SMOKE, BattleScript_IntimidatePrevented @@ -8220,27 +8216,30 @@ BattleScript_IntimidateActivatesLoop: jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_IntimidatePrevented jumpifability BS_TARGET, ABILITY_OBLIVIOUS, BattleScript_IntimidatePrevented .endif - statbuffchange STAT_CHANGE_NOT_PROTECT_AFFECTED | STAT_CHANGE_ALLOW_PTR, BattleScript_IntimidateActivatesLoopIncrement - jumpifbyte CMP_GREATER_THAN, cMULTISTRING_CHOOSER, 1, BattleScript_IntimidateActivatesLoopIncrement +BattleScript_IntimidateEffect: + statbuffchange STAT_CHANGE_NOT_PROTECT_AFFECTED | MOVE_EFFECT_CERTAIN, NULL setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printstring STRINGID_PKMNCUTSATTACKWITH waitmessage B_WAIT_TIME_LONG - call BattleScript_TryAdrenalineOrb -BattleScript_IntimidateActivatesLoopIncrement: +@ Perform stat nerf +BattleScript_IntimidateLoopIncrement: addbyte gBattlerTarget, 1 - goto BattleScript_IntimidateActivatesLoop -BattleScript_IntimidateActivatesReturn: - return + jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_IntimidateLoop +BattleScript_IntimidateEnd: + destroyabilitypopup + pause B_WAIT_TIME_MED + end3 + BattleScript_IntimidatePrevented: - pause B_WAIT_TIME_SHORT call BattleScript_AbilityPopUp + pause B_WAIT_TIME_LONG setbyte gBattleCommunication STAT_ATK - stattextbuffer BS_ATTACKER + stattextbuffer BS_TARGET printstring STRINGID_STATWASNOTLOWERED waitmessage B_WAIT_TIME_LONG call BattleScript_TryAdrenalineOrb - goto BattleScript_IntimidateActivatesLoopIncrement + goto BattleScript_IntimidateLoopIncrement BattleScript_DroughtActivates:: pause B_WAIT_TIME_SHORT diff --git a/include/battle.h b/include/battle.h index 5d9f57e43..9670aa4e6 100644 --- a/include/battle.h +++ b/include/battle.h @@ -53,7 +53,7 @@ struct ResourceFlags #define RESOURCE_FLAG_FLASH_FIRE 0x1 #define RESOURCE_FLAG_ROOST 0x2 #define RESOURCE_FLAG_UNBURDEN 0x4 -#define RESOURCE_FLAG_INTIMIDATED 0x8 +#define RESOURCE_FLAG_UNUSED 0x8 #define RESOURCE_FLAG_TRACED 0x10 #define RESOURCE_FLAG_EMERGENCY_EXIT 0x20 #define RESOURCE_FLAG_NEUTRALIZING_GAS 0x40 @@ -158,7 +158,6 @@ struct SpecialStatus u8 statLowered:1; u8 lightningRodRedirected:1; u8 restoredBattlerSprite: 1; - u8 intimidatedMon:1; u8 traced:1; u8 ppNotAffectedByPressure:1; u8 faintedHasReplacement:1; @@ -583,7 +582,6 @@ struct BattleStruct u8 AI_itemFlags[2]; u16 choicedMove[MAX_BATTLERS_COUNT]; u16 changedItems[MAX_BATTLERS_COUNT]; - u8 intimidateBattler; u8 switchInItemsCounter; u8 arenaTurnCounter; u8 turnSideTracker; diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 23f18e3be..7fdc5758c 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -152,7 +152,6 @@ extern const u8 BattleScript_ShedSkinActivates[]; extern const u8 BattleScript_WeatherFormChanges[]; extern const u8 BattleScript_WeatherFormChangesLoop[]; extern const u8 BattleScript_WeatherFormChange[]; -extern const u8 BattleScript_IntimidateActivatesEnd3[]; extern const u8 BattleScript_IntimidateActivates[]; extern const u8 BattleScript_DroughtActivates[]; extern const u8 BattleScript_TookAttack[]; diff --git a/include/battle_util.h b/include/battle_util.h index 3f516daba..257b5a743 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -29,13 +29,11 @@ #define ABILITYEFFECT_WEATHER_FORM 7 #define ABILITYEFFECT_SYNCHRONIZE 8 #define ABILITYEFFECT_ATK_SYNCHRONIZE 9 -#define ABILITYEFFECT_INTIMIDATE1 10 -#define ABILITYEFFECT_INTIMIDATE2 11 -#define ABILITYEFFECT_TRACE1 12 -#define ABILITYEFFECT_TRACE2 13 -#define ABILITYEFFECT_MOVE_END_OTHER 14 -#define ABILITYEFFECT_NEUTRALIZINGGAS 15 -#define ABILITYEFFECT_FIELD_SPORT 16 // Only used if B_SPORT_TURNS < GEN_6 +#define ABILITYEFFECT_TRACE1 10 +#define ABILITYEFFECT_TRACE2 11 +#define ABILITYEFFECT_MOVE_END_OTHER 12 +#define ABILITYEFFECT_NEUTRALIZINGGAS 13 +#define ABILITYEFFECT_FIELD_SPORT 14 // Only used if B_SPORT_TURNS < GEN_6 // Special cases #define ABILITYEFFECT_MUD_SPORT 252 // Only used if B_SPORT_TURNS < GEN_6 #define ABILITYEFFECT_WATER_SPORT 253 // Only used if B_SPORT_TURNS < GEN_6 diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index 06a09fc17..2d6db1fbb 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -93,7 +93,7 @@ #define VARIOUS_IS_RUNNING_IMPOSSIBLE 2 #define VARIOUS_GET_MOVE_TARGET 3 #define VARIOUS_GET_BATTLER_FAINTED 4 -#define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5 +#define VARIOUS_RESET_SWITCH_IN_ABILITY_BITS 5 #define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6 #define VARIOUS_RESET_PLAYER_FAINTED 7 #define VARIOUS_PALACE_FLAVOR_TEXT 8 diff --git a/src/battle_main.c b/src/battle_main.c index 9790810a1..74b844012 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3721,8 +3721,6 @@ static void TryDoEventsBeforeFirstTurn(void) if (AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gBattlerAttacker, 0, 0, 0) != 0) return; } - if (AbilityBattleEffects(ABILITYEFFECT_INTIMIDATE1, 0, 0, 0, 0) != 0) - return; if (AbilityBattleEffects(ABILITYEFFECT_TRACE1, 0, 0, 0, 0) != 0) return; // Check all switch in items having effect from the fastest mon to slowest. diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 3e52aa618..036ac3bd1 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -545,7 +545,7 @@ static void Cmd_setuserstatus3(void); static void Cmd_assistattackselect(void); static void Cmd_trysetmagiccoat(void); static void Cmd_trysetsnatch(void); -static void Cmd_trygetintimidatetarget(void); +static void Cmd_unused2(void); static void Cmd_switchoutabilities(void); static void Cmd_jumpifhasnohp(void); static void Cmd_getsecretpowereffect(void); @@ -804,7 +804,7 @@ void (* const gBattleScriptingCommandsTable[])(void) = Cmd_assistattackselect, //0xDE Cmd_trysetmagiccoat, //0xDF Cmd_trysetsnatch, //0xE0 - Cmd_trygetintimidatetarget, //0xE1 + Cmd_unused2, //0xE1 Cmd_switchoutabilities, //0xE2 Cmd_jumpifhasnohp, //0xE3 Cmd_getsecretpowereffect, //0xE4 @@ -6783,7 +6783,6 @@ static void Cmd_switchineffects(void) if (AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gActiveBattler, 0, 0, 0) || ItemBattleEffects(ITEMEFFECT_ON_SWITCH_IN, gActiveBattler, FALSE) - || AbilityBattleEffects(ABILITYEFFECT_INTIMIDATE2, 0, 0, 0, 0) || AbilityBattleEffects(ABILITYEFFECT_TRACE2, 0, 0, 0, 0) || AbilityBattleEffects(ABILITYEFFECT_WEATHER_FORM, 0, 0, 0, 0)) return; @@ -8469,8 +8468,7 @@ static void Cmd_various(void) else gBattleCommunication[0] = FALSE; break; - case VARIOUS_RESET_INTIMIDATE_TRACE_BITS: - gSpecialStatuses[gActiveBattler].intimidatedMon = FALSE; + case VARIOUS_RESET_SWITCH_IN_ABILITY_BITS: gSpecialStatuses[gActiveBattler].traced = FALSE; gSpecialStatuses[gActiveBattler].switchInAbilityDone = FALSE; break; @@ -8634,7 +8632,6 @@ static void Cmd_various(void) gBattlescriptCurrInstr += 3; AbilityBattleEffects(ABILITYEFFECT_NEUTRALIZINGGAS, gActiveBattler, 0, 0, 0); AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gActiveBattler, 0, 0, 0); - AbilityBattleEffects(ABILITYEFFECT_INTIMIDATE2, gActiveBattler, 0, 0, 0); AbilityBattleEffects(ABILITYEFFECT_TRACE2, gActiveBattler, 0, 0, 0); return; case VARIOUS_SAVE_TARGET: @@ -13533,27 +13530,8 @@ static void Cmd_trysetsnatch(void) } } -static void Cmd_trygetintimidatetarget(void) +static void Cmd_unused2(void) { - u8 side; - - gBattleScripting.battler = gBattleStruct->intimidateBattler; - side = GetBattlerSide(gBattleScripting.battler); - - PREPARE_ABILITY_BUFFER(gBattleTextBuff1, gBattleMons[gBattleScripting.battler].ability) - - for (;gBattlerTarget < gBattlersCount; gBattlerTarget++) - { - if (GetBattlerSide(gBattlerTarget) == side) - continue; - if (!(gAbsentBattlerFlags & gBitTable[gBattlerTarget])) - break; - } - - if (gBattlerTarget >= gBattlersCount) - gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); - else - gBattlescriptCurrInstr += 5; } static void Cmd_switchoutabilities(void) diff --git a/src/battle_util.c b/src/battle_util.c index 9c3e189d7..bc5037abd 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -4780,10 +4780,12 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move } break; case ABILITY_INTIMIDATE: - if (!(gSpecialStatuses[battler].intimidatedMon)) + if (!gSpecialStatuses[battler].switchInAbilityDone) { - gBattleResources->flags->flags[battler] |= RESOURCE_FLAG_INTIMIDATED; - gSpecialStatuses[battler].intimidatedMon = TRUE; + gSpecialStatuses[battler].switchInAbilityDone = TRUE; + SET_STATCHANGER(STAT_ATK, 1, TRUE); + BattleScriptPushCursorAndCallback(BattleScript_IntimidateActivates); + effect++; } break; case ABILITY_FORECAST: @@ -5958,30 +5960,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move } } break; - case ABILITYEFFECT_INTIMIDATE1: - case ABILITYEFFECT_INTIMIDATE2: - for (i = 0; i < gBattlersCount; i++) - { - if (GetBattlerAbility(i) == ABILITY_INTIMIDATE && gBattleResources->flags->flags[i] & RESOURCE_FLAG_INTIMIDATED - && (IsBattlerAlive(BATTLE_OPPOSITE(i)) || IsBattlerAlive(BATTLE_PARTNER(BATTLE_OPPOSITE(i))))) // At least one opposing mon has to be alive. - { - gBattleResources->flags->flags[i] &= ~RESOURCE_FLAG_INTIMIDATED; - gLastUsedAbility = ABILITY_INTIMIDATE; - if (caseID == ABILITYEFFECT_INTIMIDATE1) - { - BattleScriptPushCursorAndCallback(BattleScript_IntimidateActivatesEnd3); - } - else - { - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_IntimidateActivates; - } - battler = gBattlerAbility = gBattleStruct->intimidateBattler = i; - effect++; - break; - } - } - break; case ABILITYEFFECT_TRACE1: case ABILITYEFFECT_TRACE2: for (i = 0; i < gBattlersCount; i++) From f7d1a12d2d36cd704a76c6a207395ee25395e462 Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Fri, 18 Nov 2022 12:15:44 +0100 Subject: [PATCH 019/130] Data entry for gen9 moves --- data/battle_anim_scripts.s | 97 ++++ include/config.h | 3 +- include/constants/moves.h | 54 +- src/battle_debug.c | 2 +- src/data/battle_moves.h | 790 ++++++++++++++++++++++++++++++ src/data/contest_moves.h | 96 ++++ src/data/text/move_descriptions.h | 273 +++++++++++ src/data/text/move_names.h | 96 ++++ 8 files changed, 1408 insertions(+), 3 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index ff407c0c4..84d0fd6e5 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -805,6 +805,55 @@ gBattleAnims_Moves:: .4byte Move_SANDSEAR_STORM .4byte Move_LUNAR_BLESSING .4byte Move_TAKE_HEART +@@@@@@@@@@@@ GEN 9 @@@@@@@@@@@@ + .4byte Move_TERA_BLAST + .4byte Move_SILK_TRAP + .4byte Move_AXE_KICK + .4byte Move_LAST_RESPECTS + .4byte Move_LUMINA_CRASH + .4byte Move_ORDER_UP + .4byte Move_JET_PUNCH + .4byte Move_SPICY_EXTRACT + .4byte Move_SPIN_OUT + .4byte Move_POPULATION_BOMB + .4byte Move_ICE_SPINNER + .4byte Move_GLAIVE_RUSH + .4byte Move_REVIVAL_BLESSING + .4byte Move_SALT_CURE + .4byte Move_TRIPLE_DIVE + .4byte Move_MORTAL_SPIN + .4byte Move_DOODLE + .4byte Move_FILLET_AWAY + .4byte Move_KOWTOW_CLEAVE + .4byte Move_FLOWER_TRICK + .4byte Move_TORCH_SONG + .4byte Move_AQUA_STEP + .4byte Move_RAGING_BULL + .4byte Move_MAKE_IT_RAIN + .4byte Move_RUINATION + .4byte Move_COLLISION_COURSE + .4byte Move_ELECTRO_DRIFT + .4byte Move_SHED_TAIL + .4byte Move_CHILLY_RECEPTION + .4byte Move_TIDY_UP + .4byte Move_SNOWSCAPE + .4byte Move_POUNCE + .4byte Move_TRAILBLAZE + .4byte Move_CHILLING_WATER + .4byte Move_HYPER_DRILL + .4byte Move_TWIN_BEAM + .4byte Move_RAGE_FIST + .4byte Move_ARMOR_CANNON + .4byte Move_BITTER_BLADE + .4byte Move_DOUBLE_SHOCK + .4byte Move_GIGATON_HAMMER + .4byte Move_COMEUPPANCE + .4byte Move_AQUA_CUTTER + .4byte Move_BLAZING_TORQUE + .4byte Move_WICKED_TORQUE + .4byte Move_NOXIOUS_TORQUE + .4byte Move_COMBAT_TORQUE + .4byte Move_MAGICAL_TORQUE @@@@ Z MOVES .4byte Move_BREAKNECK_BLITZ .4byte Move_ALL_OUT_PUMMELING @@ -14345,6 +14394,54 @@ Move_WILDBOLT_STORM:: Move_SANDSEAR_STORM:: Move_LUNAR_BLESSING:: Move_TAKE_HEART:: +Move_TERA_BLAST:: +Move_SILK_TRAP:: +Move_AXE_KICK:: +Move_LAST_RESPECTS:: +Move_LUMINA_CRASH:: +Move_ORDER_UP:: +Move_JET_PUNCH:: +Move_SPICY_EXTRACT:: +Move_SPIN_OUT:: +Move_POPULATION_BOMB:: +Move_ICE_SPINNER:: +Move_GLAIVE_RUSH:: +Move_REVIVAL_BLESSING:: +Move_SALT_CURE:: +Move_TRIPLE_DIVE:: +Move_MORTAL_SPIN:: +Move_DOODLE:: +Move_FILLET_AWAY:: +Move_KOWTOW_CLEAVE:: +Move_FLOWER_TRICK:: +Move_TORCH_SONG:: +Move_AQUA_STEP:: +Move_RAGING_BULL:: +Move_MAKE_IT_RAIN:: +Move_RUINATION:: +Move_COLLISION_COURSE:: +Move_ELECTRO_DRIFT:: +Move_SHED_TAIL:: +Move_CHILLY_RECEPTION:: +Move_TIDY_UP:: +Move_SNOWSCAPE:: +Move_POUNCE:: +Move_TRAILBLAZE:: +Move_CHILLING_WATER:: +Move_HYPER_DRILL:: +Move_TWIN_BEAM:: +Move_RAGE_FIST:: +Move_ARMOR_CANNON:: +Move_BITTER_BLADE:: +Move_DOUBLE_SHOCK:: +Move_GIGATON_HAMMER:: +Move_COMEUPPANCE:: +Move_AQUA_CUTTER:: +Move_BLAZING_TORQUE:: +Move_WICKED_TORQUE:: +Move_NOXIOUS_TORQUE:: +Move_COMBAT_TORQUE:: +Move_MAGICAL_TORQUE:: end @to do @@@@@@@@@@@@@@@@@@@@@@@ GEN 1-3 @@@@@@@@@@@@@@@@@@@@@@@ diff --git a/include/config.h b/include/config.h index ad8b3268f..590972bae 100644 --- a/include/config.h +++ b/include/config.h @@ -70,6 +70,7 @@ #define GEN_6 3 #define GEN_7 4 #define GEN_8 5 -#define GEN_LATEST GEN_8 +#define GEN_9 6 +#define GEN_LATEST GEN_9 #endif // GUARD_CONFIG_H diff --git a/include/constants/moves.h b/include/constants/moves.h index 75691de76..20cb32c54 100644 --- a/include/constants/moves.h +++ b/include/constants/moves.h @@ -809,7 +809,59 @@ #define MOVES_COUNT_GEN8 779 -#define MOVES_COUNT MOVES_COUNT_GEN8 +// Gen 9 moves. +#define MOVE_TERA_BLAST 779 +#define MOVE_SILK_TRAP 780 +#define MOVE_AXE_KICK 781 +#define MOVE_LAST_RESPECTS 782 +#define MOVE_LUMINA_CRASH 783 +#define MOVE_ORDER_UP 784 +#define MOVE_JET_PUNCH 785 +#define MOVE_SPICY_EXTRACT 786 +#define MOVE_SPIN_OUT 787 +#define MOVE_POPULATION_BOMB 788 +#define MOVE_ICE_SPINNER 789 +#define MOVE_GLAIVE_RUSH 790 +#define MOVE_REVIVAL_BLESSING 791 +#define MOVE_SALT_CURE 792 +#define MOVE_TRIPLE_DIVE 793 +#define MOVE_MORTAL_SPIN 794 +#define MOVE_DOODLE 795 +#define MOVE_FILLET_AWAY 796 +#define MOVE_KOWTOW_CLEAVE 797 +#define MOVE_FLOWER_TRICK 798 +#define MOVE_TORCH_SONG 799 +#define MOVE_AQUA_STEP 800 +#define MOVE_RAGING_BULL 801 +#define MOVE_MAKE_IT_RAIN 802 +#define MOVE_RUINATION 803 +#define MOVE_COLLISION_COURSE 804 +#define MOVE_ELECTRO_DRIFT 805 +#define MOVE_SHED_TAIL 806 +#define MOVE_CHILLY_RECEPTION 807 +#define MOVE_TIDY_UP 808 +#define MOVE_SNOWSCAPE 809 +#define MOVE_POUNCE 810 +#define MOVE_TRAILBLAZE 811 +#define MOVE_CHILLING_WATER 812 +#define MOVE_HYPER_DRILL 813 +#define MOVE_TWIN_BEAM 814 +#define MOVE_RAGE_FIST 815 +#define MOVE_ARMOR_CANNON 816 +#define MOVE_BITTER_BLADE 817 +#define MOVE_DOUBLE_SHOCK 818 +#define MOVE_GIGATON_HAMMER 819 +#define MOVE_COMEUPPANCE 820 +#define MOVE_AQUA_CUTTER 821 +#define MOVE_BLAZING_TORQUE 822 +#define MOVE_WICKED_TORQUE 823 +#define MOVE_NOXIOUS_TORQUE 824 +#define MOVE_COMBAT_TORQUE 825 +#define MOVE_MAGICAL_TORQUE 826 + +#define MOVES_COUNT_GEN9 827 + +#define MOVES_COUNT MOVES_COUNT_GEN9 // Z Moves #define MOVE_BREAKNECK_BLITZ (MOVES_COUNT + 0) diff --git a/src/battle_debug.c b/src/battle_debug.c index 568b9a96e..0868ac030 100644 --- a/src/battle_debug.c +++ b/src/battle_debug.c @@ -1767,7 +1767,7 @@ static void SetUpModifyArrows(struct BattleDebugMenu *data) break; case LIST_ITEM_MOVES: data->modifyArrows.minValue = 0; - data->modifyArrows.maxValue = MOVES_COUNT_GEN8 - 1; + data->modifyArrows.maxValue = MOVES_COUNT_GEN9 - 1; data->modifyArrows.maxDigits = 3; if (data->currentSecondaryListItemId == 4) { diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 346309c55..41d772598 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -13618,6 +13618,796 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .zMoveEffect = Z_EFFECT_NONE, }, + [MOVE_TERA_BLAST] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_TERA_BLAST, + .power = 80, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_SILK_TRAP] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_PROTECT with extra checks + .power = 0, + .type = TYPE_BUG, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 4, + .flags = FLAG_PROTECTION_MOVE, + .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_AXE_KICK] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_RECOIL_IF_MISS + 30% chance to confuse + .power = 120, + .type = TYPE_FIGHTING, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_LAST_RESPECTS] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_LAST_RESPECTS + .power = 50, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_LUMINA_CRASH] = + { + .effect = EFFECT_SPECIAL_DEFENSE_DOWN_HIT_2, + .power = 80, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_ORDER_UP] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_ORDER_UP + .power = 80, + .type = TYPE_DRAGON, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED, // No King's Rock I believe? I may be mistaken + .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_JET_PUNCH] = + { + .effect = EFFECT_HIT, + .power = 60, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 1, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_IRON_FIST_BOOST, // I assume Iron Fist is relevant here, but untested + .split = SPLIT_PHYSICAL, + .zMovePower = 120, + .zMoveEffect = Z_EFFECT_NONE, + // The datamine master sheet mentions uncopiable by Metronome but that sounds odd? not yet implemented + }, + + [MOVE_SPICY_EXTRACT] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_SPICY_EXTRACT + .power = 0, + .type = TYPE_GRASS, + .accuracy = 0, // Supposedly never misses? needs a double check? + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_NONE, + // The datamine master sheet mentions uncopiable by Metronome but that sounds odd? not yet implemented + }, + + [MOVE_SPIN_OUT] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_SPIN_OUT + .power = 100, + .type = TYPE_STEEL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_POPULATION_BOMB] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_MULTI_HIT maybe? + .power = 20, + .type = TYPE_NORMAL, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 40, + .zMoveEffect = Z_EFFECT_NONE, + //Supposedly uncallable by Metronome? (if so, needs implementation) + //The master sheet mentions a "slicing" flag but I'm not sure what it refers to + }, + + [MOVE_ICE_SPINNER] = + { + .effect = EFFECT_DAMAGE_SET_TERRAIN, + .power = 80, + .type = TYPE_ICE, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, + .argument = 1, //remove terrain + }, + + [MOVE_GLAIVE_RUSH] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_GLAIVE_RUSH + .power = 120, + .type = TYPE_DRAGON, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_REVIVAL_BLESSING] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_REVIVAL_BLESSING + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 1, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = 0, + .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_NONE, + // Uncallable by Metronome (to be implemented) + }, + + [MOVE_SALT_CURE] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_SALT_CURE + .power = 40, + .type = TYPE_ROCK, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 80, + .zMoveEffect = Z_EFFECT_NONE, + // Supposedly uncallable by Metronome, but dubious + }, + + [MOVE_TRIPLE_DIVE] = + { + .effect = EFFECT_TRIPLE_KICK, + .power = 30, + .type = TYPE_WATER, + .accuracy = 95, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_MORTAL_SPIN] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_MORTAL_SPIN + .power = 30, + .type = TYPE_POISON, + .accuracy = 100, + .pp = 15, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 60, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_DOODLE] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_DOODLE + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, // Supposedly unconfirmed? + .priority = 0, + .flags = 0, + .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_NONE, + // Supposedly uncallable by Metronome (unimplemented) + }, + + [MOVE_FILLET_AWAY] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_FILLET_AWAY + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = FLAG_SNATCH_AFFECTED, + .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RECOVER_HP, + // Supposedly uncallable by Metronome (unimplemented) + }, + + [MOVE_KOWTOW_CLEAVE] = + { + .effect = EFFECT_HIT, + .power = 85, + .type = TYPE_DARK, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, + // Needs a "slicing" flag (not sure what it refers to) + }, + + [MOVE_FLOWER_TRICK] = + { + .effect = EFFECT_ALWAYS_CRIT, + .power = 70, + .type = TYPE_GRASS, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_TORCH_SONG] = + { + .effect = EFFECT_SP_ATTACK_UP_HIT, + .power = 80, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_SOUND, + .split = SPLIT_SPECIAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_AQUA_STEP] = + { + .effect = EFFECT_SPEED_UP_HIT, + .power = 80, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_DANCE, + .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_RAGING_BULL] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_RAGING_BULL + .power = 90, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 175, + .zMoveEffect = Z_EFFECT_NONE, + // Uncallable by Metronome (to be implemented) + }, + + [MOVE_MAKE_IT_RAIN] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_MAKE_IT_RAIN + .power = 120, + .type = TYPE_STEEL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_BOTH, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .split = SPLIT_SPECIAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, + // Uncallable by Metronome (to be implemented) + }, + + [MOVE_RUINATION] = + { + .effect = EFFECT_SUPER_FANG, + .power = 1, + .type = TYPE_DARK, + .accuracy = 90, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, + // Uncallable by Metronome (to be implemented) + }, + + [MOVE_COLLISION_COURSE] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_COLLISION_COURSE + .power = 100, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, + // Uncallable by Metronome (to be implemented) + }, + + [MOVE_ELECTRO_DRIFT] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_COLLISION_COURSE + .power = 100, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .split = SPLIT_SPECIAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, + // Uncallable by Metronome (to be implemented) + }, + + [MOVE_SHED_TAIL] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_SHED_TAIL + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = 0, + .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_RESET_STATS, + // Uncallable by Metronome (to be implemented) + // Supposedly unsnatchable? + }, + + [MOVE_CHILLY_RECEPTION] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_CHILLY_RECEPTION + .power = 0, + .type = TYPE_ICE, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_ALL_BATTLERS, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED, + .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, + // Supposedly uncallable by Metronome? (to be implemented) + }, + + [MOVE_TIDY_UP] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_TIDY_UP + .power = 0, + .type = TYPE_NORMAL, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_USER, + .priority = 0, + .flags = 0, + .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_NONE, + // Supposedly uncallable by Metronome? (to be implemented) + // Supposedly unsnatchable? + }, + + [MOVE_SNOWSCAPE] = + { + .effect = EFFECT_HAIL, + .power = 0, + .type = TYPE_ICE, + .accuracy = 0, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_ALL_BATTLERS, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED, + .split = SPLIT_STATUS, + .zMovePower = 0, + .zMoveEffect = Z_EFFECT_SPD_UP_1, + // Currently an exact copy of Hail until we figure out what to do with it + }, + + [MOVE_POUNCE] = + { + .effect = EFFECT_SPEED_DOWN_HIT, + .power = 50, + .type = TYPE_BUG, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_TRAILBLAZE] = + { + .effect = EFFECT_SPEED_UP_HIT, + .power = 50, + .type = TYPE_GRASS, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_CHILLING_WATER] = + { + .effect = EFFECT_ATTACK_DOWN_HIT, + .power = 50, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_HYPER_DRILL] = + { + .effect = EFFECT_HIT, + .power = 100, + .type = TYPE_NORMAL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_MIRROR_MOVE_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 180, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_TWIN_BEAM] = + { + .effect = EFFECT_HIT, + .power = 40, + .type = TYPE_PSYCHIC, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_TWO_STRIKES, + .split = SPLIT_SPECIAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_RAGE_FIST] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_RAGE_FIST + .power = 50, + .type = TYPE_GHOST, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_SHEER_FORCE_BOOST, + .split = SPLIT_PHYSICAL, + .zMovePower = 100, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_ARMOR_CANNON] = + { + .effect = EFFECT_CLOSE_COMBAT, + .power = 120, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 100, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_SPECIAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_BITTER_BLADE] = + { + .effect = EFFECT_ABSORB, + .power = 90, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE, + // Needs the "slicing" flag + }, + + [MOVE_DOUBLE_SHOCK] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_DOUBLE_SHOCK + .power = 120, + .type = TYPE_ELECTRIC, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 190, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_GIGATON_HAMMER] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_GIGATON_HAMMER + .power = 160, + .type = TYPE_STEEL, + .accuracy = 100, + .pp = 5, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 200, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_COMEUPPANCE] = + { + .effect = EFFECT_METAL_BURST, + .power = 0, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_DEPENDS, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMoveEffect = Z_EFFECT_NONE, + }, + + [MOVE_AQUA_CUTTER] = + { + .effect = EFFECT_HIT, + .power = 70, + .type = TYPE_WATER, + .accuracy = 100, + .pp = 20, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, + .split = SPLIT_PHYSICAL, + .zMovePower = 140, + .zMoveEffect = Z_EFFECT_NONE, + // Needs the "slicing" flag + }, + + [MOVE_BLAZING_TORQUE] = + { + .effect = EFFECT_BURN_HIT, + .power = 80, + .type = TYPE_FIRE, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_WICKED_TORQUE] = + { + .effect = EFFECT_PLACEHOLDER, // EFFECT_SLEEP_HIT + .power = 80, + .type = TYPE_DARK, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 10, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_NOXIOUS_TORQUE] = + { + .effect = EFFECT_POISON_HIT, + .power = 100, + .type = TYPE_POISON, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_COMBAT_TORQUE] = + { + .effect = EFFECT_PARALYZE_HIT, + .power = 100, + .type = TYPE_FIGHTING, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE + }, + + [MOVE_MAGICAL_TORQUE] = + { + .effect = EFFECT_CONFUSE_HIT, + .power = 100, + .type = TYPE_FAIRY, + .accuracy = 100, + .pp = 10, + .secondaryEffectChance = 30, + .target = MOVE_TARGET_SELECTED, + .priority = 0, + .flags = FLAG_PROTECT_AFFECTED, + .split = SPLIT_PHYSICAL, + .zMovePower = 160, + .zMoveEffect = Z_EFFECT_NONE + }, + // Z-Moves [MOVE_BREAKNECK_BLITZ] = { diff --git a/src/data/contest_moves.h b/src/data/contest_moves.h index 244f0ddb2..2de44b348 100644 --- a/src/data/contest_moves.h +++ b/src/data/contest_moves.h @@ -5966,6 +5966,102 @@ const struct ContestMove gContestMoves[MOVES_COUNT] = [MOVE_LUNAR_BLESSING] = {0}, // TODO [MOVE_TAKE_HEART] = {0}, // TODO + + [MOVE_TERA_BLAST] = {0}, // TODO + + [MOVE_SILK_TRAP] = {0}, // TODO + + [MOVE_AXE_KICK] = {0}, // TODO + + [MOVE_LAST_RESPECTS] = {0}, // TODO + + [MOVE_LUMINA_CRASH] = {0}, // TODO + + [MOVE_ORDER_UP] = {0}, // TODO + + [MOVE_JET_PUNCH] = {0}, // TODO + + [MOVE_SPICY_EXTRACT] = {0}, // TODO + + [MOVE_SPIN_OUT] = {0}, // TODO + + [MOVE_POPULATION_BOMB] = {0}, // TODO + + [MOVE_ICE_SPINNER] = {0}, // TODO + + [MOVE_GLAIVE_RUSH] = {0}, // TODO + + [MOVE_REVIVAL_BLESSING] = {0}, // TODO + + [MOVE_SALT_CURE] = {0}, // TODO + + [MOVE_TRIPLE_DIVE] = {0}, // TODO + + [MOVE_MORTAL_SPIN] = {0}, // TODO + + [MOVE_DOODLE] = {0}, // TODO + + [MOVE_FILLET_AWAY] = {0}, // TODO + + [MOVE_KOWTOW_CLEAVE] = {0}, // TODO + + [MOVE_FLOWER_TRICK] = {0}, // TODO + + [MOVE_TORCH_SONG] = {0}, // TODO + + [MOVE_AQUA_STEP] = {0}, // TODO + + [MOVE_RAGING_BULL] = {0}, // TODO + + [MOVE_MAKE_IT_RAIN] = {0}, // TODO + + [MOVE_RUINATION] = {0}, // TODO + + [MOVE_COLLISION_COURSE] = {0}, // TODO + + [MOVE_ELECTRO_DRIFT] = {0}, // TODO + + [MOVE_SHED_TAIL] = {0}, // TODO + + [MOVE_CHILLY_RECEPTION] = {0}, // TODO + + [MOVE_TIDY_UP] = {0}, // TODO + + [MOVE_SNOWSCAPE] = {0}, // TODO + + [MOVE_POUNCE] = {0}, // TODO + + [MOVE_TRAILBLAZE] = {0}, // TODO + + [MOVE_CHILLING_WATER] = {0}, // TODO + + [MOVE_HYPER_DRILL] = {0}, // TODO + + [MOVE_TWIN_BEAM] = {0}, // TODO + + [MOVE_RAGE_FIST] = {0}, // TODO + + [MOVE_ARMOR_CANNON] = {0}, // TODO + + [MOVE_BITTER_BLADE] = {0}, // TODO + + [MOVE_DOUBLE_SHOCK] = {0}, // TODO + + [MOVE_GIGATON_HAMMER] = {0}, // TODO + + [MOVE_COMEUPPANCE] = {0}, // TODO + + [MOVE_AQUA_CUTTER] = {0}, // TODO + + [MOVE_BLAZING_TORQUE] = {0}, // TODO + + [MOVE_WICKED_TORQUE] = {0}, // TODO + + [MOVE_NOXIOUS_TORQUE] = {0}, // TODO + + [MOVE_COMBAT_TORQUE] = {0}, // TODO + + [MOVE_MAGICAL_TORQUE] = {0}, // TODO }; const struct ContestEffect gContestEffects[] = diff --git a/src/data/text/move_descriptions.h b/src/data/text/move_descriptions.h index a4a1941ad..f77989d05 100644 --- a/src/data/text/move_descriptions.h +++ b/src/data/text/move_descriptions.h @@ -2964,6 +2964,7 @@ static const u8 sPsyshieldBashDescription[] = _( static const u8 sPowerShiftDescription[] = _( "The user swaps its offensive\n" "and defensive stats."); +/* The user swaps its Attack and Defense stats. */ static const u8 sStoneAxeDescription[] = _( "High critical hit ratio. Sets\n" @@ -2976,50 +2977,81 @@ static const u8 sSpringtideStormDescription[] = _( static const u8 sMysticalPowerDescription[] = _( "Increases the user's better\n" "of Atk. and Def. stats."); +/* The user attacks by emitting a mysterious power. +This also boosts the user’s Sp. Atk stat. */ static const u8 sRagingFuryDescription[] = _( "Viciously spews flames at\n" "a foe, becoming fixated."); +// "A rampage of 2 to 3 turns\n" +// "that confuses the user."); + +/* The user rampages around spewing flames for two to +three turns. The user then becomes confused. */ static const u8 sWaveCrashDescription[] = _( "A water slam. Hurts the user\n" "and raises its Action Speed."); +/* The user shrouds itself in water and slams into the target +with its whole body to inflict damage. This also damages +the user quite a lot. */ static const u8 sChloroblastDescription[] = _( "An blast that hurts the user\n" "and lowers its Action Speed."); +/* The user launches its amassed chlorophyll to inflict +damage on the target. This also damages the user. */ static const u8 sMountainGaleDescription[] = _( "The user hurls giant chunks\n" "of ice to damage the foe."); +/* The user hurls giant chunks of ice at the target to inflict +damage. This may also make the target flinch. */ static const u8 sVictoryDanceDescription[] = _( "Dances to raise damage 50%,\n" "plus offenses and defenses."); +/* The user performs an intense dance to usher in victory, +boosting its Attack, Defense, and Speed stats. */ static const u8 sHeadlongRushDescription[] = _( "Hits with a full-body tackle,\n" "lowering the foe's Defense."); +/* The user smashes into the target in a full-body tackle. +This also lowers the user’s Defense and Sp. Def stats. */ static const u8 sBarbBarrageDescription[] = _( "Can poison on impact. Powers\n" "up if the foe has an ailment."); +/* The user launches countless toxic barbs to inflict +damage. This may also poison the target. This move’s +power is doubled if the target is already poisoned. */ static const u8 sEsperWingDescription[] = _( "High critical hit ratio.\n" "Ups the user's Action Speed."); +/* The user slashes the target with aura-enriched wings. +This also boosts the user’s Speed stat. This move has +a heightened chance of landing a critical hit. */ static const u8 sBitterMaliceDescription[] = _( "Hurts a foe harder if it has\n" "an ailment. Can give FrstBte."); +/* The user attacks the target with spine-chilling resentment. +This also lowers the target’s Attack stat. */ static const u8 sShelterDescription[] = _( "The user hardens their skin\n" "and obscures itself."); +/* The user makes its skin as hard as an iron shield, sharply +boosting its Defense stat. */ static const u8 sTripleArrowsDescription[] = _( "Ups critical-hit ratio for 3\n" "turns. Lowers foe Defenses."); +/* The user kicks, then fires three arrows. This move has a +heightened chance of landing a critical hit and may also +lower the target’s Defense stat or make it flinch. */ static const u8 sInfernalParadeDescription[] = _( "Hurts a foe harder if it has\n" @@ -3032,6 +3064,9 @@ static const u8 sCeaselessEdgeDescription[] = _( static const u8 sBleakwindStormDescription[] = _( "Hits with brutal, cold winds.\n" "May inflict frostbite."); +/* The user attacks with savagely cold winds that cause +both body and spirit to tremble. This may also lower the +Speed stats of opposing Pokémon. */ static const u8 sWildboltStormDescription[] = _( "Hits with a brutal tempest.\n" @@ -3044,11 +3079,201 @@ static const u8 sSandsearStormDescription[] = _( static const u8 sLunarBlessingDescription[] = _( "The user heals themself and\n" "conceals their presence."); +/* The user receives a blessing from the crescent moon, +restoring HP and curing status conditions for itself and +its ally Pokémon currently in the battle. */ static const u8 sTakeHeartDescription[] = _( "The user lifts its spirits to\n" "heal and strengthen itself."); +static const u8 sTeraBlastDescription[] = _( + "Unleashes the user's Tera-type\n" + "energy if Terrastallized."); + +static const u8 sSilkTrapDescription[] =_( + "Protects itself, lowering\n" + "Speed on contact."); + +static const u8 sAxeKickDescription[] = _( + "May miss and hurt the kicker.\n" + "May cause confusion."); + +static const u8 sLastRespectsDescription[] = _( + "This move deals more damage\n" + "for each defeated ally."); + +static const u8 sLuminaCrashDescription[] = _( + "A mind-affecting light\n" + "harshly lowers Sp. Def."); + +static const u8 sOrderUpDescription[] = _( + "Boosts a user's stats\n" + "depending on Tatsugiri."); + +static const u8 sJetPunchDescription[] = _( + "A punch is thrown at blinding\n" + "speed to strike first."); + +static const u8 sSpicyExtractDescription[] = _( + "Sharply boosts target's Attack,\n" + "harshly lowers its Defense."); + +static const u8 sSpinOutDescription[] = _( + "Furiously strains its legs.\n" + "Harshly lowers user's Speed."); + +static const u8 sPopulationBombDescription[] = _( + "The user's fellows hit one\n" + "to ten times in a row."); + +static const u8 sIceSpinnerDescription[] = _( + "Ice-covered feet hit a foe\n" + "and destroy the terrain."); + +static const u8 sGlaiveRushDescription[] = _( + "Enemy attacks next turn always\n" + "hit with double damage."); + +static const u8 sRevivalBlessingDescription[] = _( + "Revives a fainted party {PKMN}\n" + "and restores half of its HP."); + +static const u8 sSaltCureDescription[] = _( + "Perpetually damages foe. Super-\n" + "effective against Steel and Water."); + +static const u8 sTripleDiveDescription[] = _( + "Hits the target with splashes\n" + "of water three times in a row."); + +static const u8 sMortalSpinDescription[] = _( + "Poisons all foes and eliminates\n" + "trapping moves and Leech Seed."); + +static const u8 sDoodleDescription[] = _( + "Changes user's and ally's\n" + "Ability into the target's."); + +static const u8 sFilletAwayDescription[] = _( + "Sharply boosts offenses and\n" + "Speed by using its own HP."); + +static const u8 sKowtowCleaveDescription[] = _( + "Slashes the foe after kowtowing.\n" + "This attack never misses."); + +static const u8 sFlowerTrickDescription[] = _( + "A bouquet of flowers never misses\n" + "and always lands a critical hit."); + +static const u8 sTorchSongDescription[] = _( + "Scorches the target. Boosts the\n" + "user's Sp. Atk."); + +static const u8 sAquaStepDescription[] = _( + "Light and fluid dance steps hit.\n" + "Boosts the user's Speed."); + +static const u8 sRagingBullDescription[] = _( + "A bull-like tackle breaks barriers.\n" + "The type depends on the user's form."); + +static const u8 sMakeItRainDescription[] = _( + "The user's Sp. Atk stat is lowered.\n" + "Money is earned after battle."); + +static const u8 sRuinationDescription[] = _( + "A summoned ruinous disaster cuts\n" + "the target's HP in half."); + +static const u8 sCollisionCourseDescription[] = _( + "A massive prehistoric explosion\n" + "that is stronger when supereffective."); + +static const u8 sElectroDriftDescription[] = _( + "Futuristic electricity piercing\n" + "that is stronger when supereffective."); + +static const u8 sShedTailDescription[] = _( + "Creates a Substitute for itself\n" + "before switching out."); + +static const u8 sChillyReceptionDescription[] =_( + "A bad joke summons a snowstorm.\n" + "The user also switches out."); + +static const u8 sTidyUpDescription[] = _( + "The user tidies up hazards.\n" + "Its Attack and Speed are raised."); + +static const u8 sSnowscapeDescription[] = _( + "Summons a snowstorm that\n" + "strikes every turn."); + +static const u8 sPounceDescription[] = _( + "The user pounces on the foe,\n" + "lowering its Speed."); + +static const u8 sTrailblazeDescription[] = _( + "The user attacks suddenly,\n" + "raising its Speed."); + +static const u8 sChillingWaterDescription[] = _( + "A shower with ice-cold water\n" + "lowers the target's Attack."); + +static const u8 sHyperDrillDescription[] = _( + "A spinning pointed part pierces\n" + "through a foe's Protect."); + +static const u8 sTwinBeamDescription[] = _( + "Mystical beams from the user's\n" + "eyes hit twice in a row."); + +static const u8 sRageFistDescription[] = _( + "The more the user has been hit,\n" + "the stronger the move."); + +static const u8 sArmorCannonDescription[] = _( + "A strong attack but lowers\n" + "the defensive stats."); + +static const u8 sBitterBladeDescription[] = _( + "An attack that absorbs\n" + "half the damage inflicted."); + +static const u8 sDoubleShockDescription[] = _( + "Discharges all electricity,\n" + "losing the Electric type."); + +static const u8 sGigatonHammerDescription[] = _( + "Swings a huge hammer. Can't\n" + "be used twice in a row."); + +static const u8 sComeuppanceDescription[] = _( + "Retaliates strongly against\n" + "who last hurt the user."); + +static const u8 sAquaCutterDescription[] = _( + "Pressurized water cut with a\n" + "high critical-hit ratio."); + +static const u8 sBlazingTorqueDescription[] = _( + "---"); + +static const u8 sWickedTorqueDescription[] = _( + "---"); + +static const u8 sNoxiousTorqueDescription[] = _( + "---"); + +static const u8 sCombatTorqueDescription[] = _( + "---"); + +static const u8 sMagicalTorqueDescription[] = _( + "---"); + const u8 gNotDoneYetDescription[] = _( "This move can't be used. Its\n" "effect is in development."); @@ -3838,4 +4063,52 @@ const u8 *const gMoveDescriptionPointers[MOVES_COUNT - 1] = [MOVE_SANDSEAR_STORM - 1] = sSandsearStormDescription, [MOVE_LUNAR_BLESSING - 1] = sLunarBlessingDescription, [MOVE_TAKE_HEART - 1] = sTakeHeartDescription, + [MOVE_TERA_BLAST - 1] = sTeraBlastDescription, + [MOVE_SILK_TRAP - 1] = sSilkTrapDescription, + [MOVE_AXE_KICK - 1] = sAxeKickDescription, + [MOVE_LAST_RESPECTS - 1] = sLastRespectsDescription, + [MOVE_LUMINA_CRASH - 1] = sLuminaCrashDescription, + [MOVE_ORDER_UP - 1] = sOrderUpDescription, + [MOVE_JET_PUNCH - 1] = sJetPunchDescription, + [MOVE_SPICY_EXTRACT - 1] = sSpicyExtractDescription, + [MOVE_SPIN_OUT - 1] = sSpinOutDescription, + [MOVE_POPULATION_BOMB - 1] = sPopulationBombDescription, + [MOVE_ICE_SPINNER - 1] = sIceSpinnerDescription, + [MOVE_GLAIVE_RUSH - 1] = sGlaiveRushDescription, + [MOVE_REVIVAL_BLESSING - 1] = sRevivalBlessingDescription, + [MOVE_SALT_CURE - 1] = sSaltCureDescription, + [MOVE_TRIPLE_DIVE - 1] = sTripleDiveDescription, + [MOVE_MORTAL_SPIN - 1] = sMortalSpinDescription, + [MOVE_DOODLE - 1] = sDoodleDescription, + [MOVE_FILLET_AWAY - 1] = sFilletAwayDescription, + [MOVE_KOWTOW_CLEAVE - 1] = sKowtowCleaveDescription, + [MOVE_FLOWER_TRICK - 1] = sFlowerTrickDescription, + [MOVE_TORCH_SONG - 1] = sTorchSongDescription, + [MOVE_AQUA_STEP - 1] = sAquaStepDescription, + [MOVE_RAGING_BULL - 1] = sRagingBullDescription, + [MOVE_MAKE_IT_RAIN - 1] = sMakeItRainDescription, + [MOVE_RUINATION - 1] = sRuinationDescription, + [MOVE_COLLISION_COURSE - 1] = sCollisionCourseDescription, + [MOVE_ELECTRO_DRIFT - 1] = sElectroDriftDescription, + [MOVE_SHED_TAIL - 1] = sShedTailDescription, + [MOVE_CHILLY_RECEPTION - 1] = sChillyReceptionDescription, + [MOVE_TIDY_UP - 1] = sTidyUpDescription, + [MOVE_SNOWSCAPE - 1] = sSnowscapeDescription, + [MOVE_POUNCE - 1] = sPounceDescription, + [MOVE_TRAILBLAZE - 1] = sTrailblazeDescription, + [MOVE_CHILLING_WATER - 1] = sChillingWaterDescription, + [MOVE_HYPER_DRILL - 1] = sHyperDrillDescription, + [MOVE_TWIN_BEAM - 1] = sTwinBeamDescription, + [MOVE_RAGE_FIST - 1] = sRageFistDescription, + [MOVE_ARMOR_CANNON - 1] = sArmorCannonDescription, + [MOVE_BITTER_BLADE - 1] = sBitterBladeDescription, + [MOVE_DOUBLE_SHOCK - 1] = sDoubleShockDescription, + [MOVE_GIGATON_HAMMER - 1] = sGigatonHammerDescription, + [MOVE_COMEUPPANCE - 1] = sComeuppanceDescription, + [MOVE_AQUA_CUTTER - 1] = sAquaCutterDescription, + [MOVE_BLAZING_TORQUE - 1] = sBlazingTorqueDescription, + [MOVE_WICKED_TORQUE - 1] = sWickedTorqueDescription, + [MOVE_NOXIOUS_TORQUE - 1] = sNoxiousTorqueDescription, + [MOVE_COMBAT_TORQUE - 1] = sCombatTorqueDescription, + [MOVE_MAGICAL_TORQUE - 1] = sMagicalTorqueDescription, }; diff --git a/src/data/text/move_names.h b/src/data/text/move_names.h index 5f0a741cb..221d3db73 100644 --- a/src/data/text/move_names.h +++ b/src/data/text/move_names.h @@ -781,6 +781,54 @@ const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] = [MOVE_SANDSEAR_STORM] = _("Sandsear Storm"), [MOVE_LUNAR_BLESSING] = _("Lunar Blessing"), [MOVE_TAKE_HEART] = _("Take Heart"), + [MOVE_TERA_BLAST] = _("Tera Blast"), + [MOVE_SILK_TRAP] = _("Silk Trap"), + [MOVE_AXE_KICK] = _("Axe Kick"), + [MOVE_LAST_RESPECTS] = _("Last Respects"), + [MOVE_LUMINA_CRASH] = _("Lumina Crash"), + [MOVE_ORDER_UP] = _("Order Up"), + [MOVE_JET_PUNCH] = _("Jet Punch"), + [MOVE_SPICY_EXTRACT] = _("Spicy Extract"), + [MOVE_SPIN_OUT] = _("Spin Out"), + [MOVE_POPULATION_BOMB] = _("Population Bomb"), + [MOVE_ICE_SPINNER] = _("Ice Spinner"), + [MOVE_GLAIVE_RUSH] = _("Glaive Rush"), + [MOVE_REVIVAL_BLESSING] = _("Revival Blessing"), + [MOVE_SALT_CURE] = _("Salt Cure"), + [MOVE_TRIPLE_DIVE] = _("Triple Dive"), + [MOVE_MORTAL_SPIN] = _("Mortal Spin"), + [MOVE_DOODLE] = _("Doodle"), + [MOVE_FILLET_AWAY] = _("Fillet Away"), + [MOVE_KOWTOW_CLEAVE] = _("Kowtow Cleave"), + [MOVE_FLOWER_TRICK] = _("Flower Trick"), + [MOVE_TORCH_SONG] = _("Torch Song"), + [MOVE_AQUA_STEP] = _("Aqua Step"), + [MOVE_RAGING_BULL] = _("Raging Bull"), + [MOVE_MAKE_IT_RAIN] = _("Make It Rain"), + [MOVE_RUINATION] = _("Ruination"), + [MOVE_COLLISION_COURSE] = _("Collision Course"), + [MOVE_ELECTRO_DRIFT] = _("Electro Drift"), + [MOVE_SHED_TAIL] = _("Shed Tail"), + [MOVE_CHILLY_RECEPTION] = _("Chilly Reception"), + [MOVE_TIDY_UP] = _("Tidy Up"), + [MOVE_SNOWSCAPE] = _("Snowscape"), + [MOVE_POUNCE] = _("Pounce"), + [MOVE_TRAILBLAZE] = _("Trailblaze"), + [MOVE_CHILLING_WATER] = _("Chilling Water"), + [MOVE_HYPER_DRILL] = _("Hyper Drill"), + [MOVE_TWIN_BEAM] = _("Twin Beam"), + [MOVE_RAGE_FIST] = _("Rage Fist"), + [MOVE_ARMOR_CANNON] = _("Armor Cannon"), + [MOVE_BITTER_BLADE] = _("Bitter Blade"), + [MOVE_DOUBLE_SHOCK] = _("Double Shock"), + [MOVE_GIGATON_HAMMER] = _("Gigaton Hammer"), + [MOVE_COMEUPPANCE] = _("Comeuppance"), + [MOVE_AQUA_CUTTER] = _("Aqua Cutter"), + [MOVE_BLAZING_TORQUE] = _("Blazing Torque"), + [MOVE_WICKED_TORQUE] = _("Wicked Torque"), + [MOVE_NOXIOUS_TORQUE] = _("Noxious Torque"), + [MOVE_COMBAT_TORQUE] = _("Combat Torque"), + [MOVE_MAGICAL_TORQUE] = _("Magical Torque"), }; #else // 12 letters @@ -1565,6 +1613,54 @@ const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1] = [MOVE_SANDSEAR_STORM] = _("SndsearStorm"), [MOVE_LUNAR_BLESSING] = _("LunarBlessng"), [MOVE_TAKE_HEART] = _("Take Heart"), + [MOVE_TERA_BLAST] = _("Tera Blast"), + [MOVE_SILK_TRAP] = _("Silk Trap"), + [MOVE_AXE_KICK] = _("Axe Kick"), + [MOVE_LAST_RESPECTS] = _("LastRespects"), + [MOVE_LUMINA_CRASH] = _("Lumina Crash"), + [MOVE_ORDER_UP] = _("Order Up"), + [MOVE_JET_PUNCH] = _("Jet Punch"), + [MOVE_SPICY_EXTRACT] = _("SpicyExtract"), + [MOVE_SPIN_OUT] = _("Spin Out"), + [MOVE_POPULATION_BOMB] = _("PoplatinBomb"), + [MOVE_ICE_SPINNER] = _("Ice Spinner"), + [MOVE_GLAIVE_RUSH] = _("Glaive Rush"), + [MOVE_REVIVAL_BLESSING] = _("RevivlBlesng"), + [MOVE_SALT_CURE] = _("Salt Cure"), + [MOVE_TRIPLE_DIVE] = _("Triple Dive"), + [MOVE_MORTAL_SPIN] = _("Mortal Spin"), + [MOVE_DOODLE] = _("Doodle"), + [MOVE_FILLET_AWAY] = _("Fillet Away"), + [MOVE_KOWTOW_CLEAVE] = _("KowtowCleave"), + [MOVE_FLOWER_TRICK] = _("Flower Trick"), + [MOVE_TORCH_SONG] = _("Torch Song"), + [MOVE_AQUA_STEP] = _("Aqua Step"), + [MOVE_RAGING_BULL] = _("Raging Bull"), + [MOVE_MAKE_IT_RAIN] = _("Make It Rain"), + [MOVE_RUINATION] = _("Ruination"), + [MOVE_COLLISION_COURSE] = _("ColisinCours"), + [MOVE_ELECTRO_DRIFT] = _("ElectroDrift"), + [MOVE_SHED_TAIL] = _("Shed Tail"), + [MOVE_CHILLY_RECEPTION] = _("ChilReceptin"), + [MOVE_TIDY_UP] = _("Tidy Up"), + [MOVE_SNOWSCAPE] = _("Snowscape"), + [MOVE_POUNCE] = _("Pounce"), + [MOVE_TRAILBLAZE] = _("Trailblaze"), + [MOVE_CHILLING_WATER] = _("ChillingWatr"), + [MOVE_HYPER_DRILL] = _("Hyper Drill"), + [MOVE_TWIN_BEAM] = _("Twin Beam"), + [MOVE_RAGE_FIST] = _("Rage Fist"), + [MOVE_ARMOR_CANNON] = _("Armor Cannon"), + [MOVE_BITTER_BLADE] = _("Bitter Blade"), + [MOVE_DOUBLE_SHOCK] = _("Double Shock"), + [MOVE_GIGATON_HAMMER] = _("GigatonHammr"), + [MOVE_COMEUPPANCE] = _("Comeuppance"), + [MOVE_AQUA_CUTTER] = _("Aqua Cutter"), + [MOVE_BLAZING_TORQUE] = _("BlazngTorque"), + [MOVE_WICKED_TORQUE] = _("WickedTorque"), + [MOVE_NOXIOUS_TORQUE] = _("NoxiusTorque"), + [MOVE_COMBAT_TORQUE] = _("CombatTorque"), + [MOVE_MAGICAL_TORQUE] = _("MagiclTorque"), }; #endif From e2791851521a3a7a8d3c920c94750cc1ae31d0bf Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Fri, 18 Nov 2022 12:22:15 +0100 Subject: [PATCH 020/130] Update move data to GEN9 (with config) --- src/data/battle_moves.h | 139 ++++++++++++++++++++++++++++++++-------- 1 file changed, 114 insertions(+), 25 deletions(-) diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 41d772598..93927c77e 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -1868,7 +1868,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_RECOVER] = { - #if B_UPDATED_MOVE_DATA >= GEN_4 + #if B_UPDATED_MOVE_DATA >= GEN_9 + .pp = 5, + #elif B_UPDATED_MOVE_DATA >= GEN_4 .pp = 10, #else .pp = 20, @@ -2401,11 +2403,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_SOFT_BOILED] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .pp = 5, + #else + .pp = 10, + #endif .effect = EFFECT_SOFTBOILED, .power = 0, .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, @@ -2798,11 +2804,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_REST] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .pp = 5, + #else + .pp = 10, + #endif .effect = EFFECT_REST, .power = 0, .type = TYPE_PSYCHIC, .accuracy = 0, - .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, @@ -3759,11 +3769,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_MILK_DRINK] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .pp = 5, + #else + .pp = 10, + #endif .effect = EFFECT_SOFTBOILED, .power = 0, .type = TYPE_NORMAL, .accuracy = 0, - .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, @@ -5452,11 +5466,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_SLACK_OFF] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .pp = 5, + #else + .pp = 10, + #endif .effect = EFFECT_RESTORE_HP, .power = 0, .type = TYPE_NORMAL, .accuracy = 100, - .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, @@ -6403,11 +6421,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_ROOST] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .pp = 5, + #else + .pp = 10, + #endif .effect = EFFECT_ROOST, .power = 0, .type = TYPE_FLYING, .accuracy = 0, - .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, @@ -11013,11 +11035,15 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_SHORE_UP] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .pp = 5, + #else + .pp = 10, + #endif .effect = EFFECT_SHORE_UP, .power = 0, .type = TYPE_GROUND, .accuracy = 0, - .pp = 10, .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, @@ -12853,8 +12879,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_GRASSY_GLIDE] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 60, + #else + .power = 70, + #endif .effect = EFFECT_GRASSY_GLIDE, - .power = 70, .type = TYPE_GRASS, .accuracy = 100, .pp = 20, @@ -13076,8 +13106,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_WICKED_BLOW] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 75, + #else + .power = 80, + #endif .effect = EFFECT_ALWAYS_CRIT, - .power = 80, .type = TYPE_DARK, .accuracy = 100, .pp = 5, @@ -13188,8 +13222,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_GLACIAL_LANCE] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 120, + #else + .power = 130, + #endif .effect = EFFECT_HIT, - .power = 130, .type = TYPE_ICE, .accuracy = 100, .pp = 5, @@ -13236,8 +13274,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_DIRE_CLAW] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 80, + #else + .power = 60, + #endif .effect = EFFECT_PLACEHOLDER, // EFFECT_DIRE_CLAW, - .power = 60, .type = TYPE_POISON, .accuracy = 100, .pp = 15, @@ -13300,8 +13342,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_SPRINGTIDE_STORM] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 100, + #else + .power = 95, + #endif .effect = EFFECT_PLACEHOLDER, // EFFECT_SPRINGTIDE_STORM, - .power = 95, .type = TYPE_FAIRY, .accuracy = 80, .pp = 5, @@ -13332,8 +13378,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_RAGING_FURY] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 120, + #else + .power = 90, + #endif .effect = EFFECT_PLACEHOLDER, // EFFECT_RAGING_FURY, - .power = 90, .type = TYPE_FIRE, .accuracy = 85, .pp = 10, @@ -13348,8 +13398,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_WAVE_CRASH] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 120, + #else + .power = 75, + #endif .effect = EFFECT_RECOIL_33, // TODO: Legends: Arceus mechanics. - .power = 75, .type = TYPE_WATER, .accuracy = 100, .pp = 10, @@ -13364,8 +13418,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_CHLOROBLAST] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 150, + #else + .power = 120, + #endif .effect = EFFECT_PLACEHOLDER, // EFFECT_CHLOROBLAST, - .power = 120, .type = TYPE_GRASS, .accuracy = 95, .pp = 5, @@ -13412,8 +13470,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_HEADLONG_RUSH] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 120, + #else + .power = 100, + #endif .effect = EFFECT_PLACEHOLDER, // EFFECT_HEADLONG_RUSH, - .power = 100, .type = TYPE_GROUND, .accuracy = 100, .pp = 5, @@ -13444,8 +13506,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_ESPER_WING] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 80, + #else + .power = 75, + #endif .effect = EFFECT_PLACEHOLDER, // EFFECT_ESPER_WING, - .power = 75, .type = TYPE_PSYCHIC, .accuracy = 90, .pp = 10, @@ -13460,8 +13526,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_BITTER_MALICE] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 75, + #else + .power = 60, + #endif .effect = EFFECT_PLACEHOLDER, // EFFECT_ESPER_WING, - .power = 60, .type = TYPE_GHOST, .accuracy = 100, .pp = 15, @@ -13492,8 +13562,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_TRIPLE_ARROWS] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 90, + #else + .power = 50, + #endif .effect = EFFECT_PLACEHOLDER, // EFFECT_TRIPLE_ARROWS, - .power = 50, .type = TYPE_FIGHTING, .accuracy = 100, .pp = 15, @@ -13540,11 +13614,16 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_BLEAKWIND_STORM] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 100, + .pp = 10, + #else + .power = 95, + .pp = 5, + #endif .effect = EFFECT_PLACEHOLDER, // EFFECT_BLEAKWIND_STORM, - .power = 95, .type = TYPE_FLYING, .accuracy = 80, - .pp = 5, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, @@ -13556,11 +13635,16 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_WILDBOLT_STORM] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 100, + .pp = 10, + #else + .power = 95, + .pp = 5, + #endif .effect = EFFECT_PLACEHOLDER, // EFFECT_WILDBOLT_STORM, - .power = 95, .type = TYPE_ELECTRIC, .accuracy = 80, - .pp = 5, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, @@ -13572,11 +13656,16 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_SANDSEAR_STORM] = { + #if B_UPDATED_MOVE_DATA >= GEN_9 + .power = 100, + .pp = 10, + #else + .power = 95, + .pp = 5, + #endif .effect = EFFECT_PLACEHOLDER, // EFFECT_SANDSEAR_STORM, - .power = 95, .type = TYPE_GROUND, .accuracy = 80, - .pp = 5, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, From ed33f2b9ce497d9b1ff59f29f7f11a5cdfb86da4 Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Fri, 18 Nov 2022 20:56:25 +0100 Subject: [PATCH 021/130] Change PLA moves to SV effects --- src/data/battle_moves.h | 56 ++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 93927c77e..c2f021ce7 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -13294,12 +13294,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_PSYSHIELD_BASH] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_PSYSHIELD_BASH, + .effect = EFFECT_DEFENSE_UP_HIT, .power = 70, .type = TYPE_PSYCHIC, - .accuracy = 90, + .accuracy = 100, .pp = 10, - .secondaryEffectChance = 50, // TODO: Adjust this value. Currently it's set to Fiery Dance's. + .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, @@ -13347,7 +13347,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = #else .power = 95, #endif - .effect = EFFECT_PLACEHOLDER, // EFFECT_SPRINGTIDE_STORM, + .effect = EFFECT_ATTACK_DOWN_HIT, .type = TYPE_FAIRY, .accuracy = 80, .pp = 5, @@ -13362,7 +13362,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_MYSTICAL_POWER] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_MYSTICAL_POWER, + .effect = EFFECT_PLACEHOLDER, // EFFECT_SPECIAL_ATTACK_UP_HIT .power = 70, .type = TYPE_PSYCHIC, .accuracy = 90, @@ -13383,12 +13383,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = #else .power = 90, #endif - .effect = EFFECT_PLACEHOLDER, // EFFECT_RAGING_FURY, + .effect = EFFECT_RAMPAGE, .type = TYPE_FIRE, - .accuracy = 85, + .accuracy = 100, .pp = 10, - .secondaryEffectChance = 100, - .target = MOVE_TARGET_SELECTED, + .secondaryEffectChance = 0, + .target = MOVE_TARGET_RANDOM, .priority = 0, .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, @@ -13403,7 +13403,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = #else .power = 75, #endif - .effect = EFFECT_RECOIL_33, // TODO: Legends: Arceus mechanics. + .effect = EFFECT_RECOIL_33, .type = TYPE_WATER, .accuracy = 100, .pp = 10, @@ -13423,11 +13423,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = #else .power = 120, #endif - .effect = EFFECT_PLACEHOLDER, // EFFECT_CHLOROBLAST, + .effect = EFFECT_RECOIL_50, .type = TYPE_GRASS, .accuracy = 95, .pp = 5, - .secondaryEffectChance = 100, + .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, @@ -13438,12 +13438,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_MOUNTAIN_GALE] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_ACTION_SPEED_DOWN_HIT, + .effect = EFFECT_FLINCH_HIT, .power = 100, .type = TYPE_ICE, .accuracy = 85, .pp = 5, - .secondaryEffectChance = 100, + .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, @@ -13475,14 +13475,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = #else .power = 100, #endif - .effect = EFFECT_PLACEHOLDER, // EFFECT_HEADLONG_RUSH, + .effect = EFFECT_CLOSE_COMBAT, .type = TYPE_GROUND, .accuracy = 100, .pp = 5, - .secondaryEffectChance = 100, + .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_IRON_FIST_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 180, .zMoveEffect = Z_EFFECT_NONE, @@ -13511,14 +13511,14 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = #else .power = 75, #endif - .effect = EFFECT_PLACEHOLDER, // EFFECT_ESPER_WING, + .effect = EFFECT_SPEED_UP_HIT, .type = TYPE_PSYCHIC, .accuracy = 90, .pp = 10, - .secondaryEffectChance = 0, + .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, .split = SPLIT_SPECIAL, .zMovePower = 140, .zMoveEffect = Z_EFFECT_NONE, @@ -13531,7 +13531,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = #else .power = 60, #endif - .effect = EFFECT_PLACEHOLDER, // EFFECT_ESPER_WING, + .effect = EFFECT_PLACEHOLDER, // EFFECT_ATTACKER_ATTACK_DOWN_HIT .type = TYPE_GHOST, .accuracy = 100, .pp = 15, @@ -13546,7 +13546,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_SHELTER] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_SHELTER, + .effect = EFFECT_DEFENSE_UP_2, .power = 0, .type = TYPE_STEEL, .accuracy = 0, @@ -13621,10 +13621,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .power = 95, .pp = 5, #endif - .effect = EFFECT_PLACEHOLDER, // EFFECT_BLEAKWIND_STORM, + .effect = EFFECT_SPEED_DOWN_HIT, .type = TYPE_FLYING, .accuracy = 80, - .secondaryEffectChance = 0, + .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, @@ -13642,10 +13642,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .power = 95, .pp = 5, #endif - .effect = EFFECT_PLACEHOLDER, // EFFECT_WILDBOLT_STORM, + .effect = EFFECT_PARALYZE_HIT, .type = TYPE_ELECTRIC, .accuracy = 80, - .secondaryEffectChance = 0, + .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, @@ -13663,10 +13663,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .power = 95, .pp = 5, #endif - .effect = EFFECT_PLACEHOLDER, // EFFECT_SANDSEAR_STORM, + .effect = EFFECT_BURN_HIT, .type = TYPE_GROUND, .accuracy = 80, - .secondaryEffectChance = 0, + .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, From d4c92a0a190df263eef1cb037917877fdd01ae33 Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Fri, 18 Nov 2022 21:54:46 +0100 Subject: [PATCH 022/130] Fix Bitter Malice's effect --- src/data/battle_moves.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index c2f021ce7..694465e97 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -13531,11 +13531,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = #else .power = 60, #endif - .effect = EFFECT_PLACEHOLDER, // EFFECT_ATTACKER_ATTACK_DOWN_HIT + .effect = EFFECT_ATTACK_DOWN_HIT, .type = TYPE_GHOST, .accuracy = 100, .pp = 15, - .secondaryEffectChance = 0, + .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, From 3ac3cb249e17ef68e56c8370af8160a525bb6cc5 Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Fri, 18 Nov 2022 22:00:21 +0100 Subject: [PATCH 023/130] Wicked Torque effect --- data/battle_scripts_1.s | 5 +++++ include/constants/battle_move_effects.h | 3 ++- src/battle_tv.c | 3 ++- src/data/battle_moves.h | 4 ++-- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 63719e2b6..4f8447987 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -412,6 +412,7 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectExtremeEvoboost @ EFFECT_EXTREME_EVOBOOST .4byte BattleScript_EffectTerrainHit @ EFFECT_DAMAGE_SET_TERRAIN .4byte BattleScript_EffectDarkVoid @ EFFECT_DARK_VOID + .4byte BattleScript_EffectSleepHit @ EFFECT_SLEEP_HIT BattleScript_AffectionBasedEndurance:: playanimation BS_TARGET, B_ANIM_AFFECTION_HANGED_ON @@ -3201,6 +3202,10 @@ BattleScript_EffectBurnHit:: setmoveeffect MOVE_EFFECT_BURN goto BattleScript_EffectHit +BattleScript_EffectSleepHit:: + setmoveeffect MOVE_EFFECT_SLEEP + goto BattleScript_EffectHit + BattleScript_EffectFreezeHit:: setmoveeffect MOVE_EFFECT_FREEZE goto BattleScript_EffectHit diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index d38e7108d..2292dfa1f 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -393,7 +393,8 @@ #define EFFECT_EXTREME_EVOBOOST 387 #define EFFECT_DAMAGE_SET_TERRAIN 388 // genesis supernova #define EFFECT_DARK_VOID 389 +#define EFFECT_SLEEP_HIT 390 -#define NUM_BATTLE_MOVE_EFFECTS 389 +#define NUM_BATTLE_MOVE_EFFECTS 391 #endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H diff --git a/src/battle_tv.c b/src/battle_tv.c index 646c3563f..db51c3f4e 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -299,7 +299,8 @@ static const u16 sPoints_MoveEffect[NUM_BATTLE_MOVE_EFFECTS] = [EFFECT_WATER_SPORT] = 4, [EFFECT_CALM_MIND] = 1, [EFFECT_DRAGON_DANCE] = 1, - [EFFECT_CAMOUFLAGE] = 3 + [EFFECT_CAMOUFLAGE] = 3, + [EFFECT_SLEEP_HIT] = 1, }; static const u16 sPoints_Effectiveness[] = diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 694465e97..3ae20e102 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -14435,12 +14435,12 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_WICKED_TORQUE] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_SLEEP_HIT + .effect = EFFECT_SLEEP_HIT, .power = 80, .type = TYPE_DARK, .accuracy = 100, .pp = 10, - .secondaryEffectChance = 10, + .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED, From a250341e6c7b704c837182ae9ee70b18c45ee59c Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Fri, 18 Nov 2022 22:00:46 +0100 Subject: [PATCH 024/130] Forgot to reset Wicked Torque effect rate --- src/data/battle_moves.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 3ae20e102..44aa3227e 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -14440,7 +14440,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .type = TYPE_DARK, .accuracy = 100, .pp = 10, - .secondaryEffectChance = 100, + .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, .flags = FLAG_PROTECT_AFFECTED, From 9512b3a57a3a426fbf136e6268a901e77aecf697 Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Fri, 18 Nov 2022 22:12:26 +0100 Subject: [PATCH 025/130] Implement Double Shock functionality with temporary string --- data/battle_scripts_1.s | 18 ++++++++++++++++++ include/battle_scripts.h | 1 + include/constants/battle.h | 3 ++- include/constants/battle_move_effects.h | 3 ++- include/constants/battle_string_ids.h | 3 ++- src/battle_ai_main.c | 4 ++++ src/battle_message.c | 3 ++- src/battle_script_commands.c | 6 ++++++ src/data/battle_moves.h | 2 +- 9 files changed, 38 insertions(+), 5 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 4f8447987..9b7e3a070 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -413,6 +413,7 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectTerrainHit @ EFFECT_DAMAGE_SET_TERRAIN .4byte BattleScript_EffectDarkVoid @ EFFECT_DARK_VOID .4byte BattleScript_EffectSleepHit @ EFFECT_SLEEP_HIT + .4byte BattleScript_EffectDoubleShock @ EFFECT_DOUBLE_SHOCK BattleScript_AffectionBasedEndurance:: playanimation BS_TARGET, B_ANIM_AFFECTION_HANGED_ON @@ -1281,6 +1282,23 @@ BattleScript_BurnUpRemoveType:: printstring STRINGID_ATTACKERLOSTFIRETYPE waitmessage B_WAIT_TIME_LONG return + +BattleScript_EffectDoubleShock: + attackcanceler + attackstring + ppreduce + jumpiftype BS_ATTACKER, TYPE_ELECTRIC, BattleScript_DoubleShockWorks + goto BattleScript_ButItFailed + +BattleScript_DoubleShockWorks: + setmoveeffect MOVE_EFFECT_DOUBLE_SHOCK | MOVE_EFFECT_CERTAIN + goto BattleScript_EffectHit + +BattleScript_DoubleShockRemoveType:: + losetype BS_ATTACKER, TYPE_ELECTRIC + printstring STRINGID_ATTACKERLOSTELECTRICTYPE + waitmessage B_WAIT_TIME_LONG + return BattleScript_EffectPurify: attackcanceler diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 23f18e3be..16ac7a8c8 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -433,6 +433,7 @@ extern const u8 BattleScript_SymbiosisActivates[]; extern const u8 BattleScript_MultiHitPrintStrings[]; extern const u8 BattleScript_BurnUpRemoveType[]; extern const u8 BattleScript_TargetAbilityStatRaiseRet[]; +extern const u8 BattleScript_DoubleShockRemoveType[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/include/constants/battle.h b/include/constants/battle.h index 366471e47..d6e21d0ae 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -369,8 +369,9 @@ #define MOVE_EFFECT_RECOIL_HP_25 0x44 #define MOVE_EFFECT_RELIC_SONG 0x45 #define MOVE_EFFECT_TRAP_BOTH 0x46 +#define MOVE_EFFECT_DOUBLE_SHOCK 0x47 -#define NUM_MOVE_EFFECTS 0x47 +#define NUM_MOVE_EFFECTS 0x48 #define MOVE_EFFECT_AFFECTS_USER 0x4000 #define MOVE_EFFECT_CERTAIN 0x8000 diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index 2292dfa1f..a2a633fb8 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -394,7 +394,8 @@ #define EFFECT_DAMAGE_SET_TERRAIN 388 // genesis supernova #define EFFECT_DARK_VOID 389 #define EFFECT_SLEEP_HIT 390 +#define EFFECT_DOUBLE_SHOCK 391 -#define NUM_BATTLE_MOVE_EFFECTS 391 +#define NUM_BATTLE_MOVE_EFFECTS 392 #endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h index 4bce51a45..e1bcf983a 100644 --- a/include/constants/battle_string_ids.h +++ b/include/constants/battle_string_ids.h @@ -630,8 +630,9 @@ #define STRINGID_ATTACKERHEALEDITSBURN 628 #define STRINGID_ATTACKERMELTEDTHEICE 629 #define STRINGID_TARGETTOUGHEDITOUT 630 +#define STRINGID_ATTACKERLOSTELECTRICTYPE 631 -#define BATTLESTRINGS_COUNT 631 +#define BATTLESTRINGS_COUNT 632 // 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_ai_main.c b/src/battle_ai_main.c index 9604f1195..e141a45bf 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -2007,6 +2007,10 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) if (!IS_BATTLER_OF_TYPE(battlerAtk, TYPE_FIRE)) score -= 10; break; + case EFFECT_DOUBLE_SHOCK: + if (!IS_BATTLER_OF_TYPE(battlerAtk, TYPE_ELECTRIC)) + score -= 10; + break; case EFFECT_DEFOG: if (gSideStatuses[GetBattlerSide(battlerDef)] & (SIDE_STATUS_REFLECT | SIDE_STATUS_LIGHTSCREEN | SIDE_STATUS_AURORA_VEIL | SIDE_STATUS_SAFEGUARD | SIDE_STATUS_MIST) diff --git a/src/battle_message.c b/src/battle_message.c index 9503fbaaf..07598d95a 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -759,7 +759,7 @@ static const u8 sText_AttackerBrokeThroughParalysis[] = _("{B_ATK_NAME_WITH_PREF static const u8 sText_AttackerHealedItsBurn[] = _("{B_ATK_NAME_WITH_PREFIX} healed its burn with\nits sheer determination!"); static const u8 sText_AttackerMeltedTheIce[] = _("{B_ATK_NAME_WITH_PREFIX} melted the ice with\nits fiery determination!"); static const u8 sText_TargetToughedItOut[] = _("{B_DEF_NAME_WITH_PREFIX} toughed it out\nto show you its best side!"); - +static const u8 sText_AttackerLostElectricType[] = _("{B_ATK_NAME_WITH_PREFIX} discharged itself out!"); // Unofficial text until the string from the main games is known const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = { @@ -1381,6 +1381,7 @@ const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = [STRINGID_CANTESCAPEBECAUSEOFCURRENTMOVE - BATTLESTRINGS_TABLE_START] = sText_CantEscapeBecauseOfCurrentMove, [STRINGID_PKMNTOOKTARGETHIGH - BATTLESTRINGS_TABLE_START] = sText_PkmnTookTargetHigh, [STRINGID_TARGETTOOHEAVY - BATTLESTRINGS_TABLE_START] = sText_TargetTooHeavy, + [STRINGID_ATTACKERLOSTELECTRICTYPE - BATTLESTRINGS_TABLE_START] = sText_AttackerLostElectricType, }; const u16 gZEffectStringIds[] = diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 3e52aa618..013faa8dd 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1131,6 +1131,7 @@ static const u16 sFinalStrikeOnlyEffects[] = EFFECT_BUG_BITE, EFFECT_THIEF, EFFECT_BURN_UP, + EFFECT_DOUBLE_SHOCK, EFFECT_SECRET_POWER, EFFECT_SMACK_DOWN, EFFECT_SPARKLING_ARIA, @@ -3647,6 +3648,11 @@ void SetMoveEffect(bool32 primary, u32 certain) BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_BurnUpRemoveType; break; + case MOVE_EFFECT_DOUBLE_SHOCK: + // This seems unnecessary but is done to make it work properly with Parental Bond + BattleScriptPush(gBattlescriptCurrInstr + 1); + gBattlescriptCurrInstr = BattleScript_DoubleShockRemoveType; + break; } } } diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 44aa3227e..c7f1064cc 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -14355,7 +14355,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_DOUBLE_SHOCK] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_DOUBLE_SHOCK + .effect = EFFECT_DOUBLE_SHOCK, .power = 120, .type = TYPE_ELECTRIC, .accuracy = 100, From 29ae22183bda084c2a9d3af85c04aefb58562e26 Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Fri, 18 Nov 2022 22:17:08 +0100 Subject: [PATCH 026/130] Mystical Power effect --- data/battle_scripts_1.s | 5 +++++ include/constants/battle_move_effects.h | 3 ++- src/battle_ai_main.c | 4 ++++ src/battle_tv.c | 1 + src/data/battle_moves.h | 2 +- 5 files changed, 13 insertions(+), 2 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 9b7e3a070..31251d62f 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -414,6 +414,7 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectDarkVoid @ EFFECT_DARK_VOID .4byte BattleScript_EffectSleepHit @ EFFECT_SLEEP_HIT .4byte BattleScript_EffectDoubleShock @ EFFECT_DOUBLE_SHOCK + .4byte BattleScript_EffectSpecialAttackUpHit @ EFFECT_SPECIAL_ATTACK_UP_HIT BattleScript_AffectionBasedEndurance:: playanimation BS_TARGET, B_ANIM_AFFECTION_HANGED_ON @@ -4993,6 +4994,10 @@ BattleScript_EffectAttackUpHit:: setmoveeffect MOVE_EFFECT_ATK_PLUS_1 | MOVE_EFFECT_AFFECTS_USER goto BattleScript_EffectHit +BattleScript_EffectSpecialAttackUpHit:: + setmoveeffect MOVE_EFFECT_SP_ATK_PLUS_1 | MOVE_EFFECT_AFFECTS_USER + goto BattleScript_EffectHit + BattleScript_EffectAllStatsUpHit:: setmoveeffect MOVE_EFFECT_ALL_STATS_UP | MOVE_EFFECT_AFFECTS_USER goto BattleScript_EffectHit diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index a2a633fb8..f6f109122 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -395,7 +395,8 @@ #define EFFECT_DARK_VOID 389 #define EFFECT_SLEEP_HIT 390 #define EFFECT_DOUBLE_SHOCK 391 +#define EFFECT_SPECIAL_ATTACK_UP_HIT 392 -#define NUM_BATTLE_MOVE_EFFECTS 392 +#define NUM_BATTLE_MOVE_EFFECTS 393 #endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index e141a45bf..16a40de3d 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -3942,6 +3942,10 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) if (sereneGraceBoost) IncreaseStatUpScore(battlerAtk, battlerDef, STAT_ATK, &score); break; + case EFFECT_SPECIAL_ATTACK_UP_HIT: + if (sereneGraceBoost) + IncreaseStatUpScore(battlerAtk, battlerDef, STAT_SPATK, &score); + break; case EFFECT_FELL_STINGER: if (gBattleMons[battlerAtk].statStages[STAT_ATK] < MAX_STAT_STAGE && AI_DATA->abilities[battlerAtk] != ABILITY_CONTRARY diff --git a/src/battle_tv.c b/src/battle_tv.c index db51c3f4e..5a2a96e86 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -301,6 +301,7 @@ static const u16 sPoints_MoveEffect[NUM_BATTLE_MOVE_EFFECTS] = [EFFECT_DRAGON_DANCE] = 1, [EFFECT_CAMOUFLAGE] = 3, [EFFECT_SLEEP_HIT] = 1, + [EFFECT_SPECIAL_ATTACK_UP_HIT] = 1, }; static const u16 sPoints_Effectiveness[] = diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index c7f1064cc..116c49294 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -13362,7 +13362,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_MYSTICAL_POWER] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_SPECIAL_ATTACK_UP_HIT + .effect = EFFECT_SPECIAL_ATTACK_UP_HIT, .power = 70, .type = TYPE_PSYCHIC, .accuracy = 90, From 739680e4251737b53dd737c1c5cd782ebec63518 Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Fri, 18 Nov 2022 22:23:34 +0100 Subject: [PATCH 027/130] Victory Dance effect --- data/battle_scripts_1.s | 33 +++++++++++++++++++++++++ include/constants/battle_move_effects.h | 3 ++- src/battle_ai_main.c | 14 +++++++++++ src/battle_ai_util.c | 1 + src/data/battle_moves.h | 2 +- 5 files changed, 51 insertions(+), 2 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 31251d62f..018f94eb5 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -415,6 +415,7 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectSleepHit @ EFFECT_SLEEP_HIT .4byte BattleScript_EffectDoubleShock @ EFFECT_DOUBLE_SHOCK .4byte BattleScript_EffectSpecialAttackUpHit @ EFFECT_SPECIAL_ATTACK_UP_HIT + .4byte BattleScript_EffectVictoryDance @ EFFECT_VICTORY_DANCE BattleScript_AffectionBasedEndurance:: playanimation BS_TARGET, B_ANIM_AFFECTION_HANGED_ON @@ -2346,6 +2347,38 @@ BattleScript_QuiverDanceTrySpeed:: BattleScript_QuiverDanceEnd:: goto BattleScript_MoveEnd +BattleScript_EffectVictoryDance: + attackcanceler + attackstring + ppreduce + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_ATK, MAX_STAT_STAGE, BattleScript_VictoryDanceDoMoveAnim + jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_DEF, MAX_STAT_STAGE, BattleScript_VictoryDanceDoMoveAnim + jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPEED, MAX_STAT_STAGE, BattleScript_CantRaiseMultipleStats +BattleScript_VictoryDanceDoMoveAnim:: + attackanimation + waitanimation + setbyte sSTAT_ANIM_PLAYED, FALSE + playstatchangeanimation BS_ATTACKER, BIT_ATK | BIT_DEF | BIT_SPEED, 0 + setstatchanger STAT_ATK, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_VictoryDanceTryDef + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_VictoryDanceTryDef + printfromtable gStatUpStringIds + waitmessage B_WAIT_TIME_LONG +BattleScript_VictoryDanceTryDef:: + setstatchanger STAT_DEF, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_VictoryDanceTrySpeed + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_VictoryDanceTrySpeed + printfromtable gStatUpStringIds + waitmessage B_WAIT_TIME_LONG +BattleScript_VictoryDanceTrySpeed:: + setstatchanger STAT_SPEED, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_VictoryDanceEnd + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_VictoryDanceEnd + printfromtable gStatUpStringIds + waitmessage B_WAIT_TIME_LONG +BattleScript_VictoryDanceEnd:: + goto BattleScript_MoveEnd + BattleScript_EffectSpeedUpHit: setmoveeffect MOVE_EFFECT_SPD_PLUS_1 | MOVE_EFFECT_AFFECTS_USER goto BattleScript_EffectHit diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index f6f109122..5af1017a9 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -396,7 +396,8 @@ #define EFFECT_SLEEP_HIT 390 #define EFFECT_DOUBLE_SHOCK 391 #define EFFECT_SPECIAL_ATTACK_UP_HIT 392 +#define EFFECT_VICTORY_DANCE 393 -#define NUM_BATTLE_MOVE_EFFECTS 393 +#define NUM_BATTLE_MOVE_EFFECTS 394 #endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 16a40de3d..384c50d88 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -1082,6 +1082,14 @@ static s16 AI_CheckBadMove(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPDEF)) score -= 6; break; + case EFFECT_VICTORY_DANCE: + if (gBattleMons[battlerAtk].statStages[STAT_ATK] >= MAX_STAT_STAGE || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) + score -= 10; + else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_SPEED)) + score -= 8; + else if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_DEF)) + score -= 6; + break; case EFFECT_SHIFT_GEAR: if (!BattlerStatCanRise(battlerAtk, AI_DATA->abilities[battlerAtk], STAT_ATK) || !HasMoveWithSplit(battlerAtk, SPLIT_PHYSICAL)) score -= 10; @@ -4401,6 +4409,11 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) IncreaseStatUpScore(battlerAtk, battlerDef, STAT_SPATK, &score); IncreaseStatUpScore(battlerAtk, battlerDef, STAT_SPDEF, &score); break; + case EFFECT_VICTORY_DANCE: + IncreaseStatUpScore(battlerAtk, battlerDef, STAT_SPEED, &score); + IncreaseStatUpScore(battlerAtk, battlerDef, STAT_ATK, &score); + IncreaseStatUpScore(battlerAtk, battlerDef, STAT_DEF, &score); + break; case EFFECT_SHELL_SMASH: if (AI_DATA->holdEffects[battlerAtk] == HOLD_EFFECT_RESTORE_STATS) score += 1; @@ -4886,6 +4899,7 @@ static s16 AI_SetupFirstTurn(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) case EFFECT_SANDSTORM: case EFFECT_HAIL: case EFFECT_GEOMANCY: + case EFFECT_VICTORY_DANCE: score += 2; break; default: diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 113d5d3e0..83c933167 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -2091,6 +2091,7 @@ bool32 IsStatRaisingEffect(u16 effect) case EFFECT_BULK_UP: case EFFECT_GEOMANCY: case EFFECT_STOCKPILE: + case EFFECT_VICTORY_DANCE: return TRUE; default: return FALSE; diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 116c49294..5dd53a922 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -13454,7 +13454,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_VICTORY_DANCE] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_VICTORY_DANCE, + .effect = EFFECT_VICTORY_DANCE, .power = 0, .type = TYPE_FIGHTING, .accuracy = 0, From 4034f18c0e6225f9a0b8104802d0fe2ae9dd17e1 Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Fri, 18 Nov 2022 22:30:40 +0100 Subject: [PATCH 028/130] Update PLA descriptions --- src/data/text/move_descriptions.h | 90 +++++++++---------------------- 1 file changed, 26 insertions(+), 64 deletions(-) diff --git a/src/data/text/move_descriptions.h b/src/data/text/move_descriptions.h index f77989d05..c2f3e00a8 100644 --- a/src/data/text/move_descriptions.h +++ b/src/data/text/move_descriptions.h @@ -2962,9 +2962,8 @@ static const u8 sPsyshieldBashDescription[] = _( "energy. May raise Defense."); static const u8 sPowerShiftDescription[] = _( - "The user swaps its offensive\n" - "and defensive stats."); -/* The user swaps its Attack and Defense stats. */ + "The user swaps its Attack\n" + "and Defense stats."); static const u8 sStoneAxeDescription[] = _( "High critical hit ratio. Sets\n" @@ -2975,83 +2974,52 @@ static const u8 sSpringtideStormDescription[] = _( "Varies with the user's form."); static const u8 sMysticalPowerDescription[] = _( - "Increases the user's better\n" - "of Atk. and Def. stats."); -/* The user attacks by emitting a mysterious power. -This also boosts the user’s Sp. Atk stat. */ + "A mysterious power strikes and\n" + "raises the user's Sp. Atk."); static const u8 sRagingFuryDescription[] = _( - "Viciously spews flames at\n" - "a foe, becoming fixated."); -// "A rampage of 2 to 3 turns\n" -// "that confuses the user."); - -/* The user rampages around spewing flames for two to -three turns. The user then becomes confused. */ + "A rampage of 2 to 3 turns\n" + "that confuses the user."); static const u8 sWaveCrashDescription[] = _( - "A water slam. Hurts the user\n" - "and raises its Action Speed."); -/* The user shrouds itself in water and slams into the target -with its whole body to inflict damage. This also damages -the user quite a lot. */ + "A slam shrouded in water.\n" + "It also hurts the user."); static const u8 sChloroblastDescription[] = _( - "An blast that hurts the user\n" - "and lowers its Action Speed."); -/* The user launches its amassed chlorophyll to inflict -damage on the target. This also damages the user. */ + "A user-hurting blast of\n" + "amassed chlorophyll."); static const u8 sMountainGaleDescription[] = _( - "The user hurls giant chunks\n" - "of ice to damage the foe."); -/* The user hurls giant chunks of ice at the target to inflict -damage. This may also make the target flinch. */ + "Giant chunks of ice damage\n" + "the foe. It may flinch."); static const u8 sVictoryDanceDescription[] = _( - "Dances to raise damage 50%,\n" - "plus offenses and defenses."); -/* The user performs an intense dance to usher in victory, -boosting its Attack, Defense, and Speed stats. */ + "Dances to raise Attack,\n" + "Defense and Speed."); static const u8 sHeadlongRushDescription[] = _( "Hits with a full-body tackle,\n" - "lowering the foe's Defense."); -/* The user smashes into the target in a full-body tackle. -This also lowers the user’s Defense and Sp. Def stats. */ + "lowering the users's defenses."); static const u8 sBarbBarrageDescription[] = _( "Can poison on impact. Powers\n" - "up if the foe has an ailment."); -/* The user launches countless toxic barbs to inflict -damage. This may also poison the target. This move’s -power is doubled if the target is already poisoned. */ + "up against poisoned foes."); static const u8 sEsperWingDescription[] = _( "High critical hit ratio.\n" - "Ups the user's Action Speed."); -/* The user slashes the target with aura-enriched wings. -This also boosts the user’s Speed stat. This move has -a heightened chance of landing a critical hit. */ + "Ups the user's Speed."); static const u8 sBitterMaliceDescription[] = _( - "Hurts a foe harder if it has\n" - "an ailment. Can give FrstBte."); -/* The user attacks the target with spine-chilling resentment. -This also lowers the target’s Attack stat. */ + "A spine-chilling resentment\n" + "that may lower the foe's Attack."); static const u8 sShelterDescription[] = _( - "The user hardens their skin\n" - "and obscures itself."); -/* The user makes its skin as hard as an iron shield, sharply -boosting its Defense stat. */ + "The user hardens their skin,\n" + "sharply raising its Defense."); static const u8 sTripleArrowsDescription[] = _( - "Ups critical-hit ratio for 3\n" - "turns. Lowers foe Defenses."); -/* The user kicks, then fires three arrows. This move has a -heightened chance of landing a critical hit and may also -lower the target’s Defense stat or make it flinch. */ + "High critical hit ratio.\n" + "May lower Defense or flinch."); static const u8 sInfernalParadeDescription[] = _( "Hurts a foe harder if it has\n" @@ -3063,10 +3031,7 @@ static const u8 sCeaselessEdgeDescription[] = _( static const u8 sBleakwindStormDescription[] = _( "Hits with brutal, cold winds.\n" - "May inflict frostbite."); -/* The user attacks with savagely cold winds that cause -both body and spirit to tremble. This may also lower the -Speed stats of opposing Pokémon. */ + "May lower the foe's Speed."); static const u8 sWildboltStormDescription[] = _( "Hits with a brutal tempest.\n" @@ -3077,11 +3042,8 @@ static const u8 sSandsearStormDescription[] = _( "May inflict a burn."); static const u8 sLunarBlessingDescription[] = _( - "The user heals themself and\n" - "conceals their presence."); -/* The user receives a blessing from the crescent moon, -restoring HP and curing status conditions for itself and -its ally Pokémon currently in the battle. */ + "The user heals and cures\n" + "itself and its ally."); static const u8 sTakeHeartDescription[] = _( "The user lifts its spirits to\n" From 4da9ecbceacfffc4815cf7a350af69f956c8593b Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Fri, 18 Nov 2022 22:37:31 +0100 Subject: [PATCH 029/130] Prepare FLAG_SLICING_MOVE for merger with abilities branch --- src/data/battle_moves.h | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 5dd53a922..dec837ef6 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -13863,12 +13863,11 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, // | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMovePower = 40, .zMoveEffect = Z_EFFECT_NONE, //Supposedly uncallable by Metronome? (if so, needs implementation) - //The master sheet mentions a "slicing" flag but I'm not sure what it refers to }, [MOVE_ICE_SPINNER] = @@ -14014,11 +14013,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, // | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMovePower = 160, .zMoveEffect = Z_EFFECT_NONE, - // Needs a "slicing" flag (not sure what it refers to) }, [MOVE_FLOWER_TRICK] = @@ -14346,11 +14344,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, // | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMovePower = 160, .zMoveEffect = Z_EFFECT_NONE, - // Needs the "slicing" flag }, [MOVE_DOUBLE_SHOCK] = @@ -14410,11 +14407,10 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, // | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMovePower = 140, .zMoveEffect = Z_EFFECT_NONE, - // Needs the "slicing" flag }, [MOVE_BLAZING_TORQUE] = From 4ac1e4fc61b9e13bf3a59ccd84d10642c33bffbc Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Sat, 19 Nov 2022 13:41:56 +0100 Subject: [PATCH 030/130] Power Shift is now a clone of Power Trick --- src/data/battle_moves.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index dec837ef6..3ea9cd716 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -13310,7 +13310,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_POWER_SHIFT] = { - .effect = EFFECT_PLACEHOLDER, // EFFECT_POWER_SHIFT, + .effect = EFFECT_POWER_TRICK, .power = 0, .type = TYPE_NORMAL, .accuracy = 0, @@ -13318,7 +13318,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_MIRROR_MOVE_AFFECTED, + .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMovePower = 100, .zMoveEffect = Z_EFFECT_NONE, From cf6f343726e9acefca7ff1bd1382ddc05a24b3a9 Mon Sep 17 00:00:00 2001 From: tustin2121 Date: Sat, 26 Nov 2022 23:38:39 -0500 Subject: [PATCH 031/130] Use multi-include incbins for stormy_water - Removes a special case rule from the make files. --- graphics_file_rules.mk | 34 ---------------------------------- src/tileset_anims.c | 16 ++++++++-------- 2 files changed, 8 insertions(+), 42 deletions(-) diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk index c7246c630..8f74216a7 100644 --- a/graphics_file_rules.mk +++ b/graphics_file_rules.mk @@ -90,40 +90,6 @@ $(TILESETGFXDIR)/secondary/pacifidlog/tiles.4bpp: %.4bpp: %.png $(TILESETGFXDIR)/secondary/sootopolis/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 328 -Wnum_tiles -SOOTOPOLISANIMDIR := $(TILESETGFXDIR)/secondary/sootopolis/anim - -$(SOOTOPOLISANIMDIR)/stormy_water/0.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/0_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/0_groudon.4bpp - @cat $^ >$@ - -$(SOOTOPOLISANIMDIR)/stormy_water/1.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/1_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/1_groudon.4bpp - @cat $^ >$@ - -$(SOOTOPOLISANIMDIR)/stormy_water/2.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/2_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/2_groudon.4bpp - @cat $^ >$@ - -$(SOOTOPOLISANIMDIR)/stormy_water/3.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/3_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/3_groudon.4bpp - @cat $^ >$@ - -$(SOOTOPOLISANIMDIR)/stormy_water/4.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/4_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/4_groudon.4bpp - @cat $^ >$@ - -$(SOOTOPOLISANIMDIR)/stormy_water/5.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/5_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/5_groudon.4bpp - @cat $^ >$@ - -$(SOOTOPOLISANIMDIR)/stormy_water/6.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/6_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/6_groudon.4bpp - @cat $^ >$@ - -$(SOOTOPOLISANIMDIR)/stormy_water/7.4bpp: $(SOOTOPOLISANIMDIR)/stormy_water/7_kyogre.4bpp \ - $(SOOTOPOLISANIMDIR)/stormy_water/7_groudon.4bpp - @cat $^ >$@ - $(TILESETGFXDIR)/secondary/battle_frontier_outside_west/tiles.4bpp: %.4bpp: %.png $(GFX) $< $@ -num_tiles 508 -Wnum_tiles diff --git a/src/tileset_anims.c b/src/tileset_anims.c index 6a7589e36..fd3982ea1 100644 --- a/src/tileset_anims.c +++ b/src/tileset_anims.c @@ -484,14 +484,14 @@ const u16 *const gTilesetAnims_BikeShop_BlinkingLights[] = { gTilesetAnims_BikeShop_BlinkingLights_Frame1 }; -const u16 gTilesetAnims_Sootopolis_StormyWater_Frame0[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/0.4bpp"); -const u16 gTilesetAnims_Sootopolis_StormyWater_Frame1[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/1.4bpp"); -const u16 gTilesetAnims_Sootopolis_StormyWater_Frame2[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/2.4bpp"); -const u16 gTilesetAnims_Sootopolis_StormyWater_Frame3[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/3.4bpp"); -const u16 gTilesetAnims_Sootopolis_StormyWater_Frame4[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/4.4bpp"); -const u16 gTilesetAnims_Sootopolis_StormyWater_Frame5[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/5.4bpp"); -const u16 gTilesetAnims_Sootopolis_StormyWater_Frame6[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/6.4bpp"); -const u16 gTilesetAnims_Sootopolis_StormyWater_Frame7[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/7.4bpp"); +const u16 gTilesetAnims_Sootopolis_StormyWater_Frame0[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/0_kyogre.4bpp", "data/tilesets/secondary/sootopolis/anim/stormy_water/0_groudon.4bpp"); +const u16 gTilesetAnims_Sootopolis_StormyWater_Frame1[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/1_kyogre.4bpp", "data/tilesets/secondary/sootopolis/anim/stormy_water/1_groudon.4bpp"); +const u16 gTilesetAnims_Sootopolis_StormyWater_Frame2[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/2_kyogre.4bpp", "data/tilesets/secondary/sootopolis/anim/stormy_water/2_groudon.4bpp"); +const u16 gTilesetAnims_Sootopolis_StormyWater_Frame3[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/3_kyogre.4bpp", "data/tilesets/secondary/sootopolis/anim/stormy_water/3_groudon.4bpp"); +const u16 gTilesetAnims_Sootopolis_StormyWater_Frame4[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/4_kyogre.4bpp", "data/tilesets/secondary/sootopolis/anim/stormy_water/4_groudon.4bpp"); +const u16 gTilesetAnims_Sootopolis_StormyWater_Frame5[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/5_kyogre.4bpp", "data/tilesets/secondary/sootopolis/anim/stormy_water/5_groudon.4bpp"); +const u16 gTilesetAnims_Sootopolis_StormyWater_Frame6[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/6_kyogre.4bpp", "data/tilesets/secondary/sootopolis/anim/stormy_water/6_groudon.4bpp"); +const u16 gTilesetAnims_Sootopolis_StormyWater_Frame7[] = INCBIN_U16("data/tilesets/secondary/sootopolis/anim/stormy_water/7_kyogre.4bpp", "data/tilesets/secondary/sootopolis/anim/stormy_water/7_groudon.4bpp"); const u16 tileset_anims_space_8[16] = {}; const u16 gTilesetAnims_Unused1_Frame0[] = INCBIN_U16("data/tilesets/secondary/unused_1/0.4bpp"); From dc24fde7f6fa092f342dbbb7557d6fdbf6af3784 Mon Sep 17 00:00:00 2001 From: GriffinR Date: Sun, 27 Nov 2022 17:33:09 -0500 Subject: [PATCH 032/130] Sync calcrom fixes --- .github/calcrom/calcrom.pl | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/.github/calcrom/calcrom.pl b/.github/calcrom/calcrom.pl index 9fbd95994..cb8c5723e 100755 --- a/.github/calcrom/calcrom.pl +++ b/.github/calcrom/calcrom.pl @@ -1,5 +1,11 @@ #!/usr/bin/perl +# Usage: +# calcrom.pl [--data] +# +# mapfile: path to .map file output by LD +# data: set to output % breakdown of data + use IPC::Cmd qw[ run ]; use Getopt::Long; @@ -65,12 +71,13 @@ my $base_cmd = "nm $elffname | awk '{print \$3}' | grep '^[^_].\\{4\\}' | uniq"; # This looks for Unknown_, Unknown_, or sub_, followed by an address. Note that # it matches even if stuff precedes the unknown, like sUnknown/gUnknown. -my $undoc_cmd = "grep '[Uu]nknown_[0-9a-fA-F]\\{5,7\\}\\|sub_[0-9a-fA-F]\\{5,7\\}'"; +my $undoc_regex = "'[Uu]nknown_[0-9a-fA-F]\\{5,7\\}\\|sub_[0-9a-fA-F]\\{5,7\\}'"; # This looks for every symbol with an address at the end of it. Some things are # given a name based on their type / location, but still have an unknown purpose. # For example, FooMap_EventScript_FFFFFFF. -my $partial_doc_cmd = "grep '_[0-28][0-9a-fA-F]\\{5,7\\}'"; +# The above may be double counted here, and will need to be filtered out. +my $partial_doc_regex = "'_[0-28][0-9a-fA-F]\\{5,7\\}'"; my $count_cmd = "wc -l"; @@ -87,7 +94,7 @@ my $total_syms_as_string; my $undocumented_as_string; (run ( - command => "$base_cmd | $undoc_cmd | $count_cmd", + command => "$base_cmd | grep $undoc_regex | $count_cmd", buffer => \$undocumented_as_string, timeout => 60 )) @@ -95,7 +102,7 @@ my $undocumented_as_string; my $partial_documented_as_string; (run ( - command => "$base_cmd | $partial_doc_cmd | $count_cmd", + command => "$base_cmd | grep $partial_doc_regex | grep -v $undoc_regex | $count_cmd", buffer => \$partial_documented_as_string, timeout => 60 )) @@ -112,7 +119,7 @@ my $undocumented = $undocumented_as_string + 0; $partial_documented_as_string =~ s/^\s+|\s+$//g; my $partial_documented = $partial_documented_as_string + 0; (($partial_documented != 0) or (($partial_documented == 0) and ($partial_documented_as_string eq "0"))) - or die "ERROR: Cannot convert string to num: '$partial_documented_as_string'"; + or die "ERROR: Cannot convert string to num: '$partial_documented_as_string'"; $total_syms_as_string =~ s/^\s+|\s+$//g; my $total_syms = $total_syms_as_string + 0; @@ -126,9 +133,6 @@ my $total = $src + $asm; my $srcPct = sprintf("%.4f", 100 * $src / $total); my $asmPct = sprintf("%.4f", 100 * $asm / $total); -# partial_documented is double-counting the unknown_* and sub_* symbols. -$partial_documented = $partial_documented - $undocumented; - my $documented = $total_syms - ($undocumented + $partial_documented); my $docPct = sprintf("%.4f", 100 * $documented / $total_syms); my $partialPct = sprintf("%.4f", 100 * $partial_documented / $total_syms); From 653364fd71c7e8925b61b2f025e541cafa2bbb98 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Fri, 2 Dec 2022 23:01:22 -0300 Subject: [PATCH 033/130] Added the basic data for the Gen. 9 Abilities --- include/constants/abilities.h | 37 +++++++++- src/battle_debug.c | 2 +- src/data/text/abilities.h | 124 ++++++++++++++++++++++++++++++++++ 3 files changed, 161 insertions(+), 2 deletions(-) diff --git a/include/constants/abilities.h b/include/constants/abilities.h index 23b9fe2b7..94e5986f7 100644 --- a/include/constants/abilities.h +++ b/include/constants/abilities.h @@ -292,6 +292,41 @@ #define ABILITIES_COUNT_GEN8 268 -#define ABILITIES_COUNT ABILITIES_COUNT_GEN8 +// Gen 9 +#define ABILITY_LINGERING_AROMA 268 +#define ABILITY_SEED_SOWER 269 +#define ABILITY_THERMAL_EXCHANGE 270 +#define ABILITY_ANGER_SHELL 271 +#define ABILITY_PURIFYING_SALT 272 +#define ABILITY_WELL_BAKED_BODY 273 +#define ABILITY_WIND_RIDER 274 +#define ABILITY_GUARD_DOG 275 +#define ABILITY_ROCKY_PAYLOAD 276 +#define ABILITY_WIND_POWER 277 +#define ABILITY_ZERO_TO_HERO 278 +#define ABILITY_COMMANDER 279 +#define ABILITY_ELECTROMORPHOSIS 280 +#define ABILITY_PROTOSYNTHESIS 281 +#define ABILITY_QUARK_DRIVE 282 +#define ABILITY_GOOD_AS_GOLD 283 +#define ABILITY_VESSEL_OF_RUIN 284 +#define ABILITY_SWORD_OF_RUIN 285 +#define ABILITY_TABLETS_OF_RUIN 286 +#define ABILITY_BEADS_OF_RUIN 287 +#define ABILITY_ORICHALCUM_PULSE 288 +#define ABILITY_HADRON_ENGINE 289 +#define ABILITY_OPPORTUNIST 290 +#define ABILITY_CUD_CHEW 291 +#define ABILITY_SHARPNESS 292 +#define ABILITY_SUPREME_OVERLORD 293 +#define ABILITY_COSTAR 294 +#define ABILITY_TOXIC_DEBRIS 295 +#define ABILITY_ARMOR_TAIL 296 +#define ABILITY_EARTH_EATER 297 +#define ABILITY_MYCELIUM_MIGHT 298 + +#define ABILITIES_COUNT_GEN9 299 + +#define ABILITIES_COUNT ABILITIES_COUNT_GEN9 #endif // GUARD_CONSTANTS_ABILITIES_H diff --git a/src/battle_debug.c b/src/battle_debug.c index 568b9a96e..a8f975096 100644 --- a/src/battle_debug.c +++ b/src/battle_debug.c @@ -1759,7 +1759,7 @@ static void SetUpModifyArrows(struct BattleDebugMenu *data) { case LIST_ITEM_ABILITY: data->modifyArrows.minValue = 0; - data->modifyArrows.maxValue = ABILITIES_COUNT_GEN8 - 1; + data->modifyArrows.maxValue = ABILITIES_COUNT - 1; data->modifyArrows.maxDigits = 3; data->modifyArrows.modifiedValPtr = &gBattleMons[data->battlerId].ability; data->modifyArrows.typeOfVal = VAL_U16; diff --git a/src/data/text/abilities.h b/src/data/text/abilities.h index ac11b9de8..96407c340 100644 --- a/src/data/text/abilities.h +++ b/src/data/text/abilities.h @@ -254,6 +254,37 @@ static const u8 sChillingNeighDescription[] = _("KOs boost Attack stat."); static const u8 sGrimNeighDescription[] = _("KOs boost Sp. Atk stat."); static const u8 sAsOneIceRiderDescription[] = _("Unnerve and Chilling Neigh."); static const u8 sAsOneShadowRiderDescription[] = _("Unnerve and Grim Neigh."); +static const u8 sLingeringAromaDescription[] = _("Spreads with contact."); +static const u8 sSeedSowerDescription[] = _("Affects terrain when hit."); +static const u8 sThermalExchangeDescription[] = _("Fire hits up Attack."); +static const u8 sAngerShellDescription[] = _("Gets angry at half HP."); +static const u8 sPurifyingSaltDescription[] = _("Protected by pure salts."); +static const u8 sWellBakedBodyDescription[] = _("Strengthened by Fire."); +static const u8 sWindRiderDescription[] = _("Ups Attack if hit by wind."); +static const u8 sGuardDogDescription[] = _("Cannot be intimidated."); +static const u8 sRockyPayloadDescription[] = _("Powers up Rock moves."); +static const u8 sWindPowerDescription[] = _("Gets charged by wind."); +static const u8 sZeroToHeroDescription[] = _("Changes form on switch out."); +static const u8 sCommanderDescription[] = _("Commands from Dondozo."); +static const u8 sElectromorphosisDescription[] = _("Gets Charged on contact."); +static const u8 sProtosynthesisDescription[] = _("Sun boosts best stat."); +static const u8 sQuarkDriveDescription[] = _("Elec. field ups best stat."); +static const u8 sGoodAsGoldDescription[] = _("Avoids status problems."); +static const u8 sVesselOfRuinDescription[] = _("Lowers foes' sp. damage."); +static const u8 sSwordOfRuinDescription[] = _("Lowers foes' defense."); +static const u8 sTabletsOfRuinDescription[] = _("Lowers foes' damage."); +static const u8 sBeadsOfRuinDescription[] = _("Lowers foes' sp. defense."); +static const u8 sOrichalcumPulseDescription[] = _("Summons sunlight in battle."); +static const u8 sHadronEngineDescription[] = _("Field becomes Electric."); +static const u8 sOpportunistDescription[] = _("Copies foe's stat change."); +static const u8 sCudChewDescription[] = _("Eats a used berry again."); +static const u8 sSharpnessDescription[] = _("Strengthens cutting moves."); +static const u8 sSupremeOverlordDescription[] = _("Inherits fallen's strength."); +static const u8 sCostarDescription[] = _("Copies ally's stat changes."); +static const u8 sToxicDebrisDescription[] = _("Throws poison spikes if hit."); +static const u8 sArmorTailDescription[] = _("Protects from priority."); +static const u8 sEarthEaterDescription[] = _("Eats ground to heal HP."); +static const u8 sMyceliumMightDescription[] = _("Status moves never fail."); #if B_EXPANDED_ABILITY_NAMES == TRUE const u8 gAbilityNames[ABILITIES_COUNT][ABILITY_NAME_LENGTH + 1] = @@ -526,6 +557,37 @@ const u8 gAbilityNames[ABILITIES_COUNT][ABILITY_NAME_LENGTH + 1] = [ABILITY_GRIM_NEIGH] = _("Grim Neigh"), [ABILITY_AS_ONE_ICE_RIDER] = _("As One"), [ABILITY_AS_ONE_SHADOW_RIDER] = _("As One"), + [ABILITY_LINGERING_AROMA] = _("Lingering Aroma"), + [ABILITY_SEED_SOWER] = _("Seed Sower"), + [ABILITY_THERMAL_EXCHANGE] = _("Thermal Exchange"), + [ABILITY_ANGER_SHELL] = _("Anger Shell"), + [ABILITY_PURIFYING_SALT] = _("Purifying Salt"), + [ABILITY_WELL_BAKED_BODY] = _("Well-Baked Body"), + [ABILITY_WIND_RIDER] = _("Wind Rider"), + [ABILITY_GUARD_DOG] = _("Guard Dog"), + [ABILITY_ROCKY_PAYLOAD] = _("Rocky Payload"), + [ABILITY_WIND_POWER] = _("Wind Power"), + [ABILITY_ZERO_TO_HERO] = _("Zero to Hero"), + [ABILITY_COMMANDER] = _("Commander"), + [ABILITY_ELECTROMORPHOSIS] = _("Electromorphosis"), + [ABILITY_PROTOSYNTHESIS] = _("Protosynthesis"), + [ABILITY_QUARK_DRIVE] = _("Quark Drive"), + [ABILITY_GOOD_AS_GOLD] = _("Good as Gold"), + [ABILITY_VESSEL_OF_RUIN] = _("Vessel of Ruin"), + [ABILITY_SWORD_OF_RUIN] = _("Sword of Ruin"), + [ABILITY_TABLETS_OF_RUIN] = _("Tablets of Ruin"), + [ABILITY_BEADS_OF_RUIN] = _("Beads of Ruin"), + [ABILITY_ORICHALCUM_PULSE] = _("Orichalcum Pulse"), + [ABILITY_HADRON_ENGINE] = _("Hadron Engine"), + [ABILITY_OPPORTUNIST] = _("Opportunist"), + [ABILITY_CUD_CHEW] = _("Cud Chew"), + [ABILITY_SHARPNESS] = _("Sharpness"), + [ABILITY_SUPREME_OVERLORD] = _("Supreme Overlord"), + [ABILITY_COSTAR] = _("Costar"), + [ABILITY_TOXIC_DEBRIS] = _("Toxic Debris"), + [ABILITY_ARMOR_TAIL] = _("Armor Tail"), + [ABILITY_EARTH_EATER] = _("Earth Eater"), + [ABILITY_MYCELIUM_MIGHT] = _("Mycelium Might"), }; #else // 12 characters const u8 gAbilityNames[ABILITIES_COUNT][ABILITY_NAME_LENGTH + 1] = @@ -798,6 +860,37 @@ const u8 gAbilityNames[ABILITIES_COUNT][ABILITY_NAME_LENGTH + 1] = [ABILITY_GRIM_NEIGH] = _("Grim Neigh"), [ABILITY_AS_ONE_ICE_RIDER] = _("As One"), [ABILITY_AS_ONE_SHADOW_RIDER] = _("As One"), + [ABILITY_LINGERING_AROMA] = _("LngerngAroma"), + [ABILITY_SEED_SOWER] = _("Seed Sower"), + [ABILITY_THERMAL_EXCHANGE] = _("ThrmlExchnge"), + [ABILITY_ANGER_SHELL] = _("Anger Shell"), + [ABILITY_PURIFYING_SALT] = _("PurfyingSalt"), + [ABILITY_WELL_BAKED_BODY] = _("WellBakedBdy"), + [ABILITY_WIND_RIDER] = _("Wind Rider"), + [ABILITY_GUARD_DOG] = _("Guard Dog"), + [ABILITY_ROCKY_PAYLOAD] = _("RockyPayload"), + [ABILITY_WIND_POWER] = _("Wind Power"), + [ABILITY_ZERO_TO_HERO] = _("Zero to Hero"), + [ABILITY_COMMANDER] = _("Commander"), + [ABILITY_ELECTROMORPHOSIS] = _("Elecmrphosis"), + [ABILITY_PROTOSYNTHESIS] = _("Protosnthsis"), + [ABILITY_QUARK_DRIVE] = _("Quark Drive"), + [ABILITY_GOOD_AS_GOLD] = _("Good as Gold"), + [ABILITY_VESSEL_OF_RUIN] = _("VesselOfRuin"), + [ABILITY_SWORD_OF_RUIN] = _("SwordOfRuin"), + [ABILITY_TABLETS_OF_RUIN] = _("TabltsOfRuin"), + [ABILITY_BEADS_OF_RUIN] = _("BeadsOfRuin"), + [ABILITY_ORICHALCUM_PULSE] = _("OrchlcumPlse"), + [ABILITY_HADRON_ENGINE] = _("HadronEngine"), + [ABILITY_OPPORTUNIST] = _("Opportunist"), + [ABILITY_CUD_CHEW] = _("Cud Chew"), + [ABILITY_SHARPNESS] = _("Sharpness"), + [ABILITY_SUPREME_OVERLORD] = _("SuprmeOvrlrd"), + [ABILITY_COSTAR] = _("Costar"), + [ABILITY_TOXIC_DEBRIS] = _("Toxic Debris"), + [ABILITY_ARMOR_TAIL] = _("Armor Tail"), + [ABILITY_EARTH_EATER] = _("Earth Eater"), + [ABILITY_MYCELIUM_MIGHT] = _("MceliumMight"), }; #endif @@ -1071,4 +1164,35 @@ const u8 *const gAbilityDescriptionPointers[ABILITIES_COUNT] = [ABILITY_GRIM_NEIGH] = sGrimNeighDescription, [ABILITY_AS_ONE_ICE_RIDER] = sAsOneIceRiderDescription, [ABILITY_AS_ONE_SHADOW_RIDER] = sAsOneShadowRiderDescription, + [ABILITY_LINGERING_AROMA] = sLingeringAromaDescription, + [ABILITY_SEED_SOWER] = sSeedSowerDescription, + [ABILITY_THERMAL_EXCHANGE] = sThermalExchangeDescription, + [ABILITY_ANGER_SHELL] = sAngerShellDescription, + [ABILITY_PURIFYING_SALT] = sPurifyingSaltDescription, + [ABILITY_WELL_BAKED_BODY] = sWellBakedBodyDescription, + [ABILITY_WIND_RIDER] = sWindRiderDescription, + [ABILITY_GUARD_DOG] = sGuardDogDescription, + [ABILITY_ROCKY_PAYLOAD] = sRockyPayloadDescription, + [ABILITY_WIND_POWER] = sWindPowerDescription, + [ABILITY_ZERO_TO_HERO] = sZeroToHeroDescription, + [ABILITY_COMMANDER] = sCommanderDescription, + [ABILITY_ELECTROMORPHOSIS] = sElectromorphosisDescription, + [ABILITY_PROTOSYNTHESIS] = sProtosynthesisDescription, + [ABILITY_QUARK_DRIVE] = sQuarkDriveDescription, + [ABILITY_GOOD_AS_GOLD] = sGoodAsGoldDescription, + [ABILITY_VESSEL_OF_RUIN] = sVesselOfRuinDescription, + [ABILITY_SWORD_OF_RUIN] = sSwordOfRuinDescription, + [ABILITY_TABLETS_OF_RUIN] = sTabletsOfRuinDescription, + [ABILITY_BEADS_OF_RUIN] = sBeadsOfRuinDescription, + [ABILITY_ORICHALCUM_PULSE] = sOrichalcumPulseDescription, + [ABILITY_HADRON_ENGINE] = sHadronEngineDescription, + [ABILITY_OPPORTUNIST] = sOpportunistDescription, + [ABILITY_CUD_CHEW] = sCudChewDescription, + [ABILITY_SHARPNESS] = sSharpnessDescription, + [ABILITY_SUPREME_OVERLORD] = sSupremeOverlordDescription, + [ABILITY_COSTAR] = sCostarDescription, + [ABILITY_TOXIC_DEBRIS] = sToxicDebrisDescription, + [ABILITY_ARMOR_TAIL] = sArmorTailDescription, + [ABILITY_EARTH_EATER] = sEarthEaterDescription, + [ABILITY_MYCELIUM_MIGHT] = sMyceliumMightDescription, }; From 8dd3fd025fce25e417cbcfbe85d4d1a3daf7452d Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Fri, 2 Dec 2022 23:04:10 -0300 Subject: [PATCH 034/130] Implemented Lingering Aroma's effect And took the chance to tweak Mummy's. --- src/battle_message.c | 2 +- src/battle_util.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/battle_message.c b/src/battle_message.c index 9503fbaaf..c243e3041 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -616,7 +616,7 @@ static const u8 sText_HealingWishCameTrue[] = _("The healing wish came true\nfor static const u8 sText_HealingWishHealed[] = _("{B_ATK_NAME_WITH_PREFIX} regained health!"); static const u8 sText_LunarDanceCameTrue[] = _("{B_ATK_NAME_WITH_PREFIX} became cloaked\nin mystical moonlight!"); static const u8 sText_CursedBodyDisabled[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} was disabled\nby {B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}!"); -static const u8 sText_AttackerAquiredAbility[] = _("{B_ATK_NAME_WITH_PREFIX} acquired {B_LAST_ABILITY}!"); +static const u8 sText_AttackerAquiredAbility[] = _("{B_ATK_NAME_WITH_PREFIX} acquired\n{B_LAST_ABILITY}!"); static const u8 sText_TargetStatWontGoHigher[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\nwon't go higher!"); static const u8 sText_PkmnMoveBouncedViaAbility[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE} was\nbounced back by {B_DEF_NAME_WITH_PREFIX}'s\l{B_DEF_ABILITY}!"); static const u8 sText_ImposterTransform[] = _("{B_ATK_NAME_WITH_PREFIX} transformed into\n{B_DEF_NAME_WITH_PREFIX} using {B_LAST_ABILITY}!"); diff --git a/src/battle_util.c b/src/battle_util.c index b629c8322..72b26417c 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5354,11 +5354,13 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move effect++; } break; + case ABILITY_LINGERING_AROMA: case ABILITY_MUMMY: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && IsBattlerAlive(gBattlerAttacker) && TARGET_TURN_DAMAGED - && (IsMoveMakingContact(move, gBattlerAttacker))) + && IsMoveMakingContact(move, gBattlerAttacker) + && gBattleStruct->overwrittenAbilities[gBattlerAttacker] != GetBattlerAbility(gBattlerTarget)) { switch (gBattleMons[gBattlerAttacker].ability) { @@ -5374,7 +5376,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move case ABILITY_STANCE_CHANGE: break; default: - gLastUsedAbility = gBattleMons[gBattlerAttacker].ability = gBattleStruct->overwrittenAbilities[gBattlerAttacker] = ABILITY_MUMMY; + gLastUsedAbility = gBattleMons[gBattlerAttacker].ability = gBattleStruct->overwrittenAbilities[gBattlerAttacker] = gBattleMons[gBattlerTarget].ability; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_MummyActivates; effect++; From b0027cb78b52cdc7ba749a01b17df796bd90e827 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Fri, 2 Dec 2022 23:07:25 -0300 Subject: [PATCH 035/130] Implemented Seed Sower's effect --- data/battle_scripts_1.s | 9 +++++++++ include/battle_scripts.h | 1 + src/battle_util.c | 12 ++++++++++++ 3 files changed, 22 insertions(+) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 6b8067721..d807f5610 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -7023,6 +7023,15 @@ BattleScript_GulpMissileGorgingTargetDefenseCantGoLower: waitmessage B_WAIT_TIME_LONG return +BattleScript_SeedSowerActivates:: + pause B_WAIT_TIME_SHORT + call BattleScript_AbilityPopUp + printstring STRINGID_TERRAINBECOMESGRASSY + waitmessage B_WAIT_TIME_LONG + playanimation BS_SCRIPTING, B_ANIM_RESTORE_BG + call BattleScript_TerrainSeedLoop + return + BattleScript_PerishSongCountGoesDown:: printstring STRINGID_PKMNPERISHCOUNTFELL waitmessage B_WAIT_TIME_LONG diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 23f18e3be..d9dafe5df 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -433,6 +433,7 @@ extern const u8 BattleScript_SymbiosisActivates[]; extern const u8 BattleScript_MultiHitPrintStrings[]; extern const u8 BattleScript_BurnUpRemoveType[]; extern const u8 BattleScript_TargetAbilityStatRaiseRet[]; +extern const u8 BattleScript_SeedSowerActivates[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/src/battle_util.c b/src/battle_util.c index 72b26417c..e0b3f4b1b 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5723,6 +5723,18 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move } } break; + case ABILITY_SEED_SOWER: + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg + && TARGET_TURN_DAMAGED + && IsBattlerAlive(gBattlerTarget) + && TryChangeBattleTerrain(gBattlerTarget, STATUS_FIELD_GRASSY_TERRAIN, &gFieldTimers.terrainTimer)) + { + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_SeedSowerActivates; + effect++; + } + break; } break; case ABILITYEFFECT_MOVE_END_ATTACKER: // Same as above, but for attacker From be71c4ca9907fdc968e15a28b7e20dea5c8b90a6 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sat, 3 Dec 2022 01:07:49 -0300 Subject: [PATCH 036/130] Implemented Thermal Exchange's effect --- src/battle_util.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/battle_util.c b/src/battle_util.c index e0b3f4b1b..d3275be0d 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5735,6 +5735,20 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move effect++; } break; + case ABILITY_THERMAL_EXCHANGE: + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && TARGET_TURN_DAMAGED + && IsBattlerAlive(gBattlerTarget) + && CompareStat(gBattlerTarget, STAT_ATK, MAX_STAT_STAGE, CMP_LESS_THAN) + && moveType == TYPE_FIRE) + { + gEffectBattler = gBattlerTarget; + SET_STATCHANGER(STAT_ATK, 1, FALSE); + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_TargetAbilityStatRaiseRet; + effect++; + } + break; } break; case ABILITYEFFECT_MOVE_END_ATTACKER: // Same as above, but for attacker @@ -6317,6 +6331,7 @@ bool32 CanBeBurned(u8 battlerId) || ability == ABILITY_WATER_VEIL || ability == ABILITY_WATER_BUBBLE || ability == ABILITY_COMATOSE + || ability == ABILITY_THERMAL_EXCHANGE || IsAbilityStatusProtected(battlerId) || IsBattlerTerrainAffected(battlerId, STATUS_FIELD_MISTY_TERRAIN)) return FALSE; From acb9c31bd4d7747656531e7f5230ed12f0ec1cd1 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sat, 3 Dec 2022 01:17:22 -0300 Subject: [PATCH 037/130] Implemented Anger Shell's effect --- data/battle_scripts_1.s | 44 ++++++++++++++++++++++++++++++++++++++++ include/battle.h | 1 + include/battle_scripts.h | 1 + src/battle_util.c | 14 +++++++++++++ 4 files changed, 60 insertions(+) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index d807f5610..964a6d8a3 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -7032,6 +7032,50 @@ BattleScript_SeedSowerActivates:: call BattleScript_TerrainSeedLoop return +BattleScript_AngerShellActivates:: + call BattleScript_AbilityPopUp + jumpifstat BS_TARGET, CMP_LESS_THAN, STAT_ATK, MAX_STAT_STAGE, BattleScript_AngerShellTryDef + jumpifstat BS_TARGET, CMP_LESS_THAN, STAT_SPATK, MAX_STAT_STAGE, BattleScript_AngerShellTryDef + jumpifstat BS_TARGET, CMP_LESS_THAN, STAT_SPEED, MAX_STAT_STAGE, BattleScript_AngerShellTryDef + jumpifstat BS_TARGET, CMP_GREATER_THAN, STAT_DEF, MIN_STAT_STAGE, BattleScript_AngerShellTryDef + jumpifstat BS_TARGET, CMP_EQUAL, STAT_SPDEF, MIN_STAT_STAGE, BattleScript_ButItFailed +BattleScript_AngerShellTryDef:: + setbyte sSTAT_ANIM_PLAYED, FALSE + playstatchangeanimation BS_TARGET, BIT_DEF | BIT_SPDEF, STAT_CHANGE_NEGATIVE | STAT_CHANGE_CANT_PREVENT + setstatchanger STAT_DEF, 1, TRUE + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR | MOVE_EFFECT_CERTAIN, BattleScript_AngerShellTrySpDef + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_AngerShellTrySpDef + printfromtable gStatUpStringIds + waitmessage B_WAIT_TIME_LONG +BattleScript_AngerShellTrySpDef: + setstatchanger STAT_SPDEF, 1, TRUE + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR | MOVE_EFFECT_CERTAIN, BattleScript_AngerShellTryAttack + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_AngerShellTryAttack + printfromtable gStatUpStringIds + waitmessage B_WAIT_TIME_LONG +BattleScript_AngerShellTryAttack: + setbyte sSTAT_ANIM_PLAYED, FALSE + playstatchangeanimation BS_TARGET, BIT_SPATK | BIT_ATK | BIT_SPEED, STAT_CHANGE_BY_TWO + setstatchanger STAT_ATK, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_AngerShellTrySpAtk + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_AngerShellTrySpAtk + printfromtable gStatUpStringIds + waitmessage B_WAIT_TIME_LONG +BattleScript_AngerShellTrySpAtk: + setstatchanger STAT_SPATK, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_AngerShellTrySpeed + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_AngerShellTrySpeed + printfromtable gStatUpStringIds + waitmessage B_WAIT_TIME_LONG +BattleScript_AngerShellTrySpeed: + setstatchanger STAT_SPEED, 1, FALSE + statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_AngerShellRet + jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_AngerShellRet + printfromtable gStatUpStringIds + waitmessage B_WAIT_TIME_LONG +BattleScript_AngerShellRet: + return + BattleScript_PerishSongCountGoesDown:: printstring STRINGID_PKMNPERISHCOUNTFELL waitmessage B_WAIT_TIME_LONG diff --git a/include/battle.h b/include/battle.h index ebc8be057..14037b72c 100644 --- a/include/battle.h +++ b/include/battle.h @@ -652,6 +652,7 @@ struct BattleStruct u8 attackerBeforeBounce:2; u8 targetsDone[MAX_BATTLERS_COUNT]; // Each battler as a bit. u16 overwrittenAbilities[MAX_BATTLERS_COUNT]; // abilities overwritten during battle (keep separate from battle history in case of switching) + bool8 endturnAbilityDone[PARTY_SIZE][2]; // For some reason, adding a switchInAbilityDone equivalent in SpecialStatus didn't work. }; #define F_DYNAMIC_TYPE_1 (1 << 6) diff --git a/include/battle_scripts.h b/include/battle_scripts.h index d9dafe5df..462da38db 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -434,6 +434,7 @@ extern const u8 BattleScript_MultiHitPrintStrings[]; extern const u8 BattleScript_BurnUpRemoveType[]; extern const u8 BattleScript_TargetAbilityStatRaiseRet[]; extern const u8 BattleScript_SeedSowerActivates[]; +extern const u8 BattleScript_AngerShellActivates[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/src/battle_util.c b/src/battle_util.c index d3275be0d..ed425dd49 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5749,6 +5749,20 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move effect++; } break; + case ABILITY_ANGER_SHELL: + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg + && TARGET_TURN_DAMAGED + && (gBattleMons[gBattlerTarget].hp <= gBattleMons[gBattlerTarget].maxHP / 2) + && !gBattleStruct->endturnAbilityDone[gBattlerPartyIndexes[gBattlerTarget]][GetBattlerSide(gBattlerTarget)]) + { + gBattleStruct->endturnAbilityDone[gBattlerPartyIndexes[gBattlerTarget]][GetBattlerSide(gBattlerTarget)] = TRUE; + gBattlerAttacker = gBattlerTarget; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_AngerShellActivates; + effect++; + } + break; } break; case ABILITYEFFECT_MOVE_END_ATTACKER: // Same as above, but for attacker From eb082cd1a249b553e32c6d8673bd6082ca263b60 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sat, 3 Dec 2022 01:51:11 -0300 Subject: [PATCH 038/130] Implemented Purifying Salt's effect --- data/battle_scripts_1.s | 6 ++++++ src/battle_util.c | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 964a6d8a3..cf686fec9 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -3033,6 +3033,7 @@ BattleScript_EffectSleep:: jumpifstatus BS_TARGET, STATUS1_SLEEP, BattleScript_AlreadyAsleep jumpifcantmakeasleep BattleScript_CantMakeAsleep jumpifability BS_TARGET, ABILITY_COMATOSE, BattleScript_LeafGuardProtects + jumpifability BS_TARGET, ABILITY_PURIFYING_SALT, BattleScript_LeafGuardProtects jumpifflowerveil BattleScript_FlowerVeilProtects jumpifability BS_TARGET_SIDE, ABILITY_SWEET_VEIL, BattleScript_SweetVeilProtects jumpifleafguardprotected BS_TARGET, BattleScript_LeafGuardProtects @@ -3622,6 +3623,7 @@ BattleScript_EffectToxic:: ppreduce jumpifability BS_TARGET, ABILITY_IMMUNITY, BattleScript_ImmunityProtected jumpifability BS_TARGET, ABILITY_COMATOSE, BattleScript_LeafGuardProtects + jumpifability BS_TARGET, ABILITY_PURIFYING_SALT, BattleScript_LeafGuardProtects jumpifability BS_TARGET_SIDE, ABILITY_PASTEL_VEIL, BattleScript_PastelVeilProtects jumpifflowerveil BattleScript_FlowerVeilProtects jumpifleafguardprotected BS_TARGET, BattleScript_LeafGuardProtects @@ -3960,6 +3962,7 @@ BattleScript_EffectPoison:: ppreduce jumpifability BS_TARGET, ABILITY_IMMUNITY, BattleScript_ImmunityProtected jumpifability BS_TARGET, ABILITY_COMATOSE, BattleScript_LeafGuardProtects + jumpifability BS_TARGET, ABILITY_PURIFYING_SALT, BattleScript_LeafGuardProtects jumpifability BS_TARGET_SIDE, ABILITY_PASTEL_VEIL, BattleScript_PastelVeilProtects jumpifflowerveil BattleScript_FlowerVeilProtects jumpifleafguardprotected BS_TARGET, BattleScript_LeafGuardProtects @@ -3986,6 +3989,7 @@ BattleScript_EffectParalyze: ppreduce jumpifability BS_TARGET, ABILITY_LIMBER, BattleScript_LimberProtected jumpifability BS_TARGET, ABILITY_COMATOSE, BattleScript_LeafGuardProtects + jumpifability BS_TARGET, ABILITY_PURIFYING_SALT, BattleScript_LeafGuardProtects jumpifflowerveil BattleScript_FlowerVeilProtects jumpifleafguardprotected BS_TARGET, BattleScript_LeafGuardProtects jumpifshieldsdown BS_TARGET, BattleScript_LeafGuardProtects @@ -5409,6 +5413,7 @@ BattleScript_EffectWillOWisp:: jumpifability BS_TARGET, ABILITY_WATER_VEIL, BattleScript_WaterVeilPrevents jumpifability BS_TARGET, ABILITY_WATER_BUBBLE, BattleScript_WaterVeilPrevents jumpifability BS_TARGET, ABILITY_COMATOSE, BattleScript_LeafGuardProtects + jumpifability BS_TARGET, ABILITY_PURIFYING_SALT, BattleScript_LeafGuardProtects jumpifflowerveil BattleScript_FlowerVeilProtects jumpifleafguardprotected BS_TARGET, BattleScript_LeafGuardProtects jumpifshieldsdown BS_TARGET, BattleScript_LeafGuardProtects @@ -5701,6 +5706,7 @@ BattleScript_EffectYawn:: jumpifability BS_TARGET, ABILITY_VITAL_SPIRIT, BattleScript_PrintBankAbilityMadeIneffective jumpifability BS_TARGET, ABILITY_INSOMNIA, BattleScript_PrintBankAbilityMadeIneffective jumpifability BS_TARGET, ABILITY_COMATOSE, BattleScript_PrintBankAbilityMadeIneffective + jumpifability BS_TARGET, ABILITY_PURIFYING_SALT, BattleScript_LeafGuardProtects jumpifflowerveil BattleScript_FlowerVeilProtects jumpifleafguardprotected BS_TARGET, BattleScript_LeafGuardProtects jumpifshieldsdown BS_TARGET, BattleScript_LeafGuardProtects diff --git a/src/battle_util.c b/src/battle_util.c index ed425dd49..fd6374e74 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -8896,7 +8896,7 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe #define TERRAIN_TYPE_BOOST UQ_4_12(1.5) #endif - // various effecs + // various effects if (gProtectStructs[battlerAtk].helpingHand) MulModifier(&modifier, UQ_4_12(1.5)); if (gStatuses3[battlerAtk] & STATUS3_CHARGED_UP && moveType == TYPE_ELECTRIC) @@ -9226,6 +9226,10 @@ static u32 CalcDefenseStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, if (gBattleMoves[move].flags & FLAG_SOUND) MulModifier(&modifier, UQ_4_12(2.0)); break; + case ABILITY_PURIFYING_SALT: + if (gBattleMoves[move].type == TYPE_GHOST) + MulModifier(&modifier, UQ_4_12(2.0)); + break; } // ally's abilities From f55443656f2247226169ac16345432350b11bbaf Mon Sep 17 00:00:00 2001 From: GriffinR Date: Sat, 3 Dec 2022 17:29:02 -0500 Subject: [PATCH 039/130] Add NUM_TILES_PER_METATILE --- include/fieldmap.h | 2 ++ src/decoration.c | 6 +++--- src/field_camera.c | 2 +- src/shop.c | 4 ++-- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/include/fieldmap.h b/include/fieldmap.h index 2f7eaba66..f2dbefae8 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -9,6 +9,8 @@ #define NUM_PALS_TOTAL 13 #define MAX_MAP_DATA_SIZE 10240 +#define NUM_TILES_PER_METATILE 8 + // Map coordinates are offset by 7 when using the map // buffer because it needs to load sufficient border // metatiles to fill the player's view (the player has diff --git a/src/decoration.c b/src/decoration.c index b149c9d79..8ec80415b 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -1977,7 +1977,7 @@ static void SetDecorSelectionMetatiles(struct PlaceDecorationGraphicsDataBuffer shape = data->decoration->shape; for (i = 0; i < sDecorTilemaps[shape].size; i++) { - data->tiles[sDecorTilemaps[shape].tiles[i]] = GetMetatile(data->decoration->tiles[sDecorTilemaps[shape].y[i]] * 8 + sDecorTilemaps[shape].x[i]); + data->tiles[sDecorTilemaps[shape].tiles[i]] = GetMetatile(data->decoration->tiles[sDecorTilemaps[shape].y[i]] * NUM_TILES_PER_METATILE + sDecorTilemaps[shape].x[i]); } } @@ -2037,7 +2037,7 @@ static u8 gpu_pal_decompress_alloc_tag_and_upload(struct PlaceDecorationGraphics SetDecorSelectionMetatiles(data); SetDecorSelectionBoxOamAttributes(data->decoration->shape); SetDecorSelectionBoxTiles(data); - CopyPalette(data->palette, ((u16 *)gTilesetPointer_SecretBaseRedCave->metatiles)[(data->decoration->tiles[0] * 8) + 7] >> 12); + CopyPalette(data->palette, ((u16 *)gTilesetPointer_SecretBaseRedCave->metatiles)[(data->decoration->tiles[0] * NUM_TILES_PER_METATILE) + 7] >> 12); LoadSpritePalette(&sSpritePal_PlaceDecoration); return CreateSprite(&sDecorationSelectorSpriteTemplate, 0, 0, 0); } @@ -2093,7 +2093,7 @@ static u8 AddDecorationIconObjectFromObjectEvent(u16 tilesTag, u16 paletteTag, u SetDecorSelectionMetatiles(&sPlaceDecorationGraphicsDataBuffer); SetDecorSelectionBoxOamAttributes(sPlaceDecorationGraphicsDataBuffer.decoration->shape); SetDecorSelectionBoxTiles(&sPlaceDecorationGraphicsDataBuffer); - CopyPalette(sPlaceDecorationGraphicsDataBuffer.palette, ((u16 *)gTilesetPointer_SecretBaseRedCave->metatiles)[(sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0] * 8) + 7] >> 12); + CopyPalette(sPlaceDecorationGraphicsDataBuffer.palette, ((u16 *)gTilesetPointer_SecretBaseRedCave->metatiles)[(sPlaceDecorationGraphicsDataBuffer.decoration->tiles[0] * NUM_TILES_PER_METATILE) + 7] >> 12); sheet.data = sPlaceDecorationGraphicsDataBuffer.image; sheet.size = sDecorShapeSizes[sPlaceDecorationGraphicsDataBuffer.decoration->shape] * TILE_SIZE_4BPP; sheet.tag = tilesTag; diff --git a/src/field_camera.c b/src/field_camera.c index 8b53451c0..3f7e29208 100644 --- a/src/field_camera.c +++ b/src/field_camera.c @@ -237,7 +237,7 @@ static void DrawMetatileAt(const struct MapLayout *mapLayout, u16 offset, int x, metatiles = mapLayout->secondaryTileset->metatiles; metatileId -= NUM_METATILES_IN_PRIMARY; } - DrawMetatile(MapGridGetMetatileLayerTypeAt(x, y), metatiles + metatileId * 8, offset); + DrawMetatile(MapGridGetMetatileLayerTypeAt(x, y), metatiles + metatileId * NUM_TILES_PER_METATILE, offset); } static void DrawMetatile(s32 metatileLayerType, const u16 *tiles, u16 offset) diff --git a/src/shop.c b/src/shop.c index d5e954635..ef0f07b38 100644 --- a/src/shop.c +++ b/src/shop.c @@ -808,9 +808,9 @@ static void BuyMenuDrawMapBg(void) metatileLayerType = METATILE_LAYER_TYPE_COVERED; if (metatile < NUM_METATILES_IN_PRIMARY) - BuyMenuDrawMapMetatile(i, j, mapLayout->primaryTileset->metatiles + metatile * 8, metatileLayerType); + BuyMenuDrawMapMetatile(i, j, mapLayout->primaryTileset->metatiles + metatile * NUM_TILES_PER_METATILE, metatileLayerType); else - BuyMenuDrawMapMetatile(i, j, mapLayout->secondaryTileset->metatiles + ((metatile - NUM_METATILES_IN_PRIMARY) * 8), metatileLayerType); + BuyMenuDrawMapMetatile(i, j, mapLayout->secondaryTileset->metatiles + ((metatile - NUM_METATILES_IN_PRIMARY) * NUM_TILES_PER_METATILE), metatileLayerType); } } } From 051ad7bf6974542c06dc6864d19bb5ea14a1b916 Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Sun, 4 Dec 2022 00:12:38 +0100 Subject: [PATCH 040/130] Update src/data/text/move_descriptions.h Co-Authored-By: Eduardo Quezada D'Ottone --- src/data/text/move_descriptions.h | 90 +++++++++++++++---------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/src/data/text/move_descriptions.h b/src/data/text/move_descriptions.h index c2f3e00a8..aa4cec4ea 100644 --- a/src/data/text/move_descriptions.h +++ b/src/data/text/move_descriptions.h @@ -2974,8 +2974,8 @@ static const u8 sSpringtideStormDescription[] = _( "Varies with the user's form."); static const u8 sMysticalPowerDescription[] = _( - "A mysterious power strikes and\n" - "raises the user's Sp. Atk."); + "A mysterious power strikes,\n" + "raising the user's Sp. Atk."); static const u8 sRagingFuryDescription[] = _( "A rampage of 2 to 3 turns\n" @@ -3010,8 +3010,8 @@ static const u8 sEsperWingDescription[] = _( "Ups the user's Speed."); static const u8 sBitterMaliceDescription[] = _( - "A spine-chilling resentment\n" - "that may lower the foe's Attack."); + "A spine-chilling resentment.\n" + "May lower the foe's Attack."); static const u8 sShelterDescription[] = _( "The user hardens their skin,\n" @@ -3050,8 +3050,8 @@ static const u8 sTakeHeartDescription[] = _( "heal and strengthen itself."); static const u8 sTeraBlastDescription[] = _( - "Unleashes the user's Tera-type\n" - "energy if Terrastallized."); + "If the user's Terastallized,\n" + "it hits with its Tera-type."); static const u8 sSilkTrapDescription[] =_( "Protects itself, lowering\n" @@ -3078,7 +3078,7 @@ static const u8 sJetPunchDescription[] = _( "speed to strike first."); static const u8 sSpicyExtractDescription[] = _( - "Sharply boosts target's Attack,\n" + "Sharply ups target's Attack,\n" "harshly lowers its Defense."); static const u8 sSpinOutDescription[] = _( @@ -3094,24 +3094,24 @@ static const u8 sIceSpinnerDescription[] = _( "and destroy the terrain."); static const u8 sGlaiveRushDescription[] = _( - "Enemy attacks next turn always\n" - "hit with double damage."); + "Foe attacks next turn can't\n" + "miss and do double damage."); static const u8 sRevivalBlessingDescription[] = _( "Revives a fainted party {PKMN}\n" "and restores half of its HP."); static const u8 sSaltCureDescription[] = _( - "Perpetually damages foe. Super-\n" - "effective against Steel and Water."); + "Hurts foe every turn. Double\n" + "damage to Steel and Water."); static const u8 sTripleDiveDescription[] = _( - "Hits the target with splashes\n" - "of water three times in a row."); + "Hits target with splashes\n" + "of water 3 times in a row."); static const u8 sMortalSpinDescription[] = _( - "Poisons all foes and eliminates\n" - "trapping moves and Leech Seed."); + "Erases trap moves and Leech\n" + "Seed. Poisons adjecent foes."); static const u8 sDoodleDescription[] = _( "Changes user's and ally's\n" @@ -3122,56 +3122,56 @@ static const u8 sFilletAwayDescription[] = _( "Speed by using its own HP."); static const u8 sKowtowCleaveDescription[] = _( - "Slashes the foe after kowtowing.\n" - "This attack never misses."); + "User slashes the foe after\n" + "kowtowing. It never misses."); static const u8 sFlowerTrickDescription[] = _( - "A bouquet of flowers never misses\n" - "and always lands a critical hit."); + "Rigged bouquet. Always gets\n" + "a critical hit, never missing."); static const u8 sTorchSongDescription[] = _( - "Scorches the target. Boosts the\n" - "user's Sp. Atk."); + "Flames scorch the target.\n" + "Boosts the user's Sp. Atk."); static const u8 sAquaStepDescription[] = _( - "Light and fluid dance steps hit.\n" - "Boosts the user's Speed."); + "Hits with light, fluid dance\n" + "steps. Ups the user's Speed."); static const u8 sRagingBullDescription[] = _( - "A bull-like tackle breaks barriers.\n" - "The type depends on the user's form."); + "Tackle that breaks barriers.\n" + "User's form determines type."); static const u8 sMakeItRainDescription[] = _( - "The user's Sp. Atk stat is lowered.\n" - "Money is earned after battle."); + "Lowers the user's Sp. Atk.\n" + "Money is recovered after."); static const u8 sRuinationDescription[] = _( - "A summoned ruinous disaster cuts\n" - "the target's HP in half."); + "Summons a ruinous disaster\n" + "and cuts half the foe's HP."); static const u8 sCollisionCourseDescription[] = _( - "A massive prehistoric explosion\n" - "that is stronger when supereffective."); + "Prehistoric explosion that's\n" + "stronger if supereffective."); static const u8 sElectroDriftDescription[] = _( - "Futuristic electricity piercing\n" - "that is stronger when supereffective."); + "Futuristic electricity. It's\n" + "stronger if supereffective."); static const u8 sShedTailDescription[] = _( - "Creates a Substitute for itself\n" - "before switching out."); + "Creates a Substitute for\n" + "itself before switching out."); static const u8 sChillyReceptionDescription[] =_( - "A bad joke summons a snowstorm.\n" + "Bad joke summons snowstorm.\n" "The user also switches out."); static const u8 sTidyUpDescription[] = _( - "The user tidies up hazards.\n" - "Its Attack and Speed are raised."); + "User tidies up hazards and\n" + "raises its Attack and Speed."); static const u8 sSnowscapeDescription[] = _( "Summons a snowstorm that\n" - "strikes every turn."); + "lasts for five turns."); static const u8 sPounceDescription[] = _( "The user pounces on the foe,\n" @@ -3186,16 +3186,16 @@ static const u8 sChillingWaterDescription[] = _( "lowers the target's Attack."); static const u8 sHyperDrillDescription[] = _( - "A spinning pointed part pierces\n" - "through a foe's Protect."); + "A spinning pointed part\n" + "bypasses a foe's Protect."); static const u8 sTwinBeamDescription[] = _( - "Mystical beams from the user's\n" - "eyes hit twice in a row."); + "Mystical eye-beams that hit\n" + "the target twice in a row."); static const u8 sRageFistDescription[] = _( - "The more the user has been hit,\n" - "the stronger the move."); + "The more the user has been\n" + "hit, the stronger the move."); static const u8 sArmorCannonDescription[] = _( "A strong attack but lowers\n" From c14fa82f43614f2640a10cf7f69205db62f36cf1 Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Sun, 4 Dec 2022 18:14:27 +0100 Subject: [PATCH 041/130] Fix Headlong Rush description --- src/data/text/move_descriptions.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/data/text/move_descriptions.h b/src/data/text/move_descriptions.h index aa4cec4ea..7000759f7 100644 --- a/src/data/text/move_descriptions.h +++ b/src/data/text/move_descriptions.h @@ -2998,8 +2998,8 @@ static const u8 sVictoryDanceDescription[] = _( "Defense and Speed."); static const u8 sHeadlongRushDescription[] = _( - "Hits with a full-body tackle,\n" - "lowering the users's defenses."); + "Hits with a full-body tackle.\n" + "Lowers the users's defenses."); static const u8 sBarbBarrageDescription[] = _( "Can poison on impact. Powers\n" From dc97a31c31f48bc0c4b79342de7328b2adac4b49 Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Sun, 4 Dec 2022 18:15:35 +0100 Subject: [PATCH 042/130] Change battle_debug.c to MOVES_COUNT --- src/battle_debug.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_debug.c b/src/battle_debug.c index 0868ac030..be7dbf715 100644 --- a/src/battle_debug.c +++ b/src/battle_debug.c @@ -1767,7 +1767,7 @@ static void SetUpModifyArrows(struct BattleDebugMenu *data) break; case LIST_ITEM_MOVES: data->modifyArrows.minValue = 0; - data->modifyArrows.maxValue = MOVES_COUNT_GEN9 - 1; + data->modifyArrows.maxValue = MOVES_COUNT - 1; data->modifyArrows.maxDigits = 3; if (data->currentSecondaryListItemId == 4) { From 5bcb6b8afda3f57c5489a7dfd64b3dc9289002bc Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Sun, 4 Dec 2022 18:16:15 +0100 Subject: [PATCH 043/130] Update B_METRONOME_MOVES --- src/battle_script_commands.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 013faa8dd..1a796e6d4 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -11763,7 +11763,9 @@ static void Cmd_mimicattackcopy(void) static void Cmd_metronome(void) { -#if B_METRONOME_MOVES >= GEN_8 +#if B_METRONOME_MOVES >= GEN_9 + u16 moveCount = MOVES_COUNT_GEN9; +#elif B_METRONOME_MOVES >= GEN_8 u16 moveCount = MOVES_COUNT_GEN8; #elif B_METRONOME_MOVES >= GEN_7 u16 moveCount = MOVES_COUNT_GEN7; From 58a54c90d2bb117cd825d2ec5383a647cc32a7fb Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Sun, 4 Dec 2022 18:16:37 +0100 Subject: [PATCH 044/130] Restore GEN_LATEST to GEN_8 --- include/config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/config.h b/include/config.h index 590972bae..3a2461717 100644 --- a/include/config.h +++ b/include/config.h @@ -71,6 +71,6 @@ #define GEN_7 4 #define GEN_8 5 #define GEN_9 6 -#define GEN_LATEST GEN_9 +#define GEN_LATEST GEN_8 #endif // GUARD_CONFIG_H From b0ead44ee8439b7f556b879aaeb03361d2b62cda Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Sun, 4 Dec 2022 21:23:45 +0100 Subject: [PATCH 045/130] Update battle_tv.c --- src/battle_tv.c | 612 +++++++++++++++++++++++++++++++----------------- 1 file changed, 396 insertions(+), 216 deletions(-) diff --git a/src/battle_tv.c b/src/battle_tv.c index 5a2a96e86..9d2ec244e 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -86,222 +86,402 @@ static const u16 sVariableDmgMoves[] = static const u16 sPoints_MoveEffect[NUM_BATTLE_MOVE_EFFECTS] = { - [EFFECT_HIT] = 1, - [EFFECT_SLEEP] = 1, - [EFFECT_POISON_HIT] = 1, - [EFFECT_ABSORB] = 4, - [EFFECT_BURN_HIT] = 1, - [EFFECT_FREEZE_HIT] = 1, - [EFFECT_PARALYZE_HIT] = 1, - [EFFECT_EXPLOSION] = 0, - [EFFECT_DREAM_EATER] = 5, - [EFFECT_MIRROR_MOVE] = 1, - [EFFECT_ATTACK_UP] = 1, - [EFFECT_DEFENSE_UP] = 1, - [EFFECT_SPEED_UP] = 1, - [EFFECT_SPECIAL_ATTACK_UP] = 1, - [EFFECT_SPECIAL_DEFENSE_UP] = 1, - [EFFECT_ACCURACY_UP] = 1, - [EFFECT_EVASION_UP] = 1, -// [EFFECT_ALWAYS_HIT] = 2, - [EFFECT_ATTACK_DOWN] = 1, - [EFFECT_DEFENSE_DOWN] = 1, - [EFFECT_SPEED_DOWN] = 1, - [EFFECT_SPECIAL_ATTACK_DOWN] = 1, - [EFFECT_SPECIAL_DEFENSE_DOWN] = 1, - [EFFECT_ACCURACY_DOWN] = 1, - [EFFECT_EVASION_DOWN] = 1, - [EFFECT_HAZE] = 5, - [EFFECT_BIDE] = 5, - [EFFECT_RAMPAGE] = 4, - [EFFECT_ROAR] = 5, - [EFFECT_MULTI_HIT] = 1, - [EFFECT_CONVERSION] = 3, - [EFFECT_FLINCH_HIT] = 1, - [EFFECT_RESTORE_HP] = 3, - [EFFECT_TOXIC] = 5, - [EFFECT_PAY_DAY] = 1, - [EFFECT_LIGHT_SCREEN] = 7, - [EFFECT_TRI_ATTACK] = 1, - [EFFECT_REST] = 7, - [EFFECT_OHKO] = 7, -// [EFFECT_RAZOR_WIND] = 1, - [EFFECT_SUPER_FANG] = 5, - [EFFECT_DRAGON_RAGE] = 2, - [EFFECT_TRAP] = 4, -// [EFFECT_HIGH_CRITICAL] = 1, -// [EFFECT_DOUBLE_HIT] = 1, - [EFFECT_RECOIL_IF_MISS] = 1, - [EFFECT_MIST] = 5, - [EFFECT_FOCUS_ENERGY] = 1, - [EFFECT_RECOIL_25] = 2, - [EFFECT_CONFUSE] = 4, - [EFFECT_ATTACK_UP_2] = 1, - [EFFECT_DEFENSE_UP_2] = 1, - [EFFECT_SPEED_UP_2] = 1, - [EFFECT_SPECIAL_ATTACK_UP_2] = 1, - [EFFECT_SPECIAL_DEFENSE_UP_2] = 1, - [EFFECT_ACCURACY_UP_2] = 1, - [EFFECT_EVASION_UP_2] = 1, - [EFFECT_TRANSFORM] = 0, - [EFFECT_ATTACK_DOWN_2] = 1, - [EFFECT_DEFENSE_DOWN_2] = 1, - [EFFECT_SPEED_DOWN_2] = 1, - [EFFECT_SPECIAL_ATTACK_DOWN_2] = 1, - [EFFECT_SPECIAL_DEFENSE_DOWN_2] = 1, - [EFFECT_ACCURACY_DOWN_2] = 1, - [EFFECT_EVASION_DOWN_2] = 1, - [EFFECT_REFLECT] = 7, - [EFFECT_POISON] = 4, - [EFFECT_PARALYZE] = 4, - [EFFECT_ATTACK_DOWN_HIT] = 1, - [EFFECT_DEFENSE_DOWN_HIT] = 1, - [EFFECT_SPEED_DOWN_HIT] = 1, - [EFFECT_SPECIAL_ATTACK_DOWN_HIT] = 1, - [EFFECT_SPECIAL_DEFENSE_DOWN_HIT] = 1, - [EFFECT_ACCURACY_DOWN_HIT] = 1, - [EFFECT_EVASION_DOWN_HIT] = 1, -// [EFFECT_SKY_ATTACK] = 4, - [EFFECT_CONFUSE_HIT] = 1, -// [EFFECT_TWINEEDLE] = 1, - [EFFECT_VITAL_THROW] = 1, - [EFFECT_SUBSTITUTE] = 4, - [EFFECT_RECHARGE] = 5, - [EFFECT_RAGE] = 2, - [EFFECT_MIMIC] = 4, - [EFFECT_METRONOME] = 1, - [EFFECT_LEECH_SEED] = 4, - [EFFECT_DO_NOTHING] = 1, - [EFFECT_DISABLE] = 7, - [EFFECT_LEVEL_DAMAGE] = 2, - [EFFECT_PSYWAVE] = 1, - [EFFECT_COUNTER] = 5, - [EFFECT_ENCORE] = 7, - [EFFECT_PAIN_SPLIT] = 3, - [EFFECT_SNORE] = 3, - [EFFECT_CONVERSION_2] = 4, - [EFFECT_LOCK_ON] = 3, - [EFFECT_SKETCH] = 3, -// [EFFECT_UNUSED_60] = 3, - [EFFECT_SLEEP_TALK] = 3, - [EFFECT_DESTINY_BOND] = 3, - [EFFECT_FLAIL] = 2, - [EFFECT_SPITE] = 4, - [EFFECT_FALSE_SWIPE] = 1, - [EFFECT_HEAL_BELL] = 5, -// [EFFECT_QUICK_ATTACK] = 1, - [EFFECT_TRIPLE_KICK] = 1, - [EFFECT_THIEF] = 4, - [EFFECT_MEAN_LOOK] = 5, - [EFFECT_NIGHTMARE] = 3, - [EFFECT_MINIMIZE] = 1, - [EFFECT_CURSE] = 2, -// [EFFECT_UNUSED_6E] = 1, - [EFFECT_PROTECT] = 5, - [EFFECT_SPIKES] = 4, - [EFFECT_FORESIGHT] = 3, - [EFFECT_PERISH_SONG] = 6, - [EFFECT_SANDSTORM] = 4, - [EFFECT_ENDURE] = 3, - [EFFECT_ROLLOUT] = 3, - [EFFECT_SWAGGER] = 3, - [EFFECT_FURY_CUTTER] = 2, - [EFFECT_ATTRACT] = 4, - [EFFECT_RETURN] = 1, - [EFFECT_PRESENT] = 1, - [EFFECT_FRUSTRATION] = 1, - [EFFECT_SAFEGUARD] = 5, -// [EFFECT_THAW_HIT] = 1, Now unused - [EFFECT_MAGNITUDE] = 1, - [EFFECT_BATON_PASS] = 7, - [EFFECT_PURSUIT] = 2, - [EFFECT_RAPID_SPIN] = 2, - [EFFECT_SONICBOOM] = 1, -// [EFFECT_UNUSED_83] = 1, - [EFFECT_MORNING_SUN] = 4, - [EFFECT_SYNTHESIS] = 4, - [EFFECT_MOONLIGHT] = 4, - [EFFECT_HIDDEN_POWER] = 1, - [EFFECT_RAIN_DANCE] = 4, - [EFFECT_SUNNY_DAY] = 4, - [EFFECT_DEFENSE_UP_HIT] = 1, - [EFFECT_ATTACK_UP_HIT] = 1, - [EFFECT_ALL_STATS_UP_HIT] = 1, -// [EFFECT_UNUSED_8D] = 1, - [EFFECT_BELLY_DRUM] = 7, - [EFFECT_PSYCH_UP] = 7, - [EFFECT_MIRROR_COAT] = 6, - [EFFECT_SKULL_BASH] = 3, - [EFFECT_TWISTER] = 1, - [EFFECT_EARTHQUAKE] = 1, - [EFFECT_FUTURE_SIGHT] = 1, - [EFFECT_GUST] = 1, - [EFFECT_FLINCH_MINIMIZE_HIT] = 1, - [EFFECT_SOLAR_BEAM] = 1, - [EFFECT_THUNDER] = 1, - [EFFECT_TELEPORT] = 1, - [EFFECT_BEAT_UP] = 2, - [EFFECT_SEMI_INVULNERABLE] = 3, - [EFFECT_DEFENSE_CURL] = 1, - [EFFECT_SOFTBOILED] = 1, - [EFFECT_FAKE_OUT] = 4, - [EFFECT_UPROAR] = 4, - [EFFECT_STOCKPILE] = 3, - [EFFECT_SPIT_UP] = 3, - [EFFECT_SWALLOW] = 3, -// [EFFECT_UNUSED_A3] = 1, - [EFFECT_HAIL] = 4, - [EFFECT_TORMENT] = 7, - [EFFECT_FLATTER] = 7, - [EFFECT_WILL_O_WISP] = 5, - [EFFECT_MEMENTO] = 7, - [EFFECT_FACADE] = 1, - [EFFECT_FOCUS_PUNCH] = 7, - [EFFECT_SMELLINGSALT] = 1, - [EFFECT_FOLLOW_ME] = 5, - [EFFECT_NATURE_POWER] = 0, - [EFFECT_CHARGE] = 4, - [EFFECT_TAUNT] = 4, - [EFFECT_HELPING_HAND] = 4, - [EFFECT_TRICK] = 4, - [EFFECT_ROLE_PLAY] = 4, - [EFFECT_WISH] = 2, - [EFFECT_ASSIST] = 2, - [EFFECT_INGRAIN] = 6, - [EFFECT_SUPERPOWER] = 3, - [EFFECT_MAGIC_COAT] = 6, - [EFFECT_RECYCLE] = 4, - [EFFECT_REVENGE] = 4, - [EFFECT_BRICK_BREAK] = 2, - [EFFECT_YAWN] = 5, - [EFFECT_KNOCK_OFF] = 2, - [EFFECT_ENDEAVOR] = 1, - [EFFECT_ERUPTION] = 1, - [EFFECT_SKILL_SWAP] = 6, - [EFFECT_IMPRISON] = 6, - [EFFECT_REFRESH] = 6, - [EFFECT_GRUDGE] = 1, - [EFFECT_SNATCH] = 1, - [EFFECT_LOW_KICK] = 1, - [EFFECT_SECRET_POWER] = 1, - [EFFECT_RECOIL_33] = 2, - [EFFECT_TEETER_DANCE] = 6, -// [EFFECT_BLAZE_KICK] = 1, - [EFFECT_MUD_SPORT] = 4, - [EFFECT_POISON_FANG] = 1, - [EFFECT_WEATHER_BALL] = 1, - [EFFECT_OVERHEAT] = 3, - [EFFECT_TICKLE] = 1, - [EFFECT_COSMIC_POWER] = 1, - [EFFECT_SKY_UPPERCUT] = 1, - [EFFECT_BULK_UP] = 1, -// [EFFECT_POISON_TAIL] = 1, - [EFFECT_WATER_SPORT] = 4, - [EFFECT_CALM_MIND] = 1, - [EFFECT_DRAGON_DANCE] = 1, - [EFFECT_CAMOUFLAGE] = 3, - [EFFECT_SLEEP_HIT] = 1, - [EFFECT_SPECIAL_ATTACK_UP_HIT] = 1, + [EFFECT_HIT] = 1, + [EFFECT_SLEEP] = 1, + [EFFECT_POISON_HIT] = 1, + [EFFECT_ABSORB] = 4, + [EFFECT_BURN_HIT] = 1, + [EFFECT_FREEZE_HIT] = 1, + [EFFECT_PARALYZE_HIT] = 1, + [EFFECT_EXPLOSION] = 0, + [EFFECT_DREAM_EATER] = 5, + [EFFECT_MIRROR_MOVE] = 1, + [EFFECT_ATTACK_UP] = 1, + [EFFECT_DEFENSE_UP] = 1, + [EFFECT_SPEED_UP] = 1, + [EFFECT_SPECIAL_ATTACK_UP] = 1, + [EFFECT_SPECIAL_DEFENSE_UP] = 1, + [EFFECT_ACCURACY_UP] = 1, + [EFFECT_EVASION_UP] = 1, +// [EFFECT_ALWAYS_HIT] = 2, + [EFFECT_ATTACK_DOWN] = 1, + [EFFECT_DEFENSE_DOWN] = 1, + [EFFECT_SPEED_DOWN] = 1, + [EFFECT_SPECIAL_ATTACK_DOWN] = 1, + [EFFECT_SPECIAL_DEFENSE_DOWN] = 1, + [EFFECT_ACCURACY_DOWN] = 1, + [EFFECT_EVASION_DOWN] = 1, + [EFFECT_HAZE] = 5, + [EFFECT_BIDE] = 5, + [EFFECT_RAMPAGE] = 4, + [EFFECT_ROAR] = 5, + [EFFECT_MULTI_HIT] = 1, + [EFFECT_CONVERSION] = 3, + [EFFECT_FLINCH_HIT] = 1, + [EFFECT_RESTORE_HP] = 3, + [EFFECT_TOXIC] = 5, + [EFFECT_PAY_DAY] = 1, + [EFFECT_LIGHT_SCREEN] = 7, + [EFFECT_TRI_ATTACK] = 1, + [EFFECT_REST] = 7, + [EFFECT_OHKO] = 7, +// [EFFECT_RAZOR_WIND] = 1, + [EFFECT_SUPER_FANG] = 5, + [EFFECT_DRAGON_RAGE] = 2, + [EFFECT_TRAP] = 4, +// [EFFECT_HIGH_CRITICAL] = 1, +// [EFFECT_DOUBLE_HIT] = 1, + [EFFECT_RECOIL_IF_MISS] = 1, + [EFFECT_MIST] = 5, + [EFFECT_FOCUS_ENERGY] = 1, + [EFFECT_RECOIL_25] = 2, + [EFFECT_CONFUSE] = 4, + [EFFECT_ATTACK_UP_2] = 1, + [EFFECT_DEFENSE_UP_2] = 1, + [EFFECT_SPEED_UP_2] = 1, + [EFFECT_SPECIAL_ATTACK_UP_2] = 1, + [EFFECT_SPECIAL_DEFENSE_UP_2] = 1, + [EFFECT_ACCURACY_UP_2] = 1, + [EFFECT_EVASION_UP_2] = 1, + [EFFECT_TRANSFORM] = 0, + [EFFECT_ATTACK_DOWN_2] = 1, + [EFFECT_DEFENSE_DOWN_2] = 1, + [EFFECT_SPEED_DOWN_2] = 1, + [EFFECT_SPECIAL_ATTACK_DOWN_2] = 1, + [EFFECT_SPECIAL_DEFENSE_DOWN_2] = 1, + [EFFECT_ACCURACY_DOWN_2] = 1, + [EFFECT_EVASION_DOWN_2] = 1, + [EFFECT_REFLECT] = 7, + [EFFECT_POISON] = 4, + [EFFECT_PARALYZE] = 4, + [EFFECT_ATTACK_DOWN_HIT] = 1, + [EFFECT_DEFENSE_DOWN_HIT] = 1, + [EFFECT_SPEED_DOWN_HIT] = 1, + [EFFECT_SPECIAL_ATTACK_DOWN_HIT] = 1, + [EFFECT_SPECIAL_DEFENSE_DOWN_HIT] = 1, + [EFFECT_ACCURACY_DOWN_HIT] = 1, + [EFFECT_EVASION_DOWN_HIT] = 1, +// [EFFECT_SKY_ATTACK] = 4, + [EFFECT_CONFUSE_HIT] = 1, +// [EFFECT_TWINEEDLE] = 1, + [EFFECT_VITAL_THROW] = 1, + [EFFECT_SUBSTITUTE] = 4, + [EFFECT_RECHARGE] = 5, + [EFFECT_RAGE] = 2, + [EFFECT_MIMIC] = 4, + [EFFECT_METRONOME] = 1, + [EFFECT_LEECH_SEED] = 4, + [EFFECT_DO_NOTHING] = 1, + [EFFECT_DISABLE] = 7, + [EFFECT_LEVEL_DAMAGE] = 2, + [EFFECT_PSYWAVE] = 1, + [EFFECT_COUNTER] = 5, + [EFFECT_ENCORE] = 7, + [EFFECT_PAIN_SPLIT] = 3, + [EFFECT_SNORE] = 3, + [EFFECT_CONVERSION_2] = 4, + [EFFECT_LOCK_ON] = 3, + [EFFECT_SKETCH] = 3, +// [EFFECT_UNUSED_60] = 3, + [EFFECT_SLEEP_TALK] = 3, + [EFFECT_DESTINY_BOND] = 3, + [EFFECT_FLAIL] = 2, + [EFFECT_SPITE] = 4, + [EFFECT_FALSE_SWIPE] = 1, + [EFFECT_HEAL_BELL] = 5, +// [EFFECT_QUICK_ATTACK] = 1, + [EFFECT_TRIPLE_KICK] = 1, + [EFFECT_THIEF] = 4, + [EFFECT_MEAN_LOOK] = 5, + [EFFECT_NIGHTMARE] = 3, + [EFFECT_MINIMIZE] = 1, + [EFFECT_CURSE] = 2, +// [EFFECT_UNUSED_6E] = 1, + [EFFECT_PROTECT] = 5, + [EFFECT_SPIKES] = 4, + [EFFECT_FORESIGHT] = 3, + [EFFECT_PERISH_SONG] = 6, + [EFFECT_SANDSTORM] = 4, + [EFFECT_ENDURE] = 3, + [EFFECT_ROLLOUT] = 3, + [EFFECT_SWAGGER] = 3, + [EFFECT_FURY_CUTTER] = 2, + [EFFECT_ATTRACT] = 4, + [EFFECT_RETURN] = 1, + [EFFECT_PRESENT] = 1, + [EFFECT_FRUSTRATION] = 1, + [EFFECT_SAFEGUARD] = 5, +// [EFFECT_THAW_HIT] = 1, Now unused + [EFFECT_MAGNITUDE] = 1, + [EFFECT_BATON_PASS] = 7, + [EFFECT_PURSUIT] = 2, + [EFFECT_RAPID_SPIN] = 2, + [EFFECT_SONICBOOM] = 1, +// [EFFECT_UNUSED_83] = 1, + [EFFECT_MORNING_SUN] = 4, + [EFFECT_SYNTHESIS] = 4, + [EFFECT_MOONLIGHT] = 4, + [EFFECT_HIDDEN_POWER] = 1, + [EFFECT_RAIN_DANCE] = 4, + [EFFECT_SUNNY_DAY] = 4, + [EFFECT_DEFENSE_UP_HIT] = 1, + [EFFECT_ATTACK_UP_HIT] = 1, + [EFFECT_ALL_STATS_UP_HIT] = 1, +// [EFFECT_UNUSED_8D] = 1, + [EFFECT_BELLY_DRUM] = 7, + [EFFECT_PSYCH_UP] = 7, + [EFFECT_MIRROR_COAT] = 6, + [EFFECT_SKULL_BASH] = 3, + [EFFECT_TWISTER] = 1, + [EFFECT_EARTHQUAKE] = 1, + [EFFECT_FUTURE_SIGHT] = 1, + [EFFECT_GUST] = 1, + [EFFECT_FLINCH_MINIMIZE_HIT] = 1, + [EFFECT_SOLAR_BEAM] = 1, + [EFFECT_THUNDER] = 1, + [EFFECT_TELEPORT] = 1, + [EFFECT_BEAT_UP] = 2, + [EFFECT_SEMI_INVULNERABLE] = 3, + [EFFECT_DEFENSE_CURL] = 1, + [EFFECT_SOFTBOILED] = 1, + [EFFECT_FAKE_OUT] = 4, + [EFFECT_UPROAR] = 4, + [EFFECT_STOCKPILE] = 3, + [EFFECT_SPIT_UP] = 3, + [EFFECT_SWALLOW] = 3, +// [EFFECT_UNUSED_A3] = 1, + [EFFECT_HAIL] = 4, + [EFFECT_TORMENT] = 7, + [EFFECT_FLATTER] = 7, + [EFFECT_WILL_O_WISP] = 5, + [EFFECT_MEMENTO] = 7, + [EFFECT_FACADE] = 1, + [EFFECT_FOCUS_PUNCH] = 7, + [EFFECT_SMELLINGSALT] = 1, + [EFFECT_FOLLOW_ME] = 5, + [EFFECT_NATURE_POWER] = 0, + [EFFECT_CHARGE] = 4, + [EFFECT_TAUNT] = 4, + [EFFECT_HELPING_HAND] = 4, + [EFFECT_TRICK] = 4, + [EFFECT_ROLE_PLAY] = 4, + [EFFECT_WISH] = 2, + [EFFECT_ASSIST] = 2, + [EFFECT_INGRAIN] = 6, + [EFFECT_SUPERPOWER] = 3, + [EFFECT_MAGIC_COAT] = 6, + [EFFECT_RECYCLE] = 4, + [EFFECT_REVENGE] = 4, + [EFFECT_BRICK_BREAK] = 2, + [EFFECT_YAWN] = 5, + [EFFECT_KNOCK_OFF] = 2, + [EFFECT_ENDEAVOR] = 1, + [EFFECT_ERUPTION] = 1, + [EFFECT_SKILL_SWAP] = 6, + [EFFECT_IMPRISON] = 6, + [EFFECT_REFRESH] = 6, + [EFFECT_GRUDGE] = 1, + [EFFECT_SNATCH] = 1, + [EFFECT_LOW_KICK] = 1, + [EFFECT_SECRET_POWER] = 1, + [EFFECT_RECOIL_33] = 2, + [EFFECT_TEETER_DANCE] = 6, +// [EFFECT_BLAZE_KICK] = 1, + [EFFECT_MUD_SPORT] = 4, + [EFFECT_POISON_FANG] = 1, + [EFFECT_WEATHER_BALL] = 1, + [EFFECT_OVERHEAT] = 3, + [EFFECT_TICKLE] = 1, + [EFFECT_COSMIC_POWER] = 1, + [EFFECT_SKY_UPPERCUT] = 1, + [EFFECT_BULK_UP] = 1, +// [EFFECT_POISON_TAIL] = 1, + [EFFECT_WATER_SPORT] = 4, + [EFFECT_CALM_MIND] = 1, + [EFFECT_DRAGON_DANCE] = 1, + [EFFECT_CAMOUFLAGE] = 3, + [EFFECT_PLEDGE] = 0, // TODO: Assign points + [EFFECT_FLING] = 0, // TODO: Assign points + [EFFECT_NATURAL_GIFT] = 0, // TODO: Assign points + [EFFECT_WAKE_UP_SLAP] = 0, // TODO: Assign points + [EFFECT_WRING_OUT] = 0, // TODO: Assign points + [EFFECT_HEX] = 0, // TODO: Assign points + [EFFECT_ASSURANCE] = 0, // TODO: Assign points + [EFFECT_TRUMP_CARD] = 0, // TODO: Assign points + [EFFECT_ACROBATICS] = 0, // TODO: Assign points + [EFFECT_HEAT_CRASH] = 0, // TODO: Assign points + [EFFECT_PUNISHMENT] = 0, // TODO: Assign points + [EFFECT_STORED_POWER] = 0, // TODO: Assign points + [EFFECT_ELECTRO_BALL] = 0, // TODO: Assign points + [EFFECT_GYRO_BALL] = 0, // TODO: Assign points + [EFFECT_ECHOED_VOICE] = 0, // TODO: Assign points + [EFFECT_PAYBACK] = 0, // TODO: Assign points + [EFFECT_ROUND] = 0, // TODO: Assign points + [EFFECT_BRINE] = 0, // TODO: Assign points + [EFFECT_VENOSHOCK] = 0, // TODO: Assign points + [EFFECT_RETALIATE] = 0, // TODO: Assign points + [EFFECT_BULLDOZE] = 0, // TODO: Assign points + [EFFECT_FOUL_PLAY] = 0, // TODO: Assign points + [EFFECT_PSYSHOCK] = 0, // TODO: Assign points + [EFFECT_ROOST] = 0, // TODO: Assign points + [EFFECT_GRAVITY] = 0, // TODO: Assign points + [EFFECT_MIRACLE_EYE] = 0, // TODO: Assign points + [EFFECT_TAILWIND] = 0, // TODO: Assign points + [EFFECT_EMBARGO] = 0, // TODO: Assign points + [EFFECT_AQUA_RING] = 0, // TODO: Assign points + [EFFECT_TRICK_ROOM] = 0, // TODO: Assign points + [EFFECT_WONDER_ROOM] = 0, // TODO: Assign points + [EFFECT_MAGIC_ROOM] = 0, // TODO: Assign points + [EFFECT_MAGNET_RISE] = 0, // TODO: Assign points + [EFFECT_TOXIC_SPIKES] = 0, // TODO: Assign points + [EFFECT_GASTRO_ACID] = 0, // TODO: Assign points + [EFFECT_STEALTH_ROCK] = 0, // TODO: Assign points + [EFFECT_TELEKINESIS] = 0, // TODO: Assign points + [EFFECT_POWER_SWAP] = 0, // TODO: Assign points + [EFFECT_GUARD_SWAP] = 0, // TODO: Assign points + [EFFECT_HEART_SWAP] = 0, // TODO: Assign points + [EFFECT_POWER_SPLIT] = 0, // TODO: Assign points + [EFFECT_GUARD_SPLIT] = 0, // TODO: Assign points + [EFFECT_STICKY_WEB] = 0, // TODO: Assign points + [EFFECT_METAL_BURST] = 0, // TODO: Assign points + [EFFECT_LUCKY_CHANT] = 0, // TODO: Assign points + [EFFECT_SUCKER_PUNCH] = 0, // TODO: Assign points + [EFFECT_SPECIAL_DEFENSE_DOWN_HIT_2] = 0, // TODO: Assign points + [EFFECT_SIMPLE_BEAM] = 0, // TODO: Assign points + [EFFECT_ENTRAINMENT] = 0, // TODO: Assign points + [EFFECT_HEAL_PULSE] = 0, // TODO: Assign points + [EFFECT_QUASH] = 0, // TODO: Assign points + [EFFECT_ION_DELUGE] = 0, // TODO: Assign points + [EFFECT_FREEZE_DRY] = 0, // TODO: Assign points + [EFFECT_TOPSY_TURVY] = 0, // TODO: Assign points + [EFFECT_MISTY_TERRAIN] = 0, // TODO: Assign points + [EFFECT_GRASSY_TERRAIN] = 0, // TODO: Assign points + [EFFECT_ELECTRIC_TERRAIN] = 0, // TODO: Assign points + [EFFECT_PSYCHIC_TERRAIN] = 0, // TODO: Assign points + [EFFECT_ATTACK_ACCURACY_UP] = 0, // TODO: Assign points + [EFFECT_ATTACK_SPATK_UP] = 0, // TODO: Assign points + [EFFECT_HURRICANE] = 0, // TODO: Assign points + [EFFECT_TWO_TYPED_MOVE] = 0, // TODO: Assign points + [EFFECT_ME_FIRST] = 0, // TODO: Assign points + [EFFECT_SPEED_UP_HIT] = 0, // TODO: Assign points + [EFFECT_QUIVER_DANCE] = 0, // TODO: Assign points + [EFFECT_COIL] = 0, // TODO: Assign points + [EFFECT_ELECTRIFY] = 0, // TODO: Assign points + [EFFECT_SCALD] = 0, // TODO: Assign points + [EFFECT_REFLECT_TYPE] = 0, // TODO: Assign points + [EFFECT_SOAK] = 0, // TODO: Assign points + [EFFECT_GROWTH] = 0, // TODO: Assign points + [EFFECT_CLOSE_COMBAT] = 0, // TODO: Assign points + [EFFECT_LAST_RESORT] = 0, // TODO: Assign points + [EFFECT_RECOIL_33_STATUS] = 0, // TODO: Assign points + [EFFECT_FLINCH_STATUS] = 0, // TODO: Assign points + [EFFECT_RECOIL_50] = 0, // TODO: Assign points + [EFFECT_SHELL_SMASH] = 0, // TODO: Assign points + [EFFECT_SHIFT_GEAR] = 0, // TODO: Assign points + [EFFECT_DEFENSE_UP_3] = 0, // TODO: Assign points + [EFFECT_NOBLE_ROAR] = 0, // TODO: Assign points + [EFFECT_VENOM_DRENCH] = 0, // TODO: Assign points + [EFFECT_TOXIC_THREAD] = 0, // TODO: Assign points + [EFFECT_CLEAR_SMOG] = 0, // TODO: Assign points + [EFFECT_HIT_SWITCH_TARGET] = 0, // TODO: Assign points + [EFFECT_FINAL_GAMBIT] = 0, // TODO: Assign points + [EFFECT_CHANGE_TYPE_ON_ITEM] = 0, // TODO: Assign points + [EFFECT_AUTOTOMIZE] = 0, // TODO: Assign points + [EFFECT_COPYCAT] = 0, // TODO: Assign points + [EFFECT_DEFOG] = 0, // TODO: Assign points + [EFFECT_HIT_ENEMY_HEAL_ALLY] = 0, // TODO: Assign points + [EFFECT_SMACK_DOWN] = 0, // TODO: Assign points + [EFFECT_SYNCHRONOISE] = 0, // TODO: Assign points + [EFFECT_PSYCHO_SHIFT] = 0, // TODO: Assign points + [EFFECT_POWER_TRICK] = 0, // TODO: Assign points + [EFFECT_FLAME_BURST] = 0, // TODO: Assign points + [EFFECT_AFTER_YOU] = 0, // TODO: Assign points + [EFFECT_BESTOW] = 0, // TODO: Assign points + [EFFECT_ROTOTILLER] = 0, // TODO: Assign points + [EFFECT_FLOWER_SHIELD] = 0, // TODO: Assign points + [EFFECT_HIT_PREVENT_ESCAPE] = 0, // TODO: Assign points + [EFFECT_SPEED_SWAP] = 0, // TODO: Assign points + [EFFECT_DEFENSE_UP2_HIT] = 0, // TODO: Assign points + [EFFECT_REVELATION_DANCE] = 0, // TODO: Assign points + [EFFECT_AURORA_VEIL] = 0, // TODO: Assign points + [EFFECT_THIRD_TYPE] = 0, // TODO: Assign points + [EFFECT_FEINT] = 0, // TODO: Assign points + [EFFECT_SPARKLING_ARIA] = 0, // TODO: Assign points + [EFFECT_ACUPRESSURE] = 0, // TODO: Assign points + [EFFECT_AROMATIC_MIST] = 0, // TODO: Assign points + [EFFECT_POWDER] = 0, // TODO: Assign points + [EFFECT_SP_ATTACK_UP_HIT] = 0, // TODO: Assign points + [EFFECT_BELCH] = 0, // TODO: Assign points + [EFFECT_PARTING_SHOT] = 0, // TODO: Assign points + [EFFECT_SPECTRAL_THIEF] = 0, // TODO: Assign points + [EFFECT_V_CREATE] = 0, // TODO: Assign points + [EFFECT_MAT_BLOCK] = 0, // TODO: Assign points + [EFFECT_STOMPING_TANTRUM] = 0, // TODO: Assign points + [EFFECT_CORE_ENFORCER] = 0, // TODO: Assign points + [EFFECT_INSTRUCT] = 0, // TODO: Assign points + [EFFECT_THROAT_CHOP] = 0, // TODO: Assign points + [EFFECT_LASER_FOCUS] = 0, // TODO: Assign points + [EFFECT_MAGNETIC_FLUX] = 0, // TODO: Assign points + [EFFECT_GEAR_UP] = 0, // TODO: Assign points + [EFFECT_INCINERATE] = 0, // TODO: Assign points + [EFFECT_BUG_BITE] = 0, // TODO: Assign points + [EFFECT_STRENGTH_SAP] = 0, // TODO: Assign points + [EFFECT_MIND_BLOWN] = 0, // TODO: Assign points + [EFFECT_PURIFY] = 0, // TODO: Assign points + [EFFECT_BURN_UP] = 0, // TODO: Assign points + [EFFECT_SHORE_UP] = 0, // TODO: Assign points + [EFFECT_GEOMANCY] = 0, // TODO: Assign points + [EFFECT_FAIRY_LOCK] = 0, // TODO: Assign points + [EFFECT_ALLY_SWITCH] = 0, // TODO: Assign points + [EFFECT_RELIC_SONG] = 0, // TODO: Assign points + [EFFECT_ATTACKER_DEFENSE_DOWN_HIT] = 0, // TODO: Assign points + [EFFECT_BODY_PRESS] = 0, // TODO: Assign points + [EFFECT_EERIE_SPELL] = 0, // TODO: Assign points + [EFFECT_JUNGLE_HEALING] = 0, // TODO: Assign points + [EFFECT_COACHING] = 0, // TODO: Assign points + [EFFECT_LASH_OUT] = 0, // TODO: Assign points + [EFFECT_GRASSY_GLIDE] = 0, // TODO: Assign points + [EFFECT_REMOVE_TERRAIN] = 0, // TODO: Assign points + [EFFECT_DYNAMAX_DOUBLE_DMG] = 0, // TODO: Assign points + [EFFECT_DECORATE] = 0, // TODO: Assign points + [EFFECT_SNIPE_SHOT] = 0, // TODO: Assign points + [EFFECT_RECOIL_HP_25] = 0, // TODO: Assign points + [EFFECT_STUFF_CHEEKS] = 0, // TODO: Assign points + [EFFECT_GRAV_APPLE] = 0, // TODO: Assign points + [EFFECT_EVASION_UP_HIT] = 0, // TODO: Assign points + [EFFECT_GLITZY_GLOW] = 0, // TODO: Assign points + [EFFECT_BADDY_BAD] = 0, // TODO: Assign points + [EFFECT_SAPPY_SEED] = 0, // TODO: Assign points + [EFFECT_FREEZY_FROST] = 0, // TODO: Assign points + [EFFECT_SPARKLY_SWIRL] = 0, // TODO: Assign points + [EFFECT_PLASMA_FISTS] = 0, // TODO: Assign points + [EFFECT_HYPERSPACE_FURY] = 0, // TODO: Assign points + [EFFECT_AURA_WHEEL] = 0, // TODO: Assign points + [EFFECT_PHOTON_GEYSER] = 0, // TODO: Assign points + [EFFECT_SHELL_SIDE_ARM] = 0, // TODO: Assign points + [EFFECT_TERRAIN_PULSE] = 0, // TODO: Assign points + [EFFECT_JAW_LOCK] = 0, // TODO: Assign points + [EFFECT_NO_RETREAT] = 0, // TODO: Assign points + [EFFECT_TAR_SHOT] = 0, // TODO: Assign points + [EFFECT_POLTERGEIST] = 0, // TODO: Assign points + [EFFECT_OCTOLOCK] = 0, // TODO: Assign points + [EFFECT_CLANGOROUS_SOUL] = 0, // TODO: Assign points + [EFFECT_BOLT_BEAK] = 0, // TODO: Assign points + [EFFECT_SKY_DROP] = 0, // TODO: Assign points + [EFFECT_EXPANDING_FORCE] = 0, // TODO: Assign points + [EFFECT_SCALE_SHOT] = 0, // TODO: Assign points + [EFFECT_METEOR_BEAM] = 0, // TODO: Assign points + [EFFECT_RISING_VOLTAGE] = 0, // TODO: Assign points + [EFFECT_BEAK_BLAST] = 0, // TODO: Assign points + [EFFECT_COURT_CHANGE] = 0, // TODO: Assign points + [EFFECT_STEEL_BEAM] = 0, // TODO: Assign points + [EFFECT_EXTREME_EVOBOOST] = 0, // TODO: Assign points + [EFFECT_DAMAGE_SET_TERRAIN] = 0, // TODO: Assign points + [EFFECT_DARK_VOID] = 0, // TODO: Assign points + [EFFECT_SLEEP_HIT] = 1, + [EFFECT_DOUBLE_SHOCK] = 0, // TODO: Assign points + [EFFECT_SPECIAL_ATTACK_UP_HIT] = 1, + [EFFECT_VICTORY_DANCE] = 0, // TODO: Assign points }; static const u16 sPoints_Effectiveness[] = From 06ab4fc842a295be474aa8783015250749a9f1a5 Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Sun, 4 Dec 2022 21:56:40 +0100 Subject: [PATCH 046/130] Update move flags --- src/data/battle_moves.h | 108 ++++++++++++++++++++-------------------- 1 file changed, 53 insertions(+), 55 deletions(-) diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 3ea9cd716..ef4d15039 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -13286,7 +13286,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 120, .zMoveEffect = Z_EFFECT_NONE, @@ -13302,7 +13302,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 140, .zMoveEffect = Z_EFFECT_NONE, @@ -13318,7 +13318,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, + .flags = FLAG_MIRROR_MOVE_AFFECTED, .split = SPLIT_STATUS, .zMovePower = 100, .zMoveEffect = Z_EFFECT_NONE, @@ -13334,7 +13334,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 120, .zMoveEffect = Z_EFFECT_NONE, @@ -13354,7 +13354,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMovePower = 175, .zMoveEffect = Z_EFFECT_NONE, @@ -13370,7 +13370,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMovePower = 140, .zMoveEffect = Z_EFFECT_NONE, @@ -13446,7 +13446,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 180, .zMoveEffect = Z_EFFECT_NONE, @@ -13498,7 +13498,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 120, .zMoveEffect = Z_EFFECT_NONE, @@ -13518,7 +13518,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMovePower = 140, .zMoveEffect = Z_EFFECT_NONE, @@ -13538,7 +13538,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMovePower = 120, .zMoveEffect = Z_EFFECT_NONE, @@ -13554,7 +13554,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_USER, .priority = 0, - .flags = 0, + .flags = FLAG_SNATCH_AFFECTED, .split = SPLIT_STATUS, .zMovePower = 100, .zMoveEffect = Z_EFFECT_NONE, @@ -13574,7 +13574,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 100, .zMoveEffect = Z_EFFECT_NONE, @@ -13590,7 +13590,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMovePower = 120, .zMoveEffect = Z_EFFECT_NONE, @@ -13606,7 +13606,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 120, .zMoveEffect = Z_EFFECT_NONE, @@ -13627,7 +13627,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMovePower = 175, .zMoveEffect = Z_EFFECT_NONE, @@ -13648,7 +13648,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMovePower = 175, .zMoveEffect = Z_EFFECT_NONE, @@ -13669,7 +13669,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 20, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMovePower = 175, .zMoveEffect = Z_EFFECT_NONE, @@ -13749,7 +13749,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 190, .zMoveEffect = Z_EFFECT_NONE @@ -13781,7 +13781,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMovePower = 160, .zMoveEffect = Z_EFFECT_NONE @@ -13797,7 +13797,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED, // No King's Rock I believe? I may be mistaken + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 160, .zMoveEffect = Z_EFFECT_NONE @@ -13813,7 +13813,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 1, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_IRON_FIST_BOOST, // I assume Iron Fist is relevant here, but untested + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 120, .zMoveEffect = Z_EFFECT_NONE, @@ -13825,7 +13825,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .effect = EFFECT_PLACEHOLDER, // EFFECT_SPICY_EXTRACT .power = 0, .type = TYPE_GRASS, - .accuracy = 0, // Supposedly never misses? needs a double check? + .accuracy = 0, .pp = 15, .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, @@ -13847,7 +13847,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMovePower = 180, .zMoveEffect = Z_EFFECT_NONE @@ -13863,7 +13863,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, // | FLAG_SLICING_MOVE, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, // | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMovePower = 40, .zMoveEffect = Z_EFFECT_NONE, @@ -13880,7 +13880,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMovePower = 160, .zMoveEffect = Z_EFFECT_NONE, @@ -13897,7 +13897,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMovePower = 190, .zMoveEffect = Z_EFFECT_NONE @@ -13930,7 +13930,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 80, .zMoveEffect = Z_EFFECT_NONE, @@ -13963,7 +13963,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 60, .zMoveEffect = Z_EFFECT_NONE @@ -13977,9 +13977,9 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .accuracy = 100, .pp = 10, .secondaryEffectChance = 0, - .target = MOVE_TARGET_SELECTED, // Supposedly unconfirmed? + .target = MOVE_TARGET_FOES_AND_ALLY, // Supposedly unconfirmed? .priority = 0, - .flags = 0, + .flags = 0, // TO VERIFY .split = SPLIT_STATUS, .zMovePower = 0, .zMoveEffect = Z_EFFECT_NONE, @@ -14045,7 +14045,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_SOUND, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SOUND | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_SPECIAL, .zMovePower = 160, .zMoveEffect = Z_EFFECT_NONE, @@ -14061,7 +14061,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_DANCE, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_DANCE | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 160, .zMoveEffect = Z_EFFECT_NONE, @@ -14077,7 +14077,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, // TO VERIFY .split = SPLIT_PHYSICAL, .zMovePower = 175, .zMoveEffect = Z_EFFECT_NONE, @@ -14094,7 +14094,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMovePower = 190, .zMoveEffect = Z_EFFECT_NONE, @@ -14111,7 +14111,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMovePower = 100, .zMoveEffect = Z_EFFECT_NONE, @@ -14128,7 +14128,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMovePower = 180, .zMoveEffect = Z_EFFECT_NONE, @@ -14145,7 +14145,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMovePower = 180, .zMoveEffect = Z_EFFECT_NONE, @@ -14167,7 +14167,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .zMovePower = 0, .zMoveEffect = Z_EFFECT_RESET_STATS, // Uncallable by Metronome (to be implemented) - // Supposedly unsnatchable? }, [MOVE_CHILLY_RECEPTION] = @@ -14180,7 +14179,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED, + .flags = 0, .split = SPLIT_STATUS, .zMovePower = 0, .zMoveEffect = Z_EFFECT_SPD_UP_1, @@ -14202,7 +14201,6 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .zMovePower = 0, .zMoveEffect = Z_EFFECT_NONE, // Supposedly uncallable by Metronome? (to be implemented) - // Supposedly unsnatchable? }, [MOVE_SNOWSCAPE] = @@ -14232,7 +14230,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMovePower = 100, .zMoveEffect = Z_EFFECT_NONE, @@ -14248,7 +14246,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMovePower = 100, .zMoveEffect = Z_EFFECT_NONE, @@ -14264,7 +14262,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_SPECIAL, .zMovePower = 100, .zMoveEffect = Z_EFFECT_NONE, @@ -14280,7 +14278,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_MIRROR_MOVE_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMovePower = 180, .zMoveEffect = Z_EFFECT_NONE, @@ -14296,7 +14294,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_TWO_STRIKES, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_TWO_STRIKES, .split = SPLIT_SPECIAL, .zMovePower = 100, .zMoveEffect = Z_EFFECT_NONE, @@ -14312,7 +14310,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_SHEER_FORCE_BOOST, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_IRON_FIST_BOOST | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMovePower = 100, .zMoveEffect = Z_EFFECT_NONE, @@ -14360,7 +14358,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMovePower = 190, .zMoveEffect = Z_EFFECT_NONE @@ -14376,7 +14374,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMovePower = 200, .zMoveEffect = Z_EFFECT_NONE, @@ -14392,7 +14390,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_DEPENDS, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -14407,7 +14405,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, // | FLAG_SLICING_MOVE, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, // | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMovePower = 140, .zMoveEffect = Z_EFFECT_NONE, @@ -14423,7 +14421,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 160, .zMoveEffect = Z_EFFECT_NONE @@ -14439,7 +14437,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 160, .zMoveEffect = Z_EFFECT_NONE @@ -14455,7 +14453,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 160, .zMoveEffect = Z_EFFECT_NONE @@ -14471,7 +14469,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 160, .zMoveEffect = Z_EFFECT_NONE @@ -14487,7 +14485,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_SHEER_FORCE_BOOST, .split = SPLIT_PHYSICAL, .zMovePower = 160, .zMoveEffect = Z_EFFECT_NONE From 8c77ae59d6e97a0bf3017919215eaab7578b580d Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Sun, 4 Dec 2022 21:57:02 +0100 Subject: [PATCH 047/130] Use official Double Shock message --- src/battle_message.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_message.c b/src/battle_message.c index 07598d95a..416b10613 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -759,7 +759,7 @@ static const u8 sText_AttackerBrokeThroughParalysis[] = _("{B_ATK_NAME_WITH_PREF static const u8 sText_AttackerHealedItsBurn[] = _("{B_ATK_NAME_WITH_PREFIX} healed its burn with\nits sheer determination!"); static const u8 sText_AttackerMeltedTheIce[] = _("{B_ATK_NAME_WITH_PREFIX} melted the ice with\nits fiery determination!"); static const u8 sText_TargetToughedItOut[] = _("{B_DEF_NAME_WITH_PREFIX} toughed it out\nto show you its best side!"); -static const u8 sText_AttackerLostElectricType[] = _("{B_ATK_NAME_WITH_PREFIX} discharged itself out!"); // Unofficial text until the string from the main games is known +static const u8 sText_AttackerLostElectricType[] = _("{B_ATK_NAME_WITH_PREFIX} used up all\nof its electricity!"); const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = { From 2d694a84e30d899da433f4300f48b8223d7cabf9 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 5 Dec 2022 21:57:28 -0300 Subject: [PATCH 048/130] Trying to fix remote reference --- src/data.c | 2 +- src/data/pokemon_graphics/front_pic_anims.h | 4442 ++++++------------- src/data/pokemon_graphics/unknown_anims.h | 2322 ---------- src/data/pokemon_graphics/unused_anims.h | 1829 ++++++++ 4 files changed, 3202 insertions(+), 5393 deletions(-) delete mode 100644 src/data/pokemon_graphics/unknown_anims.h create mode 100644 src/data/pokemon_graphics/unused_anims.h diff --git a/src/data.c b/src/data.c index 5856d17b8..cd3340d67 100644 --- a/src/data.c +++ b/src/data.c @@ -302,7 +302,7 @@ const union AnimCmd *const gAnims_MonPic[] = #define SPECIES_PAL(species, pal) [SPECIES_##species] = {pal, SPECIES_##species} #define SPECIES_SHINY_PAL(species, pal) [SPECIES_##species] = {pal, SPECIES_##species + SPECIES_SHINY_TAG} -#include "data/pokemon_graphics/unknown_anims.h" +#include "data/pokemon_graphics/unused_anims.h" #include "data/pokemon_graphics/front_pic_coordinates.h" #include "data/pokemon_graphics/still_front_pic_table.h" #include "data/pokemon_graphics/back_pic_coordinates.h" diff --git a/src/data/pokemon_graphics/front_pic_anims.h b/src/data/pokemon_graphics/front_pic_anims.h index 671fc5fad..68ceddafa 100644 --- a/src/data/pokemon_graphics/front_pic_anims.h +++ b/src/data/pokemon_graphics/front_pic_anims.h @@ -1,4 +1,4 @@ -static const union AnimCmd sAnim_NONE_1[] = +static const union AnimCmd sAnim_None_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -6,7 +6,7 @@ ANIMCMD_END, }; -static const union AnimCmd sAnim_BULBASAUR_1[] = +static const union AnimCmd sAnim_Bulbasaur_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -14,7 +14,7 @@ static const union AnimCmd sAnim_BULBASAUR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_IVYSAUR_1[] = +static const union AnimCmd sAnim_Ivysaur_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 36), @@ -22,7 +22,7 @@ static const union AnimCmd sAnim_IVYSAUR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VENUSAUR_1[] = +static const union AnimCmd sAnim_Venusaur_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -30,7 +30,7 @@ static const union AnimCmd sAnim_VENUSAUR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHARMANDER_1[] = +static const union AnimCmd sAnim_Charmander_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 46), @@ -38,7 +38,7 @@ static const union AnimCmd sAnim_CHARMANDER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHARMELEON_1[] = +static const union AnimCmd sAnim_Charmeleon_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -46,14 +46,14 @@ static const union AnimCmd sAnim_CHARMELEON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHARIZARD_1[] = +static const union AnimCmd sAnim_Charizard_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_SQUIRTLE_1[] = +static const union AnimCmd sAnim_Squirtle_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -61,7 +61,7 @@ static const union AnimCmd sAnim_SQUIRTLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WARTORTLE_1[] = +static const union AnimCmd sAnim_Wartortle_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 20), @@ -69,7 +69,7 @@ static const union AnimCmd sAnim_WARTORTLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BLASTOISE_1[] = +static const union AnimCmd sAnim_Blastoise_1[] = { ANIMCMD_FRAME(0, 50), ANIMCMD_FRAME(1, 25), @@ -79,7 +79,7 @@ static const union AnimCmd sAnim_BLASTOISE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CATERPIE_1[] = +static const union AnimCmd sAnim_Caterpie_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -92,14 +92,14 @@ static const union AnimCmd sAnim_CATERPIE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_METAPOD_1[] = +static const union AnimCmd sAnim_Metapod_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_BUTTERFREE_1[] = +static const union AnimCmd sAnim_Butterfree_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -117,7 +117,7 @@ static const union AnimCmd sAnim_BUTTERFREE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WEEDLE_1[] = +static const union AnimCmd sAnim_Weedle_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -129,7 +129,7 @@ static const union AnimCmd sAnim_WEEDLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KAKUNA_1[] = +static const union AnimCmd sAnim_Kakuna_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -145,7 +145,7 @@ static const union AnimCmd sAnim_KAKUNA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BEEDRILL_1[] = +static const union AnimCmd sAnim_Beedrill_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 35), @@ -155,7 +155,7 @@ static const union AnimCmd sAnim_BEEDRILL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PIDGEY_1[] = +static const union AnimCmd sAnim_Pidgey_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -172,7 +172,7 @@ static const union AnimCmd sAnim_PIDGEY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PIDGEOTTO_1[] = +static const union AnimCmd sAnim_Pidgeotto_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 10), @@ -182,7 +182,7 @@ static const union AnimCmd sAnim_PIDGEOTTO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PIDGEOT_1[] = +static const union AnimCmd sAnim_Pidgeot_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 10), @@ -191,8 +191,7 @@ static const union AnimCmd sAnim_PIDGEOT_1[] = ANIMCMD_END, }; - -static const union AnimCmd sAnim_RATTATA_1[] = +static const union AnimCmd sAnim_Rattata_1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(1, 50), @@ -201,7 +200,7 @@ static const union AnimCmd sAnim_RATTATA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RATICATE_1[] = +static const union AnimCmd sAnim_Raticate_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -218,7 +217,7 @@ static const union AnimCmd sAnim_RATICATE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SPEAROW_1[] = +static const union AnimCmd sAnim_Spearow_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -239,7 +238,7 @@ static const union AnimCmd sAnim_SPEAROW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FEAROW_1[] = +static const union AnimCmd sAnim_Fearow_1[] = { ANIMCMD_FRAME(1, 7), ANIMCMD_FRAME(0, 7), @@ -252,7 +251,7 @@ static const union AnimCmd sAnim_FEAROW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_EKANS_1[] = +static const union AnimCmd sAnim_Ekans_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -263,7 +262,7 @@ static const union AnimCmd sAnim_EKANS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ARBOK_1[] = +static const union AnimCmd sAnim_Arbok_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 35), @@ -271,7 +270,7 @@ static const union AnimCmd sAnim_ARBOK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_1[] = +static const union AnimCmd sAnim_Pikachu_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -281,7 +280,7 @@ static const union AnimCmd sAnim_PIKACHU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_2[] = +static const union AnimCmd sAnim_Pikachu_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -290,7 +289,7 @@ static const union AnimCmd sAnim_PIKACHU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RAICHU_1[] = +static const union AnimCmd sAnim_Raichu_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -300,7 +299,7 @@ static const union AnimCmd sAnim_RAICHU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RAICHU_2[] = +static const union AnimCmd sAnim_Raichu_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -309,7 +308,7 @@ static const union AnimCmd sAnim_RAICHU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SANDSHREW_1[] = +static const union AnimCmd sAnim_Sandshrew_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -319,7 +318,7 @@ static const union AnimCmd sAnim_SANDSHREW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SANDSHREW_2[] = +static const union AnimCmd sAnim_Sandshrew_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -328,7 +327,7 @@ static const union AnimCmd sAnim_SANDSHREW_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SANDSLASH_1[] = +static const union AnimCmd sAnim_Sandslash_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -338,7 +337,7 @@ static const union AnimCmd sAnim_SANDSLASH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SANDSLASH_2[] = +static const union AnimCmd sAnim_Sandslash_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -347,7 +346,7 @@ static const union AnimCmd sAnim_SANDSLASH_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NIDORAN_F_1[] = +static const union AnimCmd sAnim_NidoranF_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -361,21 +360,21 @@ static const union AnimCmd sAnim_NIDORAN_F_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NIDORINA_1[] = +static const union AnimCmd sAnim_Nidorina_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_NIDOQUEEN_1[] = +static const union AnimCmd sAnim_Nidoqueen_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_NIDORAN_M_1[] = +static const union AnimCmd sAnim_NidoranM_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -383,7 +382,7 @@ static const union AnimCmd sAnim_NIDORAN_M_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NIDORINO_1[] = +static const union AnimCmd sAnim_Nidorino_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -391,7 +390,7 @@ static const union AnimCmd sAnim_NIDORINO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NIDOKING_1[] = +static const union AnimCmd sAnim_Nidoking_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 15), @@ -400,7 +399,7 @@ static const union AnimCmd sAnim_NIDOKING_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CLEFAIRY_1[] = +static const union AnimCmd sAnim_Clefairy_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -408,7 +407,7 @@ static const union AnimCmd sAnim_CLEFAIRY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CLEFABLE_1[] = +static const union AnimCmd sAnim_Clefable_1[] = { ANIMCMD_FRAME(1, 27), ANIMCMD_FRAME(0, 27), @@ -419,7 +418,7 @@ static const union AnimCmd sAnim_CLEFABLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VULPIX_1[] = +static const union AnimCmd sAnim_Vulpix_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -429,7 +428,7 @@ static const union AnimCmd sAnim_VULPIX_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VULPIX_2[] = +static const union AnimCmd sAnim_Vulpix_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -438,7 +437,7 @@ static const union AnimCmd sAnim_VULPIX_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NINETALES_1[] = +static const union AnimCmd sAnim_Ninetales_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -448,7 +447,7 @@ static const union AnimCmd sAnim_NINETALES_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NINETALES_2[] = +static const union AnimCmd sAnim_Ninetales_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -457,7 +456,7 @@ static const union AnimCmd sAnim_NINETALES_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_JIGGLYPUFF_1[] = +static const union AnimCmd sAnim_Jigglypuff_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -467,7 +466,7 @@ static const union AnimCmd sAnim_JIGGLYPUFF_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_JIGGLYPUFF_2[] = +static const union AnimCmd sAnim_Jigglypuff_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -476,7 +475,7 @@ static const union AnimCmd sAnim_JIGGLYPUFF_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WIGGLYTUFF_1[] = +static const union AnimCmd sAnim_Wigglytuff_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -486,7 +485,7 @@ static const union AnimCmd sAnim_WIGGLYTUFF_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WIGGLYTUFF_2[] = +static const union AnimCmd sAnim_Wigglytuff_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -495,7 +494,7 @@ static const union AnimCmd sAnim_WIGGLYTUFF_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ZUBAT_1[] = +static const union AnimCmd sAnim_Zubat_1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(1, 3), @@ -513,7 +512,7 @@ static const union AnimCmd sAnim_ZUBAT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOLBAT_1[] = +static const union AnimCmd sAnim_Golbat_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -537,7 +536,7 @@ static const union AnimCmd sAnim_GOLBAT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ODDISH_1[] = +static const union AnimCmd sAnim_Oddish_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -549,7 +548,7 @@ static const union AnimCmd sAnim_ODDISH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GLOOM_1[] = +static const union AnimCmd sAnim_Gloom_1[] = { ANIMCMD_FRAME(0, 21), ANIMCMD_FRAME(1, 45), @@ -558,7 +557,7 @@ static const union AnimCmd sAnim_GLOOM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VILEPLUME_1[] = +static const union AnimCmd sAnim_Vileplume_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 21), @@ -568,7 +567,7 @@ static const union AnimCmd sAnim_VILEPLUME_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PARAS_1[] = +static const union AnimCmd sAnim_Paras_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -589,7 +588,7 @@ static const union AnimCmd sAnim_PARAS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PARASECT_1[] = +static const union AnimCmd sAnim_Parasect_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -600,7 +599,7 @@ static const union AnimCmd sAnim_PARASECT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VENONAT_1[] = +static const union AnimCmd sAnim_Venonat_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -611,7 +610,7 @@ static const union AnimCmd sAnim_VENONAT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VENOMOTH_1[] = +static const union AnimCmd sAnim_Venomoth_1[] = { ANIMCMD_FRAME(1, 4), ANIMCMD_FRAME(0, 4), @@ -638,7 +637,7 @@ static const union AnimCmd sAnim_VENOMOTH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DIGLETT_1[] = +static const union AnimCmd sAnim_Diglett_1[] = { ANIMCMD_FRAME(0, 25), ANIMCMD_FRAME(1, 35), @@ -646,7 +645,7 @@ static const union AnimCmd sAnim_DIGLETT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DUGTRIO_1[] = +static const union AnimCmd sAnim_Dugtrio_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 10), @@ -661,7 +660,7 @@ static const union AnimCmd sAnim_DUGTRIO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MEOWTH_1[] = +static const union AnimCmd sAnim_Meowth_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -672,14 +671,14 @@ static const union AnimCmd sAnim_MEOWTH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PERSIAN_1[] = +static const union AnimCmd sAnim_Persian_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_PSYDUCK_1[] = +static const union AnimCmd sAnim_Psyduck_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -689,7 +688,7 @@ static const union AnimCmd sAnim_PSYDUCK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PSYDUCK_2[] = +static const union AnimCmd sAnim_Psyduck_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -698,7 +697,7 @@ static const union AnimCmd sAnim_PSYDUCK_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOLDUCK_1[] = +static const union AnimCmd sAnim_Golduck_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -708,7 +707,7 @@ static const union AnimCmd sAnim_GOLDUCK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOLDUCK_2[] = +static const union AnimCmd sAnim_Golduck_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -717,7 +716,7 @@ static const union AnimCmd sAnim_GOLDUCK_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MANKEY_1[] = +static const union AnimCmd sAnim_Mankey_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -728,7 +727,7 @@ static const union AnimCmd sAnim_MANKEY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PRIMEAPE_1[] = +static const union AnimCmd sAnim_Primeape_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -739,7 +738,7 @@ static const union AnimCmd sAnim_PRIMEAPE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GROWLITHE_1[] = +static const union AnimCmd sAnim_Growlithe_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -750,7 +749,7 @@ static const union AnimCmd sAnim_GROWLITHE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ARCANINE_1[] = +static const union AnimCmd sAnim_Arcanine_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -758,9 +757,10 @@ static const union AnimCmd sAnim_ARCANINE_1[] = ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), - ANIMCMD_END,}; + ANIMCMD_END, +}; -static const union AnimCmd sAnim_POLIWAG_1[] = +static const union AnimCmd sAnim_Poliwag_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -768,7 +768,7 @@ static const union AnimCmd sAnim_POLIWAG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_POLIWHIRL_1[] = +static const union AnimCmd sAnim_Poliwhirl_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -778,14 +778,14 @@ static const union AnimCmd sAnim_POLIWHIRL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_POLIWRATH_1[] = +static const union AnimCmd sAnim_Poliwrath_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_ABRA_1[] = +static const union AnimCmd sAnim_Abra_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 21), @@ -795,7 +795,7 @@ static const union AnimCmd sAnim_ABRA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KADABRA_1[] = +static const union AnimCmd sAnim_Kadabra_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 45), @@ -803,7 +803,7 @@ static const union AnimCmd sAnim_KADABRA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ALAKAZAM_1[] = +static const union AnimCmd sAnim_Alakazam_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 54), @@ -811,7 +811,7 @@ static const union AnimCmd sAnim_ALAKAZAM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MACHOP_1[] = +static const union AnimCmd sAnim_Machop_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -823,7 +823,7 @@ static const union AnimCmd sAnim_MACHOP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MACHOKE_1[] = +static const union AnimCmd sAnim_Machoke_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 44), @@ -831,7 +831,7 @@ static const union AnimCmd sAnim_MACHOKE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MACHAMP_1[] = +static const union AnimCmd sAnim_Machamp_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -843,7 +843,7 @@ static const union AnimCmd sAnim_MACHAMP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BELLSPROUT_1[] = +static const union AnimCmd sAnim_Bellsprout_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 25), @@ -851,7 +851,7 @@ static const union AnimCmd sAnim_BELLSPROUT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WEEPINBELL_1[] = +static const union AnimCmd sAnim_Weepinbell_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 25), @@ -863,7 +863,7 @@ static const union AnimCmd sAnim_WEEPINBELL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VICTREEBEL_1[] = +static const union AnimCmd sAnim_Victreebel_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -875,7 +875,7 @@ static const union AnimCmd sAnim_VICTREEBEL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TENTACOOL_1[] = +static const union AnimCmd sAnim_Tentacool_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 15), @@ -885,7 +885,7 @@ static const union AnimCmd sAnim_TENTACOOL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TENTACRUEL_1[] = +static const union AnimCmd sAnim_Tentacruel_1[] = { ANIMCMD_FRAME(0, 19), ANIMCMD_FRAME(1, 35), @@ -895,7 +895,7 @@ static const union AnimCmd sAnim_TENTACRUEL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GEODUDE_1[] = +static const union AnimCmd sAnim_Geodude_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 36), @@ -903,7 +903,7 @@ static const union AnimCmd sAnim_GEODUDE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GRAVELER_1[] = +static const union AnimCmd sAnim_Graveler_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -913,7 +913,7 @@ static const union AnimCmd sAnim_GRAVELER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOLEM_1[] = +static const union AnimCmd sAnim_Golem_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 31), @@ -923,14 +923,14 @@ static const union AnimCmd sAnim_GOLEM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PONYTA_1[] = +static const union AnimCmd sAnim_Ponyta_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_RAPIDASH_1[] = +static const union AnimCmd sAnim_Rapidash_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 40), @@ -938,7 +938,7 @@ static const union AnimCmd sAnim_RAPIDASH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SLOWPOKE_1[] = +static const union AnimCmd sAnim_Slowpoke_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 50), @@ -946,7 +946,7 @@ static const union AnimCmd sAnim_SLOWPOKE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SLOWBRO_1[] = +static const union AnimCmd sAnim_Slowbro_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 45), @@ -954,7 +954,7 @@ static const union AnimCmd sAnim_SLOWBRO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGNEMITE_1[] = +static const union AnimCmd sAnim_Magnemite_1[] = { ANIMCMD_FRAME(0, 28), ANIMCMD_FRAME(1, 28), @@ -964,7 +964,7 @@ static const union AnimCmd sAnim_MAGNEMITE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGNETON_1[] = +static const union AnimCmd sAnim_Magneton_1[] = { ANIMCMD_FRAME(0, 14), ANIMCMD_FRAME(1, 14), @@ -976,7 +976,7 @@ static const union AnimCmd sAnim_MAGNETON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FARFETCHD_1[] = +static const union AnimCmd sAnim_Farfetchd_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -993,7 +993,7 @@ static const union AnimCmd sAnim_FARFETCHD_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DODUO_1[] = +static const union AnimCmd sAnim_Doduo_1[] = { ANIMCMD_FRAME(0, 18), ANIMCMD_FRAME(1, 18), @@ -1003,7 +1003,7 @@ static const union AnimCmd sAnim_DODUO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DODRIO_1[] = +static const union AnimCmd sAnim_Dodrio_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 12), @@ -1017,7 +1017,7 @@ static const union AnimCmd sAnim_DODRIO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SEEL_1[] = +static const union AnimCmd sAnim_Seel_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -1030,7 +1030,7 @@ static const union AnimCmd sAnim_SEEL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DEWGONG_1[] = +static const union AnimCmd sAnim_Dewgong_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -1038,7 +1038,7 @@ static const union AnimCmd sAnim_DEWGONG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GRIMER_1[] = +static const union AnimCmd sAnim_Grimer_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1048,7 +1048,7 @@ static const union AnimCmd sAnim_GRIMER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GRIMER_2[] = +static const union AnimCmd sAnim_Grimer_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1057,7 +1057,7 @@ static const union AnimCmd sAnim_GRIMER_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MUK_1[] = +static const union AnimCmd sAnim_Muk_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1067,7 +1067,7 @@ static const union AnimCmd sAnim_MUK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MUK_2[] = +static const union AnimCmd sAnim_Muk_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1076,7 +1076,7 @@ static const union AnimCmd sAnim_MUK_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHELLDER_1[] = +static const union AnimCmd sAnim_Shellder_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1085,7 +1085,7 @@ static const union AnimCmd sAnim_SHELLDER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CLOYSTER_1[] = +static const union AnimCmd sAnim_Cloyster_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1106,7 +1106,7 @@ static const union AnimCmd sAnim_CLOYSTER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GASTLY_1[] = +static const union AnimCmd sAnim_Gastly_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -1114,7 +1114,7 @@ static const union AnimCmd sAnim_GASTLY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HAUNTER_1[] = +static const union AnimCmd sAnim_Haunter_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 15), @@ -1124,7 +1124,7 @@ static const union AnimCmd sAnim_HAUNTER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GENGAR_1[] = +static const union AnimCmd sAnim_Gengar_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 40), @@ -1132,7 +1132,7 @@ static const union AnimCmd sAnim_GENGAR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ONIX_1[] = +static const union AnimCmd sAnim_Onix_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -1140,7 +1140,7 @@ static const union AnimCmd sAnim_ONIX_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DROWZEE_1[] = +static const union AnimCmd sAnim_Drowzee_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -1151,7 +1151,7 @@ static const union AnimCmd sAnim_DROWZEE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HYPNO_1[] = +static const union AnimCmd sAnim_Hypno_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -1163,7 +1163,7 @@ static const union AnimCmd sAnim_HYPNO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KRABBY_1[] = +static const union AnimCmd sAnim_Krabby_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -1174,7 +1174,7 @@ static const union AnimCmd sAnim_KRABBY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KINGLER_1[] = +static const union AnimCmd sAnim_Kingler_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -1188,7 +1188,7 @@ static const union AnimCmd sAnim_KINGLER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VOLTORB_1[] = +static const union AnimCmd sAnim_Voltorb_1[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(1, 25), @@ -1198,7 +1198,7 @@ static const union AnimCmd sAnim_VOLTORB_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ELECTRODE_1[] = +static const union AnimCmd sAnim_Electrode_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 30), @@ -1208,7 +1208,7 @@ static const union AnimCmd sAnim_ELECTRODE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_EXEGGCUTE_1[] = +static const union AnimCmd sAnim_Exeggcute_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1222,14 +1222,14 @@ static const union AnimCmd sAnim_EXEGGCUTE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_EXEGGUTOR_1[] = +static const union AnimCmd sAnim_Exeggutor_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 10), - ANIMCMD_END,}; + ANIMCMD_END, +}; - -static const union AnimCmd sAnim_CUBONE_1[] = +static const union AnimCmd sAnim_Cubone_1[] = { ANIMCMD_FRAME(1, 14), ANIMCMD_FRAME(0, 14), @@ -1240,7 +1240,7 @@ static const union AnimCmd sAnim_CUBONE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAROWAK_1[] = +static const union AnimCmd sAnim_Marowak_1[] = { ANIMCMD_FRAME(1, 14), ANIMCMD_FRAME(0, 14), @@ -1251,14 +1251,14 @@ static const union AnimCmd sAnim_MAROWAK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HITMONLEE_1[] = +static const union AnimCmd sAnim_Hitmonlee_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_HITMONCHAN_1[] = +static const union AnimCmd sAnim_Hitmonchan_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1271,7 +1271,7 @@ static const union AnimCmd sAnim_HITMONCHAN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LICKITUNG_1[] = +static const union AnimCmd sAnim_Lickitung_1[] = { ANIMCMD_FRAME(0, 28), ANIMCMD_FRAME(1, 32), @@ -1279,7 +1279,7 @@ static const union AnimCmd sAnim_LICKITUNG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KOFFING_1[] = +static const union AnimCmd sAnim_Koffing_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1289,7 +1289,7 @@ static const union AnimCmd sAnim_KOFFING_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KOFFING_2[] = +static const union AnimCmd sAnim_Koffing_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1298,7 +1298,7 @@ static const union AnimCmd sAnim_KOFFING_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WEEZING_1[] = +static const union AnimCmd sAnim_Weezing_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -1308,7 +1308,7 @@ static const union AnimCmd sAnim_WEEZING_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WEEZING_2[] = +static const union AnimCmd sAnim_Weezing_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1317,7 +1317,7 @@ static const union AnimCmd sAnim_WEEZING_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RHYHORN_1[] = +static const union AnimCmd sAnim_Rhyhorn_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1327,7 +1327,7 @@ static const union AnimCmd sAnim_RHYHORN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RHYHORN_2[] = +static const union AnimCmd sAnim_Rhyhorn_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1336,7 +1336,7 @@ static const union AnimCmd sAnim_RHYHORN_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RHYDON_1[] = +static const union AnimCmd sAnim_Rhydon_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1346,7 +1346,7 @@ static const union AnimCmd sAnim_RHYDON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RHYDON_2[] = +static const union AnimCmd sAnim_Rhydon_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1355,7 +1355,7 @@ static const union AnimCmd sAnim_RHYDON_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHANSEY_1[] = +static const union AnimCmd sAnim_Chansey_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -1363,7 +1363,7 @@ static const union AnimCmd sAnim_CHANSEY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TANGELA_1[] = +static const union AnimCmd sAnim_Tangela_1[] = { ANIMCMD_FRAME(1, 9), ANIMCMD_FRAME(0, 9), @@ -1378,7 +1378,7 @@ static const union AnimCmd sAnim_TANGELA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KANGASKHAN_1[] = +static const union AnimCmd sAnim_Kangaskhan_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1387,7 +1387,7 @@ static const union AnimCmd sAnim_KANGASKHAN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HORSEA_1[] = +static const union AnimCmd sAnim_Horsea_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1397,7 +1397,7 @@ static const union AnimCmd sAnim_HORSEA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HORSEA_2[] = +static const union AnimCmd sAnim_Horsea_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1406,7 +1406,7 @@ static const union AnimCmd sAnim_HORSEA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SEADRA_1[] = +static const union AnimCmd sAnim_Seadra_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1416,7 +1416,7 @@ static const union AnimCmd sAnim_SEADRA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SEADRA_2[] = +static const union AnimCmd sAnim_Seadra_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1425,7 +1425,7 @@ static const union AnimCmd sAnim_SEADRA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOLDEEN_1[] = +static const union AnimCmd sAnim_Goldeen_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -1439,7 +1439,7 @@ static const union AnimCmd sAnim_GOLDEEN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SEAKING_1[] = +static const union AnimCmd sAnim_Seaking_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 20), @@ -1449,7 +1449,7 @@ static const union AnimCmd sAnim_SEAKING_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_STARYU_1[] = +static const union AnimCmd sAnim_Staryu_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1459,7 +1459,7 @@ static const union AnimCmd sAnim_STARYU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_STARYU_2[] = +static const union AnimCmd sAnim_Staryu_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1468,7 +1468,7 @@ static const union AnimCmd sAnim_STARYU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_STARMIE_1[] = +static const union AnimCmd sAnim_Starmie_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1478,7 +1478,7 @@ static const union AnimCmd sAnim_STARMIE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_STARMIE_2[] = +static const union AnimCmd sAnim_Starmie_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1487,7 +1487,7 @@ static const union AnimCmd sAnim_STARMIE_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MR_MIME_1[] = +static const union AnimCmd sAnim_MrMime_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -1498,7 +1498,7 @@ static const union AnimCmd sAnim_MR_MIME_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SCYTHER_1[] = +static const union AnimCmd sAnim_Scyther_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -1511,7 +1511,7 @@ static const union AnimCmd sAnim_SCYTHER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_JYNX_1[] = +static const union AnimCmd sAnim_Jynx_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), @@ -1521,7 +1521,7 @@ static const union AnimCmd sAnim_JYNX_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ELECTABUZZ_1[] = +static const union AnimCmd sAnim_Electabuzz_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1530,14 +1530,14 @@ static const union AnimCmd sAnim_ELECTABUZZ_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGMAR_1[] = +static const union AnimCmd sAnim_Magmar_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_PINSIR_1[] = +static const union AnimCmd sAnim_Pinsir_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -1547,7 +1547,7 @@ static const union AnimCmd sAnim_PINSIR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PINSIR_2[] = +static const union AnimCmd sAnim_Pinsir_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -1556,7 +1556,7 @@ static const union AnimCmd sAnim_PINSIR_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TAUROS_1[] = +static const union AnimCmd sAnim_Tauros_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 20), @@ -1565,7 +1565,7 @@ static const union AnimCmd sAnim_TAUROS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGIKARP_1[] = +static const union AnimCmd sAnim_Magikarp_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 8), @@ -1579,7 +1579,7 @@ static const union AnimCmd sAnim_MAGIKARP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GYARADOS_1[] = +static const union AnimCmd sAnim_Gyarados_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 32), @@ -1587,14 +1587,14 @@ static const union AnimCmd sAnim_GYARADOS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LAPRAS_1[] = +static const union AnimCmd sAnim_Lapras_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_DITTO_1[] = +static const union AnimCmd sAnim_Ditto_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1603,35 +1603,35 @@ static const union AnimCmd sAnim_DITTO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_EEVEE_1[] = +static const union AnimCmd sAnim_Eevee_1[] = { ANIMCMD_FRAME(1, 33), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_VAPOREON_1[] = +static const union AnimCmd sAnim_Vaporeon_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_JOLTEON_1[] = +static const union AnimCmd sAnim_Jolteon_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_FLAREON_1[] = +static const union AnimCmd sAnim_Flareon_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -static const union AnimCmd sAnim_PORYGON_1[] = +static const union AnimCmd sAnim_Porygon_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1640,7 +1640,7 @@ static const union AnimCmd sAnim_PORYGON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_OMANYTE_1[] = +static const union AnimCmd sAnim_Omanyte_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1653,7 +1653,7 @@ static const union AnimCmd sAnim_OMANYTE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_OMASTAR_1[] = +static const union AnimCmd sAnim_Omastar_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1662,7 +1662,7 @@ static const union AnimCmd sAnim_OMASTAR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KABUTO_1[] = +static const union AnimCmd sAnim_Kabuto_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -1675,7 +1675,7 @@ static const union AnimCmd sAnim_KABUTO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KABUTOPS_1[] = +static const union AnimCmd sAnim_Kabutops_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1684,7 +1684,7 @@ static const union AnimCmd sAnim_KABUTOPS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AERODACTYL_1[] = +static const union AnimCmd sAnim_Aerodactyl_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 25), @@ -1693,7 +1693,7 @@ static const union AnimCmd sAnim_AERODACTYL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SNORLAX_1[] = +static const union AnimCmd sAnim_Snorlax_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -1701,7 +1701,7 @@ static const union AnimCmd sAnim_SNORLAX_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ARTICUNO_1[] = +static const union AnimCmd sAnim_Articuno_1[] = { ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 15), @@ -1710,7 +1710,7 @@ static const union AnimCmd sAnim_ARTICUNO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ZAPDOS_1[] = +static const union AnimCmd sAnim_Zapdos_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1719,7 +1719,7 @@ static const union AnimCmd sAnim_ZAPDOS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MOLTRES_1[] = +static const union AnimCmd sAnim_Moltres_1[] = { ANIMCMD_FRAME(1, 3), ANIMCMD_FRAME(0, 3), @@ -1756,7 +1756,7 @@ static const union AnimCmd sAnim_MOLTRES_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DRATINI_1[] = +static const union AnimCmd sAnim_Dratini_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -1764,7 +1764,7 @@ static const union AnimCmd sAnim_DRATINI_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DRAGONAIR_1[] = +static const union AnimCmd sAnim_Dragonair_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1773,7 +1773,7 @@ static const union AnimCmd sAnim_DRAGONAIR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DRAGONITE_1[] = +static const union AnimCmd sAnim_Dragonite_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -1781,14 +1781,14 @@ static const union AnimCmd sAnim_DRAGONITE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MEWTWO_1[] = +static const union AnimCmd sAnim_Mewtwo_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_MEW_1[] = +static const union AnimCmd sAnim_Mew_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 40), @@ -1796,29 +1796,29 @@ static const union AnimCmd sAnim_MEW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHIKORITA_1[] = +static const union AnimCmd sAnim_Chikorita_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), - ANIMCMD_END,}; + ANIMCMD_END, +}; - -static const union AnimCmd sAnim_BAYLEEF_1[] = +static const union AnimCmd sAnim_Bayleef_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_MEGANIUM_1[] = +static const union AnimCmd sAnim_Meganium_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_CYNDAQUIL_1[] = +static const union AnimCmd sAnim_Cyndaquil_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1827,21 +1827,21 @@ static const union AnimCmd sAnim_CYNDAQUIL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_QUILAVA_1[] = +static const union AnimCmd sAnim_Quilava_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_TYPHLOSION_1[] = +static const union AnimCmd sAnim_Typhlosion_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_TOTODILE_1[] = +static const union AnimCmd sAnim_Totodile_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -1852,14 +1852,14 @@ static const union AnimCmd sAnim_TOTODILE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CROCONAW_1[] = +static const union AnimCmd sAnim_Croconaw_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_FERALIGATR_1[] = +static const union AnimCmd sAnim_Feraligatr_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1868,7 +1868,7 @@ static const union AnimCmd sAnim_FERALIGATR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SENTRET_1[] = +static const union AnimCmd sAnim_Sentret_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -1877,14 +1877,14 @@ static const union AnimCmd sAnim_SENTRET_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FURRET_1[] = +static const union AnimCmd sAnim_Furret_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_HOOTHOOT_1[] = +static const union AnimCmd sAnim_Hoothoot_1[] = { ANIMCMD_FRAME(1, 7), ANIMCMD_FRAME(0, 7), @@ -1901,14 +1901,14 @@ static const union AnimCmd sAnim_HOOTHOOT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NOCTOWL_1[] = +static const union AnimCmd sAnim_Noctowl_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_LEDYBA_1[] = +static const union AnimCmd sAnim_Ledyba_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1917,7 +1917,7 @@ static const union AnimCmd sAnim_LEDYBA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LEDIAN_1[] = +static const union AnimCmd sAnim_Ledian_1[] = { ANIMCMD_FRAME(1, 3), ANIMCMD_FRAME(0, 3), @@ -1948,7 +1948,7 @@ static const union AnimCmd sAnim_LEDIAN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SPINARAK_1[] = +static const union AnimCmd sAnim_Spinarak_1[] = { ANIMCMD_FRAME(1, 6), ANIMCMD_FRAME(0, 6), @@ -1961,7 +1961,7 @@ static const union AnimCmd sAnim_SPINARAK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ARIADOS_1[] = +static const union AnimCmd sAnim_Ariados_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -1970,7 +1970,7 @@ static const union AnimCmd sAnim_ARIADOS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CROBAT_1[] = +static const union AnimCmd sAnim_Crobat_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 2), @@ -1992,7 +1992,7 @@ static const union AnimCmd sAnim_CROBAT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHINCHOU_1[] = +static const union AnimCmd sAnim_Chinchou_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2002,7 +2002,7 @@ static const union AnimCmd sAnim_CHINCHOU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHINCHOU_2[] = +static const union AnimCmd sAnim_Chinchou_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2011,7 +2011,7 @@ static const union AnimCmd sAnim_CHINCHOU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LANTURN_1[] = +static const union AnimCmd sAnim_Lanturn_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2021,7 +2021,7 @@ static const union AnimCmd sAnim_LANTURN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LANTURN_2[] = +static const union AnimCmd sAnim_Lanturn_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2030,7 +2030,7 @@ static const union AnimCmd sAnim_LANTURN_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PICHU_1[] = +static const union AnimCmd sAnim_Pichu_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2040,7 +2040,7 @@ static const union AnimCmd sAnim_PICHU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PICHU_2[] = +static const union AnimCmd sAnim_Pichu_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2049,7 +2049,7 @@ static const union AnimCmd sAnim_PICHU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CLEFFA_1[] = +static const union AnimCmd sAnim_Cleffa_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2058,7 +2058,7 @@ static const union AnimCmd sAnim_CLEFFA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_IGGLYBUFF_1[] = +static const union AnimCmd sAnim_Igglybuff_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2068,7 +2068,7 @@ static const union AnimCmd sAnim_IGGLYBUFF_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_IGGLYBUFF_2[] = +static const union AnimCmd sAnim_Igglybuff_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2077,7 +2077,7 @@ static const union AnimCmd sAnim_IGGLYBUFF_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TOGEPI_1[] = +static const union AnimCmd sAnim_Togepi_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -2085,7 +2085,7 @@ static const union AnimCmd sAnim_TOGEPI_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TOGETIC_1[] = +static const union AnimCmd sAnim_Togetic_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2093,7 +2093,7 @@ static const union AnimCmd sAnim_TOGETIC_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NATU_1[] = +static const union AnimCmd sAnim_Natu_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2103,7 +2103,7 @@ static const union AnimCmd sAnim_NATU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NATU_2[] = +static const union AnimCmd sAnim_Natu_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2112,7 +2112,7 @@ static const union AnimCmd sAnim_NATU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_XATU_1[] = +static const union AnimCmd sAnim_Xatu_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 45), @@ -2124,7 +2124,7 @@ static const union AnimCmd sAnim_XATU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_XATU_2[] = +static const union AnimCmd sAnim_Xatu_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2133,7 +2133,7 @@ static const union AnimCmd sAnim_XATU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAREEP_1[] = +static const union AnimCmd sAnim_Mareep_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2144,7 +2144,7 @@ static const union AnimCmd sAnim_MAREEP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FLAAFFY_1[] = +static const union AnimCmd sAnim_Flaaffy_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2153,7 +2153,7 @@ static const union AnimCmd sAnim_FLAAFFY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AMPHAROS_1[] = +static const union AnimCmd sAnim_Ampharos_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 15), @@ -2161,7 +2161,7 @@ static const union AnimCmd sAnim_AMPHAROS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BELLOSSOM_1[] = +static const union AnimCmd sAnim_Bellossom_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -2173,7 +2173,7 @@ static const union AnimCmd sAnim_BELLOSSOM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MARILL_1[] = +static const union AnimCmd sAnim_Marill_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 44), @@ -2183,7 +2183,7 @@ static const union AnimCmd sAnim_MARILL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AZUMARILL_1[] = +static const union AnimCmd sAnim_Azumarill_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -2193,7 +2193,7 @@ static const union AnimCmd sAnim_AZUMARILL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SUDOWOODO_1[] = +static const union AnimCmd sAnim_Sudowoodo_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -2204,7 +2204,7 @@ static const union AnimCmd sAnim_SUDOWOODO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_POLITOED_1[] = +static const union AnimCmd sAnim_Politoed_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2215,7 +2215,7 @@ static const union AnimCmd sAnim_POLITOED_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HOPPIP_1[] = +static const union AnimCmd sAnim_Hoppip_1[] = { ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 25), @@ -2224,7 +2224,7 @@ static const union AnimCmd sAnim_HOPPIP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SKIPLOOM_1[] = +static const union AnimCmd sAnim_Skiploom_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -2237,7 +2237,7 @@ static const union AnimCmd sAnim_SKIPLOOM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_JUMPLUFF_1[] = +static const union AnimCmd sAnim_Jumpluff_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 25), @@ -2248,14 +2248,14 @@ static const union AnimCmd sAnim_JUMPLUFF_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AIPOM_1[] = +static const union AnimCmd sAnim_Aipom_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_SUNKERN_1[] = +static const union AnimCmd sAnim_Sunkern_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2264,7 +2264,7 @@ static const union AnimCmd sAnim_SUNKERN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SUNFLORA_1[] = +static const union AnimCmd sAnim_Sunflora_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2272,7 +2272,7 @@ static const union AnimCmd sAnim_SUNFLORA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_YANMA_1[] = +static const union AnimCmd sAnim_Yanma_1[] = { ANIMCMD_FRAME(1, 2), ANIMCMD_FRAME(0, 2), @@ -2299,7 +2299,7 @@ static const union AnimCmd sAnim_YANMA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WOOPER_1[] = +static const union AnimCmd sAnim_Wooper_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2307,14 +2307,14 @@ static const union AnimCmd sAnim_WOOPER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_QUAGSIRE_1[] = +static const union AnimCmd sAnim_Quagsire_1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_ESPEON_1[] = +static const union AnimCmd sAnim_Espeon_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 25), @@ -2322,21 +2322,21 @@ static const union AnimCmd sAnim_ESPEON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UMBREON_1[] = +static const union AnimCmd sAnim_Umbreon_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_MURKROW_1[] = +static const union AnimCmd sAnim_Murkrow_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_SLOWKING_1[] = +static const union AnimCmd sAnim_Slowking_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2344,7 +2344,7 @@ static const union AnimCmd sAnim_SLOWKING_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MISDREAVUS_1[] = +static const union AnimCmd sAnim_Misdreavus_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2359,7 +2359,7 @@ static const union AnimCmd sAnim_MISDREAVUS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_1[] = +static const union AnimCmd sAnim_Unown_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -2367,7 +2367,7 @@ static const union AnimCmd sAnim_UNOWN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WOBBUFFET_1[] = +static const union AnimCmd sAnim_Wobbuffet_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2377,7 +2377,7 @@ static const union AnimCmd sAnim_WOBBUFFET_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WOBBUFFET_2[] = +static const union AnimCmd sAnim_Wobbuffet_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2386,7 +2386,7 @@ static const union AnimCmd sAnim_WOBBUFFET_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GIRAFARIG_1[] = +static const union AnimCmd sAnim_Girafarig_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2398,7 +2398,7 @@ static const union AnimCmd sAnim_GIRAFARIG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GIRAFARIG_2[] = +static const union AnimCmd sAnim_Girafarig_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2407,7 +2407,7 @@ static const union AnimCmd sAnim_GIRAFARIG_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PINECO_1[] = +static const union AnimCmd sAnim_Pineco_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2420,7 +2420,7 @@ static const union AnimCmd sAnim_PINECO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FORRETRESS_1[] = +static const union AnimCmd sAnim_Forretress_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2429,7 +2429,7 @@ static const union AnimCmd sAnim_FORRETRESS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DUNSPARCE_1[] = +static const union AnimCmd sAnim_Dunsparce_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 15), @@ -2438,14 +2438,14 @@ static const union AnimCmd sAnim_DUNSPARCE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GLIGAR_1[] = +static const union AnimCmd sAnim_Gligar_1[] = { ANIMCMD_FRAME(1, 17), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_STEELIX_1[] = +static const union AnimCmd sAnim_Steelix_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 8), @@ -2456,21 +2456,21 @@ static const union AnimCmd sAnim_STEELIX_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SNUBBULL_1[] = +static const union AnimCmd sAnim_Snubbull_1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_GRANBULL_1[] = +static const union AnimCmd sAnim_Granbull_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_QWILFISH_1[] = +static const union AnimCmd sAnim_Qwilfish_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -2482,14 +2482,14 @@ static const union AnimCmd sAnim_QWILFISH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SCIZOR_1[] = +static const union AnimCmd sAnim_Scizor_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_SHUCKLE_1[] = +static const union AnimCmd sAnim_Shuckle_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -2497,7 +2497,7 @@ static const union AnimCmd sAnim_SHUCKLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HERACROSS_1[] = +static const union AnimCmd sAnim_Heracross_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2507,7 +2507,7 @@ static const union AnimCmd sAnim_HERACROSS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HERACROSS_2[] = +static const union AnimCmd sAnim_Heracross_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2516,28 +2516,28 @@ static const union AnimCmd sAnim_HERACROSS_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SNEASEL_1[] = +static const union AnimCmd sAnim_Sneasel_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_TEDDIURSA_1[] = +static const union AnimCmd sAnim_Teddiursa_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_URSARING_1[] = +static const union AnimCmd sAnim_Ursaring_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_SLUGMA_1[] = +static const union AnimCmd sAnim_Slugma_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -2547,7 +2547,7 @@ static const union AnimCmd sAnim_SLUGMA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SLUGMA_2[] = +static const union AnimCmd sAnim_Slugma_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2556,7 +2556,7 @@ static const union AnimCmd sAnim_SLUGMA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGCARGO_1[] = +static const union AnimCmd sAnim_Magcargo_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -2566,7 +2566,7 @@ static const union AnimCmd sAnim_MAGCARGO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGCARGO_2[] = +static const union AnimCmd sAnim_Magcargo_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2575,7 +2575,7 @@ static const union AnimCmd sAnim_MAGCARGO_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SWINUB_1[] = +static const union AnimCmd sAnim_Swinub_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2584,7 +2584,7 @@ static const union AnimCmd sAnim_SWINUB_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PILOSWINE_1[] = +static const union AnimCmd sAnim_Piloswine_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2593,7 +2593,7 @@ static const union AnimCmd sAnim_PILOSWINE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CORSOLA_1[] = +static const union AnimCmd sAnim_Corsola_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2603,7 +2603,7 @@ static const union AnimCmd sAnim_CORSOLA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CORSOLA_2[] = +static const union AnimCmd sAnim_Corsola_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2612,7 +2612,7 @@ static const union AnimCmd sAnim_CORSOLA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_REMORAID_1[] = +static const union AnimCmd sAnim_Remoraid_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -2621,7 +2621,7 @@ static const union AnimCmd sAnim_REMORAID_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_OCTILLERY_1[] = +static const union AnimCmd sAnim_Octillery_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2630,7 +2630,7 @@ static const union AnimCmd sAnim_OCTILLERY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DELIBIRD_1[] = +static const union AnimCmd sAnim_Delibird_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2639,7 +2639,7 @@ static const union AnimCmd sAnim_DELIBIRD_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MANTINE_1[] = +static const union AnimCmd sAnim_Mantine_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), @@ -2648,7 +2648,7 @@ static const union AnimCmd sAnim_MANTINE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SKARMORY_1[] = +static const union AnimCmd sAnim_Skarmory_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2658,7 +2658,7 @@ static const union AnimCmd sAnim_SKARMORY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SKARMORY_2[] = +static const union AnimCmd sAnim_Skarmory_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2667,7 +2667,7 @@ static const union AnimCmd sAnim_SKARMORY_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HOUNDOUR_1[] = +static const union AnimCmd sAnim_Houndour_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2676,14 +2676,14 @@ static const union AnimCmd sAnim_HOUNDOUR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HOUNDOOM_1[] = +static const union AnimCmd sAnim_Houndoom_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -static const union AnimCmd sAnim_KINGDRA_1[] = +static const union AnimCmd sAnim_Kingdra_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -2693,7 +2693,7 @@ static const union AnimCmd sAnim_KINGDRA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KINGDRA_2[] = +static const union AnimCmd sAnim_Kingdra_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2702,7 +2702,7 @@ static const union AnimCmd sAnim_KINGDRA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PHANPY_1[] = +static const union AnimCmd sAnim_Phanpy_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2714,7 +2714,7 @@ static const union AnimCmd sAnim_PHANPY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PHANPY_2[] = +static const union AnimCmd sAnim_Phanpy_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2723,7 +2723,7 @@ static const union AnimCmd sAnim_PHANPY_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DONPHAN_1[] = +static const union AnimCmd sAnim_Donphan_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -2735,7 +2735,7 @@ static const union AnimCmd sAnim_DONPHAN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DONPHAN_2[] = +static const union AnimCmd sAnim_Donphan_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -2744,7 +2744,7 @@ static const union AnimCmd sAnim_DONPHAN_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PORYGON2_1[] = +static const union AnimCmd sAnim_Porygon2_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2754,14 +2754,14 @@ static const union AnimCmd sAnim_PORYGON2_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_STANTLER_1[] = +static const union AnimCmd sAnim_Stantler_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_SMEARGLE_1[] = +static const union AnimCmd sAnim_Smeargle_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -2770,14 +2770,14 @@ static const union AnimCmd sAnim_SMEARGLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TYROGUE_1[] = +static const union AnimCmd sAnim_Tyrogue_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_HITMONTOP_1[] = +static const union AnimCmd sAnim_Hitmontop_1[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(1, 4), @@ -2793,7 +2793,7 @@ static const union AnimCmd sAnim_HITMONTOP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SMOOCHUM_1[] = +static const union AnimCmd sAnim_Smoochum_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2804,7 +2804,7 @@ static const union AnimCmd sAnim_SMOOCHUM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ELEKID_1[] = +static const union AnimCmd sAnim_Elekid_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 5), @@ -2812,7 +2812,7 @@ static const union AnimCmd sAnim_ELEKID_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGBY_1[] = +static const union AnimCmd sAnim_Magby_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -2824,21 +2824,21 @@ static const union AnimCmd sAnim_MAGBY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MILTANK_1[] = +static const union AnimCmd sAnim_Miltank_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -static const union AnimCmd sAnim_BLISSEY_1[] = +static const union AnimCmd sAnim_Blissey_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_RAIKOU_1[] = +static const union AnimCmd sAnim_Raikou_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2847,21 +2847,21 @@ static const union AnimCmd sAnim_RAIKOU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ENTEI_1[] = +static const union AnimCmd sAnim_Entei_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_SUICUNE_1[] = +static const union AnimCmd sAnim_Suicune_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_LARVITAR_1[] = +static const union AnimCmd sAnim_Larvitar_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -2870,14 +2870,14 @@ static const union AnimCmd sAnim_LARVITAR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PUPITAR_1[] = +static const union AnimCmd sAnim_Pupitar_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_TYRANITAR_1[] = +static const union AnimCmd sAnim_Tyranitar_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 20), @@ -2886,21 +2886,21 @@ static const union AnimCmd sAnim_TYRANITAR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LUGIA_1[] = +static const union AnimCmd sAnim_Lugia_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_HO_OH_1[] = +static const union AnimCmd sAnim_HoOh_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_CELEBI_1[] = +static const union AnimCmd sAnim_Celebi_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), @@ -2909,7 +2909,7 @@ static const union AnimCmd sAnim_CELEBI_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_OLD_UNOWN_B_1[] = +static const union AnimCmd sAnim_OldUnownB_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -2917,16 +2917,17 @@ static const union AnimCmd sAnim_OLD_UNOWN_B_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TREECKO_1[] = +static const union AnimCmd sAnim_Treecko_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 3), - ANIMCMD_END,}; + ANIMCMD_END, +}; -static const union AnimCmd sAnim_GROVYLE_1[] = +static const union AnimCmd sAnim_Grovyle_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 18), @@ -2936,7 +2937,7 @@ static const union AnimCmd sAnim_GROVYLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SCEPTILE_1[] = +static const union AnimCmd sAnim_Sceptile_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 26), @@ -2944,7 +2945,7 @@ static const union AnimCmd sAnim_SCEPTILE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TORCHIC_1[] = +static const union AnimCmd sAnim_Torchic_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 4), @@ -2956,14 +2957,15 @@ static const union AnimCmd sAnim_TORCHIC_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_COMBUSKEN_1[] = +static const union AnimCmd sAnim_Combusken_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 12), - ANIMCMD_END,}; + ANIMCMD_END, +}; -static const union AnimCmd sAnim_BLAZIKEN_1[] = +static const union AnimCmd sAnim_Blaziken_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 25), @@ -2973,7 +2975,7 @@ static const union AnimCmd sAnim_BLAZIKEN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BLAZIKEN_2[] = +static const union AnimCmd sAnim_Blaziken_2[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 8), @@ -2981,20 +2983,20 @@ static const union AnimCmd sAnim_BLAZIKEN_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BLAZIKEN_3[] = +static const union AnimCmd sAnim_Blaziken_3[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(2, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_BLAZIKEN_4[] = +static const union AnimCmd sAnim_Blaziken_4[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_MUDKIP_1[] = +static const union AnimCmd sAnim_Mudkip_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 8), @@ -3004,7 +3006,7 @@ static const union AnimCmd sAnim_MUDKIP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MARSHTOMP_1[] = +static const union AnimCmd sAnim_Marshtomp_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -3018,7 +3020,7 @@ static const union AnimCmd sAnim_MARSHTOMP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SWAMPERT_1[] = +static const union AnimCmd sAnim_Swampert_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 44), @@ -3028,7 +3030,7 @@ static const union AnimCmd sAnim_SWAMPERT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_POOCHYENA_1[] = +static const union AnimCmd sAnim_Poochyena_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 44), @@ -3036,7 +3038,7 @@ static const union AnimCmd sAnim_POOCHYENA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MIGHTYENA_1[] = +static const union AnimCmd sAnim_Mightyena_1[] = { ANIMCMD_FRAME(0, 27), ANIMCMD_FRAME(1, 6), @@ -3046,7 +3048,7 @@ static const union AnimCmd sAnim_MIGHTYENA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ZIGZAGOON_1[] = +static const union AnimCmd sAnim_Zigzagoon_1[] = { ANIMCMD_FRAME(0, 27), ANIMCMD_FRAME(1, 6), @@ -3056,7 +3058,7 @@ static const union AnimCmd sAnim_ZIGZAGOON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LINOONE_1[] = +static const union AnimCmd sAnim_Linoone_1[] = { ANIMCMD_FRAME(0, 14), ANIMCMD_FRAME(1, 14), @@ -3066,7 +3068,7 @@ static const union AnimCmd sAnim_LINOONE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WURMPLE_1[] = +static const union AnimCmd sAnim_Wurmple_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 35), @@ -3074,7 +3076,7 @@ static const union AnimCmd sAnim_WURMPLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SILCOON_1[] = +static const union AnimCmd sAnim_Silcoon_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 25), @@ -3082,13 +3084,13 @@ static const union AnimCmd sAnim_SILCOON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SILCOON_2[] = +static const union AnimCmd sAnim_Silcoon_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BEAUTIFLY_1[] = +static const union AnimCmd sAnim_Beautifly_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 2), @@ -3102,13 +3104,13 @@ static const union AnimCmd sAnim_BEAUTIFLY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BEAUTIFLY_2[] = +static const union AnimCmd sAnim_Beautifly_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CASCOON_1[] = +static const union AnimCmd sAnim_Cascoon_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3118,13 +3120,13 @@ static const union AnimCmd sAnim_CASCOON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CASCOON_2[] = +static const union AnimCmd sAnim_Cascoon_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DUSTOX_1[] = +static const union AnimCmd sAnim_Dustox_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 1), @@ -3144,13 +3146,13 @@ static const union AnimCmd sAnim_DUSTOX_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DUSTOX_2[] = +static const union AnimCmd sAnim_Dustox_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LOTAD_1[] = +static const union AnimCmd sAnim_Lotad_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 55), @@ -3158,7 +3160,7 @@ static const union AnimCmd sAnim_LOTAD_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LOMBRE_1[] = +static const union AnimCmd sAnim_Lombre_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 30), @@ -3168,7 +3170,7 @@ static const union AnimCmd sAnim_LOMBRE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LUDICOLO_1[] = +static const union AnimCmd sAnim_Ludicolo_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -3180,7 +3182,7 @@ static const union AnimCmd sAnim_LUDICOLO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SEEDOT_1[] = +static const union AnimCmd sAnim_Seedot_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3194,7 +3196,7 @@ static const union AnimCmd sAnim_SEEDOT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NUZLEAF_1[] = +static const union AnimCmd sAnim_Nuzleaf_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 15), @@ -3208,7 +3210,7 @@ static const union AnimCmd sAnim_NUZLEAF_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHIFTRY_1[] = +static const union AnimCmd sAnim_Shiftry_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 35), @@ -3216,7 +3218,7 @@ static const union AnimCmd sAnim_SHIFTRY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NINCADA_1[] = +static const union AnimCmd sAnim_Nincada_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 22), @@ -3226,7 +3228,7 @@ static const union AnimCmd sAnim_NINCADA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NINJASK_1[] = +static const union AnimCmd sAnim_Ninjask_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 1), @@ -3249,7 +3251,7 @@ static const union AnimCmd sAnim_NINJASK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHEDINJA_1[] = +static const union AnimCmd sAnim_Shedinja_1[] = { ANIMCMD_FRAME(0, 33), ANIMCMD_FRAME(1, 33), @@ -3259,7 +3261,7 @@ static const union AnimCmd sAnim_SHEDINJA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TAILLOW_1[] = +static const union AnimCmd sAnim_Taillow_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -3273,7 +3275,7 @@ static const union AnimCmd sAnim_TAILLOW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SWELLOW_1[] = +static const union AnimCmd sAnim_Swellow_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 18), @@ -3281,7 +3283,7 @@ static const union AnimCmd sAnim_SWELLOW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHROOMISH_1[] = +static const union AnimCmd sAnim_Shroomish_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -3297,7 +3299,7 @@ static const union AnimCmd sAnim_SHROOMISH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BRELOOM_1[] = +static const union AnimCmd sAnim_Breloom_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 30), @@ -3307,7 +3309,7 @@ static const union AnimCmd sAnim_BRELOOM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WINGULL_1[] = +static const union AnimCmd sAnim_Wingull_1[] = { ANIMCMD_FRAME(0, 17), ANIMCMD_FRAME(1, 23), @@ -3315,7 +3317,7 @@ static const union AnimCmd sAnim_WINGULL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PELIPPER_1[] = +static const union AnimCmd sAnim_Pelipper_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -3329,7 +3331,7 @@ static const union AnimCmd sAnim_PELIPPER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SURSKIT_1[] = +static const union AnimCmd sAnim_Surskit_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 18), @@ -3339,13 +3341,13 @@ static const union AnimCmd sAnim_SURSKIT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SURSKIT_2[] = +static const union AnimCmd sAnim_Surskit_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MASQUERAIN_1[] = +static const union AnimCmd sAnim_Masquerain_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 8), @@ -3359,13 +3361,13 @@ static const union AnimCmd sAnim_MASQUERAIN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MASQUERAIN_2[] = +static const union AnimCmd sAnim_Masquerain_2[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_WAILMER_1[] = +static const union AnimCmd sAnim_Wailmer_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -3377,7 +3379,7 @@ static const union AnimCmd sAnim_WAILMER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WAILORD_1[] = +static const union AnimCmd sAnim_Wailord_1[] = { ANIMCMD_FRAME(0, 26), ANIMCMD_FRAME(1, 48), @@ -3385,7 +3387,7 @@ static const union AnimCmd sAnim_WAILORD_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SKITTY_1[] = +static const union AnimCmd sAnim_Skitty_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 35), @@ -3393,7 +3395,7 @@ static const union AnimCmd sAnim_SKITTY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DELCATTY_1[] = +static const union AnimCmd sAnim_Delcatty_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 46), @@ -3401,7 +3403,7 @@ static const union AnimCmd sAnim_DELCATTY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KECLEON_1[] = +static const union AnimCmd sAnim_Kecleon_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 18), @@ -3411,7 +3413,7 @@ static const union AnimCmd sAnim_KECLEON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BALTOY_1[] = +static const union AnimCmd sAnim_Baltoy_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3423,7 +3425,7 @@ static const union AnimCmd sAnim_BALTOY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CLAYDOL_1[] = +static const union AnimCmd sAnim_Claydol_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3435,7 +3437,7 @@ static const union AnimCmd sAnim_CLAYDOL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NOSEPASS_1[] = +static const union AnimCmd sAnim_Nosepass_1[] = { ANIMCMD_FRAME(0, 27), ANIMCMD_FRAME(1, 27), @@ -3447,7 +3449,7 @@ static const union AnimCmd sAnim_NOSEPASS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TORKOAL_1[] = +static const union AnimCmd sAnim_Torkoal_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3457,7 +3459,7 @@ static const union AnimCmd sAnim_TORKOAL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SABLEYE_1[] = +static const union AnimCmd sAnim_Sableye_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3467,7 +3469,7 @@ static const union AnimCmd sAnim_SABLEYE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BARBOACH_1[] = +static const union AnimCmd sAnim_Barboach_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3485,7 +3487,7 @@ static const union AnimCmd sAnim_BARBOACH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WHISCASH_1[] = +static const union AnimCmd sAnim_Whiscash_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3503,7 +3505,7 @@ static const union AnimCmd sAnim_WHISCASH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LUVDISC_1[] = +static const union AnimCmd sAnim_Luvdisc_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3513,7 +3515,7 @@ static const union AnimCmd sAnim_LUVDISC_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CORPHISH_1[] = +static const union AnimCmd sAnim_Corphish_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3525,7 +3527,7 @@ static const union AnimCmd sAnim_CORPHISH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CRAWDAUNT_1[] = +static const union AnimCmd sAnim_Crawdaunt_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3535,7 +3537,7 @@ static const union AnimCmd sAnim_CRAWDAUNT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FEEBAS_1[] = +static const union AnimCmd sAnim_Feebas_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3547,7 +3549,7 @@ static const union AnimCmd sAnim_FEEBAS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MILOTIC_1[] = +static const union AnimCmd sAnim_Milotic_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3559,7 +3561,7 @@ static const union AnimCmd sAnim_MILOTIC_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CARVANHA_1[] = +static const union AnimCmd sAnim_Carvanha_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -3573,7 +3575,7 @@ static const union AnimCmd sAnim_CARVANHA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHARPEDO_1[] = +static const union AnimCmd sAnim_Sharpedo_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -3587,7 +3589,7 @@ static const union AnimCmd sAnim_SHARPEDO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TRAPINCH_1[] = +static const union AnimCmd sAnim_Trapinch_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3597,7 +3599,7 @@ static const union AnimCmd sAnim_TRAPINCH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VIBRAVA_1[] = +static const union AnimCmd sAnim_Vibrava_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3609,7 +3611,7 @@ static const union AnimCmd sAnim_VIBRAVA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FLYGON_1[] = +static const union AnimCmd sAnim_Flygon_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3621,7 +3623,7 @@ static const union AnimCmd sAnim_FLYGON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAKUHITA_1[] = +static const union AnimCmd sAnim_Makuhita_1[] = { ANIMCMD_FRAME(0, 7), ANIMCMD_FRAME(1, 10), @@ -3635,7 +3637,7 @@ static const union AnimCmd sAnim_MAKUHITA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HARIYAMA_1[] = +static const union AnimCmd sAnim_Hariyama_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -3644,7 +3646,7 @@ static const union AnimCmd sAnim_HARIYAMA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ELECTRIKE_1[] = +static const union AnimCmd sAnim_Electrike_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 25), @@ -3654,7 +3656,7 @@ static const union AnimCmd sAnim_ELECTRIKE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MANECTRIC_1[] = +static const union AnimCmd sAnim_Manectric_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 33), @@ -3664,7 +3666,7 @@ static const union AnimCmd sAnim_MANECTRIC_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NUMEL_1[] = +static const union AnimCmd sAnim_Numel_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3674,7 +3676,7 @@ static const union AnimCmd sAnim_NUMEL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CAMERUPT_1[] = +static const union AnimCmd sAnim_Camerupt_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3686,7 +3688,7 @@ static const union AnimCmd sAnim_CAMERUPT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SPHEAL_1[] = +static const union AnimCmd sAnim_Spheal_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 43), @@ -3699,7 +3701,7 @@ static const union AnimCmd sAnim_SPHEAL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SEALEO_1[] = +static const union AnimCmd sAnim_Sealeo_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3709,7 +3711,7 @@ static const union AnimCmd sAnim_SEALEO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WALREIN_1[] = +static const union AnimCmd sAnim_Walrein_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 10), @@ -3719,7 +3721,7 @@ static const union AnimCmd sAnim_WALREIN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CACNEA_1[] = +static const union AnimCmd sAnim_Cacnea_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3735,7 +3737,7 @@ static const union AnimCmd sAnim_CACNEA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CACTURNE_1[] = +static const union AnimCmd sAnim_Cacturne_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3745,7 +3747,7 @@ static const union AnimCmd sAnim_CACTURNE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SNORUNT_1[] = +static const union AnimCmd sAnim_Snorunt_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3755,7 +3757,7 @@ static const union AnimCmd sAnim_SNORUNT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GLALIE_1[] = +static const union AnimCmd sAnim_Glalie_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3765,7 +3767,7 @@ static const union AnimCmd sAnim_GLALIE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LUNATONE_1[] = +static const union AnimCmd sAnim_Lunatone_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -3775,7 +3777,7 @@ static const union AnimCmd sAnim_LUNATONE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LUNATONE_2[] = +static const union AnimCmd sAnim_Lunatone_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -3784,7 +3786,7 @@ static const union AnimCmd sAnim_LUNATONE_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SOLROCK_1[] = +static const union AnimCmd sAnim_Solrock_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -3794,7 +3796,7 @@ static const union AnimCmd sAnim_SOLROCK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SOLROCK_2[] = +static const union AnimCmd sAnim_Solrock_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -3803,7 +3805,7 @@ static const union AnimCmd sAnim_SOLROCK_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AZURILL_1[] = +static const union AnimCmd sAnim_Azurill_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 12), @@ -3815,7 +3817,7 @@ static const union AnimCmd sAnim_AZURILL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SPOINK_1[] = +static const union AnimCmd sAnim_Spoink_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 10), @@ -3831,7 +3833,7 @@ static const union AnimCmd sAnim_SPOINK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GRUMPIG_1[] = +static const union AnimCmd sAnim_Grumpig_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3841,7 +3843,7 @@ static const union AnimCmd sAnim_GRUMPIG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PLUSLE_1[] = +static const union AnimCmd sAnim_Plusle_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3851,7 +3853,7 @@ static const union AnimCmd sAnim_PLUSLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MINUN_1[] = +static const union AnimCmd sAnim_Minun_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3861,7 +3863,7 @@ static const union AnimCmd sAnim_MINUN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAWILE_1[] = +static const union AnimCmd sAnim_Mawile_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -3873,7 +3875,7 @@ static const union AnimCmd sAnim_MAWILE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MEDITITE_1[] = +static const union AnimCmd sAnim_Meditite_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 2), @@ -3881,7 +3883,7 @@ static const union AnimCmd sAnim_MEDITITE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MEDICHAM_1[] = +static const union AnimCmd sAnim_Medicham_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -3893,7 +3895,7 @@ static const union AnimCmd sAnim_MEDICHAM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SWABLU_1[] = +static const union AnimCmd sAnim_Swablu_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 10), @@ -3905,7 +3907,7 @@ static const union AnimCmd sAnim_SWABLU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SWABLU_2[] = +static const union AnimCmd sAnim_Swablu_2[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(2, 8), @@ -3916,7 +3918,7 @@ static const union AnimCmd sAnim_SWABLU_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ALTARIA_1[] = +static const union AnimCmd sAnim_Altaria_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -3926,7 +3928,7 @@ static const union AnimCmd sAnim_ALTARIA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ALTARIA_2[] = +static const union AnimCmd sAnim_Altaria_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -3935,7 +3937,7 @@ static const union AnimCmd sAnim_ALTARIA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WYNAUT_1[] = +static const union AnimCmd sAnim_Wynaut_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3945,7 +3947,7 @@ static const union AnimCmd sAnim_WYNAUT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DUSKULL_1[] = +static const union AnimCmd sAnim_Duskull_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3955,7 +3957,7 @@ static const union AnimCmd sAnim_DUSKULL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DUSCLOPS_1[] = +static const union AnimCmd sAnim_Dusclops_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -3965,7 +3967,7 @@ static const union AnimCmd sAnim_DUSCLOPS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ROSELIA_1[] = +static const union AnimCmd sAnim_Roselia_1[] = { ANIMCMD_FRAME(0, 18), ANIMCMD_FRAME(1, 44), @@ -3973,7 +3975,7 @@ static const union AnimCmd sAnim_ROSELIA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SLAKOTH_1[] = +static const union AnimCmd sAnim_Slakoth_1[] = { ANIMCMD_FRAME(0, 13), ANIMCMD_FRAME(1, 22), @@ -3984,7 +3986,7 @@ static const union AnimCmd sAnim_SLAKOTH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VIGOROTH_1[] = +static const union AnimCmd sAnim_Vigoroth_1[] = { ANIMCMD_FRAME(0, 13), ANIMCMD_FRAME(1, 7), @@ -3996,7 +3998,7 @@ static const union AnimCmd sAnim_VIGOROTH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SLAKING_1[] = +static const union AnimCmd sAnim_Slaking_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -4008,7 +4010,7 @@ static const union AnimCmd sAnim_SLAKING_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GULPIN_1[] = +static const union AnimCmd sAnim_Gulpin_1[] = { ANIMCMD_FRAME(0, 14), ANIMCMD_FRAME(1, 14), @@ -4018,7 +4020,7 @@ static const union AnimCmd sAnim_GULPIN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SWALOT_1[] = +static const union AnimCmd sAnim_Swalot_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 30), @@ -4027,7 +4029,7 @@ static const union AnimCmd sAnim_SWALOT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TROPIUS_1[] = +static const union AnimCmd sAnim_Tropius_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4037,7 +4039,7 @@ static const union AnimCmd sAnim_TROPIUS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WHISMUR_1[] = +static const union AnimCmd sAnim_Whismur_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 9), @@ -4052,7 +4054,7 @@ static const union AnimCmd sAnim_WHISMUR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LOUDRED_1[] = +static const union AnimCmd sAnim_Loudred_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 9), @@ -4062,7 +4064,7 @@ static const union AnimCmd sAnim_LOUDRED_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_EXPLOUD_1[] = +static const union AnimCmd sAnim_Exploud_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 44), @@ -4070,7 +4072,7 @@ static const union AnimCmd sAnim_EXPLOUD_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CLAMPERL_1[] = +static const union AnimCmd sAnim_Clamperl_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4080,7 +4082,7 @@ static const union AnimCmd sAnim_CLAMPERL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HUNTAIL_1[] = +static const union AnimCmd sAnim_Huntail_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4090,7 +4092,7 @@ static const union AnimCmd sAnim_HUNTAIL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOREBYSS_1[] = +static const union AnimCmd sAnim_Gorebyss_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4100,7 +4102,7 @@ static const union AnimCmd sAnim_GOREBYSS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ABSOL_1[] = +static const union AnimCmd sAnim_Absol_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4110,7 +4112,7 @@ static const union AnimCmd sAnim_ABSOL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHUPPET_1[] = +static const union AnimCmd sAnim_Shuppet_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4122,7 +4124,7 @@ static const union AnimCmd sAnim_SHUPPET_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BANETTE_1[] = +static const union AnimCmd sAnim_Banette_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4134,7 +4136,7 @@ static const union AnimCmd sAnim_BANETTE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SEVIPER_1[] = +static const union AnimCmd sAnim_Seviper_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4146,7 +4148,7 @@ static const union AnimCmd sAnim_SEVIPER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ZANGOOSE_1[] = +static const union AnimCmd sAnim_Zangoose_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4158,7 +4160,7 @@ static const union AnimCmd sAnim_ZANGOOSE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RELICANTH_1[] = +static const union AnimCmd sAnim_Relicanth_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4168,7 +4170,7 @@ static const union AnimCmd sAnim_RELICANTH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ARON_1[] = +static const union AnimCmd sAnim_Aron_1[] = { ANIMCMD_FRAME(0, 33), ANIMCMD_FRAME(1, 44), @@ -4178,7 +4180,7 @@ static const union AnimCmd sAnim_ARON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LAIRON_1[] = +static const union AnimCmd sAnim_Lairon_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 29), @@ -4188,7 +4190,7 @@ static const union AnimCmd sAnim_LAIRON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AGGRON_1[] = +static const union AnimCmd sAnim_Aggron_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 44), @@ -4196,31 +4198,31 @@ static const union AnimCmd sAnim_AGGRON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CASTFORM_0[] = +static const union AnimCmd sAnim_Castform_0[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CASTFORM_1[] = +static const union AnimCmd sAnim_Castform_1[] = { ANIMCMD_FRAME(1, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CASTFORM_2[] = +static const union AnimCmd sAnim_Castform_2[] = { ANIMCMD_FRAME(2, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CASTFORM_3[] = +static const union AnimCmd sAnim_Castform_3[] = { ANIMCMD_FRAME(3, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_VOLBEAT_1[] = +static const union AnimCmd sAnim_Volbeat_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 11), @@ -4232,7 +4234,7 @@ static const union AnimCmd sAnim_VOLBEAT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ILLUMISE_1[] = +static const union AnimCmd sAnim_Illumise_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -4242,7 +4244,7 @@ static const union AnimCmd sAnim_ILLUMISE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LILEEP_1[] = +static const union AnimCmd sAnim_Lileep_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4252,7 +4254,7 @@ static const union AnimCmd sAnim_LILEEP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CRADILY_1[] = +static const union AnimCmd sAnim_Cradily_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4264,7 +4266,7 @@ static const union AnimCmd sAnim_CRADILY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ANORITH_1[] = +static const union AnimCmd sAnim_Anorith_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4276,7 +4278,7 @@ static const union AnimCmd sAnim_ANORITH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ARMALDO_1[] = +static const union AnimCmd sAnim_Armaldo_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4286,7 +4288,7 @@ static const union AnimCmd sAnim_ARMALDO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RALTS_1[] = +static const union AnimCmd sAnim_Ralts_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 25), @@ -4294,7 +4296,7 @@ static const union AnimCmd sAnim_RALTS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KIRLIA_1[] = +static const union AnimCmd sAnim_Kirlia_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 39), @@ -4302,7 +4304,7 @@ static const union AnimCmd sAnim_KIRLIA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GARDEVOIR_1[] = +static const union AnimCmd sAnim_Gardevoir_1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(1, 3), @@ -4320,7 +4322,7 @@ static const union AnimCmd sAnim_GARDEVOIR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BAGON_1[] = +static const union AnimCmd sAnim_Bagon_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4330,7 +4332,7 @@ static const union AnimCmd sAnim_BAGON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHELGON_1[] = +static const union AnimCmd sAnim_Shelgon_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4340,7 +4342,7 @@ static const union AnimCmd sAnim_SHELGON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SALAMENCE_1[] = +static const union AnimCmd sAnim_Salamence_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4350,7 +4352,7 @@ static const union AnimCmd sAnim_SALAMENCE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BELDUM_1[] = +static const union AnimCmd sAnim_Beldum_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4360,7 +4362,7 @@ static const union AnimCmd sAnim_BELDUM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_METANG_1[] = +static const union AnimCmd sAnim_Metang_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 8), @@ -4370,7 +4372,7 @@ static const union AnimCmd sAnim_METANG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_METAGROSS_1[] = +static const union AnimCmd sAnim_Metagross_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -4380,7 +4382,7 @@ static const union AnimCmd sAnim_METAGROSS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_REGIROCK_1[] = +static const union AnimCmd sAnim_Regirock_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4390,7 +4392,7 @@ static const union AnimCmd sAnim_REGIROCK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_REGIROCK_2[] = +static const union AnimCmd sAnim_Regirock_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4399,7 +4401,7 @@ static const union AnimCmd sAnim_REGIROCK_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_REGICE_1[] = +static const union AnimCmd sAnim_Regice_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 15), @@ -4409,7 +4411,7 @@ static const union AnimCmd sAnim_REGICE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_REGISTEEL_1[] = +static const union AnimCmd sAnim_Registeel_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4419,7 +4421,7 @@ static const union AnimCmd sAnim_REGISTEEL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_REGISTEEL_2[] = +static const union AnimCmd sAnim_Registeel_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4428,7 +4430,7 @@ static const union AnimCmd sAnim_REGISTEEL_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KYOGRE_1[] = +static const union AnimCmd sAnim_Kyogre_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4438,7 +4440,7 @@ static const union AnimCmd sAnim_KYOGRE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KYOGRE_2[] = +static const union AnimCmd sAnim_Kyogre_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4447,7 +4449,7 @@ static const union AnimCmd sAnim_KYOGRE_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GROUDON_1[] = +static const union AnimCmd sAnim_Groudon_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -4457,7 +4459,7 @@ static const union AnimCmd sAnim_GROUDON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GROUDON_2[] = +static const union AnimCmd sAnim_Groudon_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4466,7 +4468,7 @@ static const union AnimCmd sAnim_GROUDON_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RAYQUAZA_1[] = +static const union AnimCmd sAnim_Rayquaza_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 8), @@ -4476,7 +4478,7 @@ static const union AnimCmd sAnim_RAYQUAZA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RAYQUAZA_2[] = +static const union AnimCmd sAnim_Rayquaza_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4485,7 +4487,7 @@ static const union AnimCmd sAnim_RAYQUAZA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LATIAS_1[] = +static const union AnimCmd sAnim_Latias_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4495,7 +4497,7 @@ static const union AnimCmd sAnim_LATIAS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LATIAS_2[] = +static const union AnimCmd sAnim_Latias_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4504,7 +4506,7 @@ static const union AnimCmd sAnim_LATIAS_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LATIOS_1[] = +static const union AnimCmd sAnim_Latios_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4514,7 +4516,7 @@ static const union AnimCmd sAnim_LATIOS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LATIOS_2[] = +static const union AnimCmd sAnim_Latios_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4523,7 +4525,7 @@ static const union AnimCmd sAnim_LATIOS_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_JIRACHI_1[] = +static const union AnimCmd sAnim_Jirachi_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4538,7 +4540,7 @@ static const union AnimCmd sAnim_JIRACHI_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_JIRACHI_2[] = +static const union AnimCmd sAnim_Jirachi_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4547,7 +4549,7 @@ static const union AnimCmd sAnim_JIRACHI_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DEOXYS_1[] = +static const union AnimCmd sAnim_Deoxys_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -4557,7 +4559,7 @@ static const union AnimCmd sAnim_DEOXYS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DEOXYS_2[] = +static const union AnimCmd sAnim_Deoxys_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4566,7 +4568,7 @@ static const union AnimCmd sAnim_DEOXYS_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHIMECHO_1[] = +static const union AnimCmd sAnim_Chimecho_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4580,7 +4582,7 @@ static const union AnimCmd sAnim_CHIMECHO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_EGG_1[] = +static const union AnimCmd sAnim_Egg_1[] = { ANIMCMD_FRAME(0, 6), ANIMCMD_FRAME(1, 6), @@ -4589,7 +4591,7 @@ static const union AnimCmd sAnim_EGG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_B_1[] = +static const union AnimCmd sAnim_UnownB_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4597,7 +4599,7 @@ static const union AnimCmd sAnim_UNOWN_B_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_C_1[] = +static const union AnimCmd sAnim_UnownC_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4605,7 +4607,7 @@ static const union AnimCmd sAnim_UNOWN_C_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_D_1[] = +static const union AnimCmd sAnim_UnownD_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4613,7 +4615,7 @@ static const union AnimCmd sAnim_UNOWN_D_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_E_1[] = +static const union AnimCmd sAnim_UnownE_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4621,7 +4623,7 @@ static const union AnimCmd sAnim_UNOWN_E_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_F_1[] = +static const union AnimCmd sAnim_UnownF_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4629,7 +4631,7 @@ static const union AnimCmd sAnim_UNOWN_F_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_G_1[] = +static const union AnimCmd sAnim_UnownG_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4637,7 +4639,7 @@ static const union AnimCmd sAnim_UNOWN_G_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_H_1[] = +static const union AnimCmd sAnim_UnownH_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4645,7 +4647,7 @@ static const union AnimCmd sAnim_UNOWN_H_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_I_1[] = +static const union AnimCmd sAnim_UnownI_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4653,7 +4655,7 @@ static const union AnimCmd sAnim_UNOWN_I_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_J_1[] = +static const union AnimCmd sAnim_UnownJ_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4661,7 +4663,7 @@ static const union AnimCmd sAnim_UNOWN_J_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_K_1[] = +static const union AnimCmd sAnim_UnownK_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4669,7 +4671,7 @@ static const union AnimCmd sAnim_UNOWN_K_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_L_1[] = +static const union AnimCmd sAnim_UnownL_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4677,7 +4679,7 @@ static const union AnimCmd sAnim_UNOWN_L_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_M_1[] = +static const union AnimCmd sAnim_UnownM_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4685,7 +4687,7 @@ static const union AnimCmd sAnim_UNOWN_M_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_N_1[] = +static const union AnimCmd sAnim_UnownN_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4693,7 +4695,7 @@ static const union AnimCmd sAnim_UNOWN_N_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_O_1[] = +static const union AnimCmd sAnim_UnownO_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4701,7 +4703,7 @@ static const union AnimCmd sAnim_UNOWN_O_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_P_1[] = +static const union AnimCmd sAnim_UnownP_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4709,7 +4711,7 @@ static const union AnimCmd sAnim_UNOWN_P_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_Q_1[] = +static const union AnimCmd sAnim_UnownQ_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4717,7 +4719,7 @@ static const union AnimCmd sAnim_UNOWN_Q_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_R_1[] = +static const union AnimCmd sAnim_UnownR_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4725,7 +4727,7 @@ static const union AnimCmd sAnim_UNOWN_R_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_S_1[] = +static const union AnimCmd sAnim_UnownS_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4733,7 +4735,7 @@ static const union AnimCmd sAnim_UNOWN_S_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_T_1[] = +static const union AnimCmd sAnim_UnownT_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4741,7 +4743,7 @@ static const union AnimCmd sAnim_UNOWN_T_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_U_1[] = +static const union AnimCmd sAnim_UnownU_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4749,7 +4751,7 @@ static const union AnimCmd sAnim_UNOWN_U_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_V_1[] = +static const union AnimCmd sAnim_UnownV_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4757,7 +4759,7 @@ static const union AnimCmd sAnim_UNOWN_V_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_W_1[] = +static const union AnimCmd sAnim_UnownW_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4765,7 +4767,7 @@ static const union AnimCmd sAnim_UNOWN_W_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_X_1[] = +static const union AnimCmd sAnim_UnownX_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4773,7 +4775,7 @@ static const union AnimCmd sAnim_UNOWN_X_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_Y_1[] = +static const union AnimCmd sAnim_UnownY_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4781,7 +4783,7 @@ static const union AnimCmd sAnim_UNOWN_Y_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_Z_1[] = +static const union AnimCmd sAnim_UnownZ_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4789,7 +4791,7 @@ static const union AnimCmd sAnim_UNOWN_Z_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_EMARK_1[] = +static const union AnimCmd sAnim_UnownEMark_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4797,7 +4799,7 @@ static const union AnimCmd sAnim_UNOWN_EMARK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNOWN_QMARK_1[] = +static const union AnimCmd sAnim_UnownQMark_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4805,2592 +4807,892 @@ static const union AnimCmd sAnim_UNOWN_QMARK_1[] = ANIMCMD_END, }; -static const union AnimCmd *const sAnims_NONE[] ={ - sAnim_GeneralFrame0, - sAnim_NONE_1, -}; - -static const union AnimCmd *const sAnims_BULBASAUR[] ={ - sAnim_GeneralFrame0, - sAnim_BULBASAUR_1, -}; - -static const union AnimCmd *const sAnims_IVYSAUR[] ={ - sAnim_GeneralFrame0, - sAnim_IVYSAUR_1, -}; - -static const union AnimCmd *const sAnims_VENUSAUR[] ={ - sAnim_GeneralFrame0, - sAnim_VENUSAUR_1, -}; - -static const union AnimCmd *const sAnims_CHARMANDER[] ={ - sAnim_GeneralFrame0, - sAnim_CHARMANDER_1, -}; - -static const union AnimCmd *const sAnims_CHARMELEON[] ={ - sAnim_GeneralFrame0, - sAnim_CHARMELEON_1, -}; - -static const union AnimCmd *const sAnims_CHARIZARD[] ={ - sAnim_GeneralFrame0, - sAnim_CHARIZARD_1, -}; - -static const union AnimCmd *const sAnims_SQUIRTLE[] ={ - sAnim_GeneralFrame0, - sAnim_SQUIRTLE_1, -}; - -static const union AnimCmd *const sAnims_WARTORTLE[] ={ - sAnim_GeneralFrame0, - sAnim_WARTORTLE_1, -}; - -static const union AnimCmd *const sAnims_BLASTOISE[] ={ - sAnim_GeneralFrame0, - sAnim_BLASTOISE_1, -}; - -static const union AnimCmd *const sAnims_CATERPIE[] ={ - sAnim_GeneralFrame0, - sAnim_CATERPIE_1, -}; - -static const union AnimCmd *const sAnims_METAPOD[] ={ - sAnim_GeneralFrame0, - sAnim_METAPOD_1, -}; - -static const union AnimCmd *const sAnims_BUTTERFREE[] ={ - sAnim_GeneralFrame0, - sAnim_BUTTERFREE_1, -}; - -static const union AnimCmd *const sAnims_WEEDLE[] ={ - sAnim_GeneralFrame0, - sAnim_WEEDLE_1, -}; - -static const union AnimCmd *const sAnims_KAKUNA[] ={ - sAnim_GeneralFrame0, - sAnim_KAKUNA_1, -}; - -static const union AnimCmd *const sAnims_BEEDRILL[] ={ - sAnim_GeneralFrame0, - sAnim_BEEDRILL_1, -}; - -static const union AnimCmd *const sAnims_PIDGEY[] ={ - sAnim_GeneralFrame0, - sAnim_PIDGEY_1, -}; - -static const union AnimCmd *const sAnims_PIDGEOTTO[] ={ - sAnim_GeneralFrame0, - sAnim_PIDGEOTTO_1, -}; - -static const union AnimCmd *const sAnims_PIDGEOT[] ={ - sAnim_GeneralFrame0, - sAnim_PIDGEOT_1, -}; - -static const union AnimCmd *const sAnims_RATTATA[] ={ - sAnim_GeneralFrame0, - sAnim_RATTATA_1, -}; - -static const union AnimCmd *const sAnims_RATICATE[] ={ - sAnim_GeneralFrame0, - sAnim_RATICATE_1, -}; - -static const union AnimCmd *const sAnims_SPEAROW[] ={ - sAnim_GeneralFrame0, - sAnim_SPEAROW_1, -}; - -static const union AnimCmd *const sAnims_FEAROW[] ={ - sAnim_GeneralFrame0, - sAnim_FEAROW_1, -}; - -static const union AnimCmd *const sAnims_EKANS[] ={ - sAnim_GeneralFrame0, - sAnim_EKANS_1, -}; - -static const union AnimCmd *const sAnims_ARBOK[] ={ - sAnim_GeneralFrame0, - sAnim_ARBOK_1, -}; - -static const union AnimCmd *const sAnims_PIKACHU[] ={ - sAnim_GeneralFrame0, - sAnim_PIKACHU_1, - sAnim_PIKACHU_2, -}; - -static const union AnimCmd *const sAnims_RAICHU[] ={ - sAnim_GeneralFrame0, - sAnim_RAICHU_1, - sAnim_RAICHU_2, -}; - -static const union AnimCmd *const sAnims_SANDSHREW[] ={ - sAnim_GeneralFrame0, - sAnim_SANDSHREW_1, - sAnim_SANDSHREW_2, -}; - -static const union AnimCmd *const sAnims_SANDSLASH[] ={ - sAnim_GeneralFrame0, - sAnim_SANDSLASH_1, - sAnim_SANDSLASH_2, -}; - -static const union AnimCmd *const sAnims_NIDORAN_F[] ={ - sAnim_GeneralFrame0, - sAnim_NIDORAN_F_1, -}; - -static const union AnimCmd *const sAnims_NIDORINA[] ={ - sAnim_GeneralFrame0, - sAnim_NIDORINA_1, -}; - -static const union AnimCmd *const sAnims_NIDOQUEEN[] ={ - sAnim_GeneralFrame0, - sAnim_NIDOQUEEN_1, -}; - -static const union AnimCmd *const sAnims_NIDORAN_M[] ={ - sAnim_GeneralFrame0, - sAnim_NIDORAN_M_1, -}; - -static const union AnimCmd *const sAnims_NIDORINO[] ={ - sAnim_GeneralFrame0, - sAnim_NIDORINO_1, -}; - -static const union AnimCmd *const sAnims_NIDOKING[] ={ - sAnim_GeneralFrame0, - sAnim_NIDOKING_1, -}; - -static const union AnimCmd *const sAnims_CLEFAIRY[] ={ - sAnim_GeneralFrame0, - sAnim_CLEFAIRY_1, -}; - -static const union AnimCmd *const sAnims_CLEFABLE[] ={ - sAnim_GeneralFrame0, - sAnim_CLEFABLE_1, -}; - -static const union AnimCmd *const sAnims_VULPIX[] ={ - sAnim_GeneralFrame0, - sAnim_VULPIX_1, - sAnim_VULPIX_2, -}; - -static const union AnimCmd *const sAnims_NINETALES[] ={ - sAnim_GeneralFrame0, - sAnim_NINETALES_1, - sAnim_NINETALES_2, -}; - -static const union AnimCmd *const sAnims_JIGGLYPUFF[] ={ - sAnim_GeneralFrame0, - sAnim_JIGGLYPUFF_1, - sAnim_JIGGLYPUFF_2, -}; - -static const union AnimCmd *const sAnims_WIGGLYTUFF[] ={ - sAnim_GeneralFrame0, - sAnim_WIGGLYTUFF_1, - sAnim_WIGGLYTUFF_2, -}; - -static const union AnimCmd *const sAnims_ZUBAT[] ={ - sAnim_GeneralFrame0, - sAnim_ZUBAT_1, -}; - -static const union AnimCmd *const sAnims_GOLBAT[] ={ - sAnim_GeneralFrame0, - sAnim_GOLBAT_1, -}; - -static const union AnimCmd *const sAnims_ODDISH[] ={ - sAnim_GeneralFrame0, - sAnim_ODDISH_1, -}; - -static const union AnimCmd *const sAnims_GLOOM[] ={ - sAnim_GeneralFrame0, - sAnim_GLOOM_1, -}; - -static const union AnimCmd *const sAnims_VILEPLUME[] ={ - sAnim_GeneralFrame0, - sAnim_VILEPLUME_1, -}; - -static const union AnimCmd *const sAnims_PARAS[] ={ - sAnim_GeneralFrame0, - sAnim_PARAS_1, -}; - -static const union AnimCmd *const sAnims_PARASECT[] ={ - sAnim_GeneralFrame0, - sAnim_PARASECT_1, -}; - -static const union AnimCmd *const sAnims_VENONAT[] ={ - sAnim_GeneralFrame0, - sAnim_VENONAT_1, -}; - -static const union AnimCmd *const sAnims_VENOMOTH[] ={ - sAnim_GeneralFrame0, - sAnim_VENOMOTH_1, -}; - -static const union AnimCmd *const sAnims_DIGLETT[] ={ - sAnim_GeneralFrame0, - sAnim_DIGLETT_1, -}; - -static const union AnimCmd *const sAnims_DUGTRIO[] ={ - sAnim_GeneralFrame0, - sAnim_DUGTRIO_1, -}; - -static const union AnimCmd *const sAnims_MEOWTH[] ={ - sAnim_GeneralFrame0, - sAnim_MEOWTH_1, -}; - -static const union AnimCmd *const sAnims_PERSIAN[] ={ - sAnim_GeneralFrame0, - sAnim_PERSIAN_1, -}; - -static const union AnimCmd *const sAnims_PSYDUCK[] ={ - sAnim_GeneralFrame0, - sAnim_PSYDUCK_1, - sAnim_PSYDUCK_2, -}; - -static const union AnimCmd *const sAnims_GOLDUCK[] ={ - sAnim_GeneralFrame0, - sAnim_GOLDUCK_1, - sAnim_GOLDUCK_2, -}; - -static const union AnimCmd *const sAnims_MANKEY[] ={ - sAnim_GeneralFrame0, - sAnim_MANKEY_1, -}; - -static const union AnimCmd *const sAnims_PRIMEAPE[] ={ - sAnim_GeneralFrame0, - sAnim_PRIMEAPE_1, -}; - -static const union AnimCmd *const sAnims_GROWLITHE[] ={ - sAnim_GeneralFrame0, - sAnim_GROWLITHE_1, -}; - -static const union AnimCmd *const sAnims_ARCANINE[] ={ - sAnim_GeneralFrame0, - sAnim_ARCANINE_1, -}; - -static const union AnimCmd *const sAnims_POLIWAG[] ={ - sAnim_GeneralFrame0, - sAnim_POLIWAG_1, -}; - -static const union AnimCmd *const sAnims_POLIWHIRL[] ={ - sAnim_GeneralFrame0, - sAnim_POLIWHIRL_1, -}; - -static const union AnimCmd *const sAnims_POLIWRATH[] ={ - sAnim_GeneralFrame0, - sAnim_POLIWRATH_1, -}; - -static const union AnimCmd *const sAnims_ABRA[] ={ - sAnim_GeneralFrame0, - sAnim_ABRA_1, -}; - -static const union AnimCmd *const sAnims_KADABRA[] ={ - sAnim_GeneralFrame0, - sAnim_KADABRA_1, -}; - -static const union AnimCmd *const sAnims_ALAKAZAM[] ={ - sAnim_GeneralFrame0, - sAnim_ALAKAZAM_1, -}; - -static const union AnimCmd *const sAnims_MACHOP[] ={ - sAnim_GeneralFrame0, - sAnim_MACHOP_1, -}; - -static const union AnimCmd *const sAnims_MACHOKE[] ={ - sAnim_GeneralFrame0, - sAnim_MACHOKE_1, -}; - -static const union AnimCmd *const sAnims_MACHAMP[] ={ - sAnim_GeneralFrame0, - sAnim_MACHAMP_1, -}; - -static const union AnimCmd *const sAnims_BELLSPROUT[] ={ - sAnim_GeneralFrame0, - sAnim_BELLSPROUT_1, -}; - -static const union AnimCmd *const sAnims_WEEPINBELL[] ={ - sAnim_GeneralFrame0, - sAnim_WEEPINBELL_1, -}; - -static const union AnimCmd *const sAnims_VICTREEBEL[] ={ - sAnim_GeneralFrame0, - sAnim_VICTREEBEL_1, -}; - -static const union AnimCmd *const sAnims_TENTACOOL[] ={ - sAnim_GeneralFrame0, - sAnim_TENTACOOL_1, -}; - -static const union AnimCmd *const sAnims_TENTACRUEL[] ={ - sAnim_GeneralFrame0, - sAnim_TENTACRUEL_1, -}; - -static const union AnimCmd *const sAnims_GEODUDE[] ={ - sAnim_GeneralFrame0, - sAnim_GEODUDE_1, -}; - -static const union AnimCmd *const sAnims_GRAVELER[] ={ - sAnim_GeneralFrame0, - sAnim_GRAVELER_1, -}; - -static const union AnimCmd *const sAnims_GOLEM[] ={ - sAnim_GeneralFrame0, - sAnim_GOLEM_1, -}; - -static const union AnimCmd *const sAnims_PONYTA[] ={ - sAnim_GeneralFrame0, - sAnim_PONYTA_1, -}; - -static const union AnimCmd *const sAnims_RAPIDASH[] ={ - sAnim_GeneralFrame0, - sAnim_RAPIDASH_1, -}; - -static const union AnimCmd *const sAnims_SLOWPOKE[] ={ - sAnim_GeneralFrame0, - sAnim_SLOWPOKE_1, -}; - -static const union AnimCmd *const sAnims_SLOWBRO[] ={ - sAnim_GeneralFrame0, - sAnim_SLOWBRO_1, -}; - -static const union AnimCmd *const sAnims_MAGNEMITE[] ={ - sAnim_GeneralFrame0, - sAnim_MAGNEMITE_1, -}; - -static const union AnimCmd *const sAnims_MAGNETON[] ={ - sAnim_GeneralFrame0, - sAnim_MAGNETON_1, -}; - -static const union AnimCmd *const sAnims_FARFETCHD[] ={ - sAnim_GeneralFrame0, - sAnim_FARFETCHD_1, -}; - -static const union AnimCmd *const sAnims_DODUO[] ={ - sAnim_GeneralFrame0, - sAnim_DODUO_1, -}; - -static const union AnimCmd *const sAnims_DODRIO[] ={ - sAnim_GeneralFrame0, - sAnim_DODRIO_1, -}; - -static const union AnimCmd *const sAnims_SEEL[] ={ - sAnim_GeneralFrame0, - sAnim_SEEL_1, -}; - -static const union AnimCmd *const sAnims_DEWGONG[] ={ - sAnim_GeneralFrame0, - sAnim_DEWGONG_1, -}; - -static const union AnimCmd *const sAnims_GRIMER[] ={ - sAnim_GeneralFrame0, - sAnim_GRIMER_1, - sAnim_GRIMER_2, -}; - -static const union AnimCmd *const sAnims_MUK[] ={ - sAnim_GeneralFrame0, - sAnim_MUK_1, - sAnim_MUK_2, -}; - -static const union AnimCmd *const sAnims_SHELLDER[] ={ - sAnim_GeneralFrame0, - sAnim_SHELLDER_1, -}; - -static const union AnimCmd *const sAnims_CLOYSTER[] ={ - sAnim_GeneralFrame0, - sAnim_CLOYSTER_1, -}; - -static const union AnimCmd *const sAnims_GASTLY[] ={ - sAnim_GeneralFrame0, - sAnim_GASTLY_1, -}; - -static const union AnimCmd *const sAnims_HAUNTER[] ={ - sAnim_GeneralFrame0, - sAnim_HAUNTER_1, -}; - -static const union AnimCmd *const sAnims_GENGAR[] ={ - sAnim_GeneralFrame0, - sAnim_GENGAR_1, -}; - -static const union AnimCmd *const sAnims_ONIX[] ={ - sAnim_GeneralFrame0, - sAnim_ONIX_1, -}; - -static const union AnimCmd *const sAnims_DROWZEE[] ={ - sAnim_GeneralFrame0, - sAnim_DROWZEE_1, -}; - -static const union AnimCmd *const sAnims_HYPNO[] ={ - sAnim_GeneralFrame0, - sAnim_HYPNO_1, -}; - -static const union AnimCmd *const sAnims_KRABBY[] ={ - sAnim_GeneralFrame0, - sAnim_KRABBY_1, -}; - -static const union AnimCmd *const sAnims_KINGLER[] ={ - sAnim_GeneralFrame0, - sAnim_KINGLER_1, -}; - -static const union AnimCmd *const sAnims_VOLTORB[] ={ - sAnim_GeneralFrame0, - sAnim_VOLTORB_1, -}; - -static const union AnimCmd *const sAnims_ELECTRODE[] ={ - sAnim_GeneralFrame0, - sAnim_ELECTRODE_1, -}; - -static const union AnimCmd *const sAnims_EXEGGCUTE[] ={ - sAnim_GeneralFrame0, - sAnim_EXEGGCUTE_1, -}; - -static const union AnimCmd *const sAnims_EXEGGUTOR[] ={ - sAnim_GeneralFrame0, - sAnim_EXEGGUTOR_1, -}; - -static const union AnimCmd *const sAnims_CUBONE[] ={ - sAnim_GeneralFrame0, - sAnim_CUBONE_1, -}; - -static const union AnimCmd *const sAnims_MAROWAK[] ={ - sAnim_GeneralFrame0, - sAnim_MAROWAK_1, -}; - -static const union AnimCmd *const sAnims_HITMONLEE[] ={ - sAnim_GeneralFrame0, - sAnim_HITMONLEE_1, -}; - -static const union AnimCmd *const sAnims_HITMONCHAN[] ={ - sAnim_GeneralFrame0, - sAnim_HITMONCHAN_1, -}; - -static const union AnimCmd *const sAnims_LICKITUNG[] ={ - sAnim_GeneralFrame0, - sAnim_LICKITUNG_1, -}; - -static const union AnimCmd *const sAnims_KOFFING[] ={ - sAnim_GeneralFrame0, - sAnim_KOFFING_1, - sAnim_KOFFING_2, -}; - -static const union AnimCmd *const sAnims_WEEZING[] ={ - sAnim_GeneralFrame0, - sAnim_WEEZING_1, - sAnim_WEEZING_2, -}; - -static const union AnimCmd *const sAnims_RHYHORN[] ={ - sAnim_GeneralFrame0, - sAnim_RHYHORN_1, - sAnim_RHYHORN_2, -}; - -static const union AnimCmd *const sAnims_RHYDON[] ={ - sAnim_GeneralFrame0, - sAnim_RHYDON_1, - sAnim_RHYDON_2, -}; - -static const union AnimCmd *const sAnims_CHANSEY[] ={ - sAnim_GeneralFrame0, - sAnim_CHANSEY_1, -}; - -static const union AnimCmd *const sAnims_TANGELA[] ={ - sAnim_GeneralFrame0, - sAnim_TANGELA_1, -}; - -static const union AnimCmd *const sAnims_KANGASKHAN[] ={ - sAnim_GeneralFrame0, - sAnim_KANGASKHAN_1, -}; - -static const union AnimCmd *const sAnims_HORSEA[] ={ - sAnim_GeneralFrame0, - sAnim_HORSEA_1, - sAnim_HORSEA_2, -}; - -static const union AnimCmd *const sAnims_SEADRA[] ={ - sAnim_GeneralFrame0, - sAnim_SEADRA_1, - sAnim_SEADRA_2, -}; - -static const union AnimCmd *const sAnims_GOLDEEN[] ={ - sAnim_GeneralFrame0, - sAnim_GOLDEEN_1, -}; - -static const union AnimCmd *const sAnims_SEAKING[] ={ - sAnim_GeneralFrame0, - sAnim_SEAKING_1, -}; - -static const union AnimCmd *const sAnims_STARYU[] ={ - sAnim_GeneralFrame0, - sAnim_STARYU_1, - sAnim_STARYU_2, -}; - -static const union AnimCmd *const sAnims_STARMIE[] ={ - sAnim_GeneralFrame0, - sAnim_STARMIE_1, - sAnim_STARMIE_2, -}; - -static const union AnimCmd *const sAnims_MR_MIME[] ={ - sAnim_GeneralFrame0, - sAnim_MR_MIME_1, -}; - -static const union AnimCmd *const sAnims_SCYTHER[] ={ - sAnim_GeneralFrame0, - sAnim_SCYTHER_1, -}; - -static const union AnimCmd *const sAnims_JYNX[] ={ - sAnim_GeneralFrame0, - sAnim_JYNX_1, -}; - -static const union AnimCmd *const sAnims_ELECTABUZZ[] ={ - sAnim_GeneralFrame0, - sAnim_ELECTABUZZ_1, -}; - -static const union AnimCmd *const sAnims_MAGMAR[] ={ - sAnim_GeneralFrame0, - sAnim_MAGMAR_1, -}; - -static const union AnimCmd *const sAnims_PINSIR[] ={ - sAnim_GeneralFrame0, - sAnim_PINSIR_1, - sAnim_PINSIR_2, -}; - -static const union AnimCmd *const sAnims_TAUROS[] ={ - sAnim_GeneralFrame0, - sAnim_TAUROS_1, -}; - -static const union AnimCmd *const sAnims_MAGIKARP[] ={ - sAnim_GeneralFrame0, - sAnim_MAGIKARP_1, -}; - -static const union AnimCmd *const sAnims_GYARADOS[] ={ - sAnim_GeneralFrame0, - sAnim_GYARADOS_1, -}; - -static const union AnimCmd *const sAnims_LAPRAS[] ={ - sAnim_GeneralFrame0, - sAnim_LAPRAS_1, -}; - -static const union AnimCmd *const sAnims_DITTO[] ={ - sAnim_GeneralFrame0, - sAnim_DITTO_1, -}; - -static const union AnimCmd *const sAnims_EEVEE[] ={ - sAnim_GeneralFrame0, - sAnim_EEVEE_1, -}; - -static const union AnimCmd *const sAnims_VAPOREON[] ={ - sAnim_GeneralFrame0, - sAnim_VAPOREON_1, -}; - -static const union AnimCmd *const sAnims_JOLTEON[] ={ - sAnim_GeneralFrame0, - sAnim_JOLTEON_1, -}; - -static const union AnimCmd *const sAnims_FLAREON[] ={ - sAnim_GeneralFrame0, - sAnim_FLAREON_1, -}; - -static const union AnimCmd *const sAnims_PORYGON[] ={ - sAnim_GeneralFrame0, - sAnim_PORYGON_1, -}; - -static const union AnimCmd *const sAnims_OMANYTE[] ={ - sAnim_GeneralFrame0, - sAnim_OMANYTE_1, -}; - -static const union AnimCmd *const sAnims_OMASTAR[] ={ - sAnim_GeneralFrame0, - sAnim_OMASTAR_1, -}; - -static const union AnimCmd *const sAnims_KABUTO[] ={ - sAnim_GeneralFrame0, - sAnim_KABUTO_1, -}; - -static const union AnimCmd *const sAnims_KABUTOPS[] ={ - sAnim_GeneralFrame0, - sAnim_KABUTOPS_1, -}; - -static const union AnimCmd *const sAnims_AERODACTYL[] ={ - sAnim_GeneralFrame0, - sAnim_AERODACTYL_1, -}; - -static const union AnimCmd *const sAnims_SNORLAX[] ={ - sAnim_GeneralFrame0, - sAnim_SNORLAX_1, -}; - -static const union AnimCmd *const sAnims_ARTICUNO[] ={ - sAnim_GeneralFrame0, - sAnim_ARTICUNO_1, -}; - -static const union AnimCmd *const sAnims_ZAPDOS[] ={ - sAnim_GeneralFrame0, - sAnim_ZAPDOS_1, -}; - -static const union AnimCmd *const sAnims_MOLTRES[] ={ - sAnim_GeneralFrame0, - sAnim_MOLTRES_1, -}; - -static const union AnimCmd *const sAnims_DRATINI[] ={ - sAnim_GeneralFrame0, - sAnim_DRATINI_1, -}; - -static const union AnimCmd *const sAnims_DRAGONAIR[] ={ - sAnim_GeneralFrame0, - sAnim_DRAGONAIR_1, -}; - -static const union AnimCmd *const sAnims_DRAGONITE[] ={ - sAnim_GeneralFrame0, - sAnim_DRAGONITE_1, -}; - -static const union AnimCmd *const sAnims_MEWTWO[] ={ - sAnim_GeneralFrame0, - sAnim_MEWTWO_1, -}; - -static const union AnimCmd *const sAnims_MEW[] ={ - sAnim_GeneralFrame0, - sAnim_MEW_1, -}; - -static const union AnimCmd *const sAnims_CHIKORITA[] ={ - sAnim_GeneralFrame0, - sAnim_CHIKORITA_1, -}; - -static const union AnimCmd *const sAnims_BAYLEEF[] ={ - sAnim_GeneralFrame0, - sAnim_BAYLEEF_1, -}; - -static const union AnimCmd *const sAnims_MEGANIUM[] ={ - sAnim_GeneralFrame0, - sAnim_MEGANIUM_1, -}; - -static const union AnimCmd *const sAnims_CYNDAQUIL[] ={ - sAnim_GeneralFrame0, - sAnim_CYNDAQUIL_1, -}; - -static const union AnimCmd *const sAnims_QUILAVA[] ={ - sAnim_GeneralFrame0, - sAnim_QUILAVA_1, -}; - -static const union AnimCmd *const sAnims_TYPHLOSION[] ={ - sAnim_GeneralFrame0, - sAnim_TYPHLOSION_1, -}; - -static const union AnimCmd *const sAnims_TOTODILE[] ={ - sAnim_GeneralFrame0, - sAnim_TOTODILE_1, -}; - -static const union AnimCmd *const sAnims_CROCONAW[] ={ - sAnim_GeneralFrame0, - sAnim_CROCONAW_1, -}; - -static const union AnimCmd *const sAnims_FERALIGATR[] ={ - sAnim_GeneralFrame0, - sAnim_FERALIGATR_1, -}; - -static const union AnimCmd *const sAnims_SENTRET[] ={ - sAnim_GeneralFrame0, - sAnim_SENTRET_1, -}; - -static const union AnimCmd *const sAnims_FURRET[] ={ - sAnim_GeneralFrame0, - sAnim_FURRET_1, -}; - -static const union AnimCmd *const sAnims_HOOTHOOT[] ={ - sAnim_GeneralFrame0, - sAnim_HOOTHOOT_1, -}; - -static const union AnimCmd *const sAnims_NOCTOWL[] ={ - sAnim_GeneralFrame0, - sAnim_NOCTOWL_1, -}; - -static const union AnimCmd *const sAnims_LEDYBA[] ={ - sAnim_GeneralFrame0, - sAnim_LEDYBA_1, -}; - -static const union AnimCmd *const sAnims_LEDIAN[] ={ - sAnim_GeneralFrame0, - sAnim_LEDIAN_1, -}; - -static const union AnimCmd *const sAnims_SPINARAK[] ={ - sAnim_GeneralFrame0, - sAnim_SPINARAK_1, -}; - -static const union AnimCmd *const sAnims_ARIADOS[] ={ - sAnim_GeneralFrame0, - sAnim_ARIADOS_1, -}; - -static const union AnimCmd *const sAnims_CROBAT[] ={ - sAnim_GeneralFrame0, - sAnim_CROBAT_1, -}; - -static const union AnimCmd *const sAnims_CHINCHOU[] ={ - sAnim_GeneralFrame0, - sAnim_CHINCHOU_1, - sAnim_CHINCHOU_2, -}; - -static const union AnimCmd *const sAnims_LANTURN[] ={ - sAnim_GeneralFrame0, - sAnim_LANTURN_1, - sAnim_LANTURN_2, -}; - -static const union AnimCmd *const sAnims_PICHU[] ={ - sAnim_GeneralFrame0, - sAnim_PICHU_1, - sAnim_PICHU_2, -}; - -static const union AnimCmd *const sAnims_CLEFFA[] ={ - sAnim_GeneralFrame0, - sAnim_CLEFFA_1, -}; - -static const union AnimCmd *const sAnims_IGGLYBUFF[] ={ - sAnim_GeneralFrame0, - sAnim_IGGLYBUFF_1, - sAnim_IGGLYBUFF_2, -}; - -static const union AnimCmd *const sAnims_TOGEPI[] ={ - sAnim_GeneralFrame0, - sAnim_TOGEPI_1, -}; - -static const union AnimCmd *const sAnims_TOGETIC[] ={ - sAnim_GeneralFrame0, - sAnim_TOGETIC_1, -}; - -static const union AnimCmd *const sAnims_NATU[] ={ - sAnim_GeneralFrame0, - sAnim_NATU_1, - sAnim_NATU_2, -}; - -static const union AnimCmd *const sAnims_XATU[] ={ - sAnim_GeneralFrame0, - sAnim_XATU_1, - sAnim_XATU_2, -}; - -static const union AnimCmd *const sAnims_MAREEP[] ={ - sAnim_GeneralFrame0, - sAnim_MAREEP_1, -}; - -static const union AnimCmd *const sAnims_FLAAFFY[] ={ - sAnim_GeneralFrame0, - sAnim_FLAAFFY_1, -}; - -static const union AnimCmd *const sAnims_AMPHAROS[] ={ - sAnim_GeneralFrame0, - sAnim_AMPHAROS_1, -}; - -static const union AnimCmd *const sAnims_BELLOSSOM[] ={ - sAnim_GeneralFrame0, - sAnim_BELLOSSOM_1, -}; - -static const union AnimCmd *const sAnims_MARILL[] ={ - sAnim_GeneralFrame0, - sAnim_MARILL_1, -}; - -static const union AnimCmd *const sAnims_AZUMARILL[] ={ - sAnim_GeneralFrame0, - sAnim_AZUMARILL_1, -}; - -static const union AnimCmd *const sAnims_SUDOWOODO[] ={ - sAnim_GeneralFrame0, - sAnim_SUDOWOODO_1, -}; - -static const union AnimCmd *const sAnims_POLITOED[] ={ - sAnim_GeneralFrame0, - sAnim_POLITOED_1, -}; - -static const union AnimCmd *const sAnims_HOPPIP[] ={ - sAnim_GeneralFrame0, - sAnim_HOPPIP_1, -}; - -static const union AnimCmd *const sAnims_SKIPLOOM[] ={ - sAnim_GeneralFrame0, - sAnim_SKIPLOOM_1, -}; - -static const union AnimCmd *const sAnims_JUMPLUFF[] ={ - sAnim_GeneralFrame0, - sAnim_JUMPLUFF_1, -}; - -static const union AnimCmd *const sAnims_AIPOM[] ={ - sAnim_GeneralFrame0, - sAnim_AIPOM_1, -}; - -static const union AnimCmd *const sAnims_SUNKERN[] ={ - sAnim_GeneralFrame0, - sAnim_SUNKERN_1, -}; - -static const union AnimCmd *const sAnims_SUNFLORA[] ={ - sAnim_GeneralFrame0, - sAnim_SUNFLORA_1, -}; - -static const union AnimCmd *const sAnims_YANMA[] ={ - sAnim_GeneralFrame0, - sAnim_YANMA_1, -}; - -static const union AnimCmd *const sAnims_WOOPER[] ={ - sAnim_GeneralFrame0, - sAnim_WOOPER_1, -}; - -static const union AnimCmd *const sAnims_QUAGSIRE[] ={ - sAnim_GeneralFrame0, - sAnim_QUAGSIRE_1, -}; - -static const union AnimCmd *const sAnims_ESPEON[] ={ - sAnim_GeneralFrame0, - sAnim_ESPEON_1, -}; - -static const union AnimCmd *const sAnims_UMBREON[] ={ - sAnim_GeneralFrame0, - sAnim_UMBREON_1, -}; - -static const union AnimCmd *const sAnims_MURKROW[] ={ - sAnim_GeneralFrame0, - sAnim_MURKROW_1, -}; - -static const union AnimCmd *const sAnims_SLOWKING[] ={ - sAnim_GeneralFrame0, - sAnim_SLOWKING_1, -}; - -static const union AnimCmd *const sAnims_MISDREAVUS[] ={ - sAnim_GeneralFrame0, - sAnim_MISDREAVUS_1, -}; - -static const union AnimCmd *const sAnims_UNOWN[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_1, -}; - -static const union AnimCmd *const sAnims_WOBBUFFET[] ={ - sAnim_GeneralFrame0, - sAnim_WOBBUFFET_1, - sAnim_WOBBUFFET_2, -}; - -static const union AnimCmd *const sAnims_GIRAFARIG[] ={ - sAnim_GeneralFrame0, - sAnim_GIRAFARIG_1, - sAnim_GIRAFARIG_2, -}; - -static const union AnimCmd *const sAnims_PINECO[] ={ - sAnim_GeneralFrame0, - sAnim_PINECO_1, -}; - -static const union AnimCmd *const sAnims_FORRETRESS[] ={ - sAnim_GeneralFrame0, - sAnim_FORRETRESS_1, -}; - -static const union AnimCmd *const sAnims_DUNSPARCE[] ={ - sAnim_GeneralFrame0, - sAnim_DUNSPARCE_1, -}; - -static const union AnimCmd *const sAnims_GLIGAR[] ={ - sAnim_GeneralFrame0, - sAnim_GLIGAR_1, -}; - -static const union AnimCmd *const sAnims_STEELIX[] ={ - sAnim_GeneralFrame0, - sAnim_STEELIX_1, -}; - -static const union AnimCmd *const sAnims_SNUBBULL[] ={ - sAnim_GeneralFrame0, - sAnim_SNUBBULL_1, -}; - -static const union AnimCmd *const sAnims_GRANBULL[] ={ - sAnim_GeneralFrame0, - sAnim_GRANBULL_1, -}; - -static const union AnimCmd *const sAnims_QWILFISH[] ={ - sAnim_GeneralFrame0, - sAnim_QWILFISH_1, -}; - -static const union AnimCmd *const sAnims_SCIZOR[] ={ - sAnim_GeneralFrame0, - sAnim_SCIZOR_1, -}; - -static const union AnimCmd *const sAnims_SHUCKLE[] ={ - sAnim_GeneralFrame0, - sAnim_SHUCKLE_1, -}; - -static const union AnimCmd *const sAnims_HERACROSS[] ={ - sAnim_GeneralFrame0, - sAnim_HERACROSS_1, - sAnim_HERACROSS_2, -}; - -static const union AnimCmd *const sAnims_SNEASEL[] ={ - sAnim_GeneralFrame0, - sAnim_SNEASEL_1, -}; - -static const union AnimCmd *const sAnims_TEDDIURSA[] ={ - sAnim_GeneralFrame0, - sAnim_TEDDIURSA_1, -}; - -static const union AnimCmd *const sAnims_URSARING[] ={ - sAnim_GeneralFrame0, - sAnim_URSARING_1, -}; - -static const union AnimCmd *const sAnims_SLUGMA[] ={ - sAnim_GeneralFrame0, - sAnim_SLUGMA_1, - sAnim_SLUGMA_2, -}; - -static const union AnimCmd *const sAnims_MAGCARGO[] ={ - sAnim_GeneralFrame0, - sAnim_MAGCARGO_1, - sAnim_MAGCARGO_2, -}; - -static const union AnimCmd *const sAnims_SWINUB[] ={ - sAnim_GeneralFrame0, - sAnim_SWINUB_1, -}; - -static const union AnimCmd *const sAnims_PILOSWINE[] ={ - sAnim_GeneralFrame0, - sAnim_PILOSWINE_1, -}; - -static const union AnimCmd *const sAnims_CORSOLA[] ={ - sAnim_GeneralFrame0, - sAnim_CORSOLA_1, - sAnim_CORSOLA_2, -}; - -static const union AnimCmd *const sAnims_REMORAID[] ={ - sAnim_GeneralFrame0, - sAnim_REMORAID_1, -}; - -static const union AnimCmd *const sAnims_OCTILLERY[] ={ - sAnim_GeneralFrame0, - sAnim_OCTILLERY_1, -}; - -static const union AnimCmd *const sAnims_DELIBIRD[] ={ - sAnim_GeneralFrame0, - sAnim_DELIBIRD_1, -}; - -static const union AnimCmd *const sAnims_MANTINE[] ={ - sAnim_GeneralFrame0, - sAnim_MANTINE_1, -}; - -static const union AnimCmd *const sAnims_SKARMORY[] ={ - sAnim_GeneralFrame0, - sAnim_SKARMORY_1, - sAnim_SKARMORY_2, -}; - -static const union AnimCmd *const sAnims_HOUNDOUR[] ={ - sAnim_GeneralFrame0, - sAnim_HOUNDOUR_1, -}; - -static const union AnimCmd *const sAnims_HOUNDOOM[] ={ - sAnim_GeneralFrame0, - sAnim_HOUNDOOM_1, -}; - -static const union AnimCmd *const sAnims_KINGDRA[] ={ - sAnim_GeneralFrame0, - sAnim_KINGDRA_1, - sAnim_KINGDRA_2, -}; - -static const union AnimCmd *const sAnims_PHANPY[] ={ - sAnim_GeneralFrame0, - sAnim_PHANPY_1, - sAnim_PHANPY_2, -}; - -static const union AnimCmd *const sAnims_DONPHAN[] ={ - sAnim_GeneralFrame0, - sAnim_DONPHAN_1, - sAnim_DONPHAN_2, -}; - -static const union AnimCmd *const sAnims_PORYGON2[] ={ - sAnim_GeneralFrame0, - sAnim_PORYGON2_1, -}; - -static const union AnimCmd *const sAnims_STANTLER[] ={ - sAnim_GeneralFrame0, - sAnim_STANTLER_1, -}; - -static const union AnimCmd *const sAnims_SMEARGLE[] ={ - sAnim_GeneralFrame0, - sAnim_SMEARGLE_1, -}; - -static const union AnimCmd *const sAnims_TYROGUE[] ={ - sAnim_GeneralFrame0, - sAnim_TYROGUE_1, -}; - -static const union AnimCmd *const sAnims_HITMONTOP[] ={ - sAnim_GeneralFrame0, - sAnim_HITMONTOP_1, -}; - -static const union AnimCmd *const sAnims_SMOOCHUM[] ={ - sAnim_GeneralFrame0, - sAnim_SMOOCHUM_1, -}; - -static const union AnimCmd *const sAnims_ELEKID[] ={ - sAnim_GeneralFrame0, - sAnim_ELEKID_1, -}; - -static const union AnimCmd *const sAnims_MAGBY[] ={ - sAnim_GeneralFrame0, - sAnim_MAGBY_1, -}; - -static const union AnimCmd *const sAnims_MILTANK[] ={ - sAnim_GeneralFrame0, - sAnim_MILTANK_1, -}; - -static const union AnimCmd *const sAnims_BLISSEY[] ={ - sAnim_GeneralFrame0, - sAnim_BLISSEY_1, -}; - -static const union AnimCmd *const sAnims_RAIKOU[] ={ - sAnim_GeneralFrame0, - sAnim_RAIKOU_1, -}; - -static const union AnimCmd *const sAnims_ENTEI[] ={ - sAnim_GeneralFrame0, - sAnim_ENTEI_1, -}; - -static const union AnimCmd *const sAnims_SUICUNE[] ={ - sAnim_GeneralFrame0, - sAnim_SUICUNE_1, -}; - -static const union AnimCmd *const sAnims_LARVITAR[] ={ - sAnim_GeneralFrame0, - sAnim_LARVITAR_1, -}; - -static const union AnimCmd *const sAnims_PUPITAR[] ={ - sAnim_GeneralFrame0, - sAnim_PUPITAR_1, -}; - -static const union AnimCmd *const sAnims_TYRANITAR[] ={ - sAnim_GeneralFrame0, - sAnim_TYRANITAR_1, -}; - -static const union AnimCmd *const sAnims_LUGIA[] ={ - sAnim_GeneralFrame0, - sAnim_LUGIA_1, -}; - -static const union AnimCmd *const sAnims_HO_OH[] ={ - sAnim_GeneralFrame0, - sAnim_HO_OH_1, -}; - -static const union AnimCmd *const sAnims_CELEBI[] ={ - sAnim_GeneralFrame0, - sAnim_CELEBI_1, -}; - -static const union AnimCmd *const sAnims_OLD_UNOWN_B[] ={ - sAnim_GeneralFrame0, - sAnim_OLD_UNOWN_B_1, -}; - -static const union AnimCmd *const sAnims_TREECKO[] ={ - sAnim_GeneralFrame0, - sAnim_TREECKO_1, -}; - -static const union AnimCmd *const sAnims_GROVYLE[] ={ - sAnim_GeneralFrame0, - sAnim_GROVYLE_1, -}; - -static const union AnimCmd *const sAnims_SCEPTILE[] ={ - sAnim_GeneralFrame0, - sAnim_SCEPTILE_1, -}; - -static const union AnimCmd *const sAnims_TORCHIC[] ={ - sAnim_GeneralFrame0, - sAnim_TORCHIC_1, -}; - -static const union AnimCmd *const sAnims_COMBUSKEN[] ={ - sAnim_GeneralFrame0, - sAnim_COMBUSKEN_1, -}; - -static const union AnimCmd *const sAnims_BLAZIKEN[] ={ - sAnim_GeneralFrame0, - sAnim_BLAZIKEN_1, - sAnim_BLAZIKEN_2, - sAnim_BLAZIKEN_3, - sAnim_BLAZIKEN_4, -}; - -static const union AnimCmd *const sAnims_MUDKIP[] ={ - sAnim_GeneralFrame0, - sAnim_MUDKIP_1, -}; - -static const union AnimCmd *const sAnims_MARSHTOMP[] ={ - sAnim_GeneralFrame0, - sAnim_MARSHTOMP_1, -}; - -static const union AnimCmd *const sAnims_SWAMPERT[] ={ - sAnim_GeneralFrame0, - sAnim_SWAMPERT_1, -}; - -static const union AnimCmd *const sAnims_POOCHYENA[] ={ - sAnim_GeneralFrame0, - sAnim_POOCHYENA_1, -}; - -static const union AnimCmd *const sAnims_MIGHTYENA[] ={ - sAnim_GeneralFrame0, - sAnim_MIGHTYENA_1, -}; - -static const union AnimCmd *const sAnims_ZIGZAGOON[] ={ - sAnim_GeneralFrame0, - sAnim_ZIGZAGOON_1, -}; - -static const union AnimCmd *const sAnims_LINOONE[] ={ - sAnim_GeneralFrame0, - sAnim_LINOONE_1, -}; - -static const union AnimCmd *const sAnims_WURMPLE[] ={ - sAnim_GeneralFrame0, - sAnim_WURMPLE_1, -}; - -static const union AnimCmd *const sAnims_SILCOON[] ={ - sAnim_GeneralFrame0, - sAnim_SILCOON_1, - sAnim_SILCOON_2, -}; - -static const union AnimCmd *const sAnims_BEAUTIFLY[] ={ - sAnim_GeneralFrame0, - sAnim_BEAUTIFLY_1, - sAnim_BEAUTIFLY_2, -}; - -static const union AnimCmd *const sAnims_CASCOON[] ={ - sAnim_GeneralFrame0, - sAnim_CASCOON_1, - sAnim_CASCOON_2, -}; - -static const union AnimCmd *const sAnims_DUSTOX[] ={ - sAnim_GeneralFrame0, - sAnim_DUSTOX_1, - sAnim_DUSTOX_2, -}; - -static const union AnimCmd *const sAnims_LOTAD[] ={ - sAnim_GeneralFrame0, - sAnim_LOTAD_1, -}; - -static const union AnimCmd *const sAnims_LOMBRE[] ={ - sAnim_GeneralFrame0, - sAnim_LOMBRE_1, -}; - -static const union AnimCmd *const sAnims_LUDICOLO[] ={ - sAnim_GeneralFrame0, - sAnim_LUDICOLO_1, -}; - -static const union AnimCmd *const sAnims_SEEDOT[] ={ - sAnim_GeneralFrame0, - sAnim_SEEDOT_1, -}; - -static const union AnimCmd *const sAnims_NUZLEAF[] ={ - sAnim_GeneralFrame0, - sAnim_NUZLEAF_1, -}; - -static const union AnimCmd *const sAnims_SHIFTRY[] ={ - sAnim_GeneralFrame0, - sAnim_SHIFTRY_1, -}; - -static const union AnimCmd *const sAnims_NINCADA[] ={ - sAnim_GeneralFrame0, - sAnim_NINCADA_1, -}; - -static const union AnimCmd *const sAnims_NINJASK[] ={ - sAnim_GeneralFrame0, - sAnim_NINJASK_1, -}; - -static const union AnimCmd *const sAnims_SHEDINJA[] ={ - sAnim_GeneralFrame0, - sAnim_SHEDINJA_1, -}; - -static const union AnimCmd *const sAnims_TAILLOW[] ={ - sAnim_GeneralFrame0, - sAnim_TAILLOW_1, -}; - -static const union AnimCmd *const sAnims_SWELLOW[] ={ - sAnim_GeneralFrame0, - sAnim_SWELLOW_1, -}; - -static const union AnimCmd *const sAnims_SHROOMISH[] ={ - sAnim_GeneralFrame0, - sAnim_SHROOMISH_1, -}; - -static const union AnimCmd *const sAnims_BRELOOM[] ={ - sAnim_GeneralFrame0, - sAnim_BRELOOM_1, -}; - -static const union AnimCmd *const sAnims_SPINDA[] ={ - sAnim_GeneralFrame0, -}; - -static const union AnimCmd *const sAnims_WINGULL[] ={ - sAnim_GeneralFrame0, - sAnim_WINGULL_1, -}; - -static const union AnimCmd *const sAnims_PELIPPER[] ={ - sAnim_GeneralFrame0, - sAnim_PELIPPER_1, -}; - -static const union AnimCmd *const sAnims_SURSKIT[] ={ - sAnim_GeneralFrame0, - sAnim_SURSKIT_1, - sAnim_SURSKIT_2, -}; - -static const union AnimCmd *const sAnims_MASQUERAIN[] ={ - sAnim_GeneralFrame0, - sAnim_MASQUERAIN_1, - sAnim_MASQUERAIN_2, -}; - -static const union AnimCmd *const sAnims_WAILMER[] ={ - sAnim_GeneralFrame0, - sAnim_WAILMER_1, -}; - -static const union AnimCmd *const sAnims_WAILORD[] ={ - sAnim_GeneralFrame0, - sAnim_WAILORD_1, -}; - -static const union AnimCmd *const sAnims_SKITTY[] ={ - sAnim_GeneralFrame0, - sAnim_SKITTY_1, -}; - -static const union AnimCmd *const sAnims_DELCATTY[] ={ - sAnim_GeneralFrame0, - sAnim_DELCATTY_1, -}; - -static const union AnimCmd *const sAnims_KECLEON[] ={ - sAnim_GeneralFrame0, - sAnim_KECLEON_1, -}; - -static const union AnimCmd *const sAnims_BALTOY[] ={ - sAnim_GeneralFrame0, - sAnim_BALTOY_1, -}; - -static const union AnimCmd *const sAnims_CLAYDOL[] ={ - sAnim_GeneralFrame0, - sAnim_CLAYDOL_1, -}; - -static const union AnimCmd *const sAnims_NOSEPASS[] ={ - sAnim_GeneralFrame0, - sAnim_NOSEPASS_1, -}; - -static const union AnimCmd *const sAnims_TORKOAL[] ={ - sAnim_GeneralFrame0, - sAnim_TORKOAL_1, -}; - -static const union AnimCmd *const sAnims_SABLEYE[] ={ - sAnim_GeneralFrame0, - sAnim_SABLEYE_1, -}; - -static const union AnimCmd *const sAnims_BARBOACH[] ={ - sAnim_GeneralFrame0, - sAnim_BARBOACH_1, -}; - -static const union AnimCmd *const sAnims_WHISCASH[] ={ - sAnim_GeneralFrame0, - sAnim_WHISCASH_1, -}; - -static const union AnimCmd *const sAnims_LUVDISC[] ={ - sAnim_GeneralFrame0, - sAnim_LUVDISC_1, -}; - -static const union AnimCmd *const sAnims_CORPHISH[] ={ - sAnim_GeneralFrame0, - sAnim_CORPHISH_1, -}; - -static const union AnimCmd *const sAnims_CRAWDAUNT[] ={ - sAnim_GeneralFrame0, - sAnim_CRAWDAUNT_1, -}; - -static const union AnimCmd *const sAnims_FEEBAS[] ={ - sAnim_GeneralFrame0, - sAnim_FEEBAS_1, -}; - -static const union AnimCmd *const sAnims_MILOTIC[] ={ - sAnim_GeneralFrame0, - sAnim_MILOTIC_1, -}; - -static const union AnimCmd *const sAnims_CARVANHA[] ={ - sAnim_GeneralFrame0, - sAnim_CARVANHA_1, -}; - -static const union AnimCmd *const sAnims_SHARPEDO[] ={ - sAnim_GeneralFrame0, - sAnim_SHARPEDO_1, -}; - -static const union AnimCmd *const sAnims_TRAPINCH[] ={ - sAnim_GeneralFrame0, - sAnim_TRAPINCH_1, -}; - -static const union AnimCmd *const sAnims_VIBRAVA[] ={ - sAnim_GeneralFrame0, - sAnim_VIBRAVA_1, -}; - -static const union AnimCmd *const sAnims_FLYGON[] ={ - sAnim_GeneralFrame0, - sAnim_FLYGON_1, -}; - -static const union AnimCmd *const sAnims_MAKUHITA[] ={ - sAnim_GeneralFrame0, - sAnim_MAKUHITA_1, -}; - -static const union AnimCmd *const sAnims_HARIYAMA[] ={ - sAnim_GeneralFrame0, - sAnim_HARIYAMA_1, -}; - -static const union AnimCmd *const sAnims_ELECTRIKE[] ={ - sAnim_GeneralFrame0, - sAnim_ELECTRIKE_1, -}; - -static const union AnimCmd *const sAnims_MANECTRIC[] ={ - sAnim_GeneralFrame0, - sAnim_MANECTRIC_1, -}; - -static const union AnimCmd *const sAnims_NUMEL[] ={ - sAnim_GeneralFrame0, - sAnim_NUMEL_1, -}; - -static const union AnimCmd *const sAnims_CAMERUPT[] ={ - sAnim_GeneralFrame0, - sAnim_CAMERUPT_1, -}; - -static const union AnimCmd *const sAnims_SPHEAL[] ={ - sAnim_GeneralFrame0, - sAnim_SPHEAL_1, -}; - -static const union AnimCmd *const sAnims_SEALEO[] ={ - sAnim_GeneralFrame0, - sAnim_SEALEO_1, -}; - -static const union AnimCmd *const sAnims_WALREIN[] ={ - sAnim_GeneralFrame0, - sAnim_WALREIN_1, -}; - -static const union AnimCmd *const sAnims_CACNEA[] ={ - sAnim_GeneralFrame0, - sAnim_CACNEA_1, -}; - -static const union AnimCmd *const sAnims_CACTURNE[] ={ - sAnim_GeneralFrame0, - sAnim_CACTURNE_1, -}; - -static const union AnimCmd *const sAnims_SNORUNT[] ={ - sAnim_GeneralFrame0, - sAnim_SNORUNT_1, -}; - -static const union AnimCmd *const sAnims_GLALIE[] ={ - sAnim_GeneralFrame0, - sAnim_GLALIE_1, -}; - -static const union AnimCmd *const sAnims_LUNATONE[] ={ - sAnim_GeneralFrame0, - sAnim_LUNATONE_1, - sAnim_LUNATONE_2, -}; - -static const union AnimCmd *const sAnims_SOLROCK[] ={ - sAnim_GeneralFrame0, - sAnim_SOLROCK_1, - sAnim_SOLROCK_2, -}; - -static const union AnimCmd *const sAnims_AZURILL[] ={ - sAnim_GeneralFrame0, - sAnim_AZURILL_1, -}; - -static const union AnimCmd *const sAnims_SPOINK[] ={ - sAnim_GeneralFrame0, - sAnim_SPOINK_1, -}; - -static const union AnimCmd *const sAnims_GRUMPIG[] ={ - sAnim_GeneralFrame0, - sAnim_GRUMPIG_1, -}; - -static const union AnimCmd *const sAnims_PLUSLE[] ={ - sAnim_GeneralFrame0, - sAnim_PLUSLE_1, -}; - -static const union AnimCmd *const sAnims_MINUN[] ={ - sAnim_GeneralFrame0, - sAnim_MINUN_1, -}; - -static const union AnimCmd *const sAnims_MAWILE[] ={ - sAnim_GeneralFrame0, - sAnim_MAWILE_1, -}; - -static const union AnimCmd *const sAnims_MEDITITE[] ={ - sAnim_GeneralFrame0, - sAnim_MEDITITE_1, -}; - -static const union AnimCmd *const sAnims_MEDICHAM[] ={ - sAnim_GeneralFrame0, - sAnim_MEDICHAM_1, -}; - -static const union AnimCmd *const sAnims_SWABLU[] ={ - sAnim_GeneralFrame0, - sAnim_SWABLU_1, - sAnim_SWABLU_2, -}; - -static const union AnimCmd *const sAnims_ALTARIA[] ={ - sAnim_GeneralFrame0, - sAnim_ALTARIA_1, - sAnim_ALTARIA_2, -}; - -static const union AnimCmd *const sAnims_WYNAUT[] ={ - sAnim_GeneralFrame0, - sAnim_WYNAUT_1, -}; - -static const union AnimCmd *const sAnims_DUSKULL[] ={ - sAnim_GeneralFrame0, - sAnim_DUSKULL_1, -}; - -static const union AnimCmd *const sAnims_DUSCLOPS[] ={ - sAnim_GeneralFrame0, - sAnim_DUSCLOPS_1, -}; - -static const union AnimCmd *const sAnims_ROSELIA[] ={ - sAnim_GeneralFrame0, - sAnim_ROSELIA_1, -}; - -static const union AnimCmd *const sAnims_SLAKOTH[] ={ - sAnim_GeneralFrame0, - sAnim_SLAKOTH_1, -}; - -static const union AnimCmd *const sAnims_VIGOROTH[] ={ - sAnim_GeneralFrame0, - sAnim_VIGOROTH_1, -}; - -static const union AnimCmd *const sAnims_SLAKING[] ={ - sAnim_GeneralFrame0, - sAnim_SLAKING_1, -}; - -static const union AnimCmd *const sAnims_GULPIN[] ={ - sAnim_GeneralFrame0, - sAnim_GULPIN_1, -}; - -static const union AnimCmd *const sAnims_SWALOT[] ={ - sAnim_GeneralFrame0, - sAnim_SWALOT_1, -}; - -static const union AnimCmd *const sAnims_TROPIUS[] ={ - sAnim_GeneralFrame0, - sAnim_TROPIUS_1, -}; - -static const union AnimCmd *const sAnims_WHISMUR[] ={ - sAnim_GeneralFrame0, - sAnim_WHISMUR_1, -}; - -static const union AnimCmd *const sAnims_LOUDRED[] ={ - sAnim_GeneralFrame0, - sAnim_LOUDRED_1, -}; - -static const union AnimCmd *const sAnims_EXPLOUD[] ={ - sAnim_GeneralFrame0, - sAnim_EXPLOUD_1, -}; - -static const union AnimCmd *const sAnims_CLAMPERL[] ={ - sAnim_GeneralFrame0, - sAnim_CLAMPERL_1, -}; - -static const union AnimCmd *const sAnims_HUNTAIL[] ={ - sAnim_GeneralFrame0, - sAnim_HUNTAIL_1, -}; - -static const union AnimCmd *const sAnims_GOREBYSS[] ={ - sAnim_GeneralFrame0, - sAnim_GOREBYSS_1, -}; - -static const union AnimCmd *const sAnims_ABSOL[] ={ - sAnim_GeneralFrame0, - sAnim_ABSOL_1, -}; - -static const union AnimCmd *const sAnims_SHUPPET[] ={ - sAnim_GeneralFrame0, - sAnim_SHUPPET_1, -}; - -static const union AnimCmd *const sAnims_BANETTE[] ={ - sAnim_GeneralFrame0, - sAnim_BANETTE_1, -}; - -static const union AnimCmd *const sAnims_SEVIPER[] ={ - sAnim_GeneralFrame0, - sAnim_SEVIPER_1, -}; - -static const union AnimCmd *const sAnims_ZANGOOSE[] ={ - sAnim_GeneralFrame0, - sAnim_ZANGOOSE_1, -}; - -static const union AnimCmd *const sAnims_RELICANTH[] ={ - sAnim_GeneralFrame0, - sAnim_RELICANTH_1, -}; - -static const union AnimCmd *const sAnims_ARON[] ={ - sAnim_GeneralFrame0, - sAnim_ARON_1, -}; - -static const union AnimCmd *const sAnims_LAIRON[] ={ - sAnim_GeneralFrame0, - sAnim_LAIRON_1, -}; - -static const union AnimCmd *const sAnims_AGGRON[] ={ - sAnim_GeneralFrame0, - sAnim_AGGRON_1, -}; - -static const union AnimCmd *const sAnims_CASTFORM[] ={ - sAnim_CASTFORM_0, - sAnim_CASTFORM_1, - sAnim_CASTFORM_2, - sAnim_CASTFORM_3, -}; - -static const union AnimCmd *const sAnims_VOLBEAT[] ={ - sAnim_GeneralFrame0, - sAnim_VOLBEAT_1, -}; - -static const union AnimCmd *const sAnims_ILLUMISE[] ={ - sAnim_GeneralFrame0, - sAnim_ILLUMISE_1, -}; - -static const union AnimCmd *const sAnims_LILEEP[] ={ - sAnim_GeneralFrame0, - sAnim_LILEEP_1, -}; - -static const union AnimCmd *const sAnims_CRADILY[] ={ - sAnim_GeneralFrame0, - sAnim_CRADILY_1, -}; - -static const union AnimCmd *const sAnims_ANORITH[] ={ - sAnim_GeneralFrame0, - sAnim_ANORITH_1, -}; - -static const union AnimCmd *const sAnims_ARMALDO[] ={ - sAnim_GeneralFrame0, - sAnim_ARMALDO_1, -}; - -static const union AnimCmd *const sAnims_RALTS[] ={ - sAnim_GeneralFrame0, - sAnim_RALTS_1, -}; - -static const union AnimCmd *const sAnims_KIRLIA[] ={ - sAnim_GeneralFrame0, - sAnim_KIRLIA_1, -}; - -static const union AnimCmd *const sAnims_GARDEVOIR[] ={ - sAnim_GeneralFrame0, - sAnim_GARDEVOIR_1, -}; - -static const union AnimCmd *const sAnims_BAGON[] ={ - sAnim_GeneralFrame0, - sAnim_BAGON_1, -}; - -static const union AnimCmd *const sAnims_SHELGON[] ={ - sAnim_GeneralFrame0, - sAnim_SHELGON_1, -}; - -static const union AnimCmd *const sAnims_SALAMENCE[] ={ - sAnim_GeneralFrame0, - sAnim_SALAMENCE_1, -}; - -static const union AnimCmd *const sAnims_BELDUM[] ={ - sAnim_GeneralFrame0, - sAnim_BELDUM_1, -}; - -static const union AnimCmd *const sAnims_METANG[] ={ - sAnim_GeneralFrame0, - sAnim_METANG_1, -}; - -static const union AnimCmd *const sAnims_METAGROSS[] ={ - sAnim_GeneralFrame0, - sAnim_METAGROSS_1, -}; - -static const union AnimCmd *const sAnims_REGIROCK[] ={ - sAnim_GeneralFrame0, - sAnim_REGIROCK_1, - sAnim_REGIROCK_2, -}; - -static const union AnimCmd *const sAnims_REGICE[] ={ - sAnim_GeneralFrame0, - sAnim_REGICE_1, -}; - -static const union AnimCmd *const sAnims_REGISTEEL[] ={ - sAnim_GeneralFrame0, - sAnim_REGISTEEL_1, - sAnim_REGISTEEL_2, -}; - -static const union AnimCmd *const sAnims_KYOGRE[] ={ - sAnim_GeneralFrame0, - sAnim_KYOGRE_1, - sAnim_KYOGRE_2, -}; - -static const union AnimCmd *const sAnims_GROUDON[] ={ - sAnim_GeneralFrame0, - sAnim_GROUDON_1, - sAnim_GROUDON_2, -}; - -static const union AnimCmd *const sAnims_RAYQUAZA[] ={ - sAnim_GeneralFrame0, - sAnim_RAYQUAZA_1, - sAnim_RAYQUAZA_2, -}; - -static const union AnimCmd *const sAnims_LATIAS[] ={ - sAnim_GeneralFrame0, - sAnim_LATIAS_1, - sAnim_LATIAS_2, -}; - -static const union AnimCmd *const sAnims_LATIOS[] ={ - sAnim_GeneralFrame0, - sAnim_LATIOS_1, - sAnim_LATIOS_2, -}; - -static const union AnimCmd *const sAnims_JIRACHI[] ={ - sAnim_GeneralFrame0, - sAnim_JIRACHI_1, - sAnim_JIRACHI_2, -}; - -static const union AnimCmd *const sAnims_DEOXYS[] ={ - sAnim_GeneralFrame0, - sAnim_DEOXYS_1, - sAnim_DEOXYS_2, -}; - -static const union AnimCmd *const sAnims_CHIMECHO[] ={ - sAnim_GeneralFrame0, - sAnim_CHIMECHO_1, -}; - -static const union AnimCmd *const sAnims_EGG[] ={ - sAnim_GeneralFrame0, - sAnim_EGG_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_B[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_B_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_C[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_C_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_D[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_D_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_E[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_E_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_F[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_F_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_G[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_G_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_H[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_H_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_I[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_I_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_J[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_J_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_K[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_K_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_L[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_L_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_M[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_M_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_N[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_N_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_O[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_O_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_P[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_P_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_Q[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_Q_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_R[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_R_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_S[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_S_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_T[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_T_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_U[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_U_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_V[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_V_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_W[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_W_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_X[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_X_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_Y[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_Y_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_Z[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_Z_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_EMARK[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_EMARK_1, -}; - -static const union AnimCmd *const sAnims_UNOWN_QMARK[] ={ - sAnim_GeneralFrame0, - sAnim_UNOWN_QMARK_1, -}; - -#define ANIM_CMD(name) [SPECIES_##name] = sAnims_##name -#define ANIM_CMD_FULL(name, anims) [SPECIES_##name] = anims +#define SINGLE_ANIMATION(name) \ +static const union AnimCmd *const sAnims_##name[] = \ +{ \ + sAnim_GeneralFrame0, \ + sAnim_##name##_1, \ +} + +#define DOUBLE_ANIMATION(name) \ +static const union AnimCmd *const sAnims_##name[] = \ +{ \ + sAnim_GeneralFrame0, \ + sAnim_##name##_1, \ + sAnim_##name##_2, \ +} + +SINGLE_ANIMATION(None); +SINGLE_ANIMATION(Bulbasaur); +SINGLE_ANIMATION(Ivysaur); +SINGLE_ANIMATION(Venusaur); +SINGLE_ANIMATION(Charmander); +SINGLE_ANIMATION(Charmeleon); +SINGLE_ANIMATION(Charizard); +SINGLE_ANIMATION(Squirtle); +SINGLE_ANIMATION(Wartortle); +SINGLE_ANIMATION(Blastoise); +SINGLE_ANIMATION(Caterpie); +SINGLE_ANIMATION(Metapod); +SINGLE_ANIMATION(Butterfree); +SINGLE_ANIMATION(Weedle); +SINGLE_ANIMATION(Kakuna); +SINGLE_ANIMATION(Beedrill); +SINGLE_ANIMATION(Pidgey); +SINGLE_ANIMATION(Pidgeotto); +SINGLE_ANIMATION(Pidgeot); +SINGLE_ANIMATION(Rattata); +SINGLE_ANIMATION(Raticate); +SINGLE_ANIMATION(Spearow); +SINGLE_ANIMATION(Fearow); +SINGLE_ANIMATION(Ekans); +SINGLE_ANIMATION(Arbok); +DOUBLE_ANIMATION(Pikachu); +DOUBLE_ANIMATION(Raichu); +DOUBLE_ANIMATION(Sandshrew); +DOUBLE_ANIMATION(Sandslash); +SINGLE_ANIMATION(NidoranF); +SINGLE_ANIMATION(Nidorina); +SINGLE_ANIMATION(Nidoqueen); +SINGLE_ANIMATION(NidoranM); +SINGLE_ANIMATION(Nidorino); +SINGLE_ANIMATION(Nidoking); +SINGLE_ANIMATION(Clefairy); +SINGLE_ANIMATION(Clefable); +DOUBLE_ANIMATION(Vulpix); +DOUBLE_ANIMATION(Ninetales); +DOUBLE_ANIMATION(Jigglypuff); +DOUBLE_ANIMATION(Wigglytuff); +SINGLE_ANIMATION(Zubat); +SINGLE_ANIMATION(Golbat); +SINGLE_ANIMATION(Oddish); +SINGLE_ANIMATION(Gloom); +SINGLE_ANIMATION(Vileplume); +SINGLE_ANIMATION(Paras); +SINGLE_ANIMATION(Parasect); +SINGLE_ANIMATION(Venonat); +SINGLE_ANIMATION(Venomoth); +SINGLE_ANIMATION(Diglett); +SINGLE_ANIMATION(Dugtrio); +SINGLE_ANIMATION(Meowth); +SINGLE_ANIMATION(Persian); +DOUBLE_ANIMATION(Psyduck); +DOUBLE_ANIMATION(Golduck); +SINGLE_ANIMATION(Mankey); +SINGLE_ANIMATION(Primeape); +SINGLE_ANIMATION(Growlithe); +SINGLE_ANIMATION(Arcanine); +SINGLE_ANIMATION(Poliwag); +SINGLE_ANIMATION(Poliwhirl); +SINGLE_ANIMATION(Poliwrath); +SINGLE_ANIMATION(Abra); +SINGLE_ANIMATION(Kadabra); +SINGLE_ANIMATION(Alakazam); +SINGLE_ANIMATION(Machop); +SINGLE_ANIMATION(Machoke); +SINGLE_ANIMATION(Machamp); +SINGLE_ANIMATION(Bellsprout); +SINGLE_ANIMATION(Weepinbell); +SINGLE_ANIMATION(Victreebel); +SINGLE_ANIMATION(Tentacool); +SINGLE_ANIMATION(Tentacruel); +SINGLE_ANIMATION(Geodude); +SINGLE_ANIMATION(Graveler); +SINGLE_ANIMATION(Golem); +SINGLE_ANIMATION(Ponyta); +SINGLE_ANIMATION(Rapidash); +SINGLE_ANIMATION(Slowpoke); +SINGLE_ANIMATION(Slowbro); +SINGLE_ANIMATION(Magnemite); +SINGLE_ANIMATION(Magneton); +SINGLE_ANIMATION(Farfetchd); +SINGLE_ANIMATION(Doduo); +SINGLE_ANIMATION(Dodrio); +SINGLE_ANIMATION(Seel); +SINGLE_ANIMATION(Dewgong); +DOUBLE_ANIMATION(Grimer); +DOUBLE_ANIMATION(Muk); +SINGLE_ANIMATION(Shellder); +SINGLE_ANIMATION(Cloyster); +SINGLE_ANIMATION(Gastly); +SINGLE_ANIMATION(Haunter); +SINGLE_ANIMATION(Gengar); +SINGLE_ANIMATION(Onix); +SINGLE_ANIMATION(Drowzee); +SINGLE_ANIMATION(Hypno); +SINGLE_ANIMATION(Krabby); +SINGLE_ANIMATION(Kingler); +SINGLE_ANIMATION(Voltorb); +SINGLE_ANIMATION(Electrode); +SINGLE_ANIMATION(Exeggcute); +SINGLE_ANIMATION(Exeggutor); +SINGLE_ANIMATION(Cubone); +SINGLE_ANIMATION(Marowak); +SINGLE_ANIMATION(Hitmonlee); +SINGLE_ANIMATION(Hitmonchan); +SINGLE_ANIMATION(Lickitung); +DOUBLE_ANIMATION(Koffing); +DOUBLE_ANIMATION(Weezing); +DOUBLE_ANIMATION(Rhyhorn); +DOUBLE_ANIMATION(Rhydon); +SINGLE_ANIMATION(Chansey); +SINGLE_ANIMATION(Tangela); +SINGLE_ANIMATION(Kangaskhan); +DOUBLE_ANIMATION(Horsea); +DOUBLE_ANIMATION(Seadra); +SINGLE_ANIMATION(Goldeen); +SINGLE_ANIMATION(Seaking); +DOUBLE_ANIMATION(Staryu); +DOUBLE_ANIMATION(Starmie); +SINGLE_ANIMATION(MrMime); +SINGLE_ANIMATION(Scyther); +SINGLE_ANIMATION(Jynx); +SINGLE_ANIMATION(Electabuzz); +SINGLE_ANIMATION(Magmar); +DOUBLE_ANIMATION(Pinsir); +SINGLE_ANIMATION(Tauros); +SINGLE_ANIMATION(Magikarp); +SINGLE_ANIMATION(Gyarados); +SINGLE_ANIMATION(Lapras); +SINGLE_ANIMATION(Ditto); +SINGLE_ANIMATION(Eevee); +SINGLE_ANIMATION(Vaporeon); +SINGLE_ANIMATION(Jolteon); +SINGLE_ANIMATION(Flareon); +SINGLE_ANIMATION(Porygon); +SINGLE_ANIMATION(Omanyte); +SINGLE_ANIMATION(Omastar); +SINGLE_ANIMATION(Kabuto); +SINGLE_ANIMATION(Kabutops); +SINGLE_ANIMATION(Aerodactyl); +SINGLE_ANIMATION(Snorlax); +SINGLE_ANIMATION(Articuno); +SINGLE_ANIMATION(Zapdos); +SINGLE_ANIMATION(Moltres); +SINGLE_ANIMATION(Dratini); +SINGLE_ANIMATION(Dragonair); +SINGLE_ANIMATION(Dragonite); +SINGLE_ANIMATION(Mewtwo); +SINGLE_ANIMATION(Mew); +SINGLE_ANIMATION(Chikorita); +SINGLE_ANIMATION(Bayleef); +SINGLE_ANIMATION(Meganium); +SINGLE_ANIMATION(Cyndaquil); +SINGLE_ANIMATION(Quilava); +SINGLE_ANIMATION(Typhlosion); +SINGLE_ANIMATION(Totodile); +SINGLE_ANIMATION(Croconaw); +SINGLE_ANIMATION(Feraligatr); +SINGLE_ANIMATION(Sentret); +SINGLE_ANIMATION(Furret); +SINGLE_ANIMATION(Hoothoot); +SINGLE_ANIMATION(Noctowl); +SINGLE_ANIMATION(Ledyba); +SINGLE_ANIMATION(Ledian); +SINGLE_ANIMATION(Spinarak); +SINGLE_ANIMATION(Ariados); +SINGLE_ANIMATION(Crobat); +DOUBLE_ANIMATION(Chinchou); +DOUBLE_ANIMATION(Lanturn); +DOUBLE_ANIMATION(Pichu); +SINGLE_ANIMATION(Cleffa); +DOUBLE_ANIMATION(Igglybuff); +SINGLE_ANIMATION(Togepi); +SINGLE_ANIMATION(Togetic); +DOUBLE_ANIMATION(Natu); +DOUBLE_ANIMATION(Xatu); +SINGLE_ANIMATION(Mareep); +SINGLE_ANIMATION(Flaaffy); +SINGLE_ANIMATION(Ampharos); +SINGLE_ANIMATION(Bellossom); +SINGLE_ANIMATION(Marill); +SINGLE_ANIMATION(Azumarill); +SINGLE_ANIMATION(Sudowoodo); +SINGLE_ANIMATION(Politoed); +SINGLE_ANIMATION(Hoppip); +SINGLE_ANIMATION(Skiploom); +SINGLE_ANIMATION(Jumpluff); +SINGLE_ANIMATION(Aipom); +SINGLE_ANIMATION(Sunkern); +SINGLE_ANIMATION(Sunflora); +SINGLE_ANIMATION(Yanma); +SINGLE_ANIMATION(Wooper); +SINGLE_ANIMATION(Quagsire); +SINGLE_ANIMATION(Espeon); +SINGLE_ANIMATION(Umbreon); +SINGLE_ANIMATION(Murkrow); +SINGLE_ANIMATION(Slowking); +SINGLE_ANIMATION(Misdreavus); +SINGLE_ANIMATION(Unown); +DOUBLE_ANIMATION(Wobbuffet); +DOUBLE_ANIMATION(Girafarig); +SINGLE_ANIMATION(Pineco); +SINGLE_ANIMATION(Forretress); +SINGLE_ANIMATION(Dunsparce); +SINGLE_ANIMATION(Gligar); +SINGLE_ANIMATION(Steelix); +SINGLE_ANIMATION(Snubbull); +SINGLE_ANIMATION(Granbull); +SINGLE_ANIMATION(Qwilfish); +SINGLE_ANIMATION(Scizor); +SINGLE_ANIMATION(Shuckle); +DOUBLE_ANIMATION(Heracross); +SINGLE_ANIMATION(Sneasel); +SINGLE_ANIMATION(Teddiursa); +SINGLE_ANIMATION(Ursaring); +DOUBLE_ANIMATION(Slugma); +DOUBLE_ANIMATION(Magcargo); +SINGLE_ANIMATION(Swinub); +SINGLE_ANIMATION(Piloswine); +DOUBLE_ANIMATION(Corsola); +SINGLE_ANIMATION(Remoraid); +SINGLE_ANIMATION(Octillery); +SINGLE_ANIMATION(Delibird); +SINGLE_ANIMATION(Mantine); +DOUBLE_ANIMATION(Skarmory); +SINGLE_ANIMATION(Houndour); +SINGLE_ANIMATION(Houndoom); +DOUBLE_ANIMATION(Kingdra); +DOUBLE_ANIMATION(Phanpy); +DOUBLE_ANIMATION(Donphan); +SINGLE_ANIMATION(Porygon2); +SINGLE_ANIMATION(Stantler); +SINGLE_ANIMATION(Smeargle); +SINGLE_ANIMATION(Tyrogue); +SINGLE_ANIMATION(Hitmontop); +SINGLE_ANIMATION(Smoochum); +SINGLE_ANIMATION(Elekid); +SINGLE_ANIMATION(Magby); +SINGLE_ANIMATION(Miltank); +SINGLE_ANIMATION(Blissey); +SINGLE_ANIMATION(Raikou); +SINGLE_ANIMATION(Entei); +SINGLE_ANIMATION(Suicune); +SINGLE_ANIMATION(Larvitar); +SINGLE_ANIMATION(Pupitar); +SINGLE_ANIMATION(Tyranitar); +SINGLE_ANIMATION(Lugia); +SINGLE_ANIMATION(HoOh); +SINGLE_ANIMATION(Celebi); +SINGLE_ANIMATION(OldUnownB); +SINGLE_ANIMATION(Treecko); +SINGLE_ANIMATION(Grovyle); +SINGLE_ANIMATION(Sceptile); +SINGLE_ANIMATION(Torchic); +SINGLE_ANIMATION(Combusken); +static const union AnimCmd *const sAnims_Blaziken[] ={ + sAnim_GeneralFrame0, + sAnim_Blaziken_1, + sAnim_Blaziken_2, + sAnim_Blaziken_3, + sAnim_Blaziken_4, +}; +SINGLE_ANIMATION(Mudkip); +SINGLE_ANIMATION(Marshtomp); +SINGLE_ANIMATION(Swampert); +SINGLE_ANIMATION(Poochyena); +SINGLE_ANIMATION(Mightyena); +SINGLE_ANIMATION(Zigzagoon); +SINGLE_ANIMATION(Linoone); +SINGLE_ANIMATION(Wurmple); +DOUBLE_ANIMATION(Silcoon); +DOUBLE_ANIMATION(Beautifly); +DOUBLE_ANIMATION(Cascoon); +DOUBLE_ANIMATION(Dustox); +SINGLE_ANIMATION(Lotad); +SINGLE_ANIMATION(Lombre); +SINGLE_ANIMATION(Ludicolo); +SINGLE_ANIMATION(Seedot); +SINGLE_ANIMATION(Nuzleaf); +SINGLE_ANIMATION(Shiftry); +SINGLE_ANIMATION(Nincada); +SINGLE_ANIMATION(Ninjask); +SINGLE_ANIMATION(Shedinja); +SINGLE_ANIMATION(Taillow); +SINGLE_ANIMATION(Swellow); +SINGLE_ANIMATION(Shroomish); +SINGLE_ANIMATION(Breloom); +static const union AnimCmd *const sAnims_Spinda[] ={ + sAnim_GeneralFrame0, +}; +SINGLE_ANIMATION(Wingull); +SINGLE_ANIMATION(Pelipper); +DOUBLE_ANIMATION(Surskit); +DOUBLE_ANIMATION(Masquerain); +SINGLE_ANIMATION(Wailmer); +SINGLE_ANIMATION(Wailord); +SINGLE_ANIMATION(Skitty); +SINGLE_ANIMATION(Delcatty); +SINGLE_ANIMATION(Kecleon); +SINGLE_ANIMATION(Baltoy); +SINGLE_ANIMATION(Claydol); +SINGLE_ANIMATION(Nosepass); +SINGLE_ANIMATION(Torkoal); +SINGLE_ANIMATION(Sableye); +SINGLE_ANIMATION(Barboach); +SINGLE_ANIMATION(Whiscash); +SINGLE_ANIMATION(Luvdisc); +SINGLE_ANIMATION(Corphish); +SINGLE_ANIMATION(Crawdaunt); +SINGLE_ANIMATION(Feebas); +SINGLE_ANIMATION(Milotic); +SINGLE_ANIMATION(Carvanha); +SINGLE_ANIMATION(Sharpedo); +SINGLE_ANIMATION(Trapinch); +SINGLE_ANIMATION(Vibrava); +SINGLE_ANIMATION(Flygon); +SINGLE_ANIMATION(Makuhita); +SINGLE_ANIMATION(Hariyama); +SINGLE_ANIMATION(Electrike); +SINGLE_ANIMATION(Manectric); +SINGLE_ANIMATION(Numel); +SINGLE_ANIMATION(Camerupt); +SINGLE_ANIMATION(Spheal); +SINGLE_ANIMATION(Sealeo); +SINGLE_ANIMATION(Walrein); +SINGLE_ANIMATION(Cacnea); +SINGLE_ANIMATION(Cacturne); +SINGLE_ANIMATION(Snorunt); +SINGLE_ANIMATION(Glalie); +DOUBLE_ANIMATION(Lunatone); +DOUBLE_ANIMATION(Solrock); +SINGLE_ANIMATION(Azurill); +SINGLE_ANIMATION(Spoink); +SINGLE_ANIMATION(Grumpig); +SINGLE_ANIMATION(Plusle); +SINGLE_ANIMATION(Minun); +SINGLE_ANIMATION(Mawile); +SINGLE_ANIMATION(Meditite); +SINGLE_ANIMATION(Medicham); +DOUBLE_ANIMATION(Swablu); +DOUBLE_ANIMATION(Altaria); +SINGLE_ANIMATION(Wynaut); +SINGLE_ANIMATION(Duskull); +SINGLE_ANIMATION(Dusclops); +SINGLE_ANIMATION(Roselia); +SINGLE_ANIMATION(Slakoth); +SINGLE_ANIMATION(Vigoroth); +SINGLE_ANIMATION(Slaking); +SINGLE_ANIMATION(Gulpin); +SINGLE_ANIMATION(Swalot); +SINGLE_ANIMATION(Tropius); +SINGLE_ANIMATION(Whismur); +SINGLE_ANIMATION(Loudred); +SINGLE_ANIMATION(Exploud); +SINGLE_ANIMATION(Clamperl); +SINGLE_ANIMATION(Huntail); +SINGLE_ANIMATION(Gorebyss); +SINGLE_ANIMATION(Absol); +SINGLE_ANIMATION(Shuppet); +SINGLE_ANIMATION(Banette); +SINGLE_ANIMATION(Seviper); +SINGLE_ANIMATION(Zangoose); +SINGLE_ANIMATION(Relicanth); +SINGLE_ANIMATION(Aron); +SINGLE_ANIMATION(Lairon); +SINGLE_ANIMATION(Aggron); +static const union AnimCmd *const sAnims_Castform[] ={ + sAnim_Castform_0, + sAnim_Castform_1, + sAnim_Castform_2, + sAnim_Castform_3, +}; +SINGLE_ANIMATION(Volbeat); +SINGLE_ANIMATION(Illumise); +SINGLE_ANIMATION(Lileep); +SINGLE_ANIMATION(Cradily); +SINGLE_ANIMATION(Anorith); +SINGLE_ANIMATION(Armaldo); +SINGLE_ANIMATION(Ralts); +SINGLE_ANIMATION(Kirlia); +SINGLE_ANIMATION(Gardevoir); +SINGLE_ANIMATION(Bagon); +SINGLE_ANIMATION(Shelgon); +SINGLE_ANIMATION(Salamence); +SINGLE_ANIMATION(Beldum); +SINGLE_ANIMATION(Metang); +SINGLE_ANIMATION(Metagross); +DOUBLE_ANIMATION(Regirock); +SINGLE_ANIMATION(Regice); +DOUBLE_ANIMATION(Registeel); +DOUBLE_ANIMATION(Kyogre); +DOUBLE_ANIMATION(Groudon); +DOUBLE_ANIMATION(Rayquaza); +DOUBLE_ANIMATION(Latias); +DOUBLE_ANIMATION(Latios); +DOUBLE_ANIMATION(Jirachi); +DOUBLE_ANIMATION(Deoxys); +SINGLE_ANIMATION(Chimecho); +SINGLE_ANIMATION(Egg); +SINGLE_ANIMATION(UnownB); +SINGLE_ANIMATION(UnownC); +SINGLE_ANIMATION(UnownD); +SINGLE_ANIMATION(UnownE); +SINGLE_ANIMATION(UnownF); +SINGLE_ANIMATION(UnownG); +SINGLE_ANIMATION(UnownH); +SINGLE_ANIMATION(UnownI); +SINGLE_ANIMATION(UnownJ); +SINGLE_ANIMATION(UnownK); +SINGLE_ANIMATION(UnownL); +SINGLE_ANIMATION(UnownM); +SINGLE_ANIMATION(UnownN); +SINGLE_ANIMATION(UnownO); +SINGLE_ANIMATION(UnownP); +SINGLE_ANIMATION(UnownQ); +SINGLE_ANIMATION(UnownR); +SINGLE_ANIMATION(UnownS); +SINGLE_ANIMATION(UnownT); +SINGLE_ANIMATION(UnownU); +SINGLE_ANIMATION(UnownV); +SINGLE_ANIMATION(UnownW); +SINGLE_ANIMATION(UnownX); +SINGLE_ANIMATION(UnownY); +SINGLE_ANIMATION(UnownZ); +SINGLE_ANIMATION(UnownEMark); +SINGLE_ANIMATION(UnownQMark); const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = { - ANIM_CMD(NONE), - ANIM_CMD(BULBASAUR), - ANIM_CMD(IVYSAUR), - ANIM_CMD(VENUSAUR), - ANIM_CMD(CHARMANDER), - ANIM_CMD(CHARMELEON), - ANIM_CMD(CHARIZARD), - ANIM_CMD(SQUIRTLE), - ANIM_CMD(WARTORTLE), - ANIM_CMD(BLASTOISE), - ANIM_CMD(CATERPIE), - ANIM_CMD(METAPOD), - ANIM_CMD(BUTTERFREE), - ANIM_CMD(WEEDLE), - ANIM_CMD(KAKUNA), - ANIM_CMD(BEEDRILL), - ANIM_CMD(PIDGEY), - ANIM_CMD(PIDGEOTTO), - ANIM_CMD(PIDGEOT), - ANIM_CMD(RATTATA), - ANIM_CMD(RATICATE), - ANIM_CMD(SPEAROW), - ANIM_CMD(FEAROW), - ANIM_CMD(EKANS), - ANIM_CMD(ARBOK), - ANIM_CMD(PIKACHU), - ANIM_CMD(RAICHU), - ANIM_CMD(SANDSHREW), - ANIM_CMD(SANDSLASH), - ANIM_CMD(NIDORAN_F), - ANIM_CMD(NIDORINA), - ANIM_CMD(NIDOQUEEN), - ANIM_CMD(NIDORAN_M), - ANIM_CMD(NIDORINO), - ANIM_CMD(NIDOKING), - ANIM_CMD(CLEFAIRY), - ANIM_CMD(CLEFABLE), - ANIM_CMD(VULPIX), - ANIM_CMD(NINETALES), - ANIM_CMD(JIGGLYPUFF), - ANIM_CMD(WIGGLYTUFF), - ANIM_CMD(ZUBAT), - ANIM_CMD(GOLBAT), - ANIM_CMD(ODDISH), - ANIM_CMD(GLOOM), - ANIM_CMD(VILEPLUME), - ANIM_CMD(PARAS), - ANIM_CMD(PARASECT), - ANIM_CMD(VENONAT), - ANIM_CMD(VENOMOTH), - ANIM_CMD(DIGLETT), - ANIM_CMD(DUGTRIO), - ANIM_CMD(MEOWTH), - ANIM_CMD(PERSIAN), - ANIM_CMD(PSYDUCK), - ANIM_CMD(GOLDUCK), - ANIM_CMD(MANKEY), - ANIM_CMD(PRIMEAPE), - ANIM_CMD(GROWLITHE), - ANIM_CMD(ARCANINE), - ANIM_CMD(POLIWAG), - ANIM_CMD(POLIWHIRL), - ANIM_CMD(POLIWRATH), - ANIM_CMD(ABRA), - ANIM_CMD(KADABRA), - ANIM_CMD(ALAKAZAM), - ANIM_CMD(MACHOP), - ANIM_CMD(MACHOKE), - ANIM_CMD(MACHAMP), - ANIM_CMD(BELLSPROUT), - ANIM_CMD(WEEPINBELL), - ANIM_CMD(VICTREEBEL), - ANIM_CMD(TENTACOOL), - ANIM_CMD(TENTACRUEL), - ANIM_CMD(GEODUDE), - ANIM_CMD(GRAVELER), - ANIM_CMD(GOLEM), - ANIM_CMD(PONYTA), - ANIM_CMD(RAPIDASH), - ANIM_CMD(SLOWPOKE), - ANIM_CMD(SLOWBRO), - ANIM_CMD(MAGNEMITE), - ANIM_CMD(MAGNETON), - ANIM_CMD(FARFETCHD), - ANIM_CMD(DODUO), - ANIM_CMD(DODRIO), - ANIM_CMD(SEEL), - ANIM_CMD(DEWGONG), - ANIM_CMD(GRIMER), - ANIM_CMD(MUK), - ANIM_CMD(SHELLDER), - ANIM_CMD(CLOYSTER), - ANIM_CMD(GASTLY), - ANIM_CMD(HAUNTER), - ANIM_CMD(GENGAR), - ANIM_CMD(ONIX), - ANIM_CMD(DROWZEE), - ANIM_CMD(HYPNO), - ANIM_CMD(KRABBY), - ANIM_CMD(KINGLER), - ANIM_CMD(VOLTORB), - ANIM_CMD(ELECTRODE), - ANIM_CMD(EXEGGCUTE), - ANIM_CMD(EXEGGUTOR), - ANIM_CMD(CUBONE), - ANIM_CMD(MAROWAK), - ANIM_CMD(HITMONLEE), - ANIM_CMD(HITMONCHAN), - ANIM_CMD(LICKITUNG), - ANIM_CMD(KOFFING), - ANIM_CMD(WEEZING), - ANIM_CMD(RHYHORN), - ANIM_CMD(RHYDON), - ANIM_CMD(CHANSEY), - ANIM_CMD(TANGELA), - ANIM_CMD(KANGASKHAN), - ANIM_CMD(HORSEA), - ANIM_CMD(SEADRA), - ANIM_CMD(GOLDEEN), - ANIM_CMD(SEAKING), - ANIM_CMD(STARYU), - ANIM_CMD(STARMIE), - ANIM_CMD(MR_MIME), - ANIM_CMD(SCYTHER), - ANIM_CMD(JYNX), - ANIM_CMD(ELECTABUZZ), - ANIM_CMD(MAGMAR), - ANIM_CMD(PINSIR), - ANIM_CMD(TAUROS), - ANIM_CMD(MAGIKARP), - ANIM_CMD(GYARADOS), - ANIM_CMD(LAPRAS), - ANIM_CMD(DITTO), - ANIM_CMD(EEVEE), - ANIM_CMD(VAPOREON), - ANIM_CMD(JOLTEON), - ANIM_CMD(FLAREON), - ANIM_CMD(PORYGON), - ANIM_CMD(OMANYTE), - ANIM_CMD(OMASTAR), - ANIM_CMD(KABUTO), - ANIM_CMD(KABUTOPS), - ANIM_CMD(AERODACTYL), - ANIM_CMD(SNORLAX), - ANIM_CMD(ARTICUNO), - ANIM_CMD(ZAPDOS), - ANIM_CMD(MOLTRES), - ANIM_CMD(DRATINI), - ANIM_CMD(DRAGONAIR), - ANIM_CMD(DRAGONITE), - ANIM_CMD(MEWTWO), - ANIM_CMD(MEW), - ANIM_CMD(CHIKORITA), - ANIM_CMD(BAYLEEF), - ANIM_CMD(MEGANIUM), - ANIM_CMD(CYNDAQUIL), - ANIM_CMD(QUILAVA), - ANIM_CMD(TYPHLOSION), - ANIM_CMD(TOTODILE), - ANIM_CMD(CROCONAW), - ANIM_CMD(FERALIGATR), - ANIM_CMD(SENTRET), - ANIM_CMD(FURRET), - ANIM_CMD(HOOTHOOT), - ANIM_CMD(NOCTOWL), - ANIM_CMD(LEDYBA), - ANIM_CMD(LEDIAN), - ANIM_CMD(SPINARAK), - ANIM_CMD(ARIADOS), - ANIM_CMD(CROBAT), - ANIM_CMD(CHINCHOU), - ANIM_CMD(LANTURN), - ANIM_CMD(PICHU), - ANIM_CMD(CLEFFA), - ANIM_CMD(IGGLYBUFF), - ANIM_CMD(TOGEPI), - ANIM_CMD(TOGETIC), - ANIM_CMD(NATU), - ANIM_CMD(XATU), - ANIM_CMD(MAREEP), - ANIM_CMD(FLAAFFY), - ANIM_CMD(AMPHAROS), - ANIM_CMD(BELLOSSOM), - ANIM_CMD(MARILL), - ANIM_CMD(AZUMARILL), - ANIM_CMD(SUDOWOODO), - ANIM_CMD(POLITOED), - ANIM_CMD(HOPPIP), - ANIM_CMD(SKIPLOOM), - ANIM_CMD(JUMPLUFF), - ANIM_CMD(AIPOM), - ANIM_CMD(SUNKERN), - ANIM_CMD(SUNFLORA), - ANIM_CMD(YANMA), - ANIM_CMD(WOOPER), - ANIM_CMD(QUAGSIRE), - ANIM_CMD(ESPEON), - ANIM_CMD(UMBREON), - ANIM_CMD(MURKROW), - ANIM_CMD(SLOWKING), - ANIM_CMD(MISDREAVUS), - ANIM_CMD(UNOWN), - ANIM_CMD(WOBBUFFET), - ANIM_CMD(GIRAFARIG), - ANIM_CMD(PINECO), - ANIM_CMD(FORRETRESS), - ANIM_CMD(DUNSPARCE), - ANIM_CMD(GLIGAR), - ANIM_CMD(STEELIX), - ANIM_CMD(SNUBBULL), - ANIM_CMD(GRANBULL), - ANIM_CMD(QWILFISH), - ANIM_CMD(SCIZOR), - ANIM_CMD(SHUCKLE), - ANIM_CMD(HERACROSS), - ANIM_CMD(SNEASEL), - ANIM_CMD(TEDDIURSA), - ANIM_CMD(URSARING), - ANIM_CMD(SLUGMA), - ANIM_CMD(MAGCARGO), - ANIM_CMD(SWINUB), - ANIM_CMD(PILOSWINE), - ANIM_CMD(CORSOLA), - ANIM_CMD(REMORAID), - ANIM_CMD(OCTILLERY), - ANIM_CMD(DELIBIRD), - ANIM_CMD(MANTINE), - ANIM_CMD(SKARMORY), - ANIM_CMD(HOUNDOUR), - ANIM_CMD(HOUNDOOM), - ANIM_CMD(KINGDRA), - ANIM_CMD(PHANPY), - ANIM_CMD(DONPHAN), - ANIM_CMD(PORYGON2), - ANIM_CMD(STANTLER), - ANIM_CMD(SMEARGLE), - ANIM_CMD(TYROGUE), - ANIM_CMD(HITMONTOP), - ANIM_CMD(SMOOCHUM), - ANIM_CMD(ELEKID), - ANIM_CMD(MAGBY), - ANIM_CMD(MILTANK), - ANIM_CMD(BLISSEY), - ANIM_CMD(RAIKOU), - ANIM_CMD(ENTEI), - ANIM_CMD(SUICUNE), - ANIM_CMD(LARVITAR), - ANIM_CMD(PUPITAR), - ANIM_CMD(TYRANITAR), - ANIM_CMD(LUGIA), - ANIM_CMD(HO_OH), - ANIM_CMD(CELEBI), - ANIM_CMD(OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_C, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_D, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_E, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_F, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_G, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_H, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_I, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_J, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_K, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_L, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_M, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_N, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_O, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_P, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_Q, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_R, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_S, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_T, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_U, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_V, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_W, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_X, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_Y, sAnims_OLD_UNOWN_B), - ANIM_CMD_FULL(OLD_UNOWN_Z, sAnims_OLD_UNOWN_B), - ANIM_CMD(TREECKO), - ANIM_CMD(GROVYLE), - ANIM_CMD(SCEPTILE), - ANIM_CMD(TORCHIC), - ANIM_CMD(COMBUSKEN), - ANIM_CMD(BLAZIKEN), - ANIM_CMD(MUDKIP), - ANIM_CMD(MARSHTOMP), - ANIM_CMD(SWAMPERT), - ANIM_CMD(POOCHYENA), - ANIM_CMD(MIGHTYENA), - ANIM_CMD(ZIGZAGOON), - ANIM_CMD(LINOONE), - ANIM_CMD(WURMPLE), - ANIM_CMD(SILCOON), - ANIM_CMD(BEAUTIFLY), - ANIM_CMD(CASCOON), - ANIM_CMD(DUSTOX), - ANIM_CMD(LOTAD), - ANIM_CMD(LOMBRE), - ANIM_CMD(LUDICOLO), - ANIM_CMD(SEEDOT), - ANIM_CMD(NUZLEAF), - ANIM_CMD(SHIFTRY), - ANIM_CMD(NINCADA), - ANIM_CMD(NINJASK), - ANIM_CMD(SHEDINJA), - ANIM_CMD(TAILLOW), - ANIM_CMD(SWELLOW), - ANIM_CMD(SHROOMISH), - ANIM_CMD(BRELOOM), - ANIM_CMD(SPINDA), - ANIM_CMD(WINGULL), - ANIM_CMD(PELIPPER), - ANIM_CMD(SURSKIT), - ANIM_CMD(MASQUERAIN), - ANIM_CMD(WAILMER), - ANIM_CMD(WAILORD), - ANIM_CMD(SKITTY), - ANIM_CMD(DELCATTY), - ANIM_CMD(KECLEON), - ANIM_CMD(BALTOY), - ANIM_CMD(CLAYDOL), - ANIM_CMD(NOSEPASS), - ANIM_CMD(TORKOAL), - ANIM_CMD(SABLEYE), - ANIM_CMD(BARBOACH), - ANIM_CMD(WHISCASH), - ANIM_CMD(LUVDISC), - ANIM_CMD(CORPHISH), - ANIM_CMD(CRAWDAUNT), - ANIM_CMD(FEEBAS), - ANIM_CMD(MILOTIC), - ANIM_CMD(CARVANHA), - ANIM_CMD(SHARPEDO), - ANIM_CMD(TRAPINCH), - ANIM_CMD(VIBRAVA), - ANIM_CMD(FLYGON), - ANIM_CMD(MAKUHITA), - ANIM_CMD(HARIYAMA), - ANIM_CMD(ELECTRIKE), - ANIM_CMD(MANECTRIC), - ANIM_CMD(NUMEL), - ANIM_CMD(CAMERUPT), - ANIM_CMD(SPHEAL), - ANIM_CMD(SEALEO), - ANIM_CMD(WALREIN), - ANIM_CMD(CACNEA), - ANIM_CMD(CACTURNE), - ANIM_CMD(SNORUNT), - ANIM_CMD(GLALIE), - ANIM_CMD(LUNATONE), - ANIM_CMD(SOLROCK), - ANIM_CMD(AZURILL), - ANIM_CMD(SPOINK), - ANIM_CMD(GRUMPIG), - ANIM_CMD(PLUSLE), - ANIM_CMD(MINUN), - ANIM_CMD(MAWILE), - ANIM_CMD(MEDITITE), - ANIM_CMD(MEDICHAM), - ANIM_CMD(SWABLU), - ANIM_CMD(ALTARIA), - ANIM_CMD(WYNAUT), - ANIM_CMD(DUSKULL), - ANIM_CMD(DUSCLOPS), - ANIM_CMD(ROSELIA), - ANIM_CMD(SLAKOTH), - ANIM_CMD(VIGOROTH), - ANIM_CMD(SLAKING), - ANIM_CMD(GULPIN), - ANIM_CMD(SWALOT), - ANIM_CMD(TROPIUS), - ANIM_CMD(WHISMUR), - ANIM_CMD(LOUDRED), - ANIM_CMD(EXPLOUD), - ANIM_CMD(CLAMPERL), - ANIM_CMD(HUNTAIL), - ANIM_CMD(GOREBYSS), - ANIM_CMD(ABSOL), - ANIM_CMD(SHUPPET), - ANIM_CMD(BANETTE), - ANIM_CMD(SEVIPER), - ANIM_CMD(ZANGOOSE), - ANIM_CMD(RELICANTH), - ANIM_CMD(ARON), - ANIM_CMD(LAIRON), - ANIM_CMD(AGGRON), - ANIM_CMD(CASTFORM), - ANIM_CMD(VOLBEAT), - ANIM_CMD(ILLUMISE), - ANIM_CMD(LILEEP), - ANIM_CMD(CRADILY), - ANIM_CMD(ANORITH), - ANIM_CMD(ARMALDO), - ANIM_CMD(RALTS), - ANIM_CMD(KIRLIA), - ANIM_CMD(GARDEVOIR), - ANIM_CMD(BAGON), - ANIM_CMD(SHELGON), - ANIM_CMD(SALAMENCE), - ANIM_CMD(BELDUM), - ANIM_CMD(METANG), - ANIM_CMD(METAGROSS), - ANIM_CMD(REGIROCK), - ANIM_CMD(REGICE), - ANIM_CMD(REGISTEEL), - ANIM_CMD(KYOGRE), - ANIM_CMD(GROUDON), - ANIM_CMD(RAYQUAZA), - ANIM_CMD(LATIAS), - ANIM_CMD(LATIOS), - ANIM_CMD(JIRACHI), - ANIM_CMD(DEOXYS), - ANIM_CMD(CHIMECHO), - ANIM_CMD(EGG), - ANIM_CMD(UNOWN_B), - ANIM_CMD(UNOWN_C), - ANIM_CMD(UNOWN_D), - ANIM_CMD(UNOWN_E), - ANIM_CMD(UNOWN_F), - ANIM_CMD(UNOWN_G), - ANIM_CMD(UNOWN_H), - ANIM_CMD(UNOWN_I), - ANIM_CMD(UNOWN_J), - ANIM_CMD(UNOWN_K), - ANIM_CMD(UNOWN_L), - ANIM_CMD(UNOWN_M), - ANIM_CMD(UNOWN_N), - ANIM_CMD(UNOWN_O), - ANIM_CMD(UNOWN_P), - ANIM_CMD(UNOWN_Q), - ANIM_CMD(UNOWN_R), - ANIM_CMD(UNOWN_S), - ANIM_CMD(UNOWN_T), - ANIM_CMD(UNOWN_U), - ANIM_CMD(UNOWN_V), - ANIM_CMD(UNOWN_W), - ANIM_CMD(UNOWN_X), - ANIM_CMD(UNOWN_Y), - ANIM_CMD(UNOWN_Z), - ANIM_CMD(UNOWN_EMARK), - ANIM_CMD(UNOWN_QMARK), -}; + [SPECIES_NONE] = sAnims_None, + [SPECIES_BULBASAUR] = sAnims_Bulbasaur, + [SPECIES_IVYSAUR] = sAnims_Ivysaur, + [SPECIES_VENUSAUR] = sAnims_Venusaur, + [SPECIES_CHARMANDER] = sAnims_Charmander, + [SPECIES_CHARMELEON] = sAnims_Charmeleon, + [SPECIES_CHARIZARD] = sAnims_Charizard, + [SPECIES_SQUIRTLE] = sAnims_Squirtle, + [SPECIES_WARTORTLE] = sAnims_Wartortle, + [SPECIES_BLASTOISE] = sAnims_Blastoise, + [SPECIES_CATERPIE] = sAnims_Caterpie, + [SPECIES_METAPOD] = sAnims_Metapod, + [SPECIES_BUTTERFREE] = sAnims_Butterfree, + [SPECIES_WEEDLE] = sAnims_Weedle, + [SPECIES_KAKUNA] = sAnims_Kakuna, + [SPECIES_BEEDRILL] = sAnims_Beedrill, + [SPECIES_PIDGEY] = sAnims_Pidgey, + [SPECIES_PIDGEOTTO] = sAnims_Pidgeotto, + [SPECIES_PIDGEOT] = sAnims_Pidgeot, + [SPECIES_RATTATA] = sAnims_Rattata, + [SPECIES_RATICATE] = sAnims_Raticate, + [SPECIES_SPEAROW] = sAnims_Spearow, + [SPECIES_FEAROW] = sAnims_Fearow, + [SPECIES_EKANS] = sAnims_Ekans, + [SPECIES_ARBOK] = sAnims_Arbok, + [SPECIES_PIKACHU] = sAnims_Pikachu, + [SPECIES_RAICHU] = sAnims_Raichu, + [SPECIES_SANDSHREW] = sAnims_Sandshrew, + [SPECIES_SANDSLASH] = sAnims_Sandslash, + [SPECIES_NIDORAN_F] = sAnims_NidoranF, + [SPECIES_NIDORINA] = sAnims_Nidorina, + [SPECIES_NIDOQUEEN] = sAnims_Nidoqueen, + [SPECIES_NIDORAN_M] = sAnims_NidoranM, + [SPECIES_NIDORINO] = sAnims_Nidorino, + [SPECIES_NIDOKING] = sAnims_Nidoking, + [SPECIES_CLEFAIRY] = sAnims_Clefairy, + [SPECIES_CLEFABLE] = sAnims_Clefable, + [SPECIES_VULPIX] = sAnims_Vulpix, + [SPECIES_NINETALES] = sAnims_Ninetales, + [SPECIES_JIGGLYPUFF] = sAnims_Jigglypuff, + [SPECIES_WIGGLYTUFF] = sAnims_Wigglytuff, + [SPECIES_ZUBAT] = sAnims_Zubat, + [SPECIES_GOLBAT] = sAnims_Golbat, + [SPECIES_ODDISH] = sAnims_Oddish, + [SPECIES_GLOOM] = sAnims_Gloom, + [SPECIES_VILEPLUME] = sAnims_Vileplume, + [SPECIES_PARAS] = sAnims_Paras, + [SPECIES_PARASECT] = sAnims_Parasect, + [SPECIES_VENONAT] = sAnims_Venonat, + [SPECIES_VENOMOTH] = sAnims_Venomoth, + [SPECIES_DIGLETT] = sAnims_Diglett, + [SPECIES_DUGTRIO] = sAnims_Dugtrio, + [SPECIES_MEOWTH] = sAnims_Meowth, + [SPECIES_PERSIAN] = sAnims_Persian, + [SPECIES_PSYDUCK] = sAnims_Psyduck, + [SPECIES_GOLDUCK] = sAnims_Golduck, + [SPECIES_MANKEY] = sAnims_Mankey, + [SPECIES_PRIMEAPE] = sAnims_Primeape, + [SPECIES_GROWLITHE] = sAnims_Growlithe, + [SPECIES_ARCANINE] = sAnims_Arcanine, + [SPECIES_POLIWAG] = sAnims_Poliwag, + [SPECIES_POLIWHIRL] = sAnims_Poliwhirl, + [SPECIES_POLIWRATH] = sAnims_Poliwrath, + [SPECIES_ABRA] = sAnims_Abra, + [SPECIES_KADABRA] = sAnims_Kadabra, + [SPECIES_ALAKAZAM] = sAnims_Alakazam, + [SPECIES_MACHOP] = sAnims_Machop, + [SPECIES_MACHOKE] = sAnims_Machoke, + [SPECIES_MACHAMP] = sAnims_Machamp, + [SPECIES_BELLSPROUT] = sAnims_Bellsprout, + [SPECIES_WEEPINBELL] = sAnims_Weepinbell, + [SPECIES_VICTREEBEL] = sAnims_Victreebel, + [SPECIES_TENTACOOL] = sAnims_Tentacool, + [SPECIES_TENTACRUEL] = sAnims_Tentacruel, + [SPECIES_GEODUDE] = sAnims_Geodude, + [SPECIES_GRAVELER] = sAnims_Graveler, + [SPECIES_GOLEM] = sAnims_Golem, + [SPECIES_PONYTA] = sAnims_Ponyta, + [SPECIES_RAPIDASH] = sAnims_Rapidash, + [SPECIES_SLOWPOKE] = sAnims_Slowpoke, + [SPECIES_SLOWBRO] = sAnims_Slowbro, + [SPECIES_MAGNEMITE] = sAnims_Magnemite, + [SPECIES_MAGNETON] = sAnims_Magneton, + [SPECIES_FARFETCHD] = sAnims_Farfetchd, + [SPECIES_DODUO] = sAnims_Doduo, + [SPECIES_DODRIO] = sAnims_Dodrio, + [SPECIES_SEEL] = sAnims_Seel, + [SPECIES_DEWGONG] = sAnims_Dewgong, + [SPECIES_GRIMER] = sAnims_Grimer, + [SPECIES_MUK] = sAnims_Muk, + [SPECIES_SHELLDER] = sAnims_Shellder, + [SPECIES_CLOYSTER] = sAnims_Cloyster, + [SPECIES_GASTLY] = sAnims_Gastly, + [SPECIES_HAUNTER] = sAnims_Haunter, + [SPECIES_GENGAR] = sAnims_Gengar, + [SPECIES_ONIX] = sAnims_Onix, + [SPECIES_DROWZEE] = sAnims_Drowzee, + [SPECIES_HYPNO] = sAnims_Hypno, + [SPECIES_KRABBY] = sAnims_Krabby, + [SPECIES_KINGLER] = sAnims_Kingler, + [SPECIES_VOLTORB] = sAnims_Voltorb, + [SPECIES_ELECTRODE] = sAnims_Electrode, + [SPECIES_EXEGGCUTE] = sAnims_Exeggcute, + [SPECIES_EXEGGUTOR] = sAnims_Exeggutor, + [SPECIES_CUBONE] = sAnims_Cubone, + [SPECIES_MAROWAK] = sAnims_Marowak, + [SPECIES_HITMONLEE] = sAnims_Hitmonlee, + [SPECIES_HITMONCHAN] = sAnims_Hitmonchan, + [SPECIES_LICKITUNG] = sAnims_Lickitung, + [SPECIES_KOFFING] = sAnims_Koffing, + [SPECIES_WEEZING] = sAnims_Weezing, + [SPECIES_RHYHORN] = sAnims_Rhyhorn, + [SPECIES_RHYDON] = sAnims_Rhydon, + [SPECIES_CHANSEY] = sAnims_Chansey, + [SPECIES_TANGELA] = sAnims_Tangela, + [SPECIES_KANGASKHAN] = sAnims_Kangaskhan, + [SPECIES_HORSEA] = sAnims_Horsea, + [SPECIES_SEADRA] = sAnims_Seadra, + [SPECIES_GOLDEEN] = sAnims_Goldeen, + [SPECIES_SEAKING] = sAnims_Seaking, + [SPECIES_STARYU] = sAnims_Staryu, + [SPECIES_STARMIE] = sAnims_Starmie, + [SPECIES_MR_MIME] = sAnims_MrMime, + [SPECIES_SCYTHER] = sAnims_Scyther, + [SPECIES_JYNX] = sAnims_Jynx, + [SPECIES_ELECTABUZZ] = sAnims_Electabuzz, + [SPECIES_MAGMAR] = sAnims_Magmar, + [SPECIES_PINSIR] = sAnims_Pinsir, + [SPECIES_TAUROS] = sAnims_Tauros, + [SPECIES_MAGIKARP] = sAnims_Magikarp, + [SPECIES_GYARADOS] = sAnims_Gyarados, + [SPECIES_LAPRAS] = sAnims_Lapras, + [SPECIES_DITTO] = sAnims_Ditto, + [SPECIES_EEVEE] = sAnims_Eevee, + [SPECIES_VAPOREON] = sAnims_Vaporeon, + [SPECIES_JOLTEON] = sAnims_Jolteon, + [SPECIES_FLAREON] = sAnims_Flareon, + [SPECIES_PORYGON] = sAnims_Porygon, + [SPECIES_OMANYTE] = sAnims_Omanyte, + [SPECIES_OMASTAR] = sAnims_Omastar, + [SPECIES_KABUTO] = sAnims_Kabuto, + [SPECIES_KABUTOPS] = sAnims_Kabutops, + [SPECIES_AERODACTYL] = sAnims_Aerodactyl, + [SPECIES_SNORLAX] = sAnims_Snorlax, + [SPECIES_ARTICUNO] = sAnims_Articuno, + [SPECIES_ZAPDOS] = sAnims_Zapdos, + [SPECIES_MOLTRES] = sAnims_Moltres, + [SPECIES_DRATINI] = sAnims_Dratini, + [SPECIES_DRAGONAIR] = sAnims_Dragonair, + [SPECIES_DRAGONITE] = sAnims_Dragonite, + [SPECIES_MEWTWO] = sAnims_Mewtwo, + [SPECIES_MEW] = sAnims_Mew, + [SPECIES_CHIKORITA] = sAnims_Chikorita, + [SPECIES_BAYLEEF] = sAnims_Bayleef, + [SPECIES_MEGANIUM] = sAnims_Meganium, + [SPECIES_CYNDAQUIL] = sAnims_Cyndaquil, + [SPECIES_QUILAVA] = sAnims_Quilava, + [SPECIES_TYPHLOSION] = sAnims_Typhlosion, + [SPECIES_TOTODILE] = sAnims_Totodile, + [SPECIES_CROCONAW] = sAnims_Croconaw, + [SPECIES_FERALIGATR] = sAnims_Feraligatr, + [SPECIES_SENTRET] = sAnims_Sentret, + [SPECIES_FURRET] = sAnims_Furret, + [SPECIES_HOOTHOOT] = sAnims_Hoothoot, + [SPECIES_NOCTOWL] = sAnims_Noctowl, + [SPECIES_LEDYBA] = sAnims_Ledyba, + [SPECIES_LEDIAN] = sAnims_Ledian, + [SPECIES_SPINARAK] = sAnims_Spinarak, + [SPECIES_ARIADOS] = sAnims_Ariados, + [SPECIES_CROBAT] = sAnims_Crobat, + [SPECIES_CHINCHOU] = sAnims_Chinchou, + [SPECIES_LANTURN] = sAnims_Lanturn, + [SPECIES_PICHU] = sAnims_Pichu, + [SPECIES_CLEFFA] = sAnims_Cleffa, + [SPECIES_IGGLYBUFF] = sAnims_Igglybuff, + [SPECIES_TOGEPI] = sAnims_Togepi, + [SPECIES_TOGETIC] = sAnims_Togetic, + [SPECIES_NATU] = sAnims_Natu, + [SPECIES_XATU] = sAnims_Xatu, + [SPECIES_MAREEP] = sAnims_Mareep, + [SPECIES_FLAAFFY] = sAnims_Flaaffy, + [SPECIES_AMPHAROS] = sAnims_Ampharos, + [SPECIES_BELLOSSOM] = sAnims_Bellossom, + [SPECIES_MARILL] = sAnims_Marill, + [SPECIES_AZUMARILL] = sAnims_Azumarill, + [SPECIES_SUDOWOODO] = sAnims_Sudowoodo, + [SPECIES_POLITOED] = sAnims_Politoed, + [SPECIES_HOPPIP] = sAnims_Hoppip, + [SPECIES_SKIPLOOM] = sAnims_Skiploom, + [SPECIES_JUMPLUFF] = sAnims_Jumpluff, + [SPECIES_AIPOM] = sAnims_Aipom, + [SPECIES_SUNKERN] = sAnims_Sunkern, + [SPECIES_SUNFLORA] = sAnims_Sunflora, + [SPECIES_YANMA] = sAnims_Yanma, + [SPECIES_WOOPER] = sAnims_Wooper, + [SPECIES_QUAGSIRE] = sAnims_Quagsire, + [SPECIES_ESPEON] = sAnims_Espeon, + [SPECIES_UMBREON] = sAnims_Umbreon, + [SPECIES_MURKROW] = sAnims_Murkrow, + [SPECIES_SLOWKING] = sAnims_Slowking, + [SPECIES_MISDREAVUS] = sAnims_Misdreavus, + [SPECIES_UNOWN] = sAnims_Unown, + [SPECIES_WOBBUFFET] = sAnims_Wobbuffet, + [SPECIES_GIRAFARIG] = sAnims_Girafarig, + [SPECIES_PINECO] = sAnims_Pineco, + [SPECIES_FORRETRESS] = sAnims_Forretress, + [SPECIES_DUNSPARCE] = sAnims_Dunsparce, + [SPECIES_GLIGAR] = sAnims_Gligar, + [SPECIES_STEELIX] = sAnims_Steelix, + [SPECIES_SNUBBULL] = sAnims_Snubbull, + [SPECIES_GRANBULL] = sAnims_Granbull, + [SPECIES_QWILFISH] = sAnims_Qwilfish, + [SPECIES_SCIZOR] = sAnims_Scizor, + [SPECIES_SHUCKLE] = sAnims_Shuckle, + [SPECIES_HERACROSS] = sAnims_Heracross, + [SPECIES_SNEASEL] = sAnims_Sneasel, + [SPECIES_TEDDIURSA] = sAnims_Teddiursa, + [SPECIES_URSARING] = sAnims_Ursaring, + [SPECIES_SLUGMA] = sAnims_Slugma, + [SPECIES_MAGCARGO] = sAnims_Magcargo, + [SPECIES_SWINUB] = sAnims_Swinub, + [SPECIES_PILOSWINE] = sAnims_Piloswine, + [SPECIES_CORSOLA] = sAnims_Corsola, + [SPECIES_REMORAID] = sAnims_Remoraid, + [SPECIES_OCTILLERY] = sAnims_Octillery, + [SPECIES_DELIBIRD] = sAnims_Delibird, + [SPECIES_MANTINE] = sAnims_Mantine, + [SPECIES_SKARMORY] = sAnims_Skarmory, + [SPECIES_HOUNDOUR] = sAnims_Houndour, + [SPECIES_HOUNDOOM] = sAnims_Houndoom, + [SPECIES_KINGDRA] = sAnims_Kingdra, + [SPECIES_PHANPY] = sAnims_Phanpy, + [SPECIES_DONPHAN] = sAnims_Donphan, + [SPECIES_PORYGON2] = sAnims_Porygon2, + [SPECIES_STANTLER] = sAnims_Stantler, + [SPECIES_SMEARGLE] = sAnims_Smeargle, + [SPECIES_TYROGUE] = sAnims_Tyrogue, + [SPECIES_HITMONTOP] = sAnims_Hitmontop, + [SPECIES_SMOOCHUM] = sAnims_Smoochum, + [SPECIES_ELEKID] = sAnims_Elekid, + [SPECIES_MAGBY] = sAnims_Magby, + [SPECIES_MILTANK] = sAnims_Miltank, + [SPECIES_BLISSEY] = sAnims_Blissey, + [SPECIES_RAIKOU] = sAnims_Raikou, + [SPECIES_ENTEI] = sAnims_Entei, + [SPECIES_SUICUNE] = sAnims_Suicune, + [SPECIES_LARVITAR] = sAnims_Larvitar, + [SPECIES_PUPITAR] = sAnims_Pupitar, + [SPECIES_TYRANITAR] = sAnims_Tyranitar, + [SPECIES_LUGIA] = sAnims_Lugia, + [SPECIES_HO_OH] = sAnims_HoOh, + [SPECIES_CELEBI] = sAnims_Celebi, + [SPECIES_OLD_UNOWN_B] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_C] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_D] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_E] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_F] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_G] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_H] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_I] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_J] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_K] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_L] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_M] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_N] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_O] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_P] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_Q] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_R] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_S] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_T] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_U] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_V] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_W] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_X] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_Y] = sAnims_OldUnownB, + [SPECIES_OLD_UNOWN_Z] = sAnims_OldUnownB, + [SPECIES_TREECKO] = sAnims_Treecko, + [SPECIES_GROVYLE] = sAnims_Grovyle, + [SPECIES_SCEPTILE] = sAnims_Sceptile, + [SPECIES_TORCHIC] = sAnims_Torchic, + [SPECIES_COMBUSKEN] = sAnims_Combusken, + [SPECIES_BLAZIKEN] = sAnims_Blaziken, + [SPECIES_MUDKIP] = sAnims_Mudkip, + [SPECIES_MARSHTOMP] = sAnims_Marshtomp, + [SPECIES_SWAMPERT] = sAnims_Swampert, + [SPECIES_POOCHYENA] = sAnims_Poochyena, + [SPECIES_MIGHTYENA] = sAnims_Mightyena, + [SPECIES_ZIGZAGOON] = sAnims_Zigzagoon, + [SPECIES_LINOONE] = sAnims_Linoone, + [SPECIES_WURMPLE] = sAnims_Wurmple, + [SPECIES_SILCOON] = sAnims_Silcoon, + [SPECIES_BEAUTIFLY] = sAnims_Beautifly, + [SPECIES_CASCOON] = sAnims_Cascoon, + [SPECIES_DUSTOX] = sAnims_Dustox, + [SPECIES_LOTAD] = sAnims_Lotad, + [SPECIES_LOMBRE] = sAnims_Lombre, + [SPECIES_LUDICOLO] = sAnims_Ludicolo, + [SPECIES_SEEDOT] = sAnims_Seedot, + [SPECIES_NUZLEAF] = sAnims_Nuzleaf, + [SPECIES_SHIFTRY] = sAnims_Shiftry, + [SPECIES_NINCADA] = sAnims_Nincada, + [SPECIES_NINJASK] = sAnims_Ninjask, + [SPECIES_SHEDINJA] = sAnims_Shedinja, + [SPECIES_TAILLOW] = sAnims_Taillow, + [SPECIES_SWELLOW] = sAnims_Swellow, + [SPECIES_SHROOMISH] = sAnims_Shroomish, + [SPECIES_BRELOOM] = sAnims_Breloom, + [SPECIES_SPINDA] = sAnims_Spinda, + [SPECIES_WINGULL] = sAnims_Wingull, + [SPECIES_PELIPPER] = sAnims_Pelipper, + [SPECIES_SURSKIT] = sAnims_Surskit, + [SPECIES_MASQUERAIN] = sAnims_Masquerain, + [SPECIES_WAILMER] = sAnims_Wailmer, + [SPECIES_WAILORD] = sAnims_Wailord, + [SPECIES_SKITTY] = sAnims_Skitty, + [SPECIES_DELCATTY] = sAnims_Delcatty, + [SPECIES_KECLEON] = sAnims_Kecleon, + [SPECIES_BALTOY] = sAnims_Baltoy, + [SPECIES_CLAYDOL] = sAnims_Claydol, + [SPECIES_NOSEPASS] = sAnims_Nosepass, + [SPECIES_TORKOAL] = sAnims_Torkoal, + [SPECIES_SABLEYE] = sAnims_Sableye, + [SPECIES_BARBOACH] = sAnims_Barboach, + [SPECIES_WHISCASH] = sAnims_Whiscash, + [SPECIES_LUVDISC] = sAnims_Luvdisc, + [SPECIES_CORPHISH] = sAnims_Corphish, + [SPECIES_CRAWDAUNT] = sAnims_Crawdaunt, + [SPECIES_FEEBAS] = sAnims_Feebas, + [SPECIES_MILOTIC] = sAnims_Milotic, + [SPECIES_CARVANHA] = sAnims_Carvanha, + [SPECIES_SHARPEDO] = sAnims_Sharpedo, + [SPECIES_TRAPINCH] = sAnims_Trapinch, + [SPECIES_VIBRAVA] = sAnims_Vibrava, + [SPECIES_FLYGON] = sAnims_Flygon, + [SPECIES_MAKUHITA] = sAnims_Makuhita, + [SPECIES_HARIYAMA] = sAnims_Hariyama, + [SPECIES_ELECTRIKE] = sAnims_Electrike, + [SPECIES_MANECTRIC] = sAnims_Manectric, + [SPECIES_NUMEL] = sAnims_Numel, + [SPECIES_CAMERUPT] = sAnims_Camerupt, + [SPECIES_SPHEAL] = sAnims_Spheal, + [SPECIES_SEALEO] = sAnims_Sealeo, + [SPECIES_WALREIN] = sAnims_Walrein, + [SPECIES_CACNEA] = sAnims_Cacnea, + [SPECIES_CACTURNE] = sAnims_Cacturne, + [SPECIES_SNORUNT] = sAnims_Snorunt, + [SPECIES_GLALIE] = sAnims_Glalie, + [SPECIES_LUNATONE] = sAnims_Lunatone, + [SPECIES_SOLROCK] = sAnims_Solrock, + [SPECIES_AZURILL] = sAnims_Azurill, + [SPECIES_SPOINK] = sAnims_Spoink, + [SPECIES_GRUMPIG] = sAnims_Grumpig, + [SPECIES_PLUSLE] = sAnims_Plusle, + [SPECIES_MINUN] = sAnims_Minun, + [SPECIES_MAWILE] = sAnims_Mawile, + [SPECIES_MEDITITE] = sAnims_Meditite, + [SPECIES_MEDICHAM] = sAnims_Medicham, + [SPECIES_SWABLU] = sAnims_Swablu, + [SPECIES_ALTARIA] = sAnims_Altaria, + [SPECIES_WYNAUT] = sAnims_Wynaut, + [SPECIES_DUSKULL] = sAnims_Duskull, + [SPECIES_DUSCLOPS] = sAnims_Dusclops, + [SPECIES_ROSELIA] = sAnims_Roselia, + [SPECIES_SLAKOTH] = sAnims_Slakoth, + [SPECIES_VIGOROTH] = sAnims_Vigoroth, + [SPECIES_SLAKING] = sAnims_Slaking, + [SPECIES_GULPIN] = sAnims_Gulpin, + [SPECIES_SWALOT] = sAnims_Swalot, + [SPECIES_TROPIUS] = sAnims_Tropius, + [SPECIES_WHISMUR] = sAnims_Whismur, + [SPECIES_LOUDRED] = sAnims_Loudred, + [SPECIES_EXPLOUD] = sAnims_Exploud, + [SPECIES_CLAMPERL] = sAnims_Clamperl, + [SPECIES_HUNTAIL] = sAnims_Huntail, + [SPECIES_GOREBYSS] = sAnims_Gorebyss, + [SPECIES_ABSOL] = sAnims_Absol, + [SPECIES_SHUPPET] = sAnims_Shuppet, + [SPECIES_BANETTE] = sAnims_Banette, + [SPECIES_SEVIPER] = sAnims_Seviper, + [SPECIES_ZANGOOSE] = sAnims_Zangoose, + [SPECIES_RELICANTH] = sAnims_Relicanth, + [SPECIES_ARON] = sAnims_Aron, + [SPECIES_LAIRON] = sAnims_Lairon, + [SPECIES_AGGRON] = sAnims_Aggron, + [SPECIES_CASTFORM] = sAnims_Castform, + [SPECIES_VOLBEAT] = sAnims_Volbeat, + [SPECIES_ILLUMISE] = sAnims_Illumise, + [SPECIES_LILEEP] = sAnims_Lileep, + [SPECIES_CRADILY] = sAnims_Cradily, + [SPECIES_ANORITH] = sAnims_Anorith, + [SPECIES_ARMALDO] = sAnims_Armaldo, + [SPECIES_RALTS] = sAnims_Ralts, + [SPECIES_KIRLIA] = sAnims_Kirlia, + [SPECIES_GARDEVOIR] = sAnims_Gardevoir, + [SPECIES_BAGON] = sAnims_Bagon, + [SPECIES_SHELGON] = sAnims_Shelgon, + [SPECIES_SALAMENCE] = sAnims_Salamence, + [SPECIES_BELDUM] = sAnims_Beldum, + [SPECIES_METANG] = sAnims_Metang, + [SPECIES_METAGROSS] = sAnims_Metagross, + [SPECIES_REGIROCK] = sAnims_Regirock, + [SPECIES_REGICE] = sAnims_Regice, + [SPECIES_REGISTEEL] = sAnims_Registeel, + [SPECIES_KYOGRE] = sAnims_Kyogre, + [SPECIES_GROUDON] = sAnims_Groudon, + [SPECIES_RAYQUAZA] = sAnims_Rayquaza, + [SPECIES_LATIAS] = sAnims_Latias, + [SPECIES_LATIOS] = sAnims_Latios, + [SPECIES_JIRACHI] = sAnims_Jirachi, + [SPECIES_DEOXYS] = sAnims_Deoxys, + [SPECIES_CHIMECHO] = sAnims_Chimecho, + [SPECIES_EGG] = sAnims_Egg, + [SPECIES_UNOWN_B] = sAnims_UnownB, + [SPECIES_UNOWN_C] = sAnims_UnownC, + [SPECIES_UNOWN_D] = sAnims_UnownD, + [SPECIES_UNOWN_E] = sAnims_UnownE, + [SPECIES_UNOWN_F] = sAnims_UnownF, + [SPECIES_UNOWN_G] = sAnims_UnownG, + [SPECIES_UNOWN_H] = sAnims_UnownH, + [SPECIES_UNOWN_I] = sAnims_UnownI, + [SPECIES_UNOWN_J] = sAnims_UnownJ, + [SPECIES_UNOWN_K] = sAnims_UnownK, + [SPECIES_UNOWN_L] = sAnims_UnownL, + [SPECIES_UNOWN_M] = sAnims_UnownM, + [SPECIES_UNOWN_N] = sAnims_UnownN, + [SPECIES_UNOWN_O] = sAnims_UnownO, + [SPECIES_UNOWN_P] = sAnims_UnownP, + [SPECIES_UNOWN_Q] = sAnims_UnownQ, + [SPECIES_UNOWN_R] = sAnims_UnownR, + [SPECIES_UNOWN_S] = sAnims_UnownS, + [SPECIES_UNOWN_T] = sAnims_UnownT, + [SPECIES_UNOWN_U] = sAnims_UnownU, + [SPECIES_UNOWN_V] = sAnims_UnownV, + [SPECIES_UNOWN_W] = sAnims_UnownW, + [SPECIES_UNOWN_X] = sAnims_UnownX, + [SPECIES_UNOWN_Y] = sAnims_UnownY, + [SPECIES_UNOWN_Z] = sAnims_UnownZ, + [SPECIES_UNOWN_EMARK] = sAnims_UnownEMark, + [SPECIES_UNOWN_QMARK] = sAnims_UnownQMark, -#undef ANIM_CMD -#undef ANIM_CMD_FULL +}; diff --git a/src/data/pokemon_graphics/unknown_anims.h b/src/data/pokemon_graphics/unknown_anims.h deleted file mode 100644 index ea7ab34a2..000000000 --- a/src/data/pokemon_graphics/unknown_anims.h +++ /dev/null @@ -1,2322 +0,0 @@ -// unused and unkown -static const union AnimCmd sUnknownAnim_BLAZIKEN_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 25), - ANIMCMD_FRAME(0, 7), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 7), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_BLAZIKEN_2[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(2, 8), - ANIMCMD_FRAME(0, 8), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_BLAZIKEN_3[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(2, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_BLAZIKEN_4[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MARSHTOMP_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MARSHTOMP_2[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(2, 12), - ANIMCMD_FRAME(0, 14), - ANIMCMD_FRAME(2, 12), - ANIMCMD_FRAME(0, 14), - ANIMCMD_FRAME(2, 12), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MARSHTOMP_3[] = -{ - ANIMCMD_FRAME(0, 14), - ANIMCMD_FRAME(2, 12), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_POOCHYENA_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_POOCHYENA_2[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(2, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(2, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MIGHTYENA_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_ZIGZAGOON_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_LINOONE_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_WURMPLE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_WURMPLE_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SILCOON_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SILCOON_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_BEAUTIFLY_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_BEAUTIFLY_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_CASCOON_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_CASCOON_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_DUSTOX_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_DUSTOX_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_LOMBRE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_LUDICOLO_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_LUDICOLO_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SEEDOT_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_NUZLEAF_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SHIFTRY_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SHIFTRY_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_TAILLOW_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SWELLOW_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SHROOMISH_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_BRELOOM_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_WINGULL_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_PELIPPER_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_PELIPPER_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SURSKIT_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SURSKIT_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MASQUERAIN_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MASQUERAIN_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_WAILMER_1[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(8, 15), - ANIMCMD_FRAME(2, 22), - ANIMCMD_FRAME(8, 5), - ANIMCMD_FRAME(3, 8), - ANIMCMD_FRAME(4, 5), - ANIMCMD_FRAME(6, 5), - ANIMCMD_FRAME(4, 5), - ANIMCMD_FRAME(6, 5), - ANIMCMD_FRAME(4, 5), - ANIMCMD_FRAME(6, 5), - ANIMCMD_FRAME(4, 5), - ANIMCMD_FRAME(6, 5), - ANIMCMD_FRAME(5, 5), - ANIMCMD_FRAME(7, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_WAILMER_2[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(8, 15), - ANIMCMD_FRAME(2, 15), - ANIMCMD_FRAME(8, 15), - ANIMCMD_FRAME(9, 15), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(9, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_WAILMER_3[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(9, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(10, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_WAILMER_4[] = -{ - ANIMCMD_FRAME(0, 15), - ANIMCMD_FRAME(11, 15), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SKITTY_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_DELCATTY_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_KECLEON_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(2, 7), - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(4, 4), - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(4, 4), - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(4, 4), - ANIMCMD_FRAME(3, 4), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(5, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(5, 2), - ANIMCMD_FRAME(0, 2), - ANIMCMD_FRAME(5, 2), - ANIMCMD_FRAME(6, 2), - ANIMCMD_FRAME(5, 2), - ANIMCMD_FRAME(6, 2), - ANIMCMD_FRAME(6, 10), - ANIMCMD_FRAME(5, 4), - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_KECLEON_2[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_FRAME(9, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(9, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_KECLEON_3[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_FRAME(9, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(9, 3), - ANIMCMD_FRAME(0, 3), - ANIMCMD_FRAME(7, 12), - ANIMCMD_FRAME(8, 12), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_KECLEON_4[] = -{ - ANIMCMD_FRAME(0,18), - ANIMCMD_FRAME(10, 18), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_BALTOY_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_CLAYDOL_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_NOSEPASS_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SABLEYE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SABLEYE_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_LUVDISC_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_LUVDISC_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_FEEBAS_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_FEEBAS_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MILOTIC_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MILOTIC_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_CARVANHA_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_CARVANHA_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SHARPEDO_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SHARPEDO_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_TRAPINCH_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_VIBRAVA_1[] = -{ - ANIMCMD_FRAME(0, 63), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_FLYGON_1[] = -{ - ANIMCMD_FRAME(0, 63), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MAKUHITA_1[] = -{ - ANIMCMD_FRAME(0, 63), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_HARIYAMA_1[] = -{ - ANIMCMD_FRAME(0, 63), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_ELECTRIKE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_ELECTRIKE_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MANECTRIC_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_NUMEL_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_NUMEL_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_CAMERUPT_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SPHEAL_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SEALEO_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_WALREIN_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 18), - ANIMCMD_FRAME(1, 18), - ANIMCMD_FRAME(0, 18), - ANIMCMD_FRAME(1, 18), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_WALREIN_2[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(2, 18), - ANIMCMD_FRAME(0, 18), - ANIMCMD_FRAME(2, 18), - ANIMCMD_FRAME(0, 18), - ANIMCMD_FRAME(2, 18), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_AZURILL_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(2, 5), - ANIMCMD_FRAME(3, 6), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(2, 5), - ANIMCMD_FRAME(3, 5), - ANIMCMD_FRAME(1, 5), - ANIMCMD_FRAME(0, 5), - ANIMCMD_FRAME(1, 7), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(4, 4), - ANIMCMD_FRAME(0, 4), - ANIMCMD_FRAME(4, 4), - ANIMCMD_FRAME(0, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_AZURILL_2[] = -{ - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(2, 6), - ANIMCMD_FRAME(3, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 6), - ANIMCMD_FRAME(1, 6), - ANIMCMD_FRAME(0, 30), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_AZURILL_3[] = -{ - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(5, 12), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(6, 12), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_AZURILL_4[] = -{ - ANIMCMD_FRAME(7, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SPOINK_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SPOINK_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_GRUMPIG_1[] = -{ - ANIMCMD_FRAME(0, 63), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_PLUSLE_1[] = -{ - ANIMCMD_FRAME(0, 63), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MINUN_1[] = -{ - ANIMCMD_FRAME(0, 63), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MAWILE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MEDITITE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_MEDICHAM_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SWABLU_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_FRAME(0, 10), - ANIMCMD_FRAME(1, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SWABLU_2[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_FRAME(2, 8), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(2, 8), - ANIMCMD_FRAME(0, 12), - ANIMCMD_FRAME(2, 8), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_ALTARIA_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_WYNAUT_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_WYNAUT_2[] = -{ - ANIMCMD_FRAME(1, 9), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_DUSKULL_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_DUSKULL_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_DUSCLOPS_1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_DUSCLOPS_2[] = -{ - ANIMCMD_FRAME(1, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SLAKOTH_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_VIGOROTH_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SLAKING_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_GULPIN_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SWALOT_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_TROPIUS_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_CLAMPERL_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_ABSOL_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SHUPPET_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SHUPPET_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_BANETTE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_ARON_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_LAIRON_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_AGGRON_1[] = -{ - ANIMCMD_FRAME(0, 5), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_CASTFORM_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_CASTFORM_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_CASTFORM_3[] = -{ - ANIMCMD_FRAME(2, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_CASTFORM_4[] = -{ - ANIMCMD_FRAME(3, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_VOLBEAT_1[] = -{ - ANIMCMD_FRAME(0, 63), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_ILLUMISE_1[] = -{ - ANIMCMD_FRAME(0, 63), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_BAGON_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_BAGON_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SALAMENCE_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_SALAMENCE_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_REGIROCK_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_REGICE_1[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_REGISTEEL_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_REGISTEEL_2[] = -{ - ANIMCMD_FRAME(1, 1), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_RAYQUAZA_1[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 30), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(1, 30), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_RAYQUAZA_2[] = -{ - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_FRAME(0, 20), - ANIMCMD_FRAME(2, 20), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_Unused1[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_Unused2[] = -{ - ANIMCMD_FRAME(0, 10), - ANIMCMD_END, -}; - -static const union AnimCmd sUnknownAnim_JIRACHI_1[] = -{ - ANIMCMD_FRAME(0, 1), - ANIMCMD_END, -}; - -static const union AnimCmd *const sUnknownAnims_NONE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_BULBASAUR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_IVYSAUR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_VENUSAUR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CHARMANDER[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CHARMELEON[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CHARIZARD[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SQUIRTLE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_WARTORTLE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_BLASTOISE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CATERPIE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_METAPOD[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_BUTTERFREE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_WEEDLE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_KAKUNA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_BEEDRILL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PIDGEY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PIDGEOTTO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PIDGEOT[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_RATTATA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_RATICATE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SPEAROW[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_FEAROW[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_EKANS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ARBOK[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PIKACHU[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_RAICHU[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SANDSHREW[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SANDSLASH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_NIDORAN_F[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_NIDORINA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_NIDOQUEEN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_NIDORAN_M[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_NIDORINO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_NIDOKING[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CLEFAIRY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CLEFABLE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_VULPIX[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_NINETALES[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_JIGGLYPUFF[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_WIGGLYTUFF[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ZUBAT[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GOLBAT[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ODDISH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GLOOM[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_VILEPLUME[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PARAS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PARASECT[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_VENONAT[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_VENOMOTH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DIGLETT[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DUGTRIO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MEOWTH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PERSIAN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PSYDUCK[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GOLDUCK[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MANKEY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PRIMEAPE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GROWLITHE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ARCANINE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_POLIWAG[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_POLIWHIRL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_POLIWRATH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ABRA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_KADABRA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ALAKAZAM[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MACHOP[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MACHOKE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MACHAMP[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_BELLSPROUT[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_WEEPINBELL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_VICTREEBEL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TENTACOOL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TENTACRUEL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GEODUDE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GRAVELER[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GOLEM[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PONYTA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_RAPIDASH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SLOWPOKE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SLOWBRO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MAGNEMITE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MAGNETON[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_FARFETCHD[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DODUO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DODRIO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SEEL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DEWGONG[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GRIMER[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MUK[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SHELLDER[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CLOYSTER[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GASTLY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HAUNTER[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GENGAR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ONIX[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DROWZEE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HYPNO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_KRABBY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_KINGLER[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_VOLTORB[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ELECTRODE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_EXEGGCUTE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_EXEGGUTOR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CUBONE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MAROWAK[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HITMONLEE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HITMONCHAN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_LICKITUNG[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_KOFFING[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_WEEZING[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_RHYHORN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_RHYDON[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CHANSEY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TANGELA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_KANGASKHAN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HORSEA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SEADRA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GOLDEEN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SEAKING[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_STARYU[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_STARMIE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MR_MIME[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SCYTHER[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_JYNX[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ELECTABUZZ[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MAGMAR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PINSIR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TAUROS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MAGIKARP[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GYARADOS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_LAPRAS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DITTO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_EEVEE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_VAPOREON[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_JOLTEON[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_FLAREON[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PORYGON[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_OMANYTE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_OMASTAR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_KABUTO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_KABUTOPS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_AERODACTYL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SNORLAX[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ARTICUNO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ZAPDOS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MOLTRES[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DRATINI[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DRAGONAIR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DRAGONITE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MEWTWO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MEW[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CHIKORITA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_BAYLEEF[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MEGANIUM[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CYNDAQUIL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_QUILAVA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TYPHLOSION[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TOTODILE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CROCONAW[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_FERALIGATR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SENTRET[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_FURRET[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HOOTHOOT[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_NOCTOWL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_LEDYBA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_LEDIAN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SPINARAK[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ARIADOS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CROBAT[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CHINCHOU[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_LANTURN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PICHU[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CLEFFA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_IGGLYBUFF[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TOGEPI[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TOGETIC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_NATU[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_XATU[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MAREEP[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_FLAAFFY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_AMPHAROS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_BELLOSSOM[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MARILL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_AZUMARILL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SUDOWOODO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_POLITOED[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HOPPIP[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SKIPLOOM[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_JUMPLUFF[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_AIPOM[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SUNKERN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SUNFLORA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_YANMA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_WOOPER[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_QUAGSIRE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ESPEON[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UMBREON[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MURKROW[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SLOWKING[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MISDREAVUS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_WOBBUFFET[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GIRAFARIG[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PINECO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_FORRETRESS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DUNSPARCE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GLIGAR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_STEELIX[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SNUBBULL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GRANBULL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_QWILFISH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SCIZOR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SHUCKLE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HERACROSS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SNEASEL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TEDDIURSA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_URSARING[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SLUGMA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MAGCARGO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SWINUB[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PILOSWINE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CORSOLA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_REMORAID[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_OCTILLERY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DELIBIRD[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MANTINE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SKARMORY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HOUNDOUR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HOUNDOOM[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_KINGDRA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PHANPY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_DONPHAN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PORYGON2[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_STANTLER[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SMEARGLE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TYROGUE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HITMONTOP[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SMOOCHUM[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ELEKID[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MAGBY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_MILTANK[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_BLISSEY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_RAIKOU[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ENTEI[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SUICUNE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_LARVITAR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_PUPITAR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TYRANITAR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_LUGIA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_HO_OH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CELEBI[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_OLD_UNOWN[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TREECKO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GROVYLE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SCEPTILE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_TORCHIC[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_COMBUSKEN[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_BLAZIKEN[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_BLAZIKEN_1, - sUnknownAnim_BLAZIKEN_2, - sUnknownAnim_BLAZIKEN_3, - sUnknownAnim_BLAZIKEN_4, -}; - -static const union AnimCmd *const sUnknownAnims_MUDKIP[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_MARSHTOMP[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_MARSHTOMP_1, - sUnknownAnim_MARSHTOMP_2, - sUnknownAnim_MARSHTOMP_3, -}; - -static const union AnimCmd *const sUnknownAnims_SWAMPERT[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_POOCHYENA[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_POOCHYENA_1, - sUnknownAnim_POOCHYENA_2, -}; - -static const union AnimCmd *const sUnknownAnims_MIGHTYENA[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_MIGHTYENA_1, -}; - -static const union AnimCmd *const sUnknownAnims_ZIGZAGOON[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_ZIGZAGOON_1, -}; - -static const union AnimCmd *const sUnknownAnims_LINOONE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_LINOONE_1, -}; - -static const union AnimCmd *const sUnknownAnims_WURMPLE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_WURMPLE_1, - sUnknownAnim_WURMPLE_2, -}; - -static const union AnimCmd *const sUnknownAnims_SILCOON[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SILCOON_1, - sUnknownAnim_SILCOON_2, -}; - -static const union AnimCmd *const sUnknownAnims_BEAUTIFLY[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_BEAUTIFLY_1, - sUnknownAnim_BEAUTIFLY_2, -}; - -static const union AnimCmd *const sUnknownAnims_CASCOON[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_CASCOON_1, - sUnknownAnim_CASCOON_2, -}; - -static const union AnimCmd *const sUnknownAnims_DUSTOX[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_DUSTOX_1, - sUnknownAnim_DUSTOX_2, -}; - -static const union AnimCmd *const sUnknownAnims_LOTAD[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_LOMBRE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_LOMBRE_1, -}; - -static const union AnimCmd *const sUnknownAnims_LUDICOLO[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_LUDICOLO_1, - sUnknownAnim_LUDICOLO_2, -}; - -static const union AnimCmd *const sUnknownAnims_SEEDOT[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SEEDOT_1, -}; - -static const union AnimCmd *const sUnknownAnims_NUZLEAF[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_NUZLEAF_1, -}; - -static const union AnimCmd *const sUnknownAnims_SHIFTRY[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SHIFTRY_1, - sUnknownAnim_SHIFTRY_2, -}; - -static const union AnimCmd *const sUnknownAnims_NINCADA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_NINJASK[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SHEDINJA[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_TAILLOW[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_TAILLOW_1, -}; - -static const union AnimCmd *const sUnknownAnims_SWELLOW[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SWELLOW_1, -}; - -static const union AnimCmd *const sUnknownAnims_SHROOMISH[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SHROOMISH_1, -}; - -static const union AnimCmd *const sUnknownAnims_BRELOOM[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_BRELOOM_1, -}; - -static const union AnimCmd *const sUnknownAnims_SPINDA[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_WINGULL[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_WINGULL_1, -}; - -static const union AnimCmd *const sUnknownAnims_PELIPPER[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_PELIPPER_1, - sUnknownAnim_PELIPPER_2, -}; - -static const union AnimCmd *const sUnknownAnims_SURSKIT[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SURSKIT_1, - sUnknownAnim_SURSKIT_2, -}; - -static const union AnimCmd *const sUnknownAnims_MASQUERAIN[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_MASQUERAIN_1, - sUnknownAnim_MASQUERAIN_2, -}; - -static const union AnimCmd *const sUnknownAnims_WAILMER[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_WAILMER_1, - sUnknownAnim_WAILMER_2, - sUnknownAnim_WAILMER_3, - sUnknownAnim_WAILMER_4, -}; - -static const union AnimCmd *const sUnknownAnims_WAILORD[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_SKITTY[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SKITTY_1, -}; - -static const union AnimCmd *const sUnknownAnims_DELCATTY[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_DELCATTY_1, -}; - -static const union AnimCmd *const sUnknownAnims_KECLEON[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_KECLEON_1, - sUnknownAnim_KECLEON_2, - sUnknownAnim_KECLEON_3, - sUnknownAnim_KECLEON_4, -}; - -static const union AnimCmd *const sUnknownAnims_BALTOY[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_BALTOY_1, -}; - -static const union AnimCmd *const sUnknownAnims_CLAYDOL[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_CLAYDOL_1, -}; - -static const union AnimCmd *const sUnknownAnims_NOSEPASS[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_NOSEPASS_1, -}; - -static const union AnimCmd *const sUnknownAnims_TORKOAL[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_SABLEYE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SABLEYE_1, - sUnknownAnim_SABLEYE_2, -}; - -static const union AnimCmd *const sUnknownAnims_BARBOACH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_WHISCASH[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_LUVDISC[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_LUVDISC_1, - sUnknownAnim_LUVDISC_2, -}; - -static const union AnimCmd *const sUnknownAnims_CORPHISH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CRAWDAUNT[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_FEEBAS[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_FEEBAS_1, - sUnknownAnim_FEEBAS_2, -}; - -static const union AnimCmd *const sUnknownAnims_MILOTIC[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_MILOTIC_1, - sUnknownAnim_MILOTIC_2, -}; - -static const union AnimCmd *const sUnknownAnims_CARVANHA[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_CARVANHA_1, - sUnknownAnim_CARVANHA_2, -}; - -static const union AnimCmd *const sUnknownAnims_SHARPEDO[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SHARPEDO_1, - sUnknownAnim_SHARPEDO_2, -}; - -static const union AnimCmd *const sUnknownAnims_TRAPINCH[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_TRAPINCH_1, -}; - -static const union AnimCmd *const sUnknownAnims_VIBRAVA[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_VIBRAVA_1, -}; - -static const union AnimCmd *const sUnknownAnims_FLYGON[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_FLYGON_1, -}; - -static const union AnimCmd *const sUnknownAnims_MAKUHITA[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_MAKUHITA_1, -}; - -static const union AnimCmd *const sUnknownAnims_HARIYAMA[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_HARIYAMA_1, -}; - -static const union AnimCmd *const sUnknownAnims_ELECTRIKE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_ELECTRIKE_1, - sUnknownAnim_ELECTRIKE_2, -}; - -static const union AnimCmd *const sUnknownAnims_MANECTRIC[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_MANECTRIC_1, -}; - -static const union AnimCmd *const sUnknownAnims_NUMEL[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_NUMEL_1, - sUnknownAnim_NUMEL_2, -}; - -static const union AnimCmd *const sUnknownAnims_CAMERUPT[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_CAMERUPT_1, -}; - -static const union AnimCmd *const sUnknownAnims_SPHEAL[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SPHEAL_1, -}; - -static const union AnimCmd *const sUnknownAnims_SEALEO[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SEALEO_1, -}; - -static const union AnimCmd *const sUnknownAnims_WALREIN[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_WALREIN_1, - sUnknownAnim_WALREIN_2, -}; - -static const union AnimCmd *const sUnknownAnims_CACNEA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CACTURNE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SNORUNT[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GLALIE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_LUNATONE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_SOLROCK[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_AZURILL[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_AZURILL_1, - sUnknownAnim_AZURILL_2, - sUnknownAnim_AZURILL_3, - sUnknownAnim_AZURILL_4, -}; - -static const union AnimCmd *const sUnknownAnims_SPOINK[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SPOINK_1, - sUnknownAnim_SPOINK_2, -}; - -static const union AnimCmd *const sUnknownAnims_GRUMPIG[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_GRUMPIG_1, -}; - -static const union AnimCmd *const sUnknownAnims_PLUSLE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_PLUSLE_1, -}; - -static const union AnimCmd *const sUnknownAnims_MINUN[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_MINUN_1, -}; - -static const union AnimCmd *const sUnknownAnims_MAWILE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_MAWILE_1, -}; - -static const union AnimCmd *const sUnknownAnims_MEDITITE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_MEDITITE_1, -}; - -static const union AnimCmd *const sUnknownAnims_MEDICHAM[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_MEDICHAM_1, -}; - -static const union AnimCmd *const sUnknownAnims_SWABLU[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SWABLU_1, - sUnknownAnim_SWABLU_2, -}; - -static const union AnimCmd *const sUnknownAnims_ALTARIA[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_ALTARIA_1, -}; - -static const union AnimCmd *const sUnknownAnims_WYNAUT[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_WYNAUT_1, - sUnknownAnim_WYNAUT_2, -}; - -static const union AnimCmd *const sUnknownAnims_DUSKULL[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_DUSKULL_1, - sUnknownAnim_DUSKULL_2, -}; - -static const union AnimCmd *const sUnknownAnims_DUSCLOPS[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_DUSCLOPS_1, - sUnknownAnim_DUSCLOPS_2, -}; - -static const union AnimCmd *const sUnknownAnims_ROSELIA[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_SLAKOTH[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SLAKOTH_1, -}; - -static const union AnimCmd *const sUnknownAnims_VIGOROTH[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_VIGOROTH_1, -}; - -static const union AnimCmd *const sUnknownAnims_SLAKING[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SLAKING_1, -}; - -static const union AnimCmd *const sUnknownAnims_GULPIN[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_GULPIN_1, -}; - -static const union AnimCmd *const sUnknownAnims_SWALOT[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SWALOT_1, -}; - -static const union AnimCmd *const sUnknownAnims_TROPIUS[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_TROPIUS_1, -}; - -static const union AnimCmd *const sUnknownAnims_WHISMUR[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_LOUDRED[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_EXPLOUD[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_CLAMPERL[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_CLAMPERL_1, -}; - -static const union AnimCmd *const sUnknownAnims_HUNTAIL[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GOREBYSS[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_ABSOL[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_ABSOL_1, -}; - -static const union AnimCmd *const sUnknownAnims_SHUPPET[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SHUPPET_1, - sUnknownAnim_SHUPPET_2, -}; - -static const union AnimCmd *const sUnknownAnims_BANETTE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_BANETTE_1, -}; - -static const union AnimCmd *const sUnknownAnims_SEVIPER[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ZANGOOSE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_RELICANTH[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_ARON[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_ARON_1, -}; - -static const union AnimCmd *const sUnknownAnims_LAIRON[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_LAIRON_1, -}; - -static const union AnimCmd *const sUnknownAnims_AGGRON[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_AGGRON_1, -}; - -static const union AnimCmd *const sUnknownAnims_CASTFORM[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_CASTFORM_1, - sUnknownAnim_CASTFORM_2, - sUnknownAnim_CASTFORM_3, - sUnknownAnim_CASTFORM_4, -}; - -static const union AnimCmd *const sUnknownAnims_VOLBEAT[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_VOLBEAT_1, -}; - -static const union AnimCmd *const sUnknownAnims_ILLUMISE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_ILLUMISE_1, -}; - -static const union AnimCmd *const sUnknownAnims_LILEEP[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CRADILY[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ANORITH[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_ARMALDO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_RALTS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_KIRLIA[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GARDEVOIR[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_BAGON[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_BAGON_1, - sUnknownAnim_BAGON_2, -}; - -static const union AnimCmd *const sUnknownAnims_SHELGON[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_SALAMENCE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_SALAMENCE_1, - sUnknownAnim_SALAMENCE_2, -}; - -static const union AnimCmd *const sUnknownAnims_BELDUM[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_METANG[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_METAGROSS[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_REGIROCK[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_REGIROCK_1, -}; - -static const union AnimCmd *const sUnknownAnims_REGICE[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_REGICE_1, -}; - -static const union AnimCmd *const sUnknownAnims_REGISTEEL[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_REGISTEEL_1, - sUnknownAnim_REGISTEEL_2, -}; - -static const union AnimCmd *const sUnknownAnims_KYOGRE[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_GROUDON[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_RAYQUAZA[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_RAYQUAZA_1, - sUnknownAnim_RAYQUAZA_2, -}; - -static const union AnimCmd *const sUnknownAnims_LATIAS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_LATIOS[] = {sAnim_GeneralFrame0}; - -static const union AnimCmd *const sUnknownAnims_JIRACHI[] = -{ - sAnim_GeneralFrame0, - sUnknownAnim_JIRACHI_1, -}; - -static const union AnimCmd *const sUnknownAnims_DEOXYS[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_CHIMECHO[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_EGG[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_C[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_D[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_E[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_F[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_G[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_H[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_I[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_J[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_K[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_L[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_M[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_N[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_O[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_P[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_Q[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_R[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_S[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_T[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_U[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_V[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_W[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_X[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_Y[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_Z[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_EMARK[] = {sAnim_GeneralFrame0}; -static const union AnimCmd *const sUnknownAnims_UNOWN_QMARK[] = {sAnim_GeneralFrame0}; - -#define ANIM_CMD(name) [SPECIES_##name] = sUnknownAnims_##name -#define ANIM_CMD_FULL(name, anims) [SPECIES_##name] = anims - -static const union AnimCmd *const *const sUnknownAnimsTable[] = -{ - ANIM_CMD(NONE), - ANIM_CMD(BULBASAUR), - ANIM_CMD(IVYSAUR), - ANIM_CMD(VENUSAUR), - ANIM_CMD(CHARMANDER), - ANIM_CMD(CHARMELEON), - ANIM_CMD(CHARIZARD), - ANIM_CMD(SQUIRTLE), - ANIM_CMD(WARTORTLE), - ANIM_CMD(BLASTOISE), - ANIM_CMD(CATERPIE), - ANIM_CMD(METAPOD), - ANIM_CMD(BUTTERFREE), - ANIM_CMD(WEEDLE), - ANIM_CMD(KAKUNA), - ANIM_CMD(BEEDRILL), - ANIM_CMD(PIDGEY), - ANIM_CMD(PIDGEOTTO), - ANIM_CMD(PIDGEOT), - ANIM_CMD(RATTATA), - ANIM_CMD(RATICATE), - ANIM_CMD(SPEAROW), - ANIM_CMD(FEAROW), - ANIM_CMD(EKANS), - ANIM_CMD(ARBOK), - ANIM_CMD(PIKACHU), - ANIM_CMD(RAICHU), - ANIM_CMD(SANDSHREW), - ANIM_CMD(SANDSLASH), - ANIM_CMD(NIDORAN_F), - ANIM_CMD(NIDORINA), - ANIM_CMD(NIDOQUEEN), - ANIM_CMD(NIDORAN_M), - ANIM_CMD(NIDORINO), - ANIM_CMD(NIDOKING), - ANIM_CMD(CLEFAIRY), - ANIM_CMD(CLEFABLE), - ANIM_CMD(VULPIX), - ANIM_CMD(NINETALES), - ANIM_CMD(JIGGLYPUFF), - ANIM_CMD(WIGGLYTUFF), - ANIM_CMD(ZUBAT), - ANIM_CMD(GOLBAT), - ANIM_CMD(ODDISH), - ANIM_CMD(GLOOM), - ANIM_CMD(VILEPLUME), - ANIM_CMD(PARAS), - ANIM_CMD(PARASECT), - ANIM_CMD(VENONAT), - ANIM_CMD(VENOMOTH), - ANIM_CMD(DIGLETT), - ANIM_CMD(DUGTRIO), - ANIM_CMD(MEOWTH), - ANIM_CMD(PERSIAN), - ANIM_CMD(PSYDUCK), - ANIM_CMD(GOLDUCK), - ANIM_CMD(MANKEY), - ANIM_CMD(PRIMEAPE), - ANIM_CMD(GROWLITHE), - ANIM_CMD(ARCANINE), - ANIM_CMD(POLIWAG), - ANIM_CMD(POLIWHIRL), - ANIM_CMD(POLIWRATH), - ANIM_CMD(ABRA), - ANIM_CMD(KADABRA), - ANIM_CMD(ALAKAZAM), - ANIM_CMD(MACHOP), - ANIM_CMD(MACHOKE), - ANIM_CMD(MACHAMP), - ANIM_CMD(BELLSPROUT), - ANIM_CMD(WEEPINBELL), - ANIM_CMD(VICTREEBEL), - ANIM_CMD(TENTACOOL), - ANIM_CMD(TENTACRUEL), - ANIM_CMD(GEODUDE), - ANIM_CMD(GRAVELER), - ANIM_CMD(GOLEM), - ANIM_CMD(PONYTA), - ANIM_CMD(RAPIDASH), - ANIM_CMD(SLOWPOKE), - ANIM_CMD(SLOWBRO), - ANIM_CMD(MAGNEMITE), - ANIM_CMD(MAGNETON), - ANIM_CMD(FARFETCHD), - ANIM_CMD(DODUO), - ANIM_CMD(DODRIO), - ANIM_CMD(SEEL), - ANIM_CMD(DEWGONG), - ANIM_CMD(GRIMER), - ANIM_CMD(MUK), - ANIM_CMD(SHELLDER), - ANIM_CMD(CLOYSTER), - ANIM_CMD(GASTLY), - ANIM_CMD(HAUNTER), - ANIM_CMD(GENGAR), - ANIM_CMD(ONIX), - ANIM_CMD(DROWZEE), - ANIM_CMD(HYPNO), - ANIM_CMD(KRABBY), - ANIM_CMD(KINGLER), - ANIM_CMD(VOLTORB), - ANIM_CMD(ELECTRODE), - ANIM_CMD(EXEGGCUTE), - ANIM_CMD(EXEGGUTOR), - ANIM_CMD(CUBONE), - ANIM_CMD(MAROWAK), - ANIM_CMD(HITMONLEE), - ANIM_CMD(HITMONCHAN), - ANIM_CMD(LICKITUNG), - ANIM_CMD(KOFFING), - ANIM_CMD(WEEZING), - ANIM_CMD(RHYHORN), - ANIM_CMD(RHYDON), - ANIM_CMD(CHANSEY), - ANIM_CMD(TANGELA), - ANIM_CMD(KANGASKHAN), - ANIM_CMD(HORSEA), - ANIM_CMD(SEADRA), - ANIM_CMD(GOLDEEN), - ANIM_CMD(SEAKING), - ANIM_CMD(STARYU), - ANIM_CMD(STARMIE), - ANIM_CMD(MR_MIME), - ANIM_CMD(SCYTHER), - ANIM_CMD(JYNX), - ANIM_CMD(ELECTABUZZ), - ANIM_CMD(MAGMAR), - ANIM_CMD(PINSIR), - ANIM_CMD(TAUROS), - ANIM_CMD(MAGIKARP), - ANIM_CMD(GYARADOS), - ANIM_CMD(LAPRAS), - ANIM_CMD(DITTO), - ANIM_CMD(EEVEE), - ANIM_CMD(VAPOREON), - ANIM_CMD(JOLTEON), - ANIM_CMD(FLAREON), - ANIM_CMD(PORYGON), - ANIM_CMD(OMANYTE), - ANIM_CMD(OMASTAR), - ANIM_CMD(KABUTO), - ANIM_CMD(KABUTOPS), - ANIM_CMD(AERODACTYL), - ANIM_CMD(SNORLAX), - ANIM_CMD(ARTICUNO), - ANIM_CMD(ZAPDOS), - ANIM_CMD(MOLTRES), - ANIM_CMD(DRATINI), - ANIM_CMD(DRAGONAIR), - ANIM_CMD(DRAGONITE), - ANIM_CMD(MEWTWO), - ANIM_CMD(MEW), - ANIM_CMD(CHIKORITA), - ANIM_CMD(BAYLEEF), - ANIM_CMD(MEGANIUM), - ANIM_CMD(CYNDAQUIL), - ANIM_CMD(QUILAVA), - ANIM_CMD(TYPHLOSION), - ANIM_CMD(TOTODILE), - ANIM_CMD(CROCONAW), - ANIM_CMD(FERALIGATR), - ANIM_CMD(SENTRET), - ANIM_CMD(FURRET), - ANIM_CMD(HOOTHOOT), - ANIM_CMD(NOCTOWL), - ANIM_CMD(LEDYBA), - ANIM_CMD(LEDIAN), - ANIM_CMD(SPINARAK), - ANIM_CMD(ARIADOS), - ANIM_CMD(CROBAT), - ANIM_CMD(CHINCHOU), - ANIM_CMD(LANTURN), - ANIM_CMD(PICHU), - ANIM_CMD(CLEFFA), - ANIM_CMD(IGGLYBUFF), - ANIM_CMD(TOGEPI), - ANIM_CMD(TOGETIC), - ANIM_CMD(NATU), - ANIM_CMD(XATU), - ANIM_CMD(MAREEP), - ANIM_CMD(FLAAFFY), - ANIM_CMD(AMPHAROS), - ANIM_CMD(BELLOSSOM), - ANIM_CMD(MARILL), - ANIM_CMD(AZUMARILL), - ANIM_CMD(SUDOWOODO), - ANIM_CMD(POLITOED), - ANIM_CMD(HOPPIP), - ANIM_CMD(SKIPLOOM), - ANIM_CMD(JUMPLUFF), - ANIM_CMD(AIPOM), - ANIM_CMD(SUNKERN), - ANIM_CMD(SUNFLORA), - ANIM_CMD(YANMA), - ANIM_CMD(WOOPER), - ANIM_CMD(QUAGSIRE), - ANIM_CMD(ESPEON), - ANIM_CMD(UMBREON), - ANIM_CMD(MURKROW), - ANIM_CMD(SLOWKING), - ANIM_CMD(MISDREAVUS), - ANIM_CMD(UNOWN), - ANIM_CMD(WOBBUFFET), - ANIM_CMD(GIRAFARIG), - ANIM_CMD(PINECO), - ANIM_CMD(FORRETRESS), - ANIM_CMD(DUNSPARCE), - ANIM_CMD(GLIGAR), - ANIM_CMD(STEELIX), - ANIM_CMD(SNUBBULL), - ANIM_CMD(GRANBULL), - ANIM_CMD(QWILFISH), - ANIM_CMD(SCIZOR), - ANIM_CMD(SHUCKLE), - ANIM_CMD(HERACROSS), - ANIM_CMD(SNEASEL), - ANIM_CMD(TEDDIURSA), - ANIM_CMD(URSARING), - ANIM_CMD(SLUGMA), - ANIM_CMD(MAGCARGO), - ANIM_CMD(SWINUB), - ANIM_CMD(PILOSWINE), - ANIM_CMD(CORSOLA), - ANIM_CMD(REMORAID), - ANIM_CMD(OCTILLERY), - ANIM_CMD(DELIBIRD), - ANIM_CMD(MANTINE), - ANIM_CMD(SKARMORY), - ANIM_CMD(HOUNDOUR), - ANIM_CMD(HOUNDOOM), - ANIM_CMD(KINGDRA), - ANIM_CMD(PHANPY), - ANIM_CMD(DONPHAN), - ANIM_CMD(PORYGON2), - ANIM_CMD(STANTLER), - ANIM_CMD(SMEARGLE), - ANIM_CMD(TYROGUE), - ANIM_CMD(HITMONTOP), - ANIM_CMD(SMOOCHUM), - ANIM_CMD(ELEKID), - ANIM_CMD(MAGBY), - ANIM_CMD(MILTANK), - ANIM_CMD(BLISSEY), - ANIM_CMD(RAIKOU), - ANIM_CMD(ENTEI), - ANIM_CMD(SUICUNE), - ANIM_CMD(LARVITAR), - ANIM_CMD(PUPITAR), - ANIM_CMD(TYRANITAR), - ANIM_CMD(LUGIA), - ANIM_CMD(HO_OH), - ANIM_CMD(CELEBI), - ANIM_CMD_FULL(OLD_UNOWN_B, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_C, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_D, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_E, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_F, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_G, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_H, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_I, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_J, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_K, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_L, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_M, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_N, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_O, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_P, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_Q, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_R, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_S, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_T, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_U, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_V, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_W, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_X, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_Y, sUnknownAnims_OLD_UNOWN), - ANIM_CMD_FULL(OLD_UNOWN_Z, sUnknownAnims_OLD_UNOWN), - ANIM_CMD(TREECKO), - ANIM_CMD(GROVYLE), - ANIM_CMD(SCEPTILE), - ANIM_CMD(TORCHIC), - ANIM_CMD(COMBUSKEN), - ANIM_CMD(BLAZIKEN), - ANIM_CMD(MUDKIP), - ANIM_CMD(MARSHTOMP), - ANIM_CMD(SWAMPERT), - ANIM_CMD(POOCHYENA), - ANIM_CMD(MIGHTYENA), - ANIM_CMD(ZIGZAGOON), - ANIM_CMD(LINOONE), - ANIM_CMD(WURMPLE), - ANIM_CMD(SILCOON), - ANIM_CMD(BEAUTIFLY), - ANIM_CMD(CASCOON), - ANIM_CMD(DUSTOX), - ANIM_CMD(LOTAD), - ANIM_CMD(LOMBRE), - ANIM_CMD(LUDICOLO), - ANIM_CMD(SEEDOT), - ANIM_CMD(NUZLEAF), - ANIM_CMD(SHIFTRY), - ANIM_CMD(NINCADA), - ANIM_CMD(NINJASK), - ANIM_CMD(SHEDINJA), - ANIM_CMD(TAILLOW), - ANIM_CMD(SWELLOW), - ANIM_CMD(SHROOMISH), - ANIM_CMD(BRELOOM), - ANIM_CMD(SPINDA), - ANIM_CMD(WINGULL), - ANIM_CMD(PELIPPER), - ANIM_CMD(SURSKIT), - ANIM_CMD(MASQUERAIN), - ANIM_CMD(WAILMER), - ANIM_CMD(WAILORD), - ANIM_CMD(SKITTY), - ANIM_CMD(DELCATTY), - ANIM_CMD(KECLEON), - ANIM_CMD(BALTOY), - ANIM_CMD(CLAYDOL), - ANIM_CMD(NOSEPASS), - ANIM_CMD(TORKOAL), - ANIM_CMD(SABLEYE), - ANIM_CMD(BARBOACH), - ANIM_CMD(WHISCASH), - ANIM_CMD(LUVDISC), - ANIM_CMD(CORPHISH), - ANIM_CMD(CRAWDAUNT), - ANIM_CMD(FEEBAS), - ANIM_CMD(MILOTIC), - ANIM_CMD(CARVANHA), - ANIM_CMD(SHARPEDO), - ANIM_CMD(TRAPINCH), - ANIM_CMD(VIBRAVA), - ANIM_CMD(FLYGON), - ANIM_CMD(MAKUHITA), - ANIM_CMD(HARIYAMA), - ANIM_CMD(ELECTRIKE), - ANIM_CMD(MANECTRIC), - ANIM_CMD(NUMEL), - ANIM_CMD(CAMERUPT), - ANIM_CMD(SPHEAL), - ANIM_CMD(SEALEO), - ANIM_CMD(WALREIN), - ANIM_CMD(CACNEA), - ANIM_CMD(CACTURNE), - ANIM_CMD(SNORUNT), - ANIM_CMD(GLALIE), - ANIM_CMD(LUNATONE), - ANIM_CMD(SOLROCK), - ANIM_CMD(AZURILL), - ANIM_CMD(SPOINK), - ANIM_CMD(GRUMPIG), - ANIM_CMD(PLUSLE), - ANIM_CMD(MINUN), - ANIM_CMD(MAWILE), - ANIM_CMD(MEDITITE), - ANIM_CMD(MEDICHAM), - ANIM_CMD(SWABLU), - ANIM_CMD(ALTARIA), - ANIM_CMD(WYNAUT), - ANIM_CMD(DUSKULL), - ANIM_CMD(DUSCLOPS), - ANIM_CMD(ROSELIA), - ANIM_CMD(SLAKOTH), - ANIM_CMD(VIGOROTH), - ANIM_CMD(SLAKING), - ANIM_CMD(GULPIN), - ANIM_CMD(SWALOT), - ANIM_CMD(TROPIUS), - ANIM_CMD(WHISMUR), - ANIM_CMD(LOUDRED), - ANIM_CMD(EXPLOUD), - ANIM_CMD(CLAMPERL), - ANIM_CMD(HUNTAIL), - ANIM_CMD(GOREBYSS), - ANIM_CMD(ABSOL), - ANIM_CMD(SHUPPET), - ANIM_CMD(BANETTE), - ANIM_CMD(SEVIPER), - ANIM_CMD(ZANGOOSE), - ANIM_CMD(RELICANTH), - ANIM_CMD(ARON), - ANIM_CMD(LAIRON), - ANIM_CMD(AGGRON), - ANIM_CMD(CASTFORM), - ANIM_CMD(VOLBEAT), - ANIM_CMD(ILLUMISE), - ANIM_CMD(LILEEP), - ANIM_CMD(CRADILY), - ANIM_CMD(ANORITH), - ANIM_CMD(ARMALDO), - ANIM_CMD(RALTS), - ANIM_CMD(KIRLIA), - ANIM_CMD(GARDEVOIR), - ANIM_CMD(BAGON), - ANIM_CMD(SHELGON), - ANIM_CMD(SALAMENCE), - ANIM_CMD(BELDUM), - ANIM_CMD(METANG), - ANIM_CMD(METAGROSS), - ANIM_CMD(REGIROCK), - ANIM_CMD(REGICE), - ANIM_CMD(REGISTEEL), - ANIM_CMD(KYOGRE), - ANIM_CMD(GROUDON), - ANIM_CMD(RAYQUAZA), - ANIM_CMD(LATIAS), - ANIM_CMD(LATIOS), - ANIM_CMD(JIRACHI), - ANIM_CMD(DEOXYS), - ANIM_CMD(CHIMECHO), - ANIM_CMD(EGG), - ANIM_CMD_FULL(UNOWN_B, sUnknownAnims_EGG), - ANIM_CMD(UNOWN_C), - ANIM_CMD(UNOWN_D), - ANIM_CMD(UNOWN_E), - ANIM_CMD(UNOWN_F), - ANIM_CMD(UNOWN_G), - ANIM_CMD(UNOWN_H), - ANIM_CMD(UNOWN_I), - ANIM_CMD(UNOWN_J), - ANIM_CMD(UNOWN_K), - ANIM_CMD(UNOWN_L), - ANIM_CMD(UNOWN_M), - ANIM_CMD(UNOWN_N), - ANIM_CMD(UNOWN_O), - ANIM_CMD(UNOWN_P), - ANIM_CMD(UNOWN_Q), - ANIM_CMD(UNOWN_R), - ANIM_CMD(UNOWN_S), - ANIM_CMD(UNOWN_T), - ANIM_CMD(UNOWN_U), - ANIM_CMD(UNOWN_V), - ANIM_CMD(UNOWN_W), - ANIM_CMD(UNOWN_X), - ANIM_CMD(UNOWN_Y), - ANIM_CMD(UNOWN_Z), - ANIM_CMD(UNOWN_EMARK), - ANIM_CMD(UNOWN_QMARK), -}; - -#undef ANIM_CMD -#undef ANIM_CMD_FULL diff --git a/src/data/pokemon_graphics/unused_anims.h b/src/data/pokemon_graphics/unused_anims.h new file mode 100644 index 000000000..a313f9d52 --- /dev/null +++ b/src/data/pokemon_graphics/unused_anims.h @@ -0,0 +1,1829 @@ +// unused and unkown +static const union AnimCmd sUnusedAnim_Blaziken_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 25), + ANIMCMD_FRAME(0, 7), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 7), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Blaziken_2[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(0, 8), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Blaziken_3[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(2, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Blaziken_4[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Marshtomp_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Marshtomp_2[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(2, 12), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(2, 12), + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(2, 12), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Marshtomp_3[] = +{ + ANIMCMD_FRAME(0, 14), + ANIMCMD_FRAME(2, 12), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Poochyena_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Poochyena_2[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(2, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(2, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Mightyena_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Zigzagoon_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Linoone_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Wurmple_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Wurmple_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Silcoon_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Silcoon_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Beautifly_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Beautifly_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Cascoon_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Cascoon_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Dustox_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Dustox_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Lombre_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Ludicolo_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Ludicolo_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Seedot_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Nuzleaf_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Shiftry_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Shiftry_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Taillow_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Swellow_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Shroomish_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Breloom_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Wingull_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Pelipper_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Pelipper_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Surskit_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Surskit_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Masquerain_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Masquerain_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Wailmer_1[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(8, 15), + ANIMCMD_FRAME(2, 22), + ANIMCMD_FRAME(8, 5), + ANIMCMD_FRAME(3, 8), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(6, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(6, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(6, 5), + ANIMCMD_FRAME(4, 5), + ANIMCMD_FRAME(6, 5), + ANIMCMD_FRAME(5, 5), + ANIMCMD_FRAME(7, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Wailmer_2[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(8, 15), + ANIMCMD_FRAME(2, 15), + ANIMCMD_FRAME(8, 15), + ANIMCMD_FRAME(9, 15), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(9, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Wailmer_3[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(9, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(10, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Wailmer_4[] = +{ + ANIMCMD_FRAME(0, 15), + ANIMCMD_FRAME(11, 15), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Skitty_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Delcatty_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Kecleon_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(2, 7), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(3, 4), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(5, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(5, 2), + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(5, 2), + ANIMCMD_FRAME(6, 2), + ANIMCMD_FRAME(5, 2), + ANIMCMD_FRAME(6, 2), + ANIMCMD_FRAME(6, 10), + ANIMCMD_FRAME(5, 4), + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Kecleon_2[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(9, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(9, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Kecleon_3[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_FRAME(9, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(9, 3), + ANIMCMD_FRAME(0, 3), + ANIMCMD_FRAME(7, 12), + ANIMCMD_FRAME(8, 12), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Kecleon_4[] = +{ + ANIMCMD_FRAME(0,18), + ANIMCMD_FRAME(10, 18), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Baltoy_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Claydol_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Nosepass_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Sableye_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Sableye_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Luvdisc_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Luvdisc_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Feebas_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Feebas_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Milotic_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Milotic_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Carvanha_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Carvanha_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Sharpedo_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Sharpedo_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Trapinch_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Vibrava_1[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Flygon_1[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Makuhita_1[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Hariyama_1[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Electrike_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Electrike_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Manectric_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Numel_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Numel_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Camerupt_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Spheal_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Sealeo_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Walrein_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(1, 18), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Walrein_2[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(2, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(2, 18), + ANIMCMD_FRAME(0, 18), + ANIMCMD_FRAME(2, 18), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Azurill_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(2, 5), + ANIMCMD_FRAME(3, 6), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(2, 5), + ANIMCMD_FRAME(3, 5), + ANIMCMD_FRAME(1, 5), + ANIMCMD_FRAME(0, 5), + ANIMCMD_FRAME(1, 7), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(0, 4), + ANIMCMD_FRAME(4, 4), + ANIMCMD_FRAME(0, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Azurill_2[] = +{ + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(2, 6), + ANIMCMD_FRAME(3, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 6), + ANIMCMD_FRAME(1, 6), + ANIMCMD_FRAME(0, 30), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Azurill_3[] = +{ + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(5, 12), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(6, 12), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Azurill_4[] = +{ + ANIMCMD_FRAME(7, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Spoink_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Spoink_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Grumpig_1[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Plusle_1[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Minun_1[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Mawile_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Meditite_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Medicham_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Swablu_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_FRAME(0, 10), + ANIMCMD_FRAME(1, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Swablu_2[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(2, 8), + ANIMCMD_FRAME(0, 12), + ANIMCMD_FRAME(2, 8), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Altaria_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Wynaut_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Wynaut_2[] = +{ + ANIMCMD_FRAME(1, 9), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Duskull_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Duskull_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Dusclops_1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Dusclops_2[] = +{ + ANIMCMD_FRAME(1, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Slakoth_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Vigoroth_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Slaking_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Gulpin_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Swalot_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Tropius_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Clamperl_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Absol_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Shuppet_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Shuppet_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Banette_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Aron_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Lairon_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Aggron_1[] = +{ + ANIMCMD_FRAME(0, 5), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Castform_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Castform_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Castform_3[] = +{ + ANIMCMD_FRAME(2, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Castform_4[] = +{ + ANIMCMD_FRAME(3, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Volbeat_1[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Illumise_1[] = +{ + ANIMCMD_FRAME(0, 63), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Bagon_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Bagon_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Salamence_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Salamence_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Regirock_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Regice_1[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Registeel_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Registeel_2[] = +{ + ANIMCMD_FRAME(1, 1), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Rayquaza_1[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 30), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(1, 30), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Rayquaza_2[] = +{ + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_FRAME(0, 20), + ANIMCMD_FRAME(2, 20), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Unused1[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Unused2[] = +{ + ANIMCMD_FRAME(0, 10), + ANIMCMD_END, +}; + +static const union AnimCmd sUnusedAnim_Jirachi_1[] = +{ + ANIMCMD_FRAME(0, 1), + ANIMCMD_END, +}; + +static const union AnimCmd *const sUnusedAnims_None[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Bulbasaur[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ivysaur[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Venusaur[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Charmander[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Charmeleon[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Charizard[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Squirtle[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Wartortle[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Blastoise[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Caterpie[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Metapod[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Butterfree[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Weedle[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Kakuna[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Beedrill[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Pidgey[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Pidgeotto[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Pidgeot[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Rattata[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Raticate[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Spearow[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Fearow[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ekans[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Arbok[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Pikachu[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Raichu[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Sandshrew[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Sandslash[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_NidoranF[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Nidorina[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Nidoqueen[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_NidoranM[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Nidorino[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Nidoking[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Clefairy[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Clefable[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Vulpix[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ninetales[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Jigglypuff[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Wigglytuff[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Zubat[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Golbat[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Oddish[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Gloom[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Vileplume[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Paras[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Parasect[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Venonat[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Venomoth[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Diglett[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Dugtrio[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Meowth[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Persian[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Psyduck[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Golduck[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Mankey[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Primeape[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Growlithe[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Arcanine[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Poliwag[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Poliwhirl[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Poliwrath[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Abra[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Kadabra[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Alakazam[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Machop[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Machoke[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Machamp[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Bellsprout[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Weepinbell[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Victreebel[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Tentacool[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Tentacruel[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Geodude[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Graveler[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Golem[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ponyta[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Rapidash[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Slowpoke[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Slowbro[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Magnemite[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Magneton[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Farfetchd[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Doduo[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Dodrio[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Seel[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Dewgong[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Grimer[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Muk[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Shellder[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Cloyster[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Gastly[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Haunter[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Gengar[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Onix[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Drowzee[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Hypno[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Krabby[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Kingler[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Voltorb[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Electrode[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Exeggcute[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Exeggutor[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Cubone[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Marowak[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Hitmonlee[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Hitmonchan[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Lickitung[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Koffing[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Weezing[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Rhyhorn[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Rhydon[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Chansey[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Tangela[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Kangaskhan[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Horsea[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Seadra[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Goldeen[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Seaking[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Staryu[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Starmie[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_MrMime[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Scyther[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Jynx[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Electabuzz[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Magmar[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Pinsir[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Tauros[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Magikarp[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Gyarados[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Lapras[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ditto[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Eevee[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Vaporeon[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Jolteon[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Flareon[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Porygon[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Omanyte[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Omastar[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Kabuto[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Kabutops[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Aerodactyl[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Snorlax[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Articuno[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Zapdos[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Moltres[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Dratini[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Dragonair[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Dragonite[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Mewtwo[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Mew[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Chikorita[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Bayleef[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Meganium[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Cyndaquil[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Quilava[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Typhlosion[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Totodile[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Croconaw[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Feraligatr[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Sentret[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Furret[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Hoothoot[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Noctowl[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ledyba[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ledian[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Spinarak[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ariados[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Crobat[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Chinchou[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Lanturn[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Pichu[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Cleffa[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Igglybuff[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Togepi[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Togetic[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Natu[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Xatu[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Mareep[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Flaaffy[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ampharos[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Bellossom[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Marill[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Azumarill[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Sudowoodo[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Politoed[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Hoppip[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Skiploom[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Jumpluff[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Aipom[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Sunkern[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Sunflora[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Yanma[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Wooper[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Quagsire[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Espeon[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Umbreon[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Murkrow[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Slowking[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Misdreavus[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Unown[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Wobbuffet[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Girafarig[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Pineco[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Forretress[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Dunsparce[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Gligar[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Steelix[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Snubbull[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Granbull[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Qwilfish[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Scizor[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Shuckle[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Heracross[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Sneasel[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Teddiursa[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ursaring[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Slugma[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Magcargo[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Swinub[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Piloswine[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Corsola[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Remoraid[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Octillery[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Delibird[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Mantine[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Skarmory[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Houndour[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Houndoom[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Kingdra[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Phanpy[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Donphan[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Porygon2[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Stantler[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Smeargle[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Tyrogue[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Hitmontop[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Smoochum[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Elekid[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Magby[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Miltank[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Blissey[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Raikou[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Entei[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Suicune[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Larvitar[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Pupitar[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Tyranitar[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Lugia[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_HoOh[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Celebi[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_OldUnownB[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Treecko[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Grovyle[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Sceptile[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Torchic[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Combusken[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Blaziken[] = {sAnim_GeneralFrame0, sUnusedAnim_Blaziken_1, sUnusedAnim_Blaziken_2, sUnusedAnim_Blaziken_3, sUnusedAnim_Blaziken_4}; +static const union AnimCmd *const sUnusedAnims_Mudkip[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Marshtomp[] = {sAnim_GeneralFrame0, sUnusedAnim_Marshtomp_1, sUnusedAnim_Marshtomp_2, sUnusedAnim_Marshtomp_3}; +static const union AnimCmd *const sUnusedAnims_Swampert[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Poochyena[] = {sAnim_GeneralFrame0, sUnusedAnim_Poochyena_1, sUnusedAnim_Poochyena_2}; +static const union AnimCmd *const sUnusedAnims_Mightyena[] = {sAnim_GeneralFrame0, sUnusedAnim_Mightyena_1}; +static const union AnimCmd *const sUnusedAnims_Zigzagoon[] = {sAnim_GeneralFrame0, sUnusedAnim_Zigzagoon_1}; +static const union AnimCmd *const sUnusedAnims_Linoone[] = {sAnim_GeneralFrame0, sUnusedAnim_Linoone_1}; +static const union AnimCmd *const sUnusedAnims_Wurmple[] = {sAnim_GeneralFrame0, sUnusedAnim_Wurmple_1, sUnusedAnim_Wurmple_2}; +static const union AnimCmd *const sUnusedAnims_Silcoon[] = {sAnim_GeneralFrame0, sUnusedAnim_Silcoon_1, sUnusedAnim_Silcoon_2}; +static const union AnimCmd *const sUnusedAnims_Beautifly[] = {sAnim_GeneralFrame0, sUnusedAnim_Beautifly_1, sUnusedAnim_Beautifly_2}; +static const union AnimCmd *const sUnusedAnims_Cascoon[] = {sAnim_GeneralFrame0, sUnusedAnim_Cascoon_1, sUnusedAnim_Cascoon_2}; +static const union AnimCmd *const sUnusedAnims_Dustox[] = {sAnim_GeneralFrame0, sUnusedAnim_Dustox_1, sUnusedAnim_Dustox_2}; +static const union AnimCmd *const sUnusedAnims_Lotad[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Lombre[] = {sAnim_GeneralFrame0, sUnusedAnim_Lombre_1}; +static const union AnimCmd *const sUnusedAnims_Ludicolo[] = {sAnim_GeneralFrame0, sUnusedAnim_Ludicolo_1, sUnusedAnim_Ludicolo_2}; +static const union AnimCmd *const sUnusedAnims_Seedot[] = {sAnim_GeneralFrame0, sUnusedAnim_Seedot_1}; +static const union AnimCmd *const sUnusedAnims_Nuzleaf[] = {sAnim_GeneralFrame0, sUnusedAnim_Nuzleaf_1}; +static const union AnimCmd *const sUnusedAnims_Shiftry[] = {sAnim_GeneralFrame0, sUnusedAnim_Shiftry_1, sUnusedAnim_Shiftry_2}; +static const union AnimCmd *const sUnusedAnims_Nincada[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ninjask[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Shedinja[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Taillow[] = {sAnim_GeneralFrame0, sUnusedAnim_Taillow_1}; +static const union AnimCmd *const sUnusedAnims_Swellow[] = {sAnim_GeneralFrame0, sUnusedAnim_Swellow_1}; +static const union AnimCmd *const sUnusedAnims_Shroomish[] = {sAnim_GeneralFrame0, sUnusedAnim_Shroomish_1}; +static const union AnimCmd *const sUnusedAnims_Breloom[] = {sAnim_GeneralFrame0, sUnusedAnim_Breloom_1}; +static const union AnimCmd *const sUnusedAnims_Spinda[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Wingull[] = {sAnim_GeneralFrame0, sUnusedAnim_Wingull_1}; +static const union AnimCmd *const sUnusedAnims_Pelipper[] = {sAnim_GeneralFrame0, sUnusedAnim_Pelipper_1, sUnusedAnim_Pelipper_2}; +static const union AnimCmd *const sUnusedAnims_Surskit[] = {sAnim_GeneralFrame0, sUnusedAnim_Surskit_1, sUnusedAnim_Surskit_2}; +static const union AnimCmd *const sUnusedAnims_Masquerain[] = {sAnim_GeneralFrame0, sUnusedAnim_Masquerain_1, sUnusedAnim_Masquerain_2}; +static const union AnimCmd *const sUnusedAnims_Wailmer[] = {sAnim_GeneralFrame0, sUnusedAnim_Wailmer_1, sUnusedAnim_Wailmer_2, sUnusedAnim_Wailmer_3, sUnusedAnim_Wailmer_4}; +static const union AnimCmd *const sUnusedAnims_Wailord[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Skitty[] = {sAnim_GeneralFrame0, sUnusedAnim_Skitty_1}; +static const union AnimCmd *const sUnusedAnims_Delcatty[] = {sAnim_GeneralFrame0, sUnusedAnim_Delcatty_1}; +static const union AnimCmd *const sUnusedAnims_Kecleon[] = {sAnim_GeneralFrame0, sUnusedAnim_Kecleon_1, sUnusedAnim_Kecleon_2, sUnusedAnim_Kecleon_3, sUnusedAnim_Kecleon_4}; +static const union AnimCmd *const sUnusedAnims_Baltoy[] = {sAnim_GeneralFrame0, sUnusedAnim_Baltoy_1}; +static const union AnimCmd *const sUnusedAnims_Claydol[] = {sAnim_GeneralFrame0, sUnusedAnim_Claydol_1}; +static const union AnimCmd *const sUnusedAnims_Nosepass[] = {sAnim_GeneralFrame0, sUnusedAnim_Nosepass_1}; +static const union AnimCmd *const sUnusedAnims_Torkoal[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Sableye[] = {sAnim_GeneralFrame0, sUnusedAnim_Sableye_1, sUnusedAnim_Sableye_2}; +static const union AnimCmd *const sUnusedAnims_Barboach[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Whiscash[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Luvdisc[] = {sAnim_GeneralFrame0, sUnusedAnim_Luvdisc_1, sUnusedAnim_Luvdisc_2}; +static const union AnimCmd *const sUnusedAnims_Corphish[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Crawdaunt[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Feebas[] = {sAnim_GeneralFrame0, sUnusedAnim_Feebas_1, sUnusedAnim_Feebas_2}; +static const union AnimCmd *const sUnusedAnims_Milotic[] = {sAnim_GeneralFrame0, sUnusedAnim_Milotic_1, sUnusedAnim_Milotic_2}; +static const union AnimCmd *const sUnusedAnims_Carvanha[] = {sAnim_GeneralFrame0, sUnusedAnim_Carvanha_1, sUnusedAnim_Carvanha_2}; +static const union AnimCmd *const sUnusedAnims_Sharpedo[] = {sAnim_GeneralFrame0, sUnusedAnim_Sharpedo_1, sUnusedAnim_Sharpedo_2}; +static const union AnimCmd *const sUnusedAnims_Trapinch[] = {sAnim_GeneralFrame0, sUnusedAnim_Trapinch_1}; +static const union AnimCmd *const sUnusedAnims_Vibrava[] = {sAnim_GeneralFrame0, sUnusedAnim_Vibrava_1}; +static const union AnimCmd *const sUnusedAnims_Flygon[] = {sAnim_GeneralFrame0, sUnusedAnim_Flygon_1}; +static const union AnimCmd *const sUnusedAnims_Makuhita[] = {sAnim_GeneralFrame0, sUnusedAnim_Makuhita_1}; +static const union AnimCmd *const sUnusedAnims_Hariyama[] = {sAnim_GeneralFrame0, sUnusedAnim_Hariyama_1}; +static const union AnimCmd *const sUnusedAnims_Electrike[] = {sAnim_GeneralFrame0, sUnusedAnim_Electrike_1, sUnusedAnim_Electrike_2}; +static const union AnimCmd *const sUnusedAnims_Manectric[] = {sAnim_GeneralFrame0, sUnusedAnim_Manectric_1}; +static const union AnimCmd *const sUnusedAnims_Numel[] = {sAnim_GeneralFrame0, sUnusedAnim_Numel_1, sUnusedAnim_Numel_2}; +static const union AnimCmd *const sUnusedAnims_Camerupt[] = {sAnim_GeneralFrame0, sUnusedAnim_Camerupt_1}; +static const union AnimCmd *const sUnusedAnims_Spheal[] = {sAnim_GeneralFrame0, sUnusedAnim_Spheal_1}; +static const union AnimCmd *const sUnusedAnims_Sealeo[] = {sAnim_GeneralFrame0, sUnusedAnim_Sealeo_1}; +static const union AnimCmd *const sUnusedAnims_Walrein[] = {sAnim_GeneralFrame0, sUnusedAnim_Walrein_1, sUnusedAnim_Walrein_2}; +static const union AnimCmd *const sUnusedAnims_Cacnea[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Cacturne[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Snorunt[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Glalie[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Lunatone[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Solrock[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Azurill[] = {sAnim_GeneralFrame0, sUnusedAnim_Azurill_1, sUnusedAnim_Azurill_2, sUnusedAnim_Azurill_3, sUnusedAnim_Azurill_4}; +static const union AnimCmd *const sUnusedAnims_Spoink[] = {sAnim_GeneralFrame0, sUnusedAnim_Spoink_1, sUnusedAnim_Spoink_2}; +static const union AnimCmd *const sUnusedAnims_Grumpig[] = {sAnim_GeneralFrame0, sUnusedAnim_Grumpig_1}; +static const union AnimCmd *const sUnusedAnims_Plusle[] = {sAnim_GeneralFrame0, sUnusedAnim_Plusle_1}; +static const union AnimCmd *const sUnusedAnims_Minun[] = {sAnim_GeneralFrame0, sUnusedAnim_Minun_1}; +static const union AnimCmd *const sUnusedAnims_Mawile[] = {sAnim_GeneralFrame0, sUnusedAnim_Mawile_1}; +static const union AnimCmd *const sUnusedAnims_Meditite[] = {sAnim_GeneralFrame0, sUnusedAnim_Meditite_1}; +static const union AnimCmd *const sUnusedAnims_Medicham[] = {sAnim_GeneralFrame0, sUnusedAnim_Medicham_1}; +static const union AnimCmd *const sUnusedAnims_Swablu[] = {sAnim_GeneralFrame0, sUnusedAnim_Swablu_1, sUnusedAnim_Swablu_2}; +static const union AnimCmd *const sUnusedAnims_Altaria[] = {sAnim_GeneralFrame0, sUnusedAnim_Altaria_1}; +static const union AnimCmd *const sUnusedAnims_Wynaut[] = {sAnim_GeneralFrame0, sUnusedAnim_Wynaut_1, sUnusedAnim_Wynaut_2}; +static const union AnimCmd *const sUnusedAnims_Duskull[] = {sAnim_GeneralFrame0, sUnusedAnim_Duskull_1, sUnusedAnim_Duskull_2}; +static const union AnimCmd *const sUnusedAnims_Dusclops[] = {sAnim_GeneralFrame0, sUnusedAnim_Dusclops_1, sUnusedAnim_Dusclops_2}; +static const union AnimCmd *const sUnusedAnims_Roselia[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Slakoth[] = {sAnim_GeneralFrame0, sUnusedAnim_Slakoth_1}; +static const union AnimCmd *const sUnusedAnims_Vigoroth[] = {sAnim_GeneralFrame0, sUnusedAnim_Vigoroth_1}; +static const union AnimCmd *const sUnusedAnims_Slaking[] = {sAnim_GeneralFrame0, sUnusedAnim_Slaking_1}; +static const union AnimCmd *const sUnusedAnims_Gulpin[] = {sAnim_GeneralFrame0, sUnusedAnim_Gulpin_1}; +static const union AnimCmd *const sUnusedAnims_Swalot[] = {sAnim_GeneralFrame0, sUnusedAnim_Swalot_1}; +static const union AnimCmd *const sUnusedAnims_Tropius[] = {sAnim_GeneralFrame0, sUnusedAnim_Tropius_1}; +static const union AnimCmd *const sUnusedAnims_Whismur[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Loudred[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Exploud[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Clamperl[] = {sAnim_GeneralFrame0, sUnusedAnim_Clamperl_1}; +static const union AnimCmd *const sUnusedAnims_Huntail[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Gorebyss[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Absol[] = {sAnim_GeneralFrame0, sUnusedAnim_Absol_1}; +static const union AnimCmd *const sUnusedAnims_Shuppet[] = {sAnim_GeneralFrame0, sUnusedAnim_Shuppet_1, sUnusedAnim_Shuppet_2}; +static const union AnimCmd *const sUnusedAnims_Banette[] = {sAnim_GeneralFrame0, sUnusedAnim_Banette_1}; +static const union AnimCmd *const sUnusedAnims_Seviper[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Zangoose[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Relicanth[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Aron[] = {sAnim_GeneralFrame0, sUnusedAnim_Aron_1}; +static const union AnimCmd *const sUnusedAnims_Lairon[] = {sAnim_GeneralFrame0, sUnusedAnim_Lairon_1}; +static const union AnimCmd *const sUnusedAnims_Aggron[] = {sAnim_GeneralFrame0, sUnusedAnim_Aggron_1}; +static const union AnimCmd *const sUnusedAnims_Castform[] = {sAnim_GeneralFrame0, sUnusedAnim_Castform_1, sUnusedAnim_Castform_2, sUnusedAnim_Castform_3, sUnusedAnim_Castform_4}; +static const union AnimCmd *const sUnusedAnims_Volbeat[] = {sAnim_GeneralFrame0, sUnusedAnim_Volbeat_1}; +static const union AnimCmd *const sUnusedAnims_Illumise[] = {sAnim_GeneralFrame0, sUnusedAnim_Illumise_1}; +static const union AnimCmd *const sUnusedAnims_Lileep[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Cradily[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Anorith[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Armaldo[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Ralts[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Kirlia[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Gardevoir[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Bagon[] = {sAnim_GeneralFrame0, sUnusedAnim_Bagon_1, sUnusedAnim_Bagon_2}; +static const union AnimCmd *const sUnusedAnims_Shelgon[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Salamence[] = {sAnim_GeneralFrame0, sUnusedAnim_Salamence_1, sUnusedAnim_Salamence_2}; +static const union AnimCmd *const sUnusedAnims_Beldum[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Metang[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Metagross[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Regirock[] = {sAnim_GeneralFrame0, sUnusedAnim_Regirock_1}; +static const union AnimCmd *const sUnusedAnims_Regice[] = {sAnim_GeneralFrame0, sUnusedAnim_Regice_1}; +static const union AnimCmd *const sUnusedAnims_Registeel[] = {sAnim_GeneralFrame0, sUnusedAnim_Registeel_1, sUnusedAnim_Registeel_2}; +static const union AnimCmd *const sUnusedAnims_Kyogre[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Groudon[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Rayquaza[] = {sAnim_GeneralFrame0, sUnusedAnim_Rayquaza_1, sUnusedAnim_Rayquaza_2}; +static const union AnimCmd *const sUnusedAnims_Latias[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Latios[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Jirachi[] = {sAnim_GeneralFrame0, sUnusedAnim_Jirachi_1}; +static const union AnimCmd *const sUnusedAnims_Deoxys[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Chimecho[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_Egg[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownC[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownD[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownE[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownF[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownG[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownH[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownI[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownJ[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownK[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownL[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownM[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownN[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownO[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownP[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownQ[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownR[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownS[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownT[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownU[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownV[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownW[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownX[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownY[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownZ[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownEMark[] = {sAnim_GeneralFrame0}; +static const union AnimCmd *const sUnusedAnims_UnownQMark[] = {sAnim_GeneralFrame0}; + +#define ANIM_CMD(name, anims) [SPECIES_##name] = sUnusedAnims_##anims + +static const union AnimCmd *const *const sUnusedAnimsTable[] = +{ + ANIM_CMD(NONE, None), + ANIM_CMD(BULBASAUR, Bulbasaur), + ANIM_CMD(IVYSAUR, Ivysaur), + ANIM_CMD(VENUSAUR, Venusaur), + ANIM_CMD(CHARMANDER, Charmander), + ANIM_CMD(CHARMELEON, Charmeleon), + ANIM_CMD(CHARIZARD, Charizard), + ANIM_CMD(SQUIRTLE, Squirtle), + ANIM_CMD(WARTORTLE, Wartortle), + ANIM_CMD(BLASTOISE, Blastoise), + ANIM_CMD(CATERPIE, Caterpie), + ANIM_CMD(METAPOD, Metapod), + ANIM_CMD(BUTTERFREE, Butterfree), + ANIM_CMD(WEEDLE, Weedle), + ANIM_CMD(KAKUNA, Kakuna), + ANIM_CMD(BEEDRILL, Beedrill), + ANIM_CMD(PIDGEY, Pidgey), + ANIM_CMD(PIDGEOTTO, Pidgeotto), + ANIM_CMD(PIDGEOT, Pidgeot), + ANIM_CMD(RATTATA, Rattata), + ANIM_CMD(RATICATE, Raticate), + ANIM_CMD(SPEAROW, Spearow), + ANIM_CMD(FEAROW, Fearow), + ANIM_CMD(EKANS, Ekans), + ANIM_CMD(ARBOK, Arbok), + ANIM_CMD(PIKACHU, Pikachu), + ANIM_CMD(RAICHU, Raichu), + ANIM_CMD(SANDSHREW, Sandshrew), + ANIM_CMD(SANDSLASH, Sandslash), + ANIM_CMD(NIDORAN_F, NidoranF), + ANIM_CMD(NIDORINA, Nidorina), + ANIM_CMD(NIDOQUEEN, Nidoqueen), + ANIM_CMD(NIDORAN_M, NidoranM), + ANIM_CMD(NIDORINO, Nidorino), + ANIM_CMD(NIDOKING, Nidoking), + ANIM_CMD(CLEFAIRY, Clefairy), + ANIM_CMD(CLEFABLE, Clefable), + ANIM_CMD(VULPIX, Vulpix), + ANIM_CMD(NINETALES, Ninetales), + ANIM_CMD(JIGGLYPUFF, Jigglypuff), + ANIM_CMD(WIGGLYTUFF, Wigglytuff), + ANIM_CMD(ZUBAT, Zubat), + ANIM_CMD(GOLBAT, Golbat), + ANIM_CMD(ODDISH, Oddish), + ANIM_CMD(GLOOM, Gloom), + ANIM_CMD(VILEPLUME, Vileplume), + ANIM_CMD(PARAS, Paras), + ANIM_CMD(PARASECT, Parasect), + ANIM_CMD(VENONAT, Venonat), + ANIM_CMD(VENOMOTH, Venomoth), + ANIM_CMD(DIGLETT, Diglett), + ANIM_CMD(DUGTRIO, Dugtrio), + ANIM_CMD(MEOWTH, Meowth), + ANIM_CMD(PERSIAN, Persian), + ANIM_CMD(PSYDUCK, Psyduck), + ANIM_CMD(GOLDUCK, Golduck), + ANIM_CMD(MANKEY, Mankey), + ANIM_CMD(PRIMEAPE, Primeape), + ANIM_CMD(GROWLITHE, Growlithe), + ANIM_CMD(ARCANINE, Arcanine), + ANIM_CMD(POLIWAG, Poliwag), + ANIM_CMD(POLIWHIRL, Poliwhirl), + ANIM_CMD(POLIWRATH, Poliwrath), + ANIM_CMD(ABRA, Abra), + ANIM_CMD(KADABRA, Kadabra), + ANIM_CMD(ALAKAZAM, Alakazam), + ANIM_CMD(MACHOP, Machop), + ANIM_CMD(MACHOKE, Machoke), + ANIM_CMD(MACHAMP, Machamp), + ANIM_CMD(BELLSPROUT, Bellsprout), + ANIM_CMD(WEEPINBELL, Weepinbell), + ANIM_CMD(VICTREEBEL, Victreebel), + ANIM_CMD(TENTACOOL, Tentacool), + ANIM_CMD(TENTACRUEL, Tentacruel), + ANIM_CMD(GEODUDE, Geodude), + ANIM_CMD(GRAVELER, Graveler), + ANIM_CMD(GOLEM, Golem), + ANIM_CMD(PONYTA, Ponyta), + ANIM_CMD(RAPIDASH, Rapidash), + ANIM_CMD(SLOWPOKE, Slowpoke), + ANIM_CMD(SLOWBRO, Slowbro), + ANIM_CMD(MAGNEMITE, Magnemite), + ANIM_CMD(MAGNETON, Magneton), + ANIM_CMD(FARFETCHD, Farfetchd), + ANIM_CMD(DODUO, Doduo), + ANIM_CMD(DODRIO, Dodrio), + ANIM_CMD(SEEL, Seel), + ANIM_CMD(DEWGONG, Dewgong), + ANIM_CMD(GRIMER, Grimer), + ANIM_CMD(MUK, Muk), + ANIM_CMD(SHELLDER, Shellder), + ANIM_CMD(CLOYSTER, Cloyster), + ANIM_CMD(GASTLY, Gastly), + ANIM_CMD(HAUNTER, Haunter), + ANIM_CMD(GENGAR, Gengar), + ANIM_CMD(ONIX, Onix), + ANIM_CMD(DROWZEE, Drowzee), + ANIM_CMD(HYPNO, Hypno), + ANIM_CMD(KRABBY, Krabby), + ANIM_CMD(KINGLER, Kingler), + ANIM_CMD(VOLTORB, Voltorb), + ANIM_CMD(ELECTRODE, Electrode), + ANIM_CMD(EXEGGCUTE, Exeggcute), + ANIM_CMD(EXEGGUTOR, Exeggutor), + ANIM_CMD(CUBONE, Cubone), + ANIM_CMD(MAROWAK, Marowak), + ANIM_CMD(HITMONLEE, Hitmonlee), + ANIM_CMD(HITMONCHAN, Hitmonchan), + ANIM_CMD(LICKITUNG, Lickitung), + ANIM_CMD(KOFFING, Koffing), + ANIM_CMD(WEEZING, Weezing), + ANIM_CMD(RHYHORN, Rhyhorn), + ANIM_CMD(RHYDON, Rhydon), + ANIM_CMD(CHANSEY, Chansey), + ANIM_CMD(TANGELA, Tangela), + ANIM_CMD(KANGASKHAN, Kangaskhan), + ANIM_CMD(HORSEA, Horsea), + ANIM_CMD(SEADRA, Seadra), + ANIM_CMD(GOLDEEN, Goldeen), + ANIM_CMD(SEAKING, Seaking), + ANIM_CMD(STARYU, Staryu), + ANIM_CMD(STARMIE, Starmie), + ANIM_CMD(MR_MIME, MrMime), + ANIM_CMD(SCYTHER, Scyther), + ANIM_CMD(JYNX, Jynx), + ANIM_CMD(ELECTABUZZ, Electabuzz), + ANIM_CMD(MAGMAR, Magmar), + ANIM_CMD(PINSIR, Pinsir), + ANIM_CMD(TAUROS, Tauros), + ANIM_CMD(MAGIKARP, Magikarp), + ANIM_CMD(GYARADOS, Gyarados), + ANIM_CMD(LAPRAS, Lapras), + ANIM_CMD(DITTO, Ditto), + ANIM_CMD(EEVEE, Eevee), + ANIM_CMD(VAPOREON, Vaporeon), + ANIM_CMD(JOLTEON, Jolteon), + ANIM_CMD(FLAREON, Flareon), + ANIM_CMD(PORYGON, Porygon), + ANIM_CMD(OMANYTE, Omanyte), + ANIM_CMD(OMASTAR, Omastar), + ANIM_CMD(KABUTO, Kabuto), + ANIM_CMD(KABUTOPS, Kabutops), + ANIM_CMD(AERODACTYL, Aerodactyl), + ANIM_CMD(SNORLAX, Snorlax), + ANIM_CMD(ARTICUNO, Articuno), + ANIM_CMD(ZAPDOS, Zapdos), + ANIM_CMD(MOLTRES, Moltres), + ANIM_CMD(DRATINI, Dratini), + ANIM_CMD(DRAGONAIR, Dragonair), + ANIM_CMD(DRAGONITE, Dragonite), + ANIM_CMD(MEWTWO, Mewtwo), + ANIM_CMD(MEW, Mew), + ANIM_CMD(CHIKORITA, Chikorita), + ANIM_CMD(BAYLEEF, Bayleef), + ANIM_CMD(MEGANIUM, Meganium), + ANIM_CMD(CYNDAQUIL, Cyndaquil), + ANIM_CMD(QUILAVA, Quilava), + ANIM_CMD(TYPHLOSION, Typhlosion), + ANIM_CMD(TOTODILE, Totodile), + ANIM_CMD(CROCONAW, Croconaw), + ANIM_CMD(FERALIGATR, Feraligatr), + ANIM_CMD(SENTRET, Sentret), + ANIM_CMD(FURRET, Furret), + ANIM_CMD(HOOTHOOT, Hoothoot), + ANIM_CMD(NOCTOWL, Noctowl), + ANIM_CMD(LEDYBA, Ledyba), + ANIM_CMD(LEDIAN, Ledian), + ANIM_CMD(SPINARAK, Spinarak), + ANIM_CMD(ARIADOS, Ariados), + ANIM_CMD(CROBAT, Crobat), + ANIM_CMD(CHINCHOU, Chinchou), + ANIM_CMD(LANTURN, Lanturn), + ANIM_CMD(PICHU, Pichu), + ANIM_CMD(CLEFFA, Cleffa), + ANIM_CMD(IGGLYBUFF, Igglybuff), + ANIM_CMD(TOGEPI, Togepi), + ANIM_CMD(TOGETIC, Togetic), + ANIM_CMD(NATU, Natu), + ANIM_CMD(XATU, Xatu), + ANIM_CMD(MAREEP, Mareep), + ANIM_CMD(FLAAFFY, Flaaffy), + ANIM_CMD(AMPHAROS, Ampharos), + ANIM_CMD(BELLOSSOM, Bellossom), + ANIM_CMD(MARILL, Marill), + ANIM_CMD(AZUMARILL, Azumarill), + ANIM_CMD(SUDOWOODO, Sudowoodo), + ANIM_CMD(POLITOED, Politoed), + ANIM_CMD(HOPPIP, Hoppip), + ANIM_CMD(SKIPLOOM, Skiploom), + ANIM_CMD(JUMPLUFF, Jumpluff), + ANIM_CMD(AIPOM, Aipom), + ANIM_CMD(SUNKERN, Sunkern), + ANIM_CMD(SUNFLORA, Sunflora), + ANIM_CMD(YANMA, Yanma), + ANIM_CMD(WOOPER, Wooper), + ANIM_CMD(QUAGSIRE, Quagsire), + ANIM_CMD(ESPEON, Espeon), + ANIM_CMD(UMBREON, Umbreon), + ANIM_CMD(MURKROW, Murkrow), + ANIM_CMD(SLOWKING, Slowking), + ANIM_CMD(MISDREAVUS, Misdreavus), + ANIM_CMD(UNOWN, Unown), + ANIM_CMD(WOBBUFFET, Wobbuffet), + ANIM_CMD(GIRAFARIG, Girafarig), + ANIM_CMD(PINECO, Pineco), + ANIM_CMD(FORRETRESS, Forretress), + ANIM_CMD(DUNSPARCE, Dunsparce), + ANIM_CMD(GLIGAR, Gligar), + ANIM_CMD(STEELIX, Steelix), + ANIM_CMD(SNUBBULL, Snubbull), + ANIM_CMD(GRANBULL, Granbull), + ANIM_CMD(QWILFISH, Qwilfish), + ANIM_CMD(SCIZOR, Scizor), + ANIM_CMD(SHUCKLE, Shuckle), + ANIM_CMD(HERACROSS, Heracross), + ANIM_CMD(SNEASEL, Sneasel), + ANIM_CMD(TEDDIURSA, Teddiursa), + ANIM_CMD(URSARING, Ursaring), + ANIM_CMD(SLUGMA, Slugma), + ANIM_CMD(MAGCARGO, Magcargo), + ANIM_CMD(SWINUB, Swinub), + ANIM_CMD(PILOSWINE, Piloswine), + ANIM_CMD(CORSOLA, Corsola), + ANIM_CMD(REMORAID, Remoraid), + ANIM_CMD(OCTILLERY, Octillery), + ANIM_CMD(DELIBIRD, Delibird), + ANIM_CMD(MANTINE, Mantine), + ANIM_CMD(SKARMORY, Skarmory), + ANIM_CMD(HOUNDOUR, Houndour), + ANIM_CMD(HOUNDOOM, Houndoom), + ANIM_CMD(KINGDRA, Kingdra), + ANIM_CMD(PHANPY, Phanpy), + ANIM_CMD(DONPHAN, Donphan), + ANIM_CMD(PORYGON2, Porygon2), + ANIM_CMD(STANTLER, Stantler), + ANIM_CMD(SMEARGLE, Smeargle), + ANIM_CMD(TYROGUE, Tyrogue), + ANIM_CMD(HITMONTOP, Hitmontop), + ANIM_CMD(SMOOCHUM, Smoochum), + ANIM_CMD(ELEKID, Elekid), + ANIM_CMD(MAGBY, Magby), + ANIM_CMD(MILTANK, Miltank), + ANIM_CMD(BLISSEY, Blissey), + ANIM_CMD(RAIKOU, Raikou), + ANIM_CMD(ENTEI, Entei), + ANIM_CMD(SUICUNE, Suicune), + ANIM_CMD(LARVITAR, Larvitar), + ANIM_CMD(PUPITAR, Pupitar), + ANIM_CMD(TYRANITAR, Tyranitar), + ANIM_CMD(LUGIA, Lugia), + ANIM_CMD(HO_OH, HoOh), + ANIM_CMD(CELEBI, Celebi), + ANIM_CMD(OLD_UNOWN_B, OldUnownB), + ANIM_CMD(OLD_UNOWN_C, OldUnownB), + ANIM_CMD(OLD_UNOWN_D, OldUnownB), + ANIM_CMD(OLD_UNOWN_E, OldUnownB), + ANIM_CMD(OLD_UNOWN_F, OldUnownB), + ANIM_CMD(OLD_UNOWN_G, OldUnownB), + ANIM_CMD(OLD_UNOWN_H, OldUnownB), + ANIM_CMD(OLD_UNOWN_I, OldUnownB), + ANIM_CMD(OLD_UNOWN_J, OldUnownB), + ANIM_CMD(OLD_UNOWN_K, OldUnownB), + ANIM_CMD(OLD_UNOWN_L, OldUnownB), + ANIM_CMD(OLD_UNOWN_M, OldUnownB), + ANIM_CMD(OLD_UNOWN_N, OldUnownB), + ANIM_CMD(OLD_UNOWN_O, OldUnownB), + ANIM_CMD(OLD_UNOWN_P, OldUnownB), + ANIM_CMD(OLD_UNOWN_Q, OldUnownB), + ANIM_CMD(OLD_UNOWN_R, OldUnownB), + ANIM_CMD(OLD_UNOWN_S, OldUnownB), + ANIM_CMD(OLD_UNOWN_T, OldUnownB), + ANIM_CMD(OLD_UNOWN_U, OldUnownB), + ANIM_CMD(OLD_UNOWN_V, OldUnownB), + ANIM_CMD(OLD_UNOWN_W, OldUnownB), + ANIM_CMD(OLD_UNOWN_X, OldUnownB), + ANIM_CMD(OLD_UNOWN_Y, OldUnownB), + ANIM_CMD(OLD_UNOWN_Z, OldUnownB), + ANIM_CMD(TREECKO, Treecko), + ANIM_CMD(GROVYLE, Grovyle), + ANIM_CMD(SCEPTILE, Sceptile), + ANIM_CMD(TORCHIC, Torchic), + ANIM_CMD(COMBUSKEN, Combusken), + ANIM_CMD(BLAZIKEN, Blaziken), + ANIM_CMD(MUDKIP, Mudkip), + ANIM_CMD(MARSHTOMP, Marshtomp), + ANIM_CMD(SWAMPERT, Swampert), + ANIM_CMD(POOCHYENA, Poochyena), + ANIM_CMD(MIGHTYENA, Mightyena), + ANIM_CMD(ZIGZAGOON, Zigzagoon), + ANIM_CMD(LINOONE, Linoone), + ANIM_CMD(WURMPLE, Wurmple), + ANIM_CMD(SILCOON, Silcoon), + ANIM_CMD(BEAUTIFLY, Beautifly), + ANIM_CMD(CASCOON, Cascoon), + ANIM_CMD(DUSTOX, Dustox), + ANIM_CMD(LOTAD, Lotad), + ANIM_CMD(LOMBRE, Lombre), + ANIM_CMD(LUDICOLO, Ludicolo), + ANIM_CMD(SEEDOT, Seedot), + ANIM_CMD(NUZLEAF, Nuzleaf), + ANIM_CMD(SHIFTRY, Shiftry), + ANIM_CMD(NINCADA, Nincada), + ANIM_CMD(NINJASK, Ninjask), + ANIM_CMD(SHEDINJA, Shedinja), + ANIM_CMD(TAILLOW, Taillow), + ANIM_CMD(SWELLOW, Swellow), + ANIM_CMD(SHROOMISH, Shroomish), + ANIM_CMD(BRELOOM, Breloom), + ANIM_CMD(SPINDA, Spinda), + ANIM_CMD(WINGULL, Wingull), + ANIM_CMD(PELIPPER, Pelipper), + ANIM_CMD(SURSKIT, Surskit), + ANIM_CMD(MASQUERAIN, Masquerain), + ANIM_CMD(WAILMER, Wailmer), + ANIM_CMD(WAILORD, Wailord), + ANIM_CMD(SKITTY, Skitty), + ANIM_CMD(DELCATTY, Delcatty), + ANIM_CMD(KECLEON, Kecleon), + ANIM_CMD(BALTOY, Baltoy), + ANIM_CMD(CLAYDOL, Claydol), + ANIM_CMD(NOSEPASS, Nosepass), + ANIM_CMD(TORKOAL, Torkoal), + ANIM_CMD(SABLEYE, Sableye), + ANIM_CMD(BARBOACH, Barboach), + ANIM_CMD(WHISCASH, Whiscash), + ANIM_CMD(LUVDISC, Luvdisc), + ANIM_CMD(CORPHISH, Corphish), + ANIM_CMD(CRAWDAUNT, Crawdaunt), + ANIM_CMD(FEEBAS, Feebas), + ANIM_CMD(MILOTIC, Milotic), + ANIM_CMD(CARVANHA, Carvanha), + ANIM_CMD(SHARPEDO, Sharpedo), + ANIM_CMD(TRAPINCH, Trapinch), + ANIM_CMD(VIBRAVA, Vibrava), + ANIM_CMD(FLYGON, Flygon), + ANIM_CMD(MAKUHITA, Makuhita), + ANIM_CMD(HARIYAMA, Hariyama), + ANIM_CMD(ELECTRIKE, Electrike), + ANIM_CMD(MANECTRIC, Manectric), + ANIM_CMD(NUMEL, Numel), + ANIM_CMD(CAMERUPT, Camerupt), + ANIM_CMD(SPHEAL, Spheal), + ANIM_CMD(SEALEO, Sealeo), + ANIM_CMD(WALREIN, Walrein), + ANIM_CMD(CACNEA, Cacnea), + ANIM_CMD(CACTURNE, Cacturne), + ANIM_CMD(SNORUNT, Snorunt), + ANIM_CMD(GLALIE, Glalie), + ANIM_CMD(LUNATONE, Lunatone), + ANIM_CMD(SOLROCK, Solrock), + ANIM_CMD(AZURILL, Azurill), + ANIM_CMD(SPOINK, Spoink), + ANIM_CMD(GRUMPIG, Grumpig), + ANIM_CMD(PLUSLE, Plusle), + ANIM_CMD(MINUN, Minun), + ANIM_CMD(MAWILE, Mawile), + ANIM_CMD(MEDITITE, Meditite), + ANIM_CMD(MEDICHAM, Medicham), + ANIM_CMD(SWABLU, Swablu), + ANIM_CMD(ALTARIA, Altaria), + ANIM_CMD(WYNAUT, Wynaut), + ANIM_CMD(DUSKULL, Duskull), + ANIM_CMD(DUSCLOPS, Dusclops), + ANIM_CMD(ROSELIA, Roselia), + ANIM_CMD(SLAKOTH, Slakoth), + ANIM_CMD(VIGOROTH, Vigoroth), + ANIM_CMD(SLAKING, Slaking), + ANIM_CMD(GULPIN, Gulpin), + ANIM_CMD(SWALOT, Swalot), + ANIM_CMD(TROPIUS, Tropius), + ANIM_CMD(WHISMUR, Whismur), + ANIM_CMD(LOUDRED, Loudred), + ANIM_CMD(EXPLOUD, Exploud), + ANIM_CMD(CLAMPERL, Clamperl), + ANIM_CMD(HUNTAIL, Huntail), + ANIM_CMD(GOREBYSS, Gorebyss), + ANIM_CMD(ABSOL, Absol), + ANIM_CMD(SHUPPET, Shuppet), + ANIM_CMD(BANETTE, Banette), + ANIM_CMD(SEVIPER, Seviper), + ANIM_CMD(ZANGOOSE, Zangoose), + ANIM_CMD(RELICANTH, Relicanth), + ANIM_CMD(ARON, Aron), + ANIM_CMD(LAIRON, Lairon), + ANIM_CMD(AGGRON, Aggron), + ANIM_CMD(CASTFORM, Castform), + ANIM_CMD(VOLBEAT, Volbeat), + ANIM_CMD(ILLUMISE, Illumise), + ANIM_CMD(LILEEP, Lileep), + ANIM_CMD(CRADILY, Cradily), + ANIM_CMD(ANORITH, Anorith), + ANIM_CMD(ARMALDO, Armaldo), + ANIM_CMD(RALTS, Ralts), + ANIM_CMD(KIRLIA, Kirlia), + ANIM_CMD(GARDEVOIR, Gardevoir), + ANIM_CMD(BAGON, Bagon), + ANIM_CMD(SHELGON, Shelgon), + ANIM_CMD(SALAMENCE, Salamence), + ANIM_CMD(BELDUM, Beldum), + ANIM_CMD(METANG, Metang), + ANIM_CMD(METAGROSS, Metagross), + ANIM_CMD(REGIROCK, Regirock), + ANIM_CMD(REGICE, Regice), + ANIM_CMD(REGISTEEL, Registeel), + ANIM_CMD(KYOGRE, Kyogre), + ANIM_CMD(GROUDON, Groudon), + ANIM_CMD(RAYQUAZA, Rayquaza), + ANIM_CMD(LATIAS, Latias), + ANIM_CMD(LATIOS, Latios), + ANIM_CMD(JIRACHI, Jirachi), + ANIM_CMD(DEOXYS, Deoxys), + ANIM_CMD(CHIMECHO, Chimecho), + ANIM_CMD(EGG, Egg), + ANIM_CMD(UNOWN_B, Egg), + ANIM_CMD(UNOWN_C, UnownC), + ANIM_CMD(UNOWN_D, UnownD), + ANIM_CMD(UNOWN_E, UnownE), + ANIM_CMD(UNOWN_F, UnownF), + ANIM_CMD(UNOWN_G, UnownG), + ANIM_CMD(UNOWN_H, UnownH), + ANIM_CMD(UNOWN_I, UnownI), + ANIM_CMD(UNOWN_J, UnownJ), + ANIM_CMD(UNOWN_K, UnownK), + ANIM_CMD(UNOWN_L, UnownL), + ANIM_CMD(UNOWN_M, UnownM), + ANIM_CMD(UNOWN_N, UnownN), + ANIM_CMD(UNOWN_O, UnownO), + ANIM_CMD(UNOWN_P, UnownP), + ANIM_CMD(UNOWN_Q, UnownQ), + ANIM_CMD(UNOWN_R, UnownR), + ANIM_CMD(UNOWN_S, UnownS), + ANIM_CMD(UNOWN_T, UnownT), + ANIM_CMD(UNOWN_U, UnownU), + ANIM_CMD(UNOWN_V, UnownV), + ANIM_CMD(UNOWN_W, UnownW), + ANIM_CMD(UNOWN_X, UnownX), + ANIM_CMD(UNOWN_Y, UnownY), + ANIM_CMD(UNOWN_Z, UnownZ), + ANIM_CMD(UNOWN_EMARK, UnownEMark), + ANIM_CMD(UNOWN_QMARK, UnownQMark), +}; + +#undef ANIM_CMD +#undef ANIM_CMD_FULL From ca656b63b935e17de1b14f8b6de3952df6ae74c3 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sat, 3 Dec 2022 02:04:33 -0300 Subject: [PATCH 049/130] Added Well Baked Body's effect and misc. changes -Added a modifybattlerstatstage macro to handle stat stages in battle. -Rewrote the checks inside the case ABILITYEFFECT_MOVES_BLOCK of AbilityBattleEffects. --- asm/macros/battle_script.inc | 31 ++++++++++++++++ data/battle_scripts_1.s | 12 +++++++ include/battle_scripts.h | 1 + src/battle_util.c | 68 +++++++++++++++++++----------------- 4 files changed, 80 insertions(+), 32 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 27c5a86c4..72ca567dc 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -2157,3 +2157,34 @@ .macro trysymbiosis various BS_ATTACKER, VARIOUS_TRY_SYMBIOSIS .endm + + @ Tries to increase or decrease a battler's stat's stat stage by a specified amount. If impossible, jumps to \script. + .macro modifybattlerstatstage battler:req, stat:req, mode:req, amount:req, script:req, animation:req, customString + + @ \mode parameters + INCREASE = FALSE + DECREASE = TRUE + + @ \animation parameters + ANIM_OFF = FALSE + ANIM_ON = TRUE + + setstatchanger \stat, \amount, \mode + statbuffchange STAT_CHANGE_ALLOW_PTR, \script + setgraphicalstatchangevalues + .if \animation == TRUE + playanimation \battler, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 + .endif + .ifnb \customString + printstring \customString + .else + .if \mode == DECREASE + printfromtable gStatDownStringIds + .else + .if \mode == INCREASE + printfromtable gStatUpStringIds + .endif + .endif + .endif + waitmessage B_WAIT_TIME_LONG + .endm diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index cf686fec9..d7aa7f53f 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -9800,6 +9800,18 @@ BattleScript_DarkTypePreventsPrankster:: orhalfword gMoveResultFlags, MOVE_RESULT_NO_EFFECT goto BattleScript_MoveEnd +BattleScript_WellBakedBodyActivates:: + attackstring + ppreduce + showabilitypopup BS_TARGET + pause B_WAIT_TIME_MED + printstring STRINGID_ITDOESNTAFFECT + waitmessage B_WAIT_TIME_MED + orhalfword gMoveResultFlags, MOVE_RESULT_NO_EFFECT + modifybattlerstatstage BS_TARGET, STAT_DEF, INCREASE, 1, BattleScript_WellBakedBodyEnd, ANIM_ON +BattleScript_WellBakedBodyEnd: + goto BattleScript_MoveEnd + BattleScript_PastelVeilActivates:: setbyte gBattleCommunication, 0 setbyte gBattleCommunication + 1, 0 diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 462da38db..b909b9711 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -435,6 +435,7 @@ extern const u8 BattleScript_BurnUpRemoveType[]; extern const u8 BattleScript_TargetAbilityStatRaiseRet[]; extern const u8 BattleScript_SeedSowerActivates[]; extern const u8 BattleScript_AngerShellActivates[]; +extern const u8 BattleScript_WellBakedBodyActivates[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/src/battle_util.c b/src/battle_util.c index fd6374e74..8746dbbf0 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5079,40 +5079,44 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move } break; case ABILITYEFFECT_MOVES_BLOCK: // 2 - { - u16 moveTarget = GetBattlerMoveTargetType(battler, move); + { + u16 moveTarget = GetBattlerMoveTargetType(battler, move); + u16 battlerAbility = GetBattlerAbility(battler); + u16 targetAbility = GetBattlerAbility(gBattlerTarget); - if ((gLastUsedAbility == ABILITY_SOUNDPROOF && gBattleMoves[move].flags & FLAG_SOUND && !(moveTarget & MOVE_TARGET_USER)) - || (gLastUsedAbility == ABILITY_BULLETPROOF && gBattleMoves[move].flags & FLAG_BALLISTIC)) - { - if (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS) - gHitMarker |= HITMARKER_NO_PPDEDUCT; - gBattlescriptCurrInstr = BattleScript_SoundproofProtected; - effect = 1; + if ((gLastUsedAbility == ABILITY_SOUNDPROOF && gBattleMoves[move].flags & FLAG_SOUND && !(moveTarget & MOVE_TARGET_USER)) + || (gLastUsedAbility == ABILITY_BULLETPROOF && gBattleMoves[move].flags & FLAG_BALLISTIC)) + { + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS) + gHitMarker |= HITMARKER_NO_PPDEDUCT; + gBattlescriptCurrInstr = BattleScript_SoundproofProtected; + effect = 1; + } + else if ((gLastUsedAbility == ABILITY_DAZZLING || gLastUsedAbility == ABILITY_QUEENLY_MAJESTY || IsBattlerAlive(battler ^= BIT_FLANK)) + && (battlerAbility == ABILITY_DAZZLING || battlerAbility == ABILITY_QUEENLY_MAJESTY) + && GetChosenMovePriority(gBattlerAttacker) > 0 + && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(battler)) + { + if (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS) + gHitMarker |= HITMARKER_NO_PPDEDUCT; + gBattlescriptCurrInstr = BattleScript_DazzlingProtected; + effect = 1; + } + else if (BlocksPrankster(move, gBattlerAttacker, gBattlerTarget, TRUE) && !(IS_MOVE_STATUS(move) && targetAbility == ABILITY_MAGIC_BOUNCE)) + { + if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE) || !(moveTarget & (MOVE_TARGET_BOTH | MOVE_TARGET_FOES_AND_ALLY))) + CancelMultiTurnMoves(gBattlerAttacker); // Don't cancel moves that can hit two targets bc one target might not be protected + gBattleScripting.battler = gBattlerAbility = gBattlerTarget; + gBattlescriptCurrInstr = BattleScript_DarkTypePreventsPrankster; + effect = 1; + } + else if (targetAbility == ABILITY_WELL_BAKED_BODY && gBattleMoves[gCurrentMove].type == TYPE_FIRE) + { + gBattlescriptCurrInstr = BattleScript_WellBakedBodyActivates; + effect = 1; + } + break; } - else if ((((gLastUsedAbility == ABILITY_DAZZLING || gLastUsedAbility == ABILITY_QUEENLY_MAJESTY - || (IsBattlerAlive(battler ^= BIT_FLANK) - && ((GetBattlerAbility(battler) == ABILITY_DAZZLING) || GetBattlerAbility(battler) == ABILITY_QUEENLY_MAJESTY))) - )) - && GetChosenMovePriority(gBattlerAttacker) > 0 - && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(battler)) - { - if (gBattleMons[gBattlerAttacker].status2 & STATUS2_MULTIPLETURNS) - gHitMarker |= HITMARKER_NO_PPDEDUCT; - gBattlescriptCurrInstr = BattleScript_DazzlingProtected; - effect = 1; - } - else if (BlocksPrankster(move, gBattlerAttacker, gBattlerTarget, TRUE) - && !(IS_MOVE_STATUS(move) && GetBattlerAbility(gBattlerTarget) == ABILITY_MAGIC_BOUNCE)) - { - if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE) || !(moveTarget & (MOVE_TARGET_BOTH | MOVE_TARGET_FOES_AND_ALLY))) - CancelMultiTurnMoves(gBattlerAttacker); // Don't cancel moves that can hit two targets bc one target might not be protected - gBattleScripting.battler = gBattlerAbility = gBattlerTarget; - gBattlescriptCurrInstr = BattleScript_DarkTypePreventsPrankster; - effect = 1; - } - break; - } case ABILITYEFFECT_ABSORBING: // 3 if (move != MOVE_NONE) { From 4dc44150c53855df72a70c76fa71bbbad2a041b4 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sat, 3 Dec 2022 06:21:01 -0300 Subject: [PATCH 050/130] Implemented Wind Rider's effect --- data/battle_scripts_1.s | 31 +++++++++++++++++++++++++++++++ include/battle_scripts.h | 2 ++ include/constants/pokemon.h | 1 + src/battle_util.c | 10 ++++++++++ src/data/battle_moves.h | 32 ++++++++++++++++---------------- 5 files changed, 60 insertions(+), 16 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index d7aa7f53f..a9e196ae8 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -6589,6 +6589,26 @@ BattleScript_TailwindEnds:: waitmessage B_WAIT_TIME_LONG end2 +BattleScript_WindRiderActivatesEnd2:: + setbyte gBattlerTarget, 0 +BattleScript_WindRiderLoop: + printstring STRINGID_EMPTYSTRING3 + jumpifability BS_TARGET, ABILITY_WIND_RIDER, BattleScript_WindRiderLoop_Cont + goto BattleScript_WindRiderIncrement +BattleScript_WindRiderLoop_Cont: + jumpifsideaffecting BS_TARGET, SIDE_STATUS_TAILWIND, BattleScript_WindRider_Activate + goto BattleScript_WindRiderIncrement +BattleScript_WindRider_Activate: + call BattleScript_AbilityPopUp + pause B_WAIT_TIME_MED + modifybattlerstatstage BS_TARGET, STAT_ATK, INCREASE, 1, BattleScript_WindRiderIncrement, ANIM_ON +BattleScript_WindRiderIncrement: + addbyte gBattlerTarget, 1 + jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_WindRiderLoop +BattleScript_WindRiderEnd: + destroyabilitypopup + end2 + BattleScript_TrickRoomEnds:: printstring STRINGID_TRICKROOMENDS waitmessage B_WAIT_TIME_LONG @@ -9812,6 +9832,17 @@ BattleScript_WellBakedBodyActivates:: BattleScript_WellBakedBodyEnd: goto BattleScript_MoveEnd +BattleScript_WindRiderActivatesMoveEnd:: + attackstring + ppreduce + showabilitypopup BS_TARGET + pause B_WAIT_TIME_MED + orhalfword gMoveResultFlags, MOVE_RESULT_NO_EFFECT + printstring STRINGID_EMPTYSTRING3 + modifybattlerstatstage BS_TARGET, STAT_ATK, INCREASE, 1, BattleScript_WindRiderActivatesMoveEnd_End, ANIM_ON +BattleScript_WindRiderActivatesMoveEnd_End: + goto BattleScript_MoveEnd + BattleScript_PastelVeilActivates:: setbyte gBattleCommunication, 0 setbyte gBattleCommunication + 1, 0 diff --git a/include/battle_scripts.h b/include/battle_scripts.h index b909b9711..4d1d750df 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -436,6 +436,8 @@ extern const u8 BattleScript_TargetAbilityStatRaiseRet[]; extern const u8 BattleScript_SeedSowerActivates[]; extern const u8 BattleScript_AngerShellActivates[]; extern const u8 BattleScript_WellBakedBodyActivates[]; +extern const u8 BattleScript_WindRiderActivatesEnd2[]; +extern const u8 BattleScript_WindRiderActivatesMoveEnd[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 006e2a703..8d637af30 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -235,6 +235,7 @@ #define FLAG_THAW_USER (1 << 25) #define FLAG_HIT_IN_SUBSTITUTE (1 << 26) // Hyperspace Fury #define FLAG_TWO_STRIKES (1 << 27) // A move with this flag will strike twice, and may apply its effect on each hit +#define FLAG_WIND_MOVE (1 << 28) // Split defines. #define SPLIT_PHYSICAL 0x0 diff --git a/src/battle_util.c b/src/battle_util.c index 8746dbbf0..45eecf1a1 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -2373,6 +2373,11 @@ u8 DoFieldEndTurnEffects(void) BattleScriptExecute(BattleScript_TailwindEnds); effect++; } + if (IsAbilityOnSide(gActiveBattler, ABILITY_WIND_RIDER)) + { + BattleScriptExecute(BattleScript_WindRiderActivatesEnd2); + effect++; + } } gBattleStruct->turnSideTracker++; if (effect != 0) @@ -5115,6 +5120,11 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move gBattlescriptCurrInstr = BattleScript_WellBakedBodyActivates; effect = 1; } + else if (targetAbility == ABILITY_WIND_RIDER && gBattleMoves[gCurrentMove].flags & FLAG_WIND_MOVE && !(moveTarget & MOVE_TARGET_USER)) + { + gBattlescriptCurrInstr = BattleScript_WindRiderActivatesMoveEnd; + effect = 1; + } break; } case ABILITYEFFECT_ABSORBING: // 3 diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 346309c55..37ba7aaff 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -272,7 +272,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_DMG_2X_IN_AIR, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_DMG_2X_IN_AIR | FLAG_WIND_MOVE, .split = SPLIT_SPECIAL, .zMovePower = 100, .zMoveEffect = Z_EFFECT_NONE, @@ -298,7 +298,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = { #if B_UPDATED_MOVE_DATA >= GEN_6 .accuracy = 0, - .flags = FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .flags = FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_WIND_MOVE, #elif B_UPDATED_MOVE_DATA == GEN_5 .accuracy = 100, .flags = FLAG_PROTECT_AFFECTED | FLAG_MAGIC_COAT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, @@ -1073,7 +1073,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_WIND_MOVE, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -3531,7 +3531,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 100, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_WIND_MOVE, .split = SPLIT_SPECIAL, .zMovePower = 100, .zMoveEffect = Z_EFFECT_NONE, @@ -3633,7 +3633,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_ALL_BATTLERS, .priority = 0, - .flags = 0, + .flags = FLAG_WIND_MOVE, .split = SPLIT_STATUS, .zMovePower = 0, .zMoveEffect = Z_EFFECT_SPD_UP_1, @@ -4290,7 +4290,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_TWISTER] = { #if B_UPDATED_MOVE_DATA >= GEN_5 - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_DMG_2X_IN_AIR, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_DMG_2X_IN_AIR | FLAG_WIND_MOVE, #else .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_DMG_2X_IN_AIR, #endif @@ -4663,7 +4663,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_WIND_MOVE, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -5656,7 +5656,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT | FLAG_WIND_MOVE, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -6613,7 +6613,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_SNATCH_AFFECTED, + .flags = FLAG_SNATCH_AFFECTED | FLAG_WIND_MOVE, .split = SPLIT_STATUS, .zMovePower = 0, .zMoveEffect = Z_EFFECT_BOOST_CRITS, @@ -9691,7 +9691,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_DMG_IN_AIR, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_DMG_IN_AIR | FLAG_WIND_MOVE, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -10201,7 +10201,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_FOES_AND_ALLY, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_WIND_MOVE, .split = SPLIT_PHYSICAL, .zMovePower = 175, .zMoveEffect = Z_EFFECT_NONE, @@ -10400,7 +10400,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_WIND_MOVE, .split = SPLIT_SPECIAL, .zMovePower = 100, .zMoveEffect = Z_EFFECT_NONE, @@ -13308,7 +13308,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 30, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_WIND_MOVE, .split = SPLIT_SPECIAL, .zMovePower = 175, .zMoveEffect = Z_EFFECT_NONE, @@ -13548,7 +13548,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_WIND_MOVE, .split = SPLIT_SPECIAL, .zMovePower = 175, .zMoveEffect = Z_EFFECT_NONE, @@ -13564,7 +13564,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_WIND_MOVE, .split = SPLIT_SPECIAL, .zMovePower = 175, .zMoveEffect = Z_EFFECT_NONE, @@ -13580,7 +13580,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_WIND_MOVE, .split = SPLIT_SPECIAL, .zMovePower = 175, .zMoveEffect = Z_EFFECT_NONE, From c43060fbfdd2df9943c84e177d52a09663b2d0b6 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sat, 3 Dec 2022 20:41:20 -0300 Subject: [PATCH 051/130] Tweaked BattleScript_WellBakedBodyActivates and BattleScript_WindRiderActivatesMoveEnd --- data/battle_scripts_1.s | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index a9e196ae8..a70ec7cf2 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -9823,10 +9823,8 @@ BattleScript_DarkTypePreventsPrankster:: BattleScript_WellBakedBodyActivates:: attackstring ppreduce + pause B_WAIT_TIME_SHORT showabilitypopup BS_TARGET - pause B_WAIT_TIME_MED - printstring STRINGID_ITDOESNTAFFECT - waitmessage B_WAIT_TIME_MED orhalfword gMoveResultFlags, MOVE_RESULT_NO_EFFECT modifybattlerstatstage BS_TARGET, STAT_DEF, INCREASE, 1, BattleScript_WellBakedBodyEnd, ANIM_ON BattleScript_WellBakedBodyEnd: @@ -9835,10 +9833,9 @@ BattleScript_WellBakedBodyEnd: BattleScript_WindRiderActivatesMoveEnd:: attackstring ppreduce + pause B_WAIT_TIME_SHORT showabilitypopup BS_TARGET - pause B_WAIT_TIME_MED orhalfword gMoveResultFlags, MOVE_RESULT_NO_EFFECT - printstring STRINGID_EMPTYSTRING3 modifybattlerstatstage BS_TARGET, STAT_ATK, INCREASE, 1, BattleScript_WindRiderActivatesMoveEnd_End, ANIM_ON BattleScript_WindRiderActivatesMoveEnd_End: goto BattleScript_MoveEnd From c1e232cbf694056a6566a616f0403f07495207ff Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sat, 3 Dec 2022 20:47:30 -0300 Subject: [PATCH 052/130] Implemented Rocky Payload's effect --- src/battle_util.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/battle_util.c b/src/battle_util.c index 45eecf1a1..cdaf67b59 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -8726,6 +8726,10 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe if (IS_MOVE_PHYSICAL(move)) MulModifier(&modifier, UQ_4_12(1.5)); break; + case ABILITY_ROCKY_PAYLOAD: + if (moveType == TYPE_ROCK) + MulModifier(&modifier, UQ_4_12(1.5)); + break; } // field abilities From 88cae380d0f2b325463e3a4e0c6d276fe62c76b0 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sat, 3 Dec 2022 21:20:34 -0300 Subject: [PATCH 053/130] Implemented Wind Power's effect --- data/battle_scripts_1.s | 30 +++++++++++++++++++++++++++ include/battle_scripts.h | 2 ++ include/constants/battle_string_ids.h | 3 ++- src/battle_message.c | 3 ++- src/battle_util.c | 19 +++++++++++++++++ 5 files changed, 55 insertions(+), 2 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index a70ec7cf2..f1e3902b4 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -6609,6 +6609,27 @@ BattleScript_WindRiderEnd: destroyabilitypopup end2 +BattleScript_WindPowerActivatesEnd2:: + setbyte gBattlerAttacker, 0 +BattleScript_WindPowerLoop: + printstring STRINGID_EMPTYSTRING3 + jumpifability BS_ATTACKER, ABILITY_WIND_POWER, BattleScript_WindPowerLoop_Cont + goto BattleScript_WindPowerIncrement +BattleScript_WindPowerLoop_Cont: + jumpifstatus3 BS_ATTACKER, STATUS3_CHARGED_UP, BattleScript_WindPowerIncrement + goto BattleScript_WindPower_Activate +BattleScript_WindPower_Activate: + call BattleScript_AbilityPopUp + setcharge + printstring STRINGID_BEINGHITCHARGEDPKMNWITHPOWER + waitmessage B_WAIT_TIME_LONG +BattleScript_WindPowerIncrement: + addbyte gBattlerAttacker, 1 + jumpifbytenotequal gBattlerAttacker, gBattlersCount, BattleScript_WindPowerLoop +BattleScript_WindPowerEnd: + destroyabilitypopup + end2 + BattleScript_TrickRoomEnds:: printstring STRINGID_TRICKROOMENDS waitmessage B_WAIT_TIME_LONG @@ -7102,6 +7123,15 @@ BattleScript_AngerShellTrySpeed: BattleScript_AngerShellRet: return +BattleScript_WindPowerActivates:: + jumpifstatus3 BS_ATTACKER, STATUS3_CHARGED_UP, BattleScript_WindPowerActivates_Ret + call BattleScript_AbilityPopUp + setcharge + printstring STRINGID_BEINGHITCHARGEDPKMNWITHPOWER + waitmessage B_WAIT_TIME_LONG +BattleScript_WindPowerActivates_Ret: + return + BattleScript_PerishSongCountGoesDown:: printstring STRINGID_PKMNPERISHCOUNTFELL waitmessage B_WAIT_TIME_LONG diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 4d1d750df..5953a8c76 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -438,6 +438,8 @@ extern const u8 BattleScript_AngerShellActivates[]; extern const u8 BattleScript_WellBakedBodyActivates[]; extern const u8 BattleScript_WindRiderActivatesEnd2[]; extern const u8 BattleScript_WindRiderActivatesMoveEnd[]; +extern const u8 BattleScript_WindPowerActivates[]; +extern const u8 BattleScript_WindPowerActivatesEnd2[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h index 4bce51a45..70841dd9a 100644 --- a/include/constants/battle_string_ids.h +++ b/include/constants/battle_string_ids.h @@ -630,8 +630,9 @@ #define STRINGID_ATTACKERHEALEDITSBURN 628 #define STRINGID_ATTACKERMELTEDTHEICE 629 #define STRINGID_TARGETTOUGHEDITOUT 630 +#define STRINGID_BEINGHITCHARGEDPKMNWITHPOWER 631 -#define BATTLESTRINGS_COUNT 631 +#define BATTLESTRINGS_COUNT 632 // 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 c243e3041..b4f2c80f0 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -759,10 +759,11 @@ static const u8 sText_AttackerBrokeThroughParalysis[] = _("{B_ATK_NAME_WITH_PREF static const u8 sText_AttackerHealedItsBurn[] = _("{B_ATK_NAME_WITH_PREFIX} healed its burn with\nits sheer determination!"); static const u8 sText_AttackerMeltedTheIce[] = _("{B_ATK_NAME_WITH_PREFIX} melted the ice with\nits fiery determination!"); static const u8 sText_TargetToughedItOut[] = _("{B_DEF_NAME_WITH_PREFIX} toughed it out\nto show you its best side!"); - +static const u8 sText_BeingHitChargedPkmnWithPower[] = _("Being hit by {B_CURRENT_MOVE}\ncharged {B_ATK_NAME_WITH_PREFIX} with power!"); const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = { + [STRINGID_BEINGHITCHARGEDPKMNWITHPOWER - BATTLESTRINGS_TABLE_START] = sText_BeingHitChargedPkmnWithPower, [STRINGID_TARGETTOUGHEDITOUT - BATTLESTRINGS_TABLE_START] = sText_TargetToughedItOut, [STRINGID_ATTACKERMELTEDTHEICE - BATTLESTRINGS_TABLE_START] = sText_AttackerMeltedTheIce, [STRINGID_ATTACKERHEALEDITSBURN - BATTLESTRINGS_TABLE_START] = sText_AttackerHealedItsBurn, diff --git a/src/battle_util.c b/src/battle_util.c index cdaf67b59..e12612fa8 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -2378,6 +2378,12 @@ u8 DoFieldEndTurnEffects(void) BattleScriptExecute(BattleScript_WindRiderActivatesEnd2); effect++; } + if (IsAbilityOnSide(gActiveBattler, ABILITY_WIND_POWER)) + { + gCurrentMove = MOVE_TAILWIND; + BattleScriptExecute(BattleScript_WindPowerActivatesEnd2); + effect++; + } } gBattleStruct->turnSideTracker++; if (effect != 0) @@ -5777,6 +5783,19 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move effect++; } break; + case ABILITY_WIND_POWER: + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg + && TARGET_TURN_DAMAGED + && gBattleMoves[gCurrentMove].flags & FLAG_WIND_MOVE + && IsBattlerAlive(gBattlerTarget)) + { + gBattlerAttacker = gBattlerTarget; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_WindPowerActivates; + effect++; + } + break; } break; case ABILITYEFFECT_MOVE_END_ATTACKER: // Same as above, but for attacker From 34cafa746ce99fcf4efe6f1513ef51e9a694d6cc Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sun, 4 Dec 2022 18:55:37 -0300 Subject: [PATCH 054/130] =?UTF-8?q?Implemented=20Electromorphosis'=20effec?= =?UTF-8?q?t=20Also=20added=20a=20battle=20preproc=20config=20to=20check?= =?UTF-8?q?=20if=20the=20STATUS3=5FCHARGED=5FUP=20was=20already=20applied.?= =?UTF-8?q?=20Pok=C3=A9mon=20Scarlet=20and=20Violet=20don't=20check=20if?= =?UTF-8?q?=20this=20status=20flag=20was=20already=20applied=20on=20the=20?= =?UTF-8?q?target=20of=20abilities=20like=20Electromorphosis=20(and=20Wind?= =?UTF-8?q?=20Power=20until=20proven=20otherwise.)=20As=20a=20result,=20th?= =?UTF-8?q?e=20game=20will=20trigger=20the=20ability=20multiple=20times=20?= =?UTF-8?q?if=20they're=20hit=20by=20a=20multihit=20move.=20This=20directi?= =?UTF-8?q?ve=20makes=20the=20code=20end=20the=20ability=20effect=20preemp?= =?UTF-8?q?tively=20if=20the=20target=20does=20have=20the=20status=20flag?= =?UTF-8?q?=20applied.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/battle_scripts_1.s | 2 ++ include/config/battle.h | 1 + src/battle_util.c | 1 + 3 files changed, 4 insertions(+) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index f1e3902b4..01c0df71a 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -7124,7 +7124,9 @@ BattleScript_AngerShellRet: return BattleScript_WindPowerActivates:: +.if B_CHECK_IF_CHARGED_UP == TRUE jumpifstatus3 BS_ATTACKER, STATUS3_CHARGED_UP, BattleScript_WindPowerActivates_Ret +.endif call BattleScript_AbilityPopUp setcharge printstring STRINGID_BEINGHITCHARGEDPKMNWITHPOWER diff --git a/include/config/battle.h b/include/config/battle.h index 644f9955c..3f359a6f2 100644 --- a/include/config/battle.h +++ b/include/config/battle.h @@ -109,6 +109,7 @@ #define B_PLUS_MINUS_INTERACTION GEN_LATEST // In Gen5+, Plus and Minus can be activated with themselves and the opposite ability. Before, only the opposing ability could activate it. #define B_WEATHER_FORMS GEN_LATEST // In Gen5+, Castform and Cherrim revert to their base form upon losing their respective ability. Cherrim needs Flower Gift to swap forms. #define B_SYMBIOSIS_GEMS GEN_LATEST // In Gen7+, Symbiosis passes an item after a gem-boosted attack. Previously, items are passed before the gem-boosted attack hits, making the item effect apply. +#define B_CHECK_IF_CHARGED_UP TRUE // If set to TRUE, certain abilities such as Electromorphosis WILL check if the STATUS3_CHARGED_UP status flag is applied. // Item settings #define B_HP_BERRIES GEN_LATEST // In Gen4+, berries which restore hp activate immediately after HP drops to half. In Gen3, the effect occurs at the end of the turn. diff --git a/src/battle_util.c b/src/battle_util.c index e12612fa8..e79947b09 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5784,6 +5784,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move } break; case ABILITY_WIND_POWER: + case ABILITY_ELECTROMORPHOSIS: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && !gProtectStructs[gBattlerAttacker].confusionSelfDmg && TARGET_TURN_DAMAGED From a328088122ff3a93b5edaa59c82010b37e93a03d Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sun, 4 Dec 2022 19:18:41 -0300 Subject: [PATCH 055/130] Implemented Protosynthesis' effect Also turned GetHighestStatId into a global function since Protosynthesis' effect uses it. --- data/battle_scripts_1.s | 8 +++++++ include/battle_script_commands.h | 1 + include/battle_scripts.h | 1 + include/constants/battle_string_ids.h | 4 +++- src/battle_main.c | 3 +++ src/battle_message.c | 4 ++++ src/battle_script_commands.c | 2 +- src/battle_util.c | 34 +++++++++++++++++++++------ 8 files changed, 48 insertions(+), 9 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 01c0df71a..3b8f69d7b 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -8410,6 +8410,14 @@ BattleScript_DeltaStreamActivates:: playanimation BS_ATTACKER, B_ANIM_STRONG_WINDS end3 +BattleScript_ProtosynthesisActivates:: + call BattleScript_AbilityPopUp + printstring STRINGID_SUNLIGHTACTIVATEDABILITY + waitmessage B_WAIT_TIME_MED + printstring STRINGID_STATWASHEIGHTENED + waitmessage B_WAIT_TIME_MED + end3 + BattleScript_AttackWeakenedByStrongWinds:: pause B_WAIT_TIME_SHORT printstring STRINGID_ATTACKWEAKENEDBSTRONGWINDS diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index 44185a11a..60fd9b156 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -43,6 +43,7 @@ u16 GetNaturePowerMove(void); u16 GetSecretPowerMoveEffect(void); void StealTargetItem(u8 battlerStealer, u8 battlerItem); u8 GetCatchingBattler(void); +u32 GetHighestStatId(u32 battlerId); extern void (* const gBattleScriptingCommandsTable[])(void); extern const u8 gBattlePalaceNatureToMoveGroupLikelihood[NUM_NATURES][4]; diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 5953a8c76..c614e4b67 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -440,6 +440,7 @@ extern const u8 BattleScript_WindRiderActivatesEnd2[]; extern const u8 BattleScript_WindRiderActivatesMoveEnd[]; extern const u8 BattleScript_WindPowerActivates[]; extern const u8 BattleScript_WindPowerActivatesEnd2[]; +extern const u8 BattleScript_ProtosynthesisActivates[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h index 70841dd9a..d4525572f 100644 --- a/include/constants/battle_string_ids.h +++ b/include/constants/battle_string_ids.h @@ -631,8 +631,10 @@ #define STRINGID_ATTACKERMELTEDTHEICE 629 #define STRINGID_TARGETTOUGHEDITOUT 630 #define STRINGID_BEINGHITCHARGEDPKMNWITHPOWER 631 +#define STRINGID_SUNLIGHTACTIVATEDABILITY 632 +#define STRINGID_STATWASHEIGHTENED 633 -#define BATTLESTRINGS_COUNT 632 +#define BATTLESTRINGS_COUNT 634 // 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_main.c b/src/battle_main.c index 392e53268..f78822247 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -4482,6 +4482,7 @@ u32 GetBattlerTotalSpeedStat(u8 battlerId) u32 speed = gBattleMons[battlerId].speed; u32 ability = GetBattlerAbility(battlerId); u32 holdEffect = GetBattlerHoldEffect(battlerId, TRUE); + u32 highestStat = GetHighestStatId(battlerId); // weather abilities if (WEATHER_HAS_EFFECT) @@ -4503,6 +4504,8 @@ u32 GetBattlerTotalSpeedStat(u8 battlerId) speed *= 2; else if (ability == ABILITY_SLOW_START && gDisableStructs[battlerId].slowStartTimer != 0) speed /= 2; + else if (ability == ABILITY_PROTOSYNTHESIS && gBattleWeather & B_WEATHER_SUN && highestStat == STAT_SPEED) + speed = (speed * 150) / 100; // stat stages speed *= gStatStageRatios[gBattleMons[battlerId].statStages[STAT_SPEED]][0]; diff --git a/src/battle_message.c b/src/battle_message.c index b4f2c80f0..e8af7d625 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -760,9 +760,13 @@ static const u8 sText_AttackerHealedItsBurn[] = _("{B_ATK_NAME_WITH_PREFIX} heal static const u8 sText_AttackerMeltedTheIce[] = _("{B_ATK_NAME_WITH_PREFIX} melted the ice with\nits fiery determination!"); static const u8 sText_TargetToughedItOut[] = _("{B_DEF_NAME_WITH_PREFIX} toughed it out\nto show you its best side!"); static const u8 sText_BeingHitChargedPkmnWithPower[] = _("Being hit by {B_CURRENT_MOVE}\ncharged {B_ATK_NAME_WITH_PREFIX} with power!"); +static const u8 sText_SunlightActivatedAbility[] = _("The harsh sunlight activated\n{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}!"); +static const u8 sText_StatWasHeightened[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1} was heightened!"); const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = { + [STRINGID_STATWASHEIGHTENED - BATTLESTRINGS_TABLE_START] = sText_StatWasHeightened, + [STRINGID_SUNLIGHTACTIVATEDABILITY - BATTLESTRINGS_TABLE_START] = sText_SunlightActivatedAbility, [STRINGID_BEINGHITCHARGEDPKMNWITHPOWER - BATTLESTRINGS_TABLE_START] = sText_BeingHitChargedPkmnWithPower, [STRINGID_TARGETTOUGHEDITOUT - BATTLESTRINGS_TABLE_START] = sText_TargetToughedItOut, [STRINGID_ATTACKERMELTEDTHEICE - BATTLESTRINGS_TABLE_START] = sText_AttackerMeltedTheIce, diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 09ef738df..6196ab37b 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -8098,7 +8098,7 @@ static void RecalcBattlerStats(u32 battler, struct Pokemon *mon) gBattleMons[battler].type2 = gSpeciesInfo[gBattleMons[battler].species].type2; } -static u32 GetHighestStatId(u32 battlerId) +u32 GetHighestStatId(u32 battlerId) { u32 i, highestId = STAT_ATK, highestStat = gBattleMons[battlerId].attack; diff --git a/src/battle_util.c b/src/battle_util.c index e79947b09..13c581730 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -4883,6 +4883,15 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move effect++; } break; + case ABILITY_PROTOSYNTHESIS: + if (!gSpecialStatuses[battler].switchInAbilityDone && gBattleWeather & B_WEATHER_SUN) + { + gSpecialStatuses[battler].switchInAbilityDone = TRUE; + PREPARE_STAT_BUFFER(gBattleTextBuff1, GetHighestStatId(battler)); + BattleScriptPushCursorAndCallback(BattleScript_ProtosynthesisActivates); + effect++; + } + break; #if B_WEATHER_FORMS < GEN_5 default: if (gBattleMons[battler].species == SPECIES_CHERRIM) @@ -8632,15 +8641,19 @@ static u16 CalcMoveBasePower(u16 move, u8 battlerAtk, u8 battlerDef) static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, bool32 updateFlags) { - u32 i, ability; + u32 i; u32 holdEffectAtk, holdEffectParamAtk; u16 basePower = CalcMoveBasePower(move, battlerAtk, battlerDef); u16 holdEffectModifier; u16 modifier = UQ_4_12(1.0); u32 atkSide = GET_BATTLER_SIDE(battlerAtk); + u16 atkAbility = GetBattlerAbility(battlerAtk); + u16 defAbility = GetBattlerAbility(battlerDef); + u8 atkHighestStat = GetHighestStatId(battlerAtk); + u8 defHighestStat = GetHighestStatId(battlerDef); // attacker's abilities - switch (GetBattlerAbility(battlerAtk)) + switch (atkAbility) { case ABILITY_TECHNICIAN: if (basePower <= 60) @@ -8750,11 +8763,15 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe if (moveType == TYPE_ROCK) MulModifier(&modifier, UQ_4_12(1.5)); break; + case ABILITY_PROTOSYNTHESIS: + if (gBattleWeather & B_WEATHER_SUN && WEATHER_HAS_EFFECT && (atkHighestStat == STAT_ATK || atkHighestStat == STAT_SPATK)) + MulModifier(&modifier, UQ_4_12(1.3)); + break; } // field abilities if ((IsAbilityOnField(ABILITY_DARK_AURA) && moveType == TYPE_DARK) - || (IsAbilityOnField(ABILITY_FAIRY_AURA) && moveType == TYPE_FAIRY)) + || (IsAbilityOnField(ABILITY_FAIRY_AURA) && moveType == TYPE_FAIRY)) { if (IsAbilityOnField(ABILITY_AURA_BREAK)) MulModifier(&modifier, UQ_4_12(0.75)); @@ -8782,8 +8799,7 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe } // target's abilities - ability = GetBattlerAbility(battlerDef); - switch (ability) + switch (defAbility) { case ABILITY_HEATPROOF: case ABILITY_WATER_BUBBLE: @@ -8791,7 +8807,7 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe { MulModifier(&modifier, UQ_4_12(0.5)); if (updateFlags) - RecordAbilityBattle(battlerDef, ability); + RecordAbilityBattle(battlerDef, defAbility); } break; case ABILITY_DRY_SKIN: @@ -8803,11 +8819,15 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe { MulModifier(&modifier, UQ_4_12(0.5)); if (updateFlags) - RecordAbilityBattle(battlerDef, ability); + RecordAbilityBattle(battlerDef, defAbility); } if (moveType == TYPE_FIRE) MulModifier(&modifier, UQ_4_12(2.0)); break; + case ABILITY_PROTOSYNTHESIS: + if (gBattleWeather & B_WEATHER_SUN && WEATHER_HAS_EFFECT && (defHighestStat == STAT_DEF || defHighestStat == STAT_SPDEF)) + MulModifier(&modifier, UQ_4_12(0.3)); + break; } holdEffectAtk = GetBattlerHoldEffect(battlerAtk, TRUE); From e25f843db3ac947fdfa179e2b24d7e886249f94f Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sun, 4 Dec 2022 19:35:51 -0300 Subject: [PATCH 056/130] Implemented Quark Drive's effect Also tweaked STRINGID_SUNLIGHTACTIVATEDABILITY and STRINGID_STATWASHEIGHTENED. --- data/battle_scripts_1.s | 8 ++++++++ include/battle_scripts.h | 1 + include/constants/battle_string_ids.h | 3 ++- src/battle_main.c | 2 ++ src/battle_message.c | 6 ++++-- src/battle_util.c | 17 +++++++++++++++++ 6 files changed, 34 insertions(+), 3 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 3b8f69d7b..2f2e6f1a8 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -8418,6 +8418,14 @@ BattleScript_ProtosynthesisActivates:: waitmessage B_WAIT_TIME_MED end3 +BattleScript_QuarkDriveActivates:: + call BattleScript_AbilityPopUp + printstring STRINGID_ELECTRICTERRAINACTIVATEDABILITY + waitmessage B_WAIT_TIME_MED + printstring STRINGID_STATWASHEIGHTENED + waitmessage B_WAIT_TIME_MED + end3 + BattleScript_AttackWeakenedByStrongWinds:: pause B_WAIT_TIME_SHORT printstring STRINGID_ATTACKWEAKENEDBSTRONGWINDS diff --git a/include/battle_scripts.h b/include/battle_scripts.h index c614e4b67..519c72fc4 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -441,6 +441,7 @@ 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[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h index d4525572f..9606c5f59 100644 --- a/include/constants/battle_string_ids.h +++ b/include/constants/battle_string_ids.h @@ -633,8 +633,9 @@ #define STRINGID_BEINGHITCHARGEDPKMNWITHPOWER 631 #define STRINGID_SUNLIGHTACTIVATEDABILITY 632 #define STRINGID_STATWASHEIGHTENED 633 +#define STRINGID_ELECTRICTERRAINACTIVATEDABILITY 634 -#define BATTLESTRINGS_COUNT 634 +#define BATTLESTRINGS_COUNT 635 // 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_main.c b/src/battle_main.c index f78822247..42de8ac3a 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -4506,6 +4506,8 @@ u32 GetBattlerTotalSpeedStat(u8 battlerId) speed /= 2; else if (ability == ABILITY_PROTOSYNTHESIS && gBattleWeather & B_WEATHER_SUN && highestStat == STAT_SPEED) speed = (speed * 150) / 100; + else if (ability == ABILITY_QUARK_DRIVE && gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN && highestStat == STAT_SPEED) + speed = (speed * 150) / 100; // stat stages speed *= gStatStageRatios[gBattleMons[battlerId].statStages[STAT_SPEED]][0]; diff --git a/src/battle_message.c b/src/battle_message.c index e8af7d625..00275fa45 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -760,11 +760,13 @@ static const u8 sText_AttackerHealedItsBurn[] = _("{B_ATK_NAME_WITH_PREFIX} heal static const u8 sText_AttackerMeltedTheIce[] = _("{B_ATK_NAME_WITH_PREFIX} melted the ice with\nits fiery determination!"); static const u8 sText_TargetToughedItOut[] = _("{B_DEF_NAME_WITH_PREFIX} toughed it out\nto show you its best side!"); static const u8 sText_BeingHitChargedPkmnWithPower[] = _("Being hit by {B_CURRENT_MOVE}\ncharged {B_ATK_NAME_WITH_PREFIX} with power!"); -static const u8 sText_SunlightActivatedAbility[] = _("The harsh sunlight activated\n{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}!"); -static const u8 sText_StatWasHeightened[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1} was heightened!"); +static const u8 sText_SunlightActivatedAbility[] = _("The harsh sunlight activated\n{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}!"); +static const u8 sText_StatWasHeightened[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} was heightened!"); +static const u8 sText_ElectricTerrainActivatedAbility[] = _("The Electric Terrain activated\n{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}!"); const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = { + [STRINGID_ELECTRICTERRAINACTIVATEDABILITY - BATTLESTRINGS_TABLE_START] = sText_ElectricTerrainActivatedAbility, [STRINGID_STATWASHEIGHTENED - BATTLESTRINGS_TABLE_START] = sText_StatWasHeightened, [STRINGID_SUNLIGHTACTIVATEDABILITY - BATTLESTRINGS_TABLE_START] = sText_SunlightActivatedAbility, [STRINGID_BEINGHITCHARGEDPKMNWITHPOWER - BATTLESTRINGS_TABLE_START] = sText_BeingHitChargedPkmnWithPower, diff --git a/src/battle_util.c b/src/battle_util.c index 13c581730..aa00f1df7 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -4892,6 +4892,15 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move effect++; } break; + case ABILITY_QUARK_DRIVE: + if (!gSpecialStatuses[battler].switchInAbilityDone && gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN) + { + gSpecialStatuses[battler].switchInAbilityDone = TRUE; + PREPARE_STAT_BUFFER(gBattleTextBuff1, GetHighestStatId(battler)); + BattleScriptPushCursorAndCallback(BattleScript_QuarkDriveActivates); + effect++; + } + break; #if B_WEATHER_FORMS < GEN_5 default: if (gBattleMons[battler].species == SPECIES_CHERRIM) @@ -8767,6 +8776,10 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe if (gBattleWeather & B_WEATHER_SUN && WEATHER_HAS_EFFECT && (atkHighestStat == STAT_ATK || atkHighestStat == STAT_SPATK)) MulModifier(&modifier, UQ_4_12(1.3)); break; + case ABILITY_QUARK_DRIVE: + if (gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN && (atkHighestStat == STAT_ATK || atkHighestStat == STAT_SPATK)) + MulModifier(&modifier, UQ_4_12(1.3)); + break; } // field abilities @@ -8828,6 +8841,10 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe if (gBattleWeather & B_WEATHER_SUN && WEATHER_HAS_EFFECT && (defHighestStat == STAT_DEF || defHighestStat == STAT_SPDEF)) MulModifier(&modifier, UQ_4_12(0.3)); break; + case ABILITY_QUARK_DRIVE: + if (gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN && (defHighestStat == STAT_DEF || defHighestStat == STAT_SPDEF)) + MulModifier(&modifier, UQ_4_12(0.3)); + break; } holdEffectAtk = GetBattlerHoldEffect(battlerAtk, TRUE); From de05c4dd56e2c16dd39185a959902f233009417e Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sun, 4 Dec 2022 20:17:14 -0300 Subject: [PATCH 057/130] Implemented Good as Gold's effect --- data/battle_scripts_1.s | 9 +++++++++ include/battle_scripts.h | 1 + src/battle_util.c | 9 +++++++++ 3 files changed, 19 insertions(+) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 2f2e6f1a8..6cf62d2f9 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -9888,6 +9888,15 @@ BattleScript_WindRiderActivatesMoveEnd:: BattleScript_WindRiderActivatesMoveEnd_End: goto BattleScript_MoveEnd +BattleScript_GoodAsGoldActivates:: + attackstring + ppreduce + showabilitypopup BS_TARGET + pause B_WAIT_TIME_SHORT + printstring STRINGID_ITDOESNTAFFECT + waitmessage B_WAIT_TIME_MED + goto BattleScript_MoveEnd + BattleScript_PastelVeilActivates:: setbyte gBattleCommunication, 0 setbyte gBattleCommunication + 1, 0 diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 519c72fc4..960262cba 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -442,6 +442,7 @@ 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[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/src/battle_util.c b/src/battle_util.c index aa00f1df7..6c69183d0 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5149,6 +5149,15 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move gBattlescriptCurrInstr = BattleScript_WindRiderActivatesMoveEnd; effect = 1; } + else if (GetBattlerAbility(gBattlerTarget) == ABILITY_GOOD_AS_GOLD + && IS_MOVE_STATUS(gCurrentMove) + && !(moveTarget & MOVE_TARGET_USER) + && !(moveTarget & MOVE_TARGET_OPPONENTS_FIELD) + && !(moveTarget & MOVE_TARGET_ALL_BATTLERS)) + { + gBattlescriptCurrInstr = BattleScript_GoodAsGoldActivates; + effect = 1; + } break; } case ABILITYEFFECT_ABSORBING: // 3 From 24465858a7d3506cc66b724bf7dc6eda85e8c7a6 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sun, 4 Dec 2022 20:24:35 -0300 Subject: [PATCH 058/130] Implemented the 4 Ruin Abilities --- data/battle_scripts_1.s | 6 ++++ include/battle_scripts.h | 1 + include/constants/battle_string_ids.h | 3 +- src/battle_message.c | 2 ++ src/battle_util.c | 48 +++++++++++++++++++++++++++ 5 files changed, 59 insertions(+), 1 deletion(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 6cf62d2f9..746d83230 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -8426,6 +8426,12 @@ BattleScript_QuarkDriveActivates:: waitmessage B_WAIT_TIME_MED end3 +BattleScript_RuinAbilityActivates:: + call BattleScript_AbilityPopUp + printstring STRINGID_ABILITYWEAKENEDFSURROUNDINGMONSSTAT + waitmessage B_WAIT_TIME_LONG + end3 + BattleScript_AttackWeakenedByStrongWinds:: pause B_WAIT_TIME_SHORT printstring STRINGID_ATTACKWEAKENEDBSTRONGWINDS diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 960262cba..33138189b 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -443,6 +443,7 @@ extern const u8 BattleScript_WindPowerActivatesEnd2[]; extern const u8 BattleScript_ProtosynthesisActivates[]; extern const u8 BattleScript_QuarkDriveActivates[]; extern const u8 BattleScript_GoodAsGoldActivates[]; +extern const u8 BattleScript_RuinAbilityActivates[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h index 9606c5f59..9c0965bb5 100644 --- a/include/constants/battle_string_ids.h +++ b/include/constants/battle_string_ids.h @@ -634,8 +634,9 @@ #define STRINGID_SUNLIGHTACTIVATEDABILITY 632 #define STRINGID_STATWASHEIGHTENED 633 #define STRINGID_ELECTRICTERRAINACTIVATEDABILITY 634 +#define STRINGID_ABILITYWEAKENEDFSURROUNDINGMONSSTAT 635 -#define BATTLESTRINGS_COUNT 635 +#define BATTLESTRINGS_COUNT 636 // 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 00275fa45..d109e0f4e 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -763,9 +763,11 @@ static const u8 sText_BeingHitChargedPkmnWithPower[] = _("Being hit by {B_CURREN static const u8 sText_SunlightActivatedAbility[] = _("The harsh sunlight activated\n{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}!"); static const u8 sText_StatWasHeightened[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} was heightened!"); static const u8 sText_ElectricTerrainActivatedAbility[] = _("The Electric Terrain activated\n{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}!"); +static const u8 sText_AbilityWeakenedSurroundingMonsStat[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}\nweakened the {B_BUFF1} of\lall surrounding Pokémon!\p"); const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = { + [STRINGID_ABILITYWEAKENEDFSURROUNDINGMONSSTAT - BATTLESTRINGS_TABLE_START] = sText_AbilityWeakenedSurroundingMonsStat, [STRINGID_ELECTRICTERRAINACTIVATEDABILITY - BATTLESTRINGS_TABLE_START] = sText_ElectricTerrainActivatedAbility, [STRINGID_STATWASHEIGHTENED - BATTLESTRINGS_TABLE_START] = sText_StatWasHeightened, [STRINGID_SUNLIGHTACTIVATEDABILITY - BATTLESTRINGS_TABLE_START] = sText_SunlightActivatedAbility, diff --git a/src/battle_util.c b/src/battle_util.c index 6c69183d0..e89ea26b1 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -4901,6 +4901,42 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move effect++; } break; + case ABILITY_VESSEL_OF_RUIN: + if (!gSpecialStatuses[battler].switchInAbilityDone) + { + PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_SPATK); + gSpecialStatuses[battler].switchInAbilityDone = TRUE; + BattleScriptPushCursorAndCallback(BattleScript_RuinAbilityActivates); + effect++; + } + break; + case ABILITY_SWORD_OF_RUIN: + if (!gSpecialStatuses[battler].switchInAbilityDone) + { + PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_DEF); + gSpecialStatuses[battler].switchInAbilityDone = TRUE; + BattleScriptPushCursorAndCallback(BattleScript_RuinAbilityActivates); + effect++; + } + break; + case ABILITY_TABLETS_OF_RUIN: + if (!gSpecialStatuses[battler].switchInAbilityDone) + { + PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_ATK); + gSpecialStatuses[battler].switchInAbilityDone = TRUE; + BattleScriptPushCursorAndCallback(BattleScript_RuinAbilityActivates); + effect++; + } + break; + case ABILITY_BEADS_OF_RUIN: + if (!gSpecialStatuses[battler].switchInAbilityDone) + { + PREPARE_STAT_BUFFER(gBattleTextBuff1, STAT_SPDEF); + gSpecialStatuses[battler].switchInAbilityDone = TRUE; + BattleScriptPushCursorAndCallback(BattleScript_RuinAbilityActivates); + effect++; + } + break; #if B_WEATHER_FORMS < GEN_5 default: if (gBattleMons[battler].species == SPECIES_CHERRIM) @@ -8801,6 +8837,18 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe MulModifier(&modifier, UQ_4_12(1.33)); } + if (IsAbilityOnField(ABILITY_VESSEL_OF_RUIN) && atkAbility != ABILITY_VESSEL_OF_RUIN && IS_MOVE_SPECIAL(gCurrentMove)) + MulModifier(&modifier, UQ_4_12(0.25)); + + if (IsAbilityOnField(ABILITY_SWORD_OF_RUIN) && defAbility != ABILITY_SWORD_OF_RUIN && IS_MOVE_PHYSICAL(gCurrentMove)) + MulModifier(&modifier, UQ_4_12(0.25)); + + if (IsAbilityOnField(ABILITY_TABLETS_OF_RUIN) && atkAbility != ABILITY_TABLETS_OF_RUIN && IS_MOVE_PHYSICAL(gCurrentMove)) + MulModifier(&modifier, UQ_4_12(0.25)); + + if (IsAbilityOnField(ABILITY_BEADS_OF_RUIN) && defAbility != ABILITY_BEADS_OF_RUIN && IS_MOVE_SPECIAL(gCurrentMove)) + MulModifier(&modifier, UQ_4_12(0.25)); + // attacker partner's abilities if (IsBattlerAlive(BATTLE_PARTNER(battlerAtk))) { From dd90ab1911a270720b2b39a4637ff7b0567611f6 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sun, 4 Dec 2022 20:39:23 -0300 Subject: [PATCH 059/130] Implemented Orichalcum Pulse's effect --- src/battle_util.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/battle_util.c b/src/battle_util.c index e89ea26b1..f4fe58ae1 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -4937,6 +4937,13 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move effect++; } break; + case ABILITY_ORICHALCUM_PULSE: + if (TryChangeBattleWeather(battler, ENUM_WEATHER_SUN, TRUE)) + { + BattleScriptPushCursorAndCallback(BattleScript_DroughtActivates); + effect++; + } + break; #if B_WEATHER_FORMS < GEN_5 default: if (gBattleMons[battler].species == SPECIES_CHERRIM) @@ -8825,6 +8832,10 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe if (gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN && (atkHighestStat == STAT_ATK || atkHighestStat == STAT_SPATK)) MulModifier(&modifier, UQ_4_12(1.3)); break; + case ABILITY_ORICHALCUM_PULSE: + if (gBattleWeather & B_WEATHER_SUN && WEATHER_HAS_EFFECT) + MulModifier(&modifier, UQ_4_12(1.3)); + break; } // field abilities From 18c30be8384008b63f2903d4a0ca087530c8c03a Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sun, 4 Dec 2022 20:40:34 -0300 Subject: [PATCH 060/130] Implemented Hadron Engine's effect --- src/battle_util.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/battle_util.c b/src/battle_util.c index f4fe58ae1..38504e1bb 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -4944,6 +4944,13 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move effect++; } break; + case ABILITY_HADRON_ENGINE: + if (TryChangeBattleTerrain(battler, STATUS_FIELD_ELECTRIC_TERRAIN, &gFieldTimers.terrainTimer)) + { + BattleScriptPushCursorAndCallback(BattleScript_ElectricSurgeActivates); + effect++; + } + break; #if B_WEATHER_FORMS < GEN_5 default: if (gBattleMons[battler].species == SPECIES_CHERRIM) @@ -8836,6 +8843,10 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe if (gBattleWeather & B_WEATHER_SUN && WEATHER_HAS_EFFECT) MulModifier(&modifier, UQ_4_12(1.3)); break; + case ABILITY_HADRON_ENGINE: + if (gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN) + MulModifier(&modifier, UQ_4_12(1.3)); + break; } // field abilities From 7c67f1ac27ad698d76754b88653e8e98739f6a29 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Mon, 5 Dec 2022 23:24:27 -0300 Subject: [PATCH 061/130] Activated Switch In abilities during weather and terrain change Abilities such as Protosynthesis and Quark Drive demand it. --- data/battle_scripts_1.s | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 746d83230..785625e32 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -4886,6 +4886,7 @@ BattleScript_MoveWeatherChange:: printfromtable gMoveWeatherChangeStringIds waitmessage B_WAIT_TIME_LONG call BattleScript_WeatherFormChanges + call BattleScript_ActivateSwitchInAbilities goto BattleScript_MoveEnd BattleScript_EffectSunnyDay:: @@ -8458,6 +8459,18 @@ BattleScript_TerrainSeedLoop_NextBattler: addbyte gBattlerTarget, 0x1 jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_TerrainSeedLoopIter restoretarget + call BattleScript_ActivateSwitchInAbilities + return + +BattleScript_ActivateSwitchInAbilities: + copybyte sBATTLER, gBattlerAttacker + setbyte gBattlerAttacker, 0 +BattleScript_ActivateSwitchInAbilities_Loop: + switchinabilities BS_ATTACKER +BattleScript_ActivateSwitchInAbilities_Increment: + addbyte gBattlerAttacker, 1 + jumpifbytenotequal gBattlerAttacker, gBattlersCount, BattleScript_ActivateSwitchInAbilities_Loop + copybyte gBattlerAttacker, sBATTLER return BattleScript_ElectricSurgeActivates:: From f96137eb5e55dbc3bba9c59f6f34218b63f09d95 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Mon, 5 Dec 2022 23:36:18 -0300 Subject: [PATCH 062/130] Implemented Cud Chew's effect --- data/battle_scripts_1.s | 11 +++++++++++ include/battle.h | 1 + include/battle_scripts.h | 1 + src/battle_util.c | 15 +++++++++++++++ 4 files changed, 28 insertions(+) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 785625e32..00fb0ba27 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -7656,6 +7656,17 @@ BattleScript_BallFetch:: waitmessage B_WAIT_TIME_LONG end3 +BattleScript_CudChewActivates:: + pause B_WAIT_TIME_SHORTEST + call BattleScript_AbilityPopUp + setbyte sBERRY_OVERRIDE, 1 @ override the requirements for eating berries + consumeberry BS_TARGET, FALSE + orword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE + healthbarupdate BS_ATTACKER + datahpupdate BS_ATTACKER + setbyte sBERRY_OVERRIDE, 0 + end3 + BattleScript_TargetFormChange:: pause 5 copybyte gBattlerAbility, gBattlerTarget diff --git a/include/battle.h b/include/battle.h index 14037b72c..4b33062d3 100644 --- a/include/battle.h +++ b/include/battle.h @@ -104,6 +104,7 @@ struct DisableStruct u8 noRetreat:1; u8 tarShot:1; u8 octolock:1; + u8 cudChew:1; }; struct ProtectStruct diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 33138189b..13fa5a4a6 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -444,6 +444,7 @@ extern const u8 BattleScript_ProtosynthesisActivates[]; extern const u8 BattleScript_QuarkDriveActivates[]; extern const u8 BattleScript_GoodAsGoldActivates[]; extern const u8 BattleScript_RuinAbilityActivates[]; +extern const u8 BattleScript_CudChewActivates[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/src/battle_util.c b/src/battle_util.c index 38504e1bb..7fdd63eb4 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -2696,6 +2696,7 @@ enum ENDTURN_THROAT_CHOP, ENDTURN_SLOW_START, ENDTURN_PLASMA_FISTS, + ENDTURN_CUD_CHEW, ENDTURN_BATTLER_COUNT }; @@ -3238,6 +3239,11 @@ u8 DoBattlerEndTurnEffects(void) gStatuses4[i] &= ~STATUS4_PLASMA_FISTS; gBattleStruct->turnEffectsTracker++; break; + case ENDTURN_CUD_CHEW: + if (GetBattlerAbility(gActiveBattler) == ABILITY_CUD_CHEW && !gDisableStructs[gActiveBattler].cudChew && GetUsedHeldItem(gActiveBattler) != ITEM_NONE) + gDisableStructs[gActiveBattler].cudChew = TRUE; + gBattleStruct->turnEffectsTracker++; + break; case ENDTURN_BATTLER_COUNT: // done gBattleStruct->turnEffectsTracker = 0; gBattleStruct->turnEffectsBattlerId++; @@ -5154,6 +5160,15 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move effect++; } break; + case ABILITY_CUD_CHEW: + if (ItemId_GetPocket(GetUsedHeldItem(battler)) == POCKET_BERRIES && gDisableStructs[gActiveBattler].cudChew == TRUE) + { + gLastUsedItem = gBattleStruct->usedHeldItems[battler][GetBattlerSide(battler)]; + gBattleStruct->usedHeldItems[battler][GetBattlerSide(battler)] = ITEM_NONE; + BattleScriptPushCursorAndCallback(BattleScript_CudChewActivates); + effect++; + } + break; } } break; From 3c30e6bdc360e9949bfbeb2e7e938deb1bbf3e3f Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Tue, 6 Dec 2022 01:41:06 -0300 Subject: [PATCH 063/130] Implemented Sharpness' effect --- include/constants/pokemon.h | 1 + src/battle_util.c | 4 ++++ src/data/battle_moves.h | 36 ++++++++++++++++++------------------ 3 files changed, 23 insertions(+), 18 deletions(-) diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 8d637af30..35eca5bbc 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -236,6 +236,7 @@ #define FLAG_HIT_IN_SUBSTITUTE (1 << 26) // Hyperspace Fury #define FLAG_TWO_STRIKES (1 << 27) // A move with this flag will strike twice, and may apply its effect on each hit #define FLAG_WIND_MOVE (1 << 28) +#define FLAG_SLICING_MOVE (1 << 29) // Split defines. #define SPLIT_PHYSICAL 0x0 diff --git a/src/battle_util.c b/src/battle_util.c index 7fdd63eb4..2362a3fff 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -8862,6 +8862,10 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe if (gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN) MulModifier(&modifier, UQ_4_12(1.3)); break; + case ABILITY_SHARPNESS: + if (gBattleMoves[move].flags & FLAG_SLICING_MOVE) + MulModifier(&modifier, UQ_4_12(1.5)); + break; } // field abilities diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index 37ba7aaff..b9603b882 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -256,7 +256,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMovePower = 100, .zMoveEffect = Z_EFFECT_NONE, @@ -1354,7 +1354,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMovePower = 100, .zMoveEffect = Z_EFFECT_NONE, @@ -2922,7 +2922,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMovePower = 140, .zMoveEffect = Z_EFFECT_NONE, @@ -3805,7 +3805,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMovePower = 100, .zMoveEffect = Z_EFFECT_NONE, @@ -5656,7 +5656,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_BOTH, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT | FLAG_WIND_MOVE, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT | FLAG_SLICING_MOVE | FLAG_WIND_MOVE, .split = SPLIT_SPECIAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -5989,7 +5989,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMovePower = 120, .zMoveEffect = Z_EFFECT_NONE, @@ -6286,7 +6286,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMoveEffect = Z_EFFECT_NONE, }, @@ -7217,7 +7217,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMovePower = 140, .zMoveEffect = Z_EFFECT_NONE, @@ -7259,7 +7259,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = { #if B_UPDATED_MOVE_DATA >= GEN_6 .pp = 15, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_SLICING_MOVE, #elif B_UPDATED_MOVE_DATA == GEN_5 .pp = 20, .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, @@ -7289,7 +7289,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMovePower = 160, .zMoveEffect = Z_EFFECT_NONE, @@ -7699,7 +7699,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT, + .flags = FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMovePower = 140, .zMoveEffect = Z_EFFECT_NONE, @@ -7921,7 +7921,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 10, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT | FLAG_SHEER_FORCE_BOOST, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_HIGH_CRIT | FLAG_SHEER_FORCE_BOOST | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMovePower = 140, .zMoveEffect = Z_EFFECT_NONE, @@ -9537,7 +9537,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_STAT_STAGES_IGNORED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_STAT_STAGES_IGNORED | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMovePower = 175, .zMoveEffect = Z_EFFECT_NONE, @@ -9553,7 +9553,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 50, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_SHEER_FORCE_BOOST | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMovePower = 140, .zMoveEffect = Z_EFFECT_NONE, @@ -11182,7 +11182,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMovePower = 190, .zMoveEffect = Z_EFFECT_NONE, @@ -12509,7 +12509,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMovePower = 180, .zMoveEffect = Z_EFFECT_NONE, @@ -13292,7 +13292,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_USER, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMovePower = 120, .zMoveEffect = Z_EFFECT_NONE, @@ -13532,7 +13532,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .secondaryEffectChance = 0, .target = MOVE_TARGET_SELECTED, .priority = 0, - .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED, + .flags = FLAG_MAKES_CONTACT | FLAG_PROTECT_AFFECTED | FLAG_MIRROR_MOVE_AFFECTED | FLAG_KINGS_ROCK_AFFECTED | FLAG_SLICING_MOVE, .split = SPLIT_PHYSICAL, .zMovePower = 120, .zMoveEffect = Z_EFFECT_NONE, From 7a52404fd301933302d4d63e8a63299ed90a7314 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Tue, 6 Dec 2022 02:51:13 -0300 Subject: [PATCH 064/130] Implemented Supreme Overlord's effect --- data/battle_scripts_1.s | 7 ++++++ include/battle_scripts.h | 1 + include/constants/battle_string_ids.h | 3 ++- src/battle_message.c | 2 ++ src/battle_util.c | 31 +++++++++++++++++++++++++++ 5 files changed, 43 insertions(+), 1 deletion(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 00fb0ba27..11f819c06 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -8444,6 +8444,13 @@ BattleScript_RuinAbilityActivates:: waitmessage B_WAIT_TIME_LONG end3 +BattleScript_SupremeOverlordActivates:: + pause B_WAIT_TIME_SHORT + call BattleScript_AbilityPopUp + printstring STRINGID_ATTACKERGAINEDSTRENGTHFROMTHEFALLEN + waitmessage B_WAIT_TIME_LONG + end3 + BattleScript_AttackWeakenedByStrongWinds:: pause B_WAIT_TIME_SHORT printstring STRINGID_ATTACKWEAKENEDBSTRONGWINDS diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 13fa5a4a6..72db7e1f9 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -445,6 +445,7 @@ extern const u8 BattleScript_QuarkDriveActivates[]; extern const u8 BattleScript_GoodAsGoldActivates[]; extern const u8 BattleScript_RuinAbilityActivates[]; extern const u8 BattleScript_CudChewActivates[]; +extern const u8 BattleScript_SupremeOverlordActivates[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h index 9c0965bb5..39022d167 100644 --- a/include/constants/battle_string_ids.h +++ b/include/constants/battle_string_ids.h @@ -635,8 +635,9 @@ #define STRINGID_STATWASHEIGHTENED 633 #define STRINGID_ELECTRICTERRAINACTIVATEDABILITY 634 #define STRINGID_ABILITYWEAKENEDFSURROUNDINGMONSSTAT 635 +#define STRINGID_ATTACKERGAINEDSTRENGTHFROMTHEFALLEN 636 -#define BATTLESTRINGS_COUNT 636 +#define BATTLESTRINGS_COUNT 637 // 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 d109e0f4e..7466ffa91 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -764,9 +764,11 @@ static const u8 sText_SunlightActivatedAbility[] = _("The harsh sunlight activat static const u8 sText_StatWasHeightened[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} was heightened!"); static const u8 sText_ElectricTerrainActivatedAbility[] = _("The Electric Terrain activated\n{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}!"); static const u8 sText_AbilityWeakenedSurroundingMonsStat[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}\nweakened the {B_BUFF1} of\lall surrounding Pokémon!\p"); +static const u8 sText_AttackerGainedStrengthFromTheFallen[] = _("{B_ATK_NAME_WITH_PREFIX} gained strength\nfrom the fallen!"); const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = { + [STRINGID_ATTACKERGAINEDSTRENGTHFROMTHEFALLEN - BATTLESTRINGS_TABLE_START] = sText_AttackerGainedStrengthFromTheFallen, [STRINGID_ABILITYWEAKENEDFSURROUNDINGMONSSTAT - BATTLESTRINGS_TABLE_START] = sText_AbilityWeakenedSurroundingMonsStat, [STRINGID_ELECTRICTERRAINACTIVATEDABILITY - BATTLESTRINGS_TABLE_START] = sText_ElectricTerrainActivatedAbility, [STRINGID_STATWASHEIGHTENED - BATTLESTRINGS_TABLE_START] = sText_StatWasHeightened, diff --git a/src/battle_util.c b/src/battle_util.c index 2362a3fff..36120a756 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -4957,6 +4957,14 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move effect++; } break; + case ABILITY_SUPREME_OVERLORD: + if (!gSpecialStatuses[battler].switchInAbilityDone && CountUsablePartyMons(battler) < PARTY_SIZE) + { + gSpecialStatuses[battler].switchInAbilityDone = TRUE; + BattleScriptPushCursorAndCallback(BattleScript_SupremeOverlordActivates); + effect++; + } + break; #if B_WEATHER_FORMS < GEN_5 default: if (gBattleMons[battler].species == SPECIES_CHERRIM) @@ -8722,6 +8730,26 @@ static u16 CalcMoveBasePower(u16 move, u8 battlerAtk, u8 battlerDef) return basePower; } +// Supreme Overlord adds a damage boost for each fainted ally. +// The first ally adds a x1.2 boost, and subsequent allies add an extra x0.1 boost each. +static u16 ApplySupremeOverlordModifier(u8 battlerId) +{ + u8 side = GetBattlerSide(battlerId); + struct Pokemon *party = (side == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; + u8 i; + u16 modifier = UQ_4_12(1.0); + bool8 appliedFirstBoost = FALSE; + + for (i = 0; i < PARTY_SIZE; i++) + { + if (GetMonData(&party[i], MON_DATA_HP) == 0) + modifier += (!appliedFirstBoost) ? UQ_4_12(0.2) : UQ_4_12(0.1); + appliedFirstBoost = TRUE; + } + + return modifier; +} + static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, bool32 updateFlags) { u32 i; @@ -8866,6 +8894,9 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe if (gBattleMoves[move].flags & FLAG_SLICING_MOVE) MulModifier(&modifier, UQ_4_12(1.5)); break; + case ABILITY_SUPREME_OVERLORD: + MulModifier(&modifier, ApplySupremeOverlordModifier(battlerAtk)); + break; } // field abilities From aa051dab02328b4f58fd6570621ce588d2760ae5 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Tue, 6 Dec 2022 05:03:07 -0300 Subject: [PATCH 065/130] Implemented Costar's effect --- data/battle_scripts_1.s | 7 +++++++ include/battle_scripts.h | 1 + include/battle_util.h | 1 + src/battle_util.c | 14 ++++++++++++++ 4 files changed, 23 insertions(+) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 11f819c06..d6e0499ba 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -8451,6 +8451,13 @@ BattleScript_SupremeOverlordActivates:: waitmessage B_WAIT_TIME_LONG end3 +BattleScript_CostarActivates:: + pause B_WAIT_TIME_SHORT + call BattleScript_AbilityPopUp + printstring STRINGID_PKMNCOPIEDSTATCHANGES + waitmessage B_WAIT_TIME_LONG + end3 + BattleScript_AttackWeakenedByStrongWinds:: pause B_WAIT_TIME_SHORT printstring STRINGID_ATTACKWEAKENEDBSTRONGWINDS diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 72db7e1f9..20575a5b6 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -446,6 +446,7 @@ extern const u8 BattleScript_GoodAsGoldActivates[]; extern const u8 BattleScript_RuinAbilityActivates[]; extern const u8 BattleScript_CudChewActivates[]; extern const u8 BattleScript_SupremeOverlordActivates[]; +extern const u8 BattleScript_CostarActivates[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/include/battle_util.h b/include/battle_util.h index 3f516daba..8922cd842 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -204,5 +204,6 @@ bool32 CanBeFrozen(u8 battlerId); bool32 CanBeConfused(u8 battlerId); bool32 IsBattlerTerrainAffected(u8 battlerId, u32 terrainFlag); u32 GetBattlerFriendshipScore(u8 battlerId); +u32 CountBattlerStatIncreases(u8 battlerId, bool32 countEvasionAcc); #endif // GUARD_BATTLE_UTIL_H diff --git a/src/battle_util.c b/src/battle_util.c index 36120a756..9bc5e24d4 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -4965,6 +4965,20 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move effect++; } break; + case ABILITY_COSTAR: + if (!gSpecialStatuses[battler].switchInAbilityDone + && IsDoubleBattle() + && IsBattlerAlive(BATTLE_PARTNER(battler)) + && CountBattlerStatIncreases(BATTLE_PARTNER(battler), FALSE)) + { + gSpecialStatuses[battler].switchInAbilityDone = TRUE; + for (i = 0; i < NUM_BATTLE_STATS; i++) + gBattleMons[battler].statStages[i] = gBattleMons[BATTLE_PARTNER(battler)].statStages[i]; + gBattlerTarget = BATTLE_PARTNER(battler); + BattleScriptPushCursorAndCallback(BattleScript_CostarActivates); + effect++; + } + break; #if B_WEATHER_FORMS < GEN_5 default: if (gBattleMons[battler].species == SPECIES_CHERRIM) From a961980e0f007fbd620a954dd7d235de15fc2d38 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Tue, 6 Dec 2022 05:14:05 -0300 Subject: [PATCH 066/130] Implemented Toxic Debris' effect --- data/battle_scripts_1.s | 9 +++++++++ include/battle_scripts.h | 1 + src/battle_util.c | 14 ++++++++++++++ 3 files changed, 24 insertions(+) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index d6e0499ba..d1249e384 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -7135,6 +7135,15 @@ BattleScript_WindPowerActivates:: BattleScript_WindPowerActivates_Ret: return +BattleScript_ToxicDebrisActivates:: + call BattleScript_AbilityPopUp + pause B_WAIT_TIME_SHORT + settoxicspikes BattleScript_ToxicDebrisRet + printstring STRINGID_POISONSPIKESSCATTERED + waitmessage B_WAIT_TIME_LONG +BattleScript_ToxicDebrisRet: + return + BattleScript_PerishSongCountGoesDown:: printstring STRINGID_PKMNPERISHCOUNTFELL waitmessage B_WAIT_TIME_LONG diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 20575a5b6..2faf22260 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -447,6 +447,7 @@ extern const u8 BattleScript_RuinAbilityActivates[]; extern const u8 BattleScript_CudChewActivates[]; extern const u8 BattleScript_SupremeOverlordActivates[]; extern const u8 BattleScript_CostarActivates[]; +extern const u8 BattleScript_ToxicDebrisActivates[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/src/battle_util.c b/src/battle_util.c index 9bc5e24d4..13bd933f9 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5911,6 +5911,20 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move effect++; } break; + case ABILITY_TOXIC_DEBRIS: + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg + && IS_MOVE_PHYSICAL(gCurrentMove) + && TARGET_TURN_DAMAGED + && !(gSideStatuses[gBattlerAttacker] & SIDE_STATUS_TOXIC_SPIKES) + && IsBattlerAlive(gBattlerTarget)) + { + gBattlerTarget = gBattlerAttacker; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_ToxicDebrisActivates; + effect++; + } + break; } break; case ABILITYEFFECT_MOVE_END_ATTACKER: // Same as above, but for attacker From fa78e3b2c4a849b1367be95d7970764f6e5a3c88 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Tue, 6 Dec 2022 05:26:30 -0300 Subject: [PATCH 067/130] Implemented Armor Tail's effect --- src/battle_util.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/battle_util.c b/src/battle_util.c index 13bd933f9..aa70bd323 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5208,8 +5208,8 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move gBattlescriptCurrInstr = BattleScript_SoundproofProtected; effect = 1; } - else if ((gLastUsedAbility == ABILITY_DAZZLING || gLastUsedAbility == ABILITY_QUEENLY_MAJESTY || IsBattlerAlive(battler ^= BIT_FLANK)) - && (battlerAbility == ABILITY_DAZZLING || battlerAbility == ABILITY_QUEENLY_MAJESTY) + else if ((gLastUsedAbility == ABILITY_DAZZLING || gLastUsedAbility == ABILITY_QUEENLY_MAJESTY || gLastUsedAbility == ABILITY_ARMOR_TAIL || IsBattlerAlive(battler ^= BIT_FLANK)) + && (battlerAbility == ABILITY_DAZZLING || battlerAbility == ABILITY_QUEENLY_MAJESTY || battlerAbility == ABILITY_ARMOR_TAIL) && GetChosenMovePriority(gBattlerAttacker) > 0 && GetBattlerSide(gBattlerAttacker) != GetBattlerSide(battler)) { From d6b9f076817ede74d08cef6503acf0e535c16d27 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Tue, 6 Dec 2022 05:29:26 -0300 Subject: [PATCH 068/130] Implemented Earth Eater's effect --- data/battle_scripts_1.s | 12 ++++++++++++ include/battle_scripts.h | 1 + src/battle_util.c | 12 ++++++++++++ 3 files changed, 25 insertions(+) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index d1249e384..67ae04374 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -7144,6 +7144,18 @@ BattleScript_ToxicDebrisActivates:: BattleScript_ToxicDebrisRet: return +BattleScript_EarthEaterActivates:: + call BattleScript_AbilityPopUp + pause B_WAIT_TIME_LONG + tryhealquarterhealth BS_TARGET, BattleScript_EarthEaterRet + orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + healthbarupdate BS_TARGET + datahpupdate BS_TARGET + printstring STRINGID_PKMNREGAINEDHEALTH + waitmessage B_WAIT_TIME_LONG +BattleScript_EarthEaterRet: + return + BattleScript_PerishSongCountGoesDown:: printstring STRINGID_PKMNPERISHCOUNTFELL waitmessage B_WAIT_TIME_LONG diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 2faf22260..093bc61c0 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -448,6 +448,7 @@ extern const u8 BattleScript_CudChewActivates[]; extern const u8 BattleScript_SupremeOverlordActivates[]; extern const u8 BattleScript_CostarActivates[]; extern const u8 BattleScript_ToxicDebrisActivates[]; +extern const u8 BattleScript_EarthEaterActivates[]; // zmoves extern const u8 BattleScript_ZMoveActivateDamaging[]; diff --git a/src/battle_util.c b/src/battle_util.c index aa70bd323..d8068ef30 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5925,6 +5925,18 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move effect++; } break; + case ABILITY_EARTH_EATER: + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg + && gBattleMoves[gCurrentMove].type == TYPE_GROUND + && TARGET_TURN_DAMAGED + && IsBattlerAlive(gBattlerTarget)) + { + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_EarthEaterActivates; + effect++; + } + break; } break; case ABILITYEFFECT_MOVE_END_ATTACKER: // Same as above, but for attacker From 107ace784b16575f80aa0169a58c6b7bdad15ae2 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Tue, 6 Dec 2022 06:18:18 -0300 Subject: [PATCH 069/130] Implemented Mycelium Might's effect --- include/battle_util.h | 1 + src/battle_main.c | 4 ++++ src/battle_util.c | 16 ++++++++++++++++ 3 files changed, 21 insertions(+) diff --git a/include/battle_util.h b/include/battle_util.h index 8922cd842..6d6361fc7 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -205,5 +205,6 @@ bool32 CanBeConfused(u8 battlerId); bool32 IsBattlerTerrainAffected(u8 battlerId, u32 terrainFlag); u32 GetBattlerFriendshipScore(u8 battlerId); u32 CountBattlerStatIncreases(u8 battlerId, bool32 countEvasionAcc); +bool32 IsMyceliumMightOnField(void); #endif // GUARD_BATTLE_UTIL_H diff --git a/src/battle_main.c b/src/battle_main.c index 42de8ac3a..e9a88ecb6 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -4673,6 +4673,10 @@ u8 GetWhoStrikesFirst(u8 battler1, u8 battler2, bool8 ignoreChosenMoves) strikesFirst = 1; else if (ability2 == ABILITY_STALL && ability1 != ABILITY_STALL) strikesFirst = 0; + else if (ability1 == ABILITY_MYCELIUM_MIGHT && ability2 != ABILITY_MYCELIUM_MIGHT && IS_MOVE_STATUS(gCurrentMove)) + strikesFirst = 1; + else if (ability2 == ABILITY_MYCELIUM_MIGHT && ability1 != ABILITY_MYCELIUM_MIGHT && IS_MOVE_STATUS(gCurrentMove)) + strikesFirst = 0; else { if (speedBattler1 == speedBattler2 && Random() & 1) diff --git a/src/battle_util.c b/src/battle_util.c index d8068ef30..527fbd5d0 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -6338,6 +6338,19 @@ bool32 IsNeutralizingGasOnField(void) return FALSE; } +bool32 IsMyceliumMightOnField(void) +{ + u32 i; + + for (i = 0; i < gBattlersCount; i++) + { + if (IsBattlerAlive(i) && gBattleMons[i].ability == ABILITY_MYCELIUM_MIGHT && IS_MOVE_STATUS(gCurrentMove)) + return TRUE; + } + + return FALSE; +} + u32 GetBattlerAbility(u8 battlerId) { if (gStatuses3[battlerId] & STATUS3_GASTRO_ACID) @@ -6346,6 +6359,9 @@ u32 GetBattlerAbility(u8 battlerId) if (IsNeutralizingGasOnField() && !IsNeutralizingGasBannedAbility(gBattleMons[battlerId].ability)) return ABILITY_NONE; + if (IsMyceliumMightOnField()) + return ABILITY_NONE; + if ((((gBattleMons[gBattlerAttacker].ability == ABILITY_MOLD_BREAKER || gBattleMons[gBattlerAttacker].ability == ABILITY_TERAVOLT || gBattleMons[gBattlerAttacker].ability == ABILITY_TURBOBLAZE) From c287f4f016c707f0fab6ebf4bf8ce498e935c2ea Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Tue, 6 Dec 2022 06:22:02 -0300 Subject: [PATCH 070/130] Updated sAbilitiesAffectedByMoldBreaker --- src/battle_util.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/battle_util.c b/src/battle_util.c index 527fbd5d0..823a40181 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -1064,6 +1064,11 @@ static const u8 sAbilitiesAffectedByMoldBreaker[] = [ABILITY_ICE_SCALES] = 1, [ABILITY_ICE_FACE] = 1, [ABILITY_PASTEL_VEIL] = 1, + [ABILITY_ARMOR_TAIL] = 1, + [ABILITY_EARTH_EATER] = 1, + [ABILITY_GOOD_AS_GOLD] = 1, + [ABILITY_PURIFYING_SALT] = 1, + [ABILITY_WELL_BAKED_BODY] = 1, }; static const u8 sAbilitiesNotTraced[ABILITIES_COUNT] = From fab26b99f15b5cdba5868270768f819100ee3d47 Mon Sep 17 00:00:00 2001 From: sbird Date: Tue, 6 Dec 2022 15:59:59 +0100 Subject: [PATCH 071/130] [fix] DebugPrintf with no format arguments --- include/gba/isagbprint.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/gba/isagbprint.h b/include/gba/isagbprint.h index 91aa9f214..493c6604b 100644 --- a/include/gba/isagbprint.h +++ b/include/gba/isagbprint.h @@ -29,17 +29,17 @@ void AGBPrintInit(void); #if (LOG_HANDLER == LOG_HANDLER_MGBA_PRINT) -#define DebugPrintf(pBuf, ...) MgbaPrintf(MGBA_LOG_INFO, pBuf, __VA_ARGS__) +#define DebugPrintf(pBuf, ...) MgbaPrintf(MGBA_LOG_INFO, pBuf, ## __VA_ARGS__) #define DebugAssert(pFile, nLine, pExpression, nStopProgram) MgbaAssert(pFile, nLine, pExpression, nStopProgram) #elif (LOG_HANDLER == LOG_HANDLER_NOCASH_PRINT) -#define DebugPrintf(pBuf, ...) NoCashGBAPrintf(pBuf, __VA_ARGS__) +#define DebugPrintf(pBuf, ...) NoCashGBAPrintf(pBuf, ## __VA_ARGS__) #define DebugAssert(pFile, nLine, pExpression, nStopProgram) NoCashGBAAssert(pFile, nLine, pExpression, nStopProgram) #else // Default to AGBPrint -#define DebugPrintf(pBuf, ...) AGBPrintf(const char *pBuf, ...) +#define DebugPrintf(pBuf, ...) AGBPrintf(pBuf, ## __VA_ARGS__) #define DebugAssert(pFile, nLine, pExpression, nStopProgram) AGBAssert(pFile, nLine, pExpression, nStopProgram) #endif From 0d5adac1e118575018a4ffb5e13ac048b600a3c0 Mon Sep 17 00:00:00 2001 From: sbird Date: Wed, 7 Dec 2022 00:03:25 +0100 Subject: [PATCH 072/130] [debug, printf] add DebugPrintfLevel macro --- include/gba/isagbprint.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/gba/isagbprint.h b/include/gba/isagbprint.h index 493c6604b..d362b5cb3 100644 --- a/include/gba/isagbprint.h +++ b/include/gba/isagbprint.h @@ -11,6 +11,7 @@ #ifdef NDEBUG #define DebugPrintf(pBuf, ...) +#define DebugPrintfLevel(level, pBuf, ...) #define MgbaOpen() #define MgbaClose() #define AGBPrintInit() @@ -31,16 +32,19 @@ void AGBPrintInit(void); #define DebugPrintf(pBuf, ...) MgbaPrintf(MGBA_LOG_INFO, pBuf, ## __VA_ARGS__) #define DebugAssert(pFile, nLine, pExpression, nStopProgram) MgbaAssert(pFile, nLine, pExpression, nStopProgram) +#define DebugPrintfLevel(level, pBuf, ...) MgbaPrintf(level, pBuf, ## __VA_ARGS__) #elif (LOG_HANDLER == LOG_HANDLER_NOCASH_PRINT) #define DebugPrintf(pBuf, ...) NoCashGBAPrintf(pBuf, ## __VA_ARGS__) #define DebugAssert(pFile, nLine, pExpression, nStopProgram) NoCashGBAAssert(pFile, nLine, pExpression, nStopProgram) +#define DebugPrintfLevel(level, pBuf, ...) NoCashGBAPrintf(pBuf, ## __VA_ARGS__) #else // Default to AGBPrint #define DebugPrintf(pBuf, ...) AGBPrintf(pBuf, ## __VA_ARGS__) #define DebugAssert(pFile, nLine, pExpression, nStopProgram) AGBAssert(pFile, nLine, pExpression, nStopProgram) +#define DebugPrintfLevel(level, pBuf, ...) AGBPrintf(pBuf, ## __VA_ARGS__) #endif #endif From 2f96344cd9adb111a638748b96847b85b52ec6a4 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sat, 10 Dec 2022 11:46:41 -0300 Subject: [PATCH 073/130] Removed ANIM_CMD macro from unused_anims.h --- src/data/pokemon_graphics/unused_anims.h | 882 +++++++++++------------ 1 file changed, 440 insertions(+), 442 deletions(-) diff --git a/src/data/pokemon_graphics/unused_anims.h b/src/data/pokemon_graphics/unused_anims.h index a313f9d52..3d0c283dc 100644 --- a/src/data/pokemon_graphics/unused_anims.h +++ b/src/data/pokemon_graphics/unused_anims.h @@ -1379,450 +1379,448 @@ static const union AnimCmd *const sUnusedAnims_UnownZ[] = {sAnim_GeneralFrame0}; static const union AnimCmd *const sUnusedAnims_UnownEMark[] = {sAnim_GeneralFrame0}; static const union AnimCmd *const sUnusedAnims_UnownQMark[] = {sAnim_GeneralFrame0}; -#define ANIM_CMD(name, anims) [SPECIES_##name] = sUnusedAnims_##anims - static const union AnimCmd *const *const sUnusedAnimsTable[] = { - ANIM_CMD(NONE, None), - ANIM_CMD(BULBASAUR, Bulbasaur), - ANIM_CMD(IVYSAUR, Ivysaur), - ANIM_CMD(VENUSAUR, Venusaur), - ANIM_CMD(CHARMANDER, Charmander), - ANIM_CMD(CHARMELEON, Charmeleon), - ANIM_CMD(CHARIZARD, Charizard), - ANIM_CMD(SQUIRTLE, Squirtle), - ANIM_CMD(WARTORTLE, Wartortle), - ANIM_CMD(BLASTOISE, Blastoise), - ANIM_CMD(CATERPIE, Caterpie), - ANIM_CMD(METAPOD, Metapod), - ANIM_CMD(BUTTERFREE, Butterfree), - ANIM_CMD(WEEDLE, Weedle), - ANIM_CMD(KAKUNA, Kakuna), - ANIM_CMD(BEEDRILL, Beedrill), - ANIM_CMD(PIDGEY, Pidgey), - ANIM_CMD(PIDGEOTTO, Pidgeotto), - ANIM_CMD(PIDGEOT, Pidgeot), - ANIM_CMD(RATTATA, Rattata), - ANIM_CMD(RATICATE, Raticate), - ANIM_CMD(SPEAROW, Spearow), - ANIM_CMD(FEAROW, Fearow), - ANIM_CMD(EKANS, Ekans), - ANIM_CMD(ARBOK, Arbok), - ANIM_CMD(PIKACHU, Pikachu), - ANIM_CMD(RAICHU, Raichu), - ANIM_CMD(SANDSHREW, Sandshrew), - ANIM_CMD(SANDSLASH, Sandslash), - ANIM_CMD(NIDORAN_F, NidoranF), - ANIM_CMD(NIDORINA, Nidorina), - ANIM_CMD(NIDOQUEEN, Nidoqueen), - ANIM_CMD(NIDORAN_M, NidoranM), - ANIM_CMD(NIDORINO, Nidorino), - ANIM_CMD(NIDOKING, Nidoking), - ANIM_CMD(CLEFAIRY, Clefairy), - ANIM_CMD(CLEFABLE, Clefable), - ANIM_CMD(VULPIX, Vulpix), - ANIM_CMD(NINETALES, Ninetales), - ANIM_CMD(JIGGLYPUFF, Jigglypuff), - ANIM_CMD(WIGGLYTUFF, Wigglytuff), - ANIM_CMD(ZUBAT, Zubat), - ANIM_CMD(GOLBAT, Golbat), - ANIM_CMD(ODDISH, Oddish), - ANIM_CMD(GLOOM, Gloom), - ANIM_CMD(VILEPLUME, Vileplume), - ANIM_CMD(PARAS, Paras), - ANIM_CMD(PARASECT, Parasect), - ANIM_CMD(VENONAT, Venonat), - ANIM_CMD(VENOMOTH, Venomoth), - ANIM_CMD(DIGLETT, Diglett), - ANIM_CMD(DUGTRIO, Dugtrio), - ANIM_CMD(MEOWTH, Meowth), - ANIM_CMD(PERSIAN, Persian), - ANIM_CMD(PSYDUCK, Psyduck), - ANIM_CMD(GOLDUCK, Golduck), - ANIM_CMD(MANKEY, Mankey), - ANIM_CMD(PRIMEAPE, Primeape), - ANIM_CMD(GROWLITHE, Growlithe), - ANIM_CMD(ARCANINE, Arcanine), - ANIM_CMD(POLIWAG, Poliwag), - ANIM_CMD(POLIWHIRL, Poliwhirl), - ANIM_CMD(POLIWRATH, Poliwrath), - ANIM_CMD(ABRA, Abra), - ANIM_CMD(KADABRA, Kadabra), - ANIM_CMD(ALAKAZAM, Alakazam), - ANIM_CMD(MACHOP, Machop), - ANIM_CMD(MACHOKE, Machoke), - ANIM_CMD(MACHAMP, Machamp), - ANIM_CMD(BELLSPROUT, Bellsprout), - ANIM_CMD(WEEPINBELL, Weepinbell), - ANIM_CMD(VICTREEBEL, Victreebel), - ANIM_CMD(TENTACOOL, Tentacool), - ANIM_CMD(TENTACRUEL, Tentacruel), - ANIM_CMD(GEODUDE, Geodude), - ANIM_CMD(GRAVELER, Graveler), - ANIM_CMD(GOLEM, Golem), - ANIM_CMD(PONYTA, Ponyta), - ANIM_CMD(RAPIDASH, Rapidash), - ANIM_CMD(SLOWPOKE, Slowpoke), - ANIM_CMD(SLOWBRO, Slowbro), - ANIM_CMD(MAGNEMITE, Magnemite), - ANIM_CMD(MAGNETON, Magneton), - ANIM_CMD(FARFETCHD, Farfetchd), - ANIM_CMD(DODUO, Doduo), - ANIM_CMD(DODRIO, Dodrio), - ANIM_CMD(SEEL, Seel), - ANIM_CMD(DEWGONG, Dewgong), - ANIM_CMD(GRIMER, Grimer), - ANIM_CMD(MUK, Muk), - ANIM_CMD(SHELLDER, Shellder), - ANIM_CMD(CLOYSTER, Cloyster), - ANIM_CMD(GASTLY, Gastly), - ANIM_CMD(HAUNTER, Haunter), - ANIM_CMD(GENGAR, Gengar), - ANIM_CMD(ONIX, Onix), - ANIM_CMD(DROWZEE, Drowzee), - ANIM_CMD(HYPNO, Hypno), - ANIM_CMD(KRABBY, Krabby), - ANIM_CMD(KINGLER, Kingler), - ANIM_CMD(VOLTORB, Voltorb), - ANIM_CMD(ELECTRODE, Electrode), - ANIM_CMD(EXEGGCUTE, Exeggcute), - ANIM_CMD(EXEGGUTOR, Exeggutor), - ANIM_CMD(CUBONE, Cubone), - ANIM_CMD(MAROWAK, Marowak), - ANIM_CMD(HITMONLEE, Hitmonlee), - ANIM_CMD(HITMONCHAN, Hitmonchan), - ANIM_CMD(LICKITUNG, Lickitung), - ANIM_CMD(KOFFING, Koffing), - ANIM_CMD(WEEZING, Weezing), - ANIM_CMD(RHYHORN, Rhyhorn), - ANIM_CMD(RHYDON, Rhydon), - ANIM_CMD(CHANSEY, Chansey), - ANIM_CMD(TANGELA, Tangela), - ANIM_CMD(KANGASKHAN, Kangaskhan), - ANIM_CMD(HORSEA, Horsea), - ANIM_CMD(SEADRA, Seadra), - ANIM_CMD(GOLDEEN, Goldeen), - ANIM_CMD(SEAKING, Seaking), - ANIM_CMD(STARYU, Staryu), - ANIM_CMD(STARMIE, Starmie), - ANIM_CMD(MR_MIME, MrMime), - ANIM_CMD(SCYTHER, Scyther), - ANIM_CMD(JYNX, Jynx), - ANIM_CMD(ELECTABUZZ, Electabuzz), - ANIM_CMD(MAGMAR, Magmar), - ANIM_CMD(PINSIR, Pinsir), - ANIM_CMD(TAUROS, Tauros), - ANIM_CMD(MAGIKARP, Magikarp), - ANIM_CMD(GYARADOS, Gyarados), - ANIM_CMD(LAPRAS, Lapras), - ANIM_CMD(DITTO, Ditto), - ANIM_CMD(EEVEE, Eevee), - ANIM_CMD(VAPOREON, Vaporeon), - ANIM_CMD(JOLTEON, Jolteon), - ANIM_CMD(FLAREON, Flareon), - ANIM_CMD(PORYGON, Porygon), - ANIM_CMD(OMANYTE, Omanyte), - ANIM_CMD(OMASTAR, Omastar), - ANIM_CMD(KABUTO, Kabuto), - ANIM_CMD(KABUTOPS, Kabutops), - ANIM_CMD(AERODACTYL, Aerodactyl), - ANIM_CMD(SNORLAX, Snorlax), - ANIM_CMD(ARTICUNO, Articuno), - ANIM_CMD(ZAPDOS, Zapdos), - ANIM_CMD(MOLTRES, Moltres), - ANIM_CMD(DRATINI, Dratini), - ANIM_CMD(DRAGONAIR, Dragonair), - ANIM_CMD(DRAGONITE, Dragonite), - ANIM_CMD(MEWTWO, Mewtwo), - ANIM_CMD(MEW, Mew), - ANIM_CMD(CHIKORITA, Chikorita), - ANIM_CMD(BAYLEEF, Bayleef), - ANIM_CMD(MEGANIUM, Meganium), - ANIM_CMD(CYNDAQUIL, Cyndaquil), - ANIM_CMD(QUILAVA, Quilava), - ANIM_CMD(TYPHLOSION, Typhlosion), - ANIM_CMD(TOTODILE, Totodile), - ANIM_CMD(CROCONAW, Croconaw), - ANIM_CMD(FERALIGATR, Feraligatr), - ANIM_CMD(SENTRET, Sentret), - ANIM_CMD(FURRET, Furret), - ANIM_CMD(HOOTHOOT, Hoothoot), - ANIM_CMD(NOCTOWL, Noctowl), - ANIM_CMD(LEDYBA, Ledyba), - ANIM_CMD(LEDIAN, Ledian), - ANIM_CMD(SPINARAK, Spinarak), - ANIM_CMD(ARIADOS, Ariados), - ANIM_CMD(CROBAT, Crobat), - ANIM_CMD(CHINCHOU, Chinchou), - ANIM_CMD(LANTURN, Lanturn), - ANIM_CMD(PICHU, Pichu), - ANIM_CMD(CLEFFA, Cleffa), - ANIM_CMD(IGGLYBUFF, Igglybuff), - ANIM_CMD(TOGEPI, Togepi), - ANIM_CMD(TOGETIC, Togetic), - ANIM_CMD(NATU, Natu), - ANIM_CMD(XATU, Xatu), - ANIM_CMD(MAREEP, Mareep), - ANIM_CMD(FLAAFFY, Flaaffy), - ANIM_CMD(AMPHAROS, Ampharos), - ANIM_CMD(BELLOSSOM, Bellossom), - ANIM_CMD(MARILL, Marill), - ANIM_CMD(AZUMARILL, Azumarill), - ANIM_CMD(SUDOWOODO, Sudowoodo), - ANIM_CMD(POLITOED, Politoed), - ANIM_CMD(HOPPIP, Hoppip), - ANIM_CMD(SKIPLOOM, Skiploom), - ANIM_CMD(JUMPLUFF, Jumpluff), - ANIM_CMD(AIPOM, Aipom), - ANIM_CMD(SUNKERN, Sunkern), - ANIM_CMD(SUNFLORA, Sunflora), - ANIM_CMD(YANMA, Yanma), - ANIM_CMD(WOOPER, Wooper), - ANIM_CMD(QUAGSIRE, Quagsire), - ANIM_CMD(ESPEON, Espeon), - ANIM_CMD(UMBREON, Umbreon), - ANIM_CMD(MURKROW, Murkrow), - ANIM_CMD(SLOWKING, Slowking), - ANIM_CMD(MISDREAVUS, Misdreavus), - ANIM_CMD(UNOWN, Unown), - ANIM_CMD(WOBBUFFET, Wobbuffet), - ANIM_CMD(GIRAFARIG, Girafarig), - ANIM_CMD(PINECO, Pineco), - ANIM_CMD(FORRETRESS, Forretress), - ANIM_CMD(DUNSPARCE, Dunsparce), - ANIM_CMD(GLIGAR, Gligar), - ANIM_CMD(STEELIX, Steelix), - ANIM_CMD(SNUBBULL, Snubbull), - ANIM_CMD(GRANBULL, Granbull), - ANIM_CMD(QWILFISH, Qwilfish), - ANIM_CMD(SCIZOR, Scizor), - ANIM_CMD(SHUCKLE, Shuckle), - ANIM_CMD(HERACROSS, Heracross), - ANIM_CMD(SNEASEL, Sneasel), - ANIM_CMD(TEDDIURSA, Teddiursa), - ANIM_CMD(URSARING, Ursaring), - ANIM_CMD(SLUGMA, Slugma), - ANIM_CMD(MAGCARGO, Magcargo), - ANIM_CMD(SWINUB, Swinub), - ANIM_CMD(PILOSWINE, Piloswine), - ANIM_CMD(CORSOLA, Corsola), - ANIM_CMD(REMORAID, Remoraid), - ANIM_CMD(OCTILLERY, Octillery), - ANIM_CMD(DELIBIRD, Delibird), - ANIM_CMD(MANTINE, Mantine), - ANIM_CMD(SKARMORY, Skarmory), - ANIM_CMD(HOUNDOUR, Houndour), - ANIM_CMD(HOUNDOOM, Houndoom), - ANIM_CMD(KINGDRA, Kingdra), - ANIM_CMD(PHANPY, Phanpy), - ANIM_CMD(DONPHAN, Donphan), - ANIM_CMD(PORYGON2, Porygon2), - ANIM_CMD(STANTLER, Stantler), - ANIM_CMD(SMEARGLE, Smeargle), - ANIM_CMD(TYROGUE, Tyrogue), - ANIM_CMD(HITMONTOP, Hitmontop), - ANIM_CMD(SMOOCHUM, Smoochum), - ANIM_CMD(ELEKID, Elekid), - ANIM_CMD(MAGBY, Magby), - ANIM_CMD(MILTANK, Miltank), - ANIM_CMD(BLISSEY, Blissey), - ANIM_CMD(RAIKOU, Raikou), - ANIM_CMD(ENTEI, Entei), - ANIM_CMD(SUICUNE, Suicune), - ANIM_CMD(LARVITAR, Larvitar), - ANIM_CMD(PUPITAR, Pupitar), - ANIM_CMD(TYRANITAR, Tyranitar), - ANIM_CMD(LUGIA, Lugia), - ANIM_CMD(HO_OH, HoOh), - ANIM_CMD(CELEBI, Celebi), - ANIM_CMD(OLD_UNOWN_B, OldUnownB), - ANIM_CMD(OLD_UNOWN_C, OldUnownB), - ANIM_CMD(OLD_UNOWN_D, OldUnownB), - ANIM_CMD(OLD_UNOWN_E, OldUnownB), - ANIM_CMD(OLD_UNOWN_F, OldUnownB), - ANIM_CMD(OLD_UNOWN_G, OldUnownB), - ANIM_CMD(OLD_UNOWN_H, OldUnownB), - ANIM_CMD(OLD_UNOWN_I, OldUnownB), - ANIM_CMD(OLD_UNOWN_J, OldUnownB), - ANIM_CMD(OLD_UNOWN_K, OldUnownB), - ANIM_CMD(OLD_UNOWN_L, OldUnownB), - ANIM_CMD(OLD_UNOWN_M, OldUnownB), - ANIM_CMD(OLD_UNOWN_N, OldUnownB), - ANIM_CMD(OLD_UNOWN_O, OldUnownB), - ANIM_CMD(OLD_UNOWN_P, OldUnownB), - ANIM_CMD(OLD_UNOWN_Q, OldUnownB), - ANIM_CMD(OLD_UNOWN_R, OldUnownB), - ANIM_CMD(OLD_UNOWN_S, OldUnownB), - ANIM_CMD(OLD_UNOWN_T, OldUnownB), - ANIM_CMD(OLD_UNOWN_U, OldUnownB), - ANIM_CMD(OLD_UNOWN_V, OldUnownB), - ANIM_CMD(OLD_UNOWN_W, OldUnownB), - ANIM_CMD(OLD_UNOWN_X, OldUnownB), - ANIM_CMD(OLD_UNOWN_Y, OldUnownB), - ANIM_CMD(OLD_UNOWN_Z, OldUnownB), - ANIM_CMD(TREECKO, Treecko), - ANIM_CMD(GROVYLE, Grovyle), - ANIM_CMD(SCEPTILE, Sceptile), - ANIM_CMD(TORCHIC, Torchic), - ANIM_CMD(COMBUSKEN, Combusken), - ANIM_CMD(BLAZIKEN, Blaziken), - ANIM_CMD(MUDKIP, Mudkip), - ANIM_CMD(MARSHTOMP, Marshtomp), - ANIM_CMD(SWAMPERT, Swampert), - ANIM_CMD(POOCHYENA, Poochyena), - ANIM_CMD(MIGHTYENA, Mightyena), - ANIM_CMD(ZIGZAGOON, Zigzagoon), - ANIM_CMD(LINOONE, Linoone), - ANIM_CMD(WURMPLE, Wurmple), - ANIM_CMD(SILCOON, Silcoon), - ANIM_CMD(BEAUTIFLY, Beautifly), - ANIM_CMD(CASCOON, Cascoon), - ANIM_CMD(DUSTOX, Dustox), - ANIM_CMD(LOTAD, Lotad), - ANIM_CMD(LOMBRE, Lombre), - ANIM_CMD(LUDICOLO, Ludicolo), - ANIM_CMD(SEEDOT, Seedot), - ANIM_CMD(NUZLEAF, Nuzleaf), - ANIM_CMD(SHIFTRY, Shiftry), - ANIM_CMD(NINCADA, Nincada), - ANIM_CMD(NINJASK, Ninjask), - ANIM_CMD(SHEDINJA, Shedinja), - ANIM_CMD(TAILLOW, Taillow), - ANIM_CMD(SWELLOW, Swellow), - ANIM_CMD(SHROOMISH, Shroomish), - ANIM_CMD(BRELOOM, Breloom), - ANIM_CMD(SPINDA, Spinda), - ANIM_CMD(WINGULL, Wingull), - ANIM_CMD(PELIPPER, Pelipper), - ANIM_CMD(SURSKIT, Surskit), - ANIM_CMD(MASQUERAIN, Masquerain), - ANIM_CMD(WAILMER, Wailmer), - ANIM_CMD(WAILORD, Wailord), - ANIM_CMD(SKITTY, Skitty), - ANIM_CMD(DELCATTY, Delcatty), - ANIM_CMD(KECLEON, Kecleon), - ANIM_CMD(BALTOY, Baltoy), - ANIM_CMD(CLAYDOL, Claydol), - ANIM_CMD(NOSEPASS, Nosepass), - ANIM_CMD(TORKOAL, Torkoal), - ANIM_CMD(SABLEYE, Sableye), - ANIM_CMD(BARBOACH, Barboach), - ANIM_CMD(WHISCASH, Whiscash), - ANIM_CMD(LUVDISC, Luvdisc), - ANIM_CMD(CORPHISH, Corphish), - ANIM_CMD(CRAWDAUNT, Crawdaunt), - ANIM_CMD(FEEBAS, Feebas), - ANIM_CMD(MILOTIC, Milotic), - ANIM_CMD(CARVANHA, Carvanha), - ANIM_CMD(SHARPEDO, Sharpedo), - ANIM_CMD(TRAPINCH, Trapinch), - ANIM_CMD(VIBRAVA, Vibrava), - ANIM_CMD(FLYGON, Flygon), - ANIM_CMD(MAKUHITA, Makuhita), - ANIM_CMD(HARIYAMA, Hariyama), - ANIM_CMD(ELECTRIKE, Electrike), - ANIM_CMD(MANECTRIC, Manectric), - ANIM_CMD(NUMEL, Numel), - ANIM_CMD(CAMERUPT, Camerupt), - ANIM_CMD(SPHEAL, Spheal), - ANIM_CMD(SEALEO, Sealeo), - ANIM_CMD(WALREIN, Walrein), - ANIM_CMD(CACNEA, Cacnea), - ANIM_CMD(CACTURNE, Cacturne), - ANIM_CMD(SNORUNT, Snorunt), - ANIM_CMD(GLALIE, Glalie), - ANIM_CMD(LUNATONE, Lunatone), - ANIM_CMD(SOLROCK, Solrock), - ANIM_CMD(AZURILL, Azurill), - ANIM_CMD(SPOINK, Spoink), - ANIM_CMD(GRUMPIG, Grumpig), - ANIM_CMD(PLUSLE, Plusle), - ANIM_CMD(MINUN, Minun), - ANIM_CMD(MAWILE, Mawile), - ANIM_CMD(MEDITITE, Meditite), - ANIM_CMD(MEDICHAM, Medicham), - ANIM_CMD(SWABLU, Swablu), - ANIM_CMD(ALTARIA, Altaria), - ANIM_CMD(WYNAUT, Wynaut), - ANIM_CMD(DUSKULL, Duskull), - ANIM_CMD(DUSCLOPS, Dusclops), - ANIM_CMD(ROSELIA, Roselia), - ANIM_CMD(SLAKOTH, Slakoth), - ANIM_CMD(VIGOROTH, Vigoroth), - ANIM_CMD(SLAKING, Slaking), - ANIM_CMD(GULPIN, Gulpin), - ANIM_CMD(SWALOT, Swalot), - ANIM_CMD(TROPIUS, Tropius), - ANIM_CMD(WHISMUR, Whismur), - ANIM_CMD(LOUDRED, Loudred), - ANIM_CMD(EXPLOUD, Exploud), - ANIM_CMD(CLAMPERL, Clamperl), - ANIM_CMD(HUNTAIL, Huntail), - ANIM_CMD(GOREBYSS, Gorebyss), - ANIM_CMD(ABSOL, Absol), - ANIM_CMD(SHUPPET, Shuppet), - ANIM_CMD(BANETTE, Banette), - ANIM_CMD(SEVIPER, Seviper), - ANIM_CMD(ZANGOOSE, Zangoose), - ANIM_CMD(RELICANTH, Relicanth), - ANIM_CMD(ARON, Aron), - ANIM_CMD(LAIRON, Lairon), - ANIM_CMD(AGGRON, Aggron), - ANIM_CMD(CASTFORM, Castform), - ANIM_CMD(VOLBEAT, Volbeat), - ANIM_CMD(ILLUMISE, Illumise), - ANIM_CMD(LILEEP, Lileep), - ANIM_CMD(CRADILY, Cradily), - ANIM_CMD(ANORITH, Anorith), - ANIM_CMD(ARMALDO, Armaldo), - ANIM_CMD(RALTS, Ralts), - ANIM_CMD(KIRLIA, Kirlia), - ANIM_CMD(GARDEVOIR, Gardevoir), - ANIM_CMD(BAGON, Bagon), - ANIM_CMD(SHELGON, Shelgon), - ANIM_CMD(SALAMENCE, Salamence), - ANIM_CMD(BELDUM, Beldum), - ANIM_CMD(METANG, Metang), - ANIM_CMD(METAGROSS, Metagross), - ANIM_CMD(REGIROCK, Regirock), - ANIM_CMD(REGICE, Regice), - ANIM_CMD(REGISTEEL, Registeel), - ANIM_CMD(KYOGRE, Kyogre), - ANIM_CMD(GROUDON, Groudon), - ANIM_CMD(RAYQUAZA, Rayquaza), - ANIM_CMD(LATIAS, Latias), - ANIM_CMD(LATIOS, Latios), - ANIM_CMD(JIRACHI, Jirachi), - ANIM_CMD(DEOXYS, Deoxys), - ANIM_CMD(CHIMECHO, Chimecho), - ANIM_CMD(EGG, Egg), - ANIM_CMD(UNOWN_B, Egg), - ANIM_CMD(UNOWN_C, UnownC), - ANIM_CMD(UNOWN_D, UnownD), - ANIM_CMD(UNOWN_E, UnownE), - ANIM_CMD(UNOWN_F, UnownF), - ANIM_CMD(UNOWN_G, UnownG), - ANIM_CMD(UNOWN_H, UnownH), - ANIM_CMD(UNOWN_I, UnownI), - ANIM_CMD(UNOWN_J, UnownJ), - ANIM_CMD(UNOWN_K, UnownK), - ANIM_CMD(UNOWN_L, UnownL), - ANIM_CMD(UNOWN_M, UnownM), - ANIM_CMD(UNOWN_N, UnownN), - ANIM_CMD(UNOWN_O, UnownO), - ANIM_CMD(UNOWN_P, UnownP), - ANIM_CMD(UNOWN_Q, UnownQ), - ANIM_CMD(UNOWN_R, UnownR), - ANIM_CMD(UNOWN_S, UnownS), - ANIM_CMD(UNOWN_T, UnownT), - ANIM_CMD(UNOWN_U, UnownU), - ANIM_CMD(UNOWN_V, UnownV), - ANIM_CMD(UNOWN_W, UnownW), - ANIM_CMD(UNOWN_X, UnownX), - ANIM_CMD(UNOWN_Y, UnownY), - ANIM_CMD(UNOWN_Z, UnownZ), - ANIM_CMD(UNOWN_EMARK, UnownEMark), - ANIM_CMD(UNOWN_QMARK, UnownQMark), + [SPECIES_NONE] = sUnusedAnims_None, + [SPECIES_BULBASAUR] = sUnusedAnims_Bulbasaur, + [SPECIES_IVYSAUR] = sUnusedAnims_Ivysaur, + [SPECIES_VENUSAUR] = sUnusedAnims_Venusaur, + [SPECIES_CHARMANDER] = sUnusedAnims_Charmander, + [SPECIES_CHARMELEON] = sUnusedAnims_Charmeleon, + [SPECIES_CHARIZARD] = sUnusedAnims_Charizard, + [SPECIES_SQUIRTLE] = sUnusedAnims_Squirtle, + [SPECIES_WARTORTLE] = sUnusedAnims_Wartortle, + [SPECIES_BLASTOISE] = sUnusedAnims_Blastoise, + [SPECIES_CATERPIE] = sUnusedAnims_Caterpie, + [SPECIES_METAPOD] = sUnusedAnims_Metapod, + [SPECIES_BUTTERFREE] = sUnusedAnims_Butterfree, + [SPECIES_WEEDLE] = sUnusedAnims_Weedle, + [SPECIES_KAKUNA] = sUnusedAnims_Kakuna, + [SPECIES_BEEDRILL] = sUnusedAnims_Beedrill, + [SPECIES_PIDGEY] = sUnusedAnims_Pidgey, + [SPECIES_PIDGEOTTO] = sUnusedAnims_Pidgeotto, + [SPECIES_PIDGEOT] = sUnusedAnims_Pidgeot, + [SPECIES_RATTATA] = sUnusedAnims_Rattata, + [SPECIES_RATICATE] = sUnusedAnims_Raticate, + [SPECIES_SPEAROW] = sUnusedAnims_Spearow, + [SPECIES_FEAROW] = sUnusedAnims_Fearow, + [SPECIES_EKANS] = sUnusedAnims_Ekans, + [SPECIES_ARBOK] = sUnusedAnims_Arbok, + [SPECIES_PIKACHU] = sUnusedAnims_Pikachu, + [SPECIES_RAICHU] = sUnusedAnims_Raichu, + [SPECIES_SANDSHREW] = sUnusedAnims_Sandshrew, + [SPECIES_SANDSLASH] = sUnusedAnims_Sandslash, + [SPECIES_NIDORAN_F] = sUnusedAnims_NidoranF, + [SPECIES_NIDORINA] = sUnusedAnims_Nidorina, + [SPECIES_NIDOQUEEN] = sUnusedAnims_Nidoqueen, + [SPECIES_NIDORAN_M] = sUnusedAnims_NidoranM, + [SPECIES_NIDORINO] = sUnusedAnims_Nidorino, + [SPECIES_NIDOKING] = sUnusedAnims_Nidoking, + [SPECIES_CLEFAIRY] = sUnusedAnims_Clefairy, + [SPECIES_CLEFABLE] = sUnusedAnims_Clefable, + [SPECIES_VULPIX] = sUnusedAnims_Vulpix, + [SPECIES_NINETALES] = sUnusedAnims_Ninetales, + [SPECIES_JIGGLYPUFF] = sUnusedAnims_Jigglypuff, + [SPECIES_WIGGLYTUFF] = sUnusedAnims_Wigglytuff, + [SPECIES_ZUBAT] = sUnusedAnims_Zubat, + [SPECIES_GOLBAT] = sUnusedAnims_Golbat, + [SPECIES_ODDISH] = sUnusedAnims_Oddish, + [SPECIES_GLOOM] = sUnusedAnims_Gloom, + [SPECIES_VILEPLUME] = sUnusedAnims_Vileplume, + [SPECIES_PARAS] = sUnusedAnims_Paras, + [SPECIES_PARASECT] = sUnusedAnims_Parasect, + [SPECIES_VENONAT] = sUnusedAnims_Venonat, + [SPECIES_VENOMOTH] = sUnusedAnims_Venomoth, + [SPECIES_DIGLETT] = sUnusedAnims_Diglett, + [SPECIES_DUGTRIO] = sUnusedAnims_Dugtrio, + [SPECIES_MEOWTH] = sUnusedAnims_Meowth, + [SPECIES_PERSIAN] = sUnusedAnims_Persian, + [SPECIES_PSYDUCK] = sUnusedAnims_Psyduck, + [SPECIES_GOLDUCK] = sUnusedAnims_Golduck, + [SPECIES_MANKEY] = sUnusedAnims_Mankey, + [SPECIES_PRIMEAPE] = sUnusedAnims_Primeape, + [SPECIES_GROWLITHE] = sUnusedAnims_Growlithe, + [SPECIES_ARCANINE] = sUnusedAnims_Arcanine, + [SPECIES_POLIWAG] = sUnusedAnims_Poliwag, + [SPECIES_POLIWHIRL] = sUnusedAnims_Poliwhirl, + [SPECIES_POLIWRATH] = sUnusedAnims_Poliwrath, + [SPECIES_ABRA] = sUnusedAnims_Abra, + [SPECIES_KADABRA] = sUnusedAnims_Kadabra, + [SPECIES_ALAKAZAM] = sUnusedAnims_Alakazam, + [SPECIES_MACHOP] = sUnusedAnims_Machop, + [SPECIES_MACHOKE] = sUnusedAnims_Machoke, + [SPECIES_MACHAMP] = sUnusedAnims_Machamp, + [SPECIES_BELLSPROUT] = sUnusedAnims_Bellsprout, + [SPECIES_WEEPINBELL] = sUnusedAnims_Weepinbell, + [SPECIES_VICTREEBEL] = sUnusedAnims_Victreebel, + [SPECIES_TENTACOOL] = sUnusedAnims_Tentacool, + [SPECIES_TENTACRUEL] = sUnusedAnims_Tentacruel, + [SPECIES_GEODUDE] = sUnusedAnims_Geodude, + [SPECIES_GRAVELER] = sUnusedAnims_Graveler, + [SPECIES_GOLEM] = sUnusedAnims_Golem, + [SPECIES_PONYTA] = sUnusedAnims_Ponyta, + [SPECIES_RAPIDASH] = sUnusedAnims_Rapidash, + [SPECIES_SLOWPOKE] = sUnusedAnims_Slowpoke, + [SPECIES_SLOWBRO] = sUnusedAnims_Slowbro, + [SPECIES_MAGNEMITE] = sUnusedAnims_Magnemite, + [SPECIES_MAGNETON] = sUnusedAnims_Magneton, + [SPECIES_FARFETCHD] = sUnusedAnims_Farfetchd, + [SPECIES_DODUO] = sUnusedAnims_Doduo, + [SPECIES_DODRIO] = sUnusedAnims_Dodrio, + [SPECIES_SEEL] = sUnusedAnims_Seel, + [SPECIES_DEWGONG] = sUnusedAnims_Dewgong, + [SPECIES_GRIMER] = sUnusedAnims_Grimer, + [SPECIES_MUK] = sUnusedAnims_Muk, + [SPECIES_SHELLDER] = sUnusedAnims_Shellder, + [SPECIES_CLOYSTER] = sUnusedAnims_Cloyster, + [SPECIES_GASTLY] = sUnusedAnims_Gastly, + [SPECIES_HAUNTER] = sUnusedAnims_Haunter, + [SPECIES_GENGAR] = sUnusedAnims_Gengar, + [SPECIES_ONIX] = sUnusedAnims_Onix, + [SPECIES_DROWZEE] = sUnusedAnims_Drowzee, + [SPECIES_HYPNO] = sUnusedAnims_Hypno, + [SPECIES_KRABBY] = sUnusedAnims_Krabby, + [SPECIES_KINGLER] = sUnusedAnims_Kingler, + [SPECIES_VOLTORB] = sUnusedAnims_Voltorb, + [SPECIES_ELECTRODE] = sUnusedAnims_Electrode, + [SPECIES_EXEGGCUTE] = sUnusedAnims_Exeggcute, + [SPECIES_EXEGGUTOR] = sUnusedAnims_Exeggutor, + [SPECIES_CUBONE] = sUnusedAnims_Cubone, + [SPECIES_MAROWAK] = sUnusedAnims_Marowak, + [SPECIES_HITMONLEE] = sUnusedAnims_Hitmonlee, + [SPECIES_HITMONCHAN] = sUnusedAnims_Hitmonchan, + [SPECIES_LICKITUNG] = sUnusedAnims_Lickitung, + [SPECIES_KOFFING] = sUnusedAnims_Koffing, + [SPECIES_WEEZING] = sUnusedAnims_Weezing, + [SPECIES_RHYHORN] = sUnusedAnims_Rhyhorn, + [SPECIES_RHYDON] = sUnusedAnims_Rhydon, + [SPECIES_CHANSEY] = sUnusedAnims_Chansey, + [SPECIES_TANGELA] = sUnusedAnims_Tangela, + [SPECIES_KANGASKHAN] = sUnusedAnims_Kangaskhan, + [SPECIES_HORSEA] = sUnusedAnims_Horsea, + [SPECIES_SEADRA] = sUnusedAnims_Seadra, + [SPECIES_GOLDEEN] = sUnusedAnims_Goldeen, + [SPECIES_SEAKING] = sUnusedAnims_Seaking, + [SPECIES_STARYU] = sUnusedAnims_Staryu, + [SPECIES_STARMIE] = sUnusedAnims_Starmie, + [SPECIES_MR_MIME] = sUnusedAnims_MrMime, + [SPECIES_SCYTHER] = sUnusedAnims_Scyther, + [SPECIES_JYNX] = sUnusedAnims_Jynx, + [SPECIES_ELECTABUZZ] = sUnusedAnims_Electabuzz, + [SPECIES_MAGMAR] = sUnusedAnims_Magmar, + [SPECIES_PINSIR] = sUnusedAnims_Pinsir, + [SPECIES_TAUROS] = sUnusedAnims_Tauros, + [SPECIES_MAGIKARP] = sUnusedAnims_Magikarp, + [SPECIES_GYARADOS] = sUnusedAnims_Gyarados, + [SPECIES_LAPRAS] = sUnusedAnims_Lapras, + [SPECIES_DITTO] = sUnusedAnims_Ditto, + [SPECIES_EEVEE] = sUnusedAnims_Eevee, + [SPECIES_VAPOREON] = sUnusedAnims_Vaporeon, + [SPECIES_JOLTEON] = sUnusedAnims_Jolteon, + [SPECIES_FLAREON] = sUnusedAnims_Flareon, + [SPECIES_PORYGON] = sUnusedAnims_Porygon, + [SPECIES_OMANYTE] = sUnusedAnims_Omanyte, + [SPECIES_OMASTAR] = sUnusedAnims_Omastar, + [SPECIES_KABUTO] = sUnusedAnims_Kabuto, + [SPECIES_KABUTOPS] = sUnusedAnims_Kabutops, + [SPECIES_AERODACTYL] = sUnusedAnims_Aerodactyl, + [SPECIES_SNORLAX] = sUnusedAnims_Snorlax, + [SPECIES_ARTICUNO] = sUnusedAnims_Articuno, + [SPECIES_ZAPDOS] = sUnusedAnims_Zapdos, + [SPECIES_MOLTRES] = sUnusedAnims_Moltres, + [SPECIES_DRATINI] = sUnusedAnims_Dratini, + [SPECIES_DRAGONAIR] = sUnusedAnims_Dragonair, + [SPECIES_DRAGONITE] = sUnusedAnims_Dragonite, + [SPECIES_MEWTWO] = sUnusedAnims_Mewtwo, + [SPECIES_MEW] = sUnusedAnims_Mew, + [SPECIES_CHIKORITA] = sUnusedAnims_Chikorita, + [SPECIES_BAYLEEF] = sUnusedAnims_Bayleef, + [SPECIES_MEGANIUM] = sUnusedAnims_Meganium, + [SPECIES_CYNDAQUIL] = sUnusedAnims_Cyndaquil, + [SPECIES_QUILAVA] = sUnusedAnims_Quilava, + [SPECIES_TYPHLOSION] = sUnusedAnims_Typhlosion, + [SPECIES_TOTODILE] = sUnusedAnims_Totodile, + [SPECIES_CROCONAW] = sUnusedAnims_Croconaw, + [SPECIES_FERALIGATR] = sUnusedAnims_Feraligatr, + [SPECIES_SENTRET] = sUnusedAnims_Sentret, + [SPECIES_FURRET] = sUnusedAnims_Furret, + [SPECIES_HOOTHOOT] = sUnusedAnims_Hoothoot, + [SPECIES_NOCTOWL] = sUnusedAnims_Noctowl, + [SPECIES_LEDYBA] = sUnusedAnims_Ledyba, + [SPECIES_LEDIAN] = sUnusedAnims_Ledian, + [SPECIES_SPINARAK] = sUnusedAnims_Spinarak, + [SPECIES_ARIADOS] = sUnusedAnims_Ariados, + [SPECIES_CROBAT] = sUnusedAnims_Crobat, + [SPECIES_CHINCHOU] = sUnusedAnims_Chinchou, + [SPECIES_LANTURN] = sUnusedAnims_Lanturn, + [SPECIES_PICHU] = sUnusedAnims_Pichu, + [SPECIES_CLEFFA] = sUnusedAnims_Cleffa, + [SPECIES_IGGLYBUFF] = sUnusedAnims_Igglybuff, + [SPECIES_TOGEPI] = sUnusedAnims_Togepi, + [SPECIES_TOGETIC] = sUnusedAnims_Togetic, + [SPECIES_NATU] = sUnusedAnims_Natu, + [SPECIES_XATU] = sUnusedAnims_Xatu, + [SPECIES_MAREEP] = sUnusedAnims_Mareep, + [SPECIES_FLAAFFY] = sUnusedAnims_Flaaffy, + [SPECIES_AMPHAROS] = sUnusedAnims_Ampharos, + [SPECIES_BELLOSSOM] = sUnusedAnims_Bellossom, + [SPECIES_MARILL] = sUnusedAnims_Marill, + [SPECIES_AZUMARILL] = sUnusedAnims_Azumarill, + [SPECIES_SUDOWOODO] = sUnusedAnims_Sudowoodo, + [SPECIES_POLITOED] = sUnusedAnims_Politoed, + [SPECIES_HOPPIP] = sUnusedAnims_Hoppip, + [SPECIES_SKIPLOOM] = sUnusedAnims_Skiploom, + [SPECIES_JUMPLUFF] = sUnusedAnims_Jumpluff, + [SPECIES_AIPOM] = sUnusedAnims_Aipom, + [SPECIES_SUNKERN] = sUnusedAnims_Sunkern, + [SPECIES_SUNFLORA] = sUnusedAnims_Sunflora, + [SPECIES_YANMA] = sUnusedAnims_Yanma, + [SPECIES_WOOPER] = sUnusedAnims_Wooper, + [SPECIES_QUAGSIRE] = sUnusedAnims_Quagsire, + [SPECIES_ESPEON] = sUnusedAnims_Espeon, + [SPECIES_UMBREON] = sUnusedAnims_Umbreon, + [SPECIES_MURKROW] = sUnusedAnims_Murkrow, + [SPECIES_SLOWKING] = sUnusedAnims_Slowking, + [SPECIES_MISDREAVUS] = sUnusedAnims_Misdreavus, + [SPECIES_UNOWN] = sUnusedAnims_Unown, + [SPECIES_WOBBUFFET] = sUnusedAnims_Wobbuffet, + [SPECIES_GIRAFARIG] = sUnusedAnims_Girafarig, + [SPECIES_PINECO] = sUnusedAnims_Pineco, + [SPECIES_FORRETRESS] = sUnusedAnims_Forretress, + [SPECIES_DUNSPARCE] = sUnusedAnims_Dunsparce, + [SPECIES_GLIGAR] = sUnusedAnims_Gligar, + [SPECIES_STEELIX] = sUnusedAnims_Steelix, + [SPECIES_SNUBBULL] = sUnusedAnims_Snubbull, + [SPECIES_GRANBULL] = sUnusedAnims_Granbull, + [SPECIES_QWILFISH] = sUnusedAnims_Qwilfish, + [SPECIES_SCIZOR] = sUnusedAnims_Scizor, + [SPECIES_SHUCKLE] = sUnusedAnims_Shuckle, + [SPECIES_HERACROSS] = sUnusedAnims_Heracross, + [SPECIES_SNEASEL] = sUnusedAnims_Sneasel, + [SPECIES_TEDDIURSA] = sUnusedAnims_Teddiursa, + [SPECIES_URSARING] = sUnusedAnims_Ursaring, + [SPECIES_SLUGMA] = sUnusedAnims_Slugma, + [SPECIES_MAGCARGO] = sUnusedAnims_Magcargo, + [SPECIES_SWINUB] = sUnusedAnims_Swinub, + [SPECIES_PILOSWINE] = sUnusedAnims_Piloswine, + [SPECIES_CORSOLA] = sUnusedAnims_Corsola, + [SPECIES_REMORAID] = sUnusedAnims_Remoraid, + [SPECIES_OCTILLERY] = sUnusedAnims_Octillery, + [SPECIES_DELIBIRD] = sUnusedAnims_Delibird, + [SPECIES_MANTINE] = sUnusedAnims_Mantine, + [SPECIES_SKARMORY] = sUnusedAnims_Skarmory, + [SPECIES_HOUNDOUR] = sUnusedAnims_Houndour, + [SPECIES_HOUNDOOM] = sUnusedAnims_Houndoom, + [SPECIES_KINGDRA] = sUnusedAnims_Kingdra, + [SPECIES_PHANPY] = sUnusedAnims_Phanpy, + [SPECIES_DONPHAN] = sUnusedAnims_Donphan, + [SPECIES_PORYGON2] = sUnusedAnims_Porygon2, + [SPECIES_STANTLER] = sUnusedAnims_Stantler, + [SPECIES_SMEARGLE] = sUnusedAnims_Smeargle, + [SPECIES_TYROGUE] = sUnusedAnims_Tyrogue, + [SPECIES_HITMONTOP] = sUnusedAnims_Hitmontop, + [SPECIES_SMOOCHUM] = sUnusedAnims_Smoochum, + [SPECIES_ELEKID] = sUnusedAnims_Elekid, + [SPECIES_MAGBY] = sUnusedAnims_Magby, + [SPECIES_MILTANK] = sUnusedAnims_Miltank, + [SPECIES_BLISSEY] = sUnusedAnims_Blissey, + [SPECIES_RAIKOU] = sUnusedAnims_Raikou, + [SPECIES_ENTEI] = sUnusedAnims_Entei, + [SPECIES_SUICUNE] = sUnusedAnims_Suicune, + [SPECIES_LARVITAR] = sUnusedAnims_Larvitar, + [SPECIES_PUPITAR] = sUnusedAnims_Pupitar, + [SPECIES_TYRANITAR] = sUnusedAnims_Tyranitar, + [SPECIES_LUGIA] = sUnusedAnims_Lugia, + [SPECIES_HO_OH] = sUnusedAnims_HoOh, + [SPECIES_CELEBI] = sUnusedAnims_Celebi, + [SPECIES_OLD_UNOWN_B] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_C] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_D] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_E] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_F] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_G] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_H] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_I] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_J] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_K] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_L] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_M] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_N] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_O] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_P] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_Q] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_R] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_S] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_T] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_U] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_V] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_W] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_X] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_Y] = sUnusedAnims_OldUnownB, + [SPECIES_OLD_UNOWN_Z] = sUnusedAnims_OldUnownB, + [SPECIES_TREECKO] = sUnusedAnims_Treecko, + [SPECIES_GROVYLE] = sUnusedAnims_Grovyle, + [SPECIES_SCEPTILE] = sUnusedAnims_Sceptile, + [SPECIES_TORCHIC] = sUnusedAnims_Torchic, + [SPECIES_COMBUSKEN] = sUnusedAnims_Combusken, + [SPECIES_BLAZIKEN] = sUnusedAnims_Blaziken, + [SPECIES_MUDKIP] = sUnusedAnims_Mudkip, + [SPECIES_MARSHTOMP] = sUnusedAnims_Marshtomp, + [SPECIES_SWAMPERT] = sUnusedAnims_Swampert, + [SPECIES_POOCHYENA] = sUnusedAnims_Poochyena, + [SPECIES_MIGHTYENA] = sUnusedAnims_Mightyena, + [SPECIES_ZIGZAGOON] = sUnusedAnims_Zigzagoon, + [SPECIES_LINOONE] = sUnusedAnims_Linoone, + [SPECIES_WURMPLE] = sUnusedAnims_Wurmple, + [SPECIES_SILCOON] = sUnusedAnims_Silcoon, + [SPECIES_BEAUTIFLY] = sUnusedAnims_Beautifly, + [SPECIES_CASCOON] = sUnusedAnims_Cascoon, + [SPECIES_DUSTOX] = sUnusedAnims_Dustox, + [SPECIES_LOTAD] = sUnusedAnims_Lotad, + [SPECIES_LOMBRE] = sUnusedAnims_Lombre, + [SPECIES_LUDICOLO] = sUnusedAnims_Ludicolo, + [SPECIES_SEEDOT] = sUnusedAnims_Seedot, + [SPECIES_NUZLEAF] = sUnusedAnims_Nuzleaf, + [SPECIES_SHIFTRY] = sUnusedAnims_Shiftry, + [SPECIES_NINCADA] = sUnusedAnims_Nincada, + [SPECIES_NINJASK] = sUnusedAnims_Ninjask, + [SPECIES_SHEDINJA] = sUnusedAnims_Shedinja, + [SPECIES_TAILLOW] = sUnusedAnims_Taillow, + [SPECIES_SWELLOW] = sUnusedAnims_Swellow, + [SPECIES_SHROOMISH] = sUnusedAnims_Shroomish, + [SPECIES_BRELOOM] = sUnusedAnims_Breloom, + [SPECIES_SPINDA] = sUnusedAnims_Spinda, + [SPECIES_WINGULL] = sUnusedAnims_Wingull, + [SPECIES_PELIPPER] = sUnusedAnims_Pelipper, + [SPECIES_SURSKIT] = sUnusedAnims_Surskit, + [SPECIES_MASQUERAIN] = sUnusedAnims_Masquerain, + [SPECIES_WAILMER] = sUnusedAnims_Wailmer, + [SPECIES_WAILORD] = sUnusedAnims_Wailord, + [SPECIES_SKITTY] = sUnusedAnims_Skitty, + [SPECIES_DELCATTY] = sUnusedAnims_Delcatty, + [SPECIES_KECLEON] = sUnusedAnims_Kecleon, + [SPECIES_BALTOY] = sUnusedAnims_Baltoy, + [SPECIES_CLAYDOL] = sUnusedAnims_Claydol, + [SPECIES_NOSEPASS] = sUnusedAnims_Nosepass, + [SPECIES_TORKOAL] = sUnusedAnims_Torkoal, + [SPECIES_SABLEYE] = sUnusedAnims_Sableye, + [SPECIES_BARBOACH] = sUnusedAnims_Barboach, + [SPECIES_WHISCASH] = sUnusedAnims_Whiscash, + [SPECIES_LUVDISC] = sUnusedAnims_Luvdisc, + [SPECIES_CORPHISH] = sUnusedAnims_Corphish, + [SPECIES_CRAWDAUNT] = sUnusedAnims_Crawdaunt, + [SPECIES_FEEBAS] = sUnusedAnims_Feebas, + [SPECIES_MILOTIC] = sUnusedAnims_Milotic, + [SPECIES_CARVANHA] = sUnusedAnims_Carvanha, + [SPECIES_SHARPEDO] = sUnusedAnims_Sharpedo, + [SPECIES_TRAPINCH] = sUnusedAnims_Trapinch, + [SPECIES_VIBRAVA] = sUnusedAnims_Vibrava, + [SPECIES_FLYGON] = sUnusedAnims_Flygon, + [SPECIES_MAKUHITA] = sUnusedAnims_Makuhita, + [SPECIES_HARIYAMA] = sUnusedAnims_Hariyama, + [SPECIES_ELECTRIKE] = sUnusedAnims_Electrike, + [SPECIES_MANECTRIC] = sUnusedAnims_Manectric, + [SPECIES_NUMEL] = sUnusedAnims_Numel, + [SPECIES_CAMERUPT] = sUnusedAnims_Camerupt, + [SPECIES_SPHEAL] = sUnusedAnims_Spheal, + [SPECIES_SEALEO] = sUnusedAnims_Sealeo, + [SPECIES_WALREIN] = sUnusedAnims_Walrein, + [SPECIES_CACNEA] = sUnusedAnims_Cacnea, + [SPECIES_CACTURNE] = sUnusedAnims_Cacturne, + [SPECIES_SNORUNT] = sUnusedAnims_Snorunt, + [SPECIES_GLALIE] = sUnusedAnims_Glalie, + [SPECIES_LUNATONE] = sUnusedAnims_Lunatone, + [SPECIES_SOLROCK] = sUnusedAnims_Solrock, + [SPECIES_AZURILL] = sUnusedAnims_Azurill, + [SPECIES_SPOINK] = sUnusedAnims_Spoink, + [SPECIES_GRUMPIG] = sUnusedAnims_Grumpig, + [SPECIES_PLUSLE] = sUnusedAnims_Plusle, + [SPECIES_MINUN] = sUnusedAnims_Minun, + [SPECIES_MAWILE] = sUnusedAnims_Mawile, + [SPECIES_MEDITITE] = sUnusedAnims_Meditite, + [SPECIES_MEDICHAM] = sUnusedAnims_Medicham, + [SPECIES_SWABLU] = sUnusedAnims_Swablu, + [SPECIES_ALTARIA] = sUnusedAnims_Altaria, + [SPECIES_WYNAUT] = sUnusedAnims_Wynaut, + [SPECIES_DUSKULL] = sUnusedAnims_Duskull, + [SPECIES_DUSCLOPS] = sUnusedAnims_Dusclops, + [SPECIES_ROSELIA] = sUnusedAnims_Roselia, + [SPECIES_SLAKOTH] = sUnusedAnims_Slakoth, + [SPECIES_VIGOROTH] = sUnusedAnims_Vigoroth, + [SPECIES_SLAKING] = sUnusedAnims_Slaking, + [SPECIES_GULPIN] = sUnusedAnims_Gulpin, + [SPECIES_SWALOT] = sUnusedAnims_Swalot, + [SPECIES_TROPIUS] = sUnusedAnims_Tropius, + [SPECIES_WHISMUR] = sUnusedAnims_Whismur, + [SPECIES_LOUDRED] = sUnusedAnims_Loudred, + [SPECIES_EXPLOUD] = sUnusedAnims_Exploud, + [SPECIES_CLAMPERL] = sUnusedAnims_Clamperl, + [SPECIES_HUNTAIL] = sUnusedAnims_Huntail, + [SPECIES_GOREBYSS] = sUnusedAnims_Gorebyss, + [SPECIES_ABSOL] = sUnusedAnims_Absol, + [SPECIES_SHUPPET] = sUnusedAnims_Shuppet, + [SPECIES_BANETTE] = sUnusedAnims_Banette, + [SPECIES_SEVIPER] = sUnusedAnims_Seviper, + [SPECIES_ZANGOOSE] = sUnusedAnims_Zangoose, + [SPECIES_RELICANTH] = sUnusedAnims_Relicanth, + [SPECIES_ARON] = sUnusedAnims_Aron, + [SPECIES_LAIRON] = sUnusedAnims_Lairon, + [SPECIES_AGGRON] = sUnusedAnims_Aggron, + [SPECIES_CASTFORM] = sUnusedAnims_Castform, + [SPECIES_VOLBEAT] = sUnusedAnims_Volbeat, + [SPECIES_ILLUMISE] = sUnusedAnims_Illumise, + [SPECIES_LILEEP] = sUnusedAnims_Lileep, + [SPECIES_CRADILY] = sUnusedAnims_Cradily, + [SPECIES_ANORITH] = sUnusedAnims_Anorith, + [SPECIES_ARMALDO] = sUnusedAnims_Armaldo, + [SPECIES_RALTS] = sUnusedAnims_Ralts, + [SPECIES_KIRLIA] = sUnusedAnims_Kirlia, + [SPECIES_GARDEVOIR] = sUnusedAnims_Gardevoir, + [SPECIES_BAGON] = sUnusedAnims_Bagon, + [SPECIES_SHELGON] = sUnusedAnims_Shelgon, + [SPECIES_SALAMENCE] = sUnusedAnims_Salamence, + [SPECIES_BELDUM] = sUnusedAnims_Beldum, + [SPECIES_METANG] = sUnusedAnims_Metang, + [SPECIES_METAGROSS] = sUnusedAnims_Metagross, + [SPECIES_REGIROCK] = sUnusedAnims_Regirock, + [SPECIES_REGICE] = sUnusedAnims_Regice, + [SPECIES_REGISTEEL] = sUnusedAnims_Registeel, + [SPECIES_KYOGRE] = sUnusedAnims_Kyogre, + [SPECIES_GROUDON] = sUnusedAnims_Groudon, + [SPECIES_RAYQUAZA] = sUnusedAnims_Rayquaza, + [SPECIES_LATIAS] = sUnusedAnims_Latias, + [SPECIES_LATIOS] = sUnusedAnims_Latios, + [SPECIES_JIRACHI] = sUnusedAnims_Jirachi, + [SPECIES_DEOXYS] = sUnusedAnims_Deoxys, + [SPECIES_CHIMECHO] = sUnusedAnims_Chimecho, + [SPECIES_EGG] = sUnusedAnims_Egg, + [SPECIES_UNOWN_B] = sUnusedAnims_Egg, + [SPECIES_UNOWN_C] = sUnusedAnims_UnownC, + [SPECIES_UNOWN_D] = sUnusedAnims_UnownD, + [SPECIES_UNOWN_E] = sUnusedAnims_UnownE, + [SPECIES_UNOWN_F] = sUnusedAnims_UnownF, + [SPECIES_UNOWN_G] = sUnusedAnims_UnownG, + [SPECIES_UNOWN_H] = sUnusedAnims_UnownH, + [SPECIES_UNOWN_I] = sUnusedAnims_UnownI, + [SPECIES_UNOWN_J] = sUnusedAnims_UnownJ, + [SPECIES_UNOWN_K] = sUnusedAnims_UnownK, + [SPECIES_UNOWN_L] = sUnusedAnims_UnownL, + [SPECIES_UNOWN_M] = sUnusedAnims_UnownM, + [SPECIES_UNOWN_N] = sUnusedAnims_UnownN, + [SPECIES_UNOWN_O] = sUnusedAnims_UnownO, + [SPECIES_UNOWN_P] = sUnusedAnims_UnownP, + [SPECIES_UNOWN_Q] = sUnusedAnims_UnownQ, + [SPECIES_UNOWN_R] = sUnusedAnims_UnownR, + [SPECIES_UNOWN_S] = sUnusedAnims_UnownS, + [SPECIES_UNOWN_T] = sUnusedAnims_UnownT, + [SPECIES_UNOWN_U] = sUnusedAnims_UnownU, + [SPECIES_UNOWN_V] = sUnusedAnims_UnownV, + [SPECIES_UNOWN_W] = sUnusedAnims_UnownW, + [SPECIES_UNOWN_X] = sUnusedAnims_UnownX, + [SPECIES_UNOWN_Y] = sUnusedAnims_UnownY, + [SPECIES_UNOWN_Z] = sUnusedAnims_UnownZ, + [SPECIES_UNOWN_EMARK] = sUnusedAnims_UnownEMark, + [SPECIES_UNOWN_QMARK] = sUnusedAnims_UnownQMark, }; #undef ANIM_CMD From 07a8af5975b733e4724e886f8a6307412e07affa Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Sun, 11 Dec 2022 22:09:23 +0100 Subject: [PATCH 074/130] =?UTF-8?q?Set=20FLAG=5FSYS=5FPOKEMON=5FGET=20when?= =?UTF-8?q?=20debug=20gifting=20yourself=20a=20Pok=C3=A9mon?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/debug.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/debug.c b/src/debug.c index 7aa21f6a7..90081eb61 100644 --- a/src/debug.c +++ b/src/debug.c @@ -2178,6 +2178,8 @@ static void DebugAction_Give_Pokemon_SelectLevel(u8 taskId) { PlaySE(MUS_LEVEL_UP); ScriptGiveMon(sDebugMonData->mon_speciesId, gTasks[taskId].data[3], ITEM_NONE, 0,0,0); + //Set flag for user convenience + FlagSet(FLAG_SYS_POKEMON_GET); Free(sDebugMonData); //Frees EWRAM of MonData Struct DebugAction_DestroyExtraWindow(taskId); } @@ -2732,6 +2734,9 @@ static void DebugAction_Give_Pokemon_ComplexCreateMon(u8 taskId) //https://githu break; } + //Set flag for user convenience + FlagSet(FLAG_SYS_POKEMON_GET); + Free(sDebugMonData); //Frees EWRAM of MonData Struct DebugAction_DestroyExtraWindow(taskId); //return sentToPc; } From e6a3396b0f5e28f7e92ebf33a1fa5914d6126d68 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sun, 11 Dec 2022 19:24:36 -0300 Subject: [PATCH 075/130] Added Adrenaline Orb check and removed silly comment --- 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 4514de868..c3c490712 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -8222,7 +8222,7 @@ BattleScript_IntimidateEffect: playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printstring STRINGID_PKMNCUTSATTACKWITH waitmessage B_WAIT_TIME_LONG -@ Perform stat nerf + call BattleScript_TryAdrenalineOrb BattleScript_IntimidateLoopIncrement: addbyte gBattlerTarget, 1 jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_IntimidateLoop From 8eff1a13c1e51fa032900c9dcfdb872f1c0f3e49 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sun, 11 Dec 2022 23:17:59 -0300 Subject: [PATCH 076/130] Updated BattleScript_IntimidateEffect to comply with BattleScript_TryAdrenalineOrb's demands --- data/battle_scripts_1.s | 1 + 1 file changed, 1 insertion(+) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index c3c490712..f30bccaaa 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -8217,6 +8217,7 @@ BattleScript_IntimidateLoop: jumpifability BS_TARGET, ABILITY_OBLIVIOUS, BattleScript_IntimidatePrevented .endif BattleScript_IntimidateEffect: + copybyte sBATTLER, gBattlerTarget statbuffchange STAT_CHANGE_NOT_PROTECT_AFFECTED | MOVE_EFFECT_CERTAIN, NULL setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 From 1290a9411d90d777c02fafd9ad53de6fe51798df Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 12 Dec 2022 00:37:00 -0300 Subject: [PATCH 077/130] Reorganized SpecialStatus struct to minimize padding. --- include/battle.h | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/include/battle.h b/include/battle.h index 06e07b341..658eb1264 100644 --- a/include/battle.h +++ b/include/battle.h @@ -155,6 +155,12 @@ struct ProtectStruct struct SpecialStatus { + s32 dmg; + s32 physicalDmg; + s32 specialDmg; + u8 physicalBattlerId; + u8 specialBattlerId; + u8 changedStatsBattlerId; // Battler that was responsible for the latest stat change. Can be self. u8 statLowered:1; u8 lightningRodRedirected:1; u8 restoredBattlerSprite: 1; @@ -162,33 +168,29 @@ struct SpecialStatus u8 ppNotAffectedByPressure:1; u8 faintedHasReplacement:1; u8 focusBanded:1; - // End of byte u8 focusSashed:1; + // End of byte u8 sturdied:1; u8 stormDrainRedirected:1; u8 switchInAbilityDone:1; u8 switchInItemDone:1; u8 instructedChosenTarget:3; - // End of byte u8 berryReduced:1; + // End of byte + u8 gemParam; + // End of byte u8 gemBoost:1; u8 rototillerAffected:1; // to be affected by rototiller u8 parentalBondState:2; u8 multiHitOn:1; - // End of byte, two bits unused - u8 gemParam; - u8 damagedMons:4; // Mons that have been damaged directly by using a move, includes substitute. - u8 dancerUsedMove:1; - u8 dancerOriginalTarget:3; u8 announceNeutralizingGas:1; // See Cmd_switchineffects u8 neutralizingGasRemoved:1; // See VARIOUS_TRY_END_NEUTRALIZING_GAS u8 affectionEndured:1; - s32 dmg; - s32 physicalDmg; - s32 specialDmg; - u8 physicalBattlerId; - u8 specialBattlerId; - u8 changedStatsBattlerId; // Battler that was responsible for the latest stat change. Can be self. + // End of byte + u8 damagedMons:4; // Mons that have been damaged directly by using a move, includes substitute. + u8 dancerUsedMove:1; + u8 dancerOriginalTarget:3; + // End of byte }; struct SideTimer From a3e58b05c14e478b7e50597e520b5c0132874415 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Mon, 12 Dec 2022 20:30:25 -0300 Subject: [PATCH 078/130] Implemented Guard Dog's effect --- data/battle_scripts_1.s | 10 ++++++++++ src/battle_script_commands.c | 14 ++++++++------ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index af368ec36..61392433d 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -2967,6 +2967,7 @@ BattleScript_EffectHitEscape: jumpifmovehadnoeffect BattleScript_MoveEnd seteffectwithchance tryfaintmon BS_TARGET + jumpifability BS_TARGET, ABILITY_GUARD_DOG, BattleScript_MoveEnd moveendto MOVEEND_ATTACKER_VISIBLE moveendfrom MOVEEND_TARGET_VISIBLE jumpifbattleend BattleScript_HitEscapeEnd @@ -8421,6 +8422,7 @@ BattleScript_IntimidateLoop: jumpifability BS_TARGET, ABILITY_OWN_TEMPO, BattleScript_IntimidatePrevented jumpifability BS_TARGET, ABILITY_OBLIVIOUS, BattleScript_IntimidatePrevented .endif + jumpifability BS_TARGET, ABILITY_GUARD_DOG, BattleScript_IntimidateInReverse BattleScript_IntimidateEffect: copybyte sBATTLER, gBattlerTarget statbuffchange STAT_CHANGE_NOT_PROTECT_AFFECTED | MOVE_EFFECT_CERTAIN, NULL @@ -8447,6 +8449,14 @@ BattleScript_IntimidatePrevented: call BattleScript_TryAdrenalineOrb goto BattleScript_IntimidateLoopIncrement +BattleScript_IntimidateInReverse: + copybyte sBATTLER, gBattlerTarget + call BattleScript_AbilityPopUp + pause B_WAIT_TIME_SHORT + modifybattlerstatstage BS_TARGET, STAT_ATK, INCREASE, 1, BattleScript_IntimidateLoopIncrement, ANIM_ON + call BattleScript_TryAdrenalineOrb + goto BattleScript_IntimidateLoopIncrement + BattleScript_DroughtActivates:: pause B_WAIT_TIME_SHORT call BattleScript_AbilityPopUp diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 8f616fc3f..98cee311b 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -5760,7 +5760,8 @@ static void Cmd_moveend(void) if (gCurrentMove != MOVE_DRAGON_TAIL && gCurrentMove != MOVE_CIRCLE_THROW && IsBattlerAlive(gBattlerAttacker) - && !TestSheerForceFlag(gBattlerAttacker, gCurrentMove)) + && !TestSheerForceFlag(gBattlerAttacker, gCurrentMove) + && GetBattlerAbility(gBattlerAttacker) != ABILITY_GUARD_DOG) { // Since we check if battler was damaged, we don't need to check move result. // In fact, doing so actually prevents multi-target moves from activating red card properly @@ -9135,9 +9136,10 @@ static void Cmd_various(void) break; case VARIOUS_TRY_HIT_SWITCH_TARGET: if (IsBattlerAlive(gBattlerAttacker) - && IsBattlerAlive(gBattlerTarget) - && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && TARGET_TURN_DAMAGED) + && IsBattlerAlive(gBattlerTarget) + && !(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && TARGET_TURN_DAMAGED + && GetBattlerAbility(gBattlerTarget) != ABILITY_GUARD_DOG) { gBattleScripting.switchCase = B_SWITCH_HIT; gBattlescriptCurrInstr = BattleScript_ForceRandomSwitch; @@ -11236,8 +11238,8 @@ static void Cmd_forcerandomswitch(void) } else { - // In normal wild doubles, Roar will always fail if the user's level is less than the target's. - if (gBattleMons[gBattlerAttacker].level >= gBattleMons[gBattlerTarget].level) + // In normal wild doubles, Roar will always fail if the user's level is less than the target's or if the target's ability is Guard Dog. + if (gBattleMons[gBattlerAttacker].level >= gBattleMons[gBattlerTarget].level && GetBattlerAbility(gBattlerTarget) != ABILITY_GUARD_DOG) gBattlescriptCurrInstr = BattleScript_RoarSuccessEndBattle; else gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); From 6ef30da492dbff05dcadf7aa84f89bb2aecab58a Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Tue, 13 Dec 2022 02:44:49 -0300 Subject: [PATCH 079/130] Update battle.h --- include/constants/battle.h | 144 ++++++++++++++++++------------------- 1 file changed, 72 insertions(+), 72 deletions(-) diff --git a/include/constants/battle.h b/include/constants/battle.h index 7d5080ae5..be44c21cb 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -299,80 +299,80 @@ #define ENUM_WEATHER_STRONG_WINDS 7 // Move Effects -#define MOVE_EFFECT_SLEEP 0x1 -#define MOVE_EFFECT_POISON 0x2 -#define MOVE_EFFECT_BURN 0x3 -#define MOVE_EFFECT_FREEZE 0x4 -#define MOVE_EFFECT_PARALYSIS 0x5 -#define MOVE_EFFECT_TOXIC 0x6 +#define MOVE_EFFECT_SLEEP 1 +#define MOVE_EFFECT_POISON 2 +#define MOVE_EFFECT_BURN 3 +#define MOVE_EFFECT_FREEZE 4 +#define MOVE_EFFECT_PARALYSIS 5 +#define MOVE_EFFECT_TOXIC 6 #define PRIMARY_STATUS_MOVE_EFFECT MOVE_EFFECT_TOXIC // All above move effects apply primary status -#define MOVE_EFFECT_CONFUSION 0x7 -#define MOVE_EFFECT_FLINCH 0x8 -#define MOVE_EFFECT_TRI_ATTACK 0x9 -#define MOVE_EFFECT_UPROAR 0xA -#define MOVE_EFFECT_PAYDAY 0xB -#define MOVE_EFFECT_CHARGING 0xC -#define MOVE_EFFECT_WRAP 0xD -#define MOVE_EFFECT_BURN_UP 0xE // MOVE_EFFECT_BURN_UP replaces unused MOVE_EFFECT_RECOIL_25 so that stat change animations don't break -#define MOVE_EFFECT_ATK_PLUS_1 0xF -#define MOVE_EFFECT_DEF_PLUS_1 0x10 -#define MOVE_EFFECT_SPD_PLUS_1 0x11 -#define MOVE_EFFECT_SP_ATK_PLUS_1 0x12 -#define MOVE_EFFECT_SP_DEF_PLUS_1 0x13 -#define MOVE_EFFECT_ACC_PLUS_1 0x14 -#define MOVE_EFFECT_EVS_PLUS_1 0x15 -#define MOVE_EFFECT_ATK_MINUS_1 0x16 -#define MOVE_EFFECT_DEF_MINUS_1 0x17 -#define MOVE_EFFECT_SPD_MINUS_1 0x18 -#define MOVE_EFFECT_SP_ATK_MINUS_1 0x19 -#define MOVE_EFFECT_SP_DEF_MINUS_1 0x1A -#define MOVE_EFFECT_ACC_MINUS_1 0x1B -#define MOVE_EFFECT_EVS_MINUS_1 0x1C -#define MOVE_EFFECT_RECHARGE 0x1D -#define MOVE_EFFECT_RAGE 0x1E -#define MOVE_EFFECT_STEAL_ITEM 0x1F -#define MOVE_EFFECT_PREVENT_ESCAPE 0x20 -#define MOVE_EFFECT_NIGHTMARE 0x21 -#define MOVE_EFFECT_ALL_STATS_UP 0x22 -#define MOVE_EFFECT_RAPIDSPIN 0x23 -#define MOVE_EFFECT_REMOVE_STATUS 0x24 -#define MOVE_EFFECT_ATK_DEF_DOWN 0x25 -#define MOVE_EFFECT_SCALE_SHOT 0x26 // MOVE_EFFECT_SCALE_SHOT replaces unused MOVE_EFFECT_RECOIL_33 so that stat change animations don't break -#define MOVE_EFFECT_ATK_PLUS_2 0x27 -#define MOVE_EFFECT_DEF_PLUS_2 0x28 -#define MOVE_EFFECT_SPD_PLUS_2 0x29 -#define MOVE_EFFECT_SP_ATK_PLUS_2 0x2A -#define MOVE_EFFECT_SP_DEF_PLUS_2 0x2B -#define MOVE_EFFECT_ACC_PLUS_2 0x2C -#define MOVE_EFFECT_EVS_PLUS_2 0x2D -#define MOVE_EFFECT_ATK_MINUS_2 0x2E -#define MOVE_EFFECT_DEF_MINUS_2 0x2F -#define MOVE_EFFECT_SPD_MINUS_2 0x30 -#define MOVE_EFFECT_SP_ATK_MINUS_2 0x31 -#define MOVE_EFFECT_SP_DEF_MINUS_2 0x32 -#define MOVE_EFFECT_ACC_MINUS_2 0x33 -#define MOVE_EFFECT_EVS_MINUS_2 0x34 -#define MOVE_EFFECT_THRASH 0x35 -#define MOVE_EFFECT_KNOCK_OFF 0x36 -#define MOVE_EFFECT_DEF_SPDEF_DOWN 0x37 -#define MOVE_EFFECT_CLEAR_SMOG 0x38 -#define MOVE_EFFECT_SP_ATK_TWO_DOWN 0x39 -#define MOVE_EFFECT_SMACK_DOWN 0x3A -#define MOVE_EFFECT_FLAME_BURST 0x3B -#define MOVE_EFFECT_FEINT 0x3C -#define MOVE_EFFECT_SPECTRAL_THIEF 0x3D -#define MOVE_EFFECT_V_CREATE 0x3E -#define MOVE_EFFECT_HAPPY_HOUR 0x3F -#define MOVE_EFFECT_CORE_ENFORCER 0x40 -#define MOVE_EFFECT_THROAT_CHOP 0x41 -#define MOVE_EFFECT_INCINERATE 0x42 -#define MOVE_EFFECT_BUG_BITE 0x43 -#define MOVE_EFFECT_RECOIL_HP_25 0x44 -#define MOVE_EFFECT_RELIC_SONG 0x45 -#define MOVE_EFFECT_TRAP_BOTH 0x46 -#define MOVE_EFFECT_DOUBLE_SHOCK 0x47 +#define MOVE_EFFECT_CONFUSION 7 +#define MOVE_EFFECT_FLINCH 8 +#define MOVE_EFFECT_TRI_ATTACK 9 +#define MOVE_EFFECT_UPROAR 10 +#define MOVE_EFFECT_PAYDAY 11 +#define MOVE_EFFECT_CHARGING 12 +#define MOVE_EFFECT_WRAP 13 +#define MOVE_EFFECT_BURN_UP 14 // MOVE_EFFECT_BURN_UP replaces unused MOVE_EFFECT_RECOIL_25 so that stat change animations don't break +#define MOVE_EFFECT_ATK_PLUS_1 15 +#define MOVE_EFFECT_DEF_PLUS_1 16 +#define MOVE_EFFECT_SPD_PLUS_1 17 +#define MOVE_EFFECT_SP_ATK_PLUS_1 18 +#define MOVE_EFFECT_SP_DEF_PLUS_1 19 +#define MOVE_EFFECT_ACC_PLUS_1 20 +#define MOVE_EFFECT_EVS_PLUS_1 21 +#define MOVE_EFFECT_ATK_MINUS_1 22 +#define MOVE_EFFECT_DEF_MINUS_1 23 +#define MOVE_EFFECT_SPD_MINUS_1 24 +#define MOVE_EFFECT_SP_ATK_MINUS_1 25 +#define MOVE_EFFECT_SP_DEF_MINUS_1 26 +#define MOVE_EFFECT_ACC_MINUS_1 27 +#define MOVE_EFFECT_EVS_MINUS_1 28 +#define MOVE_EFFECT_RECHARGE 29 +#define MOVE_EFFECT_RAGE 30 +#define MOVE_EFFECT_STEAL_ITEM 31 +#define MOVE_EFFECT_PREVENT_ESCAPE 32 +#define MOVE_EFFECT_NIGHTMARE 33 +#define MOVE_EFFECT_ALL_STATS_UP 34 +#define MOVE_EFFECT_RAPIDSPIN 35 +#define MOVE_EFFECT_REMOVE_STATUS 36 +#define MOVE_EFFECT_ATK_DEF_DOWN 37 +#define MOVE_EFFECT_SCALE_SHOT 38 // MOVE_EFFECT_SCALE_SHOT replaces unused MOVE_EFFECT_RECOIL_33 so that stat change animations don't break +#define MOVE_EFFECT_ATK_PLUS_2 39 +#define MOVE_EFFECT_DEF_PLUS_2 40 +#define MOVE_EFFECT_SPD_PLUS_2 41 +#define MOVE_EFFECT_SP_ATK_PLUS_2 42 +#define MOVE_EFFECT_SP_DEF_PLUS_2 43 +#define MOVE_EFFECT_ACC_PLUS_2 44 +#define MOVE_EFFECT_EVS_PLUS_2 45 +#define MOVE_EFFECT_ATK_MINUS_2 46 +#define MOVE_EFFECT_DEF_MINUS_2 47 +#define MOVE_EFFECT_SPD_MINUS_2 48 +#define MOVE_EFFECT_SP_ATK_MINUS_2 49 +#define MOVE_EFFECT_SP_DEF_MINUS_2 50 +#define MOVE_EFFECT_ACC_MINUS_2 51 +#define MOVE_EFFECT_EVS_MINUS_2 52 +#define MOVE_EFFECT_THRASH 53 +#define MOVE_EFFECT_KNOCK_OFF 54 +#define MOVE_EFFECT_DEF_SPDEF_DOWN 55 +#define MOVE_EFFECT_CLEAR_SMOG 56 +#define MOVE_EFFECT_SP_ATK_TWO_DOWN 57 +#define MOVE_EFFECT_SMACK_DOWN 58 +#define MOVE_EFFECT_FLAME_BURST 59 +#define MOVE_EFFECT_FEINT 60 +#define MOVE_EFFECT_SPECTRAL_THIEF 61 +#define MOVE_EFFECT_V_CREATE 62 +#define MOVE_EFFECT_HAPPY_HOUR 63 +#define MOVE_EFFECT_CORE_ENFORCER 64 +#define MOVE_EFFECT_THROAT_CHOP 65 +#define MOVE_EFFECT_INCINERATE 66 +#define MOVE_EFFECT_BUG_BITE 67 +#define MOVE_EFFECT_RECOIL_HP_25 68 +#define MOVE_EFFECT_RELIC_SONG 69 +#define MOVE_EFFECT_TRAP_BOTH 70 +#define MOVE_EFFECT_DOUBLE_SHOCK 71 -#define NUM_MOVE_EFFECTS 0x48 +#define NUM_MOVE_EFFECTS 72 #define MOVE_EFFECT_AFFECTS_USER 0x4000 #define MOVE_EFFECT_CERTAIN 0x8000 From 37151e4a2daff354f2fa3008bc8d459c8e1f64b1 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Wed, 14 Dec 2022 10:34:45 -0300 Subject: [PATCH 080/130] Updated SetMoveEffect --- src/battle_script_commands.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 6838fcf9e..b9f702a29 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3497,16 +3497,11 @@ void SetMoveEffect(bool32 primary, u32 certain) gProtectStructs[gBattlerTarget].kingsShielded = FALSE; gProtectStructs[gBattlerTarget].banefulBunkered = FALSE; gProtectStructs[gBattlerTarget].obstructed = FALSE; + BattleScriptPush(gBattlescriptCurrInstr + 1); if (gCurrentMove == MOVE_FEINT) - { - BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_MoveEffectFeint; - } else if (gCurrentMove == MOVE_HYPERSPACE_FURY) - { - BattleScriptPush(gBattlescriptCurrInstr + 1); gBattlescriptCurrInstr = BattleScript_HyperspaceFuryRemoveProtect; - } } break; case MOVE_EFFECT_SPECTRAL_THIEF: From af6ea91e7299bba66f1432cfbe8680cf01080ab2 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Wed, 14 Dec 2022 10:48:12 -0300 Subject: [PATCH 081/130] Applied Eduardo's suggestion --- src/battle_script_commands.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index b9f702a29..29b4d89aa 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -3498,10 +3498,10 @@ void SetMoveEffect(bool32 primary, u32 certain) gProtectStructs[gBattlerTarget].banefulBunkered = FALSE; gProtectStructs[gBattlerTarget].obstructed = FALSE; BattleScriptPush(gBattlescriptCurrInstr + 1); - if (gCurrentMove == MOVE_FEINT) - gBattlescriptCurrInstr = BattleScript_MoveEffectFeint; - else if (gCurrentMove == MOVE_HYPERSPACE_FURY) + if (gCurrentMove == MOVE_HYPERSPACE_FURY) gBattlescriptCurrInstr = BattleScript_HyperspaceFuryRemoveProtect; + else + gBattlescriptCurrInstr = BattleScript_MoveEffectFeint; } break; case MOVE_EFFECT_SPECTRAL_THIEF: From 4c9446ed0a35e841c813774a90206a568c20dcc2 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Wed, 14 Dec 2022 11:49:55 -0300 Subject: [PATCH 082/130] Fixed Speed Swap's effect --- asm/macros/battle_script.inc | 5 +++ data/battle_scripts_1.s | 4 +-- include/constants/battle_script_commands.h | 1 + include/constants/battle_string_ids.h | 3 +- src/battle_message.c | 2 ++ src/battle_script_commands.c | 36 ++++++++++++++++++++++ 6 files changed, 48 insertions(+), 3 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 8f55c1edb..61ad67549 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -2000,6 +2000,11 @@ .4byte \ptr .endm + .macro swapstats stat:req + various BS_ATTACKER, VARIOUS_SWAP_STATS + .byte \stat + .endm + @ helpful macros .macro setstatchanger stat:req, stages:req, down:req setbyte sSTATCHANGER, \stat | \stages << 3 | \down << 7 diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 69eb5a904..94a220608 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -2732,10 +2732,10 @@ BattleScript_EffectSpeedSwap: attackstring ppreduce accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON - swapstatstages STAT_SPEED + swapstats STAT_SPEED attackanimation waitanimation - printstring STRINGID_PKMNSWITCHEDSTATCHANGES + printstring STRINGID_ATTACKERSWITCHEDSTATWITHTARGET waitmessage B_WAIT_TIME_LONG goto BattleScript_MoveEnd diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index 2d6db1fbb..0fcb2bbb0 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -246,6 +246,7 @@ #define VARIOUS_CAN_TELEPORT 155 #define VARIOUS_GET_BATTLER_SIDE 156 #define VARIOUS_CHECK_PARENTAL_BOND_COUNTER 157 +#define VARIOUS_SWAP_STATS 158 // Cmd_manipulatedamage #define DMG_CHANGE_SIGN 0 diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h index e1bcf983a..8dd94cca4 100644 --- a/include/constants/battle_string_ids.h +++ b/include/constants/battle_string_ids.h @@ -631,8 +631,9 @@ #define STRINGID_ATTACKERMELTEDTHEICE 629 #define STRINGID_TARGETTOUGHEDITOUT 630 #define STRINGID_ATTACKERLOSTELECTRICTYPE 631 +#define STRINGID_ATTACKERSWITCHEDSTATWITHTARGET 632 -#define BATTLESTRINGS_COUNT 632 +#define BATTLESTRINGS_COUNT 633 // 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 416b10613..031261a28 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -760,9 +760,11 @@ static const u8 sText_AttackerHealedItsBurn[] = _("{B_ATK_NAME_WITH_PREFIX} heal static const u8 sText_AttackerMeltedTheIce[] = _("{B_ATK_NAME_WITH_PREFIX} melted the ice with\nits fiery determination!"); static const u8 sText_TargetToughedItOut[] = _("{B_DEF_NAME_WITH_PREFIX} toughed it out\nto show you its best side!"); static const u8 sText_AttackerLostElectricType[] = _("{B_ATK_NAME_WITH_PREFIX} used up all\nof its electricity!"); +static const u8 sText_AttackerSwitchedStatWithTarget[] = _("{B_ATK_NAME_WITH_PREFIX} switched {B_BUFF1}\nwith its target!"); const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = { + [STRINGID_ATTACKERSWITCHEDSTATWITHTARGET - BATTLESTRINGS_TABLE_START] = sText_AttackerSwitchedStatWithTarget, [STRINGID_TARGETTOUGHEDITOUT - BATTLESTRINGS_TABLE_START] = sText_TargetToughedItOut, [STRINGID_ATTACKERMELTEDTHEICE - BATTLESTRINGS_TABLE_START] = sText_AttackerMeltedTheIce, [STRINGID_ATTACKERHEALEDITSBURN - BATTLESTRINGS_TABLE_START] = sText_AttackerHealedItsBurn, diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 6838fcf9e..576e3a466 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -10073,6 +10073,42 @@ static void Cmd_various(void) return; } break; + case VARIOUS_SWAP_STATS: + { + u8 statId = T1_READ_8(gBattlescriptCurrInstr + 3); + u16 temp; + + switch (statId) + { + case STAT_HP: + SWAP(gBattleMons[gBattlerAttacker].hp, gBattleMons[gBattlerTarget].hp, temp); + PREPARE_STAT_BUFFER(gBattleTextBuff1, statId); + break; + case STAT_ATK: + SWAP(gBattleMons[gBattlerAttacker].attack, gBattleMons[gBattlerTarget].attack, temp); + PREPARE_STAT_BUFFER(gBattleTextBuff1, statId); + break; + case STAT_DEF: + SWAP(gBattleMons[gBattlerAttacker].defense, gBattleMons[gBattlerTarget].defense, temp); + PREPARE_STAT_BUFFER(gBattleTextBuff1, statId); + break; + case STAT_SPEED: + SWAP(gBattleMons[gBattlerAttacker].speed, gBattleMons[gBattlerTarget].speed, temp); + PREPARE_STAT_BUFFER(gBattleTextBuff1, statId); + break; + case STAT_SPATK: + SWAP(gBattleMons[gBattlerAttacker].spAttack, gBattleMons[gBattlerTarget].spAttack, temp); + PREPARE_STAT_BUFFER(gBattleTextBuff1, statId); + break; + case STAT_SPDEF: + SWAP(gBattleMons[gBattlerAttacker].spDefense, gBattleMons[gBattlerTarget].spDefense, temp); + PREPARE_STAT_BUFFER(gBattleTextBuff1, statId); + break; + default: + break; + } + } + break; } // End of switch (gBattlescriptCurrInstr[2]) gBattlescriptCurrInstr += 3; From 7c447a1f62fad83032aa7b4286aa3cbe01b591b5 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Wed, 14 Dec 2022 12:09:16 -0300 Subject: [PATCH 083/130] Small corrections --- src/battle_script_commands.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 576e3a466..852af284c 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -10082,31 +10082,24 @@ static void Cmd_various(void) { case STAT_HP: SWAP(gBattleMons[gBattlerAttacker].hp, gBattleMons[gBattlerTarget].hp, temp); - PREPARE_STAT_BUFFER(gBattleTextBuff1, statId); break; case STAT_ATK: SWAP(gBattleMons[gBattlerAttacker].attack, gBattleMons[gBattlerTarget].attack, temp); - PREPARE_STAT_BUFFER(gBattleTextBuff1, statId); break; case STAT_DEF: SWAP(gBattleMons[gBattlerAttacker].defense, gBattleMons[gBattlerTarget].defense, temp); - PREPARE_STAT_BUFFER(gBattleTextBuff1, statId); break; case STAT_SPEED: SWAP(gBattleMons[gBattlerAttacker].speed, gBattleMons[gBattlerTarget].speed, temp); - PREPARE_STAT_BUFFER(gBattleTextBuff1, statId); break; case STAT_SPATK: SWAP(gBattleMons[gBattlerAttacker].spAttack, gBattleMons[gBattlerTarget].spAttack, temp); - PREPARE_STAT_BUFFER(gBattleTextBuff1, statId); break; case STAT_SPDEF: SWAP(gBattleMons[gBattlerAttacker].spDefense, gBattleMons[gBattlerTarget].spDefense, temp); - PREPARE_STAT_BUFFER(gBattleTextBuff1, statId); - break; - default: break; } + PREPARE_STAT_BUFFER(gBattleTextBuff1, statId); } break; } // End of switch (gBattlescriptCurrInstr[2]) From 852f06deeab8836a2f9c55fa656ad913901951b6 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Thu, 15 Dec 2022 17:39:27 -0300 Subject: [PATCH 084/130] Updated SIDE constant usages --- include/battle.h | 2 +- src/battle_main.c | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/include/battle.h b/include/battle.h index 658eb1264..72ec1b41f 100644 --- a/include/battle.h +++ b/include/battle.h @@ -578,7 +578,7 @@ struct BattleStruct u16 synchronizeMoveEffect; bool8 anyMonHasTransformed; void (*savedCallback)(void); - u16 usedHeldItems[PARTY_SIZE][2]; // For each party member and side. For harvest, recycle + u16 usedHeldItems[PARTY_SIZE][NUM_BATTLE_SIDES]; // For each party member and side. For harvest, recycle u16 chosenItem[MAX_BATTLERS_COUNT]; u8 AI_itemType[2]; u8 AI_itemFlags[2]; diff --git a/src/battle_main.c b/src/battle_main.c index 0e4d1c395..d138cf231 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3042,8 +3042,8 @@ static void BattleStartClearSetData(void) for (i = 0; i < PARTY_SIZE; i++) { - gBattleStruct->usedHeldItems[i][0] = 0; - gBattleStruct->usedHeldItems[i][1] = 0; + gBattleStruct->usedHeldItems[i][B_SIDE_PLAYER] = 0; + gBattleStruct->usedHeldItems[i][B_SIDE_OPPONENT] = 0; gBattleStruct->itemStolen[i].originalItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM); gPartyCriticalHits[i] = 0; } @@ -4844,10 +4844,10 @@ static void TurnValuesCleanUp(bool8 var0) gSpecialStatuses[gActiveBattler].parentalBondState = PARENTAL_BOND_OFF; } - gSideStatuses[0] &= ~(SIDE_STATUS_QUICK_GUARD | SIDE_STATUS_WIDE_GUARD | SIDE_STATUS_CRAFTY_SHIELD | SIDE_STATUS_MAT_BLOCK); - gSideStatuses[1] &= ~(SIDE_STATUS_QUICK_GUARD | SIDE_STATUS_WIDE_GUARD | SIDE_STATUS_CRAFTY_SHIELD | SIDE_STATUS_MAT_BLOCK); - gSideTimers[0].followmeTimer = 0; - gSideTimers[1].followmeTimer = 0; + gSideStatuses[B_SIDE_PLAYER] &= ~(SIDE_STATUS_QUICK_GUARD | SIDE_STATUS_WIDE_GUARD | SIDE_STATUS_CRAFTY_SHIELD | SIDE_STATUS_MAT_BLOCK); + gSideStatuses[B_SIDE_OPPONENT] &= ~(SIDE_STATUS_QUICK_GUARD | SIDE_STATUS_WIDE_GUARD | SIDE_STATUS_CRAFTY_SHIELD | SIDE_STATUS_MAT_BLOCK); + gSideTimers[B_SIDE_PLAYER].followmeTimer = 0; + gSideTimers[B_SIDE_OPPONENT].followmeTimer = 0; } void SpecialStatusesClear(void) From c03f354dca366cb7599ea772c2afa093c565c780 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Fri, 16 Dec 2022 20:58:41 -0300 Subject: [PATCH 085/130] Finished cleaning up the animations to the new standard --- src/data/pokemon_graphics/front_pic_anims.h | 4324 +++++++++---------- 1 file changed, 2152 insertions(+), 2172 deletions(-) diff --git a/src/data/pokemon_graphics/front_pic_anims.h b/src/data/pokemon_graphics/front_pic_anims.h index a361561e6..b493b4357 100644 --- a/src/data/pokemon_graphics/front_pic_anims.h +++ b/src/data/pokemon_graphics/front_pic_anims.h @@ -4744,7 +4744,7 @@ static const union AnimCmd sAnim_UnownQMark_1[] = }; #if P_GEN_4_POKEMON == TRUE -static const union AnimCmd sAnim_TURTWIG_1[] = +static const union AnimCmd sAnim_Turtwig_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -4752,7 +4752,7 @@ static const union AnimCmd sAnim_TURTWIG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GROTLE_1[] = +static const union AnimCmd sAnim_Grotle_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 36), @@ -4760,14 +4760,14 @@ static const union AnimCmd sAnim_GROTLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TORTERRA_1[] = +static const union AnimCmd sAnim_Torterra_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_CHIMCHAR_1[] = +static const union AnimCmd sAnim_Chimchar_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -4778,7 +4778,7 @@ static const union AnimCmd sAnim_CHIMCHAR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MONFERNO_1[] = +static const union AnimCmd sAnim_Monferno_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -4788,7 +4788,7 @@ static const union AnimCmd sAnim_MONFERNO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_INFERNAPE_1[] = +static const union AnimCmd sAnim_Infernape_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 36), @@ -4796,7 +4796,7 @@ static const union AnimCmd sAnim_INFERNAPE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PIPLUP_1[] = +static const union AnimCmd sAnim_Piplup_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4804,7 +4804,7 @@ static const union AnimCmd sAnim_PIPLUP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PRINPLUP_1[] = +static const union AnimCmd sAnim_Prinplup_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -4819,7 +4819,7 @@ static const union AnimCmd sAnim_PRINPLUP_1[] = }; -static const union AnimCmd sAnim_EMPOLEON_1[] = +static const union AnimCmd sAnim_Empoleon_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 36), @@ -4827,7 +4827,7 @@ static const union AnimCmd sAnim_EMPOLEON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_STARLY_1[] = +static const union AnimCmd sAnim_Starly_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 10), @@ -4837,21 +4837,21 @@ static const union AnimCmd sAnim_STARLY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_STARAVIA_1[] = +static const union AnimCmd sAnim_Staravia_1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_STARAPTOR_1[] = +static const union AnimCmd sAnim_Staraptor_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_BIDOOF_1[] = +static const union AnimCmd sAnim_Bidoof_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -4863,7 +4863,7 @@ static const union AnimCmd sAnim_BIDOOF_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BIBAREL_1[] = +static const union AnimCmd sAnim_Bibarel_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -4873,7 +4873,7 @@ static const union AnimCmd sAnim_BIBAREL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BIBAREL_2[] = +static const union AnimCmd sAnim_Bibarel_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4882,7 +4882,7 @@ static const union AnimCmd sAnim_BIBAREL_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KRICKETOT_1[] = +static const union AnimCmd sAnim_Kricketot_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -4903,7 +4903,7 @@ static const union AnimCmd sAnim_KRICKETOT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KRICKETUNE_1[] = +static const union AnimCmd sAnim_Kricketune_1[] = { ANIMCMD_FRAME(0, 27), ANIMCMD_FRAME(1, 27), @@ -4915,7 +4915,7 @@ static const union AnimCmd sAnim_KRICKETUNE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHINX_1[] = +static const union AnimCmd sAnim_Shinx_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -4924,14 +4924,14 @@ static const union AnimCmd sAnim_SHINX_1[] = }; -static const union AnimCmd sAnim_LUXIO_1[] = +static const union AnimCmd sAnim_Luxio_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_LUXRAY_1[] = +static const union AnimCmd sAnim_Luxray_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -4941,7 +4941,7 @@ static const union AnimCmd sAnim_LUXRAY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LUXRAY_2[] = +static const union AnimCmd sAnim_Luxray_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -4950,7 +4950,7 @@ static const union AnimCmd sAnim_LUXRAY_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BUDEW_1[] = +static const union AnimCmd sAnim_Budew_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -4958,21 +4958,21 @@ static const union AnimCmd sAnim_BUDEW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ROSERADE_1[] = +static const union AnimCmd sAnim_Roserade_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_CRANIDOS_1[] = +static const union AnimCmd sAnim_Cranidos_1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_RAMPARDOS_1[] = +static const union AnimCmd sAnim_Rampardos_1[] = { ANIMCMD_FRAME(0, 50), ANIMCMD_FRAME(1, 25), @@ -4982,7 +4982,7 @@ static const union AnimCmd sAnim_RAMPARDOS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHIELDON_1[] = +static const union AnimCmd sAnim_Shieldon_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -4991,7 +4991,7 @@ static const union AnimCmd sAnim_SHIELDON_1[] = }; -static const union AnimCmd sAnim_BASTIODON_1[] = +static const union AnimCmd sAnim_Bastiodon_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -4999,14 +4999,14 @@ static const union AnimCmd sAnim_BASTIODON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BURMY_1[] = +static const union AnimCmd sAnim_Burmy_1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_WORMADAM_1[] = +static const union AnimCmd sAnim_Wormadam_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -5016,7 +5016,7 @@ static const union AnimCmd sAnim_WORMADAM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MOTHIM_1[] = +static const union AnimCmd sAnim_Mothim_1[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(1, 4), @@ -5034,7 +5034,7 @@ static const union AnimCmd sAnim_MOTHIM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_COMBEE_1[] = +static const union AnimCmd sAnim_Combee_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 15), @@ -5046,7 +5046,7 @@ static const union AnimCmd sAnim_COMBEE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VESPIQUEN_1[] = +static const union AnimCmd sAnim_Vespiquen_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 12), @@ -5061,7 +5061,7 @@ static const union AnimCmd sAnim_VESPIQUEN_1[] = }; -static const union AnimCmd sAnim_PACHIRISU_1[] = +static const union AnimCmd sAnim_Pachirisu_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -5075,7 +5075,7 @@ static const union AnimCmd sAnim_PACHIRISU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BUIZEL_1[] = +static const union AnimCmd sAnim_Buizel_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 45), @@ -5083,7 +5083,7 @@ static const union AnimCmd sAnim_BUIZEL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FLOATZEL_1[] = +static const union AnimCmd sAnim_Floatzel_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -5094,7 +5094,7 @@ static const union AnimCmd sAnim_FLOATZEL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHERUBI_1[] = +static const union AnimCmd sAnim_Cherubi_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -5109,7 +5109,7 @@ static const union AnimCmd sAnim_CHERUBI_1[] = }; -static const union AnimCmd sAnim_CHERRIM_NORMAL[] = +static const union AnimCmd sAnim_CherrimOvercast_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -5119,7 +5119,7 @@ static const union AnimCmd sAnim_CHERRIM_NORMAL[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHERRIM_NORMAL_2[] = +static const union AnimCmd sAnim_CherrimOvercast_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -5128,7 +5128,7 @@ static const union AnimCmd sAnim_CHERRIM_NORMAL_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHERRIM_SUNSHINE[] = +static const union AnimCmd sAnim_CherrimSunshine_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -5142,7 +5142,7 @@ static const union AnimCmd sAnim_CHERRIM_SUNSHINE[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHELLOS_1[] = +static const union AnimCmd sAnim_Shellos_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 36), @@ -5150,7 +5150,7 @@ static const union AnimCmd sAnim_SHELLOS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GASTRODON_1[] = +static const union AnimCmd sAnim_Gastrodon_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -5161,7 +5161,7 @@ static const union AnimCmd sAnim_GASTRODON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AMBIPOM_1[] = +static const union AnimCmd sAnim_Ambipom_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -5169,7 +5169,7 @@ static const union AnimCmd sAnim_AMBIPOM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DRIFLOON_1[] = +static const union AnimCmd sAnim_Drifloon_1[] = { ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 25), @@ -5178,7 +5178,7 @@ static const union AnimCmd sAnim_DRIFLOON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DRIFBLIM_1[] = +static const union AnimCmd sAnim_Drifblim_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 25), @@ -5189,7 +5189,7 @@ static const union AnimCmd sAnim_DRIFBLIM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BUNEARY_1[] = +static const union AnimCmd sAnim_Buneary_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 10), @@ -5197,7 +5197,7 @@ static const union AnimCmd sAnim_BUNEARY_1[] = }; -static const union AnimCmd sAnim_LOPUNNY_1[] = +static const union AnimCmd sAnim_Lopunny_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -5205,7 +5205,7 @@ static const union AnimCmd sAnim_LOPUNNY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MISMAGIUS_1[] = +static const union AnimCmd sAnim_Mismagius_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -5220,7 +5220,7 @@ static const union AnimCmd sAnim_MISMAGIUS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HONCHKROW_1[] = +static const union AnimCmd sAnim_Honchkrow_1[] = { ANIMCMD_FRAME(0, 21), ANIMCMD_FRAME(1, 45), @@ -5229,7 +5229,7 @@ static const union AnimCmd sAnim_HONCHKROW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GLAMEOW_1[] = +static const union AnimCmd sAnim_Glameow_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 45), @@ -5237,7 +5237,7 @@ static const union AnimCmd sAnim_GLAMEOW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PURUGLY_1[] = +static const union AnimCmd sAnim_Purugly_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -5249,7 +5249,7 @@ static const union AnimCmd sAnim_PURUGLY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHINGLING_1[] = +static const union AnimCmd sAnim_Chingling_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -5262,7 +5262,7 @@ static const union AnimCmd sAnim_CHINGLING_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_STUNKY_1[] = +static const union AnimCmd sAnim_Stunky_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -5272,7 +5272,7 @@ static const union AnimCmd sAnim_STUNKY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SKUNTANK_1[] = +static const union AnimCmd sAnim_Skuntank_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -5280,7 +5280,7 @@ static const union AnimCmd sAnim_SKUNTANK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BRONZOR_1[] = +static const union AnimCmd sAnim_Bronzor_1[] = { ANIMCMD_FRAME(1, 9), ANIMCMD_FRAME(0, 9), @@ -5295,7 +5295,7 @@ static const union AnimCmd sAnim_BRONZOR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BRONZONG_1[] = +static const union AnimCmd sAnim_Bronzong_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -5305,7 +5305,7 @@ static const union AnimCmd sAnim_BRONZONG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BRONZONG_2[] = +static const union AnimCmd sAnim_Bronzong_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -5314,7 +5314,7 @@ static const union AnimCmd sAnim_BRONZONG_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BONSLY_1[] = +static const union AnimCmd sAnim_Bonsly_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -5324,7 +5324,7 @@ static const union AnimCmd sAnim_BONSLY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MIME_JR_1[] = +static const union AnimCmd sAnim_MimeJr_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -5335,7 +5335,7 @@ static const union AnimCmd sAnim_MIME_JR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HAPPINY_1[] = +static const union AnimCmd sAnim_Happiny_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -5343,7 +5343,7 @@ static const union AnimCmd sAnim_HAPPINY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHATOT_1[] = +static const union AnimCmd sAnim_Chatot_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -5363,14 +5363,14 @@ static const union AnimCmd sAnim_CHATOT_1[] = ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_SPIRITOMB_1[] = +static const union AnimCmd sAnim_Spiritomb_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_GIBLE_1[] = +static const union AnimCmd sAnim_Gible_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -5378,14 +5378,14 @@ static const union AnimCmd sAnim_GIBLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GABITE_1[] = +static const union AnimCmd sAnim_Gabite_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_GARCHOMP_1[] = +static const union AnimCmd sAnim_Garchomp_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 8), @@ -5396,7 +5396,7 @@ static const union AnimCmd sAnim_GARCHOMP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MUNCHLAX_1[] = +static const union AnimCmd sAnim_Munchlax_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -5404,7 +5404,7 @@ static const union AnimCmd sAnim_MUNCHLAX_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RIOLU_1[] = +static const union AnimCmd sAnim_Riolu_1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(1, 50), @@ -5413,14 +5413,14 @@ static const union AnimCmd sAnim_RIOLU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LUCARIO_1[] = +static const union AnimCmd sAnim_Lucario_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_HIPPOPOTAS_1[] = +static const union AnimCmd sAnim_Hippopotas_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 36), @@ -5428,14 +5428,14 @@ static const union AnimCmd sAnim_HIPPOPOTAS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HIPPOWDON_1[] = +static const union AnimCmd sAnim_Hippowdon_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_SKORUPI_1[] = +static const union AnimCmd sAnim_Skorupi_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -5456,7 +5456,7 @@ static const union AnimCmd sAnim_SKORUPI_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DRAPION_1[] = +static const union AnimCmd sAnim_Drapion_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -5470,7 +5470,7 @@ static const union AnimCmd sAnim_DRAPION_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CROAGUNK_1[] = +static const union AnimCmd sAnim_Croagunk_1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(1, 50), @@ -5479,7 +5479,7 @@ static const union AnimCmd sAnim_CROAGUNK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TOXICROAK_1[] = +static const union AnimCmd sAnim_Toxicroak_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -5489,7 +5489,7 @@ static const union AnimCmd sAnim_TOXICROAK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CARNIVINE_1[] = +static const union AnimCmd sAnim_Carnivine_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -5506,7 +5506,7 @@ static const union AnimCmd sAnim_CARNIVINE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FINNEON_1[] = +static const union AnimCmd sAnim_Finneon_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -5519,7 +5519,7 @@ static const union AnimCmd sAnim_FINNEON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LUMINEON_1[] = +static const union AnimCmd sAnim_Lumineon_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -5530,7 +5530,7 @@ static const union AnimCmd sAnim_LUMINEON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MANTYKE_1[] = +static const union AnimCmd sAnim_Mantyke_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -5539,7 +5539,7 @@ static const union AnimCmd sAnim_MANTYKE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SNOVER_1[] = +static const union AnimCmd sAnim_Snover_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 25), @@ -5547,7 +5547,7 @@ static const union AnimCmd sAnim_SNOVER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ABOMASNOW_1[] = +static const union AnimCmd sAnim_Abomasnow_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 44), @@ -5555,14 +5555,14 @@ static const union AnimCmd sAnim_ABOMASNOW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WEAVILE_1[] = +static const union AnimCmd sAnim_Weavile_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGNEZONE_1[] = +static const union AnimCmd sAnim_Magnezone_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -5572,7 +5572,7 @@ static const union AnimCmd sAnim_MAGNEZONE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LICKILICKY_1[] = +static const union AnimCmd sAnim_Lickilicky_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -5586,7 +5586,7 @@ static const union AnimCmd sAnim_LICKILICKY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RHYPERIOR_1[] = +static const union AnimCmd sAnim_Rhyperior_1[] = { ANIMCMD_FRAME(0, 50), ANIMCMD_FRAME(1, 25), @@ -5596,7 +5596,7 @@ static const union AnimCmd sAnim_RHYPERIOR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TANGROWTH_1[] = +static const union AnimCmd sAnim_Tangrowth_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -5608,7 +5608,7 @@ static const union AnimCmd sAnim_TANGROWTH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ELECTIVIRE_1[] = +static const union AnimCmd sAnim_Electivire_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 15), @@ -5616,14 +5616,14 @@ static const union AnimCmd sAnim_ELECTIVIRE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGMORTAR_1[] = +static const union AnimCmd sAnim_Magmortar_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TOGEKISS_1[] = +static const union AnimCmd sAnim_Togekiss_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -5635,7 +5635,7 @@ static const union AnimCmd sAnim_TOGEKISS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_YANMEGA_1[] = +static const union AnimCmd sAnim_Yanmega_1[] = { ANIMCMD_FRAME(1, 3), ANIMCMD_FRAME(0, 3), @@ -5666,7 +5666,7 @@ static const union AnimCmd sAnim_YANMEGA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LEAFEON_1[] = +static const union AnimCmd sAnim_Leafeon_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 20), @@ -5674,7 +5674,7 @@ static const union AnimCmd sAnim_LEAFEON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GLACEON_1[] = +static const union AnimCmd sAnim_Glaceon_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 36), @@ -5682,7 +5682,7 @@ static const union AnimCmd sAnim_GLACEON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GLISCOR_1[] = +static const union AnimCmd sAnim_Gliscor_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), @@ -5691,7 +5691,7 @@ static const union AnimCmd sAnim_GLISCOR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MAMOSWINE_1[] = +static const union AnimCmd sAnim_Mamoswine_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -5708,14 +5708,14 @@ static const union AnimCmd sAnim_PORYGON_Z_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GALLADE_1[] = +static const union AnimCmd sAnim_Gallade_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_PROBOPASS_1[] = +static const union AnimCmd sAnim_Probopass_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -5725,7 +5725,7 @@ static const union AnimCmd sAnim_PROBOPASS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PROBOPASS_2[] = +static const union AnimCmd sAnim_Probopass_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -5734,7 +5734,7 @@ static const union AnimCmd sAnim_PROBOPASS_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DUSKNOIR_1[] = +static const union AnimCmd sAnim_Dusknoir_1[] = { ANIMCMD_FRAME(1, 9), ANIMCMD_FRAME(0, 9), @@ -5749,7 +5749,7 @@ static const union AnimCmd sAnim_DUSKNOIR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FROSLASS_1[] = +static const union AnimCmd sAnim_Froslass_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -5757,7 +5757,7 @@ static const union AnimCmd sAnim_FROSLASS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ROTOM_1[] = +static const union AnimCmd sAnim_Rotom_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -5767,7 +5767,7 @@ static const union AnimCmd sAnim_ROTOM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ROTOM_2[] = +static const union AnimCmd sAnim_Rotom_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -5841,7 +5841,7 @@ static const union AnimCmd sAnim_RotomMow_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UXIE_1[] = +static const union AnimCmd sAnim_Uxie_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -5849,7 +5849,7 @@ static const union AnimCmd sAnim_UXIE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MESPRIT_1[] = +static const union AnimCmd sAnim_Mesprit_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -5862,7 +5862,7 @@ static const union AnimCmd sAnim_MESPRIT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AZELF_1[] = +static const union AnimCmd sAnim_Azelf_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -5870,21 +5870,21 @@ static const union AnimCmd sAnim_AZELF_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DIALGA_1[] = +static const union AnimCmd sAnim_Dialga_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_PALKIA_1[] = +static const union AnimCmd sAnim_Palkia_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_HEATRAN_1[] = +static const union AnimCmd sAnim_Heatran_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -5892,14 +5892,14 @@ static const union AnimCmd sAnim_HEATRAN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_REGIGIGAS_1[] = +static const union AnimCmd sAnim_Regigigas_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_GIRATINA_1[] = +static const union AnimCmd sAnim_Giratina_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 45), @@ -5907,7 +5907,7 @@ static const union AnimCmd sAnim_GIRATINA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CRESSELIA_1[] = +static const union AnimCmd sAnim_Cresselia_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -5918,7 +5918,7 @@ static const union AnimCmd sAnim_CRESSELIA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PHIONE_1[] = +static const union AnimCmd sAnim_Phione_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -5926,7 +5926,7 @@ static const union AnimCmd sAnim_PHIONE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MANAPHY_1[] = +static const union AnimCmd sAnim_Manaphy_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -5934,7 +5934,7 @@ static const union AnimCmd sAnim_MANAPHY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DARKRAI_1[] = +static const union AnimCmd sAnim_Darkrai_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -5942,7 +5942,7 @@ static const union AnimCmd sAnim_DARKRAI_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHAYMIN_1[] = +static const union AnimCmd sAnim_Shaymin_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -5950,7 +5950,7 @@ static const union AnimCmd sAnim_SHAYMIN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ARCEUS_1[] = +static const union AnimCmd sAnim_Arceus_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 45), @@ -5959,7 +5959,7 @@ static const union AnimCmd sAnim_ARCEUS_1[] = }; #endif #if P_GEN_5_POKEMON == TRUE -static const union AnimCmd sAnim_VICTINI_1[] = +static const union AnimCmd sAnim_Victini_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 46), @@ -5967,7 +5967,7 @@ static const union AnimCmd sAnim_VICTINI_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SNIVY_1[] = +static const union AnimCmd sAnim_Snivy_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 36), @@ -5975,7 +5975,7 @@ static const union AnimCmd sAnim_SNIVY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SERVINE_1[] = +static const union AnimCmd sAnim_Servine_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -5987,7 +5987,7 @@ static const union AnimCmd sAnim_SERVINE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SERPERIOR_1[] = +static const union AnimCmd sAnim_Serperior_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -5997,7 +5997,7 @@ static const union AnimCmd sAnim_SERPERIOR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SERPERIOR_2[] = +static const union AnimCmd sAnim_Serperior_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -6006,7 +6006,7 @@ static const union AnimCmd sAnim_SERPERIOR_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TEPIG_1[] = +static const union AnimCmd sAnim_Tepig_1[] = { ANIMCMD_FRAME(0, 27), ANIMCMD_FRAME(1, 6), @@ -6016,7 +6016,7 @@ static const union AnimCmd sAnim_TEPIG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PIGNITE_1[] = +static const union AnimCmd sAnim_Pignite_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 36), @@ -6024,7 +6024,7 @@ static const union AnimCmd sAnim_PIGNITE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_EMBOAR_1[] = +static const union AnimCmd sAnim_Emboar_1[] = { ANIMCMD_FRAME(1, 4), ANIMCMD_FRAME(0, 4), @@ -6051,7 +6051,7 @@ static const union AnimCmd sAnim_EMBOAR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_OSHAWOTT_1[] = +static const union AnimCmd sAnim_Oshawott_1[] = { ANIMCMD_FRAME(0, 13), ANIMCMD_FRAME(1, 7), @@ -6063,7 +6063,7 @@ static const union AnimCmd sAnim_OSHAWOTT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DEWOTT_1[] = +static const union AnimCmd sAnim_Dewott_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 35), @@ -6073,21 +6073,21 @@ static const union AnimCmd sAnim_DEWOTT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SAMUROTT_1[] = +static const union AnimCmd sAnim_Samurott_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_PATRAT_1[] = +static const union AnimCmd sAnim_Patrat_1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_WATCHOG_1[] = +static const union AnimCmd sAnim_Watchog_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -6099,7 +6099,7 @@ static const union AnimCmd sAnim_WATCHOG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LILLIPUP_1[] = +static const union AnimCmd sAnim_Lillipup_1[] = { ANIMCMD_FRAME(0, 13), ANIMCMD_FRAME(1, 7), @@ -6111,7 +6111,7 @@ static const union AnimCmd sAnim_LILLIPUP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HERDIER_1[] = +static const union AnimCmd sAnim_Herdier_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -6122,7 +6122,7 @@ static const union AnimCmd sAnim_HERDIER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_STOUTLAND_1[] = +static const union AnimCmd sAnim_Stoutland_1[] = { ANIMCMD_FRAME(0, 27), ANIMCMD_FRAME(1, 6), @@ -6132,7 +6132,7 @@ static const union AnimCmd sAnim_STOUTLAND_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PURRLOIN_1[] = +static const union AnimCmd sAnim_Purrloin_1[] = { ANIMCMD_FRAME(0, 9), ANIMCMD_FRAME(1, 54), @@ -6140,7 +6140,7 @@ static const union AnimCmd sAnim_PURRLOIN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LIEPARD_1[] = +static const union AnimCmd sAnim_Liepard_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 45), @@ -6148,7 +6148,7 @@ static const union AnimCmd sAnim_LIEPARD_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PANSAGE_1[] = +static const union AnimCmd sAnim_Pansage_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 8), @@ -6158,7 +6158,7 @@ static const union AnimCmd sAnim_PANSAGE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SIMISAGE_1[] = +static const union AnimCmd sAnim_Simisage_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 45), @@ -6166,14 +6166,14 @@ static const union AnimCmd sAnim_SIMISAGE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PANSEAR_1[] = +static const union AnimCmd sAnim_Pansear_1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_SIMISEAR_1[] = +static const union AnimCmd sAnim_Simisear_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -6183,7 +6183,7 @@ static const union AnimCmd sAnim_SIMISEAR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SIMISEAR_2[] = +static const union AnimCmd sAnim_Simisear_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -6192,7 +6192,7 @@ static const union AnimCmd sAnim_SIMISEAR_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PANPOUR_1[] = +static const union AnimCmd sAnim_Panpour_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 45), @@ -6200,14 +6200,14 @@ static const union AnimCmd sAnim_PANPOUR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SIMIPOUR_1[] = +static const union AnimCmd sAnim_Simipour_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_MUNNA_1[] = +static const union AnimCmd sAnim_Munna_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -6220,7 +6220,7 @@ static const union AnimCmd sAnim_MUNNA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MUSHARNA_1[] = +static const union AnimCmd sAnim_Musharna_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -6230,7 +6230,7 @@ static const union AnimCmd sAnim_MUSHARNA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MUSHARNA_2[] = +static const union AnimCmd sAnim_Musharna_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -6239,7 +6239,7 @@ static const union AnimCmd sAnim_MUSHARNA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PIDOVE_1[] = +static const union AnimCmd sAnim_Pidove_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 46), @@ -6247,7 +6247,7 @@ static const union AnimCmd sAnim_PIDOVE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TRANQUILL_1[] = +static const union AnimCmd sAnim_Tranquill_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 36), @@ -6255,7 +6255,7 @@ static const union AnimCmd sAnim_TRANQUILL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_UNFEZANT_1[] = +static const union AnimCmd sAnim_Unfezant_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 20), @@ -6263,7 +6263,7 @@ static const union AnimCmd sAnim_UNFEZANT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BLITZLE_1[] = +static const union AnimCmd sAnim_Blitzle_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -6274,7 +6274,7 @@ static const union AnimCmd sAnim_BLITZLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ZEBSTRIKA_1[] = +static const union AnimCmd sAnim_Zebstrika_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -6282,7 +6282,7 @@ static const union AnimCmd sAnim_ZEBSTRIKA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ROGGENROLA_1[] = +static const union AnimCmd sAnim_Roggenrola_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -6290,7 +6290,7 @@ static const union AnimCmd sAnim_ROGGENROLA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BOLDORE_1[] = +static const union AnimCmd sAnim_Boldore_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -6301,7 +6301,7 @@ static const union AnimCmd sAnim_BOLDORE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GIGALITH_1[] = +static const union AnimCmd sAnim_Gigalith_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -6309,7 +6309,7 @@ static const union AnimCmd sAnim_GIGALITH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WOOBAT_1[] = +static const union AnimCmd sAnim_Woobat_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -6333,7 +6333,7 @@ static const union AnimCmd sAnim_WOOBAT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SWOOBAT_1[] = +static const union AnimCmd sAnim_Swoobat_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -6344,7 +6344,7 @@ static const union AnimCmd sAnim_SWOOBAT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DRILBUR_1[] = +static const union AnimCmd sAnim_Drilbur_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -6354,7 +6354,7 @@ static const union AnimCmd sAnim_DRILBUR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DRILBUR_2[] = +static const union AnimCmd sAnim_Drilbur_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -6363,7 +6363,7 @@ static const union AnimCmd sAnim_DRILBUR_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_EXCADRILL_1[] = +static const union AnimCmd sAnim_Excadrill_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 15), @@ -6372,7 +6372,7 @@ static const union AnimCmd sAnim_EXCADRILL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AUDINO_1[] = +static const union AnimCmd sAnim_Audino_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 36), @@ -6380,7 +6380,7 @@ static const union AnimCmd sAnim_AUDINO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TIMBURR_1[] = +static const union AnimCmd sAnim_Timburr_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -6388,7 +6388,7 @@ static const union AnimCmd sAnim_TIMBURR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GURDURR_1[] = +static const union AnimCmd sAnim_Gurdurr_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -6400,21 +6400,21 @@ static const union AnimCmd sAnim_GURDURR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CONKELDURR_1[] = +static const union AnimCmd sAnim_Conkeldurr_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_TYMPOLE_1[] = +static const union AnimCmd sAnim_Tympole_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_PALPITOAD_1[] = +static const union AnimCmd sAnim_Palpitoad_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 8), @@ -6424,7 +6424,7 @@ static const union AnimCmd sAnim_PALPITOAD_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SEISMITOAD_1[] = +static const union AnimCmd sAnim_Seismitoad_1[] = { ANIMCMD_FRAME(0, 13), ANIMCMD_FRAME(1, 7), @@ -6436,7 +6436,7 @@ static const union AnimCmd sAnim_SEISMITOAD_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_THROH_1[] = +static const union AnimCmd sAnim_Throh_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -6445,14 +6445,14 @@ static const union AnimCmd sAnim_THROH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SAWK_1[] = +static const union AnimCmd sAnim_Sawk_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_SEWADDLE_1[] = +static const union AnimCmd sAnim_Sewaddle_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -6462,7 +6462,7 @@ static const union AnimCmd sAnim_SEWADDLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SEWADDLE_2[] = +static const union AnimCmd sAnim_Sewaddle_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -6471,7 +6471,7 @@ static const union AnimCmd sAnim_SEWADDLE_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SWADLOON_1[] = +static const union AnimCmd sAnim_Swadloon_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -6480,7 +6480,7 @@ static const union AnimCmd sAnim_SWADLOON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LEAVANNY_1[] = +static const union AnimCmd sAnim_Leavanny_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 45), @@ -6488,7 +6488,7 @@ static const union AnimCmd sAnim_LEAVANNY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VENIPEDE_1[] = +static const union AnimCmd sAnim_Venipede_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -6500,7 +6500,7 @@ static const union AnimCmd sAnim_VENIPEDE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WHIRLIPEDE_1[] = +static const union AnimCmd sAnim_Whirlipede_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -6511,14 +6511,14 @@ static const union AnimCmd sAnim_WHIRLIPEDE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SCOLIPEDE_1[] = +static const union AnimCmd sAnim_Scolipede_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_COTTONEE_1[] = +static const union AnimCmd sAnim_Cottonee_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -6532,7 +6532,7 @@ static const union AnimCmd sAnim_COTTONEE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_WHIMSICOTT_1[] = +static const union AnimCmd sAnim_Whimsicott_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 20), @@ -6540,7 +6540,7 @@ static const union AnimCmd sAnim_WHIMSICOTT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PETILIL_1[] = +static const union AnimCmd sAnim_Petilil_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -6550,7 +6550,7 @@ static const union AnimCmd sAnim_PETILIL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LILLIGANT_1[] = +static const union AnimCmd sAnim_Lilligant_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -6558,7 +6558,7 @@ static const union AnimCmd sAnim_LILLIGANT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BASCULIN_1[] = +static const union AnimCmd sAnim_Basculin_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -6569,7 +6569,7 @@ static const union AnimCmd sAnim_BASCULIN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SANDILE_1[] = +static const union AnimCmd sAnim_Sandile_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -6577,14 +6577,14 @@ static const union AnimCmd sAnim_SANDILE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KROKOROK_1[] = +static const union AnimCmd sAnim_Krokorok_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_KROOKODILE_1[] = +static const union AnimCmd sAnim_Krookodile_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -6594,7 +6594,7 @@ static const union AnimCmd sAnim_KROOKODILE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KROOKODILE_2[] = +static const union AnimCmd sAnim_Krookodile_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -6603,7 +6603,7 @@ static const union AnimCmd sAnim_KROOKODILE_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DARUMAKA_1[] = +static const union AnimCmd sAnim_Darumaka_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -6611,7 +6611,7 @@ static const union AnimCmd sAnim_DARUMAKA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DARMANITAN_1[] = +static const union AnimCmd sAnim_Darmanitan_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -6620,7 +6620,7 @@ static const union AnimCmd sAnim_DARMANITAN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MARACTUS_1[] = +static const union AnimCmd sAnim_Maractus_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -6632,7 +6632,7 @@ static const union AnimCmd sAnim_MARACTUS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DWEBBLE_1[] = +static const union AnimCmd sAnim_Dwebble_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -6646,7 +6646,7 @@ static const union AnimCmd sAnim_DWEBBLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CRUSTLE_1[] = +static const union AnimCmd sAnim_Crustle_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -6657,7 +6657,7 @@ static const union AnimCmd sAnim_CRUSTLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SCRAGGY_1[] = +static const union AnimCmd sAnim_Scraggy_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 35), @@ -6665,7 +6665,7 @@ static const union AnimCmd sAnim_SCRAGGY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SCRAFTY_1[] = +static const union AnimCmd sAnim_Scrafty_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -6673,7 +6673,7 @@ static const union AnimCmd sAnim_SCRAFTY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SIGILYPH_1[] = +static const union AnimCmd sAnim_Sigilyph_1[] = { ANIMCMD_FRAME(1, 7), ANIMCMD_FRAME(0, 7), @@ -6686,7 +6686,7 @@ static const union AnimCmd sAnim_SIGILYPH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_YAMASK_1[] = +static const union AnimCmd sAnim_Yamask_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 20), @@ -6696,7 +6696,7 @@ static const union AnimCmd sAnim_YAMASK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_COFAGRIGUS_1[] = +static const union AnimCmd sAnim_Cofagrigus_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -6704,7 +6704,7 @@ static const union AnimCmd sAnim_COFAGRIGUS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TIRTOUGA_1[] = +static const union AnimCmd sAnim_Tirtouga_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), @@ -6713,7 +6713,7 @@ static const union AnimCmd sAnim_TIRTOUGA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CARRACOSTA_1[] = +static const union AnimCmd sAnim_Carracosta_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 10), @@ -6728,7 +6728,7 @@ static const union AnimCmd sAnim_CARRACOSTA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ARCHEN_1[] = +static const union AnimCmd sAnim_Archen_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 46), @@ -6736,7 +6736,7 @@ static const union AnimCmd sAnim_ARCHEN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ARCHEOPS_1[] = +static const union AnimCmd sAnim_Archeops_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -6749,7 +6749,7 @@ static const union AnimCmd sAnim_ARCHEOPS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TRUBBISH_1[] = +static const union AnimCmd sAnim_Trubbish_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -6757,7 +6757,7 @@ static const union AnimCmd sAnim_TRUBBISH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GARBODOR_1[] = +static const union AnimCmd sAnim_Garbodor_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 35), @@ -6765,7 +6765,7 @@ static const union AnimCmd sAnim_GARBODOR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ZORUA_1[] = +static const union AnimCmd sAnim_Zorua_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -6775,7 +6775,7 @@ static const union AnimCmd sAnim_ZORUA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ZOROARK_1[] = +static const union AnimCmd sAnim_Zoroark_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 18), @@ -6785,7 +6785,7 @@ static const union AnimCmd sAnim_ZOROARK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MINCCINO_1[] = +static const union AnimCmd sAnim_Minccino_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -6793,7 +6793,7 @@ static const union AnimCmd sAnim_MINCCINO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CINCCINO_1[] = +static const union AnimCmd sAnim_Cinccino_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -6803,7 +6803,7 @@ static const union AnimCmd sAnim_CINCCINO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOTHITA_1[] = +static const union AnimCmd sAnim_Gothita_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -6812,7 +6812,7 @@ static const union AnimCmd sAnim_GOTHITA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOTHORITA_1[] = +static const union AnimCmd sAnim_Gothorita_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -6822,7 +6822,7 @@ static const union AnimCmd sAnim_GOTHORITA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOTHORITA_2[] = +static const union AnimCmd sAnim_Gothorita_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -6831,7 +6831,7 @@ static const union AnimCmd sAnim_GOTHORITA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOTHITELLE_1[] = +static const union AnimCmd sAnim_Gothitelle_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -6840,7 +6840,7 @@ static const union AnimCmd sAnim_GOTHITELLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SOLOSIS_1[] = +static const union AnimCmd sAnim_Solosis_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -6849,7 +6849,7 @@ static const union AnimCmd sAnim_SOLOSIS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DUOSION_1[] = +static const union AnimCmd sAnim_Duosion_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -6858,7 +6858,7 @@ static const union AnimCmd sAnim_DUOSION_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_REUNICLUS_1[] = +static const union AnimCmd sAnim_Reuniclus_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 20), @@ -6868,7 +6868,7 @@ static const union AnimCmd sAnim_REUNICLUS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DUCKLETT_1[] = +static const union AnimCmd sAnim_Ducklett_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -6880,14 +6880,14 @@ static const union AnimCmd sAnim_DUCKLETT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SWANNA_1[] = +static const union AnimCmd sAnim_Swanna_1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_VANILLITE_1[] = +static const union AnimCmd sAnim_Vanillite_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -6897,7 +6897,7 @@ static const union AnimCmd sAnim_VANILLITE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VANILLISH_1[] = +static const union AnimCmd sAnim_Vanillish_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 45), @@ -6905,7 +6905,7 @@ static const union AnimCmd sAnim_VANILLISH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VANILLUXE_1[] = +static const union AnimCmd sAnim_Vanilluxe_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 45), @@ -6913,14 +6913,14 @@ static const union AnimCmd sAnim_VANILLUXE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DEERLING_1[] = +static const union AnimCmd sAnim_Deerling_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_SAWSBUCK_1[] = +static const union AnimCmd sAnim_Sawsbuck_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -6928,7 +6928,7 @@ static const union AnimCmd sAnim_SAWSBUCK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_EMOLGA_1[] = +static const union AnimCmd sAnim_Emolga_1[] = { ANIMCMD_FRAME(0, 21), ANIMCMD_FRAME(1, 45), @@ -6937,14 +6937,14 @@ static const union AnimCmd sAnim_EMOLGA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KARRABLAST_1[] = +static const union AnimCmd sAnim_Karrablast_1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_ESCAVALIER_1[] = +static const union AnimCmd sAnim_Escavalier_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -6952,7 +6952,7 @@ static const union AnimCmd sAnim_ESCAVALIER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FOONGUS_1[] = +static const union AnimCmd sAnim_Foongus_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -6962,7 +6962,7 @@ static const union AnimCmd sAnim_FOONGUS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FOONGUS_2[] = +static const union AnimCmd sAnim_Foongus_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -6971,7 +6971,7 @@ static const union AnimCmd sAnim_FOONGUS_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AMOONGUSS_1[] = +static const union AnimCmd sAnim_Amoonguss_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -6982,7 +6982,7 @@ static const union AnimCmd sAnim_AMOONGUSS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FRILLISH_1[] = +static const union AnimCmd sAnim_Frillish_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), @@ -6991,7 +6991,7 @@ static const union AnimCmd sAnim_FRILLISH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_JELLICENT_1[] = +static const union AnimCmd sAnim_Jellicent_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 30), @@ -7001,7 +7001,7 @@ static const union AnimCmd sAnim_JELLICENT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ALOMOMOLA_1[] = +static const union AnimCmd sAnim_Alomomola_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -7009,7 +7009,7 @@ static const union AnimCmd sAnim_ALOMOMOLA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_JOLTIK_1[] = +static const union AnimCmd sAnim_Joltik_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -7019,7 +7019,7 @@ static const union AnimCmd sAnim_JOLTIK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GALVANTULA_1[] = +static const union AnimCmd sAnim_Galvantula_1[] = { ANIMCMD_FRAME(1, 6), ANIMCMD_FRAME(0, 6), @@ -7032,7 +7032,7 @@ static const union AnimCmd sAnim_GALVANTULA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FERROSEED_1[] = +static const union AnimCmd sAnim_Ferroseed_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 35), @@ -7042,7 +7042,7 @@ static const union AnimCmd sAnim_FERROSEED_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FERROTHORN_1[] = +static const union AnimCmd sAnim_Ferrothorn_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -7052,7 +7052,7 @@ static const union AnimCmd sAnim_FERROTHORN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FERROTHORN_2[] = +static const union AnimCmd sAnim_Ferrothorn_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -7061,7 +7061,7 @@ static const union AnimCmd sAnim_FERROTHORN_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KLINK_1[] = +static const union AnimCmd sAnim_Klink_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -7070,7 +7070,7 @@ static const union AnimCmd sAnim_KLINK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KLANG_1[] = +static const union AnimCmd sAnim_Klang_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -7079,7 +7079,7 @@ static const union AnimCmd sAnim_KLANG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KLINKLANG_1[] = +static const union AnimCmd sAnim_Klinklang_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -7088,7 +7088,7 @@ static const union AnimCmd sAnim_KLINKLANG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TYNAMO_1[] = +static const union AnimCmd sAnim_Tynamo_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -7109,7 +7109,7 @@ static const union AnimCmd sAnim_TYNAMO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_EELEKTRIK_1[] = +static const union AnimCmd sAnim_Eelektrik_1[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(1, 25), @@ -7119,7 +7119,7 @@ static const union AnimCmd sAnim_EELEKTRIK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_EELEKTROSS_1[] = +static const union AnimCmd sAnim_Eelektross_1[] = { ANIMCMD_FRAME(1, 27), ANIMCMD_FRAME(0, 27), @@ -7130,7 +7130,7 @@ static const union AnimCmd sAnim_EELEKTROSS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ELGYEM_1[] = +static const union AnimCmd sAnim_Elgyem_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -7143,14 +7143,14 @@ static const union AnimCmd sAnim_ELGYEM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BEHEEYEM_1[] = +static const union AnimCmd sAnim_Beheeyem_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_LITWICK_1[] = +static const union AnimCmd sAnim_Litwick_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -7159,7 +7159,7 @@ static const union AnimCmd sAnim_LITWICK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LAMPENT_1[] = +static const union AnimCmd sAnim_Lampent_1[] = { ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 25), @@ -7168,7 +7168,7 @@ static const union AnimCmd sAnim_LAMPENT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHANDELURE_1[] = +static const union AnimCmd sAnim_Chandelure_1[] = { ANIMCMD_FRAME(0, 30), ANIMCMD_FRAME(1, 30), @@ -7176,21 +7176,21 @@ static const union AnimCmd sAnim_CHANDELURE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AXEW_1[] = +static const union AnimCmd sAnim_Axew_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_FRAXURE_1[] = +static const union AnimCmd sAnim_Fraxure_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_HAXORUS_1[] = +static const union AnimCmd sAnim_Haxorus_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 20), @@ -7199,7 +7199,7 @@ static const union AnimCmd sAnim_HAXORUS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CUBCHOO_1[] = +static const union AnimCmd sAnim_Cubchoo_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -7207,7 +7207,7 @@ static const union AnimCmd sAnim_CUBCHOO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BEARTIC_1[] = +static const union AnimCmd sAnim_Beartic_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 20), @@ -7216,7 +7216,7 @@ static const union AnimCmd sAnim_BEARTIC_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CRYOGONAL_1[] = +static const union AnimCmd sAnim_Cryogonal_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -7226,7 +7226,7 @@ static const union AnimCmd sAnim_CRYOGONAL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CRYOGONAL_2[] = +static const union AnimCmd sAnim_Cryogonal_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -7235,7 +7235,7 @@ static const union AnimCmd sAnim_CRYOGONAL_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SHELMET_1[] = +static const union AnimCmd sAnim_Shelmet_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -7245,28 +7245,28 @@ static const union AnimCmd sAnim_SHELMET_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ACCELGOR_1[] = +static const union AnimCmd sAnim_Accelgor_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_STUNFISK_1[] = +static const union AnimCmd sAnim_Stunfisk_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_MIENFOO_1[] = +static const union AnimCmd sAnim_Mienfoo_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_MIENSHAO_1[] = +static const union AnimCmd sAnim_Mienshao_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -7278,7 +7278,7 @@ static const union AnimCmd sAnim_MIENSHAO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DRUDDIGON_1[] = +static const union AnimCmd sAnim_Druddigon_1[] = { ANIMCMD_FRAME(0, 22), ANIMCMD_FRAME(1, 22), @@ -7290,7 +7290,7 @@ static const union AnimCmd sAnim_DRUDDIGON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOLETT_1[] = +static const union AnimCmd sAnim_Golett_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 44), @@ -7298,14 +7298,14 @@ static const union AnimCmd sAnim_GOLETT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOLURK_1[] = +static const union AnimCmd sAnim_Golurk_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_PAWNIARD_1[] = +static const union AnimCmd sAnim_Pawniard_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -7318,14 +7318,14 @@ static const union AnimCmd sAnim_PAWNIARD_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BISHARP_1[] = +static const union AnimCmd sAnim_Bisharp_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_BOUFFALANT_1[] = +static const union AnimCmd sAnim_Bouffalant_1[] = { ANIMCMD_FRAME(0, 28), ANIMCMD_FRAME(1, 32), @@ -7333,7 +7333,7 @@ static const union AnimCmd sAnim_BOUFFALANT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RUFFLET_1[] = +static const union AnimCmd sAnim_Rufflet_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 10), @@ -7343,7 +7343,7 @@ static const union AnimCmd sAnim_RUFFLET_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BRAVIARY_1[] = +static const union AnimCmd sAnim_Braviary_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -7351,7 +7351,7 @@ static const union AnimCmd sAnim_BRAVIARY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VULLABY_1[] = +static const union AnimCmd sAnim_Vullaby_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -7359,7 +7359,7 @@ static const union AnimCmd sAnim_VULLABY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MANDIBUZZ_1[] = +static const union AnimCmd sAnim_Mandibuzz_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 36), @@ -7367,14 +7367,14 @@ static const union AnimCmd sAnim_MANDIBUZZ_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HEATMOR_1[] = +static const union AnimCmd sAnim_Heatmor_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_DURANT_1[] = +static const union AnimCmd sAnim_Durant_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 2), @@ -7396,7 +7396,7 @@ static const union AnimCmd sAnim_DURANT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DEINO_1[] = +static const union AnimCmd sAnim_Deino_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -7404,14 +7404,14 @@ static const union AnimCmd sAnim_DEINO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ZWEILOUS_1[] = +static const union AnimCmd sAnim_Zweilous_1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_HYDREIGON_1[] = +static const union AnimCmd sAnim_Hydreigon_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -7424,7 +7424,7 @@ static const union AnimCmd sAnim_HYDREIGON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LARVESTA_1[] = +static const union AnimCmd sAnim_Larvesta_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -7440,7 +7440,7 @@ static const union AnimCmd sAnim_LARVESTA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VOLCARONA_1[] = +static const union AnimCmd sAnim_Volcarona_1[] = { ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 25), @@ -7449,7 +7449,7 @@ static const union AnimCmd sAnim_VOLCARONA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_COBALION_1[] = +static const union AnimCmd sAnim_Cobalion_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 36), @@ -7457,7 +7457,7 @@ static const union AnimCmd sAnim_COBALION_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TERRAKION_1[] = +static const union AnimCmd sAnim_Terrakion_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -7469,7 +7469,7 @@ static const union AnimCmd sAnim_TERRAKION_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TERRAKION_2[] = +static const union AnimCmd sAnim_Terrakion_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -7478,14 +7478,14 @@ static const union AnimCmd sAnim_TERRAKION_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VIRIZION_1[] = +static const union AnimCmd sAnim_Virizion_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_TORNADUS_1[] = +static const union AnimCmd sAnim_Tornadus_1[] = { ANIMCMD_FRAME(1, 2), ANIMCMD_FRAME(0, 2), @@ -7512,7 +7512,7 @@ static const union AnimCmd sAnim_TORNADUS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_THUNDURUS_1[] = +static const union AnimCmd sAnim_Thundurus_1[] = { ANIMCMD_FRAME(1, 2), ANIMCMD_FRAME(0, 2), @@ -7539,21 +7539,21 @@ static const union AnimCmd sAnim_THUNDURUS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_RESHIRAM_1[] = +static const union AnimCmd sAnim_Reshiram_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_ZEKROM_1[] = +static const union AnimCmd sAnim_Zekrom_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_LANDORUS_1[] = +static const union AnimCmd sAnim_Landorus_1[] = { ANIMCMD_FRAME(1, 2), ANIMCMD_FRAME(0, 2), @@ -7580,7 +7580,7 @@ static const union AnimCmd sAnim_LANDORUS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KYUREM_1[] = +static const union AnimCmd sAnim_Kyurem_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 20), @@ -7589,14 +7589,14 @@ static const union AnimCmd sAnim_KYUREM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KELDEO_1[] = +static const union AnimCmd sAnim_Keldeo_1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_MELOETTA_1[] = +static const union AnimCmd sAnim_Meloetta_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 45), @@ -7608,7 +7608,7 @@ static const union AnimCmd sAnim_MELOETTA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MELOETTA_2[] = +static const union AnimCmd sAnim_Meloetta_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -7617,7 +7617,7 @@ static const union AnimCmd sAnim_MELOETTA_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GENESECT_1[] = +static const union AnimCmd sAnim_Genesect_1[] = { ANIMCMD_FRAME(1, 5), ANIMCMD_FRAME(0, 5), @@ -7631,7 +7631,7 @@ static const union AnimCmd sAnim_GENESECT_1[] = }; #endif #if P_GEN_6_POKEMON == TRUE -static const union AnimCmd sAnim_CHESPIN_1[] = +static const union AnimCmd sAnim_Chespin_1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 24), @@ -7641,7 +7641,7 @@ static const union AnimCmd sAnim_CHESPIN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_QUILLADIN_1[] = +static const union AnimCmd sAnim_Quilladin_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -7651,7 +7651,7 @@ static const union AnimCmd sAnim_QUILLADIN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_QUILLADIN_2[] = +static const union AnimCmd sAnim_Quilladin_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -7660,7 +7660,7 @@ static const union AnimCmd sAnim_QUILLADIN_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CHESNAUGHT_1[] = +static const union AnimCmd sAnim_Chesnaught_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 40), @@ -7668,7 +7668,7 @@ static const union AnimCmd sAnim_CHESNAUGHT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FENNEKIN_1[] = +static const union AnimCmd sAnim_Fennekin_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -7680,7 +7680,7 @@ static const union AnimCmd sAnim_FENNEKIN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BRAIXEN_1[] = +static const union AnimCmd sAnim_Braixen_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 45), @@ -7688,7 +7688,7 @@ static const union AnimCmd sAnim_BRAIXEN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DELPHOX_1[] = +static const union AnimCmd sAnim_Delphox_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -7700,7 +7700,7 @@ static const union AnimCmd sAnim_DELPHOX_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FROAKIE_1[] = +static const union AnimCmd sAnim_Froakie_1[] = { ANIMCMD_FRAME(0, 13), ANIMCMD_FRAME(1, 7), @@ -7712,21 +7712,21 @@ static const union AnimCmd sAnim_FROAKIE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FROGADIER_1[] = +static const union AnimCmd sAnim_Frogadier_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -static const union AnimCmd sAnim_GRENINJA_1[] = +static const union AnimCmd sAnim_Greninja_1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_GRENINJA_ASH_1[] = +static const union AnimCmd sAnim_GreninjaAsh_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 15), @@ -7736,7 +7736,7 @@ static const union AnimCmd sAnim_GRENINJA_ASH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BUNNELBY_1[] = +static const union AnimCmd sAnim_Bunnelby_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -7745,14 +7745,14 @@ static const union AnimCmd sAnim_BUNNELBY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DIGGERSBY_1[] = +static const union AnimCmd sAnim_Diggersby_1[] = { ANIMCMD_FRAME(1, 35), ANIMCMD_FRAME(0, 10), ANIMCMD_END, }; -static const union AnimCmd sAnim_FLETCHLING_1[] = +static const union AnimCmd sAnim_Fletchling_1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(1, 50), @@ -7760,7 +7760,7 @@ static const union AnimCmd sAnim_FLETCHLING_1[] = ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_FLETCHINDER_1[] = +static const union AnimCmd sAnim_Fletchinder_1[] = { ANIMCMD_FRAME(0, 2), ANIMCMD_FRAME(1, 2), @@ -7782,7 +7782,7 @@ static const union AnimCmd sAnim_FLETCHINDER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TALONFLAME_1[] = +static const union AnimCmd sAnim_Talonflame_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 20), @@ -7792,7 +7792,7 @@ static const union AnimCmd sAnim_TALONFLAME_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TALONFLAME_2[] = +static const union AnimCmd sAnim_Talonflame_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -7801,7 +7801,7 @@ static const union AnimCmd sAnim_TALONFLAME_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SCATTERBUG_1[] = +static const union AnimCmd sAnim_Scatterbug_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 10), @@ -7811,7 +7811,7 @@ static const union AnimCmd sAnim_SCATTERBUG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SPEWPA_1[] = +static const union AnimCmd sAnim_Spewpa_1[] = { ANIMCMD_FRAME(0, 18), ANIMCMD_FRAME(1, 18), @@ -7821,7 +7821,7 @@ static const union AnimCmd sAnim_SPEWPA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VIVILLON_1[] = +static const union AnimCmd sAnim_Vivillon_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -7833,7 +7833,7 @@ static const union AnimCmd sAnim_VIVILLON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LITLEO_1[] = +static const union AnimCmd sAnim_Litleo_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -7841,14 +7841,14 @@ static const union AnimCmd sAnim_LITLEO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PYROAR_1[] = +static const union AnimCmd sAnim_Pyroar_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_FLABEBE_1[] = +static const union AnimCmd sAnim_Flabebe_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -7858,7 +7858,7 @@ static const union AnimCmd sAnim_FLABEBE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FLABEBE_2[] = +static const union AnimCmd sAnim_Flabebe_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -7867,7 +7867,7 @@ static const union AnimCmd sAnim_FLABEBE_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FLOETTE_1[] = +static const union AnimCmd sAnim_Floette_1[] = { ANIMCMD_FRAME(0, 33), ANIMCMD_FRAME(1, 33), @@ -7877,7 +7877,7 @@ static const union AnimCmd sAnim_FLOETTE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FLORGES_1[] = +static const union AnimCmd sAnim_Florges_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -7887,7 +7887,7 @@ static const union AnimCmd sAnim_FLORGES_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FLORGES_2[] = +static const union AnimCmd sAnim_Florges_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -7896,14 +7896,14 @@ static const union AnimCmd sAnim_FLORGES_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SKIDDO_1[] = +static const union AnimCmd sAnim_Skiddo_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_GOGOAT_1[] = +static const union AnimCmd sAnim_Gogoat_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 36), @@ -7911,7 +7911,7 @@ static const union AnimCmd sAnim_GOGOAT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PANCHAM_1[] = +static const union AnimCmd sAnim_Pancham_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -7922,7 +7922,7 @@ static const union AnimCmd sAnim_PANCHAM_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PANGORO_1[] = +static const union AnimCmd sAnim_Pangoro_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -7933,7 +7933,7 @@ static const union AnimCmd sAnim_PANGORO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_FURFROU_1[] = +static const union AnimCmd sAnim_Furfrou_1[] = { ANIMCMD_FRAME(0, 27), ANIMCMD_FRAME(1, 6), @@ -7943,7 +7943,7 @@ static const union AnimCmd sAnim_FURFROU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ESPURR_1[] = +static const union AnimCmd sAnim_Espurr_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -7955,7 +7955,7 @@ static const union AnimCmd sAnim_ESPURR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MEOWSTIC_1[] = +static const union AnimCmd sAnim_Meowstic_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 45), @@ -7963,7 +7963,7 @@ static const union AnimCmd sAnim_MEOWSTIC_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HONEDGE_1[] = +static const union AnimCmd sAnim_Honedge_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 40), @@ -7971,7 +7971,7 @@ static const union AnimCmd sAnim_HONEDGE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DOUBLADE_1[] = +static const union AnimCmd sAnim_Doublade_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -7981,7 +7981,7 @@ static const union AnimCmd sAnim_DOUBLADE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DOUBLADE_2[] = +static const union AnimCmd sAnim_Doublade_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -7990,7 +7990,7 @@ static const union AnimCmd sAnim_DOUBLADE_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AEGISLASH_1[] = +static const union AnimCmd sAnim_Aegislash_1[] = { ANIMCMD_FRAME(0, 18), ANIMCMD_FRAME(1, 18), @@ -8000,7 +8000,7 @@ static const union AnimCmd sAnim_AEGISLASH_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SPRITZEE_1[] = +static const union AnimCmd sAnim_Spritzee_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 25), @@ -8011,14 +8011,14 @@ static const union AnimCmd sAnim_SPRITZEE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AROMATISSE_1[] = +static const union AnimCmd sAnim_Aromatisse_1[] = { ANIMCMD_FRAME(1, 30), ANIMCMD_FRAME(0, 30), ANIMCMD_END, }; -static const union AnimCmd sAnim_SWIRLIX_1[] = +static const union AnimCmd sAnim_Swirlix_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 10), @@ -8030,7 +8030,7 @@ static const union AnimCmd sAnim_SWIRLIX_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SLURPUFF_1[] = +static const union AnimCmd sAnim_Slurpuff_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 10), @@ -8040,7 +8040,7 @@ static const union AnimCmd sAnim_SLURPUFF_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_INKAY_1[] = +static const union AnimCmd sAnim_Inkay_1[] = { ANIMCMD_FRAME(1, 25), ANIMCMD_FRAME(0, 25), @@ -8049,7 +8049,7 @@ static const union AnimCmd sAnim_INKAY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MALAMAR_1[] = +static const union AnimCmd sAnim_Malamar_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -8058,7 +8058,7 @@ static const union AnimCmd sAnim_MALAMAR_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BINACLE_1[] = +static const union AnimCmd sAnim_Binacle_1[] = { ANIMCMD_FRAME(1, 8), ANIMCMD_FRAME(0, 8), @@ -8069,14 +8069,14 @@ static const union AnimCmd sAnim_BINACLE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BARBARACLE_1[] = +static const union AnimCmd sAnim_Barbaracle_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 15), ANIMCMD_END, }; -static const union AnimCmd sAnim_SKRELP_1[] = +static const union AnimCmd sAnim_Skrelp_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 10), @@ -8089,7 +8089,7 @@ static const union AnimCmd sAnim_SKRELP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DRAGALGE_1[] = +static const union AnimCmd sAnim_Dragalge_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 10), @@ -8098,7 +8098,7 @@ static const union AnimCmd sAnim_DRAGALGE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CLAUNCHER_1[] = +static const union AnimCmd sAnim_Clauncher_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -8108,7 +8108,7 @@ static const union AnimCmd sAnim_CLAUNCHER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CLAWITZER_1[] = +static const union AnimCmd sAnim_Clawitzer_1[] = { ANIMCMD_FRAME(1, 6), ANIMCMD_FRAME(0, 6), @@ -8121,7 +8121,7 @@ static const union AnimCmd sAnim_CLAWITZER_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HELIOPTILE_1[] = +static const union AnimCmd sAnim_Helioptile_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 15), @@ -8129,7 +8129,7 @@ static const union AnimCmd sAnim_HELIOPTILE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HELIOLISK_1[] = +static const union AnimCmd sAnim_Heliolisk_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 30), @@ -8137,7 +8137,7 @@ static const union AnimCmd sAnim_HELIOLISK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TYRUNT_1[] = +static const union AnimCmd sAnim_Tyrunt_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 20), @@ -8146,14 +8146,14 @@ static const union AnimCmd sAnim_TYRUNT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TYRANTRUM_1[] = +static const union AnimCmd sAnim_Tyrantrum_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_AMAURA_1[] = +static const union AnimCmd sAnim_Amaura_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 10), @@ -8163,14 +8163,14 @@ static const union AnimCmd sAnim_AMAURA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AURORUS_1[] = +static const union AnimCmd sAnim_Aurorus_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_SYLVEON_1[] = +static const union AnimCmd sAnim_Sylveon_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 20), @@ -8178,7 +8178,7 @@ static const union AnimCmd sAnim_SYLVEON_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HAWLUCHA_1[] = +static const union AnimCmd sAnim_Hawlucha_1[] = { ANIMCMD_FRAME(0, 28), ANIMCMD_FRAME(1, 32), @@ -8186,7 +8186,7 @@ static const union AnimCmd sAnim_HAWLUCHA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DEDENNE_1[] = +static const union AnimCmd sAnim_Dedenne_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 15), @@ -8194,7 +8194,7 @@ static const union AnimCmd sAnim_DEDENNE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_CARBINK_1[] = +static const union AnimCmd sAnim_Carbink_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -8208,7 +8208,7 @@ static const union AnimCmd sAnim_CARBINK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOOMY_1[] = +static const union AnimCmd sAnim_Goomy_1[] = { ANIMCMD_FRAME(0, 28), ANIMCMD_FRAME(1, 32), @@ -8216,7 +8216,7 @@ static const union AnimCmd sAnim_GOOMY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_SLIGGOO_1[] = +static const union AnimCmd sAnim_Sliggoo_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -8224,7 +8224,7 @@ static const union AnimCmd sAnim_SLIGGOO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOODRA_1[] = +static const union AnimCmd sAnim_Goodra_1[] = { ANIMCMD_FRAME(0, 18), ANIMCMD_FRAME(1, 18), @@ -8234,7 +8234,7 @@ static const union AnimCmd sAnim_GOODRA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KLEFKI_1[] = +static const union AnimCmd sAnim_Klefki_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -8248,7 +8248,7 @@ static const union AnimCmd sAnim_KLEFKI_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PHANTUMP_1[] = +static const union AnimCmd sAnim_Phantump_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -8256,7 +8256,7 @@ static const union AnimCmd sAnim_PHANTUMP_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TREVENANT_1[] = +static const union AnimCmd sAnim_Trevenant_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -8267,7 +8267,7 @@ static const union AnimCmd sAnim_TREVENANT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PUMPKABOO_1[] = +static const union AnimCmd sAnim_Pumpkaboo_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -8280,7 +8280,7 @@ static const union AnimCmd sAnim_PUMPKABOO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GOURGEIST_1[] = +static const union AnimCmd sAnim_Gourgeist_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -8288,7 +8288,7 @@ static const union AnimCmd sAnim_GOURGEIST_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BERGMITE_1[] = +static const union AnimCmd sAnim_Bergmite_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -8298,7 +8298,7 @@ static const union AnimCmd sAnim_BERGMITE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BERGMITE_2[] = +static const union AnimCmd sAnim_Bergmite_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -8307,7 +8307,7 @@ static const union AnimCmd sAnim_BERGMITE_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AVALUGG_1[] = +static const union AnimCmd sAnim_Avalugg_1[] = { ANIMCMD_FRAME(1, 10), ANIMCMD_FRAME(0, 20), @@ -8316,7 +8316,7 @@ static const union AnimCmd sAnim_AVALUGG_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NOIBAT_1[] = +static const union AnimCmd sAnim_Noibat_1[] = { ANIMCMD_FRAME(1, 12), ANIMCMD_FRAME(0, 12), @@ -8329,14 +8329,14 @@ static const union AnimCmd sAnim_NOIBAT_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_NOIVERN_1[] = +static const union AnimCmd sAnim_Noivern_1[] = { ANIMCMD_FRAME(1, 32), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_XERNEAS_1[] = +static const union AnimCmd sAnim_Xerneas_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 45), @@ -8344,7 +8344,7 @@ static const union AnimCmd sAnim_XERNEAS_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_YVELTAL_1[] = +static const union AnimCmd sAnim_Yveltal_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 10), @@ -8353,7 +8353,7 @@ static const union AnimCmd sAnim_YVELTAL_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ZYGARDE_1[] = +static const union AnimCmd sAnim_Zygarde_1[] = { ANIMCMD_FRAME(0, 10), ANIMCMD_FRAME(1, 25), @@ -8361,7 +8361,7 @@ static const union AnimCmd sAnim_ZYGARDE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DIANCIE_1[] = +static const union AnimCmd sAnim_Diancie_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -8369,7 +8369,7 @@ static const union AnimCmd sAnim_DIANCIE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HOOPA_1[] = +static const union AnimCmd sAnim_Hoopa_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 15), @@ -8383,7 +8383,7 @@ static const union AnimCmd sAnim_HOOPA_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_VOLCANION_1[] = +static const union AnimCmd sAnim_Volcanion_1[] = { ANIMCMD_FRAME(1, 45), ANIMCMD_FRAME(0, 10), @@ -8391,361 +8391,361 @@ static const union AnimCmd sAnim_VOLCANION_1[] = }; #endif #if P_GEN_7_POKEMON == TRUE -static const union AnimCmd sAnim_ROWLET_1[] = +static const union AnimCmd sAnim_Rowlet_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DARTRIX_1[] = +static const union AnimCmd sAnim_Dartrix_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DECIDUEYE_1[] = +static const union AnimCmd sAnim_Decidueye_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LITTEN_1[] = +static const union AnimCmd sAnim_Litten_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TORRACAT_1[] = +static const union AnimCmd sAnim_Torracat_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_INCINEROAR_1[] = +static const union AnimCmd sAnim_Incineroar_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_POPPLIO_1[] = +static const union AnimCmd sAnim_Popplio_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BRIONNE_1[] = +static const union AnimCmd sAnim_Brionne_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PRIMARINA_1[] = +static const union AnimCmd sAnim_Primarina_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKIPEK_1[] = +static const union AnimCmd sAnim_Pikipek_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TRUMBEAK_1[] = +static const union AnimCmd sAnim_Trumbeak_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TOUCANNON_1[] = +static const union AnimCmd sAnim_Toucannon_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_YUNGOOS_1[] = +static const union AnimCmd sAnim_Yungoos_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GUMSHOOS_1[] = +static const union AnimCmd sAnim_Gumshoos_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GRUBBIN_1[] = +static const union AnimCmd sAnim_Grubbin_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CHARJABUG_1[] = +static const union AnimCmd sAnim_Charjabug_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_VIKAVOLT_1[] = +static const union AnimCmd sAnim_Vikavolt_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CRABRAWLER_1[] = +static const union AnimCmd sAnim_Crabrawler_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CRABOMINABLE_1[] = +static const union AnimCmd sAnim_Crabominable_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ORICORIO_1[] = +static const union AnimCmd sAnim_Oricorio_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CUTIEFLY_1[] = +static const union AnimCmd sAnim_Cutiefly_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_RIBOMBEE_1[] = +static const union AnimCmd sAnim_Ribombee_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ROCKRUFF_1[] = +static const union AnimCmd sAnim_Rockruff_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LYCANROC_1[] = +static const union AnimCmd sAnim_Lycanroc_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_WISHIWASHI_1[] = +static const union AnimCmd sAnim_Wishiwashi_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MAREANIE_1[] = +static const union AnimCmd sAnim_Mareanie_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TOXAPEX_1[] = +static const union AnimCmd sAnim_Toxapex_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MUDBRAY_1[] = +static const union AnimCmd sAnim_Mudbray_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MUDSDALE_1[] = +static const union AnimCmd sAnim_Mudsdale_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DEWPIDER_1[] = +static const union AnimCmd sAnim_Dewpider_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ARAQUANID_1[] = +static const union AnimCmd sAnim_Araquanid_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_FOMANTIS_1[] = +static const union AnimCmd sAnim_Fomantis_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LURANTIS_1[] = +static const union AnimCmd sAnim_Lurantis_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MORELULL_1[] = +static const union AnimCmd sAnim_Morelull_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SHIINOTIC_1[] = +static const union AnimCmd sAnim_Shiinotic_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SALANDIT_1[] = +static const union AnimCmd sAnim_Salandit_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SALAZZLE_1[] = +static const union AnimCmd sAnim_Salazzle_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_STUFFUL_1[] = +static const union AnimCmd sAnim_Stufful_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BEWEAR_1[] = +static const union AnimCmd sAnim_Bewear_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BOUNSWEET_1[] = +static const union AnimCmd sAnim_Bounsweet_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_STEENEE_1[] = +static const union AnimCmd sAnim_Steenee_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TSAREENA_1[] = +static const union AnimCmd sAnim_Tsareena_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_COMFEY_1[] = +static const union AnimCmd sAnim_Comfey_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ORANGURU_1[] = +static const union AnimCmd sAnim_Oranguru_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PASSIMIAN_1[] = +static const union AnimCmd sAnim_Passimian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_WIMPOD_1[] = +static const union AnimCmd sAnim_Wimpod_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GOLISOPOD_1[] = +static const union AnimCmd sAnim_Golisopod_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SANDYGAST_1[] = +static const union AnimCmd sAnim_Sandygast_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PALOSSAND_1[] = +static const union AnimCmd sAnim_Palossand_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PYUKUMUKU_1[] = +static const union AnimCmd sAnim_Pyukumuku_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TYPE_NULL_1[] = +static const union AnimCmd sAnim_TypeNull_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SILVALLY_1[] = +static const union AnimCmd sAnim_Silvally_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MINIOR_1[] = +static const union AnimCmd sAnim_Minior_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_KOMALA_1[] = +static const union AnimCmd sAnim_Komala_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TURTONATOR_1[] = +static const union AnimCmd sAnim_Turtonator_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TOGEDEMARU_1[] = +static const union AnimCmd sAnim_Togedemaru_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MIMIKYU_1[] = +static const union AnimCmd sAnim_Mimikyu_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BRUXISH_1[] = +static const union AnimCmd sAnim_Bruxish_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DRAMPA_1[] = +static const union AnimCmd sAnim_Drampa_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DHELMISE_1[] = +static const union AnimCmd sAnim_Dhelmise_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, @@ -8769,7 +8769,7 @@ static const union AnimCmd sAnim_KOMMO_O_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TAPU_KOKO_1[] = +static const union AnimCmd sAnim_TapuKoko_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 40), @@ -8781,7 +8781,7 @@ static const union AnimCmd sAnim_TAPU_KOKO_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TAPU_LELE_1[] = +static const union AnimCmd sAnim_TapuLele_1[] = { ANIMCMD_FRAME(1, 50), ANIMCMD_FRAME(1, 50), @@ -8789,7 +8789,7 @@ static const union AnimCmd sAnim_TAPU_LELE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TAPU_BULU_1[] = +static const union AnimCmd sAnim_TapuBulu_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 40), @@ -8799,7 +8799,7 @@ static const union AnimCmd sAnim_TAPU_BULU_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_TAPU_FINI_1[] = +static const union AnimCmd sAnim_TapuFini_1[] = { ANIMCMD_FRAME(1, 60), ANIMCMD_FRAME(1, 60), @@ -8807,85 +8807,85 @@ static const union AnimCmd sAnim_TAPU_FINI_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_COSMOG_1[] = +static const union AnimCmd sAnim_Cosmog_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_COSMOEM_1[] = +static const union AnimCmd sAnim_Cosmoem_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SOLGALEO_1[] = +static const union AnimCmd sAnim_Solgaleo_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LUNALA_1[] = +static const union AnimCmd sAnim_Lunala_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_NIHILEGO_1[] = +static const union AnimCmd sAnim_Nihilego_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BUZZWOLE_1[] = +static const union AnimCmd sAnim_Buzzwole_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PHEROMOSA_1[] = +static const union AnimCmd sAnim_Pheromosa_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_XURKITREE_1[] = +static const union AnimCmd sAnim_Xurkitree_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CELESTEELA_1[] = +static const union AnimCmd sAnim_Celesteela_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_KARTANA_1[] = +static const union AnimCmd sAnim_Kartana_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GUZZLORD_1[] = +static const union AnimCmd sAnim_Guzzlord_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_NECROZMA_1[] = +static const union AnimCmd sAnim_Necrozma_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MAGEARNA_1[] = +static const union AnimCmd sAnim_Magearna_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MARSHADOW_1[] = +static const union AnimCmd sAnim_Marshadow_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 54), @@ -8893,627 +8893,627 @@ static const union AnimCmd sAnim_MARSHADOW_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_POIPOLE_1[] = +static const union AnimCmd sAnim_Poipole_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_NAGANADEL_1[] = +static const union AnimCmd sAnim_Naganadel_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_STAKATAKA_1[] = +static const union AnimCmd sAnim_Stakataka_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BLACEPHALON_1[] = +static const union AnimCmd sAnim_Blacephalon_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ZERAORA_1[] = +static const union AnimCmd sAnim_Zeraora_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MELTAN_1[] = +static const union AnimCmd sAnim_Meltan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MELMETAL_1[] = +static const union AnimCmd sAnim_Melmetal_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #endif #if P_GEN_8_POKEMON == TRUE -static const union AnimCmd sAnim_GROOKEY_1[] = +static const union AnimCmd sAnim_Grookey_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_THWACKEY_1[] = +static const union AnimCmd sAnim_Thwackey_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_RILLABOOM_1[] = +static const union AnimCmd sAnim_Rillaboom_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SCORBUNNY_1[] = +static const union AnimCmd sAnim_Scorbunny_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_RABOOT_1[] = +static const union AnimCmd sAnim_Raboot_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CINDERACE_1[] = +static const union AnimCmd sAnim_Cinderace_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SOBBLE_1[] = +static const union AnimCmd sAnim_Sobble_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DRIZZILE_1[] = +static const union AnimCmd sAnim_Drizzile_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_INTELEON_1[] = +static const union AnimCmd sAnim_Inteleon_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SKWOVET_1[] = +static const union AnimCmd sAnim_Skwovet_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GREEDENT_1[] = +static const union AnimCmd sAnim_Greedent_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ROOKIDEE_1[] = +static const union AnimCmd sAnim_Rookidee_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CORVISQUIRE_1[] = +static const union AnimCmd sAnim_Corvisquire_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CORVIKNIGHT_1[] = +static const union AnimCmd sAnim_Corviknight_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BLIPBUG_1[] = +static const union AnimCmd sAnim_Blipbug_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DOTTLER_1[] = +static const union AnimCmd sAnim_Dottler_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ORBEETLE_1[] = +static const union AnimCmd sAnim_Orbeetle_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_NICKIT_1[] = +static const union AnimCmd sAnim_Nickit_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_THIEVUL_1[] = +static const union AnimCmd sAnim_Thievul_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GOSSIFLEUR_1[] = +static const union AnimCmd sAnim_Gossifleur_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ELDEGOSS_1[] = +static const union AnimCmd sAnim_Eldegoss_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_WOOLOO_1[] = +static const union AnimCmd sAnim_Wooloo_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DUBWOOL_1[] = +static const union AnimCmd sAnim_Dubwool_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CHEWTLE_1[] = +static const union AnimCmd sAnim_Chewtle_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DREDNAW_1[] = +static const union AnimCmd sAnim_Drednaw_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_YAMPER_1[] = +static const union AnimCmd sAnim_Yamper_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BOLTUND_1[] = +static const union AnimCmd sAnim_Boltund_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ROLYCOLY_1[] = +static const union AnimCmd sAnim_Rolycoly_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CARKOL_1[] = +static const union AnimCmd sAnim_Carkol_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_COALOSSAL_1[] = +static const union AnimCmd sAnim_Coalossal_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_APPLIN_1[] = +static const union AnimCmd sAnim_Applin_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_FLAPPLE_1[] = +static const union AnimCmd sAnim_Flapple_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_APPLETUN_1[] = +static const union AnimCmd sAnim_Appletun_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SILICOBRA_1[] = +static const union AnimCmd sAnim_Silicobra_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SANDACONDA_1[] = +static const union AnimCmd sAnim_Sandaconda_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CRAMORANT_1[] = +static const union AnimCmd sAnim_Cramorant_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ARROKUDA_1[] = +static const union AnimCmd sAnim_Arrokuda_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BARRASKEWDA_1[] = +static const union AnimCmd sAnim_Barraskewda_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TOXEL_1[] = +static const union AnimCmd sAnim_Toxel_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TOXTRICITY_1[] = +static const union AnimCmd sAnim_Toxtricity_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SIZZLIPEDE_1[] = +static const union AnimCmd sAnim_Sizzlipede_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CENTISKORCH_1[] = +static const union AnimCmd sAnim_Centiskorch_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CLOBBOPUS_1[] = +static const union AnimCmd sAnim_Clobbopus_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GRAPPLOCT_1[] = +static const union AnimCmd sAnim_Grapploct_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SINISTEA_1[] = +static const union AnimCmd sAnim_Sinistea_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_POLTEAGEIST_1[] = +static const union AnimCmd sAnim_Polteageist_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_HATENNA_1[] = +static const union AnimCmd sAnim_Hatenna_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_HATTREM_1[] = +static const union AnimCmd sAnim_Hattrem_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_HATTERENE_1[] = +static const union AnimCmd sAnim_Hatterene_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_IMPIDIMP_1[] = +static const union AnimCmd sAnim_Impidimp_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MORGREM_1[] = +static const union AnimCmd sAnim_Morgrem_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GRIMMSNARL_1[] = +static const union AnimCmd sAnim_Grimmsnarl_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_OBSTAGOON_1[] = +static const union AnimCmd sAnim_Obstagoon_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PERRSERKER_1[] = +static const union AnimCmd sAnim_Perrserker_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CURSOLA_1[] = +static const union AnimCmd sAnim_Cursola_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SIRFETCHD_1[] = +static const union AnimCmd sAnim_Sirfetchd_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MR_RIME_1[] = +static const union AnimCmd sAnim_MrRime_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_RUNERIGUS_1[] = +static const union AnimCmd sAnim_Runerigus_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MILCERY_1[] = +static const union AnimCmd sAnim_Milcery_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ALCREMIE_1[] = +static const union AnimCmd sAnim_Alcremie_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_FALINKS_1[] = +static const union AnimCmd sAnim_Falinks_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PINCURCHIN_1[] = +static const union AnimCmd sAnim_Pincurchin_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SNOM_1[] = +static const union AnimCmd sAnim_Snom_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_FROSMOTH_1[] = +static const union AnimCmd sAnim_Frosmoth_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_STONJOURNER_1[] = +static const union AnimCmd sAnim_Stonjourner_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_EISCUE_1[] = +static const union AnimCmd sAnim_Eiscue_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_INDEEDEE_1[] = +static const union AnimCmd sAnim_Indeedee_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MORPEKO_1[] = +static const union AnimCmd sAnim_Morpeko_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CUFANT_1[] = +static const union AnimCmd sAnim_Cufant_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_COPPERAJAH_1[] = +static const union AnimCmd sAnim_Copperajah_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DRACOZOLT_1[] = +static const union AnimCmd sAnim_Dracozolt_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ARCTOZOLT_1[] = +static const union AnimCmd sAnim_Arctozolt_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DRACOVISH_1[] = +static const union AnimCmd sAnim_Dracovish_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ARCTOVISH_1[] = +static const union AnimCmd sAnim_Arctovish_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DURALUDON_1[] = +static const union AnimCmd sAnim_Duraludon_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DREEPY_1[] = +static const union AnimCmd sAnim_Dreepy_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DRAKLOAK_1[] = +static const union AnimCmd sAnim_Drakloak_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DRAGAPULT_1[] = +static const union AnimCmd sAnim_Dragapult_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ZACIAN_1[] = +static const union AnimCmd sAnim_Zacian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ZAMAZENTA_1[] = +static const union AnimCmd sAnim_Zamazenta_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ETERNATUS_1[] = +static const union AnimCmd sAnim_Eternatus_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_KUBFU_1[] = +static const union AnimCmd sAnim_Kubfu_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_URSHIFU_1[] = +static const union AnimCmd sAnim_Urshifu_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ZARUDE_1[] = +static const union AnimCmd sAnim_Zarude_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_REGIELEKI_1[] = +static const union AnimCmd sAnim_Regieleki_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_REGIDRAGO_1[] = +static const union AnimCmd sAnim_Regidrago_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GLASTRIER_1[] = +static const union AnimCmd sAnim_Glastrier_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SPECTRIER_1[] = +static const union AnimCmd sAnim_Spectrier_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CALYREX_1[] = +static const union AnimCmd sAnim_Calyrex_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_WYRDEER_1[] = +static const union AnimCmd sAnim_Wyrdeer_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_KLEAVOR_1[] = +static const union AnimCmd sAnim_Kleavor_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_URSALUNA_1[] = +static const union AnimCmd sAnim_Ursaluna_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BASCULEGION_1[] = +static const union AnimCmd sAnim_Basculegion_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SNEASLER_1[] = +static const union AnimCmd sAnim_Sneasler_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_OVERQWIL_1[] = +static const union AnimCmd sAnim_Overqwil_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ENAMORUS_1[] = +static const union AnimCmd sAnim_Enamorus_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #endif -static const union AnimCmd sAnim_VENUSAUR_MEGA_1[] = +static const union AnimCmd sAnim_VenusaurMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, @@ -9531,61 +9531,61 @@ static const union AnimCmd sAnim_CHARIZARD_MEGA_Y_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_BLASTOISE_MEGA_1[] = +static const union AnimCmd sAnim_BlastoiseMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BEEDRILL_MEGA_1[] = +static const union AnimCmd sAnim_BeedrillMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIDGEOT_MEGA_1[] = +static const union AnimCmd sAnim_PidgeotMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ALAKAZAM_MEGA_1[] = +static const union AnimCmd sAnim_AlakazamMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SLOWBRO_MEGA_1[] = +static const union AnimCmd sAnim_SlowbroMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GENGAR_MEGA_1[] = +static const union AnimCmd sAnim_GengarMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_KANGASKHAN_MEGA_1[] = +static const union AnimCmd sAnim_KangaskhanMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PINSIR_MEGA_1[] = +static const union AnimCmd sAnim_PinsirMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GYARADOS_MEGA_1[] = +static const union AnimCmd sAnim_GyaradosMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_AERODACTYL_MEGA_1[] = +static const union AnimCmd sAnim_AerodactylMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, @@ -9603,563 +9603,563 @@ static const union AnimCmd sAnim_MEWTWO_MEGA_Y_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_AMPHAROS_MEGA_1[] = +static const union AnimCmd sAnim_AmpharosMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_STEELIX_MEGA_1[] = +static const union AnimCmd sAnim_SteelixMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SCIZOR_MEGA_1[] = +static const union AnimCmd sAnim_ScizorMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_HERACROSS_MEGA_1[] = +static const union AnimCmd sAnim_HeracrossMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_HOUNDOOM_MEGA_1[] = +static const union AnimCmd sAnim_HoundoomMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TYRANITAR_MEGA_1[] = +static const union AnimCmd sAnim_TyranitarMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SCEPTILE_MEGA_1[] = +static const union AnimCmd sAnim_SceptileMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BLAZIKEN_MEGA_1[] = +static const union AnimCmd sAnim_BlazikenMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SWAMPERT_MEGA_1[] = +static const union AnimCmd sAnim_SwampertMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GARDEVOIR_MEGA_1[] = +static const union AnimCmd sAnim_GardevoirMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SABLEYE_MEGA_1[] = +static const union AnimCmd sAnim_SableyeMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MAWILE_MEGA_1[] = +static const union AnimCmd sAnim_MawileMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_AGGRON_MEGA_1[] = +static const union AnimCmd sAnim_AggronMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MEDICHAM_MEGA_1[] = +static const union AnimCmd sAnim_MedichamMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MANECTRIC_MEGA_1[] = +static const union AnimCmd sAnim_ManectricMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SHARPEDO_MEGA_1[] = +static const union AnimCmd sAnim_SharpedoMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CAMERUPT_MEGA_1[] = +static const union AnimCmd sAnim_CameruptMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ALTARIA_MEGA_1[] = +static const union AnimCmd sAnim_AltariaMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BANETTE_MEGA_1[] = +static const union AnimCmd sAnim_BanetteMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ABSOL_MEGA_1[] = +static const union AnimCmd sAnim_AbsolMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GLALIE_MEGA_1[] = +static const union AnimCmd sAnim_GlalieMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SALAMENCE_MEGA_1[] = +static const union AnimCmd sAnim_SalamenceMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_METAGROSS_MEGA_1[] = +static const union AnimCmd sAnim_MetagrossMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LATIAS_MEGA_1[] = +static const union AnimCmd sAnim_LatiasMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LATIOS_MEGA_1[] = +static const union AnimCmd sAnim_LatiosMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_KYOGRE_PRIMAL_1[] = +static const union AnimCmd sAnim_KyogrePrimal_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GROUDON_PRIMAL_1[] = +static const union AnimCmd sAnim_GroudonPrimal_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_RAYQUAZA_MEGA_1[] = +static const union AnimCmd sAnim_RayquazaMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #if P_GEN_4_POKEMON == TRUE -static const union AnimCmd sAnim_LOPUNNY_MEGA_1[] = +static const union AnimCmd sAnim_LopunnyMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GARCHOMP_MEGA_1[] = +static const union AnimCmd sAnim_GarchompMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LUCARIO_MEGA_1[] = +static const union AnimCmd sAnim_LucarioMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ABOMASNOW_MEGA_1[] = +static const union AnimCmd sAnim_AbomasnowMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GALLADE_MEGA_1[] = +static const union AnimCmd sAnim_GalladeMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #endif #if P_GEN_5_POKEMON == TRUE -static const union AnimCmd sAnim_AUDINO_MEGA_1[] = +static const union AnimCmd sAnim_AudinoMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #endif #if P_GEN_6_POKEMON == TRUE -static const union AnimCmd sAnim_DIANCIE_MEGA_1[] = +static const union AnimCmd sAnim_DiancieMega_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #endif -static const union AnimCmd sAnim_RATTATA_ALOLAN_1[] = +static const union AnimCmd sAnim_RattataAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_RATICATE_ALOLAN_1[] = +static const union AnimCmd sAnim_RaticateAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_RAICHU_ALOLAN_1[] = +static const union AnimCmd sAnim_RaichuAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SANDSHREW_ALOLAN_1[] = +static const union AnimCmd sAnim_SandshrewAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SANDSLASH_ALOLAN_1[] = +static const union AnimCmd sAnim_SandslashAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_VULPIX_ALOLAN_1[] = +static const union AnimCmd sAnim_VulpixAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_NINETALES_ALOLAN_1[] = +static const union AnimCmd sAnim_NinetalesAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DIGLETT_ALOLAN_1[] = +static const union AnimCmd sAnim_DiglettAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DUGTRIO_ALOLAN_1[] = +static const union AnimCmd sAnim_DugtrioAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MEOWTH_ALOLAN_1[] = +static const union AnimCmd sAnim_MeowthAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PERSIAN_ALOLAN_1[] = +static const union AnimCmd sAnim_PersianAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GEODUDE_ALOLAN_1[] = +static const union AnimCmd sAnim_GeodudeAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GRAVELER_ALOLAN_1[] = +static const union AnimCmd sAnim_GravelerAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GOLEM_ALOLAN_1[] = +static const union AnimCmd sAnim_GolemAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GRIMER_ALOLAN_1[] = +static const union AnimCmd sAnim_GrimerAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MUK_ALOLAN_1[] = +static const union AnimCmd sAnim_MukAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_EXEGGUTOR_ALOLAN_1[] = +static const union AnimCmd sAnim_ExeggutorAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MAROWAK_ALOLAN_1[] = +static const union AnimCmd sAnim_MarowakAlolan_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MEOWTH_GALARIAN_1[] = +static const union AnimCmd sAnim_MeowthGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PONYTA_GALARIAN_1[] = +static const union AnimCmd sAnim_PonytaGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_RAPIDASH_GALARIAN_1[] = +static const union AnimCmd sAnim_RapidashGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SLOWPOKE_GALARIAN_1[] = +static const union AnimCmd sAnim_SlowpokeGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SLOWBRO_GALARIAN_1[] = +static const union AnimCmd sAnim_SlowbroGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_FARFETCHD_GALARIAN_1[] = +static const union AnimCmd sAnim_FarfetchdGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_WEEZING_GALARIAN_1[] = +static const union AnimCmd sAnim_WeezingGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MR_MIME_GALARIAN_1[] = +static const union AnimCmd sAnim_MrMimeGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ARTICUNO_GALARIAN_1[] = +static const union AnimCmd sAnim_ArticunoGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ZAPDOS_GALARIAN_1[] = +static const union AnimCmd sAnim_ZapdosGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MOLTRES_GALARIAN_1[] = +static const union AnimCmd sAnim_MoltresGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SLOWKING_GALARIAN_1[] = +static const union AnimCmd sAnim_SlowkingGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_CORSOLA_GALARIAN_1[] = +static const union AnimCmd sAnim_CorsolaGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ZIGZAGOON_GALARIAN_1[] = +static const union AnimCmd sAnim_ZigzagoonGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LINOONE_GALARIAN_1[] = +static const union AnimCmd sAnim_LinooneGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #if P_GEN_5_POKEMON == TRUE -static const union AnimCmd sAnim_DARUMAKA_GALARIAN_1[] = +static const union AnimCmd sAnim_DarumakaGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DARMANITAN_GALARIAN_1[] = +static const union AnimCmd sAnim_DarmanitanGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_YAMASK_GALARIAN_1[] = +static const union AnimCmd sAnim_YamaskGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_STUNFISK_GALARIAN_1[] = +static const union AnimCmd sAnim_StunfiskGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #endif -static const union AnimCmd sAnim_GROWLITHE_HISUIAN_1[] = +static const union AnimCmd sAnim_GrowlitheHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ARCANINE_HISUIAN_1[] = +static const union AnimCmd sAnim_ArcanineHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_VOLTORB_HISUIAN_1[] = +static const union AnimCmd sAnim_VoltorbHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ELECTRODE_HISUIAN_1[] = +static const union AnimCmd sAnim_ElectrodeHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TYPHLOSION_HISUIAN_1[] = +static const union AnimCmd sAnim_TyphlosionHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_QWILFISH_HISUIAN_1[] = +static const union AnimCmd sAnim_QwilfishHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_SNEASEL_HISUIAN_1[] = +static const union AnimCmd sAnim_SneaselHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #if P_GEN_5_POKEMON == TRUE -static const union AnimCmd sAnim_SAMUROTT_HISUIAN_1[] = +static const union AnimCmd sAnim_SamurottHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LILLIGANT_HISUIAN_1[] = +static const union AnimCmd sAnim_LilligantHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ZORUA_HISUIAN_1[] = +static const union AnimCmd sAnim_ZoruaHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_ZOROARK_HISUIAN_1[] = +static const union AnimCmd sAnim_ZoroarkHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_BRAVIARY_HISUIAN_1[] = +static const union AnimCmd sAnim_BraviaryHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #endif #if P_GEN_6_POKEMON == TRUE -static const union AnimCmd sAnim_SLIGGOO_HISUIAN_1[] = +static const union AnimCmd sAnim_SliggooHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GOODRA_HISUIAN_1[] = +static const union AnimCmd sAnim_GoodraHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_AVALUGG_HISUIAN_1[] = +static const union AnimCmd sAnim_AvaluggHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #endif #if P_GEN_7_POKEMON == TRUE -static const union AnimCmd sAnim_DECIDUEYE_HISUIAN_1[] = +static const union AnimCmd sAnim_DecidueyeHisuian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #endif -static const union AnimCmd sAnim_PIKACHU_COSPLAY_1[] = +static const union AnimCmd sAnim_PikachuCosplay_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_ROCK_STAR_1[] = +static const union AnimCmd sAnim_PikachuRockStar_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_BELLE_1[] = +static const union AnimCmd sAnim_PikachuBelle_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_POP_STAR_1[] = +static const union AnimCmd sAnim_PikachuPopStar_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, @@ -10171,66 +10171,66 @@ static const union AnimCmd sAnim_PIKACHU_PH_D_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_LIBRE_1[] = +static const union AnimCmd sAnim_PikachuLibre_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_ORIGINAL_CAP_1[] = +static const union AnimCmd sAnim_PikachuOriginalCap_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_HOENN_CAP_1[] = +static const union AnimCmd sAnim_PikachuHoennCap_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_SINNOH_CAP_1[] = +static const union AnimCmd sAnim_PikachuSinnohCap_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_UNOVA_CAP_1[] = +static const union AnimCmd sAnim_PikachuUnovaCap_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_KALOS_CAP_1[] = +static const union AnimCmd sAnim_PikachuKalosCap_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_ALOLA_CAP_1[] = +static const union AnimCmd sAnim_PikachuAlolaCap_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_PARTNER_CAP_1[] = +static const union AnimCmd sAnim_PikachuPartnerCap_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PIKACHU_WORLD_CAP_1[] = +static const union AnimCmd sAnim_PikachuWorldCap_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PICHU_SPIKY_EARED_1[] = +static const union AnimCmd sAnim_PichuSpikyEared_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_DEOXYS_ATTACK_1[] = +static const union AnimCmd sAnim_DeoxysAttack_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -10240,7 +10240,7 @@ static const union AnimCmd sAnim_DEOXYS_ATTACK_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DEOXYS_ATTACK_2[] = +static const union AnimCmd sAnim_DeoxysAttack_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -10249,7 +10249,7 @@ static const union AnimCmd sAnim_DEOXYS_ATTACK_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DEOXYS_DEFENSE_1[] = +static const union AnimCmd sAnim_DeoxysDefense_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -10259,7 +10259,7 @@ static const union AnimCmd sAnim_DEOXYS_DEFENSE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DEOXYS_DEFENSE_2[] = +static const union AnimCmd sAnim_DeoxysDefense_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -10268,7 +10268,7 @@ static const union AnimCmd sAnim_DEOXYS_DEFENSE_2[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DEOXYS_SPEED_1[] = +static const union AnimCmd sAnim_DeoxysSpeed_1[] = { ANIMCMD_FRAME(0, 16), ANIMCMD_FRAME(1, 16), @@ -10278,7 +10278,7 @@ static const union AnimCmd sAnim_DEOXYS_SPEED_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DEOXYS_SPEED_2[] = +static const union AnimCmd sAnim_DeoxysSpeed_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -10288,7 +10288,7 @@ static const union AnimCmd sAnim_DEOXYS_SPEED_2[] = }; #if P_GEN_4_POKEMON == TRUE -static const union AnimCmd sAnim_SHAYMIN_SKY_1[] = +static const union AnimCmd sAnim_ShayminSky_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 36), @@ -10296,19 +10296,19 @@ static const union AnimCmd sAnim_SHAYMIN_SKY_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_DIALGA_ORIGIN_1[] = +static const union AnimCmd sAnim_DialgaOrigin_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_PALKIA_ORIGIN_1[] = +static const union AnimCmd sAnim_PalkiaOrigin_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_GIRATINA_ORIGIN_1[] = +static const union AnimCmd sAnim_GiratinaOrigin_1[] = { ANIMCMD_FRAME(0, 11), ANIMCMD_FRAME(1, 10), @@ -10318,7 +10318,7 @@ static const union AnimCmd sAnim_GIRATINA_ORIGIN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_GIRATINA_ORIGIN_2[] = +static const union AnimCmd sAnim_GiratinaOrigin_2[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(2, 20), @@ -10328,20 +10328,20 @@ static const union AnimCmd sAnim_GIRATINA_ORIGIN_2[] = }; #endif #if P_GEN_5_POKEMON == TRUE -static const union AnimCmd sAnim_DARMANITAN_ZEN_MODE_1[] = +static const union AnimCmd sAnim_DarmanitanZenMode_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 20), ANIMCMD_END, }; -static const union AnimCmd sAnim_DARMANITAN_ZEN_MODE_GALARIAN_1[] = +static const union AnimCmd sAnim_DarmanitanZenModeGalarian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_TORNADUS_THERIAN_1[] = +static const union AnimCmd sAnim_TornadusTherian_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 10), @@ -10351,7 +10351,7 @@ static const union AnimCmd sAnim_TORNADUS_THERIAN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_THUNDURUS_THERIAN_1[] = +static const union AnimCmd sAnim_ThundurusTherian_1[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(1, 5), @@ -10372,7 +10372,7 @@ static const union AnimCmd sAnim_THUNDURUS_THERIAN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_LANDORUS_THERIAN_1[] = +static const union AnimCmd sAnim_LandorusTherian_1[] = { ANIMCMD_FRAME(0, 15), ANIMCMD_FRAME(1, 15), @@ -10382,21 +10382,21 @@ static const union AnimCmd sAnim_LANDORUS_THERIAN_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_KYUREM_BLACK_1[] = +static const union AnimCmd sAnim_KyuremBlack_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_KYUREM_WHITE_1[] = +static const union AnimCmd sAnim_KyuremWhite_1[] = { ANIMCMD_FRAME(1, 40), ANIMCMD_FRAME(0, 5), ANIMCMD_END, }; -static const union AnimCmd sAnim_KELDEO_RESOLUTE_1[] = +static const union AnimCmd sAnim_KeldeoResolute_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_FRAME(1, 36), @@ -10404,7 +10404,7 @@ static const union AnimCmd sAnim_KELDEO_RESOLUTE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_MELOETTA_PIROUETTE_1[] = +static const union AnimCmd sAnim_MeloettaPirouette_1[] = { ANIMCMD_FRAME(1, 15), ANIMCMD_FRAME(0, 15), @@ -10416,7 +10416,7 @@ static const union AnimCmd sAnim_MELOETTA_PIROUETTE_1[] = }; #endif #if P_GEN_6_POKEMON == TRUE -static const union AnimCmd sAnim_AEGISLASH_BLADE_1[] = +static const union AnimCmd sAnim_AegislashBlade_1[] = { ANIMCMD_FRAME(0, 18), ANIMCMD_FRAME(1, 18), @@ -10426,7 +10426,7 @@ static const union AnimCmd sAnim_AEGISLASH_BLADE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ZYGARDE_10_1[] = +static const union AnimCmd sAnim_Zygarde10_1[] = { ANIMCMD_FRAME(0, 20), ANIMCMD_FRAME(1, 10), @@ -10434,7 +10434,7 @@ static const union AnimCmd sAnim_ZYGARDE_10_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_ZYGARDE_COMPLETE_1[] = +static const union AnimCmd sAnim_ZygardeComplete_1[] = { ANIMCMD_FRAME(0, 12), ANIMCMD_FRAME(1, 45), @@ -10442,7 +10442,7 @@ static const union AnimCmd sAnim_ZYGARDE_COMPLETE_1[] = ANIMCMD_END, }; -static const union AnimCmd sAnim_HOOPA_UNBOUND_1[] = +static const union AnimCmd sAnim_HoopaUnbound_1[] = { ANIMCMD_FRAME(1, 20), ANIMCMD_FRAME(0, 10), @@ -10450,38 +10450,38 @@ static const union AnimCmd sAnim_HOOPA_UNBOUND_1[] = }; #endif #if P_GEN_7_POKEMON == TRUE -static const union AnimCmd sAnim_MINIOR_CORE_1[] = +static const union AnimCmd sAnim_MiniorCore_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_WISHIWASHI_SCHOOL_1[] = +static const union AnimCmd sAnim_WishiwashiSchool_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_MIMIKYU_BUSTED_1[] = +static const union AnimCmd sAnim_MimikyuBusted_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LYCANROC_MIDNIGHT_1[] = +static const union AnimCmd sAnim_LycanrocMidnight_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; -static const union AnimCmd sAnim_LYCANROC_DUSK_1[] = +static const union AnimCmd sAnim_LycanrocDusk_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, }; #endif #if P_GEN_8_POKEMON == TRUE -static const union AnimCmd sAnim_ENAMORUS_THERIAN_1[] = +static const union AnimCmd sAnim_EnamorusTherian_1[] = { ANIMCMD_FRAME(0, 1), ANIMCMD_END, @@ -10933,730 +10933,710 @@ SINGLE_ANIMATION(UnownZ); SINGLE_ANIMATION(UnownEMark); SINGLE_ANIMATION(UnownQMark); #if P_GEN_4_POKEMON == TRUE -SINGLE_ANIMATION(TURTWIG); -SINGLE_ANIMATION(GROTLE); -SINGLE_ANIMATION(TORTERRA); -SINGLE_ANIMATION(CHIMCHAR); -SINGLE_ANIMATION(MONFERNO); -SINGLE_ANIMATION(INFERNAPE); -SINGLE_ANIMATION(PIPLUP); -SINGLE_ANIMATION(PRINPLUP); -SINGLE_ANIMATION(EMPOLEON); -SINGLE_ANIMATION(STARLY); -SINGLE_ANIMATION(STARAVIA); -SINGLE_ANIMATION(STARAPTOR); -SINGLE_ANIMATION(BIDOOF); -DOUBLE_ANIMATION(BIBAREL); -SINGLE_ANIMATION(KRICKETOT); -SINGLE_ANIMATION(KRICKETUNE); -SINGLE_ANIMATION(SHINX); -SINGLE_ANIMATION(LUXIO); -DOUBLE_ANIMATION(LUXRAY); -SINGLE_ANIMATION(BUDEW); -SINGLE_ANIMATION(ROSERADE); -SINGLE_ANIMATION(CRANIDOS); -SINGLE_ANIMATION(RAMPARDOS); -SINGLE_ANIMATION(SHIELDON); -SINGLE_ANIMATION(BASTIODON); -SINGLE_ANIMATION(BURMY); -SINGLE_ANIMATION(WORMADAM); -SINGLE_ANIMATION(MOTHIM); -SINGLE_ANIMATION(COMBEE); -SINGLE_ANIMATION(VESPIQUEN); -SINGLE_ANIMATION(PACHIRISU); -SINGLE_ANIMATION(BUIZEL); -SINGLE_ANIMATION(FLOATZEL); -SINGLE_ANIMATION(CHERUBI); -static const union AnimCmd *const sAnims_CHERRIM[] = -{ - sAnim_GeneralFrame0, - sAnim_CHERRIM_NORMAL, - sAnim_CHERRIM_NORMAL_2, -}; - -static const union AnimCmd *const sAnims_CHERRIM_SUNSHINE[] ={ - sAnim_GeneralFrame0, - sAnim_CHERRIM_SUNSHINE, -}; - -SINGLE_ANIMATION(SHELLOS); -SINGLE_ANIMATION(GASTRODON); -SINGLE_ANIMATION(AMBIPOM); -SINGLE_ANIMATION(DRIFLOON); -SINGLE_ANIMATION(DRIFBLIM); -SINGLE_ANIMATION(BUNEARY); -SINGLE_ANIMATION(LOPUNNY); -SINGLE_ANIMATION(MISMAGIUS); -SINGLE_ANIMATION(HONCHKROW); -SINGLE_ANIMATION(GLAMEOW); -SINGLE_ANIMATION(PURUGLY); -SINGLE_ANIMATION(CHINGLING); -SINGLE_ANIMATION(STUNKY); -SINGLE_ANIMATION(SKUNTANK); -SINGLE_ANIMATION(BRONZOR); -DOUBLE_ANIMATION(BRONZONG); -SINGLE_ANIMATION(BONSLY); -SINGLE_ANIMATION(MIME_JR); -SINGLE_ANIMATION(HAPPINY); -SINGLE_ANIMATION(CHATOT); -SINGLE_ANIMATION(SPIRITOMB); -SINGLE_ANIMATION(GIBLE); -SINGLE_ANIMATION(GABITE); -SINGLE_ANIMATION(GARCHOMP); -SINGLE_ANIMATION(MUNCHLAX); -SINGLE_ANIMATION(RIOLU); -SINGLE_ANIMATION(LUCARIO); -SINGLE_ANIMATION(HIPPOPOTAS); -SINGLE_ANIMATION(HIPPOWDON); -SINGLE_ANIMATION(SKORUPI); -SINGLE_ANIMATION(DRAPION); -SINGLE_ANIMATION(CROAGUNK); -SINGLE_ANIMATION(TOXICROAK); -SINGLE_ANIMATION(CARNIVINE); -SINGLE_ANIMATION(FINNEON); -SINGLE_ANIMATION(LUMINEON); -SINGLE_ANIMATION(MANTYKE); -SINGLE_ANIMATION(SNOVER); -SINGLE_ANIMATION(ABOMASNOW); -SINGLE_ANIMATION(WEAVILE); -SINGLE_ANIMATION(MAGNEZONE); -SINGLE_ANIMATION(LICKILICKY); -SINGLE_ANIMATION(RHYPERIOR); -SINGLE_ANIMATION(TANGROWTH); -SINGLE_ANIMATION(ELECTIVIRE); -SINGLE_ANIMATION(MAGMORTAR); -SINGLE_ANIMATION(TOGEKISS); -SINGLE_ANIMATION(YANMEGA); -SINGLE_ANIMATION(LEAFEON); -SINGLE_ANIMATION(GLACEON); -SINGLE_ANIMATION(GLISCOR); -SINGLE_ANIMATION(MAMOSWINE); +SINGLE_ANIMATION(Turtwig); +SINGLE_ANIMATION(Grotle); +SINGLE_ANIMATION(Torterra); +SINGLE_ANIMATION(Chimchar); +SINGLE_ANIMATION(Monferno); +SINGLE_ANIMATION(Infernape); +SINGLE_ANIMATION(Piplup); +SINGLE_ANIMATION(Prinplup); +SINGLE_ANIMATION(Empoleon); +SINGLE_ANIMATION(Starly); +SINGLE_ANIMATION(Staravia); +SINGLE_ANIMATION(Staraptor); +SINGLE_ANIMATION(Bidoof); +DOUBLE_ANIMATION(Bibarel); +SINGLE_ANIMATION(Kricketot); +SINGLE_ANIMATION(Kricketune); +SINGLE_ANIMATION(Shinx); +SINGLE_ANIMATION(Luxio); +DOUBLE_ANIMATION(Luxray); +SINGLE_ANIMATION(Budew); +SINGLE_ANIMATION(Roserade); +SINGLE_ANIMATION(Cranidos); +SINGLE_ANIMATION(Rampardos); +SINGLE_ANIMATION(Shieldon); +SINGLE_ANIMATION(Bastiodon); +SINGLE_ANIMATION(Burmy); +SINGLE_ANIMATION(Wormadam); +SINGLE_ANIMATION(Mothim); +SINGLE_ANIMATION(Combee); +SINGLE_ANIMATION(Vespiquen); +SINGLE_ANIMATION(Pachirisu); +SINGLE_ANIMATION(Buizel); +SINGLE_ANIMATION(Floatzel); +SINGLE_ANIMATION(Cherubi); +DOUBLE_ANIMATION(CherrimOvercast); +SINGLE_ANIMATION(CherrimSunshine); +SINGLE_ANIMATION(Shellos); +SINGLE_ANIMATION(Gastrodon); +SINGLE_ANIMATION(Ambipom); +SINGLE_ANIMATION(Drifloon); +SINGLE_ANIMATION(Drifblim); +SINGLE_ANIMATION(Buneary); +SINGLE_ANIMATION(Lopunny); +SINGLE_ANIMATION(Mismagius); +SINGLE_ANIMATION(Honchkrow); +SINGLE_ANIMATION(Glameow); +SINGLE_ANIMATION(Purugly); +SINGLE_ANIMATION(Chingling); +SINGLE_ANIMATION(Stunky); +SINGLE_ANIMATION(Skuntank); +SINGLE_ANIMATION(Bronzor); +DOUBLE_ANIMATION(Bronzong); +SINGLE_ANIMATION(Bonsly); +SINGLE_ANIMATION(MimeJr); +SINGLE_ANIMATION(Happiny); +SINGLE_ANIMATION(Chatot); +SINGLE_ANIMATION(Spiritomb); +SINGLE_ANIMATION(Gible); +SINGLE_ANIMATION(Gabite); +SINGLE_ANIMATION(Garchomp); +SINGLE_ANIMATION(Munchlax); +SINGLE_ANIMATION(Riolu); +SINGLE_ANIMATION(Lucario); +SINGLE_ANIMATION(Hippopotas); +SINGLE_ANIMATION(Hippowdon); +SINGLE_ANIMATION(Skorupi); +SINGLE_ANIMATION(Drapion); +SINGLE_ANIMATION(Croagunk); +SINGLE_ANIMATION(Toxicroak); +SINGLE_ANIMATION(Carnivine); +SINGLE_ANIMATION(Finneon); +SINGLE_ANIMATION(Lumineon); +SINGLE_ANIMATION(Mantyke); +SINGLE_ANIMATION(Snover); +SINGLE_ANIMATION(Abomasnow); +SINGLE_ANIMATION(Weavile); +SINGLE_ANIMATION(Magnezone); +SINGLE_ANIMATION(Lickilicky); +SINGLE_ANIMATION(Rhyperior); +SINGLE_ANIMATION(Tangrowth); +SINGLE_ANIMATION(Electivire); +SINGLE_ANIMATION(Magmortar); +SINGLE_ANIMATION(Togekiss); +SINGLE_ANIMATION(Yanmega); +SINGLE_ANIMATION(Leafeon); +SINGLE_ANIMATION(Glaceon); +SINGLE_ANIMATION(Gliscor); +SINGLE_ANIMATION(Mamoswine); SINGLE_ANIMATION(PORYGON_Z); -SINGLE_ANIMATION(GALLADE); -DOUBLE_ANIMATION(PROBOPASS); -SINGLE_ANIMATION(DUSKNOIR); -SINGLE_ANIMATION(FROSLASS); -DOUBLE_ANIMATION(ROTOM); +SINGLE_ANIMATION(Gallade); +DOUBLE_ANIMATION(Probopass); +SINGLE_ANIMATION(Dusknoir); +SINGLE_ANIMATION(Froslass); +DOUBLE_ANIMATION(Rotom); SINGLE_ANIMATION(RotomHeat); SINGLE_ANIMATION(RotomFrost); SINGLE_ANIMATION(RotomFan); SINGLE_ANIMATION(RotomMow); SINGLE_ANIMATION(RotomWash); -SINGLE_ANIMATION(UXIE); -SINGLE_ANIMATION(MESPRIT); -SINGLE_ANIMATION(AZELF); -SINGLE_ANIMATION(DIALGA); -SINGLE_ANIMATION(PALKIA); -SINGLE_ANIMATION(HEATRAN); -SINGLE_ANIMATION(REGIGIGAS); -SINGLE_ANIMATION(GIRATINA); -SINGLE_ANIMATION(CRESSELIA); -SINGLE_ANIMATION(PHIONE); -SINGLE_ANIMATION(MANAPHY); -SINGLE_ANIMATION(DARKRAI); -SINGLE_ANIMATION(SHAYMIN); -SINGLE_ANIMATION(ARCEUS); +SINGLE_ANIMATION(Uxie); +SINGLE_ANIMATION(Mesprit); +SINGLE_ANIMATION(Azelf); +SINGLE_ANIMATION(Dialga); +SINGLE_ANIMATION(Palkia); +SINGLE_ANIMATION(Heatran); +SINGLE_ANIMATION(Regigigas); +SINGLE_ANIMATION(Giratina); +SINGLE_ANIMATION(Cresselia); +SINGLE_ANIMATION(Phione); +SINGLE_ANIMATION(Manaphy); +SINGLE_ANIMATION(Darkrai); +SINGLE_ANIMATION(Shaymin); +SINGLE_ANIMATION(Arceus); #endif #if P_GEN_5_POKEMON == TRUE -SINGLE_ANIMATION(VICTINI); -SINGLE_ANIMATION(SNIVY); -SINGLE_ANIMATION(SERVINE); -DOUBLE_ANIMATION(SERPERIOR); -SINGLE_ANIMATION(TEPIG); -SINGLE_ANIMATION(PIGNITE); -SINGLE_ANIMATION(EMBOAR); -SINGLE_ANIMATION(OSHAWOTT); -SINGLE_ANIMATION(DEWOTT); -SINGLE_ANIMATION(SAMUROTT); -SINGLE_ANIMATION(PATRAT); -SINGLE_ANIMATION(WATCHOG); -SINGLE_ANIMATION(LILLIPUP); -SINGLE_ANIMATION(HERDIER); -SINGLE_ANIMATION(STOUTLAND); -SINGLE_ANIMATION(PURRLOIN); -SINGLE_ANIMATION(LIEPARD); -SINGLE_ANIMATION(PANSAGE); -SINGLE_ANIMATION(SIMISAGE); -SINGLE_ANIMATION(PANSEAR); -DOUBLE_ANIMATION(SIMISEAR); -SINGLE_ANIMATION(PANPOUR); -SINGLE_ANIMATION(SIMIPOUR); -SINGLE_ANIMATION(MUNNA); -DOUBLE_ANIMATION(MUSHARNA); -SINGLE_ANIMATION(PIDOVE); -SINGLE_ANIMATION(TRANQUILL); -SINGLE_ANIMATION(UNFEZANT); -SINGLE_ANIMATION(BLITZLE); -SINGLE_ANIMATION(ZEBSTRIKA); -SINGLE_ANIMATION(ROGGENROLA); -SINGLE_ANIMATION(BOLDORE); -SINGLE_ANIMATION(GIGALITH); -SINGLE_ANIMATION(WOOBAT); -SINGLE_ANIMATION(SWOOBAT); -DOUBLE_ANIMATION(DRILBUR); -SINGLE_ANIMATION(EXCADRILL); -SINGLE_ANIMATION(AUDINO); -SINGLE_ANIMATION(TIMBURR); -SINGLE_ANIMATION(GURDURR); -SINGLE_ANIMATION(CONKELDURR); -SINGLE_ANIMATION(TYMPOLE); -SINGLE_ANIMATION(PALPITOAD); -SINGLE_ANIMATION(SEISMITOAD); -SINGLE_ANIMATION(THROH); -SINGLE_ANIMATION(SAWK); -DOUBLE_ANIMATION(SEWADDLE); -SINGLE_ANIMATION(SWADLOON); -SINGLE_ANIMATION(LEAVANNY); -SINGLE_ANIMATION(VENIPEDE); -SINGLE_ANIMATION(WHIRLIPEDE); -SINGLE_ANIMATION(SCOLIPEDE); -SINGLE_ANIMATION(COTTONEE); -SINGLE_ANIMATION(WHIMSICOTT); -SINGLE_ANIMATION(PETILIL); -SINGLE_ANIMATION(LILLIGANT); -SINGLE_ANIMATION(BASCULIN); -SINGLE_ANIMATION(SANDILE); -SINGLE_ANIMATION(KROKOROK); -DOUBLE_ANIMATION(KROOKODILE); -SINGLE_ANIMATION(DARUMAKA); -SINGLE_ANIMATION(DARMANITAN); -SINGLE_ANIMATION(MARACTUS); -SINGLE_ANIMATION(DWEBBLE); -SINGLE_ANIMATION(CRUSTLE); -SINGLE_ANIMATION(SCRAGGY); -SINGLE_ANIMATION(SCRAFTY); -SINGLE_ANIMATION(SIGILYPH); -SINGLE_ANIMATION(YAMASK); -SINGLE_ANIMATION(COFAGRIGUS); -SINGLE_ANIMATION(TIRTOUGA); -SINGLE_ANIMATION(CARRACOSTA); -SINGLE_ANIMATION(ARCHEN); -SINGLE_ANIMATION(ARCHEOPS); -SINGLE_ANIMATION(TRUBBISH); -SINGLE_ANIMATION(GARBODOR); -SINGLE_ANIMATION(ZORUA); -SINGLE_ANIMATION(ZOROARK); -SINGLE_ANIMATION(MINCCINO); -SINGLE_ANIMATION(CINCCINO); -SINGLE_ANIMATION(GOTHITA); -DOUBLE_ANIMATION(GOTHORITA); -SINGLE_ANIMATION(GOTHITELLE); -SINGLE_ANIMATION(SOLOSIS); -SINGLE_ANIMATION(DUOSION); -SINGLE_ANIMATION(REUNICLUS); -SINGLE_ANIMATION(DUCKLETT); -SINGLE_ANIMATION(SWANNA); -SINGLE_ANIMATION(VANILLITE); -SINGLE_ANIMATION(VANILLISH); -SINGLE_ANIMATION(VANILLUXE); -SINGLE_ANIMATION(DEERLING); -SINGLE_ANIMATION(SAWSBUCK); -SINGLE_ANIMATION(EMOLGA); -SINGLE_ANIMATION(KARRABLAST); -SINGLE_ANIMATION(ESCAVALIER); -DOUBLE_ANIMATION(FOONGUS); -SINGLE_ANIMATION(AMOONGUSS); -SINGLE_ANIMATION(FRILLISH); -SINGLE_ANIMATION(JELLICENT); -SINGLE_ANIMATION(ALOMOMOLA); -SINGLE_ANIMATION(JOLTIK); -SINGLE_ANIMATION(GALVANTULA); -SINGLE_ANIMATION(FERROSEED); -DOUBLE_ANIMATION(FERROTHORN); -SINGLE_ANIMATION(KLINK); -SINGLE_ANIMATION(KLANG); -SINGLE_ANIMATION(KLINKLANG); -SINGLE_ANIMATION(TYNAMO); -SINGLE_ANIMATION(EELEKTRIK); -SINGLE_ANIMATION(EELEKTROSS); -SINGLE_ANIMATION(ELGYEM); -SINGLE_ANIMATION(BEHEEYEM); -SINGLE_ANIMATION(LITWICK); -SINGLE_ANIMATION(LAMPENT); -SINGLE_ANIMATION(CHANDELURE); -SINGLE_ANIMATION(AXEW); -SINGLE_ANIMATION(FRAXURE); -SINGLE_ANIMATION(HAXORUS); -SINGLE_ANIMATION(CUBCHOO); -SINGLE_ANIMATION(BEARTIC); -DOUBLE_ANIMATION(CRYOGONAL); -SINGLE_ANIMATION(SHELMET); -SINGLE_ANIMATION(ACCELGOR); -SINGLE_ANIMATION(STUNFISK); -SINGLE_ANIMATION(MIENFOO); -SINGLE_ANIMATION(MIENSHAO); -SINGLE_ANIMATION(DRUDDIGON); -SINGLE_ANIMATION(GOLETT); -SINGLE_ANIMATION(GOLURK); -SINGLE_ANIMATION(PAWNIARD); -SINGLE_ANIMATION(BISHARP); -SINGLE_ANIMATION(BOUFFALANT); -SINGLE_ANIMATION(RUFFLET); -SINGLE_ANIMATION(BRAVIARY); -SINGLE_ANIMATION(VULLABY); -SINGLE_ANIMATION(MANDIBUZZ); -SINGLE_ANIMATION(HEATMOR); -SINGLE_ANIMATION(DURANT); -SINGLE_ANIMATION(DEINO); -SINGLE_ANIMATION(ZWEILOUS); -SINGLE_ANIMATION(HYDREIGON); -SINGLE_ANIMATION(LARVESTA); -SINGLE_ANIMATION(VOLCARONA); -SINGLE_ANIMATION(COBALION); -DOUBLE_ANIMATION(TERRAKION); -SINGLE_ANIMATION(VIRIZION); -SINGLE_ANIMATION(TORNADUS); -SINGLE_ANIMATION(THUNDURUS); -SINGLE_ANIMATION(RESHIRAM); -SINGLE_ANIMATION(ZEKROM); -SINGLE_ANIMATION(LANDORUS); -SINGLE_ANIMATION(KYUREM); -SINGLE_ANIMATION(KELDEO); -DOUBLE_ANIMATION(MELOETTA); -SINGLE_ANIMATION(GENESECT); +SINGLE_ANIMATION(Victini); +SINGLE_ANIMATION(Snivy); +SINGLE_ANIMATION(Servine); +DOUBLE_ANIMATION(Serperior); +SINGLE_ANIMATION(Tepig); +SINGLE_ANIMATION(Pignite); +SINGLE_ANIMATION(Emboar); +SINGLE_ANIMATION(Oshawott); +SINGLE_ANIMATION(Dewott); +SINGLE_ANIMATION(Samurott); +SINGLE_ANIMATION(Patrat); +SINGLE_ANIMATION(Watchog); +SINGLE_ANIMATION(Lillipup); +SINGLE_ANIMATION(Herdier); +SINGLE_ANIMATION(Stoutland); +SINGLE_ANIMATION(Purrloin); +SINGLE_ANIMATION(Liepard); +SINGLE_ANIMATION(Pansage); +SINGLE_ANIMATION(Simisage); +SINGLE_ANIMATION(Pansear); +DOUBLE_ANIMATION(Simisear); +SINGLE_ANIMATION(Panpour); +SINGLE_ANIMATION(Simipour); +SINGLE_ANIMATION(Munna); +DOUBLE_ANIMATION(Musharna); +SINGLE_ANIMATION(Pidove); +SINGLE_ANIMATION(Tranquill); +SINGLE_ANIMATION(Unfezant); +SINGLE_ANIMATION(Blitzle); +SINGLE_ANIMATION(Zebstrika); +SINGLE_ANIMATION(Roggenrola); +SINGLE_ANIMATION(Boldore); +SINGLE_ANIMATION(Gigalith); +SINGLE_ANIMATION(Woobat); +SINGLE_ANIMATION(Swoobat); +DOUBLE_ANIMATION(Drilbur); +SINGLE_ANIMATION(Excadrill); +SINGLE_ANIMATION(Audino); +SINGLE_ANIMATION(Timburr); +SINGLE_ANIMATION(Gurdurr); +SINGLE_ANIMATION(Conkeldurr); +SINGLE_ANIMATION(Tympole); +SINGLE_ANIMATION(Palpitoad); +SINGLE_ANIMATION(Seismitoad); +SINGLE_ANIMATION(Throh); +SINGLE_ANIMATION(Sawk); +DOUBLE_ANIMATION(Sewaddle); +SINGLE_ANIMATION(Swadloon); +SINGLE_ANIMATION(Leavanny); +SINGLE_ANIMATION(Venipede); +SINGLE_ANIMATION(Whirlipede); +SINGLE_ANIMATION(Scolipede); +SINGLE_ANIMATION(Cottonee); +SINGLE_ANIMATION(Whimsicott); +SINGLE_ANIMATION(Petilil); +SINGLE_ANIMATION(Lilligant); +SINGLE_ANIMATION(Basculin); +SINGLE_ANIMATION(Sandile); +SINGLE_ANIMATION(Krokorok); +DOUBLE_ANIMATION(Krookodile); +SINGLE_ANIMATION(Darumaka); +SINGLE_ANIMATION(Darmanitan); +SINGLE_ANIMATION(Maractus); +SINGLE_ANIMATION(Dwebble); +SINGLE_ANIMATION(Crustle); +SINGLE_ANIMATION(Scraggy); +SINGLE_ANIMATION(Scrafty); +SINGLE_ANIMATION(Sigilyph); +SINGLE_ANIMATION(Yamask); +SINGLE_ANIMATION(Cofagrigus); +SINGLE_ANIMATION(Tirtouga); +SINGLE_ANIMATION(Carracosta); +SINGLE_ANIMATION(Archen); +SINGLE_ANIMATION(Archeops); +SINGLE_ANIMATION(Trubbish); +SINGLE_ANIMATION(Garbodor); +SINGLE_ANIMATION(Zorua); +SINGLE_ANIMATION(Zoroark); +SINGLE_ANIMATION(Minccino); +SINGLE_ANIMATION(Cinccino); +SINGLE_ANIMATION(Gothita); +DOUBLE_ANIMATION(Gothorita); +SINGLE_ANIMATION(Gothitelle); +SINGLE_ANIMATION(Solosis); +SINGLE_ANIMATION(Duosion); +SINGLE_ANIMATION(Reuniclus); +SINGLE_ANIMATION(Ducklett); +SINGLE_ANIMATION(Swanna); +SINGLE_ANIMATION(Vanillite); +SINGLE_ANIMATION(Vanillish); +SINGLE_ANIMATION(Vanilluxe); +SINGLE_ANIMATION(Deerling); +SINGLE_ANIMATION(Sawsbuck); +SINGLE_ANIMATION(Emolga); +SINGLE_ANIMATION(Karrablast); +SINGLE_ANIMATION(Escavalier); +DOUBLE_ANIMATION(Foongus); +SINGLE_ANIMATION(Amoonguss); +SINGLE_ANIMATION(Frillish); +SINGLE_ANIMATION(Jellicent); +SINGLE_ANIMATION(Alomomola); +SINGLE_ANIMATION(Joltik); +SINGLE_ANIMATION(Galvantula); +SINGLE_ANIMATION(Ferroseed); +DOUBLE_ANIMATION(Ferrothorn); +SINGLE_ANIMATION(Klink); +SINGLE_ANIMATION(Klang); +SINGLE_ANIMATION(Klinklang); +SINGLE_ANIMATION(Tynamo); +SINGLE_ANIMATION(Eelektrik); +SINGLE_ANIMATION(Eelektross); +SINGLE_ANIMATION(Elgyem); +SINGLE_ANIMATION(Beheeyem); +SINGLE_ANIMATION(Litwick); +SINGLE_ANIMATION(Lampent); +SINGLE_ANIMATION(Chandelure); +SINGLE_ANIMATION(Axew); +SINGLE_ANIMATION(Fraxure); +SINGLE_ANIMATION(Haxorus); +SINGLE_ANIMATION(Cubchoo); +SINGLE_ANIMATION(Beartic); +DOUBLE_ANIMATION(Cryogonal); +SINGLE_ANIMATION(Shelmet); +SINGLE_ANIMATION(Accelgor); +SINGLE_ANIMATION(Stunfisk); +SINGLE_ANIMATION(Mienfoo); +SINGLE_ANIMATION(Mienshao); +SINGLE_ANIMATION(Druddigon); +SINGLE_ANIMATION(Golett); +SINGLE_ANIMATION(Golurk); +SINGLE_ANIMATION(Pawniard); +SINGLE_ANIMATION(Bisharp); +SINGLE_ANIMATION(Bouffalant); +SINGLE_ANIMATION(Rufflet); +SINGLE_ANIMATION(Braviary); +SINGLE_ANIMATION(Vullaby); +SINGLE_ANIMATION(Mandibuzz); +SINGLE_ANIMATION(Heatmor); +SINGLE_ANIMATION(Durant); +SINGLE_ANIMATION(Deino); +SINGLE_ANIMATION(Zweilous); +SINGLE_ANIMATION(Hydreigon); +SINGLE_ANIMATION(Larvesta); +SINGLE_ANIMATION(Volcarona); +SINGLE_ANIMATION(Cobalion); +DOUBLE_ANIMATION(Terrakion); +SINGLE_ANIMATION(Virizion); +SINGLE_ANIMATION(Tornadus); +SINGLE_ANIMATION(Thundurus); +SINGLE_ANIMATION(Reshiram); +SINGLE_ANIMATION(Zekrom); +SINGLE_ANIMATION(Landorus); +SINGLE_ANIMATION(Kyurem); +SINGLE_ANIMATION(Keldeo); +DOUBLE_ANIMATION(Meloetta); +SINGLE_ANIMATION(Genesect); #endif #if P_GEN_6_POKEMON == TRUE -SINGLE_ANIMATION(CHESPIN); -DOUBLE_ANIMATION(QUILLADIN); -SINGLE_ANIMATION(CHESNAUGHT); -SINGLE_ANIMATION(FENNEKIN); -SINGLE_ANIMATION(BRAIXEN); -SINGLE_ANIMATION(DELPHOX); -SINGLE_ANIMATION(FROAKIE); -SINGLE_ANIMATION(FROGADIER); -SINGLE_ANIMATION(GRENINJA); -static const union AnimCmd *const sAnims_GRENINJA_ASH[] ={ - sAnim_GeneralFrame0, - sAnim_GRENINJA_ASH_1, -}; - -SINGLE_ANIMATION(BUNNELBY); -SINGLE_ANIMATION(DIGGERSBY); -SINGLE_ANIMATION(FLETCHLING); -SINGLE_ANIMATION(FLETCHINDER); -DOUBLE_ANIMATION(TALONFLAME); -SINGLE_ANIMATION(SCATTERBUG); -SINGLE_ANIMATION(SPEWPA); -SINGLE_ANIMATION(VIVILLON); -SINGLE_ANIMATION(LITLEO); -SINGLE_ANIMATION(PYROAR); -DOUBLE_ANIMATION(FLABEBE); -SINGLE_ANIMATION(FLOETTE); -DOUBLE_ANIMATION(FLORGES); -SINGLE_ANIMATION(SKIDDO); -SINGLE_ANIMATION(GOGOAT); -SINGLE_ANIMATION(PANCHAM); -SINGLE_ANIMATION(PANGORO); -SINGLE_ANIMATION(FURFROU); -SINGLE_ANIMATION(ESPURR); -SINGLE_ANIMATION(MEOWSTIC); -SINGLE_ANIMATION(HONEDGE); -DOUBLE_ANIMATION(DOUBLADE); -SINGLE_ANIMATION(AEGISLASH); -SINGLE_ANIMATION(SPRITZEE); -SINGLE_ANIMATION(AROMATISSE); -SINGLE_ANIMATION(SWIRLIX); -SINGLE_ANIMATION(SLURPUFF); -SINGLE_ANIMATION(INKAY); -SINGLE_ANIMATION(MALAMAR); -SINGLE_ANIMATION(BINACLE); -SINGLE_ANIMATION(BARBARACLE); -SINGLE_ANIMATION(SKRELP); -SINGLE_ANIMATION(DRAGALGE); -SINGLE_ANIMATION(CLAUNCHER); -SINGLE_ANIMATION(CLAWITZER); -SINGLE_ANIMATION(HELIOPTILE); -SINGLE_ANIMATION(HELIOLISK); -SINGLE_ANIMATION(TYRUNT); -SINGLE_ANIMATION(TYRANTRUM); -SINGLE_ANIMATION(AMAURA); -SINGLE_ANIMATION(AURORUS); -SINGLE_ANIMATION(SYLVEON); -SINGLE_ANIMATION(HAWLUCHA); -SINGLE_ANIMATION(DEDENNE); -SINGLE_ANIMATION(CARBINK); -SINGLE_ANIMATION(GOOMY); -SINGLE_ANIMATION(SLIGGOO); -SINGLE_ANIMATION(GOODRA); -SINGLE_ANIMATION(KLEFKI); -SINGLE_ANIMATION(PHANTUMP); -SINGLE_ANIMATION(TREVENANT); -SINGLE_ANIMATION(PUMPKABOO); -SINGLE_ANIMATION(GOURGEIST); -DOUBLE_ANIMATION(BERGMITE); -SINGLE_ANIMATION(AVALUGG); -SINGLE_ANIMATION(NOIBAT); -SINGLE_ANIMATION(NOIVERN); -SINGLE_ANIMATION(XERNEAS); -SINGLE_ANIMATION(YVELTAL); -SINGLE_ANIMATION(ZYGARDE); -SINGLE_ANIMATION(DIANCIE); -SINGLE_ANIMATION(HOOPA); -SINGLE_ANIMATION(VOLCANION); +SINGLE_ANIMATION(Chespin); +DOUBLE_ANIMATION(Quilladin); +SINGLE_ANIMATION(Chesnaught); +SINGLE_ANIMATION(Fennekin); +SINGLE_ANIMATION(Braixen); +SINGLE_ANIMATION(Delphox); +SINGLE_ANIMATION(Froakie); +SINGLE_ANIMATION(Frogadier); +SINGLE_ANIMATION(Greninja); +SINGLE_ANIMATION(GreninjaAsh); +SINGLE_ANIMATION(Bunnelby); +SINGLE_ANIMATION(Diggersby); +SINGLE_ANIMATION(Fletchling); +SINGLE_ANIMATION(Fletchinder); +DOUBLE_ANIMATION(Talonflame); +SINGLE_ANIMATION(Scatterbug); +SINGLE_ANIMATION(Spewpa); +SINGLE_ANIMATION(Vivillon); +SINGLE_ANIMATION(Litleo); +SINGLE_ANIMATION(Pyroar); +DOUBLE_ANIMATION(Flabebe); +SINGLE_ANIMATION(Floette); +DOUBLE_ANIMATION(Florges); +SINGLE_ANIMATION(Skiddo); +SINGLE_ANIMATION(Gogoat); +SINGLE_ANIMATION(Pancham); +SINGLE_ANIMATION(Pangoro); +SINGLE_ANIMATION(Furfrou); +SINGLE_ANIMATION(Espurr); +SINGLE_ANIMATION(Meowstic); +SINGLE_ANIMATION(Honedge); +DOUBLE_ANIMATION(Doublade); +SINGLE_ANIMATION(Aegislash); +SINGLE_ANIMATION(Spritzee); +SINGLE_ANIMATION(Aromatisse); +SINGLE_ANIMATION(Swirlix); +SINGLE_ANIMATION(Slurpuff); +SINGLE_ANIMATION(Inkay); +SINGLE_ANIMATION(Malamar); +SINGLE_ANIMATION(Binacle); +SINGLE_ANIMATION(Barbaracle); +SINGLE_ANIMATION(Skrelp); +SINGLE_ANIMATION(Dragalge); +SINGLE_ANIMATION(Clauncher); +SINGLE_ANIMATION(Clawitzer); +SINGLE_ANIMATION(Helioptile); +SINGLE_ANIMATION(Heliolisk); +SINGLE_ANIMATION(Tyrunt); +SINGLE_ANIMATION(Tyrantrum); +SINGLE_ANIMATION(Amaura); +SINGLE_ANIMATION(Aurorus); +SINGLE_ANIMATION(Sylveon); +SINGLE_ANIMATION(Hawlucha); +SINGLE_ANIMATION(Dedenne); +SINGLE_ANIMATION(Carbink); +SINGLE_ANIMATION(Goomy); +SINGLE_ANIMATION(Sliggoo); +SINGLE_ANIMATION(Goodra); +SINGLE_ANIMATION(Klefki); +SINGLE_ANIMATION(Phantump); +SINGLE_ANIMATION(Trevenant); +SINGLE_ANIMATION(Pumpkaboo); +SINGLE_ANIMATION(Gourgeist); +DOUBLE_ANIMATION(Bergmite); +SINGLE_ANIMATION(Avalugg); +SINGLE_ANIMATION(Noibat); +SINGLE_ANIMATION(Noivern); +SINGLE_ANIMATION(Xerneas); +SINGLE_ANIMATION(Yveltal); +SINGLE_ANIMATION(Zygarde); +SINGLE_ANIMATION(Diancie); +SINGLE_ANIMATION(Hoopa); +SINGLE_ANIMATION(Volcanion); #endif #if P_GEN_7_POKEMON == TRUE -SINGLE_ANIMATION(ROWLET); -SINGLE_ANIMATION(DARTRIX); -SINGLE_ANIMATION(DECIDUEYE); -SINGLE_ANIMATION(LITTEN); -SINGLE_ANIMATION(TORRACAT); -SINGLE_ANIMATION(INCINEROAR); -SINGLE_ANIMATION(POPPLIO); -SINGLE_ANIMATION(BRIONNE); -SINGLE_ANIMATION(PRIMARINA); -SINGLE_ANIMATION(PIKIPEK); -SINGLE_ANIMATION(TRUMBEAK); -SINGLE_ANIMATION(TOUCANNON); -SINGLE_ANIMATION(YUNGOOS); -SINGLE_ANIMATION(GUMSHOOS); -SINGLE_ANIMATION(GRUBBIN); -SINGLE_ANIMATION(CHARJABUG); -SINGLE_ANIMATION(VIKAVOLT); -SINGLE_ANIMATION(CRABRAWLER); -SINGLE_ANIMATION(CRABOMINABLE); -SINGLE_ANIMATION(ORICORIO); -SINGLE_ANIMATION(CUTIEFLY); -SINGLE_ANIMATION(RIBOMBEE); -SINGLE_ANIMATION(ROCKRUFF); -SINGLE_ANIMATION(LYCANROC); -SINGLE_ANIMATION(WISHIWASHI); -SINGLE_ANIMATION(MAREANIE); -SINGLE_ANIMATION(TOXAPEX); -SINGLE_ANIMATION(MUDBRAY); -SINGLE_ANIMATION(MUDSDALE); -SINGLE_ANIMATION(DEWPIDER); -SINGLE_ANIMATION(ARAQUANID); -SINGLE_ANIMATION(FOMANTIS); -SINGLE_ANIMATION(LURANTIS); -SINGLE_ANIMATION(MORELULL); -SINGLE_ANIMATION(SHIINOTIC); -SINGLE_ANIMATION(SALANDIT); -SINGLE_ANIMATION(SALAZZLE); -SINGLE_ANIMATION(STUFFUL); -SINGLE_ANIMATION(BEWEAR); -SINGLE_ANIMATION(BOUNSWEET); -SINGLE_ANIMATION(STEENEE); -SINGLE_ANIMATION(TSAREENA); -SINGLE_ANIMATION(COMFEY); -SINGLE_ANIMATION(ORANGURU); -SINGLE_ANIMATION(PASSIMIAN); -SINGLE_ANIMATION(WIMPOD); -SINGLE_ANIMATION(GOLISOPOD); -SINGLE_ANIMATION(SANDYGAST); -SINGLE_ANIMATION(PALOSSAND); -SINGLE_ANIMATION(PYUKUMUKU); -SINGLE_ANIMATION(TYPE_NULL); -SINGLE_ANIMATION(SILVALLY); -SINGLE_ANIMATION(MINIOR); -SINGLE_ANIMATION(KOMALA); -SINGLE_ANIMATION(TURTONATOR); -SINGLE_ANIMATION(TOGEDEMARU); -SINGLE_ANIMATION(MIMIKYU); -SINGLE_ANIMATION(BRUXISH); -SINGLE_ANIMATION(DRAMPA); -SINGLE_ANIMATION(DHELMISE); +SINGLE_ANIMATION(Rowlet); +SINGLE_ANIMATION(Dartrix); +SINGLE_ANIMATION(Decidueye); +SINGLE_ANIMATION(Litten); +SINGLE_ANIMATION(Torracat); +SINGLE_ANIMATION(Incineroar); +SINGLE_ANIMATION(Popplio); +SINGLE_ANIMATION(Brionne); +SINGLE_ANIMATION(Primarina); +SINGLE_ANIMATION(Pikipek); +SINGLE_ANIMATION(Trumbeak); +SINGLE_ANIMATION(Toucannon); +SINGLE_ANIMATION(Yungoos); +SINGLE_ANIMATION(Gumshoos); +SINGLE_ANIMATION(Grubbin); +SINGLE_ANIMATION(Charjabug); +SINGLE_ANIMATION(Vikavolt); +SINGLE_ANIMATION(Crabrawler); +SINGLE_ANIMATION(Crabominable); +SINGLE_ANIMATION(Oricorio); +SINGLE_ANIMATION(Cutiefly); +SINGLE_ANIMATION(Ribombee); +SINGLE_ANIMATION(Rockruff); +SINGLE_ANIMATION(Lycanroc); +SINGLE_ANIMATION(Wishiwashi); +SINGLE_ANIMATION(Mareanie); +SINGLE_ANIMATION(Toxapex); +SINGLE_ANIMATION(Mudbray); +SINGLE_ANIMATION(Mudsdale); +SINGLE_ANIMATION(Dewpider); +SINGLE_ANIMATION(Araquanid); +SINGLE_ANIMATION(Fomantis); +SINGLE_ANIMATION(Lurantis); +SINGLE_ANIMATION(Morelull); +SINGLE_ANIMATION(Shiinotic); +SINGLE_ANIMATION(Salandit); +SINGLE_ANIMATION(Salazzle); +SINGLE_ANIMATION(Stufful); +SINGLE_ANIMATION(Bewear); +SINGLE_ANIMATION(Bounsweet); +SINGLE_ANIMATION(Steenee); +SINGLE_ANIMATION(Tsareena); +SINGLE_ANIMATION(Comfey); +SINGLE_ANIMATION(Oranguru); +SINGLE_ANIMATION(Passimian); +SINGLE_ANIMATION(Wimpod); +SINGLE_ANIMATION(Golisopod); +SINGLE_ANIMATION(Sandygast); +SINGLE_ANIMATION(Palossand); +SINGLE_ANIMATION(Pyukumuku); +SINGLE_ANIMATION(TypeNull); +SINGLE_ANIMATION(Silvally); +SINGLE_ANIMATION(Minior); +SINGLE_ANIMATION(Komala); +SINGLE_ANIMATION(Turtonator); +SINGLE_ANIMATION(Togedemaru); +SINGLE_ANIMATION(Mimikyu); +SINGLE_ANIMATION(Bruxish); +SINGLE_ANIMATION(Drampa); +SINGLE_ANIMATION(Dhelmise); SINGLE_ANIMATION(JANGMO_O); SINGLE_ANIMATION(HAKAMO_O); SINGLE_ANIMATION(KOMMO_O); -SINGLE_ANIMATION(TAPU_KOKO); -SINGLE_ANIMATION(TAPU_LELE); -SINGLE_ANIMATION(TAPU_BULU); -SINGLE_ANIMATION(TAPU_FINI); -SINGLE_ANIMATION(COSMOG); -SINGLE_ANIMATION(COSMOEM); -SINGLE_ANIMATION(SOLGALEO); -SINGLE_ANIMATION(LUNALA); -SINGLE_ANIMATION(NIHILEGO); -SINGLE_ANIMATION(BUZZWOLE); -SINGLE_ANIMATION(PHEROMOSA); -SINGLE_ANIMATION(XURKITREE); -SINGLE_ANIMATION(CELESTEELA); -SINGLE_ANIMATION(KARTANA); -SINGLE_ANIMATION(GUZZLORD); -SINGLE_ANIMATION(NECROZMA); -SINGLE_ANIMATION(MAGEARNA); -SINGLE_ANIMATION(MARSHADOW); -SINGLE_ANIMATION(POIPOLE); -SINGLE_ANIMATION(NAGANADEL); -SINGLE_ANIMATION(STAKATAKA); -SINGLE_ANIMATION(BLACEPHALON); -SINGLE_ANIMATION(ZERAORA); -SINGLE_ANIMATION(MELTAN); -SINGLE_ANIMATION(MELMETAL); +SINGLE_ANIMATION(TapuKoko); +SINGLE_ANIMATION(TapuLele); +SINGLE_ANIMATION(TapuBulu); +SINGLE_ANIMATION(TapuFini); +SINGLE_ANIMATION(Cosmog); +SINGLE_ANIMATION(Cosmoem); +SINGLE_ANIMATION(Solgaleo); +SINGLE_ANIMATION(Lunala); +SINGLE_ANIMATION(Nihilego); +SINGLE_ANIMATION(Buzzwole); +SINGLE_ANIMATION(Pheromosa); +SINGLE_ANIMATION(Xurkitree); +SINGLE_ANIMATION(Celesteela); +SINGLE_ANIMATION(Kartana); +SINGLE_ANIMATION(Guzzlord); +SINGLE_ANIMATION(Necrozma); +SINGLE_ANIMATION(Magearna); +SINGLE_ANIMATION(Marshadow); +SINGLE_ANIMATION(Poipole); +SINGLE_ANIMATION(Naganadel); +SINGLE_ANIMATION(Stakataka); +SINGLE_ANIMATION(Blacephalon); +SINGLE_ANIMATION(Zeraora); +SINGLE_ANIMATION(Meltan); +SINGLE_ANIMATION(Melmetal); #endif #if P_GEN_8_POKEMON == TRUE -SINGLE_ANIMATION(GROOKEY); -SINGLE_ANIMATION(THWACKEY); -SINGLE_ANIMATION(RILLABOOM); -SINGLE_ANIMATION(SCORBUNNY); -SINGLE_ANIMATION(RABOOT); -SINGLE_ANIMATION(CINDERACE); -SINGLE_ANIMATION(SOBBLE); -SINGLE_ANIMATION(DRIZZILE); -SINGLE_ANIMATION(INTELEON); -SINGLE_ANIMATION(SKWOVET); -SINGLE_ANIMATION(GREEDENT); -SINGLE_ANIMATION(ROOKIDEE); -SINGLE_ANIMATION(CORVISQUIRE); -SINGLE_ANIMATION(CORVIKNIGHT); -SINGLE_ANIMATION(BLIPBUG); -SINGLE_ANIMATION(DOTTLER); -SINGLE_ANIMATION(ORBEETLE); -SINGLE_ANIMATION(NICKIT); -SINGLE_ANIMATION(THIEVUL); -SINGLE_ANIMATION(GOSSIFLEUR); -SINGLE_ANIMATION(ELDEGOSS); -SINGLE_ANIMATION(WOOLOO); -SINGLE_ANIMATION(DUBWOOL); -SINGLE_ANIMATION(CHEWTLE); -SINGLE_ANIMATION(DREDNAW); -SINGLE_ANIMATION(YAMPER); -SINGLE_ANIMATION(BOLTUND); -SINGLE_ANIMATION(ROLYCOLY); -SINGLE_ANIMATION(CARKOL); -SINGLE_ANIMATION(COALOSSAL); -SINGLE_ANIMATION(APPLIN); -SINGLE_ANIMATION(FLAPPLE); -SINGLE_ANIMATION(APPLETUN); -SINGLE_ANIMATION(SILICOBRA); -SINGLE_ANIMATION(SANDACONDA); -SINGLE_ANIMATION(CRAMORANT); -SINGLE_ANIMATION(ARROKUDA); -SINGLE_ANIMATION(BARRASKEWDA); -SINGLE_ANIMATION(TOXEL); -SINGLE_ANIMATION(TOXTRICITY); -SINGLE_ANIMATION(SIZZLIPEDE); -SINGLE_ANIMATION(CENTISKORCH); -SINGLE_ANIMATION(CLOBBOPUS); -SINGLE_ANIMATION(GRAPPLOCT); -SINGLE_ANIMATION(SINISTEA); -SINGLE_ANIMATION(POLTEAGEIST); -SINGLE_ANIMATION(HATENNA); -SINGLE_ANIMATION(HATTREM); -SINGLE_ANIMATION(HATTERENE); -SINGLE_ANIMATION(IMPIDIMP); -SINGLE_ANIMATION(MORGREM); -SINGLE_ANIMATION(GRIMMSNARL); -SINGLE_ANIMATION(OBSTAGOON); -SINGLE_ANIMATION(PERRSERKER); -SINGLE_ANIMATION(CURSOLA); -SINGLE_ANIMATION(SIRFETCHD); -SINGLE_ANIMATION(MR_RIME); -SINGLE_ANIMATION(RUNERIGUS); -SINGLE_ANIMATION(MILCERY); -SINGLE_ANIMATION(ALCREMIE); -SINGLE_ANIMATION(FALINKS); -SINGLE_ANIMATION(PINCURCHIN); -SINGLE_ANIMATION(SNOM); -SINGLE_ANIMATION(FROSMOTH); -SINGLE_ANIMATION(STONJOURNER); -SINGLE_ANIMATION(EISCUE); -SINGLE_ANIMATION(INDEEDEE); -SINGLE_ANIMATION(MORPEKO); -SINGLE_ANIMATION(CUFANT); -SINGLE_ANIMATION(COPPERAJAH); -SINGLE_ANIMATION(DRACOZOLT); -SINGLE_ANIMATION(ARCTOZOLT); -SINGLE_ANIMATION(DRACOVISH); -SINGLE_ANIMATION(ARCTOVISH); -SINGLE_ANIMATION(DURALUDON); -SINGLE_ANIMATION(DREEPY); -SINGLE_ANIMATION(DRAKLOAK); -SINGLE_ANIMATION(DRAGAPULT); -SINGLE_ANIMATION(ZACIAN); -SINGLE_ANIMATION(ZAMAZENTA); -SINGLE_ANIMATION(ETERNATUS); -SINGLE_ANIMATION(KUBFU); -SINGLE_ANIMATION(URSHIFU); -SINGLE_ANIMATION(ZARUDE); -SINGLE_ANIMATION(REGIELEKI); -SINGLE_ANIMATION(REGIDRAGO); -SINGLE_ANIMATION(GLASTRIER); -SINGLE_ANIMATION(SPECTRIER); -SINGLE_ANIMATION(CALYREX); -SINGLE_ANIMATION(WYRDEER); -SINGLE_ANIMATION(KLEAVOR); -SINGLE_ANIMATION(URSALUNA); -SINGLE_ANIMATION(BASCULEGION); -SINGLE_ANIMATION(SNEASLER); -SINGLE_ANIMATION(OVERQWIL); -SINGLE_ANIMATION(ENAMORUS); +SINGLE_ANIMATION(Grookey); +SINGLE_ANIMATION(Thwackey); +SINGLE_ANIMATION(Rillaboom); +SINGLE_ANIMATION(Scorbunny); +SINGLE_ANIMATION(Raboot); +SINGLE_ANIMATION(Cinderace); +SINGLE_ANIMATION(Sobble); +SINGLE_ANIMATION(Drizzile); +SINGLE_ANIMATION(Inteleon); +SINGLE_ANIMATION(Skwovet); +SINGLE_ANIMATION(Greedent); +SINGLE_ANIMATION(Rookidee); +SINGLE_ANIMATION(Corvisquire); +SINGLE_ANIMATION(Corviknight); +SINGLE_ANIMATION(Blipbug); +SINGLE_ANIMATION(Dottler); +SINGLE_ANIMATION(Orbeetle); +SINGLE_ANIMATION(Nickit); +SINGLE_ANIMATION(Thievul); +SINGLE_ANIMATION(Gossifleur); +SINGLE_ANIMATION(Eldegoss); +SINGLE_ANIMATION(Wooloo); +SINGLE_ANIMATION(Dubwool); +SINGLE_ANIMATION(Chewtle); +SINGLE_ANIMATION(Drednaw); +SINGLE_ANIMATION(Yamper); +SINGLE_ANIMATION(Boltund); +SINGLE_ANIMATION(Rolycoly); +SINGLE_ANIMATION(Carkol); +SINGLE_ANIMATION(Coalossal); +SINGLE_ANIMATION(Applin); +SINGLE_ANIMATION(Flapple); +SINGLE_ANIMATION(Appletun); +SINGLE_ANIMATION(Silicobra); +SINGLE_ANIMATION(Sandaconda); +SINGLE_ANIMATION(Cramorant); +SINGLE_ANIMATION(Arrokuda); +SINGLE_ANIMATION(Barraskewda); +SINGLE_ANIMATION(Toxel); +SINGLE_ANIMATION(Toxtricity); +SINGLE_ANIMATION(Sizzlipede); +SINGLE_ANIMATION(Centiskorch); +SINGLE_ANIMATION(Clobbopus); +SINGLE_ANIMATION(Grapploct); +SINGLE_ANIMATION(Sinistea); +SINGLE_ANIMATION(Polteageist); +SINGLE_ANIMATION(Hatenna); +SINGLE_ANIMATION(Hattrem); +SINGLE_ANIMATION(Hatterene); +SINGLE_ANIMATION(Impidimp); +SINGLE_ANIMATION(Morgrem); +SINGLE_ANIMATION(Grimmsnarl); +SINGLE_ANIMATION(Obstagoon); +SINGLE_ANIMATION(Perrserker); +SINGLE_ANIMATION(Cursola); +SINGLE_ANIMATION(Sirfetchd); +SINGLE_ANIMATION(MrRime); +SINGLE_ANIMATION(Runerigus); +SINGLE_ANIMATION(Milcery); +SINGLE_ANIMATION(Alcremie); +SINGLE_ANIMATION(Falinks); +SINGLE_ANIMATION(Pincurchin); +SINGLE_ANIMATION(Snom); +SINGLE_ANIMATION(Frosmoth); +SINGLE_ANIMATION(Stonjourner); +SINGLE_ANIMATION(Eiscue); +SINGLE_ANIMATION(Indeedee); +SINGLE_ANIMATION(Morpeko); +SINGLE_ANIMATION(Cufant); +SINGLE_ANIMATION(Copperajah); +SINGLE_ANIMATION(Dracozolt); +SINGLE_ANIMATION(Arctozolt); +SINGLE_ANIMATION(Dracovish); +SINGLE_ANIMATION(Arctovish); +SINGLE_ANIMATION(Duraludon); +SINGLE_ANIMATION(Dreepy); +SINGLE_ANIMATION(Drakloak); +SINGLE_ANIMATION(Dragapult); +SINGLE_ANIMATION(Zacian); +SINGLE_ANIMATION(Zamazenta); +SINGLE_ANIMATION(Eternatus); +SINGLE_ANIMATION(Kubfu); +SINGLE_ANIMATION(Urshifu); +SINGLE_ANIMATION(Zarude); +SINGLE_ANIMATION(Regieleki); +SINGLE_ANIMATION(Regidrago); +SINGLE_ANIMATION(Glastrier); +SINGLE_ANIMATION(Spectrier); +SINGLE_ANIMATION(Calyrex); +SINGLE_ANIMATION(Wyrdeer); +SINGLE_ANIMATION(Kleavor); +SINGLE_ANIMATION(Ursaluna); +SINGLE_ANIMATION(Basculegion); +SINGLE_ANIMATION(Sneasler); +SINGLE_ANIMATION(Overqwil); +SINGLE_ANIMATION(Enamorus); #endif -SINGLE_ANIMATION(VENUSAUR_MEGA); +SINGLE_ANIMATION(VenusaurMega); SINGLE_ANIMATION(CHARIZARD_MEGA_X); SINGLE_ANIMATION(CHARIZARD_MEGA_Y); -SINGLE_ANIMATION(BLASTOISE_MEGA); -SINGLE_ANIMATION(BEEDRILL_MEGA); -SINGLE_ANIMATION(PIDGEOT_MEGA); -SINGLE_ANIMATION(ALAKAZAM_MEGA); -SINGLE_ANIMATION(SLOWBRO_MEGA); -SINGLE_ANIMATION(GENGAR_MEGA); -SINGLE_ANIMATION(KANGASKHAN_MEGA); -SINGLE_ANIMATION(PINSIR_MEGA); -SINGLE_ANIMATION(GYARADOS_MEGA); -SINGLE_ANIMATION(AERODACTYL_MEGA); +SINGLE_ANIMATION(BlastoiseMega); +SINGLE_ANIMATION(BeedrillMega); +SINGLE_ANIMATION(PidgeotMega); +SINGLE_ANIMATION(AlakazamMega); +SINGLE_ANIMATION(SlowbroMega); +SINGLE_ANIMATION(GengarMega); +SINGLE_ANIMATION(KangaskhanMega); +SINGLE_ANIMATION(PinsirMega); +SINGLE_ANIMATION(GyaradosMega); +SINGLE_ANIMATION(AerodactylMega); SINGLE_ANIMATION(MEWTWO_MEGA_X); SINGLE_ANIMATION(MEWTWO_MEGA_Y); -SINGLE_ANIMATION(AMPHAROS_MEGA); -SINGLE_ANIMATION(STEELIX_MEGA); -SINGLE_ANIMATION(SCIZOR_MEGA); -SINGLE_ANIMATION(HERACROSS_MEGA); -SINGLE_ANIMATION(HOUNDOOM_MEGA); -SINGLE_ANIMATION(TYRANITAR_MEGA); -SINGLE_ANIMATION(SCEPTILE_MEGA); -SINGLE_ANIMATION(BLAZIKEN_MEGA); -SINGLE_ANIMATION(SWAMPERT_MEGA); -SINGLE_ANIMATION(GARDEVOIR_MEGA); -SINGLE_ANIMATION(SABLEYE_MEGA); -SINGLE_ANIMATION(MAWILE_MEGA); -SINGLE_ANIMATION(AGGRON_MEGA); -SINGLE_ANIMATION(MEDICHAM_MEGA); -SINGLE_ANIMATION(MANECTRIC_MEGA); -SINGLE_ANIMATION(SHARPEDO_MEGA); -SINGLE_ANIMATION(CAMERUPT_MEGA); -SINGLE_ANIMATION(ALTARIA_MEGA); -SINGLE_ANIMATION(BANETTE_MEGA); -SINGLE_ANIMATION(ABSOL_MEGA); -SINGLE_ANIMATION(GLALIE_MEGA); -SINGLE_ANIMATION(SALAMENCE_MEGA); -SINGLE_ANIMATION(METAGROSS_MEGA); -SINGLE_ANIMATION(LATIAS_MEGA); -SINGLE_ANIMATION(LATIOS_MEGA); -SINGLE_ANIMATION(KYOGRE_PRIMAL); -SINGLE_ANIMATION(GROUDON_PRIMAL); -SINGLE_ANIMATION(RAYQUAZA_MEGA); +SINGLE_ANIMATION(AmpharosMega); +SINGLE_ANIMATION(SteelixMega); +SINGLE_ANIMATION(ScizorMega); +SINGLE_ANIMATION(HeracrossMega); +SINGLE_ANIMATION(HoundoomMega); +SINGLE_ANIMATION(TyranitarMega); +SINGLE_ANIMATION(SceptileMega); +SINGLE_ANIMATION(BlazikenMega); +SINGLE_ANIMATION(SwampertMega); +SINGLE_ANIMATION(GardevoirMega); +SINGLE_ANIMATION(SableyeMega); +SINGLE_ANIMATION(MawileMega); +SINGLE_ANIMATION(AggronMega); +SINGLE_ANIMATION(MedichamMega); +SINGLE_ANIMATION(ManectricMega); +SINGLE_ANIMATION(SharpedoMega); +SINGLE_ANIMATION(CameruptMega); +SINGLE_ANIMATION(AltariaMega); +SINGLE_ANIMATION(BanetteMega); +SINGLE_ANIMATION(AbsolMega); +SINGLE_ANIMATION(GlalieMega); +SINGLE_ANIMATION(SalamenceMega); +SINGLE_ANIMATION(MetagrossMega); +SINGLE_ANIMATION(LatiasMega); +SINGLE_ANIMATION(LatiosMega); +SINGLE_ANIMATION(KyogrePrimal); +SINGLE_ANIMATION(GroudonPrimal); +SINGLE_ANIMATION(RayquazaMega); #if P_GEN_4_POKEMON == TRUE -SINGLE_ANIMATION(LOPUNNY_MEGA); -SINGLE_ANIMATION(GARCHOMP_MEGA); -SINGLE_ANIMATION(LUCARIO_MEGA); -SINGLE_ANIMATION(ABOMASNOW_MEGA); -SINGLE_ANIMATION(GALLADE_MEGA); +SINGLE_ANIMATION(LopunnyMega); +SINGLE_ANIMATION(GarchompMega); +SINGLE_ANIMATION(LucarioMega); +SINGLE_ANIMATION(AbomasnowMega); +SINGLE_ANIMATION(GalladeMega); #endif #if P_GEN_5_POKEMON == TRUE -SINGLE_ANIMATION(AUDINO_MEGA); +SINGLE_ANIMATION(AudinoMega); #endif #if P_GEN_6_POKEMON == TRUE -SINGLE_ANIMATION(DIANCIE_MEGA); +SINGLE_ANIMATION(DiancieMega); #endif -SINGLE_ANIMATION(RATTATA_ALOLAN); -SINGLE_ANIMATION(RATICATE_ALOLAN); -SINGLE_ANIMATION(RAICHU_ALOLAN); -SINGLE_ANIMATION(SANDSHREW_ALOLAN); -SINGLE_ANIMATION(SANDSLASH_ALOLAN); -SINGLE_ANIMATION(VULPIX_ALOLAN); -SINGLE_ANIMATION(NINETALES_ALOLAN); -SINGLE_ANIMATION(DIGLETT_ALOLAN); -SINGLE_ANIMATION(DUGTRIO_ALOLAN); -SINGLE_ANIMATION(MEOWTH_ALOLAN); -SINGLE_ANIMATION(PERSIAN_ALOLAN); -SINGLE_ANIMATION(GEODUDE_ALOLAN); -SINGLE_ANIMATION(GRAVELER_ALOLAN); -SINGLE_ANIMATION(GOLEM_ALOLAN); -SINGLE_ANIMATION(GRIMER_ALOLAN); -SINGLE_ANIMATION(MUK_ALOLAN); -SINGLE_ANIMATION(EXEGGUTOR_ALOLAN); -SINGLE_ANIMATION(MAROWAK_ALOLAN); -SINGLE_ANIMATION(MEOWTH_GALARIAN); -SINGLE_ANIMATION(PONYTA_GALARIAN); -SINGLE_ANIMATION(RAPIDASH_GALARIAN); -SINGLE_ANIMATION(SLOWPOKE_GALARIAN); -SINGLE_ANIMATION(SLOWBRO_GALARIAN); -SINGLE_ANIMATION(FARFETCHD_GALARIAN); -SINGLE_ANIMATION(WEEZING_GALARIAN); -SINGLE_ANIMATION(MR_MIME_GALARIAN); -SINGLE_ANIMATION(ARTICUNO_GALARIAN); -SINGLE_ANIMATION(ZAPDOS_GALARIAN); -SINGLE_ANIMATION(MOLTRES_GALARIAN); -SINGLE_ANIMATION(SLOWKING_GALARIAN); -SINGLE_ANIMATION(CORSOLA_GALARIAN); -SINGLE_ANIMATION(ZIGZAGOON_GALARIAN); -SINGLE_ANIMATION(LINOONE_GALARIAN); +SINGLE_ANIMATION(RattataAlolan); +SINGLE_ANIMATION(RaticateAlolan); +SINGLE_ANIMATION(RaichuAlolan); +SINGLE_ANIMATION(SandshrewAlolan); +SINGLE_ANIMATION(SandslashAlolan); +SINGLE_ANIMATION(VulpixAlolan); +SINGLE_ANIMATION(NinetalesAlolan); +SINGLE_ANIMATION(DiglettAlolan); +SINGLE_ANIMATION(DugtrioAlolan); +SINGLE_ANIMATION(MeowthAlolan); +SINGLE_ANIMATION(PersianAlolan); +SINGLE_ANIMATION(GeodudeAlolan); +SINGLE_ANIMATION(GravelerAlolan); +SINGLE_ANIMATION(GolemAlolan); +SINGLE_ANIMATION(GrimerAlolan); +SINGLE_ANIMATION(MukAlolan); +SINGLE_ANIMATION(ExeggutorAlolan); +SINGLE_ANIMATION(MarowakAlolan); +SINGLE_ANIMATION(MeowthGalarian); +SINGLE_ANIMATION(PonytaGalarian); +SINGLE_ANIMATION(RapidashGalarian); +SINGLE_ANIMATION(SlowpokeGalarian); +SINGLE_ANIMATION(SlowbroGalarian); +SINGLE_ANIMATION(FarfetchdGalarian); +SINGLE_ANIMATION(WeezingGalarian); +SINGLE_ANIMATION(MrMimeGalarian); +SINGLE_ANIMATION(ArticunoGalarian); +SINGLE_ANIMATION(ZapdosGalarian); +SINGLE_ANIMATION(MoltresGalarian); +SINGLE_ANIMATION(SlowkingGalarian); +SINGLE_ANIMATION(CorsolaGalarian); +SINGLE_ANIMATION(ZigzagoonGalarian); +SINGLE_ANIMATION(LinooneGalarian); #if P_GEN_5_POKEMON == TRUE -SINGLE_ANIMATION(DARUMAKA_GALARIAN); -SINGLE_ANIMATION(DARMANITAN_GALARIAN); -SINGLE_ANIMATION(YAMASK_GALARIAN); -SINGLE_ANIMATION(STUNFISK_GALARIAN); +SINGLE_ANIMATION(DarumakaGalarian); +SINGLE_ANIMATION(DarmanitanGalarian); +SINGLE_ANIMATION(YamaskGalarian); +SINGLE_ANIMATION(StunfiskGalarian); #endif -SINGLE_ANIMATION(GROWLITHE_HISUIAN); -SINGLE_ANIMATION(ARCANINE_HISUIAN); -SINGLE_ANIMATION(VOLTORB_HISUIAN); -SINGLE_ANIMATION(ELECTRODE_HISUIAN); -SINGLE_ANIMATION(TYPHLOSION_HISUIAN); -SINGLE_ANIMATION(QWILFISH_HISUIAN); -SINGLE_ANIMATION(SNEASEL_HISUIAN); +SINGLE_ANIMATION(GrowlitheHisuian); +SINGLE_ANIMATION(ArcanineHisuian); +SINGLE_ANIMATION(VoltorbHisuian); +SINGLE_ANIMATION(ElectrodeHisuian); +SINGLE_ANIMATION(TyphlosionHisuian); +SINGLE_ANIMATION(QwilfishHisuian); +SINGLE_ANIMATION(SneaselHisuian); #if P_GEN_5_POKEMON == TRUE -SINGLE_ANIMATION(SAMUROTT_HISUIAN); -SINGLE_ANIMATION(LILLIGANT_HISUIAN); -SINGLE_ANIMATION(ZORUA_HISUIAN); -SINGLE_ANIMATION(ZOROARK_HISUIAN); -SINGLE_ANIMATION(BRAVIARY_HISUIAN); +SINGLE_ANIMATION(SamurottHisuian); +SINGLE_ANIMATION(LilligantHisuian); +SINGLE_ANIMATION(ZoruaHisuian); +SINGLE_ANIMATION(ZoroarkHisuian); +SINGLE_ANIMATION(BraviaryHisuian); #endif #if P_GEN_6_POKEMON == TRUE -SINGLE_ANIMATION(SLIGGOO_HISUIAN); -SINGLE_ANIMATION(GOODRA_HISUIAN); -SINGLE_ANIMATION(AVALUGG_HISUIAN); +SINGLE_ANIMATION(SliggooHisuian); +SINGLE_ANIMATION(GoodraHisuian); +SINGLE_ANIMATION(AvaluggHisuian); #endif #if P_GEN_7_POKEMON == TRUE -SINGLE_ANIMATION(DECIDUEYE_HISUIAN); +SINGLE_ANIMATION(DecidueyeHisuian); #endif -SINGLE_ANIMATION(PIKACHU_COSPLAY); -SINGLE_ANIMATION(PIKACHU_ROCK_STAR); -SINGLE_ANIMATION(PIKACHU_BELLE); -SINGLE_ANIMATION(PIKACHU_POP_STAR); +SINGLE_ANIMATION(PikachuCosplay); +SINGLE_ANIMATION(PikachuRockStar); +SINGLE_ANIMATION(PikachuBelle); +SINGLE_ANIMATION(PikachuPopStar); SINGLE_ANIMATION(PIKACHU_PH_D); -SINGLE_ANIMATION(PIKACHU_LIBRE); -SINGLE_ANIMATION(PIKACHU_ORIGINAL_CAP); -SINGLE_ANIMATION(PIKACHU_HOENN_CAP); -SINGLE_ANIMATION(PIKACHU_SINNOH_CAP); -SINGLE_ANIMATION(PIKACHU_UNOVA_CAP); -SINGLE_ANIMATION(PIKACHU_KALOS_CAP); -SINGLE_ANIMATION(PIKACHU_ALOLA_CAP); -SINGLE_ANIMATION(PIKACHU_PARTNER_CAP); -SINGLE_ANIMATION(PIKACHU_WORLD_CAP); -static const union AnimCmd *const sAnims_PICHU_SPIKY_EARED[] = { - sAnim_GeneralFrame0, - sAnim_PICHU_SPIKY_EARED_1, -}; -DOUBLE_ANIMATION(DEOXYS_ATTACK); -DOUBLE_ANIMATION(DEOXYS_DEFENSE); -DOUBLE_ANIMATION(DEOXYS_SPEED); +SINGLE_ANIMATION(PikachuLibre); +SINGLE_ANIMATION(PikachuOriginalCap); +SINGLE_ANIMATION(PikachuHoennCap); +SINGLE_ANIMATION(PikachuSinnohCap); +SINGLE_ANIMATION(PikachuUnovaCap); +SINGLE_ANIMATION(PikachuKalosCap); +SINGLE_ANIMATION(PikachuAlolaCap); +SINGLE_ANIMATION(PikachuPartnerCap); +SINGLE_ANIMATION(PikachuWorldCap); +SINGLE_ANIMATION(PichuSpikyEared); +DOUBLE_ANIMATION(DeoxysAttack); +DOUBLE_ANIMATION(DeoxysDefense); +DOUBLE_ANIMATION(DeoxysSpeed); #if P_GEN_4_POKEMON == TRUE -SINGLE_ANIMATION(DIALGA_ORIGIN); -SINGLE_ANIMATION(PALKIA_ORIGIN); -DOUBLE_ANIMATION(GIRATINA_ORIGIN); -SINGLE_ANIMATION(SHAYMIN_SKY); +SINGLE_ANIMATION(DialgaOrigin); +SINGLE_ANIMATION(PalkiaOrigin); +DOUBLE_ANIMATION(GiratinaOrigin); +SINGLE_ANIMATION(ShayminSky); #endif #if P_GEN_5_POKEMON == TRUE -SINGLE_ANIMATION(DARMANITAN_ZEN_MODE); -SINGLE_ANIMATION(DARMANITAN_ZEN_MODE_GALARIAN); -SINGLE_ANIMATION(TORNADUS_THERIAN); -SINGLE_ANIMATION(THUNDURUS_THERIAN); -SINGLE_ANIMATION(LANDORUS_THERIAN); -SINGLE_ANIMATION(KYUREM_BLACK); -SINGLE_ANIMATION(KYUREM_WHITE); -SINGLE_ANIMATION(KELDEO_RESOLUTE); -SINGLE_ANIMATION(MELOETTA_PIROUETTE); +SINGLE_ANIMATION(DarmanitanZenMode); +SINGLE_ANIMATION(DarmanitanZenModeGalarian); +SINGLE_ANIMATION(TornadusTherian); +SINGLE_ANIMATION(ThundurusTherian); +SINGLE_ANIMATION(LandorusTherian); +SINGLE_ANIMATION(KyuremBlack); +SINGLE_ANIMATION(KyuremWhite); +SINGLE_ANIMATION(KeldeoResolute); +SINGLE_ANIMATION(MeloettaPirouette); #endif #if P_GEN_6_POKEMON == TRUE -SINGLE_ANIMATION(AEGISLASH_BLADE); -SINGLE_ANIMATION(ZYGARDE_10); -SINGLE_ANIMATION(ZYGARDE_COMPLETE); -SINGLE_ANIMATION(HOOPA_UNBOUND); +SINGLE_ANIMATION(AegislashBlade); +SINGLE_ANIMATION(Zygarde10); +SINGLE_ANIMATION(ZygardeComplete); +SINGLE_ANIMATION(HoopaUnbound); #endif #if P_GEN_7_POKEMON == TRUE -SINGLE_ANIMATION(MINIOR_CORE); -SINGLE_ANIMATION(WISHIWASHI_SCHOOL); -SINGLE_ANIMATION(MIMIKYU_BUSTED); -SINGLE_ANIMATION(LYCANROC_MIDNIGHT); -SINGLE_ANIMATION(LYCANROC_DUSK); +SINGLE_ANIMATION(MiniorCore); +SINGLE_ANIMATION(WishiwashiSchool); +SINGLE_ANIMATION(MimikyuBusted); +SINGLE_ANIMATION(LycanrocMidnight); +SINGLE_ANIMATION(LycanrocDusk); #endif #if P_GEN_8_POKEMON == TRUE -SINGLE_ANIMATION(ENAMORUS_THERIAN); +SINGLE_ANIMATION(EnamorusTherian); #endif -#define ANIM_CMD(name) [SPECIES_##name] = sAnims_##name -#define ANIM_CMD_FULL(name, anims) [SPECIES_##name] = anims - const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = { [SPECIES_NONE] = sAnims_None, @@ -12047,666 +12027,666 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = [SPECIES_DEOXYS] = sAnims_Deoxys, [SPECIES_CHIMECHO] = sAnims_Chimecho, #if P_GEN_4_POKEMON == TRUE - ANIM_CMD(TURTWIG), - ANIM_CMD(GROTLE), - ANIM_CMD(TORTERRA), - ANIM_CMD(CHIMCHAR), - ANIM_CMD(MONFERNO), - ANIM_CMD(INFERNAPE), - ANIM_CMD(PIPLUP), - ANIM_CMD(PRINPLUP), - ANIM_CMD(EMPOLEON), - ANIM_CMD(STARLY), - ANIM_CMD(STARAVIA), - ANIM_CMD(STARAPTOR), - ANIM_CMD(BIDOOF), - ANIM_CMD(BIBAREL), - ANIM_CMD(KRICKETOT), - ANIM_CMD(KRICKETUNE), - ANIM_CMD(SHINX), - ANIM_CMD(LUXIO), - ANIM_CMD(LUXRAY), - ANIM_CMD(BUDEW), - ANIM_CMD(ROSERADE), - ANIM_CMD(CRANIDOS), - ANIM_CMD(RAMPARDOS), - ANIM_CMD(SHIELDON), - ANIM_CMD(BASTIODON), - ANIM_CMD(BURMY), - ANIM_CMD(WORMADAM), - ANIM_CMD(MOTHIM), - ANIM_CMD(COMBEE), - ANIM_CMD(VESPIQUEN), - ANIM_CMD(PACHIRISU), - ANIM_CMD(BUIZEL), - ANIM_CMD(FLOATZEL), - ANIM_CMD(CHERUBI), - ANIM_CMD(CHERRIM), - ANIM_CMD(SHELLOS), - ANIM_CMD(GASTRODON), - ANIM_CMD(AMBIPOM), - ANIM_CMD(DRIFLOON), - ANIM_CMD(DRIFBLIM), - ANIM_CMD(BUNEARY), - ANIM_CMD(LOPUNNY), - ANIM_CMD(MISMAGIUS), - ANIM_CMD(HONCHKROW), - ANIM_CMD(GLAMEOW), - ANIM_CMD(PURUGLY), - ANIM_CMD(CHINGLING), - ANIM_CMD(STUNKY), - ANIM_CMD(SKUNTANK), - ANIM_CMD(BRONZOR), - ANIM_CMD(BRONZONG), - ANIM_CMD(BONSLY), - ANIM_CMD(MIME_JR), - ANIM_CMD(HAPPINY), - ANIM_CMD(CHATOT), - ANIM_CMD(SPIRITOMB), - ANIM_CMD(GIBLE), - ANIM_CMD(GABITE), - ANIM_CMD(GARCHOMP), - ANIM_CMD(MUNCHLAX), - ANIM_CMD(RIOLU), - ANIM_CMD(LUCARIO), - ANIM_CMD(HIPPOPOTAS), - ANIM_CMD(HIPPOWDON), - ANIM_CMD(SKORUPI), - ANIM_CMD(DRAPION), - ANIM_CMD(CROAGUNK), - ANIM_CMD(TOXICROAK), - ANIM_CMD(CARNIVINE), - ANIM_CMD(FINNEON), - ANIM_CMD(LUMINEON), - ANIM_CMD(MANTYKE), - ANIM_CMD(SNOVER), - ANIM_CMD(ABOMASNOW), - ANIM_CMD(WEAVILE), - ANIM_CMD(MAGNEZONE), - ANIM_CMD(LICKILICKY), - ANIM_CMD(RHYPERIOR), - ANIM_CMD(TANGROWTH), - ANIM_CMD(ELECTIVIRE), - ANIM_CMD(MAGMORTAR), - ANIM_CMD(TOGEKISS), - ANIM_CMD(YANMEGA), - ANIM_CMD(LEAFEON), - ANIM_CMD(GLACEON), - ANIM_CMD(GLISCOR), - ANIM_CMD(MAMOSWINE), - ANIM_CMD(PORYGON_Z), - ANIM_CMD(GALLADE), - ANIM_CMD(PROBOPASS), - ANIM_CMD(DUSKNOIR), - ANIM_CMD(FROSLASS), - ANIM_CMD(ROTOM), - ANIM_CMD(UXIE), - ANIM_CMD(MESPRIT), - ANIM_CMD(AZELF), - ANIM_CMD(DIALGA), - ANIM_CMD(PALKIA), - ANIM_CMD(HEATRAN), - ANIM_CMD(REGIGIGAS), - ANIM_CMD(GIRATINA), - ANIM_CMD(CRESSELIA), - ANIM_CMD(PHIONE), - ANIM_CMD(MANAPHY), - ANIM_CMD(DARKRAI), - ANIM_CMD(SHAYMIN), - ANIM_CMD(ARCEUS), + [SPECIES_TURTWIG] = sAnims_Turtwig, + [SPECIES_GROTLE] = sAnims_Grotle, + [SPECIES_TORTERRA] = sAnims_Torterra, + [SPECIES_CHIMCHAR] = sAnims_Chimchar, + [SPECIES_MONFERNO] = sAnims_Monferno, + [SPECIES_INFERNAPE] = sAnims_Infernape, + [SPECIES_PIPLUP] = sAnims_Piplup, + [SPECIES_PRINPLUP] = sAnims_Prinplup, + [SPECIES_EMPOLEON] = sAnims_Empoleon, + [SPECIES_STARLY] = sAnims_Starly, + [SPECIES_STARAVIA] = sAnims_Staravia, + [SPECIES_STARAPTOR] = sAnims_Staraptor, + [SPECIES_BIDOOF] = sAnims_Bidoof, + [SPECIES_BIBAREL] = sAnims_Bibarel, + [SPECIES_KRICKETOT] = sAnims_Kricketot, + [SPECIES_KRICKETUNE] = sAnims_Kricketune, + [SPECIES_SHINX] = sAnims_Shinx, + [SPECIES_LUXIO] = sAnims_Luxio, + [SPECIES_LUXRAY] = sAnims_Luxray, + [SPECIES_BUDEW] = sAnims_Budew, + [SPECIES_ROSERADE] = sAnims_Roserade, + [SPECIES_CRANIDOS] = sAnims_Cranidos, + [SPECIES_RAMPARDOS] = sAnims_Rampardos, + [SPECIES_SHIELDON] = sAnims_Shieldon, + [SPECIES_BASTIODON] = sAnims_Bastiodon, + [SPECIES_BURMY] = sAnims_Burmy, + [SPECIES_WORMADAM] = sAnims_Wormadam, + [SPECIES_MOTHIM] = sAnims_Mothim, + [SPECIES_COMBEE] = sAnims_Combee, + [SPECIES_VESPIQUEN] = sAnims_Vespiquen, + [SPECIES_PACHIRISU] = sAnims_Pachirisu, + [SPECIES_BUIZEL] = sAnims_Buizel, + [SPECIES_FLOATZEL] = sAnims_Floatzel, + [SPECIES_CHERUBI] = sAnims_Cherubi, + [SPECIES_CHERRIM] = sAnims_CherrimOvercast, + [SPECIES_SHELLOS] = sAnims_Shellos, + [SPECIES_GASTRODON] = sAnims_Gastrodon, + [SPECIES_AMBIPOM] = sAnims_Ambipom, + [SPECIES_DRIFLOON] = sAnims_Drifloon, + [SPECIES_DRIFBLIM] = sAnims_Drifblim, + [SPECIES_BUNEARY] = sAnims_Buneary, + [SPECIES_LOPUNNY] = sAnims_Lopunny, + [SPECIES_MISMAGIUS] = sAnims_Mismagius, + [SPECIES_HONCHKROW] = sAnims_Honchkrow, + [SPECIES_GLAMEOW] = sAnims_Glameow, + [SPECIES_PURUGLY] = sAnims_Purugly, + [SPECIES_CHINGLING] = sAnims_Chingling, + [SPECIES_STUNKY] = sAnims_Stunky, + [SPECIES_SKUNTANK] = sAnims_Skuntank, + [SPECIES_BRONZOR] = sAnims_Bronzor, + [SPECIES_BRONZONG] = sAnims_Bronzong, + [SPECIES_BONSLY] = sAnims_Bonsly, + [SPECIES_MIME_JR] = sAnims_MimeJr, + [SPECIES_HAPPINY] = sAnims_Happiny, + [SPECIES_CHATOT] = sAnims_Chatot, + [SPECIES_SPIRITOMB] = sAnims_Spiritomb, + [SPECIES_GIBLE] = sAnims_Gible, + [SPECIES_GABITE] = sAnims_Gabite, + [SPECIES_GARCHOMP] = sAnims_Garchomp, + [SPECIES_MUNCHLAX] = sAnims_Munchlax, + [SPECIES_RIOLU] = sAnims_Riolu, + [SPECIES_LUCARIO] = sAnims_Lucario, + [SPECIES_HIPPOPOTAS] = sAnims_Hippopotas, + [SPECIES_HIPPOWDON] = sAnims_Hippowdon, + [SPECIES_SKORUPI] = sAnims_Skorupi, + [SPECIES_DRAPION] = sAnims_Drapion, + [SPECIES_CROAGUNK] = sAnims_Croagunk, + [SPECIES_TOXICROAK] = sAnims_Toxicroak, + [SPECIES_CARNIVINE] = sAnims_Carnivine, + [SPECIES_FINNEON] = sAnims_Finneon, + [SPECIES_LUMINEON] = sAnims_Lumineon, + [SPECIES_MANTYKE] = sAnims_Mantyke, + [SPECIES_SNOVER] = sAnims_Snover, + [SPECIES_ABOMASNOW] = sAnims_Abomasnow, + [SPECIES_WEAVILE] = sAnims_Weavile, + [SPECIES_MAGNEZONE] = sAnims_Magnezone, + [SPECIES_LICKILICKY] = sAnims_Lickilicky, + [SPECIES_RHYPERIOR] = sAnims_Rhyperior, + [SPECIES_TANGROWTH] = sAnims_Tangrowth, + [SPECIES_ELECTIVIRE] = sAnims_Electivire, + [SPECIES_MAGMORTAR] = sAnims_Magmortar, + [SPECIES_TOGEKISS] = sAnims_Togekiss, + [SPECIES_YANMEGA] = sAnims_Yanmega, + [SPECIES_LEAFEON] = sAnims_Leafeon, + [SPECIES_GLACEON] = sAnims_Glaceon, + [SPECIES_GLISCOR] = sAnims_Gliscor, + [SPECIES_MAMOSWINE] = sAnims_Mamoswine, + [SPECIES_PORYGON_Z] = sAnims_PORYGON_Z, + [SPECIES_GALLADE] = sAnims_Gallade, + [SPECIES_PROBOPASS] = sAnims_Probopass, + [SPECIES_DUSKNOIR] = sAnims_Dusknoir, + [SPECIES_FROSLASS] = sAnims_Froslass, + [SPECIES_ROTOM] = sAnims_Rotom, + [SPECIES_UXIE] = sAnims_Uxie, + [SPECIES_MESPRIT] = sAnims_Mesprit, + [SPECIES_AZELF] = sAnims_Azelf, + [SPECIES_DIALGA] = sAnims_Dialga, + [SPECIES_PALKIA] = sAnims_Palkia, + [SPECIES_HEATRAN] = sAnims_Heatran, + [SPECIES_REGIGIGAS] = sAnims_Regigigas, + [SPECIES_GIRATINA] = sAnims_Giratina, + [SPECIES_CRESSELIA] = sAnims_Cresselia, + [SPECIES_PHIONE] = sAnims_Phione, + [SPECIES_MANAPHY] = sAnims_Manaphy, + [SPECIES_DARKRAI] = sAnims_Darkrai, + [SPECIES_SHAYMIN] = sAnims_Shaymin, + [SPECIES_ARCEUS] = sAnims_Arceus, #endif #if P_GEN_5_POKEMON == TRUE - ANIM_CMD(VICTINI), - ANIM_CMD(SNIVY), - ANIM_CMD(SERVINE), - ANIM_CMD(SERPERIOR), - ANIM_CMD(TEPIG), - ANIM_CMD(PIGNITE), - ANIM_CMD(EMBOAR), - ANIM_CMD(OSHAWOTT), - ANIM_CMD(DEWOTT), - ANIM_CMD(SAMUROTT), - ANIM_CMD(PATRAT), - ANIM_CMD(WATCHOG), - ANIM_CMD(LILLIPUP), - ANIM_CMD(HERDIER), - ANIM_CMD(STOUTLAND), - ANIM_CMD(PURRLOIN), - ANIM_CMD(LIEPARD), - ANIM_CMD(PANSAGE), - ANIM_CMD(SIMISAGE), - ANIM_CMD(PANSEAR), - ANIM_CMD(SIMISEAR), - ANIM_CMD(PANPOUR), - ANIM_CMD(SIMIPOUR), - ANIM_CMD(MUNNA), - ANIM_CMD(MUSHARNA), - ANIM_CMD(PIDOVE), - ANIM_CMD(TRANQUILL), - ANIM_CMD(UNFEZANT), - ANIM_CMD(BLITZLE), - ANIM_CMD(ZEBSTRIKA), - ANIM_CMD(ROGGENROLA), - ANIM_CMD(BOLDORE), - ANIM_CMD(GIGALITH), - ANIM_CMD(WOOBAT), - ANIM_CMD(SWOOBAT), - ANIM_CMD(DRILBUR), - ANIM_CMD(EXCADRILL), - ANIM_CMD(AUDINO), - ANIM_CMD(TIMBURR), - ANIM_CMD(GURDURR), - ANIM_CMD(CONKELDURR), - ANIM_CMD(TYMPOLE), - ANIM_CMD(PALPITOAD), - ANIM_CMD(SEISMITOAD), - ANIM_CMD(THROH), - ANIM_CMD(SAWK), - ANIM_CMD(SEWADDLE), - ANIM_CMD(SWADLOON), - ANIM_CMD(LEAVANNY), - ANIM_CMD(VENIPEDE), - ANIM_CMD(WHIRLIPEDE), - ANIM_CMD(SCOLIPEDE), - ANIM_CMD(COTTONEE), - ANIM_CMD(WHIMSICOTT), - ANIM_CMD(PETILIL), - ANIM_CMD(LILLIGANT), - ANIM_CMD(BASCULIN), - ANIM_CMD(SANDILE), - ANIM_CMD(KROKOROK), - ANIM_CMD(KROOKODILE), - ANIM_CMD(DARUMAKA), - ANIM_CMD(DARMANITAN), - ANIM_CMD(MARACTUS), - ANIM_CMD(DWEBBLE), - ANIM_CMD(CRUSTLE), - ANIM_CMD(SCRAGGY), - ANIM_CMD(SCRAFTY), - ANIM_CMD(SIGILYPH), - ANIM_CMD(YAMASK), - ANIM_CMD(COFAGRIGUS), - ANIM_CMD(TIRTOUGA), - ANIM_CMD(CARRACOSTA), - ANIM_CMD(ARCHEN), - ANIM_CMD(ARCHEOPS), - ANIM_CMD(TRUBBISH), - ANIM_CMD(GARBODOR), - ANIM_CMD(ZORUA), - ANIM_CMD(ZOROARK), - ANIM_CMD(MINCCINO), - ANIM_CMD(CINCCINO), - ANIM_CMD(GOTHITA), - ANIM_CMD(GOTHORITA), - ANIM_CMD(GOTHITELLE), - ANIM_CMD(SOLOSIS), - ANIM_CMD(DUOSION), - ANIM_CMD(REUNICLUS), - ANIM_CMD(DUCKLETT), - ANIM_CMD(SWANNA), - ANIM_CMD(VANILLITE), - ANIM_CMD(VANILLISH), - ANIM_CMD(VANILLUXE), - ANIM_CMD(DEERLING), - ANIM_CMD(SAWSBUCK), - ANIM_CMD(EMOLGA), - ANIM_CMD(KARRABLAST), - ANIM_CMD(ESCAVALIER), - ANIM_CMD(FOONGUS), - ANIM_CMD(AMOONGUSS), - ANIM_CMD(FRILLISH), - ANIM_CMD(JELLICENT), - ANIM_CMD(ALOMOMOLA), - ANIM_CMD(JOLTIK), - ANIM_CMD(GALVANTULA), - ANIM_CMD(FERROSEED), - ANIM_CMD(FERROTHORN), - ANIM_CMD(KLINK), - ANIM_CMD(KLANG), - ANIM_CMD(KLINKLANG), - ANIM_CMD(TYNAMO), - ANIM_CMD(EELEKTRIK), - ANIM_CMD(EELEKTROSS), - ANIM_CMD(ELGYEM), - ANIM_CMD(BEHEEYEM), - ANIM_CMD(LITWICK), - ANIM_CMD(LAMPENT), - ANIM_CMD(CHANDELURE), - ANIM_CMD(AXEW), - ANIM_CMD(FRAXURE), - ANIM_CMD(HAXORUS), - ANIM_CMD(CUBCHOO), - ANIM_CMD(BEARTIC), - ANIM_CMD(CRYOGONAL), - ANIM_CMD(SHELMET), - ANIM_CMD(ACCELGOR), - ANIM_CMD(STUNFISK), - ANIM_CMD(MIENFOO), - ANIM_CMD(MIENSHAO), - ANIM_CMD(DRUDDIGON), - ANIM_CMD(GOLETT), - ANIM_CMD(GOLURK), - ANIM_CMD(PAWNIARD), - ANIM_CMD(BISHARP), - ANIM_CMD(BOUFFALANT), - ANIM_CMD(RUFFLET), - ANIM_CMD(BRAVIARY), - ANIM_CMD(VULLABY), - ANIM_CMD(MANDIBUZZ), - ANIM_CMD(HEATMOR), - ANIM_CMD(DURANT), - ANIM_CMD(DEINO), - ANIM_CMD(ZWEILOUS), - ANIM_CMD(HYDREIGON), - ANIM_CMD(LARVESTA), - ANIM_CMD(VOLCARONA), - ANIM_CMD(COBALION), - ANIM_CMD(TERRAKION), - ANIM_CMD(VIRIZION), - ANIM_CMD(TORNADUS), - ANIM_CMD(THUNDURUS), - ANIM_CMD(RESHIRAM), - ANIM_CMD(ZEKROM), - ANIM_CMD(LANDORUS), - ANIM_CMD(KYUREM), - ANIM_CMD(KELDEO), - ANIM_CMD(MELOETTA), - ANIM_CMD(GENESECT), + [SPECIES_VICTINI] = sAnims_Victini, + [SPECIES_SNIVY] = sAnims_Snivy, + [SPECIES_SERVINE] = sAnims_Servine, + [SPECIES_SERPERIOR] = sAnims_Serperior, + [SPECIES_TEPIG] = sAnims_Tepig, + [SPECIES_PIGNITE] = sAnims_Pignite, + [SPECIES_EMBOAR] = sAnims_Emboar, + [SPECIES_OSHAWOTT] = sAnims_Oshawott, + [SPECIES_DEWOTT] = sAnims_Dewott, + [SPECIES_SAMUROTT] = sAnims_Samurott, + [SPECIES_PATRAT] = sAnims_Patrat, + [SPECIES_WATCHOG] = sAnims_Watchog, + [SPECIES_LILLIPUP] = sAnims_Lillipup, + [SPECIES_HERDIER] = sAnims_Herdier, + [SPECIES_STOUTLAND] = sAnims_Stoutland, + [SPECIES_PURRLOIN] = sAnims_Purrloin, + [SPECIES_LIEPARD] = sAnims_Liepard, + [SPECIES_PANSAGE] = sAnims_Pansage, + [SPECIES_SIMISAGE] = sAnims_Simisage, + [SPECIES_PANSEAR] = sAnims_Pansear, + [SPECIES_SIMISEAR] = sAnims_Simisear, + [SPECIES_PANPOUR] = sAnims_Panpour, + [SPECIES_SIMIPOUR] = sAnims_Simipour, + [SPECIES_MUNNA] = sAnims_Munna, + [SPECIES_MUSHARNA] = sAnims_Musharna, + [SPECIES_PIDOVE] = sAnims_Pidove, + [SPECIES_TRANQUILL] = sAnims_Tranquill, + [SPECIES_UNFEZANT] = sAnims_Unfezant, + [SPECIES_BLITZLE] = sAnims_Blitzle, + [SPECIES_ZEBSTRIKA] = sAnims_Zebstrika, + [SPECIES_ROGGENROLA] = sAnims_Roggenrola, + [SPECIES_BOLDORE] = sAnims_Boldore, + [SPECIES_GIGALITH] = sAnims_Gigalith, + [SPECIES_WOOBAT] = sAnims_Woobat, + [SPECIES_SWOOBAT] = sAnims_Swoobat, + [SPECIES_DRILBUR] = sAnims_Drilbur, + [SPECIES_EXCADRILL] = sAnims_Excadrill, + [SPECIES_AUDINO] = sAnims_Audino, + [SPECIES_TIMBURR] = sAnims_Timburr, + [SPECIES_GURDURR] = sAnims_Gurdurr, + [SPECIES_CONKELDURR] = sAnims_Conkeldurr, + [SPECIES_TYMPOLE] = sAnims_Tympole, + [SPECIES_PALPITOAD] = sAnims_Palpitoad, + [SPECIES_SEISMITOAD] = sAnims_Seismitoad, + [SPECIES_THROH] = sAnims_Throh, + [SPECIES_SAWK] = sAnims_Sawk, + [SPECIES_SEWADDLE] = sAnims_Sewaddle, + [SPECIES_SWADLOON] = sAnims_Swadloon, + [SPECIES_LEAVANNY] = sAnims_Leavanny, + [SPECIES_VENIPEDE] = sAnims_Venipede, + [SPECIES_WHIRLIPEDE] = sAnims_Whirlipede, + [SPECIES_SCOLIPEDE] = sAnims_Scolipede, + [SPECIES_COTTONEE] = sAnims_Cottonee, + [SPECIES_WHIMSICOTT] = sAnims_Whimsicott, + [SPECIES_PETILIL] = sAnims_Petilil, + [SPECIES_LILLIGANT] = sAnims_Lilligant, + [SPECIES_BASCULIN] = sAnims_Basculin, + [SPECIES_SANDILE] = sAnims_Sandile, + [SPECIES_KROKOROK] = sAnims_Krokorok, + [SPECIES_KROOKODILE] = sAnims_Krookodile, + [SPECIES_DARUMAKA] = sAnims_Darumaka, + [SPECIES_DARMANITAN] = sAnims_Darmanitan, + [SPECIES_MARACTUS] = sAnims_Maractus, + [SPECIES_DWEBBLE] = sAnims_Dwebble, + [SPECIES_CRUSTLE] = sAnims_Crustle, + [SPECIES_SCRAGGY] = sAnims_Scraggy, + [SPECIES_SCRAFTY] = sAnims_Scrafty, + [SPECIES_SIGILYPH] = sAnims_Sigilyph, + [SPECIES_YAMASK] = sAnims_Yamask, + [SPECIES_COFAGRIGUS] = sAnims_Cofagrigus, + [SPECIES_TIRTOUGA] = sAnims_Tirtouga, + [SPECIES_CARRACOSTA] = sAnims_Carracosta, + [SPECIES_ARCHEN] = sAnims_Archen, + [SPECIES_ARCHEOPS] = sAnims_Archeops, + [SPECIES_TRUBBISH] = sAnims_Trubbish, + [SPECIES_GARBODOR] = sAnims_Garbodor, + [SPECIES_ZORUA] = sAnims_Zorua, + [SPECIES_ZOROARK] = sAnims_Zoroark, + [SPECIES_MINCCINO] = sAnims_Minccino, + [SPECIES_CINCCINO] = sAnims_Cinccino, + [SPECIES_GOTHITA] = sAnims_Gothita, + [SPECIES_GOTHORITA] = sAnims_Gothorita, + [SPECIES_GOTHITELLE] = sAnims_Gothitelle, + [SPECIES_SOLOSIS] = sAnims_Solosis, + [SPECIES_DUOSION] = sAnims_Duosion, + [SPECIES_REUNICLUS] = sAnims_Reuniclus, + [SPECIES_DUCKLETT] = sAnims_Ducklett, + [SPECIES_SWANNA] = sAnims_Swanna, + [SPECIES_VANILLITE] = sAnims_Vanillite, + [SPECIES_VANILLISH] = sAnims_Vanillish, + [SPECIES_VANILLUXE] = sAnims_Vanilluxe, + [SPECIES_DEERLING] = sAnims_Deerling, + [SPECIES_SAWSBUCK] = sAnims_Sawsbuck, + [SPECIES_EMOLGA] = sAnims_Emolga, + [SPECIES_KARRABLAST] = sAnims_Karrablast, + [SPECIES_ESCAVALIER] = sAnims_Escavalier, + [SPECIES_FOONGUS] = sAnims_Foongus, + [SPECIES_AMOONGUSS] = sAnims_Amoonguss, + [SPECIES_FRILLISH] = sAnims_Frillish, + [SPECIES_JELLICENT] = sAnims_Jellicent, + [SPECIES_ALOMOMOLA] = sAnims_Alomomola, + [SPECIES_JOLTIK] = sAnims_Joltik, + [SPECIES_GALVANTULA] = sAnims_Galvantula, + [SPECIES_FERROSEED] = sAnims_Ferroseed, + [SPECIES_FERROTHORN] = sAnims_Ferrothorn, + [SPECIES_KLINK] = sAnims_Klink, + [SPECIES_KLANG] = sAnims_Klang, + [SPECIES_KLINKLANG] = sAnims_Klinklang, + [SPECIES_TYNAMO] = sAnims_Tynamo, + [SPECIES_EELEKTRIK] = sAnims_Eelektrik, + [SPECIES_EELEKTROSS] = sAnims_Eelektross, + [SPECIES_ELGYEM] = sAnims_Elgyem, + [SPECIES_BEHEEYEM] = sAnims_Beheeyem, + [SPECIES_LITWICK] = sAnims_Litwick, + [SPECIES_LAMPENT] = sAnims_Lampent, + [SPECIES_CHANDELURE] = sAnims_Chandelure, + [SPECIES_AXEW] = sAnims_Axew, + [SPECIES_FRAXURE] = sAnims_Fraxure, + [SPECIES_HAXORUS] = sAnims_Haxorus, + [SPECIES_CUBCHOO] = sAnims_Cubchoo, + [SPECIES_BEARTIC] = sAnims_Beartic, + [SPECIES_CRYOGONAL] = sAnims_Cryogonal, + [SPECIES_SHELMET] = sAnims_Shelmet, + [SPECIES_ACCELGOR] = sAnims_Accelgor, + [SPECIES_STUNFISK] = sAnims_Stunfisk, + [SPECIES_MIENFOO] = sAnims_Mienfoo, + [SPECIES_MIENSHAO] = sAnims_Mienshao, + [SPECIES_DRUDDIGON] = sAnims_Druddigon, + [SPECIES_GOLETT] = sAnims_Golett, + [SPECIES_GOLURK] = sAnims_Golurk, + [SPECIES_PAWNIARD] = sAnims_Pawniard, + [SPECIES_BISHARP] = sAnims_Bisharp, + [SPECIES_BOUFFALANT] = sAnims_Bouffalant, + [SPECIES_RUFFLET] = sAnims_Rufflet, + [SPECIES_BRAVIARY] = sAnims_Braviary, + [SPECIES_VULLABY] = sAnims_Vullaby, + [SPECIES_MANDIBUZZ] = sAnims_Mandibuzz, + [SPECIES_HEATMOR] = sAnims_Heatmor, + [SPECIES_DURANT] = sAnims_Durant, + [SPECIES_DEINO] = sAnims_Deino, + [SPECIES_ZWEILOUS] = sAnims_Zweilous, + [SPECIES_HYDREIGON] = sAnims_Hydreigon, + [SPECIES_LARVESTA] = sAnims_Larvesta, + [SPECIES_VOLCARONA] = sAnims_Volcarona, + [SPECIES_COBALION] = sAnims_Cobalion, + [SPECIES_TERRAKION] = sAnims_Terrakion, + [SPECIES_VIRIZION] = sAnims_Virizion, + [SPECIES_TORNADUS] = sAnims_Tornadus, + [SPECIES_THUNDURUS] = sAnims_Thundurus, + [SPECIES_RESHIRAM] = sAnims_Reshiram, + [SPECIES_ZEKROM] = sAnims_Zekrom, + [SPECIES_LANDORUS] = sAnims_Landorus, + [SPECIES_KYUREM] = sAnims_Kyurem, + [SPECIES_KELDEO] = sAnims_Keldeo, + [SPECIES_MELOETTA] = sAnims_Meloetta, + [SPECIES_GENESECT] = sAnims_Genesect, #endif #if P_GEN_6_POKEMON == TRUE - ANIM_CMD(CHESPIN), - ANIM_CMD(QUILLADIN), - ANIM_CMD(CHESNAUGHT), - ANIM_CMD(FENNEKIN), - ANIM_CMD(BRAIXEN), - ANIM_CMD(DELPHOX), - ANIM_CMD(FROAKIE), - ANIM_CMD(FROGADIER), - ANIM_CMD(GRENINJA), - ANIM_CMD(BUNNELBY), - ANIM_CMD(DIGGERSBY), - ANIM_CMD(FLETCHLING), - ANIM_CMD(FLETCHINDER), - ANIM_CMD(TALONFLAME), - ANIM_CMD(SCATTERBUG), - ANIM_CMD(SPEWPA), - ANIM_CMD(VIVILLON), - ANIM_CMD(LITLEO), - ANIM_CMD(PYROAR), - ANIM_CMD(FLABEBE), - ANIM_CMD(FLOETTE), - ANIM_CMD(FLORGES), - ANIM_CMD(SKIDDO), - ANIM_CMD(GOGOAT), - ANIM_CMD(PANCHAM), - ANIM_CMD(PANGORO), - ANIM_CMD(FURFROU), - ANIM_CMD(ESPURR), - ANIM_CMD(MEOWSTIC), - ANIM_CMD(HONEDGE), - ANIM_CMD(DOUBLADE), - ANIM_CMD(AEGISLASH), - ANIM_CMD(SPRITZEE), - ANIM_CMD(AROMATISSE), - ANIM_CMD(SWIRLIX), - ANIM_CMD(SLURPUFF), - ANIM_CMD(INKAY), - ANIM_CMD(MALAMAR), - ANIM_CMD(BINACLE), - ANIM_CMD(BARBARACLE), - ANIM_CMD(SKRELP), - ANIM_CMD(DRAGALGE), - ANIM_CMD(CLAUNCHER), - ANIM_CMD(CLAWITZER), - ANIM_CMD(HELIOPTILE), - ANIM_CMD(HELIOLISK), - ANIM_CMD(TYRUNT), - ANIM_CMD(TYRANTRUM), - ANIM_CMD(AMAURA), - ANIM_CMD(AURORUS), - ANIM_CMD(SYLVEON), - ANIM_CMD(HAWLUCHA), - ANIM_CMD(DEDENNE), - ANIM_CMD(CARBINK), - ANIM_CMD(GOOMY), - ANIM_CMD(SLIGGOO), - ANIM_CMD(GOODRA), - ANIM_CMD(KLEFKI), - ANIM_CMD(PHANTUMP), - ANIM_CMD(TREVENANT), - ANIM_CMD(PUMPKABOO), - ANIM_CMD(GOURGEIST), - ANIM_CMD(BERGMITE), - ANIM_CMD(AVALUGG), - ANIM_CMD(NOIBAT), - ANIM_CMD(NOIVERN), - ANIM_CMD(XERNEAS), - ANIM_CMD(YVELTAL), - ANIM_CMD(ZYGARDE), - ANIM_CMD(DIANCIE), - ANIM_CMD(HOOPA), - ANIM_CMD(VOLCANION), + [SPECIES_CHESPIN] = sAnims_Chespin, + [SPECIES_QUILLADIN] = sAnims_Quilladin, + [SPECIES_CHESNAUGHT] = sAnims_Chesnaught, + [SPECIES_FENNEKIN] = sAnims_Fennekin, + [SPECIES_BRAIXEN] = sAnims_Braixen, + [SPECIES_DELPHOX] = sAnims_Delphox, + [SPECIES_FROAKIE] = sAnims_Froakie, + [SPECIES_FROGADIER] = sAnims_Frogadier, + [SPECIES_GRENINJA] = sAnims_Greninja, + [SPECIES_BUNNELBY] = sAnims_Bunnelby, + [SPECIES_DIGGERSBY] = sAnims_Diggersby, + [SPECIES_FLETCHLING] = sAnims_Fletchling, + [SPECIES_FLETCHINDER] = sAnims_Fletchinder, + [SPECIES_TALONFLAME] = sAnims_Talonflame, + [SPECIES_SCATTERBUG] = sAnims_Scatterbug, + [SPECIES_SPEWPA] = sAnims_Spewpa, + [SPECIES_VIVILLON] = sAnims_Vivillon, + [SPECIES_LITLEO] = sAnims_Litleo, + [SPECIES_PYROAR] = sAnims_Pyroar, + [SPECIES_FLABEBE] = sAnims_Flabebe, + [SPECIES_FLOETTE] = sAnims_Floette, + [SPECIES_FLORGES] = sAnims_Florges, + [SPECIES_SKIDDO] = sAnims_Skiddo, + [SPECIES_GOGOAT] = sAnims_Gogoat, + [SPECIES_PANCHAM] = sAnims_Pancham, + [SPECIES_PANGORO] = sAnims_Pangoro, + [SPECIES_FURFROU] = sAnims_Furfrou, + [SPECIES_ESPURR] = sAnims_Espurr, + [SPECIES_MEOWSTIC] = sAnims_Meowstic, + [SPECIES_HONEDGE] = sAnims_Honedge, + [SPECIES_DOUBLADE] = sAnims_Doublade, + [SPECIES_AEGISLASH] = sAnims_Aegislash, + [SPECIES_SPRITZEE] = sAnims_Spritzee, + [SPECIES_AROMATISSE] = sAnims_Aromatisse, + [SPECIES_SWIRLIX] = sAnims_Swirlix, + [SPECIES_SLURPUFF] = sAnims_Slurpuff, + [SPECIES_INKAY] = sAnims_Inkay, + [SPECIES_MALAMAR] = sAnims_Malamar, + [SPECIES_BINACLE] = sAnims_Binacle, + [SPECIES_BARBARACLE] = sAnims_Barbaracle, + [SPECIES_SKRELP] = sAnims_Skrelp, + [SPECIES_DRAGALGE] = sAnims_Dragalge, + [SPECIES_CLAUNCHER] = sAnims_Clauncher, + [SPECIES_CLAWITZER] = sAnims_Clawitzer, + [SPECIES_HELIOPTILE] = sAnims_Helioptile, + [SPECIES_HELIOLISK] = sAnims_Heliolisk, + [SPECIES_TYRUNT] = sAnims_Tyrunt, + [SPECIES_TYRANTRUM] = sAnims_Tyrantrum, + [SPECIES_AMAURA] = sAnims_Amaura, + [SPECIES_AURORUS] = sAnims_Aurorus, + [SPECIES_SYLVEON] = sAnims_Sylveon, + [SPECIES_HAWLUCHA] = sAnims_Hawlucha, + [SPECIES_DEDENNE] = sAnims_Dedenne, + [SPECIES_CARBINK] = sAnims_Carbink, + [SPECIES_GOOMY] = sAnims_Goomy, + [SPECIES_SLIGGOO] = sAnims_Sliggoo, + [SPECIES_GOODRA] = sAnims_Goodra, + [SPECIES_KLEFKI] = sAnims_Klefki, + [SPECIES_PHANTUMP] = sAnims_Phantump, + [SPECIES_TREVENANT] = sAnims_Trevenant, + [SPECIES_PUMPKABOO] = sAnims_Pumpkaboo, + [SPECIES_GOURGEIST] = sAnims_Gourgeist, + [SPECIES_BERGMITE] = sAnims_Bergmite, + [SPECIES_AVALUGG] = sAnims_Avalugg, + [SPECIES_NOIBAT] = sAnims_Noibat, + [SPECIES_NOIVERN] = sAnims_Noivern, + [SPECIES_XERNEAS] = sAnims_Xerneas, + [SPECIES_YVELTAL] = sAnims_Yveltal, + [SPECIES_ZYGARDE] = sAnims_Zygarde, + [SPECIES_DIANCIE] = sAnims_Diancie, + [SPECIES_HOOPA] = sAnims_Hoopa, + [SPECIES_VOLCANION] = sAnims_Volcanion, #endif #if P_GEN_7_POKEMON == TRUE - ANIM_CMD(ROWLET), - ANIM_CMD(DARTRIX), - ANIM_CMD(DECIDUEYE), - ANIM_CMD(LITTEN), - ANIM_CMD(TORRACAT), - ANIM_CMD(INCINEROAR), - ANIM_CMD(POPPLIO), - ANIM_CMD(BRIONNE), - ANIM_CMD(PRIMARINA), - ANIM_CMD(PIKIPEK), - ANIM_CMD(TRUMBEAK), - ANIM_CMD(TOUCANNON), - ANIM_CMD(YUNGOOS), - ANIM_CMD(GUMSHOOS), - ANIM_CMD(GRUBBIN), - ANIM_CMD(CHARJABUG), - ANIM_CMD(VIKAVOLT), - ANIM_CMD(CRABRAWLER), - ANIM_CMD(CRABOMINABLE), - ANIM_CMD(ORICORIO), - ANIM_CMD(CUTIEFLY), - ANIM_CMD(RIBOMBEE), - ANIM_CMD(ROCKRUFF), - ANIM_CMD(LYCANROC), - ANIM_CMD(WISHIWASHI), - ANIM_CMD(MAREANIE), - ANIM_CMD(TOXAPEX), - ANIM_CMD(MUDBRAY), - ANIM_CMD(MUDSDALE), - ANIM_CMD(DEWPIDER), - ANIM_CMD(ARAQUANID), - ANIM_CMD(FOMANTIS), - ANIM_CMD(LURANTIS), - ANIM_CMD(MORELULL), - ANIM_CMD(SHIINOTIC), - ANIM_CMD(SALANDIT), - ANIM_CMD(SALAZZLE), - ANIM_CMD(STUFFUL), - ANIM_CMD(BEWEAR), - ANIM_CMD(BOUNSWEET), - ANIM_CMD(STEENEE), - ANIM_CMD(TSAREENA), - ANIM_CMD(COMFEY), - ANIM_CMD(ORANGURU), - ANIM_CMD(PASSIMIAN), - ANIM_CMD(WIMPOD), - ANIM_CMD(GOLISOPOD), - ANIM_CMD(SANDYGAST), - ANIM_CMD(PALOSSAND), - ANIM_CMD(PYUKUMUKU), - ANIM_CMD(TYPE_NULL), - ANIM_CMD(SILVALLY), - ANIM_CMD(MINIOR), - ANIM_CMD(KOMALA), - ANIM_CMD(TURTONATOR), - ANIM_CMD(TOGEDEMARU), - ANIM_CMD(MIMIKYU), - ANIM_CMD(BRUXISH), - ANIM_CMD(DRAMPA), - ANIM_CMD(DHELMISE), - ANIM_CMD(JANGMO_O), - ANIM_CMD(HAKAMO_O), - ANIM_CMD(KOMMO_O), - ANIM_CMD(TAPU_KOKO), - ANIM_CMD(TAPU_LELE), - ANIM_CMD(TAPU_BULU), - ANIM_CMD(TAPU_FINI), - ANIM_CMD(COSMOG), - ANIM_CMD(COSMOEM), - ANIM_CMD(SOLGALEO), - ANIM_CMD(LUNALA), - ANIM_CMD(NIHILEGO), - ANIM_CMD(BUZZWOLE), - ANIM_CMD(PHEROMOSA), - ANIM_CMD(XURKITREE), - ANIM_CMD(CELESTEELA), - ANIM_CMD(KARTANA), - ANIM_CMD(GUZZLORD), - ANIM_CMD(NECROZMA), - ANIM_CMD(MAGEARNA), - ANIM_CMD(MARSHADOW), - ANIM_CMD(POIPOLE), - ANIM_CMD(NAGANADEL), - ANIM_CMD(STAKATAKA), - ANIM_CMD(BLACEPHALON), - ANIM_CMD(ZERAORA), - ANIM_CMD(MELTAN), - ANIM_CMD(MELMETAL), + [SPECIES_ROWLET] = sAnims_Rowlet, + [SPECIES_DARTRIX] = sAnims_Dartrix, + [SPECIES_DECIDUEYE] = sAnims_Decidueye, + [SPECIES_LITTEN] = sAnims_Litten, + [SPECIES_TORRACAT] = sAnims_Torracat, + [SPECIES_INCINEROAR] = sAnims_Incineroar, + [SPECIES_POPPLIO] = sAnims_Popplio, + [SPECIES_BRIONNE] = sAnims_Brionne, + [SPECIES_PRIMARINA] = sAnims_Primarina, + [SPECIES_PIKIPEK] = sAnims_Pikipek, + [SPECIES_TRUMBEAK] = sAnims_Trumbeak, + [SPECIES_TOUCANNON] = sAnims_Toucannon, + [SPECIES_YUNGOOS] = sAnims_Yungoos, + [SPECIES_GUMSHOOS] = sAnims_Gumshoos, + [SPECIES_GRUBBIN] = sAnims_Grubbin, + [SPECIES_CHARJABUG] = sAnims_Charjabug, + [SPECIES_VIKAVOLT] = sAnims_Vikavolt, + [SPECIES_CRABRAWLER] = sAnims_Crabrawler, + [SPECIES_CRABOMINABLE] = sAnims_Crabominable, + [SPECIES_ORICORIO] = sAnims_Oricorio, + [SPECIES_CUTIEFLY] = sAnims_Cutiefly, + [SPECIES_RIBOMBEE] = sAnims_Ribombee, + [SPECIES_ROCKRUFF] = sAnims_Rockruff, + [SPECIES_LYCANROC] = sAnims_Lycanroc, + [SPECIES_WISHIWASHI] = sAnims_Wishiwashi, + [SPECIES_MAREANIE] = sAnims_Mareanie, + [SPECIES_TOXAPEX] = sAnims_Toxapex, + [SPECIES_MUDBRAY] = sAnims_Mudbray, + [SPECIES_MUDSDALE] = sAnims_Mudsdale, + [SPECIES_DEWPIDER] = sAnims_Dewpider, + [SPECIES_ARAQUANID] = sAnims_Araquanid, + [SPECIES_FOMANTIS] = sAnims_Fomantis, + [SPECIES_LURANTIS] = sAnims_Lurantis, + [SPECIES_MORELULL] = sAnims_Morelull, + [SPECIES_SHIINOTIC] = sAnims_Shiinotic, + [SPECIES_SALANDIT] = sAnims_Salandit, + [SPECIES_SALAZZLE] = sAnims_Salazzle, + [SPECIES_STUFFUL] = sAnims_Stufful, + [SPECIES_BEWEAR] = sAnims_Bewear, + [SPECIES_BOUNSWEET] = sAnims_Bounsweet, + [SPECIES_STEENEE] = sAnims_Steenee, + [SPECIES_TSAREENA] = sAnims_Tsareena, + [SPECIES_COMFEY] = sAnims_Comfey, + [SPECIES_ORANGURU] = sAnims_Oranguru, + [SPECIES_PASSIMIAN] = sAnims_Passimian, + [SPECIES_WIMPOD] = sAnims_Wimpod, + [SPECIES_GOLISOPOD] = sAnims_Golisopod, + [SPECIES_SANDYGAST] = sAnims_Sandygast, + [SPECIES_PALOSSAND] = sAnims_Palossand, + [SPECIES_PYUKUMUKU] = sAnims_Pyukumuku, + [SPECIES_TYPE_NULL] = sAnims_TypeNull, + [SPECIES_SILVALLY] = sAnims_Silvally, + [SPECIES_MINIOR] = sAnims_Minior, + [SPECIES_KOMALA] = sAnims_Komala, + [SPECIES_TURTONATOR] = sAnims_Turtonator, + [SPECIES_TOGEDEMARU] = sAnims_Togedemaru, + [SPECIES_MIMIKYU] = sAnims_Mimikyu, + [SPECIES_BRUXISH] = sAnims_Bruxish, + [SPECIES_DRAMPA] = sAnims_Drampa, + [SPECIES_DHELMISE] = sAnims_Dhelmise, + [SPECIES_JANGMO_O] = sAnims_JANGMO_O, + [SPECIES_HAKAMO_O] = sAnims_HAKAMO_O, + [SPECIES_KOMMO_O] = sAnims_KOMMO_O, + [SPECIES_TAPU_KOKO] = sAnims_TapuKoko, + [SPECIES_TAPU_LELE] = sAnims_TapuLele, + [SPECIES_TAPU_BULU] = sAnims_TapuBulu, + [SPECIES_TAPU_FINI] = sAnims_TapuFini, + [SPECIES_COSMOG] = sAnims_Cosmog, + [SPECIES_COSMOEM] = sAnims_Cosmoem, + [SPECIES_SOLGALEO] = sAnims_Solgaleo, + [SPECIES_LUNALA] = sAnims_Lunala, + [SPECIES_NIHILEGO] = sAnims_Nihilego, + [SPECIES_BUZZWOLE] = sAnims_Buzzwole, + [SPECIES_PHEROMOSA] = sAnims_Pheromosa, + [SPECIES_XURKITREE] = sAnims_Xurkitree, + [SPECIES_CELESTEELA] = sAnims_Celesteela, + [SPECIES_KARTANA] = sAnims_Kartana, + [SPECIES_GUZZLORD] = sAnims_Guzzlord, + [SPECIES_NECROZMA] = sAnims_Necrozma, + [SPECIES_MAGEARNA] = sAnims_Magearna, + [SPECIES_MARSHADOW] = sAnims_Marshadow, + [SPECIES_POIPOLE] = sAnims_Poipole, + [SPECIES_NAGANADEL] = sAnims_Naganadel, + [SPECIES_STAKATAKA] = sAnims_Stakataka, + [SPECIES_BLACEPHALON] = sAnims_Blacephalon, + [SPECIES_ZERAORA] = sAnims_Zeraora, + [SPECIES_MELTAN] = sAnims_Meltan, + [SPECIES_MELMETAL] = sAnims_Melmetal, #endif #if P_GEN_8_POKEMON == TRUE - ANIM_CMD(GROOKEY), - ANIM_CMD(THWACKEY), - ANIM_CMD(RILLABOOM), - ANIM_CMD(SCORBUNNY), - ANIM_CMD(RABOOT), - ANIM_CMD(CINDERACE), - ANIM_CMD(SOBBLE), - ANIM_CMD(DRIZZILE), - ANIM_CMD(INTELEON), - ANIM_CMD(SKWOVET), - ANIM_CMD(GREEDENT), - ANIM_CMD(ROOKIDEE), - ANIM_CMD(CORVISQUIRE), - ANIM_CMD(CORVIKNIGHT), - ANIM_CMD(BLIPBUG), - ANIM_CMD(DOTTLER), - ANIM_CMD(ORBEETLE), - ANIM_CMD(NICKIT), - ANIM_CMD(THIEVUL), - ANIM_CMD(GOSSIFLEUR), - ANIM_CMD(ELDEGOSS), - ANIM_CMD(WOOLOO), - ANIM_CMD(DUBWOOL), - ANIM_CMD(CHEWTLE), - ANIM_CMD(DREDNAW), - ANIM_CMD(YAMPER), - ANIM_CMD(BOLTUND), - ANIM_CMD(ROLYCOLY), - ANIM_CMD(CARKOL), - ANIM_CMD(COALOSSAL), - ANIM_CMD(APPLIN), - ANIM_CMD(FLAPPLE), - ANIM_CMD(APPLETUN), - ANIM_CMD(SILICOBRA), - ANIM_CMD(SANDACONDA), - ANIM_CMD(CRAMORANT), - ANIM_CMD(ARROKUDA), - ANIM_CMD(BARRASKEWDA), - ANIM_CMD(TOXEL), - ANIM_CMD(TOXTRICITY), - ANIM_CMD(SIZZLIPEDE), - ANIM_CMD(CENTISKORCH), - ANIM_CMD(CLOBBOPUS), - ANIM_CMD(GRAPPLOCT), - ANIM_CMD(SINISTEA), - ANIM_CMD(POLTEAGEIST), - ANIM_CMD(HATENNA), - ANIM_CMD(HATTREM), - ANIM_CMD(HATTERENE), - ANIM_CMD(IMPIDIMP), - ANIM_CMD(MORGREM), - ANIM_CMD(GRIMMSNARL), - ANIM_CMD(OBSTAGOON), - ANIM_CMD(PERRSERKER), - ANIM_CMD(CURSOLA), - ANIM_CMD(SIRFETCHD), - ANIM_CMD(MR_RIME), - ANIM_CMD(RUNERIGUS), - ANIM_CMD(MILCERY), - ANIM_CMD(ALCREMIE), - ANIM_CMD(FALINKS), - ANIM_CMD(PINCURCHIN), - ANIM_CMD(SNOM), - ANIM_CMD(FROSMOTH), - ANIM_CMD(STONJOURNER), - ANIM_CMD(EISCUE), - ANIM_CMD(INDEEDEE), - ANIM_CMD(MORPEKO), - ANIM_CMD(CUFANT), - ANIM_CMD(COPPERAJAH), - ANIM_CMD(DRACOZOLT), - ANIM_CMD(ARCTOZOLT), - ANIM_CMD(DRACOVISH), - ANIM_CMD(ARCTOVISH), - ANIM_CMD(DURALUDON), - ANIM_CMD(DREEPY), - ANIM_CMD(DRAKLOAK), - ANIM_CMD(DRAGAPULT), - ANIM_CMD(ZACIAN), - ANIM_CMD(ZAMAZENTA), - ANIM_CMD(ETERNATUS), - ANIM_CMD(KUBFU), - ANIM_CMD(URSHIFU), - ANIM_CMD(ZARUDE), - ANIM_CMD(REGIELEKI), - ANIM_CMD(REGIDRAGO), - ANIM_CMD(GLASTRIER), - ANIM_CMD(SPECTRIER), - ANIM_CMD(CALYREX), - ANIM_CMD(WYRDEER), - ANIM_CMD(KLEAVOR), - ANIM_CMD(URSALUNA), - ANIM_CMD(BASCULEGION), - ANIM_CMD(SNEASLER), - ANIM_CMD(OVERQWIL), - ANIM_CMD(ENAMORUS), + [SPECIES_GROOKEY] = sAnims_Grookey, + [SPECIES_THWACKEY] = sAnims_Thwackey, + [SPECIES_RILLABOOM] = sAnims_Rillaboom, + [SPECIES_SCORBUNNY] = sAnims_Scorbunny, + [SPECIES_RABOOT] = sAnims_Raboot, + [SPECIES_CINDERACE] = sAnims_Cinderace, + [SPECIES_SOBBLE] = sAnims_Sobble, + [SPECIES_DRIZZILE] = sAnims_Drizzile, + [SPECIES_INTELEON] = sAnims_Inteleon, + [SPECIES_SKWOVET] = sAnims_Skwovet, + [SPECIES_GREEDENT] = sAnims_Greedent, + [SPECIES_ROOKIDEE] = sAnims_Rookidee, + [SPECIES_CORVISQUIRE] = sAnims_Corvisquire, + [SPECIES_CORVIKNIGHT] = sAnims_Corviknight, + [SPECIES_BLIPBUG] = sAnims_Blipbug, + [SPECIES_DOTTLER] = sAnims_Dottler, + [SPECIES_ORBEETLE] = sAnims_Orbeetle, + [SPECIES_NICKIT] = sAnims_Nickit, + [SPECIES_THIEVUL] = sAnims_Thievul, + [SPECIES_GOSSIFLEUR] = sAnims_Gossifleur, + [SPECIES_ELDEGOSS] = sAnims_Eldegoss, + [SPECIES_WOOLOO] = sAnims_Wooloo, + [SPECIES_DUBWOOL] = sAnims_Dubwool, + [SPECIES_CHEWTLE] = sAnims_Chewtle, + [SPECIES_DREDNAW] = sAnims_Drednaw, + [SPECIES_YAMPER] = sAnims_Yamper, + [SPECIES_BOLTUND] = sAnims_Boltund, + [SPECIES_ROLYCOLY] = sAnims_Rolycoly, + [SPECIES_CARKOL] = sAnims_Carkol, + [SPECIES_COALOSSAL] = sAnims_Coalossal, + [SPECIES_APPLIN] = sAnims_Applin, + [SPECIES_FLAPPLE] = sAnims_Flapple, + [SPECIES_APPLETUN] = sAnims_Appletun, + [SPECIES_SILICOBRA] = sAnims_Silicobra, + [SPECIES_SANDACONDA] = sAnims_Sandaconda, + [SPECIES_CRAMORANT] = sAnims_Cramorant, + [SPECIES_ARROKUDA] = sAnims_Arrokuda, + [SPECIES_BARRASKEWDA] = sAnims_Barraskewda, + [SPECIES_TOXEL] = sAnims_Toxel, + [SPECIES_TOXTRICITY] = sAnims_Toxtricity, + [SPECIES_SIZZLIPEDE] = sAnims_Sizzlipede, + [SPECIES_CENTISKORCH] = sAnims_Centiskorch, + [SPECIES_CLOBBOPUS] = sAnims_Clobbopus, + [SPECIES_GRAPPLOCT] = sAnims_Grapploct, + [SPECIES_SINISTEA] = sAnims_Sinistea, + [SPECIES_POLTEAGEIST] = sAnims_Polteageist, + [SPECIES_HATENNA] = sAnims_Hatenna, + [SPECIES_HATTREM] = sAnims_Hattrem, + [SPECIES_HATTERENE] = sAnims_Hatterene, + [SPECIES_IMPIDIMP] = sAnims_Impidimp, + [SPECIES_MORGREM] = sAnims_Morgrem, + [SPECIES_GRIMMSNARL] = sAnims_Grimmsnarl, + [SPECIES_OBSTAGOON] = sAnims_Obstagoon, + [SPECIES_PERRSERKER] = sAnims_Perrserker, + [SPECIES_CURSOLA] = sAnims_Cursola, + [SPECIES_SIRFETCHD] = sAnims_Sirfetchd, + [SPECIES_MR_RIME] = sAnims_MrRime, + [SPECIES_RUNERIGUS] = sAnims_Runerigus, + [SPECIES_MILCERY] = sAnims_Milcery, + [SPECIES_ALCREMIE] = sAnims_Alcremie, + [SPECIES_FALINKS] = sAnims_Falinks, + [SPECIES_PINCURCHIN] = sAnims_Pincurchin, + [SPECIES_SNOM] = sAnims_Snom, + [SPECIES_FROSMOTH] = sAnims_Frosmoth, + [SPECIES_STONJOURNER] = sAnims_Stonjourner, + [SPECIES_EISCUE] = sAnims_Eiscue, + [SPECIES_INDEEDEE] = sAnims_Indeedee, + [SPECIES_MORPEKO] = sAnims_Morpeko, + [SPECIES_CUFANT] = sAnims_Cufant, + [SPECIES_COPPERAJAH] = sAnims_Copperajah, + [SPECIES_DRACOZOLT] = sAnims_Dracozolt, + [SPECIES_ARCTOZOLT] = sAnims_Arctozolt, + [SPECIES_DRACOVISH] = sAnims_Dracovish, + [SPECIES_ARCTOVISH] = sAnims_Arctovish, + [SPECIES_DURALUDON] = sAnims_Duraludon, + [SPECIES_DREEPY] = sAnims_Dreepy, + [SPECIES_DRAKLOAK] = sAnims_Drakloak, + [SPECIES_DRAGAPULT] = sAnims_Dragapult, + [SPECIES_ZACIAN] = sAnims_Zacian, + [SPECIES_ZAMAZENTA] = sAnims_Zamazenta, + [SPECIES_ETERNATUS] = sAnims_Eternatus, + [SPECIES_KUBFU] = sAnims_Kubfu, + [SPECIES_URSHIFU] = sAnims_Urshifu, + [SPECIES_ZARUDE] = sAnims_Zarude, + [SPECIES_REGIELEKI] = sAnims_Regieleki, + [SPECIES_REGIDRAGO] = sAnims_Regidrago, + [SPECIES_GLASTRIER] = sAnims_Glastrier, + [SPECIES_SPECTRIER] = sAnims_Spectrier, + [SPECIES_CALYREX] = sAnims_Calyrex, + [SPECIES_WYRDEER] = sAnims_Wyrdeer, + [SPECIES_KLEAVOR] = sAnims_Kleavor, + [SPECIES_URSALUNA] = sAnims_Ursaluna, + [SPECIES_BASCULEGION] = sAnims_Basculegion, + [SPECIES_SNEASLER] = sAnims_Sneasler, + [SPECIES_OVERQWIL] = sAnims_Overqwil, + [SPECIES_ENAMORUS] = sAnims_Enamorus, #endif - ANIM_CMD(VENUSAUR_MEGA), - ANIM_CMD(CHARIZARD_MEGA_X), - ANIM_CMD(CHARIZARD_MEGA_Y), - ANIM_CMD(BLASTOISE_MEGA), - ANIM_CMD(BEEDRILL_MEGA), - ANIM_CMD(PIDGEOT_MEGA), - ANIM_CMD(ALAKAZAM_MEGA), - ANIM_CMD(SLOWBRO_MEGA), - ANIM_CMD(GENGAR_MEGA), - ANIM_CMD(KANGASKHAN_MEGA), - ANIM_CMD(PINSIR_MEGA), - ANIM_CMD(GYARADOS_MEGA), - ANIM_CMD(AERODACTYL_MEGA), - ANIM_CMD(MEWTWO_MEGA_X), - ANIM_CMD(MEWTWO_MEGA_Y), - ANIM_CMD(AMPHAROS_MEGA), - ANIM_CMD(STEELIX_MEGA), - ANIM_CMD(SCIZOR_MEGA), - ANIM_CMD(HERACROSS_MEGA), - ANIM_CMD(HOUNDOOM_MEGA), - ANIM_CMD(TYRANITAR_MEGA), - ANIM_CMD(SCEPTILE_MEGA), - ANIM_CMD(BLAZIKEN_MEGA), - ANIM_CMD(SWAMPERT_MEGA), - ANIM_CMD(GARDEVOIR_MEGA), - ANIM_CMD(SABLEYE_MEGA), - ANIM_CMD(MAWILE_MEGA), - ANIM_CMD(AGGRON_MEGA), - ANIM_CMD(MEDICHAM_MEGA), - ANIM_CMD(MANECTRIC_MEGA), - ANIM_CMD(SHARPEDO_MEGA), - ANIM_CMD(CAMERUPT_MEGA), - ANIM_CMD(ALTARIA_MEGA), - ANIM_CMD(BANETTE_MEGA), - ANIM_CMD(ABSOL_MEGA), - ANIM_CMD(GLALIE_MEGA), - ANIM_CMD(SALAMENCE_MEGA), - ANIM_CMD(METAGROSS_MEGA), - ANIM_CMD(LATIAS_MEGA), - ANIM_CMD(LATIOS_MEGA), + [SPECIES_VENUSAUR_MEGA] = sAnims_VenusaurMega, + [SPECIES_CHARIZARD_MEGA_X] = sAnims_CHARIZARD_MEGA_X, + [SPECIES_CHARIZARD_MEGA_Y] = sAnims_CHARIZARD_MEGA_Y, + [SPECIES_BLASTOISE_MEGA] = sAnims_BlastoiseMega, + [SPECIES_BEEDRILL_MEGA] = sAnims_BeedrillMega, + [SPECIES_PIDGEOT_MEGA] = sAnims_PidgeotMega, + [SPECIES_ALAKAZAM_MEGA] = sAnims_AlakazamMega, + [SPECIES_SLOWBRO_MEGA] = sAnims_SlowbroMega, + [SPECIES_GENGAR_MEGA] = sAnims_GengarMega, + [SPECIES_KANGASKHAN_MEGA] = sAnims_KangaskhanMega, + [SPECIES_PINSIR_MEGA] = sAnims_PinsirMega, + [SPECIES_GYARADOS_MEGA] = sAnims_GyaradosMega, + [SPECIES_AERODACTYL_MEGA] = sAnims_AerodactylMega, + [SPECIES_MEWTWO_MEGA_X] = sAnims_MEWTWO_MEGA_X, + [SPECIES_MEWTWO_MEGA_Y] = sAnims_MEWTWO_MEGA_Y, + [SPECIES_AMPHAROS_MEGA] = sAnims_AmpharosMega, + [SPECIES_STEELIX_MEGA] = sAnims_SteelixMega, + [SPECIES_SCIZOR_MEGA] = sAnims_ScizorMega, + [SPECIES_HERACROSS_MEGA] = sAnims_HeracrossMega, + [SPECIES_HOUNDOOM_MEGA] = sAnims_HoundoomMega, + [SPECIES_TYRANITAR_MEGA] = sAnims_TyranitarMega, + [SPECIES_SCEPTILE_MEGA] = sAnims_SceptileMega, + [SPECIES_BLAZIKEN_MEGA] = sAnims_BlazikenMega, + [SPECIES_SWAMPERT_MEGA] = sAnims_SwampertMega, + [SPECIES_GARDEVOIR_MEGA] = sAnims_GardevoirMega, + [SPECIES_SABLEYE_MEGA] = sAnims_SableyeMega, + [SPECIES_MAWILE_MEGA] = sAnims_MawileMega, + [SPECIES_AGGRON_MEGA] = sAnims_AggronMega, + [SPECIES_MEDICHAM_MEGA] = sAnims_MedichamMega, + [SPECIES_MANECTRIC_MEGA] = sAnims_ManectricMega, + [SPECIES_SHARPEDO_MEGA] = sAnims_SharpedoMega, + [SPECIES_CAMERUPT_MEGA] = sAnims_CameruptMega, + [SPECIES_ALTARIA_MEGA] = sAnims_AltariaMega, + [SPECIES_BANETTE_MEGA] = sAnims_BanetteMega, + [SPECIES_ABSOL_MEGA] = sAnims_AbsolMega, + [SPECIES_GLALIE_MEGA] = sAnims_GlalieMega, + [SPECIES_SALAMENCE_MEGA] = sAnims_SalamenceMega, + [SPECIES_METAGROSS_MEGA] = sAnims_MetagrossMega, + [SPECIES_LATIAS_MEGA] = sAnims_LatiasMega, + [SPECIES_LATIOS_MEGA] = sAnims_LatiosMega, #if P_GEN_4_POKEMON == TRUE - ANIM_CMD(LOPUNNY_MEGA), - ANIM_CMD(GARCHOMP_MEGA), - ANIM_CMD(LUCARIO_MEGA), - ANIM_CMD(ABOMASNOW_MEGA), - ANIM_CMD(GALLADE_MEGA), + [SPECIES_LOPUNNY_MEGA] = sAnims_LopunnyMega, + [SPECIES_GARCHOMP_MEGA] = sAnims_GarchompMega, + [SPECIES_LUCARIO_MEGA] = sAnims_LucarioMega, + [SPECIES_ABOMASNOW_MEGA] = sAnims_AbomasnowMega, + [SPECIES_GALLADE_MEGA] = sAnims_GalladeMega, #endif #if P_GEN_5_POKEMON == TRUE - ANIM_CMD(AUDINO_MEGA), + [SPECIES_AUDINO_MEGA] = sAnims_AudinoMega, #endif #if P_GEN_6_POKEMON == TRUE - ANIM_CMD(DIANCIE_MEGA), + [SPECIES_DIANCIE_MEGA] = sAnims_DiancieMega, #endif - ANIM_CMD(RAYQUAZA_MEGA), - ANIM_CMD(KYOGRE_PRIMAL), - ANIM_CMD(GROUDON_PRIMAL), - ANIM_CMD(RATTATA_ALOLAN), - ANIM_CMD(RATICATE_ALOLAN), - ANIM_CMD(RAICHU_ALOLAN), - ANIM_CMD(SANDSHREW_ALOLAN), - ANIM_CMD(SANDSLASH_ALOLAN), - ANIM_CMD(VULPIX_ALOLAN), - ANIM_CMD(NINETALES_ALOLAN), - ANIM_CMD(DIGLETT_ALOLAN), - ANIM_CMD(DUGTRIO_ALOLAN), - ANIM_CMD(MEOWTH_ALOLAN), - ANIM_CMD(PERSIAN_ALOLAN), - ANIM_CMD(GEODUDE_ALOLAN), - ANIM_CMD(GRAVELER_ALOLAN), - ANIM_CMD(GOLEM_ALOLAN), - ANIM_CMD(GRIMER_ALOLAN), - ANIM_CMD(MUK_ALOLAN), - ANIM_CMD(EXEGGUTOR_ALOLAN), - ANIM_CMD(MAROWAK_ALOLAN), - ANIM_CMD(MEOWTH_GALARIAN), - ANIM_CMD(PONYTA_GALARIAN), - ANIM_CMD(RAPIDASH_GALARIAN), - ANIM_CMD(SLOWPOKE_GALARIAN), - ANIM_CMD(SLOWBRO_GALARIAN), - ANIM_CMD(FARFETCHD_GALARIAN), - ANIM_CMD(WEEZING_GALARIAN), - ANIM_CMD(MR_MIME_GALARIAN), - ANIM_CMD(ARTICUNO_GALARIAN), - ANIM_CMD(ZAPDOS_GALARIAN), - ANIM_CMD(MOLTRES_GALARIAN), - ANIM_CMD(SLOWKING_GALARIAN), - ANIM_CMD(CORSOLA_GALARIAN), - ANIM_CMD(ZIGZAGOON_GALARIAN), - ANIM_CMD(LINOONE_GALARIAN), + [SPECIES_RAYQUAZA_MEGA] = sAnims_RayquazaMega, + [SPECIES_KYOGRE_PRIMAL] = sAnims_KyogrePrimal, + [SPECIES_GROUDON_PRIMAL] = sAnims_GroudonPrimal, + [SPECIES_RATTATA_ALOLAN] = sAnims_RattataAlolan, + [SPECIES_RATICATE_ALOLAN] = sAnims_RaticateAlolan, + [SPECIES_RAICHU_ALOLAN] = sAnims_RaichuAlolan, + [SPECIES_SANDSHREW_ALOLAN] = sAnims_SandshrewAlolan, + [SPECIES_SANDSLASH_ALOLAN] = sAnims_SandslashAlolan, + [SPECIES_VULPIX_ALOLAN] = sAnims_VulpixAlolan, + [SPECIES_NINETALES_ALOLAN] = sAnims_NinetalesAlolan, + [SPECIES_DIGLETT_ALOLAN] = sAnims_DiglettAlolan, + [SPECIES_DUGTRIO_ALOLAN] = sAnims_DugtrioAlolan, + [SPECIES_MEOWTH_ALOLAN] = sAnims_MeowthAlolan, + [SPECIES_PERSIAN_ALOLAN] = sAnims_PersianAlolan, + [SPECIES_GEODUDE_ALOLAN] = sAnims_GeodudeAlolan, + [SPECIES_GRAVELER_ALOLAN] = sAnims_GravelerAlolan, + [SPECIES_GOLEM_ALOLAN] = sAnims_GolemAlolan, + [SPECIES_GRIMER_ALOLAN] = sAnims_GrimerAlolan, + [SPECIES_MUK_ALOLAN] = sAnims_MukAlolan, + [SPECIES_EXEGGUTOR_ALOLAN] = sAnims_ExeggutorAlolan, + [SPECIES_MAROWAK_ALOLAN] = sAnims_MarowakAlolan, + [SPECIES_MEOWTH_GALARIAN] = sAnims_MeowthGalarian, + [SPECIES_PONYTA_GALARIAN] = sAnims_PonytaGalarian, + [SPECIES_RAPIDASH_GALARIAN] = sAnims_RapidashGalarian, + [SPECIES_SLOWPOKE_GALARIAN] = sAnims_SlowpokeGalarian, + [SPECIES_SLOWBRO_GALARIAN] = sAnims_SlowbroGalarian, + [SPECIES_FARFETCHD_GALARIAN] = sAnims_FarfetchdGalarian, + [SPECIES_WEEZING_GALARIAN] = sAnims_WeezingGalarian, + [SPECIES_MR_MIME_GALARIAN] = sAnims_MrMimeGalarian, + [SPECIES_ARTICUNO_GALARIAN] = sAnims_ArticunoGalarian, + [SPECIES_ZAPDOS_GALARIAN] = sAnims_ZapdosGalarian, + [SPECIES_MOLTRES_GALARIAN] = sAnims_MoltresGalarian, + [SPECIES_SLOWKING_GALARIAN] = sAnims_SlowkingGalarian, + [SPECIES_CORSOLA_GALARIAN] = sAnims_CorsolaGalarian, + [SPECIES_ZIGZAGOON_GALARIAN] = sAnims_ZigzagoonGalarian, + [SPECIES_LINOONE_GALARIAN] = sAnims_LinooneGalarian, #if P_GEN_5_POKEMON == TRUE - ANIM_CMD(DARUMAKA_GALARIAN), - ANIM_CMD(DARMANITAN_GALARIAN), - ANIM_CMD(YAMASK_GALARIAN), - ANIM_CMD(STUNFISK_GALARIAN), + [SPECIES_DARUMAKA_GALARIAN] = sAnims_DarumakaGalarian, + [SPECIES_DARMANITAN_GALARIAN] = sAnims_DarmanitanGalarian, + [SPECIES_YAMASK_GALARIAN] = sAnims_YamaskGalarian, + [SPECIES_STUNFISK_GALARIAN] = sAnims_StunfiskGalarian, #endif - ANIM_CMD(GROWLITHE_HISUIAN), - ANIM_CMD(ARCANINE_HISUIAN), - ANIM_CMD(VOLTORB_HISUIAN), - ANIM_CMD(ELECTRODE_HISUIAN), - ANIM_CMD(TYPHLOSION_HISUIAN), - ANIM_CMD(QWILFISH_HISUIAN), - ANIM_CMD(SNEASEL_HISUIAN), + [SPECIES_GROWLITHE_HISUIAN] = sAnims_GrowlitheHisuian, + [SPECIES_ARCANINE_HISUIAN] = sAnims_ArcanineHisuian, + [SPECIES_VOLTORB_HISUIAN] = sAnims_VoltorbHisuian, + [SPECIES_ELECTRODE_HISUIAN] = sAnims_ElectrodeHisuian, + [SPECIES_TYPHLOSION_HISUIAN] = sAnims_TyphlosionHisuian, + [SPECIES_QWILFISH_HISUIAN] = sAnims_QwilfishHisuian, + [SPECIES_SNEASEL_HISUIAN] = sAnims_SneaselHisuian, #if P_GEN_5_POKEMON == TRUE - ANIM_CMD(SAMUROTT_HISUIAN), - ANIM_CMD(LILLIGANT_HISUIAN), - ANIM_CMD(ZORUA_HISUIAN), - ANIM_CMD(ZOROARK_HISUIAN), - ANIM_CMD(BRAVIARY_HISUIAN), + [SPECIES_SAMUROTT_HISUIAN] = sAnims_SamurottHisuian, + [SPECIES_LILLIGANT_HISUIAN] = sAnims_LilligantHisuian, + [SPECIES_ZORUA_HISUIAN] = sAnims_ZoruaHisuian, + [SPECIES_ZOROARK_HISUIAN] = sAnims_ZoroarkHisuian, + [SPECIES_BRAVIARY_HISUIAN] = sAnims_BraviaryHisuian, #endif #if P_GEN_6_POKEMON == TRUE - ANIM_CMD(SLIGGOO_HISUIAN), - ANIM_CMD(GOODRA_HISUIAN), - ANIM_CMD(AVALUGG_HISUIAN), + [SPECIES_SLIGGOO_HISUIAN] = sAnims_SliggooHisuian, + [SPECIES_GOODRA_HISUIAN] = sAnims_GoodraHisuian, + [SPECIES_AVALUGG_HISUIAN] = sAnims_AvaluggHisuian, #endif #if P_GEN_7_POKEMON == TRUE - ANIM_CMD(DECIDUEYE_HISUIAN), + [SPECIES_DECIDUEYE_HISUIAN] = sAnims_DecidueyeHisuian, #endif - ANIM_CMD(PIKACHU_COSPLAY), - ANIM_CMD(PIKACHU_ROCK_STAR), - ANIM_CMD(PIKACHU_BELLE), - ANIM_CMD(PIKACHU_POP_STAR), - ANIM_CMD(PIKACHU_PH_D), - ANIM_CMD(PIKACHU_LIBRE), - ANIM_CMD(PIKACHU_ORIGINAL_CAP), - ANIM_CMD(PIKACHU_HOENN_CAP), - ANIM_CMD(PIKACHU_SINNOH_CAP), - ANIM_CMD(PIKACHU_UNOVA_CAP), - ANIM_CMD(PIKACHU_KALOS_CAP), - ANIM_CMD(PIKACHU_ALOLA_CAP), - ANIM_CMD(PIKACHU_PARTNER_CAP), - ANIM_CMD(PIKACHU_WORLD_CAP), - ANIM_CMD(PICHU_SPIKY_EARED), + [SPECIES_PIKACHU_COSPLAY] = sAnims_PikachuCosplay, + [SPECIES_PIKACHU_ROCK_STAR] = sAnims_PikachuRockStar, + [SPECIES_PIKACHU_BELLE] = sAnims_PikachuBelle, + [SPECIES_PIKACHU_POP_STAR] = sAnims_PikachuPopStar, + [SPECIES_PIKACHU_PH_D] = sAnims_PIKACHU_PH_D, + [SPECIES_PIKACHU_LIBRE] = sAnims_PikachuLibre, + [SPECIES_PIKACHU_ORIGINAL_CAP] = sAnims_PikachuOriginalCap, + [SPECIES_PIKACHU_HOENN_CAP] = sAnims_PikachuHoennCap, + [SPECIES_PIKACHU_SINNOH_CAP] = sAnims_PikachuSinnohCap, + [SPECIES_PIKACHU_UNOVA_CAP] = sAnims_PikachuUnovaCap, + [SPECIES_PIKACHU_KALOS_CAP] = sAnims_PikachuKalosCap, + [SPECIES_PIKACHU_ALOLA_CAP] = sAnims_PikachuAlolaCap, + [SPECIES_PIKACHU_PARTNER_CAP] = sAnims_PikachuPartnerCap, + [SPECIES_PIKACHU_WORLD_CAP] = sAnims_PikachuWorldCap, + [SPECIES_PICHU_SPIKY_EARED] = sAnims_PichuSpikyEared, [SPECIES_UNOWN_B] = sAnims_UnownB, [SPECIES_UNOWN_C] = sAnims_UnownC, [SPECIES_UNOWN_D] = sAnims_UnownD, @@ -12737,195 +12717,195 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[] = [SPECIES_CASTFORM_SUNNY] = sAnims_Castform, [SPECIES_CASTFORM_RAINY] = sAnims_Castform, [SPECIES_CASTFORM_SNOWY] = sAnims_Castform, - ANIM_CMD(DEOXYS_ATTACK), - ANIM_CMD(DEOXYS_DEFENSE), - ANIM_CMD(DEOXYS_SPEED), + [SPECIES_DEOXYS_ATTACK] = sAnims_DeoxysAttack, + [SPECIES_DEOXYS_DEFENSE] = sAnims_DeoxysDefense, + [SPECIES_DEOXYS_SPEED] = sAnims_DeoxysSpeed, #if P_GEN_4_POKEMON == TRUE - ANIM_CMD_FULL(BURMY_SANDY_CLOAK, sAnims_BURMY), - ANIM_CMD_FULL(BURMY_TRASH_CLOAK, sAnims_BURMY), - ANIM_CMD_FULL(WORMADAM_SANDY_CLOAK, sAnims_WORMADAM), - ANIM_CMD_FULL(WORMADAM_TRASH_CLOAK, sAnims_WORMADAM), - ANIM_CMD(CHERRIM_SUNSHINE), - ANIM_CMD_FULL(SHELLOS_EAST_SEA, sAnims_SHELLOS), - ANIM_CMD_FULL(GASTRODON_EAST_SEA, sAnims_GASTRODON), + [SPECIES_BURMY_SANDY_CLOAK] = sAnims_Burmy, + [SPECIES_BURMY_TRASH_CLOAK] = sAnims_Burmy, + [SPECIES_WORMADAM_SANDY_CLOAK] = sAnims_Wormadam, + [SPECIES_WORMADAM_TRASH_CLOAK] = sAnims_Wormadam, + [SPECIES_CHERRIM_SUNSHINE] = sAnims_CherrimSunshine, + [SPECIES_SHELLOS_EAST_SEA] = sAnims_Shellos, + [SPECIES_GASTRODON_EAST_SEA] = sAnims_Gastrodon, [SPECIES_ROTOM_HEAT] = sAnims_RotomHeat, [SPECIES_ROTOM_WASH] = sAnims_RotomWash, [SPECIES_ROTOM_FROST] = sAnims_RotomFrost, [SPECIES_ROTOM_FAN] = sAnims_RotomFan, [SPECIES_ROTOM_MOW] = sAnims_RotomMow, - ANIM_CMD(DIALGA_ORIGIN), - ANIM_CMD(PALKIA_ORIGIN), - ANIM_CMD(GIRATINA_ORIGIN), - ANIM_CMD(SHAYMIN_SKY), - ANIM_CMD_FULL(ARCEUS_FIGHTING, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_FLYING, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_POISON, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_GROUND, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_ROCK, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_BUG, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_GHOST, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_STEEL, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_FIRE, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_WATER, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_GRASS, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_ELECTRIC, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_PSYCHIC, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_ICE, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_DRAGON, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_DARK, sAnims_ARCEUS), - ANIM_CMD_FULL(ARCEUS_FAIRY, sAnims_ARCEUS), + [SPECIES_DIALGA_ORIGIN] = sAnims_DialgaOrigin, + [SPECIES_PALKIA_ORIGIN] = sAnims_PalkiaOrigin, + [SPECIES_GIRATINA_ORIGIN] = sAnims_GiratinaOrigin, + [SPECIES_SHAYMIN_SKY] = sAnims_ShayminSky, + [SPECIES_ARCEUS_FIGHTING] = sAnims_Arceus, + [SPECIES_ARCEUS_FLYING] = sAnims_Arceus, + [SPECIES_ARCEUS_POISON] = sAnims_Arceus, + [SPECIES_ARCEUS_GROUND] = sAnims_Arceus, + [SPECIES_ARCEUS_ROCK] = sAnims_Arceus, + [SPECIES_ARCEUS_BUG] = sAnims_Arceus, + [SPECIES_ARCEUS_GHOST] = sAnims_Arceus, + [SPECIES_ARCEUS_STEEL] = sAnims_Arceus, + [SPECIES_ARCEUS_FIRE] = sAnims_Arceus, + [SPECIES_ARCEUS_WATER] = sAnims_Arceus, + [SPECIES_ARCEUS_GRASS] = sAnims_Arceus, + [SPECIES_ARCEUS_ELECTRIC] = sAnims_Arceus, + [SPECIES_ARCEUS_PSYCHIC] = sAnims_Arceus, + [SPECIES_ARCEUS_ICE] = sAnims_Arceus, + [SPECIES_ARCEUS_DRAGON] = sAnims_Arceus, + [SPECIES_ARCEUS_DARK] = sAnims_Arceus, + [SPECIES_ARCEUS_FAIRY] = sAnims_Arceus, #endif #if P_GEN_5_POKEMON == TRUE - ANIM_CMD_FULL(BASCULIN_BLUE_STRIPED, sAnims_BASCULIN), - ANIM_CMD_FULL(BASCULIN_WHITE_STRIPED, sAnims_BASCULIN), - ANIM_CMD(DARMANITAN_ZEN_MODE), - ANIM_CMD(DARMANITAN_ZEN_MODE_GALARIAN), - ANIM_CMD_FULL(DEERLING_SUMMER, sAnims_DEERLING), - ANIM_CMD_FULL(DEERLING_AUTUMN, sAnims_DEERLING), - ANIM_CMD_FULL(DEERLING_WINTER, sAnims_DEERLING), - ANIM_CMD_FULL(SAWSBUCK_SUMMER, sAnims_SAWSBUCK), - ANIM_CMD_FULL(SAWSBUCK_AUTUMN, sAnims_SAWSBUCK), - ANIM_CMD_FULL(SAWSBUCK_WINTER, sAnims_SAWSBUCK), - ANIM_CMD(TORNADUS_THERIAN), - ANIM_CMD(THUNDURUS_THERIAN), - ANIM_CMD(LANDORUS_THERIAN), - ANIM_CMD(KYUREM_WHITE), - ANIM_CMD(KYUREM_BLACK), - ANIM_CMD(KELDEO_RESOLUTE), - ANIM_CMD(MELOETTA_PIROUETTE), - ANIM_CMD_FULL(GENESECT_DOUSE_DRIVE, sAnims_GENESECT), - ANIM_CMD_FULL(GENESECT_SHOCK_DRIVE, sAnims_GENESECT), - ANIM_CMD_FULL(GENESECT_BURN_DRIVE, sAnims_GENESECT), - ANIM_CMD_FULL(GENESECT_CHILL_DRIVE, sAnims_GENESECT), + [SPECIES_BASCULIN_BLUE_STRIPED] = sAnims_Basculin, + [SPECIES_BASCULIN_WHITE_STRIPED] = sAnims_Basculin, + [SPECIES_DARMANITAN_ZEN_MODE] = sAnims_DarmanitanZenMode, + [SPECIES_DARMANITAN_ZEN_MODE_GALARIAN] = sAnims_DarmanitanZenModeGalarian, + [SPECIES_DEERLING_SUMMER] = sAnims_Deerling, + [SPECIES_DEERLING_AUTUMN] = sAnims_Deerling, + [SPECIES_DEERLING_WINTER] = sAnims_Deerling, + [SPECIES_SAWSBUCK_SUMMER] = sAnims_Sawsbuck, + [SPECIES_SAWSBUCK_AUTUMN] = sAnims_Sawsbuck, + [SPECIES_SAWSBUCK_WINTER] = sAnims_Sawsbuck, + [SPECIES_TORNADUS_THERIAN] = sAnims_TornadusTherian, + [SPECIES_THUNDURUS_THERIAN] = sAnims_ThundurusTherian, + [SPECIES_LANDORUS_THERIAN] = sAnims_LandorusTherian, + [SPECIES_KYUREM_WHITE] = sAnims_KyuremWhite, + [SPECIES_KYUREM_BLACK] = sAnims_KyuremBlack, + [SPECIES_KELDEO_RESOLUTE] = sAnims_KeldeoResolute, + [SPECIES_MELOETTA_PIROUETTE] = sAnims_MeloettaPirouette, + [SPECIES_GENESECT_DOUSE_DRIVE] = sAnims_Genesect, + [SPECIES_GENESECT_SHOCK_DRIVE] = sAnims_Genesect, + [SPECIES_GENESECT_BURN_DRIVE] = sAnims_Genesect, + [SPECIES_GENESECT_CHILL_DRIVE] = sAnims_Genesect, #endif #if P_GEN_6_POKEMON == TRUE - ANIM_CMD_FULL(GRENINJA_BATTLE_BOND, sAnims_GRENINJA), - ANIM_CMD(GRENINJA_ASH), - ANIM_CMD_FULL(VIVILLON_POLAR, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_TUNDRA, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_CONTINENTAL, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_GARDEN, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_ELEGANT, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_MEADOW, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_MODERN, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_MARINE, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_ARCHIPELAGO, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_HIGH_PLAINS, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_SANDSTORM, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_RIVER, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_MONSOON, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_SAVANNA, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_SUN, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_OCEAN, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_JUNGLE, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_FANCY, sAnims_VIVILLON), - ANIM_CMD_FULL(VIVILLON_POKE_BALL, sAnims_VIVILLON), - ANIM_CMD_FULL(FLABEBE_YELLOW_FLOWER, sAnims_FLABEBE), - ANIM_CMD_FULL(FLABEBE_ORANGE_FLOWER, sAnims_FLABEBE), - ANIM_CMD_FULL(FLABEBE_BLUE_FLOWER, sAnims_FLABEBE), - ANIM_CMD_FULL(FLABEBE_WHITE_FLOWER, sAnims_FLABEBE), - ANIM_CMD_FULL(FLOETTE_YELLOW_FLOWER, sAnims_FLOETTE), - ANIM_CMD_FULL(FLOETTE_ORANGE_FLOWER, sAnims_FLOETTE), - ANIM_CMD_FULL(FLOETTE_BLUE_FLOWER, sAnims_FLOETTE), - ANIM_CMD_FULL(FLOETTE_WHITE_FLOWER, sAnims_FLOETTE), - ANIM_CMD_FULL(FLOETTE_ETERNAL_FLOWER, sAnims_FLOETTE), - ANIM_CMD_FULL(FLORGES_YELLOW_FLOWER, sAnims_FLORGES), - ANIM_CMD_FULL(FLORGES_ORANGE_FLOWER, sAnims_FLORGES), - ANIM_CMD_FULL(FLORGES_BLUE_FLOWER, sAnims_FLORGES), - ANIM_CMD_FULL(FLORGES_WHITE_FLOWER, sAnims_FLORGES), - ANIM_CMD_FULL(FURFROU_HEART_TRIM, sAnims_FURFROU), - ANIM_CMD_FULL(FURFROU_STAR_TRIM, sAnims_FURFROU), - ANIM_CMD_FULL(FURFROU_DIAMOND_TRIM, sAnims_FURFROU), - ANIM_CMD_FULL(FURFROU_DEBUTANTE_TRIM, sAnims_FURFROU), - ANIM_CMD_FULL(FURFROU_MATRON_TRIM, sAnims_FURFROU), - ANIM_CMD_FULL(FURFROU_DANDY_TRIM, sAnims_FURFROU), - ANIM_CMD_FULL(FURFROU_LA_REINE_TRIM, sAnims_FURFROU), - ANIM_CMD_FULL(FURFROU_KABUKI_TRIM, sAnims_FURFROU), - ANIM_CMD_FULL(FURFROU_PHARAOH_TRIM, sAnims_FURFROU), - ANIM_CMD_FULL(MEOWSTIC_FEMALE, sAnims_MEOWSTIC), - ANIM_CMD(AEGISLASH_BLADE), - ANIM_CMD_FULL(PUMPKABOO_SMALL, sAnims_PUMPKABOO), - ANIM_CMD_FULL(PUMPKABOO_LARGE, sAnims_PUMPKABOO), - ANIM_CMD_FULL(PUMPKABOO_SUPER, sAnims_PUMPKABOO), - ANIM_CMD_FULL(GOURGEIST_SMALL, sAnims_GOURGEIST), - ANIM_CMD_FULL(GOURGEIST_LARGE, sAnims_GOURGEIST), - ANIM_CMD_FULL(GOURGEIST_SUPER, sAnims_GOURGEIST), - ANIM_CMD_FULL(XERNEAS_ACTIVE, sAnims_XERNEAS), - ANIM_CMD(ZYGARDE_10), - ANIM_CMD_FULL(ZYGARDE_10_POWER_CONSTRUCT, sAnims_ZYGARDE_10), - ANIM_CMD_FULL(ZYGARDE_50_POWER_CONSTRUCT, sAnims_ZYGARDE), - ANIM_CMD(ZYGARDE_COMPLETE), - ANIM_CMD(HOOPA_UNBOUND), + [SPECIES_GRENINJA_BATTLE_BOND] = sAnims_Greninja, + [SPECIES_GRENINJA_ASH] = sAnims_GreninjaAsh, + [SPECIES_VIVILLON_POLAR] = sAnims_Vivillon, + [SPECIES_VIVILLON_TUNDRA] = sAnims_Vivillon, + [SPECIES_VIVILLON_CONTINENTAL] = sAnims_Vivillon, + [SPECIES_VIVILLON_GARDEN] = sAnims_Vivillon, + [SPECIES_VIVILLON_ELEGANT] = sAnims_Vivillon, + [SPECIES_VIVILLON_MEADOW] = sAnims_Vivillon, + [SPECIES_VIVILLON_MODERN] = sAnims_Vivillon, + [SPECIES_VIVILLON_MARINE] = sAnims_Vivillon, + [SPECIES_VIVILLON_ARCHIPELAGO] = sAnims_Vivillon, + [SPECIES_VIVILLON_HIGH_PLAINS] = sAnims_Vivillon, + [SPECIES_VIVILLON_SANDSTORM] = sAnims_Vivillon, + [SPECIES_VIVILLON_RIVER] = sAnims_Vivillon, + [SPECIES_VIVILLON_MONSOON] = sAnims_Vivillon, + [SPECIES_VIVILLON_SAVANNA] = sAnims_Vivillon, + [SPECIES_VIVILLON_SUN] = sAnims_Vivillon, + [SPECIES_VIVILLON_OCEAN] = sAnims_Vivillon, + [SPECIES_VIVILLON_JUNGLE] = sAnims_Vivillon, + [SPECIES_VIVILLON_FANCY] = sAnims_Vivillon, + [SPECIES_VIVILLON_POKE_BALL] = sAnims_Vivillon, + [SPECIES_FLABEBE_YELLOW_FLOWER] = sAnims_Flabebe, + [SPECIES_FLABEBE_ORANGE_FLOWER] = sAnims_Flabebe, + [SPECIES_FLABEBE_BLUE_FLOWER] = sAnims_Flabebe, + [SPECIES_FLABEBE_WHITE_FLOWER] = sAnims_Flabebe, + [SPECIES_FLOETTE_YELLOW_FLOWER] = sAnims_Floette, + [SPECIES_FLOETTE_ORANGE_FLOWER] = sAnims_Floette, + [SPECIES_FLOETTE_BLUE_FLOWER] = sAnims_Floette, + [SPECIES_FLOETTE_WHITE_FLOWER] = sAnims_Floette, + [SPECIES_FLOETTE_ETERNAL_FLOWER] = sAnims_Floette, + [SPECIES_FLORGES_YELLOW_FLOWER] = sAnims_Florges, + [SPECIES_FLORGES_ORANGE_FLOWER] = sAnims_Florges, + [SPECIES_FLORGES_BLUE_FLOWER] = sAnims_Florges, + [SPECIES_FLORGES_WHITE_FLOWER] = sAnims_Florges, + [SPECIES_FURFROU_HEART_TRIM] = sAnims_Furfrou, + [SPECIES_FURFROU_STAR_TRIM] = sAnims_Furfrou, + [SPECIES_FURFROU_DIAMOND_TRIM] = sAnims_Furfrou, + [SPECIES_FURFROU_DEBUTANTE_TRIM] = sAnims_Furfrou, + [SPECIES_FURFROU_MATRON_TRIM] = sAnims_Furfrou, + [SPECIES_FURFROU_DANDY_TRIM] = sAnims_Furfrou, + [SPECIES_FURFROU_LA_REINE_TRIM] = sAnims_Furfrou, + [SPECIES_FURFROU_KABUKI_TRIM] = sAnims_Furfrou, + [SPECIES_FURFROU_PHARAOH_TRIM] = sAnims_Furfrou, + [SPECIES_MEOWSTIC_FEMALE] = sAnims_Meowstic, + [SPECIES_AEGISLASH_BLADE] = sAnims_AegislashBlade, + [SPECIES_PUMPKABOO_SMALL] = sAnims_Pumpkaboo, + [SPECIES_PUMPKABOO_LARGE] = sAnims_Pumpkaboo, + [SPECIES_PUMPKABOO_SUPER] = sAnims_Pumpkaboo, + [SPECIES_GOURGEIST_SMALL] = sAnims_Gourgeist, + [SPECIES_GOURGEIST_LARGE] = sAnims_Gourgeist, + [SPECIES_GOURGEIST_SUPER] = sAnims_Gourgeist, + [SPECIES_XERNEAS_ACTIVE] = sAnims_Xerneas, + [SPECIES_ZYGARDE_10] = sAnims_Zygarde10, + [SPECIES_ZYGARDE_10_POWER_CONSTRUCT] = sAnims_Zygarde10, + [SPECIES_ZYGARDE_50_POWER_CONSTRUCT] = sAnims_Zygarde, + [SPECIES_ZYGARDE_COMPLETE] = sAnims_ZygardeComplete, + [SPECIES_HOOPA_UNBOUND] = sAnims_HoopaUnbound, #endif #if P_GEN_7_POKEMON == TRUE - ANIM_CMD_FULL(ORICORIO_POM_POM, sAnims_ORICORIO), - ANIM_CMD_FULL(ORICORIO_PAU, sAnims_ORICORIO), - ANIM_CMD_FULL(ORICORIO_SENSU, sAnims_ORICORIO), - ANIM_CMD_FULL(ROCKRUFF_OWN_TEMPO, sAnims_ROCKRUFF), - ANIM_CMD(LYCANROC_MIDNIGHT), - ANIM_CMD(LYCANROC_DUSK), - ANIM_CMD(WISHIWASHI_SCHOOL), - ANIM_CMD_FULL(SILVALLY_FIGHTING, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_FLYING, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_POISON, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_GROUND, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_ROCK, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_BUG, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_GHOST, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_STEEL, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_FIRE, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_WATER, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_GRASS, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_ELECTRIC, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_PSYCHIC, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_ICE, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_DRAGON, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_DARK, sAnims_SILVALLY), - ANIM_CMD_FULL(SILVALLY_FAIRY, sAnims_SILVALLY), - ANIM_CMD_FULL(MINIOR_METEOR_ORANGE, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_METEOR_YELLOW, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_METEOR_GREEN, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_METEOR_BLUE, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_METEOR_INDIGO, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_METEOR_VIOLET, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_CORE_RED, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_CORE_ORANGE, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_CORE_YELLOW, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_CORE_GREEN, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_CORE_BLUE, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_CORE_INDIGO, sAnims_MINIOR), - ANIM_CMD_FULL(MINIOR_CORE_VIOLET, sAnims_MINIOR), - ANIM_CMD(MIMIKYU_BUSTED), - ANIM_CMD_FULL(NECROZMA_DUSK_MANE, sAnims_NECROZMA), - ANIM_CMD_FULL(NECROZMA_DAWN_WINGS, sAnims_NECROZMA), - ANIM_CMD_FULL(NECROZMA_ULTRA, sAnims_NECROZMA), - ANIM_CMD_FULL(MAGEARNA_ORIGINAL_COLOR, sAnims_MAGEARNA), + [SPECIES_ORICORIO_POM_POM] = sAnims_Oricorio, + [SPECIES_ORICORIO_PAU] = sAnims_Oricorio, + [SPECIES_ORICORIO_SENSU] = sAnims_Oricorio, + [SPECIES_ROCKRUFF_OWN_TEMPO] = sAnims_Rockruff, + [SPECIES_LYCANROC_MIDNIGHT] = sAnims_LycanrocMidnight, + [SPECIES_LYCANROC_DUSK] = sAnims_LycanrocDusk, + [SPECIES_WISHIWASHI_SCHOOL] = sAnims_WishiwashiSchool, + [SPECIES_SILVALLY_FIGHTING] = sAnims_Silvally, + [SPECIES_SILVALLY_FLYING] = sAnims_Silvally, + [SPECIES_SILVALLY_POISON] = sAnims_Silvally, + [SPECIES_SILVALLY_GROUND] = sAnims_Silvally, + [SPECIES_SILVALLY_ROCK] = sAnims_Silvally, + [SPECIES_SILVALLY_BUG] = sAnims_Silvally, + [SPECIES_SILVALLY_GHOST] = sAnims_Silvally, + [SPECIES_SILVALLY_STEEL] = sAnims_Silvally, + [SPECIES_SILVALLY_FIRE] = sAnims_Silvally, + [SPECIES_SILVALLY_WATER] = sAnims_Silvally, + [SPECIES_SILVALLY_GRASS] = sAnims_Silvally, + [SPECIES_SILVALLY_ELECTRIC] = sAnims_Silvally, + [SPECIES_SILVALLY_PSYCHIC] = sAnims_Silvally, + [SPECIES_SILVALLY_ICE] = sAnims_Silvally, + [SPECIES_SILVALLY_DRAGON] = sAnims_Silvally, + [SPECIES_SILVALLY_DARK] = sAnims_Silvally, + [SPECIES_SILVALLY_FAIRY] = sAnims_Silvally, + [SPECIES_MINIOR_METEOR_ORANGE] = sAnims_Minior, + [SPECIES_MINIOR_METEOR_YELLOW] = sAnims_Minior, + [SPECIES_MINIOR_METEOR_GREEN] = sAnims_Minior, + [SPECIES_MINIOR_METEOR_BLUE] = sAnims_Minior, + [SPECIES_MINIOR_METEOR_INDIGO] = sAnims_Minior, + [SPECIES_MINIOR_METEOR_VIOLET] = sAnims_Minior, + [SPECIES_MINIOR_CORE_RED] = sAnims_Minior, + [SPECIES_MINIOR_CORE_ORANGE] = sAnims_Minior, + [SPECIES_MINIOR_CORE_YELLOW] = sAnims_Minior, + [SPECIES_MINIOR_CORE_GREEN] = sAnims_Minior, + [SPECIES_MINIOR_CORE_BLUE] = sAnims_Minior, + [SPECIES_MINIOR_CORE_INDIGO] = sAnims_Minior, + [SPECIES_MINIOR_CORE_VIOLET] = sAnims_Minior, + [SPECIES_MIMIKYU_BUSTED] = sAnims_MimikyuBusted, + [SPECIES_NECROZMA_DUSK_MANE] = sAnims_Necrozma, + [SPECIES_NECROZMA_DAWN_WINGS] = sAnims_Necrozma, + [SPECIES_NECROZMA_ULTRA] = sAnims_Necrozma, + [SPECIES_MAGEARNA_ORIGINAL_COLOR] = sAnims_Magearna, #endif #if P_GEN_8_POKEMON == TRUE - ANIM_CMD_FULL(CRAMORANT_GULPING, sAnims_CRAMORANT), - ANIM_CMD_FULL(CRAMORANT_GORGING, sAnims_CRAMORANT), - ANIM_CMD_FULL(TOXTRICITY_LOW_KEY, sAnims_TOXTRICITY), - ANIM_CMD_FULL(SINISTEA_ANTIQUE, sAnims_SINISTEA), - ANIM_CMD_FULL(POLTEAGEIST_ANTIQUE, sAnims_POLTEAGEIST), - ANIM_CMD_FULL(ALCREMIE_RUBY_CREAM, sAnims_ALCREMIE), - ANIM_CMD_FULL(ALCREMIE_MATCHA_CREAM, sAnims_ALCREMIE), - ANIM_CMD_FULL(ALCREMIE_MINT_CREAM, sAnims_ALCREMIE), - ANIM_CMD_FULL(ALCREMIE_LEMON_CREAM, sAnims_ALCREMIE), - ANIM_CMD_FULL(ALCREMIE_SALTED_CREAM, sAnims_ALCREMIE), - ANIM_CMD_FULL(ALCREMIE_RUBY_SWIRL, sAnims_ALCREMIE), - ANIM_CMD_FULL(ALCREMIE_CARAMEL_SWIRL, sAnims_ALCREMIE), - ANIM_CMD_FULL(ALCREMIE_RAINBOW_SWIRL, sAnims_ALCREMIE), - ANIM_CMD_FULL(EISCUE_NOICE_FACE, sAnims_EISCUE), - ANIM_CMD_FULL(INDEEDEE_FEMALE, sAnims_INDEEDEE), - ANIM_CMD_FULL(MORPEKO_HANGRY, sAnims_MORPEKO), - ANIM_CMD_FULL(ZACIAN_CROWNED_SWORD, sAnims_ZACIAN), - ANIM_CMD_FULL(ZAMAZENTA_CROWNED_SHIELD, sAnims_ZAMAZENTA), - ANIM_CMD_FULL(ETERNATUS_ETERNAMAX, sAnims_ETERNATUS), - ANIM_CMD_FULL(URSHIFU_RAPID_STRIKE_STYLE, sAnims_URSHIFU), - ANIM_CMD_FULL(ZARUDE_DADA, sAnims_ZARUDE), - ANIM_CMD_FULL(CALYREX_ICE_RIDER, sAnims_CALYREX), - ANIM_CMD_FULL(CALYREX_SHADOW_RIDER, sAnims_CALYREX), - ANIM_CMD(ENAMORUS_THERIAN), + [SPECIES_CRAMORANT_GULPING] = sAnims_Cramorant, + [SPECIES_CRAMORANT_GORGING] = sAnims_Cramorant, + [SPECIES_TOXTRICITY_LOW_KEY] = sAnims_Toxtricity, + [SPECIES_SINISTEA_ANTIQUE] = sAnims_Sinistea, + [SPECIES_POLTEAGEIST_ANTIQUE] = sAnims_Polteageist, + [SPECIES_ALCREMIE_RUBY_CREAM] = sAnims_Alcremie, + [SPECIES_ALCREMIE_MATCHA_CREAM] = sAnims_Alcremie, + [SPECIES_ALCREMIE_MINT_CREAM] = sAnims_Alcremie, + [SPECIES_ALCREMIE_LEMON_CREAM] = sAnims_Alcremie, + [SPECIES_ALCREMIE_SALTED_CREAM] = sAnims_Alcremie, + [SPECIES_ALCREMIE_RUBY_SWIRL] = sAnims_Alcremie, + [SPECIES_ALCREMIE_CARAMEL_SWIRL] = sAnims_Alcremie, + [SPECIES_ALCREMIE_RAINBOW_SWIRL] = sAnims_Alcremie, + [SPECIES_EISCUE_NOICE_FACE] = sAnims_Eiscue, + [SPECIES_INDEEDEE_FEMALE] = sAnims_Indeedee, + [SPECIES_MORPEKO_HANGRY] = sAnims_Morpeko, + [SPECIES_ZACIAN_CROWNED_SWORD] = sAnims_Zacian, + [SPECIES_ZAMAZENTA_CROWNED_SHIELD] = sAnims_Zamazenta, + [SPECIES_ETERNATUS_ETERNAMAX] = sAnims_Eternatus, + [SPECIES_URSHIFU_RAPID_STRIKE_STYLE] = sAnims_Urshifu, + [SPECIES_ZARUDE_DADA] = sAnims_Zarude, + [SPECIES_CALYREX_ICE_RIDER] = sAnims_Calyrex, + [SPECIES_CALYREX_SHADOW_RIDER] = sAnims_Calyrex, + [SPECIES_ENAMORUS_THERIAN] = sAnims_EnamorusTherian, #endif [SPECIES_EGG] = sAnims_Egg, }; From 4f951b78873329ce7c6c7ed5e40f1880e5346b53 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sat, 17 Dec 2022 03:44:19 -0300 Subject: [PATCH 086/130] Updated ENDTURN_PLASMA_FISTS --- src/battle_util.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/battle_util.c b/src/battle_util.c index 614912df9..40890960e 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -3223,8 +3223,7 @@ u8 DoBattlerEndTurnEffects(void) gBattleStruct->turnEffectsTracker++; break; case ENDTURN_PLASMA_FISTS: - for (i = 0; i < gBattlersCount; i++) - gStatuses4[i] &= ~STATUS4_PLASMA_FISTS; + gStatuses4[gActiveBattler] &= ~STATUS4_PLASMA_FISTS; gBattleStruct->turnEffectsTracker++; break; case ENDTURN_BATTLER_COUNT: // done From 089104cd9cfccded0bf8ad60c7e2e1c122007996 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sun, 18 Dec 2022 10:35:58 -0300 Subject: [PATCH 087/130] Update battle_script_commands.c --- src/battle_script_commands.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 29b4d89aa..903a44f56 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -10671,9 +10671,6 @@ static u16 ReverseStatChangeMoveEffect(u16 moveEffect) } } -#define STAT_CHANGE_WORKED 0 -#define STAT_CHANGE_DIDNT_WORK 1 - static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr) { bool32 certain = FALSE; From 55ba9d83643a268d369ff6599e0c6f29d154a94d Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 18 Dec 2022 13:17:33 -0300 Subject: [PATCH 088/130] Fixed right Frontier move tutor not loading their move list correctly. --- data/maps/BattleFrontier_Lounge7/scripts.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/data/maps/BattleFrontier_Lounge7/scripts.inc b/data/maps/BattleFrontier_Lounge7/scripts.inc index 9528dd11d..467f6ba9a 100644 --- a/data/maps/BattleFrontier_Lounge7/scripts.inc +++ b/data/maps/BattleFrontier_Lounge7/scripts.inc @@ -145,6 +145,7 @@ BattleFrontier_Lounge7_EventScript_ChooseRightTutorMove:: waitmessage special ShowBattlePointsWindow setvar VAR_TEMP_E, 1 + setvar VAR_0x8004, SCROLL_MULTI_BF_MOVE_TUTOR_2 setvar VAR_0x8006, 0 special ShowScrollableMultichoice waitstate @@ -168,6 +169,7 @@ BattleFrontier_Lounge7_EventScript_ChooseNewRightTutorMove:: message BattleFrontier_Lounge7_Text_TeachWhichMove waitmessage setvar VAR_TEMP_E, 1 + setvar VAR_0x8004, SCROLL_MULTI_BF_MOVE_TUTOR_2 setvar VAR_0x8006, 1 special ShowScrollableMultichoice waitstate From bd7d949f5f9a3eecb3f1edadc258f2a0a628d37b Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 18 Dec 2022 13:49:02 -0300 Subject: [PATCH 089/130] Fixed B_DOUBLE_WILD_CHANCE becoming 1% less than what's set --- 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 fe6af5a20..2c9730cd5 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -1104,7 +1104,7 @@ bool8 TryDoDoubleWildBattle(void) return TRUE; #endif #if B_DOUBLE_WILD_CHANCE != 0 - else if ((Random() % 100) + 1 < B_DOUBLE_WILD_CHANCE) + else if ((Random() % 100) + 1 <= B_DOUBLE_WILD_CHANCE) return TRUE; #endif return FALSE; From 9cd8d81412456f3fc3091b4293d44f8eac4df9fb Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 18 Dec 2022 15:37:44 -0800 Subject: [PATCH 090/130] Update battle_scripts_1.s Fixed spacing --- data/battle_scripts_1.s | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index dc8e0758b..62ed5f2e1 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -414,10 +414,10 @@ BattleScript_EffectTeatime:: attackanimation waitanimation BattleScript_TeatimeLoop: -jumpifteainvulnerable BS_TARGET, BattleScript_Teatimevul -jumpifrodaffected BS_TARGET, BattleScript_Teatimerod -jumpifabsorbaffected BS_TARGET, BattleScript_Teatimesorb -jumpifmotoraffected BS_TARGET, BattleScript_Teatimemotor + jumpifteainvulnerable BS_TARGET, BattleScript_Teatimevul + jumpifrodaffected BS_TARGET, BattleScript_Teatimerod + jumpifabsorbaffected BS_TARGET, BattleScript_Teatimesorb + jumpifmotoraffected BS_TARGET, BattleScript_Teatimemotor orword gHitMarker, HITMARKER_NO_ANIMATIONS setbyte sBERRY_OVERRIDE, TRUE @ override the requirements for eating berries consumeberry BS_TARGET, TRUE @ consume the berry, then restore the item from changedItems @@ -426,23 +426,23 @@ jumpifmotoraffected BS_TARGET, BattleScript_Teatimemotor moveendto MOVEEND_NEXT_TARGET jumpifnexttargetvalid BattleScript_TeatimeLoop moveendcase MOVEEND_CLEAR_BITS - goto BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_Teatimevul: moveendto MOVEEND_NEXT_TARGET jumpifnexttargetvalid BattleScript_TeatimeLoop moveendcase MOVEEND_CLEAR_BITS - goto BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_Teatimesorb: copybyte gBattlerAbility, gBattlerTarget call BattleScript_AbilityPopUp moveendto MOVEEND_NEXT_TARGET jumpifnexttargetvalid BattleScript_TeatimeLoop moveendcase MOVEEND_CLEAR_BITS - goto BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_Teatimerod: copybyte gBattlerAbility, gBattlerTarget call BattleScript_AbilityPopUp - playstatchangeanimation BS_TARGET, BIT_SPATK, STAT_CHANGE_BY_TWO + playstatchangeanimation BS_TARGET, BIT_SPATK, STAT_CHANGE_BY_TWO setstatchanger STAT_SPATK, 1, FALSE statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_TeatimeBuffer jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_TeatimeBuffer @@ -451,11 +451,11 @@ BattleScript_Teatimerod: moveendto MOVEEND_NEXT_TARGET jumpifnexttargetvalid BattleScript_TeatimeLoop moveendcase MOVEEND_CLEAR_BITS - goto BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_Teatimemotor: copybyte gBattlerAbility, gBattlerTarget call BattleScript_AbilityPopUp - playstatchangeanimation BS_TARGET, BIT_SPEED, STAT_CHANGE_BY_TWO + playstatchangeanimation BS_TARGET, BIT_SPEED, STAT_CHANGE_BY_TWO setstatchanger STAT_SPEED, 1, FALSE statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_TeatimeBuffer jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_TeatimeBuffer @@ -464,12 +464,12 @@ BattleScript_Teatimemotor: moveendto MOVEEND_NEXT_TARGET jumpifnexttargetvalid BattleScript_TeatimeLoop moveendcase MOVEEND_CLEAR_BITS - goto BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_TeatimeBuffer: moveendto MOVEEND_NEXT_TARGET jumpifnexttargetvalid BattleScript_TeatimeLoop moveendcase MOVEEND_CLEAR_BITS - goto BattleScript_MoveEnd + goto BattleScript_MoveEnd BattleScript_EffectShellSideArm: shellsidearmcheck From 44b522fd1c852f1e7d9073d9c400fc62cc6952e1 Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 18 Dec 2022 15:53:07 -0800 Subject: [PATCH 091/130] Update battle_script_commands.c Spacing --- src/battle_script_commands.c | 86 ++++++++++++++++++------------------ 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index d90f687ec..920953f05 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -9351,49 +9351,49 @@ static void Cmd_various(void) gBattlescriptCurrInstr += 7; return; } - case VARIOUS_TEATIME_TARGETS: - // Gets the battlers to be affected by teatime. If there are none, print 'But it failed!' - { - u32 count = 0; - for (i = 0; i < gBattlersCount; i++) - { - if (IsTeatimeAffected(i)) - { - count++; - } - } - if (count == 0) { - gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); // Teatime fails - } - else { - gBattlescriptCurrInstr += 7; - } - } - return; - case VARIOUS_TEATIME_INVUL: - if (ItemId_GetPocket(gBattleMons[gActiveBattler].item) == POCKET_BERRIES && !(gStatuses3[gBattlerTarget] & (STATUS3_SEMI_INVULNERABLE))) - gBattlescriptCurrInstr += 7; - else - gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); - return; - case VARIOUS_JUMP_IF_ROD: - if (IsAbilityRodAffected()) - gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); - else - gBattlescriptCurrInstr += 7; - return; - case VARIOUS_JUMP_IF_MOTOR: - if (IsAbilityMotorAffected()) - gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); - else - gBattlescriptCurrInstr += 7; - return; - case VARIOUS_JUMP_IF_ABSORB: - if (IsAbilityAbsorbAffected()) - gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); - else - gBattlescriptCurrInstr += 7; - return; + case VARIOUS_TEATIME_TARGETS: + // Gets the battlers to be affected by teatime. If there are none, print 'But it failed!' + { + u32 count = 0; + for (i = 0; i < gBattlersCount; i++) + { + if (IsTeatimeAffected(i)) + { + count++; + } + } + if (count == 0) { + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); // Teatime fails + } + else { + gBattlescriptCurrInstr += 7; + } + } + return; + case VARIOUS_TEATIME_INVUL: + if (ItemId_GetPocket(gBattleMons[gActiveBattler].item) == POCKET_BERRIES && !(gStatuses3[gBattlerTarget] & (STATUS3_SEMI_INVULNERABLE))) + gBattlescriptCurrInstr += 7; + else + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); + return; + case VARIOUS_JUMP_IF_ROD: + if (IsAbilityRodAffected()) + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); + else + gBattlescriptCurrInstr += 7; + return; + case VARIOUS_JUMP_IF_MOTOR: + if (IsAbilityMotorAffected()) + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); + else + gBattlescriptCurrInstr += 7; + return; + case VARIOUS_JUMP_IF_ABSORB: + if (IsAbilityAbsorbAffected()) + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); + else + gBattlescriptCurrInstr += 7; + return; } // End of switch (gBattlescriptCurrInstr[2]) gBattlescriptCurrInstr += 3; From b97a68656cded35a265caefd8c36b6ddd78dabb4 Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 18 Dec 2022 19:14:01 -0800 Subject: [PATCH 092/130] Delete battle_anim.h Need to replace with current... --- src/data/battle_anim.h | 1988 ---------------------------------------- 1 file changed, 1988 deletions(-) delete mode 100644 src/data/battle_anim.h diff --git a/src/data/battle_anim.h b/src/data/battle_anim.h deleted file mode 100644 index e6e03f06c..000000000 --- a/src/data/battle_anim.h +++ /dev/null @@ -1,1988 +0,0 @@ -const struct OamData gOamData_AffineOff_ObjNormal_8x8 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(8x8), - .x = 0, - .size = SPRITE_SIZE(8x8), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - - -const struct OamData gOamData_AffineOff_ObjNormal_16x16 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(16x16), - .x = 0, - .size = SPRITE_SIZE(16x16), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineOff_ObjNormal_32x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x32), - .x = 0, - .size = SPRITE_SIZE(32x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineOff_ObjNormal_64x64 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(64x64), - .x = 0, - .size = SPRITE_SIZE(64x64), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineOff_ObjNormal_16x8 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(16x8), - .x = 0, - .size = SPRITE_SIZE(16x8), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineOff_ObjNormal_32x8 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x8), - .x = 0, - .size = SPRITE_SIZE(32x8), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineOff_ObjNormal_32x16 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x16), - .x = 0, - .size = SPRITE_SIZE(32x16), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineOff_ObjNormal_64x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(64x32), - .x = 0, - .size = SPRITE_SIZE(64x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineOff_ObjNormal_8x16 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(8x16), - .x = 0, - .size = SPRITE_SIZE(8x16), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineOff_ObjNormal_8x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(8x32), - .x = 0, - .size = SPRITE_SIZE(8x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineOff_ObjNormal_16x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(16x32), - .x = 0, - .size = SPRITE_SIZE(16x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineOff_ObjNormal_32x64 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x64), - .x = 0, - .size = SPRITE_SIZE(32x64), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjNormal_8x8 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(8x8), - .x = 0, - .size = SPRITE_SIZE(8x8), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjNormal_16x16 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(16x16), - .x = 0, - .size = SPRITE_SIZE(16x16), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjNormal_32x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x32), - .x = 0, - .size = SPRITE_SIZE(32x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjNormal_64x64 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(64x64), - .x = 0, - .size = SPRITE_SIZE(64x64), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjNormal_16x8 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(16x8), - .x = 0, - .size = SPRITE_SIZE(16x8), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjNormal_32x8 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x8), - .x = 0, - .size = SPRITE_SIZE(32x8), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjNormal_32x16 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x16), - .x = 0, - .size = SPRITE_SIZE(32x16), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjNormal_64x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(64x32), - .x = 0, - .size = SPRITE_SIZE(64x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjNormal_8x16 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(8x16), - .x = 0, - .size = SPRITE_SIZE(8x16), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjNormal_8x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(8x32), - .x = 0, - .size = SPRITE_SIZE(8x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjNormal_16x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(16x32), - .x = 0, - .size = SPRITE_SIZE(16x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjNormal_32x64 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x64), - .x = 0, - .size = SPRITE_SIZE(32x64), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjNormal_8x8 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(8x8), - .x = 0, - .size = SPRITE_SIZE(8x8), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjNormal_16x16 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(16x16), - .x = 0, - .size = SPRITE_SIZE(16x16), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjNormal_32x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x32), - .x = 0, - .size = SPRITE_SIZE(32x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjNormal_64x64 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(64x64), - .x = 0, - .size = SPRITE_SIZE(64x64), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjNormal_16x8 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(16x8), - .x = 0, - .size = SPRITE_SIZE(16x8), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjNormal_32x8 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x8), - .x = 0, - .size = SPRITE_SIZE(32x8), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjNormal_32x16 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x16), - .x = 0, - .size = SPRITE_SIZE(32x16), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjNormal_64x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(64x32), - .x = 0, - .size = SPRITE_SIZE(64x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjNormal_8x16 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(8x16), - .x = 0, - .size = SPRITE_SIZE(8x16), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjNormal_8x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(8x32), - .x = 0, - .size = SPRITE_SIZE(8x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjNormal_16x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(16x32), - .x = 0, - .size = SPRITE_SIZE(16x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjNormal_32x64 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_NORMAL, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x64), - .x = 0, - .size = SPRITE_SIZE(32x64), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineOff_ObjBlend_8x8 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(8x8), - .x = 0, - .size = SPRITE_SIZE(8x8), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineOff_ObjBlend_16x16 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(16x16), - .x = 0, - .size = SPRITE_SIZE(16x16), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineOff_ObjBlend_32x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x32), - .x = 0, - .size = SPRITE_SIZE(32x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineOff_ObjBlend_64x64 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(64x64), - .x = 0, - .size = SPRITE_SIZE(64x64), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineOff_ObjBlend_16x8 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(16x8), - .x = 0, - .size = SPRITE_SIZE(16x8), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineOff_ObjBlend_32x8 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x8), - .x = 0, - .size = SPRITE_SIZE(32x8), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineOff_ObjBlend_32x16 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x16), - .x = 0, - .size = SPRITE_SIZE(32x16), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineOff_ObjBlend_64x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(64x32), - .x = 0, - .size = SPRITE_SIZE(64x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineOff_ObjBlend_8x16 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(8x16), - .x = 0, - .size = SPRITE_SIZE(8x16), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineOff_ObjBlend_8x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(8x32), - .x = 0, - .size = SPRITE_SIZE(8x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineOff_ObjBlend_16x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(16x32), - .x = 0, - .size = SPRITE_SIZE(16x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineOff_ObjBlend_32x64 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_OFF, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x64), - .x = 0, - .size = SPRITE_SIZE(32x64), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjBlend_8x8 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(8x8), - .x = 0, - .size = SPRITE_SIZE(8x8), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjBlend_16x16 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(16x16), - .x = 0, - .size = SPRITE_SIZE(16x16), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjBlend_32x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x32), - .x = 0, - .size = SPRITE_SIZE(32x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjBlend_64x64 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(64x64), - .x = 0, - .size = SPRITE_SIZE(64x64), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjBlend_16x8 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(16x8), - .x = 0, - .size = SPRITE_SIZE(16x8), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjBlend_32x8 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x8), - .x = 0, - .size = SPRITE_SIZE(32x8), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjBlend_32x16 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x16), - .x = 0, - .size = SPRITE_SIZE(32x16), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjBlend_64x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(64x32), - .x = 0, - .size = SPRITE_SIZE(64x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjBlend_8x16 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(8x16), - .x = 0, - .size = SPRITE_SIZE(8x16), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjBlend_8x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(8x32), - .x = 0, - .size = SPRITE_SIZE(8x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjBlend_16x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(16x32), - .x = 0, - .size = SPRITE_SIZE(16x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineNormal_ObjBlend_32x64 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_NORMAL, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x64), - .x = 0, - .size = SPRITE_SIZE(32x64), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjBlend_8x8 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(8x8), - .x = 0, - .size = SPRITE_SIZE(8x8), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjBlend_16x16 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(16x16), - .x = 0, - .size = SPRITE_SIZE(16x16), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjBlend_32x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x32), - .x = 0, - .size = SPRITE_SIZE(32x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjBlend_64x64 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(64x64), - .x = 0, - .size = SPRITE_SIZE(64x64), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjBlend_16x8 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(16x8), - .x = 0, - .size = SPRITE_SIZE(16x8), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjBlend_32x8 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x8), - .x = 0, - .size = SPRITE_SIZE(32x8), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjBlend_32x16 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x16), - .x = 0, - .size = SPRITE_SIZE(32x16), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjBlend_64x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(64x32), - .x = 0, - .size = SPRITE_SIZE(64x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjBlend_8x16 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(8x16), - .x = 0, - .size = SPRITE_SIZE(8x16), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjBlend_8x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(8x32), - .x = 0, - .size = SPRITE_SIZE(8x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjBlend_16x32 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(16x32), - .x = 0, - .size = SPRITE_SIZE(16x32), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct OamData gOamData_AffineDouble_ObjBlend_32x64 = -{ - .y = 0, - .affineMode = ST_OAM_AFFINE_DOUBLE, - .objMode = ST_OAM_OBJ_BLEND, - .bpp = ST_OAM_4BPP, - .shape = SPRITE_SHAPE(32x64), - .x = 0, - .size = SPRITE_SIZE(32x64), - .tileNum = 0, - .priority = 2, - .paletteNum = 0, -}; - -const struct CompressedSpriteSheet gBattleAnimPicTable[] = -{ - {gBattleAnimSpriteGfx_Bone, 0x0200, ANIM_TAG_BONE}, - {gBattleAnimSpriteGfx_Spark, 0x0300, ANIM_TAG_SPARK}, - {gBattleAnimSpriteGfx_Pencil, 0x0200, ANIM_TAG_PENCIL}, - {gBattleAnimSpriteGfx_AirWave, 0x0100, ANIM_TAG_AIR_WAVE}, - {gBattleAnimSpriteGfx_Orb, 0x0200, ANIM_TAG_ORB}, -#if B_NEW_SWORD_PARTICLE - {gBattleAnimSpriteGfx_NewSword, 0x0400, ANIM_TAG_SWORD}, -#else - {gBattleAnimSpriteGfx_Sword, 0x0400, ANIM_TAG_SWORD}, -#endif -#if B_NEW_LEECH_SEED_PARTICLE - {gBattleAnimSpriteGfx_NewLeechSeed, 0x0180, ANIM_TAG_SEED}, -#else - {gBattleAnimSpriteGfx_Seed, 0x0180, ANIM_TAG_SEED}, -#endif - {gBattleAnimSpriteGfx_Explosion6, 0x0800, ANIM_TAG_EXPLOSION_6}, - {gBattleAnimSpriteGfx_PinkOrb, 0x0020, ANIM_TAG_PINK_ORB}, - {gBattleAnimSpriteGfx_Gust, 0x0400, ANIM_TAG_GUST}, - {gBattleAnimSpriteGfx_IceCube, 0x1200, ANIM_TAG_ICE_CUBE}, - {gBattleAnimSpriteGfx_Spark2, 0x0180, ANIM_TAG_SPARK_2}, - {gBattleAnimSpriteGfx_Orange, 0x0080, ANIM_TAG_ORANGE}, - {gBattleAnimSpriteGfx_YellowBall, 0x0080, ANIM_TAG_YELLOW_BALL}, - {gBattleAnimSpriteGfx_LockOn, 0x0280, ANIM_TAG_LOCK_ON}, - {gBattleAnimSpriteGfx_TiedBag, 0x0080, ANIM_TAG_TIED_BAG}, - {gBattleAnimSpriteGfx_BlackSmoke, 0x0100, ANIM_TAG_BLACK_SMOKE}, - {gBattleAnimSpriteGfx_BlackBall, 0x0020, ANIM_TAG_BLACK_BALL}, - {gBattleAnimSpriteGfx_Conversion, 0x0080, ANIM_TAG_CONVERSION}, - {gBattleAnimSpriteGfx_Glass, 0x0400, ANIM_TAG_GLASS}, - {gBattleAnimSpriteGfx_HornHit, 0x0200, ANIM_TAG_HORN_HIT}, - {gBattleAnimSpriteGfx_Hit, 0x0A00, ANIM_TAG_HIT}, - {gBattleAnimSpriteGfx_Hit, 0x0A00, ANIM_TAG_HIT_2}, - {gBattleAnimSpriteGfx_BlueShards, 0x0380, ANIM_TAG_BLUE_SHARDS}, - {gBattleAnimSpriteGfx_ClosingEye, 0x0300, ANIM_TAG_CLOSING_EYE}, - {gBattleAnimSpriteGfx_WavingHand, 0x0A00, ANIM_TAG_WAVING_HAND}, - {gBattleAnimSpriteGfx_HitDuplicate, 0x0A00, ANIM_TAG_HIT_DUPLICATE}, - {gBattleAnimSpriteGfx_Leer, 0x0A00, ANIM_TAG_LEER}, - {gBattleAnimSpriteGfx_BlueBurst, 0x0A00, ANIM_TAG_BLUE_BURST}, -#if B_NEW_EMBER_PARTICLES - {gBattleAnimSpriteGfx_NewEmbers, 0x0A00, ANIM_TAG_SMALL_EMBER}, -#else - {gBattleAnimSpriteGfx_SmallEmber, 0x0A00, ANIM_TAG_SMALL_EMBER}, -#endif - {gBattleAnimSpriteGfx_GraySmoke, 0x0A00, ANIM_TAG_GRAY_SMOKE}, - {gBattleAnimSpriteGfx_BlueStar, 0x0E00, ANIM_TAG_BLUE_STAR}, - {gBattleAnimSpriteGfx_BubbleBurst, 0x0380, ANIM_TAG_BUBBLE_BURST}, - {gBattleAnimSpriteGfx_Fire, 0x1000, ANIM_TAG_FIRE}, - {gBattleAnimSpriteGfx_SpinningFire, 0x0800, ANIM_TAG_SPINNING_FIRE}, - {gBattleAnimSpriteGfx_FirePlume, 0x0A00, ANIM_TAG_FIRE_PLUME}, - {gBattleAnimSpriteGfx_Lightning2, 0x0800, ANIM_TAG_LIGHTNING_2}, - {gBattleAnimSpriteGfx_Lightning, 0x0A00, ANIM_TAG_LIGHTNING}, - {gBattleAnimSpriteGfx_ClawSlash2, 0x0A00, ANIM_TAG_CLAW_SLASH_2}, - {gBattleAnimSpriteGfx_ClawSlash, 0x0A00, ANIM_TAG_CLAW_SLASH}, - {gBattleAnimSpriteGfx_Scratch3, 0x0A00, ANIM_TAG_SCRATCH_3}, - {gBattleAnimSpriteGfx_Scratch2, 0x0A00, ANIM_TAG_SCRATCH_2}, - {gBattleAnimSpriteGfx_BubbleBurst2, 0x0A00, ANIM_TAG_BUBBLE_BURST_2}, - {gBattleAnimSpriteGfx_IceChunk, 0x0A00, ANIM_TAG_ICE_CHUNK}, - {gBattleAnimSpriteGfx_Glass2, 0x0A00, ANIM_TAG_GLASS_2}, - {gBattleAnimSpriteGfx_PinkHeart2, 0x0A00, ANIM_TAG_PINK_HEART_2}, - {gBattleAnimSpriteGfx_SapDrip, 0x1000, ANIM_TAG_SAP_DRIP}, - {gBattleAnimSpriteGfx_SapDrip, 0x1000, ANIM_TAG_SAP_DRIP_2}, - {gBattleAnimSpriteGfx_Sparkle1, 0x1000, ANIM_TAG_SPARKLE_1}, - {gBattleAnimSpriteGfx_Sparkle1, 0x1000, ANIM_TAG_SPARKLE_2}, - {gBattleAnimSpriteGfx_HumanoidFoot, 0x0200, ANIM_TAG_HUMANOID_FOOT}, - {gBattleAnimSpriteGfx_MonsterFoot, 0x0200, ANIM_TAG_MONSTER_FOOT}, - {gBattleAnimSpriteGfx_HumanoidHand, 0x0200, ANIM_TAG_HUMANOID_HAND}, - {gBattleAnimSpriteGfx_NoiseLine, 0x0800, ANIM_TAG_NOISE_LINE}, - {gBattleAnimSpriteGfx_YellowUnk, 0x0080, ANIM_TAG_YELLOW_UNK}, - {gBattleAnimSpriteGfx_RedFist, 0x0200, ANIM_TAG_RED_FIST}, - {gBattleAnimSpriteGfx_SlamHit, 0x1000, ANIM_TAG_SLAM_HIT}, - {gBattleAnimSpriteGfx_Ring, 0x0180, ANIM_TAG_RING}, -#if NEW_ROCKS_PARTICLE - {gBattleAnimSpriteGfx_NewRocks, 0x0C00, ANIM_TAG_ROCKS}, -#else - {gBattleAnimSpriteGfx_Rocks, 0x0C00, ANIM_TAG_ROCKS}, -#endif - {gBattleAnimSpriteGfx_Z, 0x0100, ANIM_TAG_Z}, - {gBattleAnimSpriteGfx_YellowUnk2, 0x0040, ANIM_TAG_YELLOW_UNK_2}, - {gBattleAnimSpriteGfx_AirSlash, 0x0180, ANIM_TAG_AIR_SLASH}, - {gBattleAnimSpriteGfx_SpinningGreenOrbs, 0x0800, ANIM_TAG_SPINNING_GREEN_ORBS}, -#if B_NEW_LEAF_PARTICLE - {gBattleAnimSpriteGfx_NewLeaf, 0x0480, ANIM_TAG_LEAF}, -#else - {gBattleAnimSpriteGfx_Leaf, 0x0480, ANIM_TAG_LEAF}, -#endif - {gBattleAnimSpriteGfx_Finger, 0x0200, ANIM_TAG_FINGER}, - {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_POISON_POWDER}, - {gBattleAnimSpriteGfx_BrownTriangle, 0x0100, ANIM_TAG_BROWN_TRIANGLE}, - {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_SLEEP_POWDER}, - {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_STUN_SPORE}, - {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_POWDER}, - {gBattleAnimSpriteGfx_Sparkle3, 0x0200, ANIM_TAG_SPARKLE_3}, - {gBattleAnimSpriteGfx_Sparkle4, 0x0A00, ANIM_TAG_SPARKLE_4}, - {gBattleAnimSpriteGfx_MusicNotes, 0x0300, ANIM_TAG_MUSIC_NOTES}, - {gBattleAnimSpriteGfx_Duck, 0x0180, ANIM_TAG_DUCK}, - {gBattleAnimSpriteGfx_MudSand, 0x00A0, ANIM_TAG_MUD_SAND}, - {gBattleAnimSpriteGfx_Alert, 0x0700, ANIM_TAG_ALERT}, - {gBattleAnimSpriteGfx_BlueFlames, 0x0400, ANIM_TAG_BLUE_FLAMES}, - {gBattleAnimSpriteGfx_BlueFlames2, 0x0200, ANIM_TAG_BLUE_FLAMES_2}, - {gBattleAnimSpriteGfx_Shock4, 0x0300, ANIM_TAG_SHOCK_4}, - {gBattleAnimSpriteGfx_Shock, 0x0C00, ANIM_TAG_SHOCK}, - {gBattleAnimSpriteGfx_Bell2, 0x0A00, ANIM_TAG_BELL_2}, - {gBattleAnimSpriteGfx_PinkGlove, 0x0080, ANIM_TAG_PINK_GLOVE}, - {gBattleAnimSpriteGfx_BlueLines, 0x0040, ANIM_TAG_BLUE_LINES}, - {gBattleAnimSpriteGfx_Impact3, 0x0E00, ANIM_TAG_IMPACT_3}, - {gBattleAnimSpriteGfx_Impact2, 0x0E00, ANIM_TAG_IMPACT_2}, - {gBattleAnimSpriteGfx_Reticle, 0x0280, ANIM_TAG_RETICLE}, - {gBattleAnimSpriteGfx_Breath, 0x0200, ANIM_TAG_BREATH}, - {gBattleAnimSpriteGfx_Anger, 0x0080, ANIM_TAG_ANGER}, - {gBattleAnimSpriteGfx_Snowball, 0x00C0, ANIM_TAG_SNOWBALL}, - {gBattleAnimSpriteGfx_Vine, 0x0A00, ANIM_TAG_VINE}, - {gBattleAnimSpriteGfx_Sword2, 0x0200, ANIM_TAG_SWORD_2}, - {gBattleAnimSpriteGfx_Clapping, 0x0180, ANIM_TAG_CLAPPING}, - {gBattleAnimSpriteGfx_RedTube, 0x0080, ANIM_TAG_RED_TUBE}, - {gBattleAnimSpriteGfx_Amnesia, 0x1000, ANIM_TAG_AMNESIA}, - {gBattleAnimSpriteGfx_String2, 0x0A00, ANIM_TAG_STRING_2}, - {gBattleAnimSpriteGfx_Pencil2, 0x0180, ANIM_TAG_PENCIL_2}, - {gBattleAnimSpriteGfx_Petal, 0x0380, ANIM_TAG_PETAL}, - {gBattleAnimSpriteGfx_BentSpoon, 0x0C00, ANIM_TAG_BENT_SPOON}, - {gBattleAnimSpriteGfx_Web, 0x0200, ANIM_TAG_WEB}, - {gBattleAnimSpriteGfx_MilkBottle, 0x0200, ANIM_TAG_MILK_BOTTLE}, - {gBattleAnimSpriteGfx_Coin, 0x0200, ANIM_TAG_COIN}, - {gBattleAnimSpriteGfx_CrackedEgg, 0x0200, ANIM_TAG_CRACKED_EGG}, - {gBattleAnimSpriteGfx_HatchedEgg, 0x0400, ANIM_TAG_HATCHED_EGG}, - {gBattleAnimSpriteGfx_FreshEgg, 0x0080, ANIM_TAG_FRESH_EGG}, - {gBattleAnimSpriteGfx_Fangs, 0x0400, ANIM_TAG_FANGS}, - {gBattleAnimSpriteGfx_Explosion2, 0x0c00, ANIM_TAG_EXPLOSION_2}, - {gBattleAnimSpriteGfx_Explosion3, 0x0200, ANIM_TAG_EXPLOSION_3}, - {gBattleAnimSpriteGfx_WaterDroplet, 0x1000, ANIM_TAG_WATER_DROPLET}, - {gBattleAnimSpriteGfx_WaterDroplet2, 0x0a00, ANIM_TAG_WATER_DROPLET_2}, - {gBattleAnimSpriteGfx_Seed2, 0x0020, ANIM_TAG_SEED_2}, - {gBattleAnimSpriteGfx_Sprout, 0x0e00, ANIM_TAG_SPROUT}, - {gBattleAnimSpriteGfx_RedWand, 0x0080, ANIM_TAG_RED_WAND}, - {gBattleAnimSpriteGfx_PurpleGreenUnk, 0x0a00, ANIM_TAG_PURPLE_GREEN_UNK}, - {gBattleAnimSpriteGfx_WaterColumn, 0x0400, ANIM_TAG_WATER_COLUMN}, - {gBattleAnimSpriteGfx_MudUnk, 0x0200, ANIM_TAG_MUD_UNK}, - {gBattleAnimSpriteGfx_RainDrops, 0x0700, ANIM_TAG_RAIN_DROPS}, - {gBattleAnimSpriteGfx_FurySwipes, 0x0800, ANIM_TAG_FURY_SWIPES}, - {gBattleAnimSpriteGfx_Vine2, 0x0a00, ANIM_TAG_VINE_2}, - {gBattleAnimSpriteGfx_Teeth, 0x0600, ANIM_TAG_TEETH}, - {gBattleAnimSpriteGfx_Bone2, 0x0800, ANIM_TAG_BONE_2}, - {gBattleAnimSpriteGfx_WhiteBag, 0x0200, ANIM_TAG_WHITE_BAG}, - {gBattleAnimSpriteGfx_Unknown, 0x0040, ANIM_TAG_UNKNOWN}, - {gBattleAnimSpriteGfx_PurpleCoral, 0x0180, ANIM_TAG_PURPLE_CORAL}, - {gBattleAnimSpriteGfx_PurpleDroplet, 0x0600, ANIM_TAG_PURPLE_DROPLET}, - {gBattleAnimSpriteGfx_Shock2, 0x0600, ANIM_TAG_SHOCK_2}, - {gBattleAnimSpriteGfx_ClosingEye2, 0x0200, ANIM_TAG_CLOSING_EYE_2}, - {gBattleAnimSpriteGfx_MetalBall, 0x0080, ANIM_TAG_METAL_BALL}, -#if NEW_SUBSTITUTE_PARTICLE - {gBattleAnimSpriteGfx_NewSubstituteFront, 0x0200, ANIM_TAG_MONSTER_DOLL}, -#else - {gBattleAnimSpriteGfx_MonsterDoll, 0x0200, ANIM_TAG_MONSTER_DOLL}, -#endif - {gBattleAnimSpriteGfx_Whirlwind, 0x0800, ANIM_TAG_WHIRLWIND}, - {gBattleAnimSpriteGfx_Whirlwind2, 0x0080, ANIM_TAG_WHIRLWIND_2}, - {gBattleAnimSpriteGfx_Explosion4, 0x0a00, ANIM_TAG_EXPLOSION_4}, - {gBattleAnimSpriteGfx_Explosion5, 0x0280, ANIM_TAG_EXPLOSION_5}, - {gBattleAnimSpriteGfx_Tongue, 0x0280, ANIM_TAG_TONGUE}, - {gBattleAnimSpriteGfx_Smoke, 0x0100, ANIM_TAG_SMOKE}, - {gBattleAnimSpriteGfx_Smoke2, 0x0200, ANIM_TAG_SMOKE_2}, - {gBattleAnimSpriteGfx_Impact, 0x0200, ANIM_TAG_IMPACT}, - {gBattleAnimSpriteGfx_CircleImpact, 0x0020, ANIM_TAG_CIRCLE_IMPACT}, - {gBattleAnimSpriteGfx_Scratch, 0x0a00, ANIM_TAG_SCRATCH}, - {gBattleAnimSpriteGfx_Cut, 0x0800, ANIM_TAG_CUT}, -#if B_NEW_TEETH_PARTICLE - {gBattleAnimSpriteGfx_NewTeeth, 0x0800, ANIM_TAG_SHARP_TEETH}, -#else - {gBattleAnimSpriteGfx_SharpTeeth, 0x0800, ANIM_TAG_SHARP_TEETH}, -#endif - {gBattleAnimSpriteGfx_RainbowRings, 0x00c0, ANIM_TAG_RAINBOW_RINGS}, - {gBattleAnimSpriteGfx_IceCrystals, 0x01c0, ANIM_TAG_ICE_CRYSTALS}, - {gBattleAnimSpriteGfx_IceSpikes, 0x0100, ANIM_TAG_ICE_SPIKES}, -#if B_NEW_HANDS_FEET_PARTICLE - {gBattleAnimSpriteGfx_NewHandsAndFeet, 0x0800, ANIM_TAG_HANDS_AND_FEET}, -#else - {gBattleAnimSpriteGfx_HandsAndFeet, 0x0800, ANIM_TAG_HANDS_AND_FEET}, -#endif - {gBattleAnimSpriteGfx_MistCloud, 0x0200, ANIM_TAG_MIST_CLOUD}, - {gBattleAnimSpriteGfx_Clamp, 0x0800, ANIM_TAG_CLAMP}, - {gBattleAnimSpriteGfx_Bubble, 0x0180, ANIM_TAG_BUBBLE}, - {gBattleAnimSpriteGfx_Orbs, 0x0180, ANIM_TAG_ORBS}, - {gBattleAnimSpriteGfx_WaterImpact, 0x0200, ANIM_TAG_WATER_IMPACT}, - {gBattleAnimSpriteGfx_WaterOrb, 0x0200, ANIM_TAG_WATER_ORB}, - {gBattleAnimSpriteGfx_PoisonBubble, 0x0180, ANIM_TAG_POISON_BUBBLE}, - {gBattleAnimSpriteGfx_ToxicBubble, 0x0400, ANIM_TAG_TOXIC_BUBBLE}, -#if B_NEW_SPIKES_PARTICLE - {gBattleAnimSpriteGfx_NewSpikes, 0x0080, ANIM_TAG_SPIKES}, -#else - {gBattleAnimSpriteGfx_Spikes, 0x0080, ANIM_TAG_SPIKES}, -#endif - {gBattleAnimSpriteGfx_HornHit2, 0x0100, ANIM_TAG_HORN_HIT_2}, - {gBattleAnimSpriteGfx_AirWave2, 0x0100, ANIM_TAG_AIR_WAVE_2}, - {gBattleAnimSpriteGfx_SmallBubbles, 0x0140, ANIM_TAG_SMALL_BUBBLES}, -#if B_NEW_FLY_BUBBLE_PARTICLE - {gBattleAnimSpriteGfx_NewFly, 0x0800, ANIM_TAG_ROUND_SHADOW}, -#else - {gBattleAnimSpriteGfx_RoundShadow, 0x0800, ANIM_TAG_ROUND_SHADOW}, -#endif - {gBattleAnimSpriteGfx_Sunlight, 0x0200, ANIM_TAG_SUNLIGHT}, - {gBattleAnimSpriteGfx_Spore, 0x0100, ANIM_TAG_SPORE}, - {gBattleAnimSpriteGfx_Flower, 0x00a0, ANIM_TAG_FLOWER}, - {gBattleAnimSpriteGfx_RazorLeaf, 0x0100, ANIM_TAG_RAZOR_LEAF}, - {gBattleAnimSpriteGfx_Needle, 0x0080, ANIM_TAG_NEEDLE}, - {gBattleAnimSpriteGfx_WhirlwindLines, 0x0300, ANIM_TAG_WHIRLWIND_LINES}, - {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_GOLD_RING}, - {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_PURPLE_RING}, - {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_BLUE_RING}, - {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_GREEN_LIGHT_WALL}, - {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_BLUE_LIGHT_WALL}, - {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_RED_LIGHT_WALL}, - {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_GRAY_LIGHT_WALL}, - {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_ORANGE_LIGHT_WALL}, - {gBattleAnimSpriteGfx_BlackBall2, 0x0080, ANIM_TAG_BLACK_BALL_2}, - {gBattleAnimSpriteGfx_MistCloud, 0x0200, ANIM_TAG_PURPLE_GAS_CLOUD}, - {gBattleAnimSpriteGfx_SparkH, 0x0200, ANIM_TAG_SPARK_H}, - {gBattleAnimSpriteGfx_YellowStar, 0x0200, ANIM_TAG_YELLOW_STAR}, - {gBattleAnimSpriteGfx_LargeFreshEgg, 0x0080, ANIM_TAG_LARGE_FRESH_EGG}, - {gBattleAnimSpriteGfx_ShadowBall, 0x0200, ANIM_TAG_SHADOW_BALL}, - {gBattleAnimSpriteGfx_Lick, 0x0500, ANIM_TAG_LICK}, - {gBattleAnimSpriteGfx_VoidLines, 0x0800, ANIM_TAG_VOID_LINES}, - {gBattleAnimSpriteGfx_String, 0x0400, ANIM_TAG_STRING}, - {gBattleAnimSpriteGfx_WebThread, 0x0020, ANIM_TAG_WEB_THREAD}, - {gBattleAnimSpriteGfx_SpiderWeb, 0x0800, ANIM_TAG_SPIDER_WEB}, - {gBattleAnimSpriteGfx_Lightbulb, 0x0100, ANIM_TAG_LIGHTBULB}, - {gBattleAnimSpriteGfx_Slash, 0x0800, ANIM_TAG_SLASH}, - {gBattleAnimSpriteGfx_FocusEnergy, 0x0400, ANIM_TAG_FOCUS_ENERGY}, - {gBattleAnimSpriteGfx_SphereToCube, 0x0a00, ANIM_TAG_SPHERE_TO_CUBE}, - {gBattleAnimSpriteGfx_Tendrils, 0x1000, ANIM_TAG_TENDRILS}, -#if B_NEW_MEAN_LOOK_PARTICLE - {gBattleAnimSpriteGfx_NewEye, 0x0800, ANIM_TAG_EYE}, -#else - {gBattleAnimSpriteGfx_Eye, 0x0800, ANIM_TAG_EYE}, -#endif - {gBattleAnimSpriteGfx_WhiteShadow, 0x0400, ANIM_TAG_WHITE_SHADOW}, - {gBattleAnimSpriteGfx_TealAlert, 0x0200, ANIM_TAG_TEAL_ALERT}, - {gBattleAnimSpriteGfx_OpeningEye, 0x0800, ANIM_TAG_OPENING_EYE}, - {gBattleAnimSpriteGfx_RoundWhiteHalo, 0x0800, ANIM_TAG_ROUND_WHITE_HALO}, - {gBattleAnimSpriteGfx_FangAttack, 0x0800, ANIM_TAG_FANG_ATTACK}, - {gBattleAnimSpriteGfx_PurpleHandOutline, 0x0200, ANIM_TAG_PURPLE_HAND_OUTLINE}, - {gBattleAnimSpriteGfx_Moon, 0x0800, ANIM_TAG_MOON}, - {gBattleAnimSpriteGfx_GreenSparkle, 0x0200, ANIM_TAG_GREEN_SPARKLE}, - {gBattleAnimSpriteGfx_Spiral, 0x0800, ANIM_TAG_SPIRAL}, - {gBattleAnimSpriteGfx_SnoreZ, 0x0200, ANIM_TAG_SNORE_Z}, - {gBattleAnimSpriteGfx_Explosion, 0x0800, ANIM_TAG_EXPLOSION}, -#if B_NEW_CURSE_NAIL_PARTICLE - {gBattleAnimSpriteGfx_NewNail, 0x0400, ANIM_TAG_NAIL}, -#else - {gBattleAnimSpriteGfx_Nail, 0x0400, ANIM_TAG_NAIL}, -#endif - {gBattleAnimSpriteGfx_GhostlySpirit, 0x0200, ANIM_TAG_GHOSTLY_SPIRIT}, - {gBattleAnimSpriteGfx_WarmRock, 0x0a80, ANIM_TAG_WARM_ROCK}, - {gBattleAnimSpriteGfx_BreakingEgg, 0x0600, ANIM_TAG_BREAKING_EGG}, - {gBattleAnimSpriteGfx_ThinRing, 0x0800, ANIM_TAG_THIN_RING}, - {gBattleAnimSpriteGfx_PunchImpact, 0x0200, ANIM_TAG_PUNCH_IMPACT}, - {gBattleAnimSpriteGfx_Bell, 0x0600, ANIM_TAG_BELL}, - {gBattleAnimSpriteGfx_MusicNotes2, 0x0800, ANIM_TAG_MUSIC_NOTES_2}, - {gBattleAnimSpriteGfx_SpeedDust, 0x0180, ANIM_TAG_SPEED_DUST}, - {gBattleAnimSpriteGfx_TornMetal, 0x0800, ANIM_TAG_TORN_METAL}, - {gBattleAnimSpriteGfx_ThoughtBubble, 0x0800, ANIM_TAG_THOUGHT_BUBBLE}, - {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_MAGENTA_HEART}, - {gBattleAnimSpriteGfx_ElectricOrbs, 0x0080, ANIM_TAG_ELECTRIC_ORBS}, - {gBattleAnimSpriteGfx_CircleOfLight, 0x0800, ANIM_TAG_CIRCLE_OF_LIGHT}, - {gBattleAnimSpriteGfx_Electricity, 0x0800, ANIM_TAG_ELECTRICITY}, - {gBattleAnimSpriteGfx_Finger2, 0x0600, ANIM_TAG_FINGER_2}, - {gBattleAnimSpriteGfx_MovementWaves, 0x0600, ANIM_TAG_MOVEMENT_WAVES}, - {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_RED_HEART}, - {gBattleAnimSpriteGfx_RedOrb, 0x0080, ANIM_TAG_RED_ORB}, - {gBattleAnimSpriteGfx_EyeSparkle, 0x0180, ANIM_TAG_EYE_SPARKLE}, - {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_PINK_HEART}, - {gBattleAnimSpriteGfx_Angel, 0x0200, ANIM_TAG_ANGEL}, - {gBattleAnimSpriteGfx_Devil, 0x0400, ANIM_TAG_DEVIL}, - {gBattleAnimSpriteGfx_Swipe, 0x0a00, ANIM_TAG_SWIPE}, - {gBattleAnimSpriteGfx_Roots, 0x0800, ANIM_TAG_ROOTS}, - {gBattleAnimSpriteGfx_ItemBag, 0x0200, ANIM_TAG_ITEM_BAG}, - {gBattleAnimSpriteGfx_JaggedMusicNote, 0x0400, ANIM_TAG_JAGGED_MUSIC_NOTE}, -#if B_NEW_BATON_PASS_BALL_PARTICLE - {gBattleAnimSpriteGfx_NewPokeball, 0x0080, ANIM_TAG_POKEBALL}, -#else - {gBattleAnimSpriteGfx_Pokeball, 0x0080, ANIM_TAG_POKEBALL}, -#endif - {gBattleAnimSpriteGfx_Spotlight, 0x0800, ANIM_TAG_SPOTLIGHT}, - {gBattleAnimSpriteGfx_LetterZ, 0x0200, ANIM_TAG_LETTER_Z}, - {gBattleAnimSpriteGfx_RapidSpin, 0x0300, ANIM_TAG_RAPID_SPIN}, - {gBattleAnimSpriteGfx_TriAttackTriangle, 0x0800, ANIM_TAG_TRI_ATTACK_TRIANGLE}, - {gBattleAnimSpriteGfx_WispOrb, 0x0380, ANIM_TAG_WISP_ORB}, - {gBattleAnimSpriteGfx_WispFire, 0x0800, ANIM_TAG_WISP_FIRE}, - {gBattleAnimSpriteGfx_GoldStars, 0x00c0, ANIM_TAG_GOLD_STARS}, - {gBattleAnimSpriteGfx_EclipsingOrb, 0x0800, ANIM_TAG_ECLIPSING_ORB}, - {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_GRAY_ORB}, - {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_BLUE_ORB}, - {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_RED_ORB_2}, - {gBattleAnimSpriteGfx_PinkPetal, 0x0080, ANIM_TAG_PINK_PETAL}, - {gBattleAnimSpriteGfx_PainSplit, 0x0180, ANIM_TAG_PAIN_SPLIT}, - {gBattleAnimSpriteGfx_Confetti, 0x0180, ANIM_TAG_CONFETTI}, -#if B_NEW_MORNING_SUN_STAR_PARTICLE - {gBattleAnimSpriteGfx_NewGreenStar, 0x0200, ANIM_TAG_GREEN_STAR}, -#else - {gBattleAnimSpriteGfx_GreenStar, 0x0200, ANIM_TAG_GREEN_STAR}, -#endif - {gBattleAnimSpriteGfx_PinkCloud, 0x0200, ANIM_TAG_PINK_CLOUD}, - {gBattleAnimSpriteGfx_SweatDrop, 0x0020, ANIM_TAG_SWEAT_DROP}, - {gBattleAnimSpriteGfx_GuardRing, 0x0400, ANIM_TAG_GUARD_RING}, - {gBattleAnimSpriteGfx_PurpleScratch, 0x0600, ANIM_TAG_PURPLE_SCRATCH}, - {gBattleAnimSpriteGfx_PurpleSwipe, 0x1000, ANIM_TAG_PURPLE_SWIPE}, - {gBattleAnimSpriteGfx_TagHand, 0x0400, ANIM_TAG_TAG_HAND}, - {gBattleAnimSpriteGfx_SmallRedEye, 0x0020, ANIM_TAG_SMALL_RED_EYE}, - {gBattleAnimSpriteGfx_HollowOrb, 0x0080, ANIM_TAG_HOLLOW_ORB}, - {gBattleAnimSpriteGfx_XSign, 0x0800, ANIM_TAG_X_SIGN}, - {gBattleAnimSpriteGfx_BluegreenOrb, 0x0080, ANIM_TAG_BLUEGREEN_ORB}, - {gBattleAnimSpriteGfx_PawPrint, 0x0200, ANIM_TAG_PAW_PRINT}, - {gBattleAnimSpriteGfx_PurpleFlame, 0x0400, ANIM_TAG_PURPLE_FLAME}, - {gBattleAnimSpriteGfx_RedBall, 0x0200, ANIM_TAG_RED_BALL}, - {gBattleAnimSpriteGfx_SmellingsaltEffect, 0x0200, ANIM_TAG_SMELLINGSALT_EFFECT}, - {gBattleAnimSpriteGfx_Meteor, 0x0800, ANIM_TAG_METEOR}, - {gBattleAnimSpriteGfx_FlatRock, 0x0280, ANIM_TAG_FLAT_ROCK}, - {gBattleAnimSpriteGfx_MagnifyingGlass, 0x0200, ANIM_TAG_MAGNIFYING_GLASS}, - {gBattleAnimSpriteGfx_WaterOrb, 0x0200, ANIM_TAG_BROWN_ORB}, - {gBattleAnimSpriteGfx_MetalSoundWaves, 0x0400, ANIM_TAG_METAL_SOUND_WAVES}, - {gBattleAnimSpriteGfx_FlyingDirt, 0x0200, ANIM_TAG_FLYING_DIRT}, - {gBattleAnimSpriteGfx_IcicleSpear, 0x0200, ANIM_TAG_ICICLE_SPEAR}, - {gBattleAnimSpriteGfx_Hail, 0x0080, ANIM_TAG_HAIL}, - {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_RED_ORB}, - {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_GREEN_ORB}, - {gBattleAnimSpriteGfx_GreenSpike, 0x0080, ANIM_TAG_GREEN_SPIKE}, - {gBattleAnimSpriteGfx_CircleOfLight, 0x0800, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT}, - {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_BLUE_ORB}, - {gBattleAnimSpriteGfx_Pokeblock, 0x0080, ANIM_TAG_POKEBLOCK}, - {gBattleAnimSpriteGfx_WhiteFeather, 0x0400, ANIM_TAG_WHITE_FEATHER}, - {gBattleAnimSpriteGfx_Sparkle6, 0x0080, ANIM_TAG_SPARKLE_6}, - {gBattleAnimSpriteGfx_Splash, 0x0800, ANIM_TAG_SPLASH}, - {gBattleAnimSpriteGfx_SweatBead, 0x0020, ANIM_TAG_SWEAT_BEAD}, - {gBattleAnimSpriteGfx_Gem1, 0x0800, ANIM_TAG_GEM_1}, - {gBattleAnimSpriteGfx_Gem2, 0x0800, ANIM_TAG_GEM_2}, - {gBattleAnimSpriteGfx_Gem3, 0x0800, ANIM_TAG_GEM_3}, - {gBattleAnimSpriteGfx_SlamHit2, 0x1000, ANIM_TAG_SLAM_HIT_2}, - {gBattleAnimSpriteGfx_Recycle, 0x0800, ANIM_TAG_RECYCLE}, - {gBattleAnimSpriteGfx_RedParticles, 0x00a0, ANIM_TAG_RED_PARTICLES}, - {gBattleAnimSpriteGfx_Protect, 0x0800, ANIM_TAG_PROTECT}, - {gBattleAnimSpriteGfx_DirtMound, 0x0200, ANIM_TAG_DIRT_MOUND}, - {gBattleAnimSpriteGfx_Shock3, 0x0600, ANIM_TAG_SHOCK_3}, - {gBattleAnimSpriteGfx_WeatherBall, 0x0200, ANIM_TAG_WEATHER_BALL}, - {gBattleAnimSpriteGfx_Bird, 0x0800, ANIM_TAG_BIRD}, - {gBattleAnimSpriteGfx_CrossImpact, 0x0200, ANIM_TAG_CROSS_IMPACT}, - {gBattleAnimSpriteGfx_Slash, 0x0800, ANIM_TAG_SLASH_2}, - {gBattleAnimSpriteGfx_SlamHit, 0x1000, ANIM_TAG_WHIP_HIT}, - {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_BLUE_RING_2}, - {gBattleAnimSpriteGfx_WhiteStreak, 0x0200, ANIM_TAG_WHITE_STREAK}, - {gBattleAnimSpriteGfx_PurpleJab, 0x0100, ANIM_TAG_PURPLE_JAB}, - {gBattleAnimSpriteGfx_Spikes, 0x0080, ANIM_TAG_TOXIC_SPIKES}, - {gBattleAnimSpriteGfx_EnergyBall, 0x0200, ANIM_TAG_ENERGY_BALL}, - {gBattleAnimSpriteGfx_SeedBrown, 0x0080, ANIM_TAG_SEED_BROWN}, - {gBattleAnimSpriteGfx_Feint, 0x0800, ANIM_TAG_FEINT}, - {gBattleAnimSpriteGfx_MegaStone, 0x800, ANIM_TAG_MEGA_STONE}, - {gBattleAnimSpriteGfx_MegaSymbol, 0x0200, ANIM_TAG_MEGA_SYMBOL}, - {gBattleAnimSpriteGfx_MegaParticles, 0x0180, ANIM_TAG_MEGA_PARTICLES}, - {gBattleAnimSpriteGfx_TrumpCard, 0x0180, ANIM_TAG_TRUMP_CARD}, - {gBattleAnimSpriteGfx_TrumpCardParticles, 0x0060, ANIM_TAG_TRUMP_CARD_PARTICLES}, - {gBattleAnimSpriteGfx_Acupressure, 0x0200, ANIM_TAG_ACUPRESSURE}, - {gBattleAnimSpriteGfx_WringOut, 0x0200, ANIM_TAG_WRING_OUT}, - {gBattleAnimSpriteGfx_ColoredOrbs, 0x0300, ANIM_TAG_COLORED_ORBS}, - {gBattleAnimSpriteGfx_WorrySeed, 0x0080, ANIM_TAG_WORRY_SEED}, - {gBattleAnimSpriteGfx_SmallCloud, 0x0080, ANIM_TAG_SMALL_CLOUD}, - {gBattleAnimSpriteGfx_AttackOrder, 0x0480, ANIM_TAG_ATTACK_ORDER}, - {gBattleAnimSpriteGfx_DragonPulse, 0x0100, ANIM_TAG_DRAGON_PULSE}, - {gBattleAnimSpriteGfx_WoodHammer, 0x0C00, ANIM_TAG_WOOD_HAMMER}, - {gBattleAnimSpriteGfx_PsychoCut, 0x0200, ANIM_TAG_PSYCHO_CUT}, - {gBattleAnimSpriteGfx_PowerGem, 0x0080, ANIM_TAG_POWER_GEM}, - {gBattleAnimSpriteGfx_StoneEdge, 0x0A00, ANIM_TAG_STONE_EDGE}, - {gBattleAnimSpriteGfx_StealthRock, 0x0080, ANIM_TAG_STEALTH_ROCK}, - {gBattleAnimSpriteGfx_PoisonJab, 0x0080, ANIM_TAG_POISON_JAB}, - {gBattleAnimSpriteGfx_PoisonBubble, 0x0180, ANIM_TAG_GREEN_POISON_BUBBLE}, - {gBattleAnimSpriteGfx_FlashCannonBall, 0x200, ANIM_TAG_FLASH_CANNON_BALL}, - {gBattleAnimSpriteGfx_WaterGun, 0x180, ANIM_TAG_WATER_GUN}, - {gBattleAnimSpriteGfx_Punishment, 0xa00, ANIM_TAG_PUNISHMENT_BLADES}, - {gBattleAnimSpriteGfx_QuickGuard, 0x200, ANIM_TAG_QUICK_GUARD_HAND}, - {gBattleAnimSpriteGfx_ShellRight, 0x800, ANIM_TAG_SHELL_RIGHT}, - {gBattleAnimSpriteGfx_ShellLeft, 0x800, ANIM_TAG_SHELL_LEFT}, - {gBattleAnimSpriteGfx_RazorShell, 0x200, ANIM_TAG_RAZOR_SHELL}, - {gBattleAnimSpriteGfx_HydroPump, 0x200, ANIM_TAG_HYDRO_PUMP}, - {gBattleAnimSpriteGfx_Brine, 0xc00, ANIM_TAG_BRINE}, - {gBattleAnimSpriteGfx_Gear, 0x200, ANIM_TAG_GEAR}, - {gBattleAnimSpriteGfx_AssuranceHand, 0x200, ANIM_TAG_ASSURANCE_HAND}, - {gBattleAnimSpriteGfx_Fishies, 0x480, ANIM_TAG_WISHIWASHI_FISH}, - {gBattleAnimSpriteGfx_ZygardeHexes, 0x480, ANIM_TAG_ZYGARDE_HEXES}, - {gBattleAnimSpriteGfx_AuraSphere, 0x200, ANIM_TAG_AURA_SPHERE}, - {gBattleAnimSpriteGfx_OmegaStone, 0x800, ANIM_TAG_OMEGA_STONE}, - {gBattleAnimSpriteGfx_AlphaStone, 0x800, ANIM_TAG_ALPHA_STONE}, - {gBattleAnimSpriteGfx_BerryNormal, 0x400, ANIM_TAG_BERRY_NORMAL}, - {gBattleAnimSpriteGfx_BerryEaten, 0x200, ANIM_TAG_BERRY_EATEN}, - {gBattleAnimSpriteGfx_PurpleDrake, 0x800, ANIM_TAG_DRAGON_ASCENT}, - {gBattleAnimSpriteGfx_PinkDiamond, 0x40, ANIM_TAG_PINK_DIAMOND}, - {gBattleAnimSpriteGfx_SteamEruption, 0xa00, ANIM_TAG_STEAM_ERUPTION}, - {gBattleAnimSpriteGfx_Confide, 0x800, ANIM_TAG_CONFIDE}, - {gBattleAnimSpriteGfx_Arrows, 0x480, ANIM_TAG_VERTICAL_HEX}, - {NULL, 0x0, ANIM_TAG_UNAVAILABLE_1}, - {NULL, 0x0, ANIM_TAG_UNAVAILABLE_2}, - {gBattleAnimSpriteGfx_PowerTrick, 0x800, ANIM_TAG_POWER_TRICK}, - {gBattleAnimSpriteGfx_ChainLink, 0x200, ANIM_TAG_CHAIN_LINK}, - {gBattleAnimSpriteGfx_Anchor, 0x200, ANIM_TAG_ANCHOR}, - {gBattleAnimSpriteGfx_HorseshoeFist, 0x800, ANIM_TAG_HORSESHOE_SIDE_FIST}, - {gBattleAnimSpriteGfx_PurpleDrake, 0x800, ANIM_TAG_DRAGON_ASCENT_FOE}, - {gBattleAnimSpriteGfx_CraftyShield, 0x80, ANIM_TAG_CRAFTY_SHIELD}, - {gBattleAnimSpriteGfx_BlacephalonHead, 0x200, ANIM_TAG_BLACEPHALON_HEAD}, - {gBattleAnimSpriteGfx_FairyLockChains, 0x400, ANIM_TAG_FAIRY_LOCK_CHAINS}, - {gBattleAnimSpriteGfx_LightningRain, 0x700, ANIM_TAG_IONS}, - {gBattleAnimSpriteGfx_Chop, 0x200, ANIM_TAG_CHOP}, - {gBattleAnimSpriteGfx_HeartStamp, 0x400, ANIM_TAG_HEART_STAMP}, - {gBattleAnimSpriteGfx_HornLeech, 0x200, ANIM_TAG_HORN_LEECH}, - {gBattleAnimSpriteGfx_Steamroller, 0x800, ANIM_TAG_STEAMROLLER}, - {gBattleAnimSpriteGfx_HoopaHand, 0x80, ANIM_TAG_HOOPA_HAND}, - {gBattleAnimSpriteGfx_HoopaRing, 0x200, ANIM_TAG_HOOPA_RING}, - {gBattleAnimSpriteGfx_MetalBits, 0x140, ANIM_TAG_METAL_BITS}, - {gBattleAnimSpriteGfx_RocksSmall, 0x140, ANIM_TAG_SMALL_ROCK}, - {gBattleAnimSpriteGfx_SpiritShackleArrow, 0x200, ANIM_TAG_SPIRIT_ARROW}, - {gBattleAnimSpriteGfx_NecrozmaStar, 0x200, ANIM_TAG_ULTRA_BURST_SYMBOL}, - {gBattleAnimSpriteGfx_ZMoveSymbol, 0x800, ANIM_TAG_Z_MOVE_SYMBOL}, - {gBattleAnimSpriteGfx_BigRock, 0x800, ANIM_TAG_REALLY_BIG_ROCK}, - {gBattleAnimSpriteGfx_Cacoon, 0x800, ANIM_TAG_COCOON}, - {gBattleAnimSpriteGfx_Drill, 0x800, ANIM_TAG_CORKSCREW}, - {gBattleAnimSpriteGfx_GigavoltHavocSpear, 0x800, ANIM_TAG_HAVOC_SPEAR}, - {gBattleAnimSpriteGfx_PurpleDrake, 0x800, ANIM_TAG_PURPLE_DRAKE}, - {gBattleAnimSpriteGfx_MudBomb, 0x800, ANIM_TAG_MUD_BOMB}, - {gBattleAnimSpriteGfx_Branch, 0x200, ANIM_TAG_BRANCH}, - {gBattleAnimSpriteGfx_Apple, 0x200, ANIM_TAG_APPLE}, - {gBattleAnimSpriteGfx_Obstruct, 0x200, ANIM_TAG_OBSTRUCT_CROSS}, - {gBattleAnimSpriteGfx_PoisonColumn, 0x2000, ANIM_TAG_POISON_COLUMN}, - {gBattleAnimSpriteGfx_PoisonColumn, 0x2000, ANIM_TAG_GARBAGE_COLUMN}, - {gBattleAnimSpriteGfx_LargeSpike, 0x1000, ANIM_TAG_LARGE_SPIKE}, - {gBattleAnimSpriteGfx_DragonPulseRing, 0x200, ANIM_TAG_DRAGON_PULSE_RING}, - {gBattleAnimSpriteGfx_StonePillar, 0x2000, ANIM_TAG_STONE_PILLAR}, - {gBattleAnimSpriteGfx_Mushroom, 0x800, ANIM_TAG_MUSHROOM}, - {gBattleAnimSpriteGfx_GoldenApple, 0x800, ANIM_TAG_GOLDEN_APPLE}, - {gBattleAnimSpriteGfx_IceRock, 0x2800, ANIM_TAG_ICE_ROCK}, - {gBattleAnimSpriteGfx_Tornado, 0x1800, ANIM_TAG_TORNADO}, - {gBattleAnimSpriteGfx_StraightBeam, 0x180, ANIM_TAG_STRAIGHT_BEAM}, - {gBattleAnimSpriteGfx_DreepyMissile, 0x200, ANIM_TAG_DREEPY}, - {gBattleAnimSpriteGfx_IceRock, 0x1800, ANIM_TAG_ICE_ROCK_SINGLE}, - {gBattleAnimSpriteGfx_StonePillar, 0x1800, ANIM_TAG_STONE_PILLAR_MULTI}, - {gBattleAnimSpriteGfx_AlphaSymbol, 0x0200, ANIM_TAG_ALPHA_SYMBOL}, - {gBattleAnimSpriteGfx_OmegaSymbol, 0x0200, ANIM_TAG_OMEGA_SYMBOL}, - {gBattleAnimSpriteGfx_Orbs, 0x0180, ANIM_TAG_STEEL_BEAM}, - {gBattleAnimSpriteGfx_AuraSphere, 0x200, ANIM_TAG_POLTERGEIST}, -}; - -const struct CompressedSpritePalette gBattleAnimPaletteTable[] = -{ - {gBattleAnimSpritePal_Bone, ANIM_TAG_BONE}, - {gBattleAnimSpritePal_Spark, ANIM_TAG_SPARK}, - {gBattleAnimSpritePal_Pencil, ANIM_TAG_PENCIL}, - {gBattleAnimSpritePal_AirWave, ANIM_TAG_AIR_WAVE}, - {gBattleAnimSpritePal_Orb, ANIM_TAG_ORB}, -#if B_NEW_SWORD_PARTICLE - {gBattleAnimSpritePal_NewSword, ANIM_TAG_SWORD}, -#else - {gBattleAnimSpritePal_Sword, ANIM_TAG_SWORD}, -#endif -#if B_NEW_LEECH_SEED_PARTICLE - {gBattleAnimSpritePal_NewLeechSeed, ANIM_TAG_SEED}, -#else - {gBattleAnimSpritePal_Seed, ANIM_TAG_SEED}, -#endif - {gBattleAnimSpritePal_Explosion6, ANIM_TAG_EXPLOSION_6}, - {gBattleAnimSpritePal_PinkOrb, ANIM_TAG_PINK_ORB}, - {gBattleAnimSpritePal_Gust, ANIM_TAG_GUST}, - {gBattleAnimSpritePal_IceCube, ANIM_TAG_ICE_CUBE}, - {gBattleAnimSpritePal_Spark2, ANIM_TAG_SPARK_2}, - {gBattleAnimSpritePal_Orange, ANIM_TAG_ORANGE}, - {gBattleAnimSpritePal_YellowBall, ANIM_TAG_YELLOW_BALL}, - {gBattleAnimSpritePal_LockOn, ANIM_TAG_LOCK_ON}, - {gBattleAnimSpritePal_TiedBag, ANIM_TAG_TIED_BAG}, - {gBattleAnimSpritePal_BlackSmoke, ANIM_TAG_BLACK_SMOKE}, - {gBattleAnimSpritePal_BlackSmoke, ANIM_TAG_BLACK_BALL}, - {gBattleAnimSpritePal_Conversion, ANIM_TAG_CONVERSION}, - {gBattleAnimSpritePal_Glass, ANIM_TAG_GLASS}, -#if B_NEW_HORN_ATTACK_PARTICLE - {gBattleAnimSpritePal_NewHornHit, ANIM_TAG_HORN_HIT}, -#else - {gBattleAnimSpritePal_HornHit, ANIM_TAG_HORN_HIT}, -#endif - {gBattleAnimSpritePal_Hit, ANIM_TAG_HIT}, - {gBattleAnimSpritePal_Hit2, ANIM_TAG_HIT_2}, - {gBattleAnimSpritePal_BlueShards, ANIM_TAG_BLUE_SHARDS}, - {gBattleAnimSpritePal_ClosingEye, ANIM_TAG_CLOSING_EYE}, - {gBattleAnimSpritePal_WavingHand, ANIM_TAG_WAVING_HAND}, - {gBattleAnimSpritePal_HitDuplicate, ANIM_TAG_HIT_DUPLICATE}, - {gBattleAnimSpritePal_Leer, ANIM_TAG_LEER}, - {gBattleAnimSpritePal_BlueBurst, ANIM_TAG_BLUE_BURST}, -#if B_NEW_EMBER_PARTICLES - {gBattleAnimSpritePal_NewEmbers, ANIM_TAG_SMALL_EMBER}, -#else - {gBattleAnimSpritePal_SmallEmber, ANIM_TAG_SMALL_EMBER}, -#endif - {gBattleAnimSpritePal_GraySmoke, ANIM_TAG_GRAY_SMOKE}, - {gBattleAnimSpritePal_BlueStar, ANIM_TAG_BLUE_STAR}, - {gBattleAnimSpritePal_BubbleBurst, ANIM_TAG_BUBBLE_BURST}, - {gBattleAnimSpritePal_Fire, ANIM_TAG_FIRE}, - {gBattleAnimSpritePal_Fire, ANIM_TAG_SPINNING_FIRE}, - {gBattleAnimSpritePal_Fire, ANIM_TAG_FIRE_PLUME}, - {gBattleAnimSpritePal_Lightning2, ANIM_TAG_LIGHTNING_2}, - {gBattleAnimSpritePal_Lightning2, ANIM_TAG_LIGHTNING}, - {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_CLAW_SLASH_2}, - {gBattleAnimSpritePal_ClawSlash, ANIM_TAG_CLAW_SLASH}, - {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_SCRATCH_3}, - {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_SCRATCH_2}, - {gBattleAnimSpritePal_BubbleBurst2, ANIM_TAG_BUBBLE_BURST_2}, - {gBattleAnimSpritePal_IceChunk, ANIM_TAG_ICE_CHUNK}, - {gBattleAnimSpritePal_Glass2, ANIM_TAG_GLASS_2}, - {gBattleAnimSpritePal_PinkHeart2, ANIM_TAG_PINK_HEART_2}, - {gBattleAnimSpritePal_SapDrip, ANIM_TAG_SAP_DRIP}, - {gBattleAnimSpritePal_SapDrip2, ANIM_TAG_SAP_DRIP}, - {gBattleAnimSpritePal_Sparkle1, ANIM_TAG_SPARKLE_1}, - {gBattleAnimSpritePal_Sparkle2, ANIM_TAG_SPARKLE_2}, - {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_HUMANOID_FOOT}, - {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_MONSTER_FOOT}, - {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_HUMANOID_HAND}, - {gBattleAnimSpritePal_HitDuplicate, ANIM_TAG_NOISE_LINE}, - {gBattleAnimSpritePal_YellowUnk, ANIM_TAG_YELLOW_UNK}, - {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_RED_FIST}, - {gBattleAnimSpritePal_SlamHit, ANIM_TAG_SLAM_HIT}, - {gBattleAnimSpritePal_Ring, ANIM_TAG_RING}, -#if NEW_ROCKS_PARTICLE - {gBattleAnimSpritePal_NewRocks, ANIM_TAG_ROCKS}, -#else - {gBattleAnimSpritePal_Rocks, ANIM_TAG_ROCKS}, -#endif - {gBattleAnimSpritePal_Z, ANIM_TAG_Z}, - {gBattleAnimSpritePal_YellowUnk2, ANIM_TAG_YELLOW_UNK_2}, - {gBattleAnimSpritePal_AirSlash, ANIM_TAG_AIR_SLASH}, - {gBattleAnimSpritePal_SpinningGreenOrbs, ANIM_TAG_SPINNING_GREEN_ORBS}, -#if B_NEW_LEAF_PARTICLE - {gBattleAnimSpritePal_NewLeaf, ANIM_TAG_LEAF}, -#else - {gBattleAnimSpritePal_Leaf, ANIM_TAG_LEAF}, -#endif - {gBattleAnimSpritePal_Finger, ANIM_TAG_FINGER}, - {gBattleAnimSpritePal_PoisonPowder, ANIM_TAG_POISON_POWDER}, - {gBattleAnimSpritePal_BrownTriangle, ANIM_TAG_BROWN_TRIANGLE}, - {gBattleAnimSpritePal_SleepPowder, ANIM_TAG_SLEEP_POWDER}, - {gBattleAnimSpritePal_StunSpore, ANIM_TAG_STUN_SPORE}, - {gBattleAnimSpritePal_PoisonPowder, ANIM_TAG_POWDER}, - {gBattleAnimSpritePal_Sparkle3, ANIM_TAG_SPARKLE_3}, - {gBattleAnimSpritePal_Sparkle3, ANIM_TAG_SPARKLE_4}, - {gBattleAnimSpritePal_MusicNotes, ANIM_TAG_MUSIC_NOTES}, - {gBattleAnimSpritePal_Duck, ANIM_TAG_DUCK}, - {gBattleAnimSpritePal_MudSand, ANIM_TAG_MUD_SAND}, - {gBattleAnimSpritePal_Alert, ANIM_TAG_ALERT}, - {gBattleAnimSpritePal_BlueFlames, ANIM_TAG_BLUE_FLAMES}, - {gBattleAnimSpritePal_BlueFlames, ANIM_TAG_BLUE_FLAMES_2}, - {gBattleAnimSpritePal_Shock4, ANIM_TAG_SHOCK_4}, - {gBattleAnimSpritePal_Shock4, ANIM_TAG_SHOCK}, - {gBattleAnimSpritePal_Bell2, ANIM_TAG_BELL_2}, - {gBattleAnimSpritePal_PinkGlove, ANIM_TAG_PINK_GLOVE}, - {gBattleAnimSpritePal_BlueLines, ANIM_TAG_BLUE_LINES}, - {gBattleAnimSpritePal_Impact3, ANIM_TAG_IMPACT_3}, - {gBattleAnimSpritePal_Impact2, ANIM_TAG_IMPACT_2}, - {gBattleAnimSpritePal_Reticle, ANIM_TAG_RETICLE}, - {gBattleAnimSpritePal_Breath, ANIM_TAG_BREATH}, - {gBattleAnimSpritePal_Anger, ANIM_TAG_ANGER}, - {gBattleAnimSpritePal_Snowball, ANIM_TAG_SNOWBALL}, - {gBattleAnimSpritePal_Vine, ANIM_TAG_VINE}, - {gBattleAnimSpritePal_Sword2, ANIM_TAG_SWORD_2}, - {gBattleAnimSpritePal_Clapping, ANIM_TAG_CLAPPING}, - {gBattleAnimSpritePal_RedTube, ANIM_TAG_RED_TUBE}, - {gBattleAnimSpritePal_Amnesia, ANIM_TAG_AMNESIA}, - {gBattleAnimSpritePal_String2, ANIM_TAG_STRING_2}, - {gBattleAnimSpritePal_Pencil2, ANIM_TAG_PENCIL_2}, - {gBattleAnimSpritePal_Petal, ANIM_TAG_PETAL}, - {gBattleAnimSpritePal_BentSpoon, ANIM_TAG_BENT_SPOON}, - {gBattleAnimSpritePal_String2, ANIM_TAG_WEB}, - {gBattleAnimSpritePal_MilkBottle, ANIM_TAG_MILK_BOTTLE}, - {gBattleAnimSpritePal_Coin, ANIM_TAG_COIN}, - {gBattleAnimSpritePal_CrackedEgg, ANIM_TAG_CRACKED_EGG}, - {gBattleAnimSpritePal_CrackedEgg, ANIM_TAG_HATCHED_EGG}, - {gBattleAnimSpritePal_FreshEgg, ANIM_TAG_FRESH_EGG}, - {gBattleAnimSpritePal_Fangs, ANIM_TAG_FANGS}, - {gBattleAnimSpritePal_Explosion2, ANIM_TAG_EXPLOSION_2}, - {gBattleAnimSpritePal_Explosion2, ANIM_TAG_EXPLOSION_3}, - {gBattleAnimSpritePal_WaterDroplet, ANIM_TAG_WATER_DROPLET}, - {gBattleAnimSpritePal_WaterDroplet, ANIM_TAG_WATER_DROPLET_2}, - {gBattleAnimSpritePal_Seed2, ANIM_TAG_SEED_2}, - {gBattleAnimSpritePal_Seed2, ANIM_TAG_SPROUT}, - {gBattleAnimSpritePal_RedWand, ANIM_TAG_RED_WAND}, - {gBattleAnimSpritePal_PurpleGreenUnk, ANIM_TAG_PURPLE_GREEN_UNK}, - {gBattleAnimSpritePal_WaterColumn, ANIM_TAG_WATER_COLUMN}, - {gBattleAnimSpritePal_MudUnk, ANIM_TAG_MUD_UNK}, - {gBattleAnimSpritePal_RainDrops, ANIM_TAG_RAIN_DROPS}, - {gBattleAnimSpritePal_FurySwipes, ANIM_TAG_FURY_SWIPES}, - {gBattleAnimSpritePal_Vine2, ANIM_TAG_VINE_2}, - {gBattleAnimSpritePal_Teeth, ANIM_TAG_TEETH}, - {gBattleAnimSpritePal_Bone2, ANIM_TAG_BONE_2}, - {gBattleAnimSpritePal_WhiteBag, ANIM_TAG_WHITE_BAG}, - {gBattleAnimSpritePal_Unknown, ANIM_TAG_UNKNOWN}, - {gBattleAnimSpritePal_PurpleCoral, ANIM_TAG_PURPLE_CORAL}, - {gBattleAnimSpritePal_PurpleCoral, ANIM_TAG_PURPLE_DROPLET}, - {gBattleAnimSpritePal_Shock2, ANIM_TAG_SHOCK_2}, - {gBattleAnimSpritePal_ClosingEye2, ANIM_TAG_CLOSING_EYE_2}, - {gBattleAnimSpritePal_MetalBall, ANIM_TAG_METAL_BALL}, -#if NEW_SUBSTITUTE_PARTICLE - {gBattleAnimSpritePal_NewSubstituteFront, ANIM_TAG_MONSTER_DOLL}, -#else - {gBattleAnimSpritePal_MonsterDoll, ANIM_TAG_MONSTER_DOLL}, -#endif - {gBattleAnimSpritePal_Whirlwind, ANIM_TAG_WHIRLWIND}, - {gBattleAnimSpritePal_Whirlwind, ANIM_TAG_WHIRLWIND_2}, - {gBattleAnimSpritePal_Explosion4, ANIM_TAG_EXPLOSION_4}, - {gBattleAnimSpritePal_Explosion4, ANIM_TAG_EXPLOSION_5}, - {gBattleAnimSpritePal_Tongue, ANIM_TAG_TONGUE}, - {gBattleAnimSpritePal_Smoke, ANIM_TAG_SMOKE}, - {gBattleAnimSpritePal_Smoke, ANIM_TAG_SMOKE_2}, -#if B_NEW_IMPACT_PALETTE - {gBattleAnimSpritePal_NewImpact, ANIM_TAG_IMPACT}, -#else - {gBattleAnimSpritePal_Impact, ANIM_TAG_IMPACT}, -#endif - {gBattleAnimSpritePal_CircleImpact, ANIM_TAG_CIRCLE_IMPACT}, - {gBattleAnimSpritePal_Impact, ANIM_TAG_SCRATCH}, - {gBattleAnimSpritePal_Impact, ANIM_TAG_CUT}, -#if B_NEW_TEETH_PARTICLE - {gBattleAnimSpritePal_NewTeeth, ANIM_TAG_SHARP_TEETH}, -#else - {gBattleAnimSpritePal_SharpTeeth, ANIM_TAG_SHARP_TEETH}, -#endif - {gBattleAnimSpritePal_RainbowRings, ANIM_TAG_RAINBOW_RINGS}, - {gBattleAnimSpritePal_IceCrystals, ANIM_TAG_ICE_CRYSTALS}, - {gBattleAnimSpritePal_IceCrystals, ANIM_TAG_ICE_SPIKES}, -#if B_NEW_HANDS_FEET_PARTICLE - {gBattleAnimSpritePal_NewHandsAndFeet, ANIM_TAG_HANDS_AND_FEET}, -#else - {gBattleAnimSpritePal_HandsAndFeet, ANIM_TAG_HANDS_AND_FEET}, -#endif - {gBattleAnimSpritePal_MistCloud, ANIM_TAG_MIST_CLOUD}, - {gBattleAnimSpritePal_SharpTeeth, ANIM_TAG_CLAMP}, - {gBattleAnimSpritePal_RainDrops, ANIM_TAG_BUBBLE}, - {gBattleAnimSpritePal_Orbs, ANIM_TAG_ORBS}, - {gBattleAnimSpritePal_WaterImpact, ANIM_TAG_WATER_IMPACT}, - {gBattleAnimSpritePal_WaterImpact, ANIM_TAG_WATER_ORB}, - {gBattleAnimSpritePal_PoisonBubble, ANIM_TAG_POISON_BUBBLE}, - {gBattleAnimSpritePal_PoisonBubble, ANIM_TAG_TOXIC_BUBBLE}, -#if B_NEW_SPIKES_PARTICLE - {gBattleAnimSpritePal_NewSpikes, ANIM_TAG_SPIKES}, -#else - {gBattleAnimSpritePal_Spikes, ANIM_TAG_SPIKES}, -#endif - {gBattleAnimSpritePal_HornHit2, ANIM_TAG_HORN_HIT_2}, - {gBattleAnimSpritePal_AirWave2, ANIM_TAG_AIR_WAVE_2}, - {gBattleAnimSpritePal_SmallBubbles, ANIM_TAG_SMALL_BUBBLES}, -#if B_NEW_FLY_BUBBLE_PARTICLE - {gBattleAnimSpritePal_NewFly, ANIM_TAG_ROUND_SHADOW}, -#else - {gBattleAnimSpritePal_RoundShadow, ANIM_TAG_ROUND_SHADOW}, -#endif - {gBattleAnimSpritePal_Sunlight, ANIM_TAG_SUNLIGHT}, - {gBattleAnimSpritePal_Spore, ANIM_TAG_SPORE}, - {gBattleAnimSpritePal_Flower, ANIM_TAG_FLOWER}, - {gBattleAnimSpritePal_RazorLeaf, ANIM_TAG_RAZOR_LEAF}, - {gBattleAnimSpritePal_Needle, ANIM_TAG_NEEDLE}, - {gBattleAnimSpritePal_WhirlwindLines, ANIM_TAG_WHIRLWIND_LINES}, - {gBattleAnimSpritePal_GoldRing, ANIM_TAG_GOLD_RING}, - {gBattleAnimSpritePal_PurpleRing, ANIM_TAG_PURPLE_RING}, - {gBattleAnimSpritePal_BlueRing, ANIM_TAG_BLUE_RING}, - {gBattleAnimSpritePal_GreenLightWall, ANIM_TAG_GREEN_LIGHT_WALL}, - {gBattleAnimSpritePal_BlueLightWall, ANIM_TAG_BLUE_LIGHT_WALL}, - {gBattleAnimSpritePal_RedLightWall, ANIM_TAG_RED_LIGHT_WALL}, - {gBattleAnimSpritePal_GrayLightWall, ANIM_TAG_GRAY_LIGHT_WALL}, - {gBattleAnimSpritePal_OrangeLightWall, ANIM_TAG_ORANGE_LIGHT_WALL}, - {gBattleAnimSpritePal_BlackBall2, ANIM_TAG_BLACK_BALL_2}, - {gBattleAnimSpritePal_PurpleGasCloud, ANIM_TAG_PURPLE_GAS_CLOUD}, - {gBattleAnimSpritePal_Spark, ANIM_TAG_SPARK_H}, - {gBattleAnimSpritePal_YellowStar, ANIM_TAG_YELLOW_STAR}, - {gBattleAnimSpritePal_LargeFreshEgg, ANIM_TAG_LARGE_FRESH_EGG}, - {gBattleAnimSpritePal_ShadowBall, ANIM_TAG_SHADOW_BALL}, - {gBattleAnimSpritePal_Lick, ANIM_TAG_LICK}, - {gBattleAnimSpritePal_VoidLines, ANIM_TAG_VOID_LINES}, - {gBattleAnimSpritePal_String, ANIM_TAG_STRING}, - {gBattleAnimSpritePal_String, ANIM_TAG_WEB_THREAD}, - {gBattleAnimSpritePal_String, ANIM_TAG_SPIDER_WEB}, - {gBattleAnimSpritePal_Lightbulb, ANIM_TAG_LIGHTBULB}, - {gBattleAnimSpritePal_Slash, ANIM_TAG_SLASH}, - {gBattleAnimSpritePal_FocusEnergy, ANIM_TAG_FOCUS_ENERGY}, - {gBattleAnimSpritePal_SphereToCube, ANIM_TAG_SPHERE_TO_CUBE}, - {gBattleAnimSpritePal_Tendrils, ANIM_TAG_TENDRILS}, -#if B_NEW_MEAN_LOOK_PARTICLE - {gBattleAnimSpritePal_NewEye, ANIM_TAG_EYE}, -#else - {gBattleAnimSpritePal_Eye, ANIM_TAG_EYE}, -#endif - {gBattleAnimSpritePal_WhiteShadow, ANIM_TAG_WHITE_SHADOW}, - {gBattleAnimSpritePal_TealAlert, ANIM_TAG_TEAL_ALERT}, - {gBattleAnimSpritePal_OpeningEye, ANIM_TAG_OPENING_EYE}, - {gBattleAnimSpritePal_RoundWhiteHalo, ANIM_TAG_ROUND_WHITE_HALO}, - {gBattleAnimSpritePal_FangAttack, ANIM_TAG_FANG_ATTACK}, - {gBattleAnimSpritePal_PurpleHandOutline, ANIM_TAG_PURPLE_HAND_OUTLINE}, - {gBattleAnimSpritePal_Moon, ANIM_TAG_MOON}, - {gBattleAnimSpritePal_GreenSparkle, ANIM_TAG_GREEN_SPARKLE}, - {gBattleAnimSpritePal_Spiral, ANIM_TAG_SPIRAL}, - {gBattleAnimSpritePal_SnoreZ, ANIM_TAG_SNORE_Z}, - {gBattleAnimSpritePal_Explosion, ANIM_TAG_EXPLOSION}, - {gBattleAnimSpritePal_Nail, ANIM_TAG_NAIL}, - {gBattleAnimSpritePal_GhostlySpirit, ANIM_TAG_GHOSTLY_SPIRIT}, - {gBattleAnimSpritePal_WarmRock, ANIM_TAG_WARM_ROCK}, - {gBattleAnimSpritePal_BreakingEgg, ANIM_TAG_BREAKING_EGG}, - {gBattleAnimSpritePal_ThinRing, ANIM_TAG_THIN_RING}, - {gBattleAnimSpritePal_PunchImpact, ANIM_TAG_PUNCH_IMPACT}, - {gBattleAnimSpritePal_Bell, ANIM_TAG_BELL}, - {gBattleAnimSpritePal_MusicNotes2, ANIM_TAG_MUSIC_NOTES_2}, - {gBattleAnimSpritePal_SpeedDust, ANIM_TAG_SPEED_DUST}, - {gBattleAnimSpritePal_BlueLightWall, ANIM_TAG_TORN_METAL}, - {gBattleAnimSpritePal_ThoughtBubble, ANIM_TAG_THOUGHT_BUBBLE}, - {gBattleAnimSpritePal_MagentaHeart, ANIM_TAG_MAGENTA_HEART}, - {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_ELECTRIC_ORBS}, - {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_CIRCLE_OF_LIGHT}, - {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_ELECTRICITY}, - {gBattleAnimSpritePal_Finger, ANIM_TAG_FINGER_2}, - {gBattleAnimSpritePal_MovementWaves, ANIM_TAG_MOVEMENT_WAVES}, - {gBattleAnimSpritePal_RedHeart, ANIM_TAG_RED_HEART}, - {gBattleAnimSpritePal_RedOrb, ANIM_TAG_RED_ORB}, - {gBattleAnimSpritePal_EyeSparkle, ANIM_TAG_EYE_SPARKLE}, - {gBattleAnimSpritePal_PinkHeart, ANIM_TAG_PINK_HEART}, - {gBattleAnimSpritePal_Angel, ANIM_TAG_ANGEL}, - {gBattleAnimSpritePal_Devil, ANIM_TAG_DEVIL}, - {gBattleAnimSpritePal_Swipe, ANIM_TAG_SWIPE}, - {gBattleAnimSpritePal_Roots, ANIM_TAG_ROOTS}, - {gBattleAnimSpritePal_ItemBag, ANIM_TAG_ITEM_BAG}, - {gBattleAnimSpritePal_JaggedMusicNote, ANIM_TAG_JAGGED_MUSIC_NOTE}, -#if B_NEW_BATON_PASS_BALL_PARTICLE - {gBattleAnimSpritePal_NewPokeball, ANIM_TAG_POKEBALL}, -#else - {gBattleAnimSpritePal_Pokeball, ANIM_TAG_POKEBALL}, -#endif - {gBattleAnimSpritePal_Pokeball, ANIM_TAG_SPOTLIGHT}, - {gBattleAnimSpritePal_LetterZ, ANIM_TAG_LETTER_Z}, - {gBattleAnimSpritePal_RapidSpin, ANIM_TAG_RAPID_SPIN}, - {gBattleAnimSpritePal_TriAttackTriangle, ANIM_TAG_TRI_ATTACK_TRIANGLE}, - {gBattleAnimSpritePal_WispOrb, ANIM_TAG_WISP_ORB}, - {gBattleAnimSpritePal_WispOrb, ANIM_TAG_WISP_FIRE}, - {gBattleAnimSpritePal_GoldStars, ANIM_TAG_GOLD_STARS}, - {gBattleAnimSpritePal_EclipsingOrb, ANIM_TAG_ECLIPSING_ORB}, - {gBattleAnimSpritePal_GrayOrb, ANIM_TAG_GRAY_ORB}, - {gBattleAnimSpritePal_BlueOrb, ANIM_TAG_BLUE_ORB}, - {gBattleAnimSpritePal_RedOrb2, ANIM_TAG_RED_ORB_2}, - {gBattleAnimSpritePal_PinkPetal, ANIM_TAG_PINK_PETAL}, - {gBattleAnimSpritePal_PainSplit, ANIM_TAG_PAIN_SPLIT}, - {gBattleAnimSpritePal_Confetti, ANIM_TAG_CONFETTI}, -#if B_NEW_MORNING_SUN_STAR_PARTICLE - {gBattleAnimSpritePal_NewGreenStar, ANIM_TAG_GREEN_STAR}, -#else - {gBattleAnimSpritePal_GreenStar, ANIM_TAG_GREEN_STAR}, -#endif - {gBattleAnimSpritePal_PinkCloud, ANIM_TAG_PINK_CLOUD}, - {gBattleAnimSpritePal_SweatDrop, ANIM_TAG_SWEAT_DROP}, - {gBattleAnimSpritePal_GuardRing, ANIM_TAG_GUARD_RING}, - {gBattleAnimSpritePal_PurpleScratch, ANIM_TAG_PURPLE_SCRATCH}, - {gBattleAnimSpritePal_PurpleScratch, ANIM_TAG_PURPLE_SWIPE}, - {gBattleAnimSpritePal_Finger, ANIM_TAG_TAG_HAND}, - {gBattleAnimSpritePal_SmallRedEye, ANIM_TAG_SMALL_RED_EYE}, - {gBattleAnimSpritePal_HollowOrb, ANIM_TAG_HOLLOW_ORB}, - {gBattleAnimSpritePal_HollowOrb, ANIM_TAG_X_SIGN}, - {gBattleAnimSpritePal_BluegreenOrb, ANIM_TAG_BLUEGREEN_ORB}, - {gBattleAnimSpritePal_PawPrint, ANIM_TAG_PAW_PRINT}, - {gBattleAnimSpritePal_PurpleFlame, ANIM_TAG_PURPLE_FLAME}, - {gBattleAnimSpritePal_RedBall, ANIM_TAG_RED_BALL}, - {gBattleAnimSpritePal_SmellingsaltEffect, ANIM_TAG_SMELLINGSALT_EFFECT}, - {gBattleAnimSpritePal_Meteor, ANIM_TAG_METEOR}, - {gBattleAnimSpritePal_FlatRock, ANIM_TAG_FLAT_ROCK}, - {gBattleAnimSpritePal_MagnifyingGlass, ANIM_TAG_MAGNIFYING_GLASS}, - {gBattleAnimSpritePal_BrownOrb, ANIM_TAG_BROWN_ORB}, - {gBattleAnimSpritePal_MetalSoundWaves, ANIM_TAG_METAL_SOUND_WAVES}, - {gBattleAnimSpritePal_FlyingDirt, ANIM_TAG_FLYING_DIRT}, - {gBattleAnimSpritePal_IcicleSpear, ANIM_TAG_ICICLE_SPEAR}, - {gBattleAnimSpritePal_Hail, ANIM_TAG_HAIL}, - {gBattleAnimSpritePal_GlowyRedOrb, ANIM_TAG_GLOWY_RED_ORB}, - {gBattleAnimSpritePal_GlowyGreenOrb, ANIM_TAG_GLOWY_GREEN_ORB}, - {gBattleAnimSpritePal_GreenSpike, ANIM_TAG_GREEN_SPIKE}, - {gBattleAnimSpritePal_WhiteCircleOfLight, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT}, - {gBattleAnimSpritePal_GlowyBlueOrb, ANIM_TAG_GLOWY_BLUE_ORB}, - {gBattleAnimSpritePal_Pokeblock, ANIM_TAG_POKEBLOCK}, - {gBattleAnimSpritePal_WhiteFeather, ANIM_TAG_WHITE_FEATHER}, - {gBattleAnimSpritePal_Sparkle6, ANIM_TAG_SPARKLE_6}, - {gBattleAnimSpritePal_Splash, ANIM_TAG_SPLASH}, - {gBattleAnimSpritePal_Splash, ANIM_TAG_SWEAT_BEAD}, - {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_1}, - {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_2}, - {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_3}, - {gBattleAnimSpritePal_SlamHit2, ANIM_TAG_SLAM_HIT_2}, - {gBattleAnimSpritePal_Recycle, ANIM_TAG_RECYCLE}, - {gBattleAnimSpritePal_RedParticles, ANIM_TAG_RED_PARTICLES}, - {gBattleAnimSpritePal_Protect, ANIM_TAG_PROTECT}, - {gBattleAnimSpritePal_DirtMound, ANIM_TAG_DIRT_MOUND}, - {gBattleAnimSpritePal_Shock3, ANIM_TAG_SHOCK_3}, - {gBattleAnimSpritePal_WeatherBall, ANIM_TAG_WEATHER_BALL}, - {gBattleAnimSpritePal_Bird, ANIM_TAG_BIRD}, - {gBattleAnimSpritePal_CrossImpact, ANIM_TAG_CROSS_IMPACT}, - {gBattleAnimSpritePal_Slash2, ANIM_TAG_SLASH_2}, - {gBattleAnimSpritePal_WhipHit, ANIM_TAG_WHIP_HIT}, - {gBattleAnimSpritePal_BlueRing2, ANIM_TAG_BLUE_RING_2}, - {gBattleAnimSpritePal_WhiteStreak, ANIM_TAG_WHITE_STREAK}, - {gBattleAnimSpritePal_PurpleJab, ANIM_TAG_PURPLE_JAB}, - //new particles - {gBattleAnimSpritePal_ToxicSpikes, ANIM_TAG_TOXIC_SPIKES}, - {gBattleAnimSpritePal_EnergyBall, ANIM_TAG_ENERGY_BALL}, - {gBattleAnimSpritePal_SeedBrown, ANIM_TAG_SEED_BROWN}, - {gBattleAnimSpritePal_Feint, ANIM_TAG_FEINT}, - {gBattleAnimSpritePal_MegaStone, ANIM_TAG_MEGA_STONE}, - {gBattleAnimSpritePal_MegaSymbol, ANIM_TAG_MEGA_SYMBOL}, - {gBattleAnimSpritePal_MegaParticles, ANIM_TAG_MEGA_PARTICLES}, - {gBattleAnimSpritePal_TrumpCard, ANIM_TAG_TRUMP_CARD}, - {gBattleAnimSpritePal_TrumpCardParticles, ANIM_TAG_TRUMP_CARD_PARTICLES}, - {gBattleAnimSpritePal_Acupressure, ANIM_TAG_ACUPRESSURE}, - {gBattleAnimSpritePal_WringOut, ANIM_TAG_WRING_OUT}, - {gBattleAnimSpritePal_ColoredOrbs, ANIM_TAG_COLORED_ORBS}, - {gBattleAnimSpritePal_WorrySeed, ANIM_TAG_WORRY_SEED}, - {gBattleAnimSpritePal_SmallCloud, ANIM_TAG_SMALL_CLOUD}, - {gBattleAnimSpritePal_AttackOrder, ANIM_TAG_ATTACK_ORDER}, - {gBattleAnimSpritePal_DragonPulse, ANIM_TAG_DRAGON_PULSE}, - {gBattleAnimSpritePal_WoodHammer, ANIM_TAG_WOOD_HAMMER}, - {gBattleAnimSpritePal_PsychoCut, ANIM_TAG_PSYCHO_CUT}, - {gBattleAnimSpritePal_PowerGem, ANIM_TAG_POWER_GEM}, - {gBattleAnimSpritePal_StoneEdge, ANIM_TAG_STONE_EDGE}, - {gBattleAnimSpritePal_StealthRock, ANIM_TAG_STEALTH_ROCK}, - {gBattleAnimSpritePal_PoisonJab, ANIM_TAG_POISON_JAB}, - {gBattleAnimSpritePal_Vine, ANIM_TAG_GREEN_POISON_BUBBLE}, - {gBattleAnimSpritePal_FlashCannonBall, ANIM_TAG_FLASH_CANNON_BALL}, - {gBattleAnimSpritePal_WaterGun, ANIM_TAG_WATER_GUN}, - {gBattleAnimSpritePal_Punishment, ANIM_TAG_PUNISHMENT_BLADES}, - {gBattleAnimSpritePal_QuickGuard, ANIM_TAG_QUICK_GUARD_HAND}, - {gBattleAnimSpritePal_ShellLeft, ANIM_TAG_SHELL_RIGHT}, - {gBattleAnimSpritePal_ShellLeft, ANIM_TAG_SHELL_LEFT}, - {gBattleAnimSpritePal_RazorShell, ANIM_TAG_RAZOR_SHELL}, - {gBattleAnimSpritePal_HydroPump, ANIM_TAG_HYDRO_PUMP}, - {gBattleAnimSpritePal_Brine, ANIM_TAG_BRINE}, - {gBattleAnimSpritePal_Gear, ANIM_TAG_GEAR}, - {gBattleAnimSpritePal_AssuranceHand, ANIM_TAG_ASSURANCE_HAND}, - {gBattleAnimSpritePal_Fishies, ANIM_TAG_WISHIWASHI_FISH}, - {gBattleAnimSpritePal_ZygardeHexes, ANIM_TAG_ZYGARDE_HEXES}, - {gBattleAnimSpritePal_AuraSphere, ANIM_TAG_AURA_SPHERE}, - {gBattleAnimSpritePal_OmegaStone, ANIM_TAG_OMEGA_STONE}, - {gBattleAnimSpritePal_AlphaStone, ANIM_TAG_ALPHA_STONE}, - {gBattleAnimSpritePal_BerryNormal, ANIM_TAG_BERRY_NORMAL}, - {gBattleAnimSpritePal_SpacialRendSlices, ANIM_TAG_BERRY_EATEN}, - {gBattleAnimSpritePal_GreenDrake, ANIM_TAG_DRAGON_ASCENT}, - {gBattleAnimSpritePal_PinkDiamond, ANIM_TAG_PINK_DIAMOND}, - {gBattleAnimSpritePal_SteamEruption, ANIM_TAG_STEAM_ERUPTION}, - {gBattleAnimSpritePal_Confide, ANIM_TAG_CONFIDE}, - {gBattleAnimSpritePal_FusionFlare, ANIM_TAG_VERTICAL_HEX}, - {NULL, ANIM_TAG_UNAVAILABLE_1}, - {NULL, ANIM_TAG_UNAVAILABLE_2}, - {gBattleAnimSpritePal_PowerTrick, ANIM_TAG_POWER_TRICK}, - {gBattleAnimSpritePal_ChainLink, ANIM_TAG_CHAIN_LINK}, - {gBattleAnimSpritePal_NaturalGiftRing, ANIM_TAG_ANCHOR}, - {gBattleAnimSpritePal_HorseshoeFist, ANIM_TAG_HORSESHOE_SIDE_FIST}, - {gBattleAnimSpritePal_AvalancheRocks, ANIM_TAG_DRAGON_ASCENT_FOE}, - {gBattleAnimSpritePal_CraftyShield, ANIM_TAG_CRAFTY_SHIELD}, - {gBattleAnimSpritePal_BlacephalonHead, ANIM_TAG_BLACEPHALON_HEAD}, - {gBattleAnimSpritePal_DracoMeteor, ANIM_TAG_FAIRY_LOCK_CHAINS}, - {gBattleAnimSpritePal_LightningRain, ANIM_TAG_IONS}, - {gBattleAnimSpritePal_Chop, ANIM_TAG_CHOP}, - [ANIM_TAG_HEART_STAMP - ANIM_SPRITES_START] = {gBattleAnimSpritePal_HeartStamp, ANIM_TAG_HEART_STAMP}, - {gBattleAnimSpritePal_HornLeech, ANIM_TAG_HORN_LEECH}, - {gBattleAnimSpritePal_Steamroller, ANIM_TAG_STEAMROLLER}, - {gBattleAnimSpritePal_HoopaHand, ANIM_TAG_HOOPA_HAND}, - {gBattleAnimSpritePal_HoopaRing, ANIM_TAG_HOOPA_RING}, - {gBattleAnimSpritePal_BlueFlare, ANIM_TAG_METAL_BITS}, - {gBattleAnimSpritePal_NewRocks, ANIM_TAG_SMALL_ROCK}, - {gBattleAnimSpritePal_SpiritShackleArrow, ANIM_TAG_SPIRIT_ARROW}, - {gBattleAnimSpritePal_NecrozmaStar, ANIM_TAG_ULTRA_BURST_SYMBOL}, - {gBattleAnimSpritePal_ZMoveSymbol, ANIM_TAG_Z_MOVE_SYMBOL}, - {gBattleAnimSpritePal_BigRock, ANIM_TAG_REALLY_BIG_ROCK}, - {gBattleAnimSpritePal_Cacoon, ANIM_TAG_COCOON}, - {gBattleAnimSpritePal_Drill, ANIM_TAG_CORKSCREW}, - {gBattleAnimSpritePal_GigavoltHavocSpear, ANIM_TAG_HAVOC_SPEAR}, - {gBattleAnimSpritePal_PurpleDrake, ANIM_TAG_PURPLE_DRAKE}, - {gBattleAnimSpritePal_MudBomb, ANIM_TAG_MUD_BOMB}, - {gBattleAnimSpritePal_Branch, ANIM_TAG_BRANCH}, - {gBattleAnimSpritePal_Apple, ANIM_TAG_APPLE}, - {gBattleAnimSpritePal_Obstruct, ANIM_TAG_OBSTRUCT_CROSS}, - {gBattleAnimSpritePal_PoisonColumn, ANIM_TAG_POISON_COLUMN}, - {gBattleAnimSpritePal_GarbagePoisonPillar, ANIM_TAG_GARBAGE_COLUMN}, - {gBattleAnimSpritePal_LargeSpike, ANIM_TAG_LARGE_SPIKE}, - {gBattleAnimSpritePal_DragonPulseRing, ANIM_TAG_DRAGON_PULSE_RING}, - {gBattleAnimSpritePal_StonePillar, ANIM_TAG_STONE_PILLAR}, - {gBattleAnimSpritePal_Mushroom, ANIM_TAG_MUSHROOM}, - {gBattleAnimSpritePal_GoldenApple, ANIM_TAG_GOLDEN_APPLE}, - {gBattleAnimSpritePal_IceRock, ANIM_TAG_ICE_ROCK}, - {gBattleAnimSpritePal_Tornado, ANIM_TAG_TORNADO}, - {gBattleAnimSpritePal_StraightBeam, ANIM_TAG_STRAIGHT_BEAM}, - {gBattleAnimSpritePal_DreepyMissile, ANIM_TAG_DREEPY}, - {gBattleAnimSpritePal_IceRock, ANIM_TAG_ICE_ROCK_SINGLE}, - {gBattleAnimSpritePal_StonePillar, ANIM_TAG_STONE_PILLAR_MULTI}, - {gBattleAnimSpritePal_AlphaSymbol, ANIM_TAG_ALPHA_SYMBOL}, - {gBattleAnimSpritePal_OmegaSymbol, ANIM_TAG_OMEGA_SYMBOL}, - {gBattleAnimSpritePal_SteelBeam, ANIM_TAG_STEEL_BEAM}, - {gBattleAnimSpritePal_Poltergeist, ANIM_TAG_POLTERGEIST}, -}; - -const struct BattleAnimBackground gBattleAnimBackgroundTable[] = -{ - [BG_NONE] = {gBattleAnimBgImage_Dark, gBattleAnimBgPalette_Dark, gBattleAnimBgTilemap_Dark}, - [BG_DARK] = {gBattleAnimBgImage_Dark, gBattleAnimBgPalette_Dark, gBattleAnimBgTilemap_Dark}, - [BG_GHOST] = {gBattleAnimBgImage_Ghost, gBattleAnimBgPalette_Ghost, gBattleAnimBgTilemap_Ghost}, - [BG_PSYCHIC] = {gBattleAnimBgImage_Psychic, gBattleAnimBgPalette_Psychic, gBattleAnimBgTilemap_Psychic}, - [BG_IMPACT_OPPONENT] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactOpponent}, - [BG_IMPACT_PLAYER] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactPlayer}, - [BG_IMPACT_CONTESTS] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactContests}, - [BG_DRILL] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Drill, gBattleAnimBgTilemap_Drill}, - [BG_DRILL_CONTESTS] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Drill, gBattleAnimBgTilemap_DrillContests}, - [BG_HIGHSPEED_OPPONENT] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Highspeed, gBattleAnimBgTilemap_HighspeedOpponent}, - [BG_HIGHSPEED_PLAYER] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Highspeed, gBattleAnimBgTilemap_HighspeedPlayer}, - [BG_THUNDER] = {gBattleAnimBgImage_Thunder, gBattleAnimBgPalette_Thunder, gBattleAnimBgTilemap_Thunder}, - [BG_GUILLOTINE_OPPONENT] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotineOpponent}, - [BG_GUILLOTINE_PLAYER] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotinePlayer}, - [BG_GUILLOTINE_CONTESTS] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotineContests}, - [BG_ICE] = {gBattleAnimBgImage_Ice, gBattleAnimBgPalette_Ice, gBattleAnimBgTilemap_Ice}, - [BG_COSMIC] = {gBattleAnimBgImage_Cosmic, gBattleAnimBgPalette_Cosmic, gBattleAnimBgTilemap_Cosmic}, - [BG_IN_AIR] = {gBattleAnimBgImage_InAir, gBattleAnimBgPalette_InAir, gBattleAnimBgTilemap_InAir}, - [BG_SKY] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Sky, gBattleAnimBgTilemap_Drill}, - [BG_SKY_CONTESTS] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Sky, gBattleAnimBgTilemap_DrillContests}, - [BG_AURORA] = {gBattleAnimBgImage_Aurora, gBattleAnimBgPalette_Aurora, gBattleAnimBgTilemap_Aurora}, - [BG_FISSURE] = {gBattleAnimBgImage_Fissure, gBattleAnimBgPalette_Fissure, gBattleAnimBgTilemap_Fissure}, - [BG_BUG_OPPONENT] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Bug, gBattleAnimBgTilemap_HighspeedOpponent}, - [BG_BUG_PLAYER] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Bug, gBattleAnimBgTilemap_HighspeedPlayer}, - [BG_SOLAR_BEAM_OPPONENT] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_SolarBeam, gBattleAnimBgTilemap_ImpactOpponent}, - [BG_SOLAR_BEAM_PLAYER] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_SolarBeam, gBattleAnimBgTilemap_ImpactPlayer}, - [BG_SOLAR_BEAM_CONTESTS] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_SolarBeam, gBattleAnimBgTilemap_ImpactContests}, - //new bgs - [BG_MAGMA_STORM] = {gBattleAnimBgImage_InAir, gBattleAnimBgPalette_MagmaStorm, gBattleAnimBgTilemap_InAir}, - [BG_GIGA_IMPACT_OPPONENT] = {gBattleAnimBgImage_GigaImpact, gBattleAnimBgPalette_GigaImpact, gBattleAnimBgTilemap_GigaImpactOpponent}, - [BG_GIGA_IMPACT_PLAYER] = {gBattleAnimBgImage_GigaImpact, gBattleAnimBgPalette_GigaImpact, gBattleAnimBgTilemap_GigaImpactPlayer}, - [BG_GIGA_IMPACT_CONTEST] = {gBattleAnimBgImage_GigaImpact, gBattleAnimBgPalette_GigaImpact, gBattleAnimBgTilemap_GigaImpactContest}, - [BG_TRICK_ROOM] = {gBattleAnimBgImage_TrickRoom, gBattleAnimBgPalette_TrickRoom, gBattleAnimBgTilemap_TrickRoom}, - [BG_ROCK_WRECKER] = {gBattleAnimBgImage_Hurricane, gBattleAnimBgPalette_RockWrecker, gBattleAnimBgTilemap_Hurricane}, - [BG_SPACIAL_REND_ON_OPPONENT] = {gBattleAnimBgImage_SpacialRend, gBattleAnimBgPalette_SpacialRend, gBattleAnimBgTilemap_GigaImpactOpponent}, - [BG_SPACIAL_REND_ON_PLAYER] = {gBattleAnimBgImage_SpacialRend, gBattleAnimBgPalette_SpacialRend, gBattleAnimBgTilemap_GigaImpactPlayer}, - [BG_DARK_VOID] = {gBattleAnimBgImage_Waterfall, gBattleAnimBgPalette_DarkVoid, gBattleAnimBgTilemap_DarkVoid}, - [BG_WATER] = {gBattleAnimBgImage_HydroPump, gBattleAnimBgPalette_HydroPump, gBattleAnimBgTilemap_HydroPump}, - [BG_NIGHTMARE] = {gBattleAnimBgImage_Nightmare, gBattleAnimBgPalette_Nightmare, gBattleAnimBgTilemap_Nightmare}, - [BG_LEAF_STORM] = {gBattleAnimBgImage_LeafStorm, gBattleAnimBgPalette_LeafStorm, gBattleAnimBgTilemap_LeafStorm}, - [BG_FIRE] = {gBattleAnimBgImage_Fire1, gBattleAnimBgPalette_Fire1, gBattleAnimBgTilemap_Fire1}, - [BG_FIRE_2] = {gBattleAnimBgImage_Fire1, gBattleAnimBgPalette_Fire2, gBattleAnimBgTilemap_Fire1}, - [BG_WATER_2] = {gBattleAnimBgImage_Waterfall, gBattleAnimBgPalette_Waterfall, gBattleAnimBgTilemap_Waterfall}, - [BG_POISON] = {gBattleAnimBgImage_Waterfall, gBattleAnimBgPalette_PoisonFalls, gBattleAnimBgTilemap_Waterfall}, - [BG_AEROBLAST] = {gBattleAnimBgImage_Aeroblast, gBattleAnimBgPalette_Aeroblast, gBattleAnimBgTilemap_Aeroblast}, - [BG_HURRICANE] = {gBattleAnimBgImage_Hurricane, gBattleAnimBgPalette_Hurricane, gBattleAnimBgTilemap_Hurricane}, - [BG_ELECTRIC_TERRAIN] = {gBattleAnimBgImage_ElectricTerrain, gBattleAnimBgPalette_ElectricTerrain, gBattleAnimBgTilemap_ElectricTerrain}, - [BG_GRASSY_TERRAIN] = {gBattleAnimBgImage_GrassyTerrain, gBattleAnimBgPalette_GrassyTerrain, gBattleAnimBgTilemap_GrassyTerrain}, - [BG_MISTY_TERRAIN] = {gBattleAnimBgImage_MistyTerrain, gBattleAnimBgPalette_MistyTerrain, gBattleAnimBgTilemap_MistyTerrain}, - [BG_PSYCHIC_TERRAIN] = {gBattleAnimBgImage_PsychicTerrain, gBattleAnimBgPalette_PsychicTerrain, gBattleAnimBgTilemap_PsychicTerrain}, - [BG_FOCUS_BLAST] = {gBattleAnimBgImage_FocusBlast, gBattleAnimBgPalette_FocusBlast, gBattleAnimBgTilemap_FocusBlast}, - [BG_GUNK_SHOT] = {gBattleAnimBgImage_FocusBlast, gBattleAnimBgPalette_GunkShot, gBattleAnimBgTilemap_FocusBlast}, - [BG_HYDRO_CANNON] = {gBattleAnimBgImage_HydroCannon, gBattleAnimBgPalette_HydroCannon, gBattleAnimBgTilemap_HydroCannon}, - [BG_WONDER_ROOM] = {gBattleAnimBgImage_TrickRoom, gBattleAnimBgPalette_WonderRoom, gBattleAnimBgTilemap_TrickRoom}, - [BG_MAGIC_ROOM] = {gBattleAnimBgImage_TrickRoom, gBattleAnimBgPalette_MagicRoom, gBattleAnimBgTilemap_TrickRoom}, - [BG_HYPERSPACE_FURY] = {gBattleAnimBgImage_Psychic, gBattleAnimBgPalette_HyperspaceFury, gBattleAnimBgTilemap_Psychic}, - [BG_BOLT_STRIKE] = {gBattleAnimBgImage_BoltStrike, gBattleAnimBgPalette_BoltStrike, gBattleAnimBgTilemap_BoltStrike}, - [BG_ZMOVE_ACTIVATE] = {gBattleAnimBgImage_ZMoveActivate, gBattleAnimBgPalette_ZMoveActivate, gBattleAnimBgTilemap_ZMoveActivate}, - [BG_TECTONIC_RAGE] = {gBattleAnimBgImage_InAir, gBattleAnimBgPalette_TectonicRage, gBattleAnimBgTilemap_InAir}, - [BG_BLUE_SKY_DAY] = {gBattleAnimBgImage_SkyDay, gBattleAnimBgPalette_SkyDay, gBattleAnimBgTilemap_SkyDay}, - [BG_BLUE_SKY_AFTERNOON] = {gBattleAnimBgImage_SkyDay, gBattleAnimBgPalette_SkyAfternoon, gBattleAnimBgTilemap_SkyDay}, - [BG_BLUE_SKY_NIGHT] = {gBattleAnimBgImage_SkyDay, gBattleAnimBgPalette_SkyNight, gBattleAnimBgTilemap_SkyDay}, - [BG_ZMOVE_MOUNTAIN] = {gBattleAnimBgImage_ZMoveMountain, gBattleAnimBgPalette_ZMoveMountain, gBattleAnimBgTilemap_ZMoveMountain}, - [BG_NEVERENDING_NIGHTMARE] = {gBattleAnimBgImage_NeverendingNightmare, gBattleAnimBgPalette_NeverendingNightmare, gBattleAnimBgTilemap_NeverendingNightmare}, - [BG_WATER_PULSE] = {gBattleAnimBgImage_WaterPulse, gBattleAnimBgPalette_WaterPulse, gBattleAnimBgTilemap_WaterPulse}, - [BG_INFERNO_OVERDRIVE] = {gBattleAnimBgImage_InfernoOverdrive, gBattleAnimBgPalette_InfernoOverdrive, gBattleAnimBgTilemap_InfernoOverdrive}, - [BG_BLOOM_DOOM] = {gBattleAnimBgImage_BloomDoom, gBattleAnimBgPalette_BloomDoom, gBattleAnimBgTilemap_BloomDoom}, - [BG_SHATTERED_PSYCHE] = {gBattleAnimBgImage_ShatteredPsyche, gBattleAnimBgPalette_ShatteredPsyche, gBattleAnimBgTilemap_ShatteredPsyche}, - [BG_TWINKLE_TACKLE] = {gBattleAnimBgImage_TwinkleTackle, gBattleAnimBgPalette_TwinkleTackle, gBattleAnimBgTilemap_TwinkleTackle}, - [BG_BLACKHOLE_ECLIPSE] = {gBattleAnimBgImage_BlackholeEclipse, gBattleAnimBgPalette_BlackholeEclipse, gBattleAnimBgTilemap_BlackholeEclipse}, - [BG_SOULSTEALING_7STAR_STRIKE] = {gBattleAnimBgImage_SoulStealing7StarStrike, gBattleAnimBgPalette_SoulStealing7StarStrike, gBattleAnimBgTilemap_SoulStealing7StarStrike}, - [BG_MALICIOUS_MOONSAULT] = {gBattleAnimBgImage_MaliciousMoonsault, gBattleAnimBgPalette_MaliciousMoonsault, gBattleAnimBgTilemap_MaliciousMoonsault}, - [BG_CLANGOROUS_SOULBLAZE] = {gBattleAnimBgImage_ClangorousSoulblaze, gBattleAnimBgPalette_ClangorousSoulblaze, gBattleAnimBgTilemap_ClangorousSoulblaze}, - [BG_SNUGGLE_FOREVER] = {gBattleAnimBgImage_SnuggleForever, gBattleAnimBgPalette_SnuggleForever, gBattleAnimBgTilemap_SnuggleForever}, - [BG_MAX_LIGHTNING] = {gBattleAnimBgImage_MaxLightning, gBattleAnimBgPalette_MaxLightning, gBattleAnimBgTilemap_MaxLightning}, - [BG_GARBAGE_FALLS] = {gBattleAnimBgImage_Waterfall, gBattleAnimBgPalette_GarbageFalls, gBattleAnimBgTilemap_Waterfall}, - [BG_HYPER_BEAM] = {gBattleAnimBgImage_HydroCannon, gBattleAnimBgPalette_HyperBeam, gBattleAnimBgTilemap_HydroCannon}, - [BG_DYNAMAX_CANNON] = {gBattleAnimBgImage_HydroCannon, gBattleAnimBgPalette_DynamaxCannon, gBattleAnimBgTilemap_HydroCannon}, - [BG_AURA_SPHERE] = {gBattleAnimBgImage_FocusBlast, gBattleAnimBgPalette_AuraSphere, gBattleAnimBgTilemap_FocusBlast}, - [BG_STEEL_BEAM_OPPONENT] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_SteelBeam, gBattleAnimBgTilemap_HighspeedOpponent}, - [BG_STEEL_BEAM_PLAYER] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_SteelBeam, gBattleAnimBgTilemap_HighspeedPlayer}, -}; From 5682247acee8f1b1a62c28c0fd708043bf2a4697 Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 18 Dec 2022 19:14:54 -0800 Subject: [PATCH 093/130] Add files via upload Base upload. Need to apply Teatime changes... --- src/data/battle_anim.h | 1988 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1988 insertions(+) create mode 100644 src/data/battle_anim.h diff --git a/src/data/battle_anim.h b/src/data/battle_anim.h new file mode 100644 index 000000000..e6e03f06c --- /dev/null +++ b/src/data/battle_anim.h @@ -0,0 +1,1988 @@ +const struct OamData gOamData_AffineOff_ObjNormal_8x8 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x8), + .x = 0, + .size = SPRITE_SIZE(8x8), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + + +const struct OamData gOamData_AffineOff_ObjNormal_16x16 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), + .x = 0, + .size = SPRITE_SIZE(16x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineOff_ObjNormal_32x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x32), + .x = 0, + .size = SPRITE_SIZE(32x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineOff_ObjNormal_64x64 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x64), + .x = 0, + .size = SPRITE_SIZE(64x64), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineOff_ObjNormal_16x8 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x8), + .x = 0, + .size = SPRITE_SIZE(16x8), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineOff_ObjNormal_32x8 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x8), + .x = 0, + .size = SPRITE_SIZE(32x8), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineOff_ObjNormal_32x16 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x16), + .x = 0, + .size = SPRITE_SIZE(32x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineOff_ObjNormal_64x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x32), + .x = 0, + .size = SPRITE_SIZE(64x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineOff_ObjNormal_8x16 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x16), + .x = 0, + .size = SPRITE_SIZE(8x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineOff_ObjNormal_8x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x32), + .x = 0, + .size = SPRITE_SIZE(8x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineOff_ObjNormal_16x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x32), + .x = 0, + .size = SPRITE_SIZE(16x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineOff_ObjNormal_32x64 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x64), + .x = 0, + .size = SPRITE_SIZE(32x64), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjNormal_8x8 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x8), + .x = 0, + .size = SPRITE_SIZE(8x8), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjNormal_16x16 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), + .x = 0, + .size = SPRITE_SIZE(16x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjNormal_32x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x32), + .x = 0, + .size = SPRITE_SIZE(32x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjNormal_64x64 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x64), + .x = 0, + .size = SPRITE_SIZE(64x64), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjNormal_16x8 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x8), + .x = 0, + .size = SPRITE_SIZE(16x8), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjNormal_32x8 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x8), + .x = 0, + .size = SPRITE_SIZE(32x8), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjNormal_32x16 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x16), + .x = 0, + .size = SPRITE_SIZE(32x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjNormal_64x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x32), + .x = 0, + .size = SPRITE_SIZE(64x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjNormal_8x16 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x16), + .x = 0, + .size = SPRITE_SIZE(8x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjNormal_8x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x32), + .x = 0, + .size = SPRITE_SIZE(8x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjNormal_16x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x32), + .x = 0, + .size = SPRITE_SIZE(16x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjNormal_32x64 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x64), + .x = 0, + .size = SPRITE_SIZE(32x64), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjNormal_8x8 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x8), + .x = 0, + .size = SPRITE_SIZE(8x8), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjNormal_16x16 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), + .x = 0, + .size = SPRITE_SIZE(16x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjNormal_32x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x32), + .x = 0, + .size = SPRITE_SIZE(32x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjNormal_64x64 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x64), + .x = 0, + .size = SPRITE_SIZE(64x64), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjNormal_16x8 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x8), + .x = 0, + .size = SPRITE_SIZE(16x8), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjNormal_32x8 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x8), + .x = 0, + .size = SPRITE_SIZE(32x8), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjNormal_32x16 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x16), + .x = 0, + .size = SPRITE_SIZE(32x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjNormal_64x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x32), + .x = 0, + .size = SPRITE_SIZE(64x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjNormal_8x16 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x16), + .x = 0, + .size = SPRITE_SIZE(8x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjNormal_8x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x32), + .x = 0, + .size = SPRITE_SIZE(8x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjNormal_16x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x32), + .x = 0, + .size = SPRITE_SIZE(16x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjNormal_32x64 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_NORMAL, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x64), + .x = 0, + .size = SPRITE_SIZE(32x64), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineOff_ObjBlend_8x8 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x8), + .x = 0, + .size = SPRITE_SIZE(8x8), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineOff_ObjBlend_16x16 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), + .x = 0, + .size = SPRITE_SIZE(16x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineOff_ObjBlend_32x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x32), + .x = 0, + .size = SPRITE_SIZE(32x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineOff_ObjBlend_64x64 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x64), + .x = 0, + .size = SPRITE_SIZE(64x64), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineOff_ObjBlend_16x8 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x8), + .x = 0, + .size = SPRITE_SIZE(16x8), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineOff_ObjBlend_32x8 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x8), + .x = 0, + .size = SPRITE_SIZE(32x8), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineOff_ObjBlend_32x16 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x16), + .x = 0, + .size = SPRITE_SIZE(32x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineOff_ObjBlend_64x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x32), + .x = 0, + .size = SPRITE_SIZE(64x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineOff_ObjBlend_8x16 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x16), + .x = 0, + .size = SPRITE_SIZE(8x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineOff_ObjBlend_8x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x32), + .x = 0, + .size = SPRITE_SIZE(8x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineOff_ObjBlend_16x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x32), + .x = 0, + .size = SPRITE_SIZE(16x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineOff_ObjBlend_32x64 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_OFF, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x64), + .x = 0, + .size = SPRITE_SIZE(32x64), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjBlend_8x8 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x8), + .x = 0, + .size = SPRITE_SIZE(8x8), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjBlend_16x16 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), + .x = 0, + .size = SPRITE_SIZE(16x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjBlend_32x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x32), + .x = 0, + .size = SPRITE_SIZE(32x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjBlend_64x64 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x64), + .x = 0, + .size = SPRITE_SIZE(64x64), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjBlend_16x8 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x8), + .x = 0, + .size = SPRITE_SIZE(16x8), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjBlend_32x8 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x8), + .x = 0, + .size = SPRITE_SIZE(32x8), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjBlend_32x16 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x16), + .x = 0, + .size = SPRITE_SIZE(32x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjBlend_64x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x32), + .x = 0, + .size = SPRITE_SIZE(64x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjBlend_8x16 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x16), + .x = 0, + .size = SPRITE_SIZE(8x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjBlend_8x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x32), + .x = 0, + .size = SPRITE_SIZE(8x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjBlend_16x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x32), + .x = 0, + .size = SPRITE_SIZE(16x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineNormal_ObjBlend_32x64 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_NORMAL, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x64), + .x = 0, + .size = SPRITE_SIZE(32x64), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjBlend_8x8 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x8), + .x = 0, + .size = SPRITE_SIZE(8x8), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjBlend_16x16 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x16), + .x = 0, + .size = SPRITE_SIZE(16x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjBlend_32x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x32), + .x = 0, + .size = SPRITE_SIZE(32x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjBlend_64x64 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x64), + .x = 0, + .size = SPRITE_SIZE(64x64), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjBlend_16x8 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x8), + .x = 0, + .size = SPRITE_SIZE(16x8), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjBlend_32x8 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x8), + .x = 0, + .size = SPRITE_SIZE(32x8), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjBlend_32x16 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x16), + .x = 0, + .size = SPRITE_SIZE(32x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjBlend_64x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(64x32), + .x = 0, + .size = SPRITE_SIZE(64x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjBlend_8x16 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x16), + .x = 0, + .size = SPRITE_SIZE(8x16), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjBlend_8x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(8x32), + .x = 0, + .size = SPRITE_SIZE(8x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjBlend_16x32 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(16x32), + .x = 0, + .size = SPRITE_SIZE(16x32), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct OamData gOamData_AffineDouble_ObjBlend_32x64 = +{ + .y = 0, + .affineMode = ST_OAM_AFFINE_DOUBLE, + .objMode = ST_OAM_OBJ_BLEND, + .bpp = ST_OAM_4BPP, + .shape = SPRITE_SHAPE(32x64), + .x = 0, + .size = SPRITE_SIZE(32x64), + .tileNum = 0, + .priority = 2, + .paletteNum = 0, +}; + +const struct CompressedSpriteSheet gBattleAnimPicTable[] = +{ + {gBattleAnimSpriteGfx_Bone, 0x0200, ANIM_TAG_BONE}, + {gBattleAnimSpriteGfx_Spark, 0x0300, ANIM_TAG_SPARK}, + {gBattleAnimSpriteGfx_Pencil, 0x0200, ANIM_TAG_PENCIL}, + {gBattleAnimSpriteGfx_AirWave, 0x0100, ANIM_TAG_AIR_WAVE}, + {gBattleAnimSpriteGfx_Orb, 0x0200, ANIM_TAG_ORB}, +#if B_NEW_SWORD_PARTICLE + {gBattleAnimSpriteGfx_NewSword, 0x0400, ANIM_TAG_SWORD}, +#else + {gBattleAnimSpriteGfx_Sword, 0x0400, ANIM_TAG_SWORD}, +#endif +#if B_NEW_LEECH_SEED_PARTICLE + {gBattleAnimSpriteGfx_NewLeechSeed, 0x0180, ANIM_TAG_SEED}, +#else + {gBattleAnimSpriteGfx_Seed, 0x0180, ANIM_TAG_SEED}, +#endif + {gBattleAnimSpriteGfx_Explosion6, 0x0800, ANIM_TAG_EXPLOSION_6}, + {gBattleAnimSpriteGfx_PinkOrb, 0x0020, ANIM_TAG_PINK_ORB}, + {gBattleAnimSpriteGfx_Gust, 0x0400, ANIM_TAG_GUST}, + {gBattleAnimSpriteGfx_IceCube, 0x1200, ANIM_TAG_ICE_CUBE}, + {gBattleAnimSpriteGfx_Spark2, 0x0180, ANIM_TAG_SPARK_2}, + {gBattleAnimSpriteGfx_Orange, 0x0080, ANIM_TAG_ORANGE}, + {gBattleAnimSpriteGfx_YellowBall, 0x0080, ANIM_TAG_YELLOW_BALL}, + {gBattleAnimSpriteGfx_LockOn, 0x0280, ANIM_TAG_LOCK_ON}, + {gBattleAnimSpriteGfx_TiedBag, 0x0080, ANIM_TAG_TIED_BAG}, + {gBattleAnimSpriteGfx_BlackSmoke, 0x0100, ANIM_TAG_BLACK_SMOKE}, + {gBattleAnimSpriteGfx_BlackBall, 0x0020, ANIM_TAG_BLACK_BALL}, + {gBattleAnimSpriteGfx_Conversion, 0x0080, ANIM_TAG_CONVERSION}, + {gBattleAnimSpriteGfx_Glass, 0x0400, ANIM_TAG_GLASS}, + {gBattleAnimSpriteGfx_HornHit, 0x0200, ANIM_TAG_HORN_HIT}, + {gBattleAnimSpriteGfx_Hit, 0x0A00, ANIM_TAG_HIT}, + {gBattleAnimSpriteGfx_Hit, 0x0A00, ANIM_TAG_HIT_2}, + {gBattleAnimSpriteGfx_BlueShards, 0x0380, ANIM_TAG_BLUE_SHARDS}, + {gBattleAnimSpriteGfx_ClosingEye, 0x0300, ANIM_TAG_CLOSING_EYE}, + {gBattleAnimSpriteGfx_WavingHand, 0x0A00, ANIM_TAG_WAVING_HAND}, + {gBattleAnimSpriteGfx_HitDuplicate, 0x0A00, ANIM_TAG_HIT_DUPLICATE}, + {gBattleAnimSpriteGfx_Leer, 0x0A00, ANIM_TAG_LEER}, + {gBattleAnimSpriteGfx_BlueBurst, 0x0A00, ANIM_TAG_BLUE_BURST}, +#if B_NEW_EMBER_PARTICLES + {gBattleAnimSpriteGfx_NewEmbers, 0x0A00, ANIM_TAG_SMALL_EMBER}, +#else + {gBattleAnimSpriteGfx_SmallEmber, 0x0A00, ANIM_TAG_SMALL_EMBER}, +#endif + {gBattleAnimSpriteGfx_GraySmoke, 0x0A00, ANIM_TAG_GRAY_SMOKE}, + {gBattleAnimSpriteGfx_BlueStar, 0x0E00, ANIM_TAG_BLUE_STAR}, + {gBattleAnimSpriteGfx_BubbleBurst, 0x0380, ANIM_TAG_BUBBLE_BURST}, + {gBattleAnimSpriteGfx_Fire, 0x1000, ANIM_TAG_FIRE}, + {gBattleAnimSpriteGfx_SpinningFire, 0x0800, ANIM_TAG_SPINNING_FIRE}, + {gBattleAnimSpriteGfx_FirePlume, 0x0A00, ANIM_TAG_FIRE_PLUME}, + {gBattleAnimSpriteGfx_Lightning2, 0x0800, ANIM_TAG_LIGHTNING_2}, + {gBattleAnimSpriteGfx_Lightning, 0x0A00, ANIM_TAG_LIGHTNING}, + {gBattleAnimSpriteGfx_ClawSlash2, 0x0A00, ANIM_TAG_CLAW_SLASH_2}, + {gBattleAnimSpriteGfx_ClawSlash, 0x0A00, ANIM_TAG_CLAW_SLASH}, + {gBattleAnimSpriteGfx_Scratch3, 0x0A00, ANIM_TAG_SCRATCH_3}, + {gBattleAnimSpriteGfx_Scratch2, 0x0A00, ANIM_TAG_SCRATCH_2}, + {gBattleAnimSpriteGfx_BubbleBurst2, 0x0A00, ANIM_TAG_BUBBLE_BURST_2}, + {gBattleAnimSpriteGfx_IceChunk, 0x0A00, ANIM_TAG_ICE_CHUNK}, + {gBattleAnimSpriteGfx_Glass2, 0x0A00, ANIM_TAG_GLASS_2}, + {gBattleAnimSpriteGfx_PinkHeart2, 0x0A00, ANIM_TAG_PINK_HEART_2}, + {gBattleAnimSpriteGfx_SapDrip, 0x1000, ANIM_TAG_SAP_DRIP}, + {gBattleAnimSpriteGfx_SapDrip, 0x1000, ANIM_TAG_SAP_DRIP_2}, + {gBattleAnimSpriteGfx_Sparkle1, 0x1000, ANIM_TAG_SPARKLE_1}, + {gBattleAnimSpriteGfx_Sparkle1, 0x1000, ANIM_TAG_SPARKLE_2}, + {gBattleAnimSpriteGfx_HumanoidFoot, 0x0200, ANIM_TAG_HUMANOID_FOOT}, + {gBattleAnimSpriteGfx_MonsterFoot, 0x0200, ANIM_TAG_MONSTER_FOOT}, + {gBattleAnimSpriteGfx_HumanoidHand, 0x0200, ANIM_TAG_HUMANOID_HAND}, + {gBattleAnimSpriteGfx_NoiseLine, 0x0800, ANIM_TAG_NOISE_LINE}, + {gBattleAnimSpriteGfx_YellowUnk, 0x0080, ANIM_TAG_YELLOW_UNK}, + {gBattleAnimSpriteGfx_RedFist, 0x0200, ANIM_TAG_RED_FIST}, + {gBattleAnimSpriteGfx_SlamHit, 0x1000, ANIM_TAG_SLAM_HIT}, + {gBattleAnimSpriteGfx_Ring, 0x0180, ANIM_TAG_RING}, +#if NEW_ROCKS_PARTICLE + {gBattleAnimSpriteGfx_NewRocks, 0x0C00, ANIM_TAG_ROCKS}, +#else + {gBattleAnimSpriteGfx_Rocks, 0x0C00, ANIM_TAG_ROCKS}, +#endif + {gBattleAnimSpriteGfx_Z, 0x0100, ANIM_TAG_Z}, + {gBattleAnimSpriteGfx_YellowUnk2, 0x0040, ANIM_TAG_YELLOW_UNK_2}, + {gBattleAnimSpriteGfx_AirSlash, 0x0180, ANIM_TAG_AIR_SLASH}, + {gBattleAnimSpriteGfx_SpinningGreenOrbs, 0x0800, ANIM_TAG_SPINNING_GREEN_ORBS}, +#if B_NEW_LEAF_PARTICLE + {gBattleAnimSpriteGfx_NewLeaf, 0x0480, ANIM_TAG_LEAF}, +#else + {gBattleAnimSpriteGfx_Leaf, 0x0480, ANIM_TAG_LEAF}, +#endif + {gBattleAnimSpriteGfx_Finger, 0x0200, ANIM_TAG_FINGER}, + {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_POISON_POWDER}, + {gBattleAnimSpriteGfx_BrownTriangle, 0x0100, ANIM_TAG_BROWN_TRIANGLE}, + {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_SLEEP_POWDER}, + {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_STUN_SPORE}, + {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_POWDER}, + {gBattleAnimSpriteGfx_Sparkle3, 0x0200, ANIM_TAG_SPARKLE_3}, + {gBattleAnimSpriteGfx_Sparkle4, 0x0A00, ANIM_TAG_SPARKLE_4}, + {gBattleAnimSpriteGfx_MusicNotes, 0x0300, ANIM_TAG_MUSIC_NOTES}, + {gBattleAnimSpriteGfx_Duck, 0x0180, ANIM_TAG_DUCK}, + {gBattleAnimSpriteGfx_MudSand, 0x00A0, ANIM_TAG_MUD_SAND}, + {gBattleAnimSpriteGfx_Alert, 0x0700, ANIM_TAG_ALERT}, + {gBattleAnimSpriteGfx_BlueFlames, 0x0400, ANIM_TAG_BLUE_FLAMES}, + {gBattleAnimSpriteGfx_BlueFlames2, 0x0200, ANIM_TAG_BLUE_FLAMES_2}, + {gBattleAnimSpriteGfx_Shock4, 0x0300, ANIM_TAG_SHOCK_4}, + {gBattleAnimSpriteGfx_Shock, 0x0C00, ANIM_TAG_SHOCK}, + {gBattleAnimSpriteGfx_Bell2, 0x0A00, ANIM_TAG_BELL_2}, + {gBattleAnimSpriteGfx_PinkGlove, 0x0080, ANIM_TAG_PINK_GLOVE}, + {gBattleAnimSpriteGfx_BlueLines, 0x0040, ANIM_TAG_BLUE_LINES}, + {gBattleAnimSpriteGfx_Impact3, 0x0E00, ANIM_TAG_IMPACT_3}, + {gBattleAnimSpriteGfx_Impact2, 0x0E00, ANIM_TAG_IMPACT_2}, + {gBattleAnimSpriteGfx_Reticle, 0x0280, ANIM_TAG_RETICLE}, + {gBattleAnimSpriteGfx_Breath, 0x0200, ANIM_TAG_BREATH}, + {gBattleAnimSpriteGfx_Anger, 0x0080, ANIM_TAG_ANGER}, + {gBattleAnimSpriteGfx_Snowball, 0x00C0, ANIM_TAG_SNOWBALL}, + {gBattleAnimSpriteGfx_Vine, 0x0A00, ANIM_TAG_VINE}, + {gBattleAnimSpriteGfx_Sword2, 0x0200, ANIM_TAG_SWORD_2}, + {gBattleAnimSpriteGfx_Clapping, 0x0180, ANIM_TAG_CLAPPING}, + {gBattleAnimSpriteGfx_RedTube, 0x0080, ANIM_TAG_RED_TUBE}, + {gBattleAnimSpriteGfx_Amnesia, 0x1000, ANIM_TAG_AMNESIA}, + {gBattleAnimSpriteGfx_String2, 0x0A00, ANIM_TAG_STRING_2}, + {gBattleAnimSpriteGfx_Pencil2, 0x0180, ANIM_TAG_PENCIL_2}, + {gBattleAnimSpriteGfx_Petal, 0x0380, ANIM_TAG_PETAL}, + {gBattleAnimSpriteGfx_BentSpoon, 0x0C00, ANIM_TAG_BENT_SPOON}, + {gBattleAnimSpriteGfx_Web, 0x0200, ANIM_TAG_WEB}, + {gBattleAnimSpriteGfx_MilkBottle, 0x0200, ANIM_TAG_MILK_BOTTLE}, + {gBattleAnimSpriteGfx_Coin, 0x0200, ANIM_TAG_COIN}, + {gBattleAnimSpriteGfx_CrackedEgg, 0x0200, ANIM_TAG_CRACKED_EGG}, + {gBattleAnimSpriteGfx_HatchedEgg, 0x0400, ANIM_TAG_HATCHED_EGG}, + {gBattleAnimSpriteGfx_FreshEgg, 0x0080, ANIM_TAG_FRESH_EGG}, + {gBattleAnimSpriteGfx_Fangs, 0x0400, ANIM_TAG_FANGS}, + {gBattleAnimSpriteGfx_Explosion2, 0x0c00, ANIM_TAG_EXPLOSION_2}, + {gBattleAnimSpriteGfx_Explosion3, 0x0200, ANIM_TAG_EXPLOSION_3}, + {gBattleAnimSpriteGfx_WaterDroplet, 0x1000, ANIM_TAG_WATER_DROPLET}, + {gBattleAnimSpriteGfx_WaterDroplet2, 0x0a00, ANIM_TAG_WATER_DROPLET_2}, + {gBattleAnimSpriteGfx_Seed2, 0x0020, ANIM_TAG_SEED_2}, + {gBattleAnimSpriteGfx_Sprout, 0x0e00, ANIM_TAG_SPROUT}, + {gBattleAnimSpriteGfx_RedWand, 0x0080, ANIM_TAG_RED_WAND}, + {gBattleAnimSpriteGfx_PurpleGreenUnk, 0x0a00, ANIM_TAG_PURPLE_GREEN_UNK}, + {gBattleAnimSpriteGfx_WaterColumn, 0x0400, ANIM_TAG_WATER_COLUMN}, + {gBattleAnimSpriteGfx_MudUnk, 0x0200, ANIM_TAG_MUD_UNK}, + {gBattleAnimSpriteGfx_RainDrops, 0x0700, ANIM_TAG_RAIN_DROPS}, + {gBattleAnimSpriteGfx_FurySwipes, 0x0800, ANIM_TAG_FURY_SWIPES}, + {gBattleAnimSpriteGfx_Vine2, 0x0a00, ANIM_TAG_VINE_2}, + {gBattleAnimSpriteGfx_Teeth, 0x0600, ANIM_TAG_TEETH}, + {gBattleAnimSpriteGfx_Bone2, 0x0800, ANIM_TAG_BONE_2}, + {gBattleAnimSpriteGfx_WhiteBag, 0x0200, ANIM_TAG_WHITE_BAG}, + {gBattleAnimSpriteGfx_Unknown, 0x0040, ANIM_TAG_UNKNOWN}, + {gBattleAnimSpriteGfx_PurpleCoral, 0x0180, ANIM_TAG_PURPLE_CORAL}, + {gBattleAnimSpriteGfx_PurpleDroplet, 0x0600, ANIM_TAG_PURPLE_DROPLET}, + {gBattleAnimSpriteGfx_Shock2, 0x0600, ANIM_TAG_SHOCK_2}, + {gBattleAnimSpriteGfx_ClosingEye2, 0x0200, ANIM_TAG_CLOSING_EYE_2}, + {gBattleAnimSpriteGfx_MetalBall, 0x0080, ANIM_TAG_METAL_BALL}, +#if NEW_SUBSTITUTE_PARTICLE + {gBattleAnimSpriteGfx_NewSubstituteFront, 0x0200, ANIM_TAG_MONSTER_DOLL}, +#else + {gBattleAnimSpriteGfx_MonsterDoll, 0x0200, ANIM_TAG_MONSTER_DOLL}, +#endif + {gBattleAnimSpriteGfx_Whirlwind, 0x0800, ANIM_TAG_WHIRLWIND}, + {gBattleAnimSpriteGfx_Whirlwind2, 0x0080, ANIM_TAG_WHIRLWIND_2}, + {gBattleAnimSpriteGfx_Explosion4, 0x0a00, ANIM_TAG_EXPLOSION_4}, + {gBattleAnimSpriteGfx_Explosion5, 0x0280, ANIM_TAG_EXPLOSION_5}, + {gBattleAnimSpriteGfx_Tongue, 0x0280, ANIM_TAG_TONGUE}, + {gBattleAnimSpriteGfx_Smoke, 0x0100, ANIM_TAG_SMOKE}, + {gBattleAnimSpriteGfx_Smoke2, 0x0200, ANIM_TAG_SMOKE_2}, + {gBattleAnimSpriteGfx_Impact, 0x0200, ANIM_TAG_IMPACT}, + {gBattleAnimSpriteGfx_CircleImpact, 0x0020, ANIM_TAG_CIRCLE_IMPACT}, + {gBattleAnimSpriteGfx_Scratch, 0x0a00, ANIM_TAG_SCRATCH}, + {gBattleAnimSpriteGfx_Cut, 0x0800, ANIM_TAG_CUT}, +#if B_NEW_TEETH_PARTICLE + {gBattleAnimSpriteGfx_NewTeeth, 0x0800, ANIM_TAG_SHARP_TEETH}, +#else + {gBattleAnimSpriteGfx_SharpTeeth, 0x0800, ANIM_TAG_SHARP_TEETH}, +#endif + {gBattleAnimSpriteGfx_RainbowRings, 0x00c0, ANIM_TAG_RAINBOW_RINGS}, + {gBattleAnimSpriteGfx_IceCrystals, 0x01c0, ANIM_TAG_ICE_CRYSTALS}, + {gBattleAnimSpriteGfx_IceSpikes, 0x0100, ANIM_TAG_ICE_SPIKES}, +#if B_NEW_HANDS_FEET_PARTICLE + {gBattleAnimSpriteGfx_NewHandsAndFeet, 0x0800, ANIM_TAG_HANDS_AND_FEET}, +#else + {gBattleAnimSpriteGfx_HandsAndFeet, 0x0800, ANIM_TAG_HANDS_AND_FEET}, +#endif + {gBattleAnimSpriteGfx_MistCloud, 0x0200, ANIM_TAG_MIST_CLOUD}, + {gBattleAnimSpriteGfx_Clamp, 0x0800, ANIM_TAG_CLAMP}, + {gBattleAnimSpriteGfx_Bubble, 0x0180, ANIM_TAG_BUBBLE}, + {gBattleAnimSpriteGfx_Orbs, 0x0180, ANIM_TAG_ORBS}, + {gBattleAnimSpriteGfx_WaterImpact, 0x0200, ANIM_TAG_WATER_IMPACT}, + {gBattleAnimSpriteGfx_WaterOrb, 0x0200, ANIM_TAG_WATER_ORB}, + {gBattleAnimSpriteGfx_PoisonBubble, 0x0180, ANIM_TAG_POISON_BUBBLE}, + {gBattleAnimSpriteGfx_ToxicBubble, 0x0400, ANIM_TAG_TOXIC_BUBBLE}, +#if B_NEW_SPIKES_PARTICLE + {gBattleAnimSpriteGfx_NewSpikes, 0x0080, ANIM_TAG_SPIKES}, +#else + {gBattleAnimSpriteGfx_Spikes, 0x0080, ANIM_TAG_SPIKES}, +#endif + {gBattleAnimSpriteGfx_HornHit2, 0x0100, ANIM_TAG_HORN_HIT_2}, + {gBattleAnimSpriteGfx_AirWave2, 0x0100, ANIM_TAG_AIR_WAVE_2}, + {gBattleAnimSpriteGfx_SmallBubbles, 0x0140, ANIM_TAG_SMALL_BUBBLES}, +#if B_NEW_FLY_BUBBLE_PARTICLE + {gBattleAnimSpriteGfx_NewFly, 0x0800, ANIM_TAG_ROUND_SHADOW}, +#else + {gBattleAnimSpriteGfx_RoundShadow, 0x0800, ANIM_TAG_ROUND_SHADOW}, +#endif + {gBattleAnimSpriteGfx_Sunlight, 0x0200, ANIM_TAG_SUNLIGHT}, + {gBattleAnimSpriteGfx_Spore, 0x0100, ANIM_TAG_SPORE}, + {gBattleAnimSpriteGfx_Flower, 0x00a0, ANIM_TAG_FLOWER}, + {gBattleAnimSpriteGfx_RazorLeaf, 0x0100, ANIM_TAG_RAZOR_LEAF}, + {gBattleAnimSpriteGfx_Needle, 0x0080, ANIM_TAG_NEEDLE}, + {gBattleAnimSpriteGfx_WhirlwindLines, 0x0300, ANIM_TAG_WHIRLWIND_LINES}, + {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_GOLD_RING}, + {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_PURPLE_RING}, + {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_BLUE_RING}, + {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_GREEN_LIGHT_WALL}, + {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_BLUE_LIGHT_WALL}, + {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_RED_LIGHT_WALL}, + {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_GRAY_LIGHT_WALL}, + {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_ORANGE_LIGHT_WALL}, + {gBattleAnimSpriteGfx_BlackBall2, 0x0080, ANIM_TAG_BLACK_BALL_2}, + {gBattleAnimSpriteGfx_MistCloud, 0x0200, ANIM_TAG_PURPLE_GAS_CLOUD}, + {gBattleAnimSpriteGfx_SparkH, 0x0200, ANIM_TAG_SPARK_H}, + {gBattleAnimSpriteGfx_YellowStar, 0x0200, ANIM_TAG_YELLOW_STAR}, + {gBattleAnimSpriteGfx_LargeFreshEgg, 0x0080, ANIM_TAG_LARGE_FRESH_EGG}, + {gBattleAnimSpriteGfx_ShadowBall, 0x0200, ANIM_TAG_SHADOW_BALL}, + {gBattleAnimSpriteGfx_Lick, 0x0500, ANIM_TAG_LICK}, + {gBattleAnimSpriteGfx_VoidLines, 0x0800, ANIM_TAG_VOID_LINES}, + {gBattleAnimSpriteGfx_String, 0x0400, ANIM_TAG_STRING}, + {gBattleAnimSpriteGfx_WebThread, 0x0020, ANIM_TAG_WEB_THREAD}, + {gBattleAnimSpriteGfx_SpiderWeb, 0x0800, ANIM_TAG_SPIDER_WEB}, + {gBattleAnimSpriteGfx_Lightbulb, 0x0100, ANIM_TAG_LIGHTBULB}, + {gBattleAnimSpriteGfx_Slash, 0x0800, ANIM_TAG_SLASH}, + {gBattleAnimSpriteGfx_FocusEnergy, 0x0400, ANIM_TAG_FOCUS_ENERGY}, + {gBattleAnimSpriteGfx_SphereToCube, 0x0a00, ANIM_TAG_SPHERE_TO_CUBE}, + {gBattleAnimSpriteGfx_Tendrils, 0x1000, ANIM_TAG_TENDRILS}, +#if B_NEW_MEAN_LOOK_PARTICLE + {gBattleAnimSpriteGfx_NewEye, 0x0800, ANIM_TAG_EYE}, +#else + {gBattleAnimSpriteGfx_Eye, 0x0800, ANIM_TAG_EYE}, +#endif + {gBattleAnimSpriteGfx_WhiteShadow, 0x0400, ANIM_TAG_WHITE_SHADOW}, + {gBattleAnimSpriteGfx_TealAlert, 0x0200, ANIM_TAG_TEAL_ALERT}, + {gBattleAnimSpriteGfx_OpeningEye, 0x0800, ANIM_TAG_OPENING_EYE}, + {gBattleAnimSpriteGfx_RoundWhiteHalo, 0x0800, ANIM_TAG_ROUND_WHITE_HALO}, + {gBattleAnimSpriteGfx_FangAttack, 0x0800, ANIM_TAG_FANG_ATTACK}, + {gBattleAnimSpriteGfx_PurpleHandOutline, 0x0200, ANIM_TAG_PURPLE_HAND_OUTLINE}, + {gBattleAnimSpriteGfx_Moon, 0x0800, ANIM_TAG_MOON}, + {gBattleAnimSpriteGfx_GreenSparkle, 0x0200, ANIM_TAG_GREEN_SPARKLE}, + {gBattleAnimSpriteGfx_Spiral, 0x0800, ANIM_TAG_SPIRAL}, + {gBattleAnimSpriteGfx_SnoreZ, 0x0200, ANIM_TAG_SNORE_Z}, + {gBattleAnimSpriteGfx_Explosion, 0x0800, ANIM_TAG_EXPLOSION}, +#if B_NEW_CURSE_NAIL_PARTICLE + {gBattleAnimSpriteGfx_NewNail, 0x0400, ANIM_TAG_NAIL}, +#else + {gBattleAnimSpriteGfx_Nail, 0x0400, ANIM_TAG_NAIL}, +#endif + {gBattleAnimSpriteGfx_GhostlySpirit, 0x0200, ANIM_TAG_GHOSTLY_SPIRIT}, + {gBattleAnimSpriteGfx_WarmRock, 0x0a80, ANIM_TAG_WARM_ROCK}, + {gBattleAnimSpriteGfx_BreakingEgg, 0x0600, ANIM_TAG_BREAKING_EGG}, + {gBattleAnimSpriteGfx_ThinRing, 0x0800, ANIM_TAG_THIN_RING}, + {gBattleAnimSpriteGfx_PunchImpact, 0x0200, ANIM_TAG_PUNCH_IMPACT}, + {gBattleAnimSpriteGfx_Bell, 0x0600, ANIM_TAG_BELL}, + {gBattleAnimSpriteGfx_MusicNotes2, 0x0800, ANIM_TAG_MUSIC_NOTES_2}, + {gBattleAnimSpriteGfx_SpeedDust, 0x0180, ANIM_TAG_SPEED_DUST}, + {gBattleAnimSpriteGfx_TornMetal, 0x0800, ANIM_TAG_TORN_METAL}, + {gBattleAnimSpriteGfx_ThoughtBubble, 0x0800, ANIM_TAG_THOUGHT_BUBBLE}, + {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_MAGENTA_HEART}, + {gBattleAnimSpriteGfx_ElectricOrbs, 0x0080, ANIM_TAG_ELECTRIC_ORBS}, + {gBattleAnimSpriteGfx_CircleOfLight, 0x0800, ANIM_TAG_CIRCLE_OF_LIGHT}, + {gBattleAnimSpriteGfx_Electricity, 0x0800, ANIM_TAG_ELECTRICITY}, + {gBattleAnimSpriteGfx_Finger2, 0x0600, ANIM_TAG_FINGER_2}, + {gBattleAnimSpriteGfx_MovementWaves, 0x0600, ANIM_TAG_MOVEMENT_WAVES}, + {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_RED_HEART}, + {gBattleAnimSpriteGfx_RedOrb, 0x0080, ANIM_TAG_RED_ORB}, + {gBattleAnimSpriteGfx_EyeSparkle, 0x0180, ANIM_TAG_EYE_SPARKLE}, + {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_PINK_HEART}, + {gBattleAnimSpriteGfx_Angel, 0x0200, ANIM_TAG_ANGEL}, + {gBattleAnimSpriteGfx_Devil, 0x0400, ANIM_TAG_DEVIL}, + {gBattleAnimSpriteGfx_Swipe, 0x0a00, ANIM_TAG_SWIPE}, + {gBattleAnimSpriteGfx_Roots, 0x0800, ANIM_TAG_ROOTS}, + {gBattleAnimSpriteGfx_ItemBag, 0x0200, ANIM_TAG_ITEM_BAG}, + {gBattleAnimSpriteGfx_JaggedMusicNote, 0x0400, ANIM_TAG_JAGGED_MUSIC_NOTE}, +#if B_NEW_BATON_PASS_BALL_PARTICLE + {gBattleAnimSpriteGfx_NewPokeball, 0x0080, ANIM_TAG_POKEBALL}, +#else + {gBattleAnimSpriteGfx_Pokeball, 0x0080, ANIM_TAG_POKEBALL}, +#endif + {gBattleAnimSpriteGfx_Spotlight, 0x0800, ANIM_TAG_SPOTLIGHT}, + {gBattleAnimSpriteGfx_LetterZ, 0x0200, ANIM_TAG_LETTER_Z}, + {gBattleAnimSpriteGfx_RapidSpin, 0x0300, ANIM_TAG_RAPID_SPIN}, + {gBattleAnimSpriteGfx_TriAttackTriangle, 0x0800, ANIM_TAG_TRI_ATTACK_TRIANGLE}, + {gBattleAnimSpriteGfx_WispOrb, 0x0380, ANIM_TAG_WISP_ORB}, + {gBattleAnimSpriteGfx_WispFire, 0x0800, ANIM_TAG_WISP_FIRE}, + {gBattleAnimSpriteGfx_GoldStars, 0x00c0, ANIM_TAG_GOLD_STARS}, + {gBattleAnimSpriteGfx_EclipsingOrb, 0x0800, ANIM_TAG_ECLIPSING_ORB}, + {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_GRAY_ORB}, + {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_BLUE_ORB}, + {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_RED_ORB_2}, + {gBattleAnimSpriteGfx_PinkPetal, 0x0080, ANIM_TAG_PINK_PETAL}, + {gBattleAnimSpriteGfx_PainSplit, 0x0180, ANIM_TAG_PAIN_SPLIT}, + {gBattleAnimSpriteGfx_Confetti, 0x0180, ANIM_TAG_CONFETTI}, +#if B_NEW_MORNING_SUN_STAR_PARTICLE + {gBattleAnimSpriteGfx_NewGreenStar, 0x0200, ANIM_TAG_GREEN_STAR}, +#else + {gBattleAnimSpriteGfx_GreenStar, 0x0200, ANIM_TAG_GREEN_STAR}, +#endif + {gBattleAnimSpriteGfx_PinkCloud, 0x0200, ANIM_TAG_PINK_CLOUD}, + {gBattleAnimSpriteGfx_SweatDrop, 0x0020, ANIM_TAG_SWEAT_DROP}, + {gBattleAnimSpriteGfx_GuardRing, 0x0400, ANIM_TAG_GUARD_RING}, + {gBattleAnimSpriteGfx_PurpleScratch, 0x0600, ANIM_TAG_PURPLE_SCRATCH}, + {gBattleAnimSpriteGfx_PurpleSwipe, 0x1000, ANIM_TAG_PURPLE_SWIPE}, + {gBattleAnimSpriteGfx_TagHand, 0x0400, ANIM_TAG_TAG_HAND}, + {gBattleAnimSpriteGfx_SmallRedEye, 0x0020, ANIM_TAG_SMALL_RED_EYE}, + {gBattleAnimSpriteGfx_HollowOrb, 0x0080, ANIM_TAG_HOLLOW_ORB}, + {gBattleAnimSpriteGfx_XSign, 0x0800, ANIM_TAG_X_SIGN}, + {gBattleAnimSpriteGfx_BluegreenOrb, 0x0080, ANIM_TAG_BLUEGREEN_ORB}, + {gBattleAnimSpriteGfx_PawPrint, 0x0200, ANIM_TAG_PAW_PRINT}, + {gBattleAnimSpriteGfx_PurpleFlame, 0x0400, ANIM_TAG_PURPLE_FLAME}, + {gBattleAnimSpriteGfx_RedBall, 0x0200, ANIM_TAG_RED_BALL}, + {gBattleAnimSpriteGfx_SmellingsaltEffect, 0x0200, ANIM_TAG_SMELLINGSALT_EFFECT}, + {gBattleAnimSpriteGfx_Meteor, 0x0800, ANIM_TAG_METEOR}, + {gBattleAnimSpriteGfx_FlatRock, 0x0280, ANIM_TAG_FLAT_ROCK}, + {gBattleAnimSpriteGfx_MagnifyingGlass, 0x0200, ANIM_TAG_MAGNIFYING_GLASS}, + {gBattleAnimSpriteGfx_WaterOrb, 0x0200, ANIM_TAG_BROWN_ORB}, + {gBattleAnimSpriteGfx_MetalSoundWaves, 0x0400, ANIM_TAG_METAL_SOUND_WAVES}, + {gBattleAnimSpriteGfx_FlyingDirt, 0x0200, ANIM_TAG_FLYING_DIRT}, + {gBattleAnimSpriteGfx_IcicleSpear, 0x0200, ANIM_TAG_ICICLE_SPEAR}, + {gBattleAnimSpriteGfx_Hail, 0x0080, ANIM_TAG_HAIL}, + {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_RED_ORB}, + {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_GREEN_ORB}, + {gBattleAnimSpriteGfx_GreenSpike, 0x0080, ANIM_TAG_GREEN_SPIKE}, + {gBattleAnimSpriteGfx_CircleOfLight, 0x0800, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT}, + {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_BLUE_ORB}, + {gBattleAnimSpriteGfx_Pokeblock, 0x0080, ANIM_TAG_POKEBLOCK}, + {gBattleAnimSpriteGfx_WhiteFeather, 0x0400, ANIM_TAG_WHITE_FEATHER}, + {gBattleAnimSpriteGfx_Sparkle6, 0x0080, ANIM_TAG_SPARKLE_6}, + {gBattleAnimSpriteGfx_Splash, 0x0800, ANIM_TAG_SPLASH}, + {gBattleAnimSpriteGfx_SweatBead, 0x0020, ANIM_TAG_SWEAT_BEAD}, + {gBattleAnimSpriteGfx_Gem1, 0x0800, ANIM_TAG_GEM_1}, + {gBattleAnimSpriteGfx_Gem2, 0x0800, ANIM_TAG_GEM_2}, + {gBattleAnimSpriteGfx_Gem3, 0x0800, ANIM_TAG_GEM_3}, + {gBattleAnimSpriteGfx_SlamHit2, 0x1000, ANIM_TAG_SLAM_HIT_2}, + {gBattleAnimSpriteGfx_Recycle, 0x0800, ANIM_TAG_RECYCLE}, + {gBattleAnimSpriteGfx_RedParticles, 0x00a0, ANIM_TAG_RED_PARTICLES}, + {gBattleAnimSpriteGfx_Protect, 0x0800, ANIM_TAG_PROTECT}, + {gBattleAnimSpriteGfx_DirtMound, 0x0200, ANIM_TAG_DIRT_MOUND}, + {gBattleAnimSpriteGfx_Shock3, 0x0600, ANIM_TAG_SHOCK_3}, + {gBattleAnimSpriteGfx_WeatherBall, 0x0200, ANIM_TAG_WEATHER_BALL}, + {gBattleAnimSpriteGfx_Bird, 0x0800, ANIM_TAG_BIRD}, + {gBattleAnimSpriteGfx_CrossImpact, 0x0200, ANIM_TAG_CROSS_IMPACT}, + {gBattleAnimSpriteGfx_Slash, 0x0800, ANIM_TAG_SLASH_2}, + {gBattleAnimSpriteGfx_SlamHit, 0x1000, ANIM_TAG_WHIP_HIT}, + {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_BLUE_RING_2}, + {gBattleAnimSpriteGfx_WhiteStreak, 0x0200, ANIM_TAG_WHITE_STREAK}, + {gBattleAnimSpriteGfx_PurpleJab, 0x0100, ANIM_TAG_PURPLE_JAB}, + {gBattleAnimSpriteGfx_Spikes, 0x0080, ANIM_TAG_TOXIC_SPIKES}, + {gBattleAnimSpriteGfx_EnergyBall, 0x0200, ANIM_TAG_ENERGY_BALL}, + {gBattleAnimSpriteGfx_SeedBrown, 0x0080, ANIM_TAG_SEED_BROWN}, + {gBattleAnimSpriteGfx_Feint, 0x0800, ANIM_TAG_FEINT}, + {gBattleAnimSpriteGfx_MegaStone, 0x800, ANIM_TAG_MEGA_STONE}, + {gBattleAnimSpriteGfx_MegaSymbol, 0x0200, ANIM_TAG_MEGA_SYMBOL}, + {gBattleAnimSpriteGfx_MegaParticles, 0x0180, ANIM_TAG_MEGA_PARTICLES}, + {gBattleAnimSpriteGfx_TrumpCard, 0x0180, ANIM_TAG_TRUMP_CARD}, + {gBattleAnimSpriteGfx_TrumpCardParticles, 0x0060, ANIM_TAG_TRUMP_CARD_PARTICLES}, + {gBattleAnimSpriteGfx_Acupressure, 0x0200, ANIM_TAG_ACUPRESSURE}, + {gBattleAnimSpriteGfx_WringOut, 0x0200, ANIM_TAG_WRING_OUT}, + {gBattleAnimSpriteGfx_ColoredOrbs, 0x0300, ANIM_TAG_COLORED_ORBS}, + {gBattleAnimSpriteGfx_WorrySeed, 0x0080, ANIM_TAG_WORRY_SEED}, + {gBattleAnimSpriteGfx_SmallCloud, 0x0080, ANIM_TAG_SMALL_CLOUD}, + {gBattleAnimSpriteGfx_AttackOrder, 0x0480, ANIM_TAG_ATTACK_ORDER}, + {gBattleAnimSpriteGfx_DragonPulse, 0x0100, ANIM_TAG_DRAGON_PULSE}, + {gBattleAnimSpriteGfx_WoodHammer, 0x0C00, ANIM_TAG_WOOD_HAMMER}, + {gBattleAnimSpriteGfx_PsychoCut, 0x0200, ANIM_TAG_PSYCHO_CUT}, + {gBattleAnimSpriteGfx_PowerGem, 0x0080, ANIM_TAG_POWER_GEM}, + {gBattleAnimSpriteGfx_StoneEdge, 0x0A00, ANIM_TAG_STONE_EDGE}, + {gBattleAnimSpriteGfx_StealthRock, 0x0080, ANIM_TAG_STEALTH_ROCK}, + {gBattleAnimSpriteGfx_PoisonJab, 0x0080, ANIM_TAG_POISON_JAB}, + {gBattleAnimSpriteGfx_PoisonBubble, 0x0180, ANIM_TAG_GREEN_POISON_BUBBLE}, + {gBattleAnimSpriteGfx_FlashCannonBall, 0x200, ANIM_TAG_FLASH_CANNON_BALL}, + {gBattleAnimSpriteGfx_WaterGun, 0x180, ANIM_TAG_WATER_GUN}, + {gBattleAnimSpriteGfx_Punishment, 0xa00, ANIM_TAG_PUNISHMENT_BLADES}, + {gBattleAnimSpriteGfx_QuickGuard, 0x200, ANIM_TAG_QUICK_GUARD_HAND}, + {gBattleAnimSpriteGfx_ShellRight, 0x800, ANIM_TAG_SHELL_RIGHT}, + {gBattleAnimSpriteGfx_ShellLeft, 0x800, ANIM_TAG_SHELL_LEFT}, + {gBattleAnimSpriteGfx_RazorShell, 0x200, ANIM_TAG_RAZOR_SHELL}, + {gBattleAnimSpriteGfx_HydroPump, 0x200, ANIM_TAG_HYDRO_PUMP}, + {gBattleAnimSpriteGfx_Brine, 0xc00, ANIM_TAG_BRINE}, + {gBattleAnimSpriteGfx_Gear, 0x200, ANIM_TAG_GEAR}, + {gBattleAnimSpriteGfx_AssuranceHand, 0x200, ANIM_TAG_ASSURANCE_HAND}, + {gBattleAnimSpriteGfx_Fishies, 0x480, ANIM_TAG_WISHIWASHI_FISH}, + {gBattleAnimSpriteGfx_ZygardeHexes, 0x480, ANIM_TAG_ZYGARDE_HEXES}, + {gBattleAnimSpriteGfx_AuraSphere, 0x200, ANIM_TAG_AURA_SPHERE}, + {gBattleAnimSpriteGfx_OmegaStone, 0x800, ANIM_TAG_OMEGA_STONE}, + {gBattleAnimSpriteGfx_AlphaStone, 0x800, ANIM_TAG_ALPHA_STONE}, + {gBattleAnimSpriteGfx_BerryNormal, 0x400, ANIM_TAG_BERRY_NORMAL}, + {gBattleAnimSpriteGfx_BerryEaten, 0x200, ANIM_TAG_BERRY_EATEN}, + {gBattleAnimSpriteGfx_PurpleDrake, 0x800, ANIM_TAG_DRAGON_ASCENT}, + {gBattleAnimSpriteGfx_PinkDiamond, 0x40, ANIM_TAG_PINK_DIAMOND}, + {gBattleAnimSpriteGfx_SteamEruption, 0xa00, ANIM_TAG_STEAM_ERUPTION}, + {gBattleAnimSpriteGfx_Confide, 0x800, ANIM_TAG_CONFIDE}, + {gBattleAnimSpriteGfx_Arrows, 0x480, ANIM_TAG_VERTICAL_HEX}, + {NULL, 0x0, ANIM_TAG_UNAVAILABLE_1}, + {NULL, 0x0, ANIM_TAG_UNAVAILABLE_2}, + {gBattleAnimSpriteGfx_PowerTrick, 0x800, ANIM_TAG_POWER_TRICK}, + {gBattleAnimSpriteGfx_ChainLink, 0x200, ANIM_TAG_CHAIN_LINK}, + {gBattleAnimSpriteGfx_Anchor, 0x200, ANIM_TAG_ANCHOR}, + {gBattleAnimSpriteGfx_HorseshoeFist, 0x800, ANIM_TAG_HORSESHOE_SIDE_FIST}, + {gBattleAnimSpriteGfx_PurpleDrake, 0x800, ANIM_TAG_DRAGON_ASCENT_FOE}, + {gBattleAnimSpriteGfx_CraftyShield, 0x80, ANIM_TAG_CRAFTY_SHIELD}, + {gBattleAnimSpriteGfx_BlacephalonHead, 0x200, ANIM_TAG_BLACEPHALON_HEAD}, + {gBattleAnimSpriteGfx_FairyLockChains, 0x400, ANIM_TAG_FAIRY_LOCK_CHAINS}, + {gBattleAnimSpriteGfx_LightningRain, 0x700, ANIM_TAG_IONS}, + {gBattleAnimSpriteGfx_Chop, 0x200, ANIM_TAG_CHOP}, + {gBattleAnimSpriteGfx_HeartStamp, 0x400, ANIM_TAG_HEART_STAMP}, + {gBattleAnimSpriteGfx_HornLeech, 0x200, ANIM_TAG_HORN_LEECH}, + {gBattleAnimSpriteGfx_Steamroller, 0x800, ANIM_TAG_STEAMROLLER}, + {gBattleAnimSpriteGfx_HoopaHand, 0x80, ANIM_TAG_HOOPA_HAND}, + {gBattleAnimSpriteGfx_HoopaRing, 0x200, ANIM_TAG_HOOPA_RING}, + {gBattleAnimSpriteGfx_MetalBits, 0x140, ANIM_TAG_METAL_BITS}, + {gBattleAnimSpriteGfx_RocksSmall, 0x140, ANIM_TAG_SMALL_ROCK}, + {gBattleAnimSpriteGfx_SpiritShackleArrow, 0x200, ANIM_TAG_SPIRIT_ARROW}, + {gBattleAnimSpriteGfx_NecrozmaStar, 0x200, ANIM_TAG_ULTRA_BURST_SYMBOL}, + {gBattleAnimSpriteGfx_ZMoveSymbol, 0x800, ANIM_TAG_Z_MOVE_SYMBOL}, + {gBattleAnimSpriteGfx_BigRock, 0x800, ANIM_TAG_REALLY_BIG_ROCK}, + {gBattleAnimSpriteGfx_Cacoon, 0x800, ANIM_TAG_COCOON}, + {gBattleAnimSpriteGfx_Drill, 0x800, ANIM_TAG_CORKSCREW}, + {gBattleAnimSpriteGfx_GigavoltHavocSpear, 0x800, ANIM_TAG_HAVOC_SPEAR}, + {gBattleAnimSpriteGfx_PurpleDrake, 0x800, ANIM_TAG_PURPLE_DRAKE}, + {gBattleAnimSpriteGfx_MudBomb, 0x800, ANIM_TAG_MUD_BOMB}, + {gBattleAnimSpriteGfx_Branch, 0x200, ANIM_TAG_BRANCH}, + {gBattleAnimSpriteGfx_Apple, 0x200, ANIM_TAG_APPLE}, + {gBattleAnimSpriteGfx_Obstruct, 0x200, ANIM_TAG_OBSTRUCT_CROSS}, + {gBattleAnimSpriteGfx_PoisonColumn, 0x2000, ANIM_TAG_POISON_COLUMN}, + {gBattleAnimSpriteGfx_PoisonColumn, 0x2000, ANIM_TAG_GARBAGE_COLUMN}, + {gBattleAnimSpriteGfx_LargeSpike, 0x1000, ANIM_TAG_LARGE_SPIKE}, + {gBattleAnimSpriteGfx_DragonPulseRing, 0x200, ANIM_TAG_DRAGON_PULSE_RING}, + {gBattleAnimSpriteGfx_StonePillar, 0x2000, ANIM_TAG_STONE_PILLAR}, + {gBattleAnimSpriteGfx_Mushroom, 0x800, ANIM_TAG_MUSHROOM}, + {gBattleAnimSpriteGfx_GoldenApple, 0x800, ANIM_TAG_GOLDEN_APPLE}, + {gBattleAnimSpriteGfx_IceRock, 0x2800, ANIM_TAG_ICE_ROCK}, + {gBattleAnimSpriteGfx_Tornado, 0x1800, ANIM_TAG_TORNADO}, + {gBattleAnimSpriteGfx_StraightBeam, 0x180, ANIM_TAG_STRAIGHT_BEAM}, + {gBattleAnimSpriteGfx_DreepyMissile, 0x200, ANIM_TAG_DREEPY}, + {gBattleAnimSpriteGfx_IceRock, 0x1800, ANIM_TAG_ICE_ROCK_SINGLE}, + {gBattleAnimSpriteGfx_StonePillar, 0x1800, ANIM_TAG_STONE_PILLAR_MULTI}, + {gBattleAnimSpriteGfx_AlphaSymbol, 0x0200, ANIM_TAG_ALPHA_SYMBOL}, + {gBattleAnimSpriteGfx_OmegaSymbol, 0x0200, ANIM_TAG_OMEGA_SYMBOL}, + {gBattleAnimSpriteGfx_Orbs, 0x0180, ANIM_TAG_STEEL_BEAM}, + {gBattleAnimSpriteGfx_AuraSphere, 0x200, ANIM_TAG_POLTERGEIST}, +}; + +const struct CompressedSpritePalette gBattleAnimPaletteTable[] = +{ + {gBattleAnimSpritePal_Bone, ANIM_TAG_BONE}, + {gBattleAnimSpritePal_Spark, ANIM_TAG_SPARK}, + {gBattleAnimSpritePal_Pencil, ANIM_TAG_PENCIL}, + {gBattleAnimSpritePal_AirWave, ANIM_TAG_AIR_WAVE}, + {gBattleAnimSpritePal_Orb, ANIM_TAG_ORB}, +#if B_NEW_SWORD_PARTICLE + {gBattleAnimSpritePal_NewSword, ANIM_TAG_SWORD}, +#else + {gBattleAnimSpritePal_Sword, ANIM_TAG_SWORD}, +#endif +#if B_NEW_LEECH_SEED_PARTICLE + {gBattleAnimSpritePal_NewLeechSeed, ANIM_TAG_SEED}, +#else + {gBattleAnimSpritePal_Seed, ANIM_TAG_SEED}, +#endif + {gBattleAnimSpritePal_Explosion6, ANIM_TAG_EXPLOSION_6}, + {gBattleAnimSpritePal_PinkOrb, ANIM_TAG_PINK_ORB}, + {gBattleAnimSpritePal_Gust, ANIM_TAG_GUST}, + {gBattleAnimSpritePal_IceCube, ANIM_TAG_ICE_CUBE}, + {gBattleAnimSpritePal_Spark2, ANIM_TAG_SPARK_2}, + {gBattleAnimSpritePal_Orange, ANIM_TAG_ORANGE}, + {gBattleAnimSpritePal_YellowBall, ANIM_TAG_YELLOW_BALL}, + {gBattleAnimSpritePal_LockOn, ANIM_TAG_LOCK_ON}, + {gBattleAnimSpritePal_TiedBag, ANIM_TAG_TIED_BAG}, + {gBattleAnimSpritePal_BlackSmoke, ANIM_TAG_BLACK_SMOKE}, + {gBattleAnimSpritePal_BlackSmoke, ANIM_TAG_BLACK_BALL}, + {gBattleAnimSpritePal_Conversion, ANIM_TAG_CONVERSION}, + {gBattleAnimSpritePal_Glass, ANIM_TAG_GLASS}, +#if B_NEW_HORN_ATTACK_PARTICLE + {gBattleAnimSpritePal_NewHornHit, ANIM_TAG_HORN_HIT}, +#else + {gBattleAnimSpritePal_HornHit, ANIM_TAG_HORN_HIT}, +#endif + {gBattleAnimSpritePal_Hit, ANIM_TAG_HIT}, + {gBattleAnimSpritePal_Hit2, ANIM_TAG_HIT_2}, + {gBattleAnimSpritePal_BlueShards, ANIM_TAG_BLUE_SHARDS}, + {gBattleAnimSpritePal_ClosingEye, ANIM_TAG_CLOSING_EYE}, + {gBattleAnimSpritePal_WavingHand, ANIM_TAG_WAVING_HAND}, + {gBattleAnimSpritePal_HitDuplicate, ANIM_TAG_HIT_DUPLICATE}, + {gBattleAnimSpritePal_Leer, ANIM_TAG_LEER}, + {gBattleAnimSpritePal_BlueBurst, ANIM_TAG_BLUE_BURST}, +#if B_NEW_EMBER_PARTICLES + {gBattleAnimSpritePal_NewEmbers, ANIM_TAG_SMALL_EMBER}, +#else + {gBattleAnimSpritePal_SmallEmber, ANIM_TAG_SMALL_EMBER}, +#endif + {gBattleAnimSpritePal_GraySmoke, ANIM_TAG_GRAY_SMOKE}, + {gBattleAnimSpritePal_BlueStar, ANIM_TAG_BLUE_STAR}, + {gBattleAnimSpritePal_BubbleBurst, ANIM_TAG_BUBBLE_BURST}, + {gBattleAnimSpritePal_Fire, ANIM_TAG_FIRE}, + {gBattleAnimSpritePal_Fire, ANIM_TAG_SPINNING_FIRE}, + {gBattleAnimSpritePal_Fire, ANIM_TAG_FIRE_PLUME}, + {gBattleAnimSpritePal_Lightning2, ANIM_TAG_LIGHTNING_2}, + {gBattleAnimSpritePal_Lightning2, ANIM_TAG_LIGHTNING}, + {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_CLAW_SLASH_2}, + {gBattleAnimSpritePal_ClawSlash, ANIM_TAG_CLAW_SLASH}, + {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_SCRATCH_3}, + {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_SCRATCH_2}, + {gBattleAnimSpritePal_BubbleBurst2, ANIM_TAG_BUBBLE_BURST_2}, + {gBattleAnimSpritePal_IceChunk, ANIM_TAG_ICE_CHUNK}, + {gBattleAnimSpritePal_Glass2, ANIM_TAG_GLASS_2}, + {gBattleAnimSpritePal_PinkHeart2, ANIM_TAG_PINK_HEART_2}, + {gBattleAnimSpritePal_SapDrip, ANIM_TAG_SAP_DRIP}, + {gBattleAnimSpritePal_SapDrip2, ANIM_TAG_SAP_DRIP}, + {gBattleAnimSpritePal_Sparkle1, ANIM_TAG_SPARKLE_1}, + {gBattleAnimSpritePal_Sparkle2, ANIM_TAG_SPARKLE_2}, + {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_HUMANOID_FOOT}, + {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_MONSTER_FOOT}, + {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_HUMANOID_HAND}, + {gBattleAnimSpritePal_HitDuplicate, ANIM_TAG_NOISE_LINE}, + {gBattleAnimSpritePal_YellowUnk, ANIM_TAG_YELLOW_UNK}, + {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_RED_FIST}, + {gBattleAnimSpritePal_SlamHit, ANIM_TAG_SLAM_HIT}, + {gBattleAnimSpritePal_Ring, ANIM_TAG_RING}, +#if NEW_ROCKS_PARTICLE + {gBattleAnimSpritePal_NewRocks, ANIM_TAG_ROCKS}, +#else + {gBattleAnimSpritePal_Rocks, ANIM_TAG_ROCKS}, +#endif + {gBattleAnimSpritePal_Z, ANIM_TAG_Z}, + {gBattleAnimSpritePal_YellowUnk2, ANIM_TAG_YELLOW_UNK_2}, + {gBattleAnimSpritePal_AirSlash, ANIM_TAG_AIR_SLASH}, + {gBattleAnimSpritePal_SpinningGreenOrbs, ANIM_TAG_SPINNING_GREEN_ORBS}, +#if B_NEW_LEAF_PARTICLE + {gBattleAnimSpritePal_NewLeaf, ANIM_TAG_LEAF}, +#else + {gBattleAnimSpritePal_Leaf, ANIM_TAG_LEAF}, +#endif + {gBattleAnimSpritePal_Finger, ANIM_TAG_FINGER}, + {gBattleAnimSpritePal_PoisonPowder, ANIM_TAG_POISON_POWDER}, + {gBattleAnimSpritePal_BrownTriangle, ANIM_TAG_BROWN_TRIANGLE}, + {gBattleAnimSpritePal_SleepPowder, ANIM_TAG_SLEEP_POWDER}, + {gBattleAnimSpritePal_StunSpore, ANIM_TAG_STUN_SPORE}, + {gBattleAnimSpritePal_PoisonPowder, ANIM_TAG_POWDER}, + {gBattleAnimSpritePal_Sparkle3, ANIM_TAG_SPARKLE_3}, + {gBattleAnimSpritePal_Sparkle3, ANIM_TAG_SPARKLE_4}, + {gBattleAnimSpritePal_MusicNotes, ANIM_TAG_MUSIC_NOTES}, + {gBattleAnimSpritePal_Duck, ANIM_TAG_DUCK}, + {gBattleAnimSpritePal_MudSand, ANIM_TAG_MUD_SAND}, + {gBattleAnimSpritePal_Alert, ANIM_TAG_ALERT}, + {gBattleAnimSpritePal_BlueFlames, ANIM_TAG_BLUE_FLAMES}, + {gBattleAnimSpritePal_BlueFlames, ANIM_TAG_BLUE_FLAMES_2}, + {gBattleAnimSpritePal_Shock4, ANIM_TAG_SHOCK_4}, + {gBattleAnimSpritePal_Shock4, ANIM_TAG_SHOCK}, + {gBattleAnimSpritePal_Bell2, ANIM_TAG_BELL_2}, + {gBattleAnimSpritePal_PinkGlove, ANIM_TAG_PINK_GLOVE}, + {gBattleAnimSpritePal_BlueLines, ANIM_TAG_BLUE_LINES}, + {gBattleAnimSpritePal_Impact3, ANIM_TAG_IMPACT_3}, + {gBattleAnimSpritePal_Impact2, ANIM_TAG_IMPACT_2}, + {gBattleAnimSpritePal_Reticle, ANIM_TAG_RETICLE}, + {gBattleAnimSpritePal_Breath, ANIM_TAG_BREATH}, + {gBattleAnimSpritePal_Anger, ANIM_TAG_ANGER}, + {gBattleAnimSpritePal_Snowball, ANIM_TAG_SNOWBALL}, + {gBattleAnimSpritePal_Vine, ANIM_TAG_VINE}, + {gBattleAnimSpritePal_Sword2, ANIM_TAG_SWORD_2}, + {gBattleAnimSpritePal_Clapping, ANIM_TAG_CLAPPING}, + {gBattleAnimSpritePal_RedTube, ANIM_TAG_RED_TUBE}, + {gBattleAnimSpritePal_Amnesia, ANIM_TAG_AMNESIA}, + {gBattleAnimSpritePal_String2, ANIM_TAG_STRING_2}, + {gBattleAnimSpritePal_Pencil2, ANIM_TAG_PENCIL_2}, + {gBattleAnimSpritePal_Petal, ANIM_TAG_PETAL}, + {gBattleAnimSpritePal_BentSpoon, ANIM_TAG_BENT_SPOON}, + {gBattleAnimSpritePal_String2, ANIM_TAG_WEB}, + {gBattleAnimSpritePal_MilkBottle, ANIM_TAG_MILK_BOTTLE}, + {gBattleAnimSpritePal_Coin, ANIM_TAG_COIN}, + {gBattleAnimSpritePal_CrackedEgg, ANIM_TAG_CRACKED_EGG}, + {gBattleAnimSpritePal_CrackedEgg, ANIM_TAG_HATCHED_EGG}, + {gBattleAnimSpritePal_FreshEgg, ANIM_TAG_FRESH_EGG}, + {gBattleAnimSpritePal_Fangs, ANIM_TAG_FANGS}, + {gBattleAnimSpritePal_Explosion2, ANIM_TAG_EXPLOSION_2}, + {gBattleAnimSpritePal_Explosion2, ANIM_TAG_EXPLOSION_3}, + {gBattleAnimSpritePal_WaterDroplet, ANIM_TAG_WATER_DROPLET}, + {gBattleAnimSpritePal_WaterDroplet, ANIM_TAG_WATER_DROPLET_2}, + {gBattleAnimSpritePal_Seed2, ANIM_TAG_SEED_2}, + {gBattleAnimSpritePal_Seed2, ANIM_TAG_SPROUT}, + {gBattleAnimSpritePal_RedWand, ANIM_TAG_RED_WAND}, + {gBattleAnimSpritePal_PurpleGreenUnk, ANIM_TAG_PURPLE_GREEN_UNK}, + {gBattleAnimSpritePal_WaterColumn, ANIM_TAG_WATER_COLUMN}, + {gBattleAnimSpritePal_MudUnk, ANIM_TAG_MUD_UNK}, + {gBattleAnimSpritePal_RainDrops, ANIM_TAG_RAIN_DROPS}, + {gBattleAnimSpritePal_FurySwipes, ANIM_TAG_FURY_SWIPES}, + {gBattleAnimSpritePal_Vine2, ANIM_TAG_VINE_2}, + {gBattleAnimSpritePal_Teeth, ANIM_TAG_TEETH}, + {gBattleAnimSpritePal_Bone2, ANIM_TAG_BONE_2}, + {gBattleAnimSpritePal_WhiteBag, ANIM_TAG_WHITE_BAG}, + {gBattleAnimSpritePal_Unknown, ANIM_TAG_UNKNOWN}, + {gBattleAnimSpritePal_PurpleCoral, ANIM_TAG_PURPLE_CORAL}, + {gBattleAnimSpritePal_PurpleCoral, ANIM_TAG_PURPLE_DROPLET}, + {gBattleAnimSpritePal_Shock2, ANIM_TAG_SHOCK_2}, + {gBattleAnimSpritePal_ClosingEye2, ANIM_TAG_CLOSING_EYE_2}, + {gBattleAnimSpritePal_MetalBall, ANIM_TAG_METAL_BALL}, +#if NEW_SUBSTITUTE_PARTICLE + {gBattleAnimSpritePal_NewSubstituteFront, ANIM_TAG_MONSTER_DOLL}, +#else + {gBattleAnimSpritePal_MonsterDoll, ANIM_TAG_MONSTER_DOLL}, +#endif + {gBattleAnimSpritePal_Whirlwind, ANIM_TAG_WHIRLWIND}, + {gBattleAnimSpritePal_Whirlwind, ANIM_TAG_WHIRLWIND_2}, + {gBattleAnimSpritePal_Explosion4, ANIM_TAG_EXPLOSION_4}, + {gBattleAnimSpritePal_Explosion4, ANIM_TAG_EXPLOSION_5}, + {gBattleAnimSpritePal_Tongue, ANIM_TAG_TONGUE}, + {gBattleAnimSpritePal_Smoke, ANIM_TAG_SMOKE}, + {gBattleAnimSpritePal_Smoke, ANIM_TAG_SMOKE_2}, +#if B_NEW_IMPACT_PALETTE + {gBattleAnimSpritePal_NewImpact, ANIM_TAG_IMPACT}, +#else + {gBattleAnimSpritePal_Impact, ANIM_TAG_IMPACT}, +#endif + {gBattleAnimSpritePal_CircleImpact, ANIM_TAG_CIRCLE_IMPACT}, + {gBattleAnimSpritePal_Impact, ANIM_TAG_SCRATCH}, + {gBattleAnimSpritePal_Impact, ANIM_TAG_CUT}, +#if B_NEW_TEETH_PARTICLE + {gBattleAnimSpritePal_NewTeeth, ANIM_TAG_SHARP_TEETH}, +#else + {gBattleAnimSpritePal_SharpTeeth, ANIM_TAG_SHARP_TEETH}, +#endif + {gBattleAnimSpritePal_RainbowRings, ANIM_TAG_RAINBOW_RINGS}, + {gBattleAnimSpritePal_IceCrystals, ANIM_TAG_ICE_CRYSTALS}, + {gBattleAnimSpritePal_IceCrystals, ANIM_TAG_ICE_SPIKES}, +#if B_NEW_HANDS_FEET_PARTICLE + {gBattleAnimSpritePal_NewHandsAndFeet, ANIM_TAG_HANDS_AND_FEET}, +#else + {gBattleAnimSpritePal_HandsAndFeet, ANIM_TAG_HANDS_AND_FEET}, +#endif + {gBattleAnimSpritePal_MistCloud, ANIM_TAG_MIST_CLOUD}, + {gBattleAnimSpritePal_SharpTeeth, ANIM_TAG_CLAMP}, + {gBattleAnimSpritePal_RainDrops, ANIM_TAG_BUBBLE}, + {gBattleAnimSpritePal_Orbs, ANIM_TAG_ORBS}, + {gBattleAnimSpritePal_WaterImpact, ANIM_TAG_WATER_IMPACT}, + {gBattleAnimSpritePal_WaterImpact, ANIM_TAG_WATER_ORB}, + {gBattleAnimSpritePal_PoisonBubble, ANIM_TAG_POISON_BUBBLE}, + {gBattleAnimSpritePal_PoisonBubble, ANIM_TAG_TOXIC_BUBBLE}, +#if B_NEW_SPIKES_PARTICLE + {gBattleAnimSpritePal_NewSpikes, ANIM_TAG_SPIKES}, +#else + {gBattleAnimSpritePal_Spikes, ANIM_TAG_SPIKES}, +#endif + {gBattleAnimSpritePal_HornHit2, ANIM_TAG_HORN_HIT_2}, + {gBattleAnimSpritePal_AirWave2, ANIM_TAG_AIR_WAVE_2}, + {gBattleAnimSpritePal_SmallBubbles, ANIM_TAG_SMALL_BUBBLES}, +#if B_NEW_FLY_BUBBLE_PARTICLE + {gBattleAnimSpritePal_NewFly, ANIM_TAG_ROUND_SHADOW}, +#else + {gBattleAnimSpritePal_RoundShadow, ANIM_TAG_ROUND_SHADOW}, +#endif + {gBattleAnimSpritePal_Sunlight, ANIM_TAG_SUNLIGHT}, + {gBattleAnimSpritePal_Spore, ANIM_TAG_SPORE}, + {gBattleAnimSpritePal_Flower, ANIM_TAG_FLOWER}, + {gBattleAnimSpritePal_RazorLeaf, ANIM_TAG_RAZOR_LEAF}, + {gBattleAnimSpritePal_Needle, ANIM_TAG_NEEDLE}, + {gBattleAnimSpritePal_WhirlwindLines, ANIM_TAG_WHIRLWIND_LINES}, + {gBattleAnimSpritePal_GoldRing, ANIM_TAG_GOLD_RING}, + {gBattleAnimSpritePal_PurpleRing, ANIM_TAG_PURPLE_RING}, + {gBattleAnimSpritePal_BlueRing, ANIM_TAG_BLUE_RING}, + {gBattleAnimSpritePal_GreenLightWall, ANIM_TAG_GREEN_LIGHT_WALL}, + {gBattleAnimSpritePal_BlueLightWall, ANIM_TAG_BLUE_LIGHT_WALL}, + {gBattleAnimSpritePal_RedLightWall, ANIM_TAG_RED_LIGHT_WALL}, + {gBattleAnimSpritePal_GrayLightWall, ANIM_TAG_GRAY_LIGHT_WALL}, + {gBattleAnimSpritePal_OrangeLightWall, ANIM_TAG_ORANGE_LIGHT_WALL}, + {gBattleAnimSpritePal_BlackBall2, ANIM_TAG_BLACK_BALL_2}, + {gBattleAnimSpritePal_PurpleGasCloud, ANIM_TAG_PURPLE_GAS_CLOUD}, + {gBattleAnimSpritePal_Spark, ANIM_TAG_SPARK_H}, + {gBattleAnimSpritePal_YellowStar, ANIM_TAG_YELLOW_STAR}, + {gBattleAnimSpritePal_LargeFreshEgg, ANIM_TAG_LARGE_FRESH_EGG}, + {gBattleAnimSpritePal_ShadowBall, ANIM_TAG_SHADOW_BALL}, + {gBattleAnimSpritePal_Lick, ANIM_TAG_LICK}, + {gBattleAnimSpritePal_VoidLines, ANIM_TAG_VOID_LINES}, + {gBattleAnimSpritePal_String, ANIM_TAG_STRING}, + {gBattleAnimSpritePal_String, ANIM_TAG_WEB_THREAD}, + {gBattleAnimSpritePal_String, ANIM_TAG_SPIDER_WEB}, + {gBattleAnimSpritePal_Lightbulb, ANIM_TAG_LIGHTBULB}, + {gBattleAnimSpritePal_Slash, ANIM_TAG_SLASH}, + {gBattleAnimSpritePal_FocusEnergy, ANIM_TAG_FOCUS_ENERGY}, + {gBattleAnimSpritePal_SphereToCube, ANIM_TAG_SPHERE_TO_CUBE}, + {gBattleAnimSpritePal_Tendrils, ANIM_TAG_TENDRILS}, +#if B_NEW_MEAN_LOOK_PARTICLE + {gBattleAnimSpritePal_NewEye, ANIM_TAG_EYE}, +#else + {gBattleAnimSpritePal_Eye, ANIM_TAG_EYE}, +#endif + {gBattleAnimSpritePal_WhiteShadow, ANIM_TAG_WHITE_SHADOW}, + {gBattleAnimSpritePal_TealAlert, ANIM_TAG_TEAL_ALERT}, + {gBattleAnimSpritePal_OpeningEye, ANIM_TAG_OPENING_EYE}, + {gBattleAnimSpritePal_RoundWhiteHalo, ANIM_TAG_ROUND_WHITE_HALO}, + {gBattleAnimSpritePal_FangAttack, ANIM_TAG_FANG_ATTACK}, + {gBattleAnimSpritePal_PurpleHandOutline, ANIM_TAG_PURPLE_HAND_OUTLINE}, + {gBattleAnimSpritePal_Moon, ANIM_TAG_MOON}, + {gBattleAnimSpritePal_GreenSparkle, ANIM_TAG_GREEN_SPARKLE}, + {gBattleAnimSpritePal_Spiral, ANIM_TAG_SPIRAL}, + {gBattleAnimSpritePal_SnoreZ, ANIM_TAG_SNORE_Z}, + {gBattleAnimSpritePal_Explosion, ANIM_TAG_EXPLOSION}, + {gBattleAnimSpritePal_Nail, ANIM_TAG_NAIL}, + {gBattleAnimSpritePal_GhostlySpirit, ANIM_TAG_GHOSTLY_SPIRIT}, + {gBattleAnimSpritePal_WarmRock, ANIM_TAG_WARM_ROCK}, + {gBattleAnimSpritePal_BreakingEgg, ANIM_TAG_BREAKING_EGG}, + {gBattleAnimSpritePal_ThinRing, ANIM_TAG_THIN_RING}, + {gBattleAnimSpritePal_PunchImpact, ANIM_TAG_PUNCH_IMPACT}, + {gBattleAnimSpritePal_Bell, ANIM_TAG_BELL}, + {gBattleAnimSpritePal_MusicNotes2, ANIM_TAG_MUSIC_NOTES_2}, + {gBattleAnimSpritePal_SpeedDust, ANIM_TAG_SPEED_DUST}, + {gBattleAnimSpritePal_BlueLightWall, ANIM_TAG_TORN_METAL}, + {gBattleAnimSpritePal_ThoughtBubble, ANIM_TAG_THOUGHT_BUBBLE}, + {gBattleAnimSpritePal_MagentaHeart, ANIM_TAG_MAGENTA_HEART}, + {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_ELECTRIC_ORBS}, + {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_CIRCLE_OF_LIGHT}, + {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_ELECTRICITY}, + {gBattleAnimSpritePal_Finger, ANIM_TAG_FINGER_2}, + {gBattleAnimSpritePal_MovementWaves, ANIM_TAG_MOVEMENT_WAVES}, + {gBattleAnimSpritePal_RedHeart, ANIM_TAG_RED_HEART}, + {gBattleAnimSpritePal_RedOrb, ANIM_TAG_RED_ORB}, + {gBattleAnimSpritePal_EyeSparkle, ANIM_TAG_EYE_SPARKLE}, + {gBattleAnimSpritePal_PinkHeart, ANIM_TAG_PINK_HEART}, + {gBattleAnimSpritePal_Angel, ANIM_TAG_ANGEL}, + {gBattleAnimSpritePal_Devil, ANIM_TAG_DEVIL}, + {gBattleAnimSpritePal_Swipe, ANIM_TAG_SWIPE}, + {gBattleAnimSpritePal_Roots, ANIM_TAG_ROOTS}, + {gBattleAnimSpritePal_ItemBag, ANIM_TAG_ITEM_BAG}, + {gBattleAnimSpritePal_JaggedMusicNote, ANIM_TAG_JAGGED_MUSIC_NOTE}, +#if B_NEW_BATON_PASS_BALL_PARTICLE + {gBattleAnimSpritePal_NewPokeball, ANIM_TAG_POKEBALL}, +#else + {gBattleAnimSpritePal_Pokeball, ANIM_TAG_POKEBALL}, +#endif + {gBattleAnimSpritePal_Pokeball, ANIM_TAG_SPOTLIGHT}, + {gBattleAnimSpritePal_LetterZ, ANIM_TAG_LETTER_Z}, + {gBattleAnimSpritePal_RapidSpin, ANIM_TAG_RAPID_SPIN}, + {gBattleAnimSpritePal_TriAttackTriangle, ANIM_TAG_TRI_ATTACK_TRIANGLE}, + {gBattleAnimSpritePal_WispOrb, ANIM_TAG_WISP_ORB}, + {gBattleAnimSpritePal_WispOrb, ANIM_TAG_WISP_FIRE}, + {gBattleAnimSpritePal_GoldStars, ANIM_TAG_GOLD_STARS}, + {gBattleAnimSpritePal_EclipsingOrb, ANIM_TAG_ECLIPSING_ORB}, + {gBattleAnimSpritePal_GrayOrb, ANIM_TAG_GRAY_ORB}, + {gBattleAnimSpritePal_BlueOrb, ANIM_TAG_BLUE_ORB}, + {gBattleAnimSpritePal_RedOrb2, ANIM_TAG_RED_ORB_2}, + {gBattleAnimSpritePal_PinkPetal, ANIM_TAG_PINK_PETAL}, + {gBattleAnimSpritePal_PainSplit, ANIM_TAG_PAIN_SPLIT}, + {gBattleAnimSpritePal_Confetti, ANIM_TAG_CONFETTI}, +#if B_NEW_MORNING_SUN_STAR_PARTICLE + {gBattleAnimSpritePal_NewGreenStar, ANIM_TAG_GREEN_STAR}, +#else + {gBattleAnimSpritePal_GreenStar, ANIM_TAG_GREEN_STAR}, +#endif + {gBattleAnimSpritePal_PinkCloud, ANIM_TAG_PINK_CLOUD}, + {gBattleAnimSpritePal_SweatDrop, ANIM_TAG_SWEAT_DROP}, + {gBattleAnimSpritePal_GuardRing, ANIM_TAG_GUARD_RING}, + {gBattleAnimSpritePal_PurpleScratch, ANIM_TAG_PURPLE_SCRATCH}, + {gBattleAnimSpritePal_PurpleScratch, ANIM_TAG_PURPLE_SWIPE}, + {gBattleAnimSpritePal_Finger, ANIM_TAG_TAG_HAND}, + {gBattleAnimSpritePal_SmallRedEye, ANIM_TAG_SMALL_RED_EYE}, + {gBattleAnimSpritePal_HollowOrb, ANIM_TAG_HOLLOW_ORB}, + {gBattleAnimSpritePal_HollowOrb, ANIM_TAG_X_SIGN}, + {gBattleAnimSpritePal_BluegreenOrb, ANIM_TAG_BLUEGREEN_ORB}, + {gBattleAnimSpritePal_PawPrint, ANIM_TAG_PAW_PRINT}, + {gBattleAnimSpritePal_PurpleFlame, ANIM_TAG_PURPLE_FLAME}, + {gBattleAnimSpritePal_RedBall, ANIM_TAG_RED_BALL}, + {gBattleAnimSpritePal_SmellingsaltEffect, ANIM_TAG_SMELLINGSALT_EFFECT}, + {gBattleAnimSpritePal_Meteor, ANIM_TAG_METEOR}, + {gBattleAnimSpritePal_FlatRock, ANIM_TAG_FLAT_ROCK}, + {gBattleAnimSpritePal_MagnifyingGlass, ANIM_TAG_MAGNIFYING_GLASS}, + {gBattleAnimSpritePal_BrownOrb, ANIM_TAG_BROWN_ORB}, + {gBattleAnimSpritePal_MetalSoundWaves, ANIM_TAG_METAL_SOUND_WAVES}, + {gBattleAnimSpritePal_FlyingDirt, ANIM_TAG_FLYING_DIRT}, + {gBattleAnimSpritePal_IcicleSpear, ANIM_TAG_ICICLE_SPEAR}, + {gBattleAnimSpritePal_Hail, ANIM_TAG_HAIL}, + {gBattleAnimSpritePal_GlowyRedOrb, ANIM_TAG_GLOWY_RED_ORB}, + {gBattleAnimSpritePal_GlowyGreenOrb, ANIM_TAG_GLOWY_GREEN_ORB}, + {gBattleAnimSpritePal_GreenSpike, ANIM_TAG_GREEN_SPIKE}, + {gBattleAnimSpritePal_WhiteCircleOfLight, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT}, + {gBattleAnimSpritePal_GlowyBlueOrb, ANIM_TAG_GLOWY_BLUE_ORB}, + {gBattleAnimSpritePal_Pokeblock, ANIM_TAG_POKEBLOCK}, + {gBattleAnimSpritePal_WhiteFeather, ANIM_TAG_WHITE_FEATHER}, + {gBattleAnimSpritePal_Sparkle6, ANIM_TAG_SPARKLE_6}, + {gBattleAnimSpritePal_Splash, ANIM_TAG_SPLASH}, + {gBattleAnimSpritePal_Splash, ANIM_TAG_SWEAT_BEAD}, + {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_1}, + {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_2}, + {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_3}, + {gBattleAnimSpritePal_SlamHit2, ANIM_TAG_SLAM_HIT_2}, + {gBattleAnimSpritePal_Recycle, ANIM_TAG_RECYCLE}, + {gBattleAnimSpritePal_RedParticles, ANIM_TAG_RED_PARTICLES}, + {gBattleAnimSpritePal_Protect, ANIM_TAG_PROTECT}, + {gBattleAnimSpritePal_DirtMound, ANIM_TAG_DIRT_MOUND}, + {gBattleAnimSpritePal_Shock3, ANIM_TAG_SHOCK_3}, + {gBattleAnimSpritePal_WeatherBall, ANIM_TAG_WEATHER_BALL}, + {gBattleAnimSpritePal_Bird, ANIM_TAG_BIRD}, + {gBattleAnimSpritePal_CrossImpact, ANIM_TAG_CROSS_IMPACT}, + {gBattleAnimSpritePal_Slash2, ANIM_TAG_SLASH_2}, + {gBattleAnimSpritePal_WhipHit, ANIM_TAG_WHIP_HIT}, + {gBattleAnimSpritePal_BlueRing2, ANIM_TAG_BLUE_RING_2}, + {gBattleAnimSpritePal_WhiteStreak, ANIM_TAG_WHITE_STREAK}, + {gBattleAnimSpritePal_PurpleJab, ANIM_TAG_PURPLE_JAB}, + //new particles + {gBattleAnimSpritePal_ToxicSpikes, ANIM_TAG_TOXIC_SPIKES}, + {gBattleAnimSpritePal_EnergyBall, ANIM_TAG_ENERGY_BALL}, + {gBattleAnimSpritePal_SeedBrown, ANIM_TAG_SEED_BROWN}, + {gBattleAnimSpritePal_Feint, ANIM_TAG_FEINT}, + {gBattleAnimSpritePal_MegaStone, ANIM_TAG_MEGA_STONE}, + {gBattleAnimSpritePal_MegaSymbol, ANIM_TAG_MEGA_SYMBOL}, + {gBattleAnimSpritePal_MegaParticles, ANIM_TAG_MEGA_PARTICLES}, + {gBattleAnimSpritePal_TrumpCard, ANIM_TAG_TRUMP_CARD}, + {gBattleAnimSpritePal_TrumpCardParticles, ANIM_TAG_TRUMP_CARD_PARTICLES}, + {gBattleAnimSpritePal_Acupressure, ANIM_TAG_ACUPRESSURE}, + {gBattleAnimSpritePal_WringOut, ANIM_TAG_WRING_OUT}, + {gBattleAnimSpritePal_ColoredOrbs, ANIM_TAG_COLORED_ORBS}, + {gBattleAnimSpritePal_WorrySeed, ANIM_TAG_WORRY_SEED}, + {gBattleAnimSpritePal_SmallCloud, ANIM_TAG_SMALL_CLOUD}, + {gBattleAnimSpritePal_AttackOrder, ANIM_TAG_ATTACK_ORDER}, + {gBattleAnimSpritePal_DragonPulse, ANIM_TAG_DRAGON_PULSE}, + {gBattleAnimSpritePal_WoodHammer, ANIM_TAG_WOOD_HAMMER}, + {gBattleAnimSpritePal_PsychoCut, ANIM_TAG_PSYCHO_CUT}, + {gBattleAnimSpritePal_PowerGem, ANIM_TAG_POWER_GEM}, + {gBattleAnimSpritePal_StoneEdge, ANIM_TAG_STONE_EDGE}, + {gBattleAnimSpritePal_StealthRock, ANIM_TAG_STEALTH_ROCK}, + {gBattleAnimSpritePal_PoisonJab, ANIM_TAG_POISON_JAB}, + {gBattleAnimSpritePal_Vine, ANIM_TAG_GREEN_POISON_BUBBLE}, + {gBattleAnimSpritePal_FlashCannonBall, ANIM_TAG_FLASH_CANNON_BALL}, + {gBattleAnimSpritePal_WaterGun, ANIM_TAG_WATER_GUN}, + {gBattleAnimSpritePal_Punishment, ANIM_TAG_PUNISHMENT_BLADES}, + {gBattleAnimSpritePal_QuickGuard, ANIM_TAG_QUICK_GUARD_HAND}, + {gBattleAnimSpritePal_ShellLeft, ANIM_TAG_SHELL_RIGHT}, + {gBattleAnimSpritePal_ShellLeft, ANIM_TAG_SHELL_LEFT}, + {gBattleAnimSpritePal_RazorShell, ANIM_TAG_RAZOR_SHELL}, + {gBattleAnimSpritePal_HydroPump, ANIM_TAG_HYDRO_PUMP}, + {gBattleAnimSpritePal_Brine, ANIM_TAG_BRINE}, + {gBattleAnimSpritePal_Gear, ANIM_TAG_GEAR}, + {gBattleAnimSpritePal_AssuranceHand, ANIM_TAG_ASSURANCE_HAND}, + {gBattleAnimSpritePal_Fishies, ANIM_TAG_WISHIWASHI_FISH}, + {gBattleAnimSpritePal_ZygardeHexes, ANIM_TAG_ZYGARDE_HEXES}, + {gBattleAnimSpritePal_AuraSphere, ANIM_TAG_AURA_SPHERE}, + {gBattleAnimSpritePal_OmegaStone, ANIM_TAG_OMEGA_STONE}, + {gBattleAnimSpritePal_AlphaStone, ANIM_TAG_ALPHA_STONE}, + {gBattleAnimSpritePal_BerryNormal, ANIM_TAG_BERRY_NORMAL}, + {gBattleAnimSpritePal_SpacialRendSlices, ANIM_TAG_BERRY_EATEN}, + {gBattleAnimSpritePal_GreenDrake, ANIM_TAG_DRAGON_ASCENT}, + {gBattleAnimSpritePal_PinkDiamond, ANIM_TAG_PINK_DIAMOND}, + {gBattleAnimSpritePal_SteamEruption, ANIM_TAG_STEAM_ERUPTION}, + {gBattleAnimSpritePal_Confide, ANIM_TAG_CONFIDE}, + {gBattleAnimSpritePal_FusionFlare, ANIM_TAG_VERTICAL_HEX}, + {NULL, ANIM_TAG_UNAVAILABLE_1}, + {NULL, ANIM_TAG_UNAVAILABLE_2}, + {gBattleAnimSpritePal_PowerTrick, ANIM_TAG_POWER_TRICK}, + {gBattleAnimSpritePal_ChainLink, ANIM_TAG_CHAIN_LINK}, + {gBattleAnimSpritePal_NaturalGiftRing, ANIM_TAG_ANCHOR}, + {gBattleAnimSpritePal_HorseshoeFist, ANIM_TAG_HORSESHOE_SIDE_FIST}, + {gBattleAnimSpritePal_AvalancheRocks, ANIM_TAG_DRAGON_ASCENT_FOE}, + {gBattleAnimSpritePal_CraftyShield, ANIM_TAG_CRAFTY_SHIELD}, + {gBattleAnimSpritePal_BlacephalonHead, ANIM_TAG_BLACEPHALON_HEAD}, + {gBattleAnimSpritePal_DracoMeteor, ANIM_TAG_FAIRY_LOCK_CHAINS}, + {gBattleAnimSpritePal_LightningRain, ANIM_TAG_IONS}, + {gBattleAnimSpritePal_Chop, ANIM_TAG_CHOP}, + [ANIM_TAG_HEART_STAMP - ANIM_SPRITES_START] = {gBattleAnimSpritePal_HeartStamp, ANIM_TAG_HEART_STAMP}, + {gBattleAnimSpritePal_HornLeech, ANIM_TAG_HORN_LEECH}, + {gBattleAnimSpritePal_Steamroller, ANIM_TAG_STEAMROLLER}, + {gBattleAnimSpritePal_HoopaHand, ANIM_TAG_HOOPA_HAND}, + {gBattleAnimSpritePal_HoopaRing, ANIM_TAG_HOOPA_RING}, + {gBattleAnimSpritePal_BlueFlare, ANIM_TAG_METAL_BITS}, + {gBattleAnimSpritePal_NewRocks, ANIM_TAG_SMALL_ROCK}, + {gBattleAnimSpritePal_SpiritShackleArrow, ANIM_TAG_SPIRIT_ARROW}, + {gBattleAnimSpritePal_NecrozmaStar, ANIM_TAG_ULTRA_BURST_SYMBOL}, + {gBattleAnimSpritePal_ZMoveSymbol, ANIM_TAG_Z_MOVE_SYMBOL}, + {gBattleAnimSpritePal_BigRock, ANIM_TAG_REALLY_BIG_ROCK}, + {gBattleAnimSpritePal_Cacoon, ANIM_TAG_COCOON}, + {gBattleAnimSpritePal_Drill, ANIM_TAG_CORKSCREW}, + {gBattleAnimSpritePal_GigavoltHavocSpear, ANIM_TAG_HAVOC_SPEAR}, + {gBattleAnimSpritePal_PurpleDrake, ANIM_TAG_PURPLE_DRAKE}, + {gBattleAnimSpritePal_MudBomb, ANIM_TAG_MUD_BOMB}, + {gBattleAnimSpritePal_Branch, ANIM_TAG_BRANCH}, + {gBattleAnimSpritePal_Apple, ANIM_TAG_APPLE}, + {gBattleAnimSpritePal_Obstruct, ANIM_TAG_OBSTRUCT_CROSS}, + {gBattleAnimSpritePal_PoisonColumn, ANIM_TAG_POISON_COLUMN}, + {gBattleAnimSpritePal_GarbagePoisonPillar, ANIM_TAG_GARBAGE_COLUMN}, + {gBattleAnimSpritePal_LargeSpike, ANIM_TAG_LARGE_SPIKE}, + {gBattleAnimSpritePal_DragonPulseRing, ANIM_TAG_DRAGON_PULSE_RING}, + {gBattleAnimSpritePal_StonePillar, ANIM_TAG_STONE_PILLAR}, + {gBattleAnimSpritePal_Mushroom, ANIM_TAG_MUSHROOM}, + {gBattleAnimSpritePal_GoldenApple, ANIM_TAG_GOLDEN_APPLE}, + {gBattleAnimSpritePal_IceRock, ANIM_TAG_ICE_ROCK}, + {gBattleAnimSpritePal_Tornado, ANIM_TAG_TORNADO}, + {gBattleAnimSpritePal_StraightBeam, ANIM_TAG_STRAIGHT_BEAM}, + {gBattleAnimSpritePal_DreepyMissile, ANIM_TAG_DREEPY}, + {gBattleAnimSpritePal_IceRock, ANIM_TAG_ICE_ROCK_SINGLE}, + {gBattleAnimSpritePal_StonePillar, ANIM_TAG_STONE_PILLAR_MULTI}, + {gBattleAnimSpritePal_AlphaSymbol, ANIM_TAG_ALPHA_SYMBOL}, + {gBattleAnimSpritePal_OmegaSymbol, ANIM_TAG_OMEGA_SYMBOL}, + {gBattleAnimSpritePal_SteelBeam, ANIM_TAG_STEEL_BEAM}, + {gBattleAnimSpritePal_Poltergeist, ANIM_TAG_POLTERGEIST}, +}; + +const struct BattleAnimBackground gBattleAnimBackgroundTable[] = +{ + [BG_NONE] = {gBattleAnimBgImage_Dark, gBattleAnimBgPalette_Dark, gBattleAnimBgTilemap_Dark}, + [BG_DARK] = {gBattleAnimBgImage_Dark, gBattleAnimBgPalette_Dark, gBattleAnimBgTilemap_Dark}, + [BG_GHOST] = {gBattleAnimBgImage_Ghost, gBattleAnimBgPalette_Ghost, gBattleAnimBgTilemap_Ghost}, + [BG_PSYCHIC] = {gBattleAnimBgImage_Psychic, gBattleAnimBgPalette_Psychic, gBattleAnimBgTilemap_Psychic}, + [BG_IMPACT_OPPONENT] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactOpponent}, + [BG_IMPACT_PLAYER] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactPlayer}, + [BG_IMPACT_CONTESTS] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactContests}, + [BG_DRILL] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Drill, gBattleAnimBgTilemap_Drill}, + [BG_DRILL_CONTESTS] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Drill, gBattleAnimBgTilemap_DrillContests}, + [BG_HIGHSPEED_OPPONENT] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Highspeed, gBattleAnimBgTilemap_HighspeedOpponent}, + [BG_HIGHSPEED_PLAYER] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Highspeed, gBattleAnimBgTilemap_HighspeedPlayer}, + [BG_THUNDER] = {gBattleAnimBgImage_Thunder, gBattleAnimBgPalette_Thunder, gBattleAnimBgTilemap_Thunder}, + [BG_GUILLOTINE_OPPONENT] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotineOpponent}, + [BG_GUILLOTINE_PLAYER] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotinePlayer}, + [BG_GUILLOTINE_CONTESTS] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotineContests}, + [BG_ICE] = {gBattleAnimBgImage_Ice, gBattleAnimBgPalette_Ice, gBattleAnimBgTilemap_Ice}, + [BG_COSMIC] = {gBattleAnimBgImage_Cosmic, gBattleAnimBgPalette_Cosmic, gBattleAnimBgTilemap_Cosmic}, + [BG_IN_AIR] = {gBattleAnimBgImage_InAir, gBattleAnimBgPalette_InAir, gBattleAnimBgTilemap_InAir}, + [BG_SKY] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Sky, gBattleAnimBgTilemap_Drill}, + [BG_SKY_CONTESTS] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Sky, gBattleAnimBgTilemap_DrillContests}, + [BG_AURORA] = {gBattleAnimBgImage_Aurora, gBattleAnimBgPalette_Aurora, gBattleAnimBgTilemap_Aurora}, + [BG_FISSURE] = {gBattleAnimBgImage_Fissure, gBattleAnimBgPalette_Fissure, gBattleAnimBgTilemap_Fissure}, + [BG_BUG_OPPONENT] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Bug, gBattleAnimBgTilemap_HighspeedOpponent}, + [BG_BUG_PLAYER] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Bug, gBattleAnimBgTilemap_HighspeedPlayer}, + [BG_SOLAR_BEAM_OPPONENT] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_SolarBeam, gBattleAnimBgTilemap_ImpactOpponent}, + [BG_SOLAR_BEAM_PLAYER] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_SolarBeam, gBattleAnimBgTilemap_ImpactPlayer}, + [BG_SOLAR_BEAM_CONTESTS] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_SolarBeam, gBattleAnimBgTilemap_ImpactContests}, + //new bgs + [BG_MAGMA_STORM] = {gBattleAnimBgImage_InAir, gBattleAnimBgPalette_MagmaStorm, gBattleAnimBgTilemap_InAir}, + [BG_GIGA_IMPACT_OPPONENT] = {gBattleAnimBgImage_GigaImpact, gBattleAnimBgPalette_GigaImpact, gBattleAnimBgTilemap_GigaImpactOpponent}, + [BG_GIGA_IMPACT_PLAYER] = {gBattleAnimBgImage_GigaImpact, gBattleAnimBgPalette_GigaImpact, gBattleAnimBgTilemap_GigaImpactPlayer}, + [BG_GIGA_IMPACT_CONTEST] = {gBattleAnimBgImage_GigaImpact, gBattleAnimBgPalette_GigaImpact, gBattleAnimBgTilemap_GigaImpactContest}, + [BG_TRICK_ROOM] = {gBattleAnimBgImage_TrickRoom, gBattleAnimBgPalette_TrickRoom, gBattleAnimBgTilemap_TrickRoom}, + [BG_ROCK_WRECKER] = {gBattleAnimBgImage_Hurricane, gBattleAnimBgPalette_RockWrecker, gBattleAnimBgTilemap_Hurricane}, + [BG_SPACIAL_REND_ON_OPPONENT] = {gBattleAnimBgImage_SpacialRend, gBattleAnimBgPalette_SpacialRend, gBattleAnimBgTilemap_GigaImpactOpponent}, + [BG_SPACIAL_REND_ON_PLAYER] = {gBattleAnimBgImage_SpacialRend, gBattleAnimBgPalette_SpacialRend, gBattleAnimBgTilemap_GigaImpactPlayer}, + [BG_DARK_VOID] = {gBattleAnimBgImage_Waterfall, gBattleAnimBgPalette_DarkVoid, gBattleAnimBgTilemap_DarkVoid}, + [BG_WATER] = {gBattleAnimBgImage_HydroPump, gBattleAnimBgPalette_HydroPump, gBattleAnimBgTilemap_HydroPump}, + [BG_NIGHTMARE] = {gBattleAnimBgImage_Nightmare, gBattleAnimBgPalette_Nightmare, gBattleAnimBgTilemap_Nightmare}, + [BG_LEAF_STORM] = {gBattleAnimBgImage_LeafStorm, gBattleAnimBgPalette_LeafStorm, gBattleAnimBgTilemap_LeafStorm}, + [BG_FIRE] = {gBattleAnimBgImage_Fire1, gBattleAnimBgPalette_Fire1, gBattleAnimBgTilemap_Fire1}, + [BG_FIRE_2] = {gBattleAnimBgImage_Fire1, gBattleAnimBgPalette_Fire2, gBattleAnimBgTilemap_Fire1}, + [BG_WATER_2] = {gBattleAnimBgImage_Waterfall, gBattleAnimBgPalette_Waterfall, gBattleAnimBgTilemap_Waterfall}, + [BG_POISON] = {gBattleAnimBgImage_Waterfall, gBattleAnimBgPalette_PoisonFalls, gBattleAnimBgTilemap_Waterfall}, + [BG_AEROBLAST] = {gBattleAnimBgImage_Aeroblast, gBattleAnimBgPalette_Aeroblast, gBattleAnimBgTilemap_Aeroblast}, + [BG_HURRICANE] = {gBattleAnimBgImage_Hurricane, gBattleAnimBgPalette_Hurricane, gBattleAnimBgTilemap_Hurricane}, + [BG_ELECTRIC_TERRAIN] = {gBattleAnimBgImage_ElectricTerrain, gBattleAnimBgPalette_ElectricTerrain, gBattleAnimBgTilemap_ElectricTerrain}, + [BG_GRASSY_TERRAIN] = {gBattleAnimBgImage_GrassyTerrain, gBattleAnimBgPalette_GrassyTerrain, gBattleAnimBgTilemap_GrassyTerrain}, + [BG_MISTY_TERRAIN] = {gBattleAnimBgImage_MistyTerrain, gBattleAnimBgPalette_MistyTerrain, gBattleAnimBgTilemap_MistyTerrain}, + [BG_PSYCHIC_TERRAIN] = {gBattleAnimBgImage_PsychicTerrain, gBattleAnimBgPalette_PsychicTerrain, gBattleAnimBgTilemap_PsychicTerrain}, + [BG_FOCUS_BLAST] = {gBattleAnimBgImage_FocusBlast, gBattleAnimBgPalette_FocusBlast, gBattleAnimBgTilemap_FocusBlast}, + [BG_GUNK_SHOT] = {gBattleAnimBgImage_FocusBlast, gBattleAnimBgPalette_GunkShot, gBattleAnimBgTilemap_FocusBlast}, + [BG_HYDRO_CANNON] = {gBattleAnimBgImage_HydroCannon, gBattleAnimBgPalette_HydroCannon, gBattleAnimBgTilemap_HydroCannon}, + [BG_WONDER_ROOM] = {gBattleAnimBgImage_TrickRoom, gBattleAnimBgPalette_WonderRoom, gBattleAnimBgTilemap_TrickRoom}, + [BG_MAGIC_ROOM] = {gBattleAnimBgImage_TrickRoom, gBattleAnimBgPalette_MagicRoom, gBattleAnimBgTilemap_TrickRoom}, + [BG_HYPERSPACE_FURY] = {gBattleAnimBgImage_Psychic, gBattleAnimBgPalette_HyperspaceFury, gBattleAnimBgTilemap_Psychic}, + [BG_BOLT_STRIKE] = {gBattleAnimBgImage_BoltStrike, gBattleAnimBgPalette_BoltStrike, gBattleAnimBgTilemap_BoltStrike}, + [BG_ZMOVE_ACTIVATE] = {gBattleAnimBgImage_ZMoveActivate, gBattleAnimBgPalette_ZMoveActivate, gBattleAnimBgTilemap_ZMoveActivate}, + [BG_TECTONIC_RAGE] = {gBattleAnimBgImage_InAir, gBattleAnimBgPalette_TectonicRage, gBattleAnimBgTilemap_InAir}, + [BG_BLUE_SKY_DAY] = {gBattleAnimBgImage_SkyDay, gBattleAnimBgPalette_SkyDay, gBattleAnimBgTilemap_SkyDay}, + [BG_BLUE_SKY_AFTERNOON] = {gBattleAnimBgImage_SkyDay, gBattleAnimBgPalette_SkyAfternoon, gBattleAnimBgTilemap_SkyDay}, + [BG_BLUE_SKY_NIGHT] = {gBattleAnimBgImage_SkyDay, gBattleAnimBgPalette_SkyNight, gBattleAnimBgTilemap_SkyDay}, + [BG_ZMOVE_MOUNTAIN] = {gBattleAnimBgImage_ZMoveMountain, gBattleAnimBgPalette_ZMoveMountain, gBattleAnimBgTilemap_ZMoveMountain}, + [BG_NEVERENDING_NIGHTMARE] = {gBattleAnimBgImage_NeverendingNightmare, gBattleAnimBgPalette_NeverendingNightmare, gBattleAnimBgTilemap_NeverendingNightmare}, + [BG_WATER_PULSE] = {gBattleAnimBgImage_WaterPulse, gBattleAnimBgPalette_WaterPulse, gBattleAnimBgTilemap_WaterPulse}, + [BG_INFERNO_OVERDRIVE] = {gBattleAnimBgImage_InfernoOverdrive, gBattleAnimBgPalette_InfernoOverdrive, gBattleAnimBgTilemap_InfernoOverdrive}, + [BG_BLOOM_DOOM] = {gBattleAnimBgImage_BloomDoom, gBattleAnimBgPalette_BloomDoom, gBattleAnimBgTilemap_BloomDoom}, + [BG_SHATTERED_PSYCHE] = {gBattleAnimBgImage_ShatteredPsyche, gBattleAnimBgPalette_ShatteredPsyche, gBattleAnimBgTilemap_ShatteredPsyche}, + [BG_TWINKLE_TACKLE] = {gBattleAnimBgImage_TwinkleTackle, gBattleAnimBgPalette_TwinkleTackle, gBattleAnimBgTilemap_TwinkleTackle}, + [BG_BLACKHOLE_ECLIPSE] = {gBattleAnimBgImage_BlackholeEclipse, gBattleAnimBgPalette_BlackholeEclipse, gBattleAnimBgTilemap_BlackholeEclipse}, + [BG_SOULSTEALING_7STAR_STRIKE] = {gBattleAnimBgImage_SoulStealing7StarStrike, gBattleAnimBgPalette_SoulStealing7StarStrike, gBattleAnimBgTilemap_SoulStealing7StarStrike}, + [BG_MALICIOUS_MOONSAULT] = {gBattleAnimBgImage_MaliciousMoonsault, gBattleAnimBgPalette_MaliciousMoonsault, gBattleAnimBgTilemap_MaliciousMoonsault}, + [BG_CLANGOROUS_SOULBLAZE] = {gBattleAnimBgImage_ClangorousSoulblaze, gBattleAnimBgPalette_ClangorousSoulblaze, gBattleAnimBgTilemap_ClangorousSoulblaze}, + [BG_SNUGGLE_FOREVER] = {gBattleAnimBgImage_SnuggleForever, gBattleAnimBgPalette_SnuggleForever, gBattleAnimBgTilemap_SnuggleForever}, + [BG_MAX_LIGHTNING] = {gBattleAnimBgImage_MaxLightning, gBattleAnimBgPalette_MaxLightning, gBattleAnimBgTilemap_MaxLightning}, + [BG_GARBAGE_FALLS] = {gBattleAnimBgImage_Waterfall, gBattleAnimBgPalette_GarbageFalls, gBattleAnimBgTilemap_Waterfall}, + [BG_HYPER_BEAM] = {gBattleAnimBgImage_HydroCannon, gBattleAnimBgPalette_HyperBeam, gBattleAnimBgTilemap_HydroCannon}, + [BG_DYNAMAX_CANNON] = {gBattleAnimBgImage_HydroCannon, gBattleAnimBgPalette_DynamaxCannon, gBattleAnimBgTilemap_HydroCannon}, + [BG_AURA_SPHERE] = {gBattleAnimBgImage_FocusBlast, gBattleAnimBgPalette_AuraSphere, gBattleAnimBgTilemap_FocusBlast}, + [BG_STEEL_BEAM_OPPONENT] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_SteelBeam, gBattleAnimBgTilemap_HighspeedOpponent}, + [BG_STEEL_BEAM_PLAYER] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_SteelBeam, gBattleAnimBgTilemap_HighspeedPlayer}, +}; From 6a2a026c707a2eb5a5f45ddcf5c8520f96fb097d Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 18 Dec 2022 22:23:51 -0800 Subject: [PATCH 094/130] Update battle_anim.h Added required tags --- src/data/battle_anim.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/data/battle_anim.h b/src/data/battle_anim.h index e6e03f06c..5be53fe66 100644 --- a/src/data/battle_anim.h +++ b/src/data/battle_anim.h @@ -1450,6 +1450,7 @@ const struct CompressedSpriteSheet gBattleAnimPicTable[] = {gBattleAnimSpriteGfx_OmegaSymbol, 0x0200, ANIM_TAG_OMEGA_SYMBOL}, {gBattleAnimSpriteGfx_Orbs, 0x0180, ANIM_TAG_STEEL_BEAM}, {gBattleAnimSpriteGfx_AuraSphere, 0x200, ANIM_TAG_POLTERGEIST}, + {gBattleAnimSpriteGfx_Teapot, 0x1800, ANIM_TAG_TEAPOT}, }; const struct CompressedSpritePalette gBattleAnimPaletteTable[] = @@ -1900,6 +1901,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] = {gBattleAnimSpritePal_OmegaSymbol, ANIM_TAG_OMEGA_SYMBOL}, {gBattleAnimSpritePal_SteelBeam, ANIM_TAG_STEEL_BEAM}, {gBattleAnimSpritePal_Poltergeist, ANIM_TAG_POLTERGEIST}, + {gBattleAnimSpritePal_Teapot, ANIM_TAG_TEAPOT}, }; const struct BattleAnimBackground gBattleAnimBackgroundTable[] = From 03b5d362497da4cddb74efabf19b4aa56b14dabd Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 18 Dec 2022 22:26:06 -0800 Subject: [PATCH 095/130] Update src/battle_script_commands.c removes various description Co-authored-by: LOuroboros --- src/battle_script_commands.c | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 3274a7d36..dd1d3bb2c 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -10135,25 +10135,21 @@ static void Cmd_various(void) return; } break; - case VARIOUS_TEATIME_TARGETS: - // Gets the battlers to be affected by teatime. If there are none, print 'But it failed!' + case VARIOUS_TEATIME_TARGETS: + { + u32 count = 0; + + for (i = 0; i < gBattlersCount; i++) { - u32 count = 0; - for (i = 0; i < gBattlersCount; i++) - { - if (IsTeatimeAffected(i)) - { - count++; - } - } - if (count == 0) { - gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); // Teatime fails - } - else { - gBattlescriptCurrInstr += 7; - } + if (IsTeatimeAffected(i)) + count++; } - return; + if (count == 0) + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); // Teatime fails + else + gBattlescriptCurrInstr += 7; + } + return; case VARIOUS_TEATIME_INVUL: if (ItemId_GetPocket(gBattleMons[gActiveBattler].item) == POCKET_BERRIES && !(gStatuses3[gBattlerTarget] & (STATUS3_SEMI_INVULNERABLE))) gBattlescriptCurrInstr += 7; From c81b702a86e981c8de4165b140172126fe84ca6e Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 18 Dec 2022 22:26:51 -0800 Subject: [PATCH 096/130] Update src/battle_script_commands.c Spacing refix Co-authored-by: LOuroboros --- src/battle_script_commands.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index dd1d3bb2c..71e756af4 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -8151,21 +8151,19 @@ static bool32 IsAbilityRodAffected(void) static bool32 IsAbilityMotorAffected(void) { - u32 moveType; + u32 moveType; - if (gBattleStruct->dynamicMoveType == 0) - moveType = gBattleMoves[gCurrentMove].type; - else if (!(gBattleStruct->dynamicMoveType & 0x40)) - moveType = gBattleStruct->dynamicMoveType & 0x3F; - else - moveType = gBattleMoves[gCurrentMove].type; + if (gBattleStruct->dynamicMoveType == 0) + moveType = gBattleMoves[gCurrentMove].type; + else if (!(gBattleStruct->dynamicMoveType & 0x40)) + moveType = gBattleStruct->dynamicMoveType & 0x3F; + else + moveType = gBattleMoves[gCurrentMove].type; - if (moveType == TYPE_ELECTRIC && GetBattlerAbility(gBattlerTarget) == ABILITY_MOTOR_DRIVE) { - return TRUE; - } - else { - return FALSE; - } + if (moveType == TYPE_ELECTRIC && GetBattlerAbility(gBattlerTarget) == ABILITY_MOTOR_DRIVE) + return TRUE; + else + return FALSE; } static bool32 IsAbilityAbsorbAffected(void) From bf1a205661a37dad891308778e3f822dc3b847e4 Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 18 Dec 2022 22:27:12 -0800 Subject: [PATCH 097/130] Update src/battle_script_commands.c Bracket fixing Co-authored-by: LOuroboros --- src/battle_script_commands.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 71e756af4..b4b4eddd0 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -8141,12 +8141,10 @@ static bool32 IsAbilityRodAffected(void) else moveType = gBattleMoves[gCurrentMove].type; - if (moveType == TYPE_ELECTRIC && GetBattlerAbility(gBattlerTarget) == ABILITY_LIGHTNING_ROD) { + if (moveType == TYPE_ELECTRIC && GetBattlerAbility(gBattlerTarget) == ABILITY_LIGHTNING_ROD) return TRUE; - } - else { + else return FALSE; - } } static bool32 IsAbilityMotorAffected(void) From 2dbfc1c8f5f57490c76e8e435976baef5647d5c5 Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 18 Dec 2022 22:28:33 -0800 Subject: [PATCH 098/130] Update data/battle_scripts_1.s Fixes spacing. Thanks Lunos! Co-authored-by: LOuroboros --- 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 f013a41e8..ea1498e06 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -416,7 +416,7 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectDoubleShock @ EFFECT_DOUBLE_SHOCK .4byte BattleScript_EffectSpecialAttackUpHit @ EFFECT_SPECIAL_ATTACK_UP_HIT .4byte BattleScript_EffectVictoryDance @ EFFECT_VICTORY_DANCE - .4byte BattleScript_EffectTeatime @ EFFECT_TEATIME + .4byte BattleScript_EffectTeatime @ EFFECT_TEATIME BattleScript_EffectTeatime:: attackcanceler From ffda8165071119b5dffa843c737fc51a775190fb Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 18 Dec 2022 22:41:15 -0800 Subject: [PATCH 099/130] Update battle_script_commands.h Whoops, forgot the to copy paste various --- include/constants/battle_script_commands.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index 5d99cd221..21f3eb57e 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -246,7 +246,11 @@ #define VARIOUS_CAN_TELEPORT 155 #define VARIOUS_GET_BATTLER_SIDE 156 #define VARIOUS_CHECK_PARENTAL_BOND_COUNTER 157 -#define VARIOUS_TEATIME_TARGETS 158 +#define VARIOUS_JUMP_IF_ROD 158 +#define VARIOUS_JUMP_IF_ABSORB 159 +#define VARIOUS_JUMP_IF_MOTOR 160 +#define VARIOUS_TEATIME_INVUL 161 +#define VARIOUS_TEATIME_TARGETS 162 // Cmd_manipulatedamage From 562736a5e60b78bbe96f25286dd0cf34a417d6dc Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Sun, 18 Dec 2022 22:50:41 -0800 Subject: [PATCH 100/130] Update battle_scripts_1.s Changed STAT_BUFF_ALLOW_PTR to STAT_CHANGE_ALLOW_PTR --- data/battle_scripts_1.s | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index ea1498e06..b9401117a 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -457,7 +457,7 @@ BattleScript_Teatimerod: call BattleScript_AbilityPopUp playstatchangeanimation BS_TARGET, BIT_SPATK, STAT_CHANGE_BY_TWO setstatchanger STAT_SPATK, 1, FALSE - statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_TeatimeBuffer + statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_TeatimeBuffer jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_TeatimeBuffer printfromtable gStatUpStringIds waitmessage 0x40 @@ -470,7 +470,7 @@ BattleScript_Teatimemotor: call BattleScript_AbilityPopUp playstatchangeanimation BS_TARGET, BIT_SPEED, STAT_CHANGE_BY_TWO setstatchanger STAT_SPEED, 1, FALSE - statbuffchange STAT_BUFF_ALLOW_PTR, BattleScript_TeatimeBuffer + statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_TeatimeBuffer jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, 0x2, BattleScript_TeatimeBuffer printfromtable gStatUpStringIds waitmessage 0x40 From 6215d4b1b4ddddd179e48c6528b9b324e0f24761 Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Mon, 19 Dec 2022 17:18:05 -0800 Subject: [PATCH 101/130] Update src/battle_script_commands.c Co-authored-by: LOuroboros --- src/battle_script_commands.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index b8e162804..9dc869d27 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -8132,19 +8132,19 @@ static bool32 IsRototillerAffected(u32 battlerId) static bool32 IsAbilityRodAffected(void) { - u32 moveType; + u32 moveType; - if (gBattleStruct->dynamicMoveType == 0) - moveType = gBattleMoves[gCurrentMove].type; - else if (!(gBattleStruct->dynamicMoveType & 0x40)) - moveType = gBattleStruct->dynamicMoveType & 0x3F; - else - moveType = gBattleMoves[gCurrentMove].type; + if (gBattleStruct->dynamicMoveType == 0) + moveType = gBattleMoves[gCurrentMove].type; + else if (!(gBattleStruct->dynamicMoveType & 0x40)) + moveType = gBattleStruct->dynamicMoveType & 0x3F; + else + moveType = gBattleMoves[gCurrentMove].type; - if (moveType == TYPE_ELECTRIC && GetBattlerAbility(gBattlerTarget) == ABILITY_LIGHTNING_ROD) - return TRUE; - else - return FALSE; + if (moveType == TYPE_ELECTRIC && GetBattlerAbility(gBattlerTarget) == ABILITY_LIGHTNING_ROD) + return TRUE; + else + return FALSE; } static bool32 IsAbilityMotorAffected(void) From 459631eb9682e29ee391a6a81fcbf593051e0ee8 Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Mon, 19 Dec 2022 17:18:23 -0800 Subject: [PATCH 102/130] Update src/battle_script_commands.c Co-authored-by: LOuroboros --- src/battle_script_commands.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 9dc869d27..ede9574af 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -8185,11 +8185,11 @@ static bool32 IsAbilityAbsorbAffected(void) static bool32 IsTeatimeAffected(u32 battlerId) { - if (ItemId_GetPocket(gBattleMons[battlerId].item) != POCKET_BERRIES) - return FALSE; // Only berries - if (gStatuses3[battlerId] & STATUS3_SEMI_INVULNERABLE) - return FALSE; // Teatime doesn't affected semi-invulnerable battlers - return TRUE; + if (ItemId_GetPocket(gBattleMons[battlerId].item) != POCKET_BERRIES) + return FALSE; // Only berries + if (gStatuses3[battlerId] & STATUS3_SEMI_INVULNERABLE) + return FALSE; // Teatime doesn't affected semi-invulnerable battlers + return TRUE; } #define COURTCHANGE_SWAP(status, structField, temp) \ From 07a91b9e9b437c719ac44890c0a66a92c7dfb7ce Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Mon, 19 Dec 2022 17:18:43 -0800 Subject: [PATCH 103/130] Update src/battle_script_commands.c Co-authored-by: LOuroboros --- src/battle_script_commands.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index ede9574af..edecee664 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -8166,21 +8166,19 @@ static bool32 IsAbilityMotorAffected(void) static bool32 IsAbilityAbsorbAffected(void) { - u32 moveType; + u32 moveType; - if (gBattleStruct->dynamicMoveType == 0) - moveType = gBattleMoves[gCurrentMove].type; - else if (!(gBattleStruct->dynamicMoveType & 0x40)) - moveType = gBattleStruct->dynamicMoveType & 0x3F; - else - moveType = gBattleMoves[gCurrentMove].type; + if (gBattleStruct->dynamicMoveType == 0) + moveType = gBattleMoves[gCurrentMove].type; + else if (!(gBattleStruct->dynamicMoveType & 0x40)) + moveType = gBattleStruct->dynamicMoveType & 0x3F; + else + moveType = gBattleMoves[gCurrentMove].type; - if (moveType == TYPE_ELECTRIC && GetBattlerAbility(gBattlerTarget) == ABILITY_VOLT_ABSORB) { - return TRUE; - } - else { - return FALSE; - } + if (moveType == TYPE_ELECTRIC && GetBattlerAbility(gBattlerTarget) == ABILITY_VOLT_ABSORB) + return TRUE; + else + return FALSE; } static bool32 IsTeatimeAffected(u32 battlerId) From c8abf00cac0a56cf722355f2751ed7fbe2957386 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Tue, 20 Dec 2022 05:21:16 -0300 Subject: [PATCH 104/130] Applied corrections Anger Shell: -Made it print a string from the gStatDownStringIds table while lowering Def and Sp. Def -Made it use the shiny new modifybattlerstatstage macro. -Made it activate multiple times per battle, as it should. Well-Baked Body: -Turned it into an absorbing ability. Wind Rider: -Turned it into an absorbing ability. -For its Tailwind interaction, I made it activate only when Tailwind kicks in successfully, instead of whenever it's active at the end of a turn. Guard Dog: -Updated its check inside BattleScript_EffectHitEscape. -Moved it from Cmd_forcerandomswitch to BattleScript_EffectRoar. Wind Power: -Split off its move end effect from Electromorphosis'. Electromorphosis: -Split off its move end effect from Wind Power's. Hadron Engine: -Merged its Switch In effect with Electric Surge's. Protosynthesis: -Fixed its stat boost. Quark Drive: -Fixed its stat boost. Cud Chew: -Updated its ENDTURN effect's berry check. Supreme Overlord: -Tweaked the looping i variable's data type, the order of the variables and the checks inside ApplySupremeOverlordModifier. Earth Eater: -Turned it into an absorbing ability. Misc changes: -Added a variable to set the amount of stat stages raised inside AbilityMoveEffects' case ABILITYEFFECT_ABSORBING. -Added a preproc config to update the text string that they print. -Limited the scope of atkHighestStat and defHighestStat in CalcMoveBasePowerAfterModifiers to Protosynthesis's and Quark Drive's effects. --- data/battle_scripts_1.s | 62 ++++++++++---------- include/battle.h | 1 - include/config/battle.h | 3 +- src/battle_script_commands.c | 4 +- src/battle_util.c | 107 ++++++++++++++++++----------------- 5 files changed, 92 insertions(+), 85 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 61392433d..af0352e68 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -2876,8 +2876,25 @@ BattleScript_EffectTailwind: waitanimation printstring STRINGID_TAILWINDBLEW waitmessage B_WAIT_TIME_LONG + call TryActivateWindRiderLoop goto BattleScript_MoveEnd +TryActivateWindRiderLoop: + savetarget + setbyte gBattlerTarget, 0 +BattleScript_WindRiderLoop_Iter: + jumpifability BS_TARGET, ABILITY_WIND_RIDER, BattleScript_WindRiderLoop_Activate + goto BattleScript_WindRiderLoop_Increment +BattleScript_WindRiderLoop_Activate: + call BattleScript_AbilityPopUp + modifybattlerstatstage BS_TARGET, STAT_ATK, INCREASE, 1, BattleScript_WindRiderLoop_Increment, ANIM_ON +BattleScript_WindRiderLoop_Increment: + addbyte gBattlerTarget, 0x1 + jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_WindRiderLoop_Iter +BattleScript_WindRiderLoop_Ret: + restoretarget + return + BattleScript_EffectMircleEye: attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE @@ -2965,9 +2982,9 @@ BattleScript_EffectHitEscape: resultmessage waitmessage B_WAIT_TIME_LONG jumpifmovehadnoeffect BattleScript_MoveEnd + jumpifability BS_TARGET, ABILITY_GUARD_DOG, BattleScript_MoveEnd seteffectwithchance tryfaintmon BS_TARGET - jumpifability BS_TARGET, ABILITY_GUARD_DOG, BattleScript_MoveEnd moveendto MOVEEND_ATTACKER_VISIBLE moveendfrom MOVEEND_TARGET_VISIBLE jumpifbattleend BattleScript_HitEscapeEnd @@ -3557,6 +3574,7 @@ BattleScript_EffectRoar:: attackstring ppreduce jumpifroarfails BattleScript_ButItFailed + jumpifability BS_TARGET, ABILITY_GUARD_DOG, BattleScript_ButItFailed jumpifability BS_TARGET, ABILITY_SUCTION_CUPS, BattleScript_AbilityPreventsPhasingOut jumpifstatus3 BS_TARGET, STATUS3_ROOTED, BattleScript_PrintMonIsRooted accuracycheck BattleScript_ButItFailed, NO_ACC_CALC_CHECK_LOCK_ON @@ -7151,38 +7169,16 @@ BattleScript_AngerShellActivates:: jumpifstat BS_TARGET, CMP_EQUAL, STAT_SPDEF, MIN_STAT_STAGE, BattleScript_ButItFailed BattleScript_AngerShellTryDef:: setbyte sSTAT_ANIM_PLAYED, FALSE - playstatchangeanimation BS_TARGET, BIT_DEF | BIT_SPDEF, STAT_CHANGE_NEGATIVE | STAT_CHANGE_CANT_PREVENT - setstatchanger STAT_DEF, 1, TRUE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR | MOVE_EFFECT_CERTAIN, BattleScript_AngerShellTrySpDef - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_AngerShellTrySpDef - printfromtable gStatUpStringIds - waitmessage B_WAIT_TIME_LONG + modifybattlerstatstage BS_ATTACKER, STAT_DEF, DECREASE, 1, BattleScript_AngerShellTrySpDef, ANIM_ON BattleScript_AngerShellTrySpDef: - setstatchanger STAT_SPDEF, 1, TRUE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR | MOVE_EFFECT_CERTAIN, BattleScript_AngerShellTryAttack - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_AngerShellTryAttack - printfromtable gStatUpStringIds - waitmessage B_WAIT_TIME_LONG + modifybattlerstatstage BS_ATTACKER, STAT_SPDEF, DECREASE, 1, BattleScript_AngerShellTryAttack, ANIM_ON BattleScript_AngerShellTryAttack: setbyte sSTAT_ANIM_PLAYED, FALSE - playstatchangeanimation BS_TARGET, BIT_SPATK | BIT_ATK | BIT_SPEED, STAT_CHANGE_BY_TWO - setstatchanger STAT_ATK, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_AngerShellTrySpAtk - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_AngerShellTrySpAtk - printfromtable gStatUpStringIds - waitmessage B_WAIT_TIME_LONG + modifybattlerstatstage BS_ATTACKER, STAT_ATK, INCREASE, 1, BattleScript_AngerShellTrySpAtk, ANIM_ON BattleScript_AngerShellTrySpAtk: - setstatchanger STAT_SPATK, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_AngerShellTrySpeed - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_AngerShellTrySpeed - printfromtable gStatUpStringIds - waitmessage B_WAIT_TIME_LONG + modifybattlerstatstage BS_ATTACKER, STAT_SPATK, INCREASE, 1, BattleScript_AngerShellTrySpeed, ANIM_ON BattleScript_AngerShellTrySpeed: - setstatchanger STAT_SPEED, 1, FALSE - statbuffchange MOVE_EFFECT_AFFECTS_USER | STAT_CHANGE_ALLOW_PTR, BattleScript_AngerShellRet - jumpifbyte CMP_EQUAL, cMULTISTRING_CHOOSER, B_MSG_STAT_WONT_INCREASE, BattleScript_AngerShellRet - printfromtable gStatUpStringIds - waitmessage B_WAIT_TIME_LONG + modifybattlerstatstage BS_ATTACKER, STAT_SPEED, INCREASE, 1, BattleScript_AngerShellRet, ANIM_ON BattleScript_AngerShellRet: return @@ -7210,7 +7206,7 @@ BattleScript_EarthEaterActivates:: call BattleScript_AbilityPopUp pause B_WAIT_TIME_LONG tryhealquarterhealth BS_TARGET, BattleScript_EarthEaterRet - orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE + orword gHitMarker, HITMARKER_SKIP_DMG_TRACK | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE healthbarupdate BS_TARGET datahpupdate BS_TARGET printstring STRINGID_PKMNREGAINEDHEALTH @@ -8451,6 +8447,7 @@ BattleScript_IntimidatePrevented: BattleScript_IntimidateInReverse: copybyte sBATTLER, gBattlerTarget + copybyte gBattlerAbility, gBattlerTarget call BattleScript_AbilityPopUp pause B_WAIT_TIME_SHORT modifybattlerstatstage BS_TARGET, STAT_ATK, INCREASE, 1, BattleScript_IntimidateLoopIncrement, ANIM_ON @@ -8703,8 +8700,15 @@ BattleScript_MoveStatDrain:: setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 waitanimation +.if B_ABSORBING_ABILITY_STRING >= GEN_5 + statbuffchange STAT_CHANGE_ALLOW_PTR, BattleScript_MoveStatDrain_Cont + printfromtable gStatUpStringIds + waitmessage B_WAIT_TIME_LONG +.else printstring STRINGID_TARGETABILITYSTATRAISE waitmessage B_WAIT_TIME_LONG +.endif +BattleScript_MoveStatDrain_Cont: clearsemiinvulnerablebit tryfaintmon BS_ATTACKER goto BattleScript_MoveEnd diff --git a/include/battle.h b/include/battle.h index 317995333..883b70d26 100644 --- a/include/battle.h +++ b/include/battle.h @@ -653,7 +653,6 @@ struct BattleStruct u8 attackerBeforeBounce:2; u8 targetsDone[MAX_BATTLERS_COUNT]; // Each battler as a bit. u16 overwrittenAbilities[MAX_BATTLERS_COUNT]; // abilities overwritten during battle (keep separate from battle history in case of switching) - bool8 endturnAbilityDone[PARTY_SIZE][2]; // For some reason, adding a switchInAbilityDone equivalent in SpecialStatus didn't work. }; #define F_DYNAMIC_TYPE_1 (1 << 6) diff --git a/include/config/battle.h b/include/config/battle.h index 3f359a6f2..3f06f54da 100644 --- a/include/config/battle.h +++ b/include/config/battle.h @@ -110,6 +110,7 @@ #define B_WEATHER_FORMS GEN_LATEST // In Gen5+, Castform and Cherrim revert to their base form upon losing their respective ability. Cherrim needs Flower Gift to swap forms. #define B_SYMBIOSIS_GEMS GEN_LATEST // In Gen7+, Symbiosis passes an item after a gem-boosted attack. Previously, items are passed before the gem-boosted attack hits, making the item effect apply. #define B_CHECK_IF_CHARGED_UP TRUE // If set to TRUE, certain abilities such as Electromorphosis WILL check if the STATUS3_CHARGED_UP status flag is applied. +#define B_ABSORBING_ABILITY_STRING GEN_LATEST // In Gen5+, the abilities that absorb moves of a certain type use a generic string for stat increases and decreases. // Item settings #define B_HP_BERRIES GEN_LATEST // In Gen4+, berries which restore hp activate immediately after HP drops to half. In Gen3, the effect occurs at the end of the turn. @@ -174,7 +175,7 @@ #define B_LAST_USED_BALL_BUTTON R_BUTTON // If last used ball is implemented, this button (or button combo) will trigger throwing the last used ball. // Other settings -#define B_DOUBLE_WILD_CHANCE 0 // % chance of encountering two Pokémon in a Wild Encounter. +#define B_DOUBLE_WILD_CHANCE 100 // % chance of encountering two Pokémon in a Wild Encounter. #define B_MULTI_BATTLE_WHITEOUT GEN_LATEST // In Gen4+, multi battles end when the Player and also their Partner don't have any more Pokémon to fight. #define B_EVOLUTION_AFTER_WHITEOUT GEN_LATEST // In Gen6+, Pokemon that qualify for evolution after battle will evolve even if the player loses. #define B_WILD_NATURAL_ENEMIES TRUE // If set to TRUE, certain wild mon species will attack other species when partnered in double wild battles (eg. Zangoose vs Seviper) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 98cee311b..ab7e144f7 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -11238,8 +11238,8 @@ static void Cmd_forcerandomswitch(void) } else { - // In normal wild doubles, Roar will always fail if the user's level is less than the target's or if the target's ability is Guard Dog. - if (gBattleMons[gBattlerAttacker].level >= gBattleMons[gBattlerTarget].level && GetBattlerAbility(gBattlerTarget) != ABILITY_GUARD_DOG) + // In normal wild doubles, Roar will always fail if the user's level is less than the target's. + if (gBattleMons[gBattlerAttacker].level >= gBattleMons[gBattlerTarget].level) gBattlescriptCurrInstr = BattleScript_RoarSuccessEndBattle; else gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); diff --git a/src/battle_util.c b/src/battle_util.c index df16999eb..9556c8fc3 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -2378,11 +2378,6 @@ u8 DoFieldEndTurnEffects(void) BattleScriptExecute(BattleScript_TailwindEnds); effect++; } - if (IsAbilityOnSide(gActiveBattler, ABILITY_WIND_RIDER)) - { - BattleScriptExecute(BattleScript_WindRiderActivatesEnd2); - effect++; - } if (IsAbilityOnSide(gActiveBattler, ABILITY_WIND_POWER)) { gCurrentMove = MOVE_TAILWIND; @@ -3245,7 +3240,7 @@ u8 DoBattlerEndTurnEffects(void) gBattleStruct->turnEffectsTracker++; break; case ENDTURN_CUD_CHEW: - if (GetBattlerAbility(gActiveBattler) == ABILITY_CUD_CHEW && !gDisableStructs[gActiveBattler].cudChew && GetUsedHeldItem(gActiveBattler) != ITEM_NONE) + if (GetBattlerAbility(gActiveBattler) == ABILITY_CUD_CHEW && !gDisableStructs[gActiveBattler].cudChew && ItemId_GetPocket(GetUsedHeldItem(gActiveBattler)) == POCKET_BERRIES) gDisableStructs[gActiveBattler].cudChew = TRUE; gBattleStruct->turnEffectsTracker++; break; @@ -4773,6 +4768,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move } break; case ABILITY_ELECTRIC_SURGE: + case ABILITY_HADRON_ENGINE: if (TryChangeBattleTerrain(battler, STATUS_FIELD_ELECTRIC_TERRAIN, &gFieldTimers.terrainTimer)) { BattleScriptPushCursorAndCallback(BattleScript_ElectricSurgeActivates); @@ -4957,13 +4953,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move effect++; } break; - case ABILITY_HADRON_ENGINE: - if (TryChangeBattleTerrain(battler, STATUS_FIELD_ELECTRIC_TERRAIN, &gFieldTimers.terrainTimer)) - { - BattleScriptPushCursorAndCallback(BattleScript_ElectricSurgeActivates); - effect++; - } - break; case ABILITY_SUPREME_OVERLORD: if (!gSpecialStatuses[battler].switchInAbilityDone && CountUsablePartyMons(battler) < PARTY_SIZE) { @@ -5233,16 +5222,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move gBattlescriptCurrInstr = BattleScript_DarkTypePreventsPrankster; effect = 1; } - else if (targetAbility == ABILITY_WELL_BAKED_BODY && gBattleMoves[gCurrentMove].type == TYPE_FIRE) - { - gBattlescriptCurrInstr = BattleScript_WellBakedBodyActivates; - effect = 1; - } - else if (targetAbility == ABILITY_WIND_RIDER && gBattleMoves[gCurrentMove].flags & FLAG_WIND_MOVE && !(moveTarget & MOVE_TARGET_USER)) - { - gBattlescriptCurrInstr = BattleScript_WindRiderActivatesMoveEnd; - effect = 1; - } else if (GetBattlerAbility(gBattlerTarget) == ABILITY_GOOD_AS_GOLD && IS_MOVE_STATUS(gCurrentMove) && !(moveTarget & MOVE_TARGET_USER) @@ -5258,6 +5237,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move if (move != MOVE_NONE) { u8 statId; + u8 statAmount = 1; switch (gLastUsedAbility) { case ABILITY_VOLT_ABSORB: @@ -5315,6 +5295,18 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move } } break; + case ABILITY_WELL_BAKED_BODY: + if (moveType == TYPE_FIRE) + effect = 2, statId = STAT_DEF, statAmount = 2; + break; + case ABILITY_WIND_RIDER: + if (gBattleMoves[gCurrentMove].flags & FLAG_WIND_MOVE && !(GetBattlerMoveTargetType(gBattlerAttacker, gCurrentMove) & MOVE_TARGET_USER)) + effect = 2, statId = STAT_ATK; + break; + case ABILITY_EARTH_EATER: + if (moveType == TYPE_GROUND) + effect = 1; + break; } if (effect == 1) // Drain Hp ability. @@ -5359,9 +5351,11 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move else gBattlescriptCurrInstr = BattleScript_MoveStatDrain_PPLoss; - SET_STATCHANGER(statId, 1, FALSE); + SET_STATCHANGER(statId, statAmount, FALSE); + #if B_ABSORBING_ABILITY_STRING < GEN_5 gBattleMons[battler].statStages[statId]++; PREPARE_STAT_BUFFER(gBattleTextBuff1, statId); + #endif } } } @@ -5894,10 +5888,8 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && !gProtectStructs[gBattlerAttacker].confusionSelfDmg && TARGET_TURN_DAMAGED - && (gBattleMons[gBattlerTarget].hp <= gBattleMons[gBattlerTarget].maxHP / 2) - && !gBattleStruct->endturnAbilityDone[gBattlerPartyIndexes[gBattlerTarget]][GetBattlerSide(gBattlerTarget)]) + && (gBattleMons[gBattlerTarget].hp <= gBattleMons[gBattlerTarget].maxHP / 2)) { - gBattleStruct->endturnAbilityDone[gBattlerPartyIndexes[gBattlerTarget]][GetBattlerSide(gBattlerTarget)] = TRUE; gBattlerAttacker = gBattlerTarget; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_AngerShellActivates; @@ -5905,7 +5897,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move } break; case ABILITY_WIND_POWER: - case ABILITY_ELECTROMORPHOSIS: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && !gProtectStructs[gBattlerAttacker].confusionSelfDmg && TARGET_TURN_DAMAGED @@ -5918,6 +5909,18 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move effect++; } break; + case ABILITY_ELECTROMORPHOSIS: + if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) + && !gProtectStructs[gBattlerAttacker].confusionSelfDmg + && TARGET_TURN_DAMAGED + && IsBattlerAlive(gBattlerTarget)) + { + gBattlerAttacker = gBattlerTarget; + BattleScriptPushCursor(); + gBattlescriptCurrInstr = BattleScript_WindPowerActivates; + effect++; + } + break; case ABILITY_TOXIC_DEBRIS: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && !gProtectStructs[gBattlerAttacker].confusionSelfDmg @@ -5932,18 +5935,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move effect++; } break; - case ABILITY_EARTH_EATER: - if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && !gProtectStructs[gBattlerAttacker].confusionSelfDmg - && gBattleMoves[gCurrentMove].type == TYPE_GROUND - && TARGET_TURN_DAMAGED - && IsBattlerAlive(gBattlerTarget)) - { - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_EarthEaterActivates; - effect++; - } - break; } break; case ABILITYEFFECT_MOVE_END_ATTACKER: // Same as above, but for attacker @@ -8773,15 +8764,17 @@ static u16 CalcMoveBasePower(u16 move, u8 battlerAtk, u8 battlerDef) // The first ally adds a x1.2 boost, and subsequent allies add an extra x0.1 boost each. static u16 ApplySupremeOverlordModifier(u8 battlerId) { + u32 i; u8 side = GetBattlerSide(battlerId); struct Pokemon *party = (side == B_SIDE_PLAYER) ? gPlayerParty : gEnemyParty; - u8 i; u16 modifier = UQ_4_12(1.0); bool8 appliedFirstBoost = FALSE; for (i = 0; i < PARTY_SIZE; i++) { - if (GetMonData(&party[i], MON_DATA_HP) == 0) + if (GetMonData(&party[i], MON_DATA_SPECIES) != SPECIES_NONE + && !GetMonData(&party[i], MON_DATA_IS_EGG) + && GetMonData(&party[i], MON_DATA_HP) == 0) modifier += (!appliedFirstBoost) ? UQ_4_12(0.2) : UQ_4_12(0.1); appliedFirstBoost = TRUE; } @@ -8799,8 +8792,6 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe u32 atkSide = GET_BATTLER_SIDE(battlerAtk); u16 atkAbility = GetBattlerAbility(battlerAtk); u16 defAbility = GetBattlerAbility(battlerDef); - u8 atkHighestStat = GetHighestStatId(battlerAtk); - u8 defHighestStat = GetHighestStatId(battlerDef); // attacker's abilities switch (atkAbility) @@ -8914,12 +8905,18 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe MulModifier(&modifier, UQ_4_12(1.5)); break; case ABILITY_PROTOSYNTHESIS: - if (gBattleWeather & B_WEATHER_SUN && WEATHER_HAS_EFFECT && (atkHighestStat == STAT_ATK || atkHighestStat == STAT_SPATK)) - MulModifier(&modifier, UQ_4_12(1.3)); + { + u8 atkHighestStat = GetHighestStatId(battlerAtk); + if (gBattleWeather & B_WEATHER_SUN && WEATHER_HAS_EFFECT && (atkHighestStat == STAT_ATK || atkHighestStat == STAT_SPATK)) + MulModifier(&modifier, UQ_4_12(1.3)); + } break; case ABILITY_QUARK_DRIVE: - if (gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN && (atkHighestStat == STAT_ATK || atkHighestStat == STAT_SPATK)) - MulModifier(&modifier, UQ_4_12(1.3)); + { + u8 atkHighestStat = GetHighestStatId(battlerAtk); + if (gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN && (atkHighestStat == STAT_ATK || atkHighestStat == STAT_SPATK)) + MulModifier(&modifier, UQ_4_12(1.3)); + } break; case ABILITY_ORICHALCUM_PULSE: if (gBattleWeather & B_WEATHER_SUN && WEATHER_HAS_EFFECT) @@ -9006,12 +9003,18 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe MulModifier(&modifier, UQ_4_12(2.0)); break; case ABILITY_PROTOSYNTHESIS: - if (gBattleWeather & B_WEATHER_SUN && WEATHER_HAS_EFFECT && (defHighestStat == STAT_DEF || defHighestStat == STAT_SPDEF)) - MulModifier(&modifier, UQ_4_12(0.3)); + { + u8 defHighestStat = GetHighestStatId(battlerDef); + if (gBattleWeather & B_WEATHER_SUN && WEATHER_HAS_EFFECT && (defHighestStat == STAT_DEF || defHighestStat == STAT_SPDEF)) + MulModifier(&modifier, UQ_4_12(0.7)); + } break; case ABILITY_QUARK_DRIVE: - if (gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN && (defHighestStat == STAT_DEF || defHighestStat == STAT_SPDEF)) - MulModifier(&modifier, UQ_4_12(0.3)); + { + u8 defHighestStat = GetHighestStatId(battlerDef); + if (gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN && (defHighestStat == STAT_DEF || defHighestStat == STAT_SPDEF)) + MulModifier(&modifier, UQ_4_12(0.7)); + } break; } From 682c59869bc71ea99bd3fca8d2c026fa627f6b15 Mon Sep 17 00:00:00 2001 From: Martin Griffin Date: Tue, 20 Dec 2022 21:28:54 +0000 Subject: [PATCH 105/130] Cleanup HandleTerrainMove --- src/battle_script_commands.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 3e52aa618..e10a283c2 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7921,35 +7921,34 @@ static bool32 HasAttackerFaintedTarget(void) static void HandleTerrainMove(u16 move) { u32 statusFlag = 0; - u8 *timer = NULL; switch (gBattleMoves[move].effect) { case EFFECT_MISTY_TERRAIN: - statusFlag = STATUS_FIELD_MISTY_TERRAIN, timer = &gFieldTimers.terrainTimer; + statusFlag = STATUS_FIELD_MISTY_TERRAIN; gBattleCommunication[MULTISTRING_CHOOSER] = 0; break; case EFFECT_GRASSY_TERRAIN: - statusFlag = STATUS_FIELD_GRASSY_TERRAIN, timer = &gFieldTimers.terrainTimer; + statusFlag = STATUS_FIELD_GRASSY_TERRAIN; gBattleCommunication[MULTISTRING_CHOOSER] = 1; break; case EFFECT_ELECTRIC_TERRAIN: - statusFlag = STATUS_FIELD_ELECTRIC_TERRAIN, timer = &gFieldTimers.terrainTimer; + statusFlag = STATUS_FIELD_ELECTRIC_TERRAIN; gBattleCommunication[MULTISTRING_CHOOSER] = 2; break; case EFFECT_PSYCHIC_TERRAIN: - statusFlag = STATUS_FIELD_PSYCHIC_TERRAIN, timer = &gFieldTimers.terrainTimer; + statusFlag = STATUS_FIELD_PSYCHIC_TERRAIN; gBattleCommunication[MULTISTRING_CHOOSER] = 3; break; case EFFECT_DAMAGE_SET_TERRAIN: switch (gBattleMoves[move].argument) { case 0: //genesis supernova - statusFlag = STATUS_FIELD_PSYCHIC_TERRAIN, timer = &gFieldTimers.terrainTimer; + statusFlag = STATUS_FIELD_PSYCHIC_TERRAIN; gBattleCommunication[MULTISTRING_CHOOSER] = 3; break; case 1: //splintered stormshards - if (!(gFieldStatuses & (STATUS_FIELD_MISTY_TERRAIN | STATUS_FIELD_GRASSY_TERRAIN | STATUS_FIELD_ELECTRIC_TERRAIN | STATUS_FIELD_PSYCHIC_TERRAIN))) + if (!(gFieldStatuses & STATUS_FIELD_TERRAIN_ANY)) { //no terrain to remove -> jump to battle script pointer gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); @@ -7957,7 +7956,7 @@ static void HandleTerrainMove(u16 move) else { // remove all terrain - gFieldStatuses &= ~(STATUS_FIELD_MISTY_TERRAIN | STATUS_FIELD_GRASSY_TERRAIN | STATUS_FIELD_ELECTRIC_TERRAIN | STATUS_FIELD_PSYCHIC_TERRAIN); + gFieldStatuses &= ~STATUS_FIELD_TERRAIN_ANY; gBattleCommunication[MULTISTRING_CHOOSER] = 4; gBattlescriptCurrInstr += 7; } @@ -7977,9 +7976,9 @@ static void HandleTerrainMove(u16 move) gFieldStatuses &= ~STATUS_FIELD_TERRAIN_ANY; gFieldStatuses |= statusFlag; if (GetBattlerHoldEffect(gBattlerAttacker, TRUE) == HOLD_EFFECT_TERRAIN_EXTENDER) - *timer = 8; + gFieldTimers.terrainTimer = 8; else - *timer = 5; + gFieldTimers.terrainTimer = 5; gBattlescriptCurrInstr += 7; } } From 766c0140eed0acba908925b5ca3eac79f58b90d2 Mon Sep 17 00:00:00 2001 From: Philipp AUER Date: Wed, 21 Dec 2022 02:48:41 +0100 Subject: [PATCH 106/130] Refactor sInverseTypeEffectivenessTable to implicit lookup (#2528) * [refactor, battle_util] replace sInverseTypeEffectivenessTable LUT by implicit lookup * [review, style, squashme] update switch/case codestyle Co-authored-by: LOuroboros * [review, squashme] merge code branches Co-authored-by: Eduardo Quezada D'Ottone Co-authored-by: sbird Co-authored-by: LOuroboros Co-authored-by: Eduardo Quezada D'Ottone --- src/battle_util.c | 50 ++++++++++++++++------------------------------- 1 file changed, 17 insertions(+), 33 deletions(-) diff --git a/src/battle_util.c b/src/battle_util.c index 40890960e..00e3b869b 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -60,6 +60,7 @@ static bool32 IsUnnerveAbilityOnOpposingSide(u8 battlerId); static u8 GetFlingPowerFromItemId(u16 itemId); static void SetRandomMultiHitCounter(); static u32 GetBattlerItemHoldEffectParam(u8 battlerId, u16 item); +static u16 GetInverseTypeMultiplier(u16 multiplier); extern const u8 *const gBattleScriptsForMoveEffects[]; extern const u8 *const gBattlescriptsForRunningByItem[]; @@ -1256,38 +1257,6 @@ static const u16 sTypeEffectivenessTable[NUMBER_OF_MON_TYPES][NUMBER_OF_MON_TYPE {X(1.0), X(2.0), X(1.0), X(0.5), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(1.0), X(0.5), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(2.0), X(2.0), X(1.0)}, // fairy }; -static const u16 sInverseTypeEffectivenessTable[NUMBER_OF_MON_TYPES][NUMBER_OF_MON_TYPES] = -{ -// normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark fairy - {X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(2.0), X(1.0), X(2.0), X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0)}, // normal - {X(0.5), X(1.0), X(2.0), X(2.0), X(1.0), X(0.5), X(2.0), X(2.0), X(0.5), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(2.0), X(0.5), X(1.0), X(0.5), X(2.0)}, // fight - {X(1.0), X(0.5), X(1.0), X(1.0), X(1.0), X(2.0), X(0.5), X(1.0), X(2.0), X(1.0), X(1.0), X(1.0), X(0.5), X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0)}, // flying - {X(1.0), X(1.0), X(1.0), X(2.0), X(2.0), X(2.0), X(1.0), X(2.0), X(2.0), X(1.0), X(1.0), X(1.0), X(0.5), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5)}, // poison - {X(1.0), X(1.0), X(2.0), X(0.5), X(1.0), X(0.5), X(2.0), X(1.0), X(0.5), X(1.0), X(0.5), X(1.0), X(2.0), X(0.5), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0)}, // ground - {X(1.0), X(2.0), X(0.5), X(1.0), X(2.0), X(1.0), X(0.5), X(1.0), X(2.0), X(1.0), X(0.5), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(1.0), X(1.0), X(1.0)}, // rock - {X(1.0), X(2.0), X(2.0), X(2.0), X(1.0), X(1.0), X(1.0), X(2.0), X(2.0), X(1.0), X(2.0), X(1.0), X(0.5), X(1.0), X(0.5), X(1.0), X(1.0), X(0.5), X(2.0)}, // bug - #if B_STEEL_RESISTANCES >= GEN_6 - {X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(1.0), X(1.0), X(2.0), X(1.0)}, // ghost - #else - {X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(1.0), X(1.0), X(2.0), X(1.0)}, // ghost - #endif - {X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(1.0), X(1.0), X(2.0), X(1.0), X(2.0), X(2.0), X(1.0), X(2.0), X(1.0), X(0.5), X(1.0), X(1.0), X(0.5)}, // steel - {X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0)}, // mystery - {X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(2.0), X(0.5), X(1.0), X(0.5), X(1.0), X(2.0), X(2.0), X(0.5), X(1.0), X(1.0), X(0.5), X(2.0), X(1.0), X(1.0)}, // fire - {X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(0.5), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(2.0), X(2.0), X(1.0), X(1.0), X(1.0), X(2.0), X(1.0), X(1.0)}, // water - {X(1.0), X(1.0), X(2.0), X(2.0), X(0.5), X(0.5), X(2.0), X(1.0), X(2.0), X(1.0), X(2.0), X(0.5), X(2.0), X(1.0), X(1.0), X(1.0), X(2.0), X(1.0), X(1.0)}, // grass - {X(1.0), X(1.0), X(0.5), X(1.0), X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(2.0), X(2.0), X(1.0), X(1.0), X(2.0), X(1.0), X(1.0)}, // electric - {X(1.0), X(0.5), X(1.0), X(0.5), X(1.0), X(1.0), X(1.0), X(1.0), X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(2.0), X(1.0), X(1.0), X(2.0), X(1.0)}, // psychic - {X(1.0), X(1.0), X(0.5), X(1.0), X(0.5), X(1.0), X(1.0), X(1.0), X(2.0), X(1.0), X(2.0), X(2.0), X(0.5), X(1.0), X(1.0), X(2.0), X(0.5), X(1.0), X(1.0)}, // ice - {X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(1.0), X(2.0)}, // dragon - #if B_STEEL_RESISTANCES >= GEN_6 - {X(1.0), X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(1.0), X(1.0), X(2.0), X(2.0)}, // dark - #else - {X(1.0), X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(1.0), X(1.0), X(2.0), X(2.0)}, // dark - #endif - {X(1.0), X(0.5), X(1.0), X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(2.0), X(1.0), X(2.0), X(1.0), X(1.0), X(1.0), X(1.0), X(1.0), X(0.5), X(0.5), X(1.0)}, // fairy -}; - #undef X // code @@ -9603,11 +9572,26 @@ u16 CalcPartyMonTypeEffectivenessMultiplier(u16 move, u16 speciesDef, u16 abilit return modifier; } +static u16 GetInverseTypeMultiplier(u16 multiplier) +{ + switch (multiplier) + { + case UQ_4_12(0.0): + case UQ_4_12(0.5): + return UQ_4_12(2.0); + case UQ_4_12(2.0): + return UQ_4_12(0.5); + case UQ_4_12(1.0): + default: + return UQ_4_12(1.0); + } +} + u16 GetTypeModifier(u8 atkType, u8 defType) { #if B_FLAG_INVERSE_BATTLE != 0 if (FlagGet(B_FLAG_INVERSE_BATTLE)) - return sInverseTypeEffectivenessTable[atkType][defType]; + return GetInverseTypeMultiplier(sTypeEffectivenessTable[atkType][defType]); #endif return sTypeEffectivenessTable[atkType][defType]; } From 5eaf0e15fc764716cefa40b0d01873fa5b51c4ae Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Tue, 20 Dec 2022 18:08:01 -0800 Subject: [PATCH 107/130] Update data/battle_scripts_1.s -_- Co-authored-by: Eduardo Quezada D'Ottone --- 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 c3914c11d..d4b781b22 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -416,7 +416,7 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectDoubleShock @ EFFECT_DOUBLE_SHOCK .4byte BattleScript_EffectSpecialAttackUpHit @ EFFECT_SPECIAL_ATTACK_UP_HIT .4byte BattleScript_EffectVictoryDance @ EFFECT_VICTORY_DANCE - .4byte BattleScript_EffectTeatime @ EFFECT_TEATIME + .4byte BattleScript_EffectTeatime @ EFFECT_TEATIME BattleScript_EffectTeatime:: attackcanceler From 2c2807669620100b056e149d9a3012ed5e0e6010 Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Tue, 20 Dec 2022 18:08:38 -0800 Subject: [PATCH 108/130] Update include/constants/battle_script_commands.h Co-authored-by: Eduardo Quezada D'Ottone --- include/constants/battle_script_commands.h | 1 - 1 file changed, 1 deletion(-) diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index e12f957b4..2e3cab2ec 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -253,7 +253,6 @@ #define VARIOUS_TEATIME_INVUL 162 #define VARIOUS_TEATIME_TARGETS 163 - // Cmd_manipulatedamage #define DMG_CHANGE_SIGN 0 #define DMG_RECOIL_FROM_MISS 1 From 8d28d23e74a023404626dbd23c9912901e55d749 Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Tue, 20 Dec 2022 18:09:15 -0800 Subject: [PATCH 109/130] Update src/battle_util.c Co-authored-by: Eduardo Quezada D'Ottone --- src/battle_util.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/battle_util.c b/src/battle_util.c index 1e21a380a..8faa3be0f 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -418,7 +418,6 @@ void HandleAction_UseMove(void) battlerAbility = GetBattlerAbility(gActiveBattler); RecordAbilityBattle(gActiveBattler, gBattleMons[gActiveBattler].ability); - if (battlerAbility == ABILITY_LIGHTNING_ROD && gCurrentMove != MOVE_TEATIME) gSpecialStatuses[gActiveBattler].lightningRodRedirected = TRUE; else if (battlerAbility == ABILITY_STORM_DRAIN) From 405a42b246c9b8d6bcadfd9732b20a19eb839d8a Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Tue, 20 Dec 2022 18:17:49 -0800 Subject: [PATCH 110/130] Update battle_anim_effects_1.c spacing --- src/battle_anim_effects_1.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index 77abc8681..ea36b2eac 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -2449,35 +2449,35 @@ const struct SpriteTemplate gFollowMeFingerSpriteTemplate = const union AffineAnimCmd gTeaAffineAnimCmds1[] = { - AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), - AFFINEANIMCMD_FRAME(0x1E, 0x1E, 0, 8), - AFFINEANIMCMD_END, + AFFINEANIMCMD_FRAME(0x10, 0x10, 0, 0), + AFFINEANIMCMD_FRAME(0x1E, 0x1E, 0, 8), + AFFINEANIMCMD_END, }; const union AffineAnimCmd gTeaAffineAnimCmds2[] = { - AFFINEANIMCMD_FRAME(0x0, 0x0, -3, 11), - AFFINEANIMCMD_FRAME(0x0, 0x0, 3, 11), - AFFINEANIMCMD_LOOP(2), - AFFINEANIMCMD_FRAME(0xFFE2, 0xFFE2, 0, 8), - AFFINEANIMCMD_END, + AFFINEANIMCMD_FRAME(0x0, 0x0, -3, 11), + AFFINEANIMCMD_FRAME(0x0, 0x0, 3, 11), + AFFINEANIMCMD_LOOP(2), + AFFINEANIMCMD_FRAME(0xFFE2, 0xFFE2, 0, 8), + AFFINEANIMCMD_END, }; const union AffineAnimCmd *const gTeaAffineAnimTable[] = { - gTeaAffineAnimCmds1, - gTeaAffineAnimCmds2, + gTeaAffineAnimCmds1, + gTeaAffineAnimCmds2, }; const struct SpriteTemplate gTeapotSpriteTemplate = { - .tileTag = ANIM_TAG_TEAPOT, - .paletteTag = ANIM_TAG_TEAPOT, - .oam = &gOamData_AffineDouble_ObjNormal_64x64, - .anims = gDummySpriteAnimTable, - .images = NULL, - .affineAnims = gTeaAffineAnimTable, - .callback = AnimMetronomeFinger, + .tileTag = ANIM_TAG_TEAPOT, + .paletteTag = ANIM_TAG_TEAPOT, + .oam = &gOamData_AffineDouble_ObjNormal_64x64, + .anims = gDummySpriteAnimTable, + .images = NULL, + .affineAnims = gTeaAffineAnimTable, + .callback = AnimMetronomeFinger, }; const union AnimCmd gTauntFingerAnimCmds1[] = From d943f891c5fa790fef9f8c3847302a213c0e9361 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Wed, 21 Dec 2022 10:08:16 -0300 Subject: [PATCH 111/130] Applied Wind Power and Wind Rider correction -Renamed TryActivateWindRiderLoop to BattleScript_TryTailwindAbilitiesLoop -Modified how it handles the check for Wind Rider by using a various and incorporated Wind Power into the mix because that ability is affected by Tailwind as well. --- asm/macros/battle_script.inc | 5 +++++ data/battle_scripts_1.s | 18 ++++++++---------- include/constants/battle_script_commands.h | 1 + src/battle_script_commands.c | 17 +++++++++++++++++ src/battle_util.c | 6 ------ 5 files changed, 31 insertions(+), 16 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index ee001e244..994cf4d52 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -2005,6 +2005,11 @@ .byte \stat .endm + .macro trywindriderpower battler:req, ptr:req + various \battler, VARIOUS_TRY_WIND_RIDER_POWER + .4byte \ptr + .endm + @ helpful macros .macro setstatchanger stat:req, stages:req, down:req setbyte sSTATCHANGER, \stat | \stages << 3 | \down << 7 diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 615017713..0f5f2d3a5 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -2876,22 +2876,20 @@ BattleScript_EffectTailwind: waitanimation printstring STRINGID_TAILWINDBLEW waitmessage B_WAIT_TIME_LONG - call TryActivateWindRiderLoop + call BattleScript_TryTailwindAbilitiesLoop goto BattleScript_MoveEnd -TryActivateWindRiderLoop: +BattleScript_TryTailwindAbilitiesLoop: savetarget setbyte gBattlerTarget, 0 -BattleScript_WindRiderLoop_Iter: - jumpifability BS_TARGET, ABILITY_WIND_RIDER, BattleScript_WindRiderLoop_Activate - goto BattleScript_WindRiderLoop_Increment -BattleScript_WindRiderLoop_Activate: +BattleScript_TryTailwindAbilitiesLoop_Iter: + trywindriderpower BS_TARGET, BattleScript_TryTailwindAbilitiesLoop_Increment call BattleScript_AbilityPopUp - modifybattlerstatstage BS_TARGET, STAT_ATK, INCREASE, 1, BattleScript_WindRiderLoop_Increment, ANIM_ON -BattleScript_WindRiderLoop_Increment: + modifybattlerstatstage BS_TARGET, STAT_ATK, INCREASE, 1, BattleScript_TryTailwindAbilitiesLoop_Increment, ANIM_ON +BattleScript_TryTailwindAbilitiesLoop_Increment: addbyte gBattlerTarget, 0x1 - jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_WindRiderLoop_Iter -BattleScript_WindRiderLoop_Ret: + jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_TryTailwindAbilitiesLoop_Iter +BattleScript_TryTailwindAbilitiesLoop_Ret: restoretarget return diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index 0fcb2bbb0..3aba0144d 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -247,6 +247,7 @@ #define VARIOUS_GET_BATTLER_SIDE 156 #define VARIOUS_CHECK_PARENTAL_BOND_COUNTER 157 #define VARIOUS_SWAP_STATS 158 +#define VARIOUS_TRY_WIND_RIDER_POWER 159 // Cmd_manipulatedamage #define DMG_CHANGE_SIGN 0 diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 089585d5a..807cafa28 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -10099,6 +10099,23 @@ static void Cmd_various(void) PREPARE_STAT_BUFFER(gBattleTextBuff1, statId); } break; + case VARIOUS_TRY_WIND_RIDER_POWER: + { + u16 ability = GetBattlerAbility(gActiveBattler); + if (GetBattlerSide(gActiveBattler) == GetBattlerSide(gBattlerAttacker) + && (ability == ABILITY_WIND_RIDER || ability == ABILITY_WIND_POWER)) + { + gLastUsedAbility = ability; + RecordAbilityBattle(gActiveBattler, gLastUsedAbility); + gBattlerAbility = gBattleScripting.battler = gActiveBattler; + gBattlescriptCurrInstr += 7; + } + else + { + gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3); + } + } + return; } // End of switch (gBattlescriptCurrInstr[2]) gBattlescriptCurrInstr += 3; diff --git a/src/battle_util.c b/src/battle_util.c index ba26128f3..b11a10e52 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -2378,12 +2378,6 @@ u8 DoFieldEndTurnEffects(void) BattleScriptExecute(BattleScript_TailwindEnds); effect++; } - if (IsAbilityOnSide(gActiveBattler, ABILITY_WIND_POWER)) - { - gCurrentMove = MOVE_TAILWIND; - BattleScriptExecute(BattleScript_WindPowerActivatesEnd2); - effect++; - } } gBattleStruct->turnSideTracker++; if (effect != 0) From 31cd076f9dbc3053936370c69126289811ce25df Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Wed, 21 Dec 2022 11:14:59 -0300 Subject: [PATCH 112/130] Oopsie. Wind Power doesn't boost Attack lol --- data/battle_scripts_1.s | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 0f5f2d3a5..4cb11f183 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -2884,8 +2884,8 @@ BattleScript_TryTailwindAbilitiesLoop: setbyte gBattlerTarget, 0 BattleScript_TryTailwindAbilitiesLoop_Iter: trywindriderpower BS_TARGET, BattleScript_TryTailwindAbilitiesLoop_Increment - call BattleScript_AbilityPopUp - modifybattlerstatstage BS_TARGET, STAT_ATK, INCREASE, 1, BattleScript_TryTailwindAbilitiesLoop_Increment, ANIM_ON + jumpifability BS_TARGET, ABILITY_WIND_RIDER, BattleScript_TryTailwindAbilitiesLoop_WindRider + jumpifability BS_TARGET, ABILITY_WIND_POWER, BattleScript_TryTailwindAbilitiesLoop_WindPower BattleScript_TryTailwindAbilitiesLoop_Increment: addbyte gBattlerTarget, 0x1 jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_TryTailwindAbilitiesLoop_Iter @@ -2893,6 +2893,21 @@ BattleScript_TryTailwindAbilitiesLoop_Ret: restoretarget return +BattleScript_TryTailwindAbilitiesLoop_WindRider: + call BattleScript_AbilityPopUp + modifybattlerstatstage BS_TARGET, STAT_ATK, INCREASE, 1, BattleScript_TryTailwindAbilitiesLoop_Increment, ANIM_ON + goto BattleScript_TryTailwindAbilitiesLoop_Increment + +BattleScript_TryTailwindAbilitiesLoop_WindPower: + call BattleScript_AbilityPopUp + copybyte sSAVED_BATTLER, gBattlerAttacker + copybyte gBattlerAttacker, gBattlerTarget + setcharge + printstring STRINGID_BEINGHITCHARGEDPKMNWITHPOWER + waitmessage B_WAIT_TIME_LONG + copybyte gBattlerAttacker, sSAVED_BATTLER + goto BattleScript_TryTailwindAbilitiesLoop_Increment + BattleScript_EffectMircleEye: attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE From 632ec92475009bb0e9f376f4a1c7ce88563ca032 Mon Sep 17 00:00:00 2001 From: Martin Griffin Date: Wed, 21 Dec 2022 13:48:19 +0000 Subject: [PATCH 113/130] Minor Roost changes - Fix 'mon with Flying in type3 but not type1 or type2 is set to uninitialized roostTypes. - Remove unread third roostTypes element. - Option for Gen IV pure-Flying behavior. --- include/battle.h | 2 +- include/config/battle.h | 1 + src/battle_script_commands.c | 14 ++++++++------ 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/include/battle.h b/include/battle.h index 72ec1b41f..a38c28db8 100644 --- a/include/battle.h +++ b/include/battle.h @@ -611,7 +611,7 @@ struct BattleStruct u8 debugBattler; u8 magnitudeBasePower; u8 presentBasePower; - u8 roostTypes[MAX_BATTLERS_COUNT][3]; + u8 roostTypes[MAX_BATTLERS_COUNT][2]; u8 savedBattlerTarget; bool8 ateBoost[MAX_BATTLERS_COUNT]; u8 activeAbilityPopUps; // as bits for each battler diff --git a/include/config/battle.h b/include/config/battle.h index 644f9955c..47a2acee4 100644 --- a/include/config/battle.h +++ b/include/config/battle.h @@ -38,6 +38,7 @@ #define B_STEEL_RESISTANCES GEN_LATEST // In Gen6+, Steel-type Pokémon are no longer resistant to Dark-type and Ghost-type moves. #define B_PRANKSTER_DARK_TYPES GEN_LATEST // In Gen7+, Prankster-elevated status moves do not affect Dark type Pokémon. #define B_SHEER_COLD_IMMUNITY GEN_LATEST // In Gen7+, Ice-types are immune to Sheer Cold +#define B_ROOST_PURE_FLYING GEN_LATEST // In Gen5+, Roost makes pure Flying-types into Normal-type. // Turn settings #define B_BINDING_TURNS GEN_LATEST // In Gen5+, binding moves last for 4-5 turns instead of 2-5 turns. (With Grip Claw, 7 and 5 turns respectively.) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 055a100b6..6ab5667df 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -4802,22 +4802,24 @@ static void Cmd_setroost(void) { gBattleStruct->roostTypes[gBattlerAttacker][0] = TYPE_FLYING; gBattleStruct->roostTypes[gBattlerAttacker][1] = TYPE_FLYING; - gBattleStruct->roostTypes[gBattlerAttacker][2] = TYPE_FLYING; +#if B_ROOST_PURE_FLYING >= GEN_5 SET_BATTLER_TYPE(gBattlerAttacker, TYPE_NORMAL); +#else + SET_BATTLER_TYPE(gBattlerAttacker, TYPE_MYSTERY); +#endif } - // Dual Type with Flying Type. - else if ((gBattleMons[gBattlerAttacker].type1 == TYPE_FLYING && gBattleMons[gBattlerAttacker].type2 != TYPE_FLYING) - ||(gBattleMons[gBattlerAttacker].type2 == TYPE_FLYING && gBattleMons[gBattlerAttacker].type1 != TYPE_FLYING)) + // Dual type with flying type. + else if (gBattleMons[gBattlerAttacker].type1 == TYPE_FLYING || gBattleMons[gBattlerAttacker].type2 == TYPE_FLYING) { gBattleStruct->roostTypes[gBattlerAttacker][0] = gBattleMons[gBattlerAttacker].type1; gBattleStruct->roostTypes[gBattlerAttacker][1] = gBattleMons[gBattlerAttacker].type2; if (gBattleMons[gBattlerAttacker].type1 == TYPE_FLYING) gBattleMons[gBattlerAttacker].type1 = TYPE_MYSTERY; - if (gBattleMons[gBattlerAttacker].type2 == TYPE_FLYING) + else if (gBattleMons[gBattlerAttacker].type2 == TYPE_FLYING) gBattleMons[gBattlerAttacker].type2 = TYPE_MYSTERY; } // Non-flying type. - else if (!IS_BATTLER_OF_TYPE(gBattlerAttacker, TYPE_FLYING)) + else { gBattleStruct->roostTypes[gBattlerAttacker][0] = gBattleMons[gBattlerAttacker].type1; gBattleStruct->roostTypes[gBattlerAttacker][1] = gBattleMons[gBattlerAttacker].type2; From dba1aa4f0b91e3277705e1dd6f98bafb45ab88e6 Mon Sep 17 00:00:00 2001 From: ghoulslash Date: Wed, 21 Dec 2022 12:05:38 -0500 Subject: [PATCH 114/130] fix ai helping hand --- src/battle_ai_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 384c50d88..92866a7c2 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -2702,7 +2702,7 @@ static s16 AI_DoubleBattle(u8 battlerAtk, u8 battlerDef, u16 move, s16 score) switch (gBattleMoves[AI_DATA->partnerMove].effect) { case EFFECT_HELPING_HAND: - if (IS_MOVE_STATUS(move)) + if (!IS_MOVE_STATUS(move)) score += 5; break; case EFFECT_PERISH_SONG: From 0a5154499e46901191a2de7fe649fe897bb7f92a Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Wed, 21 Dec 2022 14:27:39 -0800 Subject: [PATCH 115/130] Update battle_scripts_1.s Compensating Substitute, removing item --- data/battle_scripts_1.s | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index d4b781b22..7690cce41 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -431,11 +431,12 @@ BattleScript_TeatimeLoop: jumpifrodaffected BS_TARGET, BattleScript_Teatimerod jumpifabsorbaffected BS_TARGET, BattleScript_Teatimesorb jumpifmotoraffected BS_TARGET, BattleScript_Teatimemotor - orword gHitMarker, HITMARKER_NO_ANIMATIONS + orword gHitMarker, HITMARKER_NO_ANIMATIONS, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_DISGUISE setbyte sBERRY_OVERRIDE, TRUE @ override the requirements for eating berries consumeberry BS_TARGET, TRUE @ consume the berry, then restore the item from changedItems - bicword gHitMarker, HITMARKER_NO_ANIMATIONS + bicword gHitMarker, HITMARKER_NO_ANIMATIONS, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_DISGUISE setbyte sBERRY_OVERRIDE, FALSE + removeitem BS_TARGET moveendto MOVEEND_NEXT_TARGET jumpifnexttargetvalid BattleScript_TeatimeLoop moveendcase MOVEEND_CLEAR_BITS From c40e15f8c5cf393b68a9b40c6bb49acc3edb40da Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Wed, 21 Dec 2022 19:43:41 -0300 Subject: [PATCH 116/130] Added Sheer Force check to Anger Shell --- src/battle_util.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/battle_util.c b/src/battle_util.c index b11a10e52..ac34d5360 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5881,7 +5881,8 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && !gProtectStructs[gBattlerAttacker].confusionSelfDmg && TARGET_TURN_DAMAGED - && (gBattleMons[gBattlerTarget].hp <= gBattleMons[gBattlerTarget].maxHP / 2)) + && (gBattleMons[gBattlerTarget].hp <= gBattleMons[gBattlerTarget].maxHP / 2) + && !(TestSheerForceFlag(gBattlerAttacker, gCurrentMove))) { gBattlerAttacker = gBattlerTarget; BattleScriptPushCursor(); From c4db74460a931f2cdf8d31a4db841bbe232a0b7b Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Wed, 21 Dec 2022 14:50:06 -0800 Subject: [PATCH 117/130] Update battle_util.c Noted Protection Bypassing --- src/battle_util.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/battle_util.c b/src/battle_util.c index 8faa3be0f..89a051a78 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -8012,6 +8012,11 @@ bool32 IsBattlerProtected(u8 battlerId, u16 move) else if (gProtectStructs[battlerId].protected) return FALSE; } + + if (move == MOVE_TEATIME) + { + return FALSE; + } // Protective Pads doesn't stop Unseen Fist from bypassing Protect effects, so IsMoveMakingContact() isn't used here. // This means extra logic is needed to handle Shell Side Arm. From 3e807e5b1efd8f8640aff5a7f7984b961f9626b1 Mon Sep 17 00:00:00 2001 From: SonikkuA-DatH <58025603+SonikkuA-DatH@users.noreply.github.com> Date: Wed, 21 Dec 2022 15:12:06 -0800 Subject: [PATCH 118/130] Update battle_scripts_1.s fix ORs --- data/battle_scripts_1.s | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 7690cce41..760f5416b 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -431,10 +431,10 @@ BattleScript_TeatimeLoop: jumpifrodaffected BS_TARGET, BattleScript_Teatimerod jumpifabsorbaffected BS_TARGET, BattleScript_Teatimesorb jumpifmotoraffected BS_TARGET, BattleScript_Teatimemotor - orword gHitMarker, HITMARKER_NO_ANIMATIONS, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_DISGUISE + orword gHitMarker, HITMARKER_NO_ANIMATIONS | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_DISGUISE setbyte sBERRY_OVERRIDE, TRUE @ override the requirements for eating berries consumeberry BS_TARGET, TRUE @ consume the berry, then restore the item from changedItems - bicword gHitMarker, HITMARKER_NO_ANIMATIONS, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_DISGUISE + bicword gHitMarker, HITMARKER_NO_ANIMATIONS | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_DISGUISE setbyte sBERRY_OVERRIDE, FALSE removeitem BS_TARGET moveendto MOVEEND_NEXT_TARGET From 17410fa9c5ac0d03f0bc4ae98c7173d7e3ff6901 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Mon, 26 Dec 2022 00:47:07 -0300 Subject: [PATCH 119/130] Fixed some issues of the Intimidate's rework --- data/battle_scripts_1.s | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 94a220608..3b22a684f 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -8278,12 +8278,13 @@ BattleScript_IntimidateLoop: jumpifability BS_TARGET, ABILITY_OBLIVIOUS, BattleScript_IntimidatePrevented .endif BattleScript_IntimidateEffect: - copybyte sBATTLER, gBattlerTarget - statbuffchange STAT_CHANGE_NOT_PROTECT_AFFECTED | MOVE_EFFECT_CERTAIN, NULL + copybyte sBATTLER, gBattlerAttacker + statbuffchange STAT_CHANGE_NOT_PROTECT_AFFECTED | STAT_CHANGE_ALLOW_PTR, BattleScript_IntimidateLoopIncrement setgraphicalstatchangevalues playanimation BS_TARGET, B_ANIM_STATS_CHANGE, sB_ANIM_ARG1 printstring STRINGID_PKMNCUTSATTACKWITH waitmessage B_WAIT_TIME_LONG + copybyte sBATTLER, gBattlerTarget call BattleScript_TryAdrenalineOrb BattleScript_IntimidateLoopIncrement: addbyte gBattlerTarget, 1 From 263ed337553f6ee0df444ab2233b7835421a6564 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Mon, 26 Dec 2022 11:56:27 -0300 Subject: [PATCH 120/130] Fixed Eggs sometimes reading garbage graphic data. --- src/pokemon.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/pokemon.c b/src/pokemon.c index 8e8166fb3..7d121289e 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -8621,6 +8621,8 @@ void TrySpecialOverworldEvo(void) bool32 ShouldShowFemaleDifferences(u16 species, u32 personality) { + if (species >= NUM_SPECIES) + return FALSE; return (gSpeciesInfo[species].flags & SPECIES_FLAG_GENDER_DIFFERENCE) && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE; } From 200b71be028d6d8781a2e31fe42495d1d0788b3e Mon Sep 17 00:00:00 2001 From: SphericalIce Date: Tue, 27 Dec 2022 10:49:57 +0000 Subject: [PATCH 121/130] Fix Beat Up's battle script to avoid an out-of-bounds array access --- asm/macros/battle_script.inc | 2 +- data/battle_scripts_1.s | 16 +++++++++------- include/battle.h | 1 + src/battle_main.c | 1 + src/battle_script_commands.c | 5 +++++ src/battle_util.c | 7 ++++--- 6 files changed, 21 insertions(+), 11 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 61ad67549..9ad159ef3 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -1022,7 +1022,7 @@ .4byte \ptr .endm - .macro trydobeatup endPtr:req, failPtr:req + .macro trydobeatup endPtr=NULL, failPtr=NULL .byte 0xc4 .4byte \endPtr .4byte \failPtr diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 3b22a684f..244faf2c6 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -5183,10 +5183,18 @@ BattleScript_EffectTeleportNew: BattleScript_EffectTeleportNewEnd: goto BattleScript_MoveEnd -.if B_BEAT_UP < GEN_5 BattleScript_EffectBeatUp:: attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE +.if B_BEAT_UP >= GEN_5 + attackstring + ppreduce + critcalc + damagecalc + adjustdamage + trydobeatup + goto BattleScript_HitFromAtkAnimation +.else attackstring pause B_WAIT_TIME_SHORT ppreduce @@ -5216,12 +5224,6 @@ BattleScript_BeatUpAttack:: goto BattleScript_BeatUpLoop BattleScript_BeatUpEnd:: end -.else -BattleScript_EffectBeatUp:: - attackcanceler - accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE - addbyte gBattleCommunication, 1 - goto BattleScript_HitFromAtkString .endif BattleScript_EffectSemiInvulnerable:: diff --git a/include/battle.h b/include/battle.h index a38c28db8..cf06a588a 100644 --- a/include/battle.h +++ b/include/battle.h @@ -650,6 +650,7 @@ struct BattleStruct u8 skyDropTargets[MAX_BATTLERS_COUNT]; // For Sky Drop, to account for if multiple Pokemon use Sky Drop in a double battle. // When using a move which hits multiple opponents which is then bounced by a target, we need to make sure, the move hits both opponents, the one with bounce, and the one without. u8 attackerBeforeBounce:2; + u8 beatUpSlot:3; u8 targetsDone[MAX_BATTLERS_COUNT]; // Each battler as a bit. u16 overwrittenAbilities[MAX_BATTLERS_COUNT]; // abilities overwritten during battle (keep separate from battle history in case of switching) }; diff --git a/src/battle_main.c b/src/battle_main.c index d138cf231..d7607e37a 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3039,6 +3039,7 @@ static void BattleStartClearSetData(void) gBattleStruct->stickyWebUser = 0xFF; gBattleStruct->appearedInBattle = 0; + gBattleStruct->beatUpSlot = 0; for (i = 0; i < PARTY_SIZE; i++) { diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 9c780c28e..44cc43227 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -12855,6 +12855,10 @@ static void Cmd_trysetfutureattack(void) static void Cmd_trydobeatup(void) { +#if B_BEAT_UP >= GEN_5 + gBattleStruct->beatUpSlot++; + gBattlescriptCurrInstr += 9; +#else struct Pokemon *party; if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER) @@ -12898,6 +12902,7 @@ static void Cmd_trydobeatup(void) else gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 5); } +#endif } static void Cmd_setsemiinvulnerablebit(void) diff --git a/src/battle_util.c b/src/battle_util.c index 00e3b869b..75e77a86b 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -230,8 +230,9 @@ static u8 CalcBeatUpPower(void) party = gPlayerParty; else party = gEnemyParty; - // Party slot is set in the battle script for Beat Up - species = GetMonData(&party[gBattleCommunication[0] - 1], MON_DATA_SPECIES); + + // Party slot is incremented by the battle script for Beat Up after this damage calculation + species = GetMonData(&party[gBattleStruct->beatUpSlot], MON_DATA_SPECIES); basePower = (gSpeciesInfo[species].baseAttack / 10) + 5; return basePower; @@ -3875,7 +3876,7 @@ u8 AtkCanceller_UnableToUseMove(void) gMultiHitCounter++; } - gBattleCommunication[0] = 0; // For later + gBattleStruct->beatUpSlot = 0; PREPARE_BYTE_NUMBER_BUFFER(gBattleScripting.multihitString, 1, 0) } #endif From 1fc86e52b5a387776b0ceb157ad678976d20d637 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Tue, 27 Dec 2022 21:18:20 -0300 Subject: [PATCH 122/130] Reverting P_SHINY_BASE_CHANCE implementation as it wasn't accuerate to Gen6+ --- include/config/pokemon.h | 1 - src/pokemon.c | 4 ---- 2 files changed, 5 deletions(-) diff --git a/include/config/pokemon.h b/include/config/pokemon.h index b2b08d249..3d8d7fd48 100644 --- a/include/config/pokemon.h +++ b/include/config/pokemon.h @@ -9,7 +9,6 @@ #define P_LEGENDARY_PERFECT_IVS GEN_LATEST // Since Gen 6, Legendaries, Mythicals and Ultra Beasts found in the wild or given through gifts have at least 3 perfect IVs. #define P_KADABRA_EVERSTONE GEN_LATEST // Since Gen 4, Kadabra can evolve even when holding an Everstone. #define P_NIDORAN_M_DITTO_BREED GEN_LATEST // Since Gen 5, when Nidoran♂ breeds with Ditto it can produce Nidoran♀ offspring. Before, it would only yield male offspring. This change also applies to Volbeat. -#define P_SHINY_BASE_CHANCE GEN_LATEST // Since Gen 6, the base chances of encountering a Shiny Pokémon was raised to 1/4096. This config adds an extra roll to the calculation, which effectively does the same thing. // Flag settings // To use the following features in scripting, replace the 0s with the flag ID you're assigning it to. diff --git a/src/pokemon.c b/src/pokemon.c index 8e8166fb3..46c6c94f1 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -3481,11 +3481,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, else #endif { - #if P_SHINY_BASE_CHANCE >= GEN_6 - u32 totalRerolls = 1; - #else u32 totalRerolls = 0; - #endif if (CheckBagHasItem(ITEM_SHINY_CHARM, 1)) totalRerolls += I_SHINY_CHARM_REROLLS; if (LURE_STEP_COUNT != 0) From 9bad91b1674ff5c4b6e5c012538fb5b85bec27e9 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Wed, 28 Dec 2022 08:33:31 -0300 Subject: [PATCH 123/130] Applied minor tweaks -Made setbeakblast affect a specified battler instead of the gBattlerAttacker to justify the macro's layout. -Added Shell Trap to the list of moves unaffected by Encore. -Renamed CheckFocusPunch_ClearVarsBeforeTurnStarts into CheckChosenMoveForEffectsBeforeTurnStarts because that function doesn't just check for Focus Punch anymore, and it doesn't clear any variables either. --- src/battle_main.c | 10 +++++----- src/battle_script_commands.c | 7 ++++--- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/battle_main.c b/src/battle_main.c index d7607e37a..40a91a1bb 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -101,7 +101,7 @@ static void SetActionsAndBattlersTurnOrder(void); static void UpdateBattlerPartyOrdersOnSwitch(void); static bool8 AllAtActionConfirmed(void); static void TryChangeTurnOrder(void); -static void CheckFocusPunch_ClearVarsBeforeTurnStarts(void); +static void CheckChosenMoveForEffectsBeforeTurnStarts(void); static void CheckMegaEvolutionBeforeTurn(void); static void CheckQuickClaw_CustapBerryActivation(void); static void FreeResetData_ReturnToOvOrDoEvolutions(void); @@ -4879,7 +4879,7 @@ static void CheckMegaEvolutionBeforeTurn(void) } #if B_MEGA_EVO_TURN_ORDER <= GEN_6 - gBattleMainFunc = CheckFocusPunch_ClearVarsBeforeTurnStarts; + gBattleMainFunc = CheckChosenMoveForEffectsBeforeTurnStarts; gBattleStruct->focusPunchBattlerId = 0; #else gBattleMainFunc = TryChangeTurnOrder; // This will just do nothing if no mon has mega evolved @@ -4904,11 +4904,11 @@ static void TryChangeTurnOrder(void) } } } - gBattleMainFunc = CheckFocusPunch_ClearVarsBeforeTurnStarts; + gBattleMainFunc = CheckChosenMoveForEffectsBeforeTurnStarts; gBattleStruct->focusPunchBattlerId = 0; } -static void CheckFocusPunch_ClearVarsBeforeTurnStarts(void) +static void CheckChosenMoveForEffectsBeforeTurnStarts(void) { u32 i; @@ -4922,7 +4922,7 @@ static void CheckFocusPunch_ClearVarsBeforeTurnStarts(void) && !(gDisableStructs[gBattlerAttacker].truantCounter) && !(gProtectStructs[gActiveBattler].noValidMoves)) { - switch(gChosenMoveByBattler[gActiveBattler]) + switch (gChosenMoveByBattler[gActiveBattler]) { case MOVE_FOCUS_PUNCH: BattleScriptExecute(BattleScript_FocusPunchSetUp); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 44cc43227..73734d4f8 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -10031,7 +10031,7 @@ static void Cmd_various(void) gBattleMons[gActiveBattler].item = gLastUsedItem; break; case VARIOUS_SET_BEAK_BLAST: - gProtectStructs[gBattlerAttacker].beakBlastCharge = TRUE; + gProtectStructs[gActiveBattler].beakBlastCharge = TRUE; break; case VARIOUS_SWAP_SIDE_STATUSES: CourtChangeSwapSideStatuses(); @@ -11926,8 +11926,9 @@ static void Cmd_trysetencore(void) } if (gLastMoves[gBattlerTarget] == MOVE_STRUGGLE - || gLastMoves[gBattlerTarget] == MOVE_ENCORE - || gLastMoves[gBattlerTarget] == MOVE_MIRROR_MOVE) + || gLastMoves[gBattlerTarget] == MOVE_ENCORE + || gLastMoves[gBattlerTarget] == MOVE_MIRROR_MOVE + || gLastMoves[gBattlerTarget] == MOVE_SHELL_TRAP) { i = MAX_MON_MOVES; } From 0ef148dfbbd9391aec26f32d5d1dee7e994fb5e4 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Wed, 28 Dec 2022 08:50:15 -0300 Subject: [PATCH 124/130] Applied more corrections -Removed BattleScript_WindRiderActivatesEnd2 -Tweaked the condition of Wind Power in AbilityBattleEffects -Renamed ApplySupremeOverlordModifier to GetSupremeOverlordModifier --- data/battle_scripts_1.s | 20 -------------------- include/battle_scripts.h | 1 - src/battle_util.c | 19 +++++-------------- 3 files changed, 5 insertions(+), 35 deletions(-) diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 4cb11f183..01ef1fdd3 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -6683,26 +6683,6 @@ BattleScript_TailwindEnds:: waitmessage B_WAIT_TIME_LONG end2 -BattleScript_WindRiderActivatesEnd2:: - setbyte gBattlerTarget, 0 -BattleScript_WindRiderLoop: - printstring STRINGID_EMPTYSTRING3 - jumpifability BS_TARGET, ABILITY_WIND_RIDER, BattleScript_WindRiderLoop_Cont - goto BattleScript_WindRiderIncrement -BattleScript_WindRiderLoop_Cont: - jumpifsideaffecting BS_TARGET, SIDE_STATUS_TAILWIND, BattleScript_WindRider_Activate - goto BattleScript_WindRiderIncrement -BattleScript_WindRider_Activate: - call BattleScript_AbilityPopUp - pause B_WAIT_TIME_MED - modifybattlerstatstage BS_TARGET, STAT_ATK, INCREASE, 1, BattleScript_WindRiderIncrement, ANIM_ON -BattleScript_WindRiderIncrement: - addbyte gBattlerTarget, 1 - jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_WindRiderLoop -BattleScript_WindRiderEnd: - destroyabilitypopup - end2 - BattleScript_WindPowerActivatesEnd2:: setbyte gBattlerAttacker, 0 BattleScript_WindPowerLoop: diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 5fc55cc65..d79566a44 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -436,7 +436,6 @@ extern const u8 BattleScript_DoubleShockRemoveType[]; extern const u8 BattleScript_SeedSowerActivates[]; extern const u8 BattleScript_AngerShellActivates[]; extern const u8 BattleScript_WellBakedBodyActivates[]; -extern const u8 BattleScript_WindRiderActivatesEnd2[]; extern const u8 BattleScript_WindRiderActivatesMoveEnd[]; extern const u8 BattleScript_WindPowerActivates[]; extern const u8 BattleScript_WindPowerActivatesEnd2[]; diff --git a/src/battle_util.c b/src/battle_util.c index ac34d5360..c1d112d19 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5891,18 +5891,9 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move } break; case ABILITY_WIND_POWER: - if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) - && !gProtectStructs[gBattlerAttacker].confusionSelfDmg - && TARGET_TURN_DAMAGED - && gBattleMoves[gCurrentMove].flags & FLAG_WIND_MOVE - && IsBattlerAlive(gBattlerTarget)) - { - gBattlerAttacker = gBattlerTarget; - BattleScriptPushCursor(); - gBattlescriptCurrInstr = BattleScript_WindPowerActivates; - effect++; - } - break; + if (!(gBattleMoves[gCurrentMove].flags & FLAG_WIND_MOVE)) + break; + // fall through case ABILITY_ELECTROMORPHOSIS: if (!(gMoveResultFlags & MOVE_RESULT_NO_EFFECT) && !gProtectStructs[gBattlerAttacker].confusionSelfDmg @@ -8756,7 +8747,7 @@ static u16 CalcMoveBasePower(u16 move, u8 battlerAtk, u8 battlerDef) // Supreme Overlord adds a damage boost for each fainted ally. // The first ally adds a x1.2 boost, and subsequent allies add an extra x0.1 boost each. -static u16 ApplySupremeOverlordModifier(u8 battlerId) +static u16 GetSupremeOverlordModifier(u8 battlerId) { u32 i; u8 side = GetBattlerSide(battlerId); @@ -8925,7 +8916,7 @@ static u32 CalcMoveBasePowerAfterModifiers(u16 move, u8 battlerAtk, u8 battlerDe MulModifier(&modifier, UQ_4_12(1.5)); break; case ABILITY_SUPREME_OVERLORD: - MulModifier(&modifier, ApplySupremeOverlordModifier(battlerAtk)); + MulModifier(&modifier, GetSupremeOverlordModifier(battlerAtk)); break; } From e8dfb66c309dc7166ec3cd12ce30de86b1c44fe0 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Thu, 29 Dec 2022 01:32:24 -0300 Subject: [PATCH 125/130] Adding ability effect triggers for terrains and weather A new, probably better way to handle the announcement trigger that abilities such as Protosynthesis and Quark Drive have, when the battle weather or the field terrain change. Misc. changes: -EFFECT_DAMAGE_SET_TERRAIN -> EFFECT_HIT_SET_REMOVE_TERRAIN -It's more appropriate as the effect can be used to force set a terrain or simply to remove an active terrain, after all. -The main reason for the rename was the inconsistency with the battle script's label. -Reverted accidentally committed change to B_DOUBLE_WILD_CHANCE, performed back in c8abf00c. --- asm/macros/battle_script.inc | 8 ++++ data/battle_scripts_1.s | 44 ++++++++++++++++++++-- include/battle_util.h | 2 + include/constants/battle_move_effects.h | 2 +- include/constants/battle_script_commands.h | 2 + src/battle_script_commands.c | 10 ++++- src/battle_tv.c | 2 +- src/battle_util.c | 28 ++++++++++++++ src/data/battle_moves.h | 12 +++--- 9 files changed, 97 insertions(+), 13 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index 994cf4d52..a882a0315 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -2010,6 +2010,14 @@ .4byte \ptr .endm + .macro activateweatherabilities battler:req + various \battler, VARIOUS_ACTIVATE_WEATHER_ABILITIES + .endm + + .macro activateterrainabilities battler:req + various \battler, VARIOUS_ACTIVATE_TERRAIN_ABILITIES + .endm + @ helpful macros .macro setstatchanger stat:req, stages:req, down:req setbyte sSTATCHANGER, \stat | \stages << 3 | \down << 7 diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 01ef1fdd3..722619c3b 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -410,7 +410,7 @@ gBattleScriptsForMoveEffects:: .4byte BattleScript_EffectCourtChange @ EFFECT_COURT_CHANGE .4byte BattleScript_EffectSteelBeam @ EFFECT_STEEL_BEAM .4byte BattleScript_EffectExtremeEvoboost @ EFFECT_EXTREME_EVOBOOST - .4byte BattleScript_EffectTerrainHit @ EFFECT_DAMAGE_SET_TERRAIN + .4byte BattleScript_EffectHitSetRemoveTerrain @ EFFECT_HIT_SET_REMOVE_TERRAIN .4byte BattleScript_EffectDarkVoid @ EFFECT_DARK_VOID .4byte BattleScript_EffectSleepHit @ EFFECT_SLEEP_HIT .4byte BattleScript_EffectDoubleShock @ EFFECT_DOUBLE_SHOCK @@ -2456,6 +2456,7 @@ BattleScript_EffectPsychicTerrain: printfromtable gTerrainStringIds waitmessage B_WAIT_TIME_LONG playanimation BS_ATTACKER, B_ANIM_RESTORE_BG + call BattleScript_ActivateTerrainAbilities call BattleScript_TerrainSeedLoop jumpifabilitypresent ABILITY_MIMICRY, BattleScript_ApplyMimicry goto BattleScript_MoveEnd @@ -4975,9 +4976,20 @@ BattleScript_MoveWeatherChange:: printfromtable gMoveWeatherChangeStringIds waitmessage B_WAIT_TIME_LONG call BattleScript_WeatherFormChanges - call BattleScript_ActivateSwitchInAbilities + call BattleScript_ActivateWeatherAbilities goto BattleScript_MoveEnd +BattleScript_ActivateWeatherAbilities: + copybyte sBATTLER, gBattlerAttacker + setbyte gBattlerAttacker, 0 +BattleScript_ActivateWeatherAbilities_Loop: + activateweatherabilities BS_ATTACKER +BattleScript_ActivateWeatherAbilities_Increment: + addbyte gBattlerAttacker, 1 + jumpifbytenotequal gBattlerAttacker, gBattlersCount, BattleScript_ActivateWeatherAbilities_Loop + copybyte gBattlerAttacker, sBATTLER + return + BattleScript_EffectSunnyDay:: attackcanceler attackstring @@ -7150,6 +7162,7 @@ BattleScript_SeedSowerActivates:: printstring STRINGID_TERRAINBECOMESGRASSY waitmessage B_WAIT_TIME_LONG playanimation BS_SCRIPTING, B_ANIM_RESTORE_BG + call BattleScript_ActivateTerrainAbilities call BattleScript_TerrainSeedLoop return @@ -8167,6 +8180,7 @@ BattleScript_DrizzleActivates:: waitstate playanimation BS_BATTLER_0, B_ANIM_RAIN_CONTINUES call BattleScript_WeatherFormChanges + call BattleScript_ActivateWeatherAbilities end3 BattleScript_AbilityRaisesDefenderStat:: @@ -8327,6 +8341,7 @@ BattleScript_SandstreamActivates:: waitstate playanimation BS_BATTLER_0, B_ANIM_SANDSTORM_CONTINUES call BattleScript_WeatherFormChanges + call BattleScript_ActivateWeatherAbilities end3 BattleScript_SandSpitActivates:: @@ -8336,6 +8351,7 @@ BattleScript_SandSpitActivates:: waitstate playanimation BS_BATTLER_0, B_ANIM_SANDSTORM_CONTINUES call BattleScript_WeatherFormChanges + call BattleScript_ActivateWeatherAbilities return BattleScript_ShedSkinActivates:: @@ -8454,6 +8470,7 @@ BattleScript_DroughtActivates:: waitstate playanimation BS_BATTLER_0, B_ANIM_SUN_CONTINUES call BattleScript_WeatherFormChanges + call BattleScript_ActivateWeatherAbilities end3 BattleScript_DesolateLandActivates:: @@ -8463,6 +8480,7 @@ BattleScript_DesolateLandActivates:: waitstate playanimation BS_BATTLER_0, B_ANIM_SUN_CONTINUES call BattleScript_WeatherFormChanges + call BattleScript_ActivateWeatherAbilities end3 BattleScript_DesolateLandEvaporatesWaterTypeMoves:: @@ -8483,6 +8501,7 @@ BattleScript_PrimordialSeaActivates:: waitstate playanimation BS_BATTLER_0, B_ANIM_RAIN_CONTINUES call BattleScript_WeatherFormChanges + call BattleScript_ActivateWeatherAbilities end3 BattleScript_PrimordialSeaFizzlesOutFireTypeMoves:: @@ -8553,6 +8572,7 @@ BattleScript_SnowWarningActivates:: waitstate playanimation BS_BATTLER_0, B_ANIM_HAIL_CONTINUES call BattleScript_WeatherFormChanges + call BattleScript_ActivateWeatherAbilities end3 BattleScript_TerrainSeedLoop: @@ -8566,7 +8586,6 @@ BattleScript_TerrainSeedLoop_NextBattler: addbyte gBattlerTarget, 0x1 jumpifbytenotequal gBattlerTarget, gBattlersCount, BattleScript_TerrainSeedLoopIter restoretarget - call BattleScript_ActivateSwitchInAbilities return BattleScript_ActivateSwitchInAbilities: @@ -8580,12 +8599,24 @@ BattleScript_ActivateSwitchInAbilities_Increment: copybyte gBattlerAttacker, sBATTLER return +BattleScript_ActivateTerrainAbilities: + copybyte sBATTLER, gBattlerAttacker + setbyte gBattlerAttacker, 0 +BattleScript_ActivateTerrainAbilities_Loop: + activateterrainabilities BS_ATTACKER +BattleScript_ActivateTerrainAbilities_Increment: + addbyte gBattlerAttacker, 1 + jumpifbytenotequal gBattlerAttacker, gBattlersCount, BattleScript_ActivateTerrainAbilities_Loop + copybyte gBattlerAttacker, sBATTLER + return + BattleScript_ElectricSurgeActivates:: pause B_WAIT_TIME_SHORT call BattleScript_AbilityPopUp printstring STRINGID_TERRAINBECOMESELECTRIC waitmessage B_WAIT_TIME_LONG playanimation BS_SCRIPTING, B_ANIM_RESTORE_BG + call BattleScript_ActivateTerrainAbilities call BattleScript_TerrainSeedLoop end3 @@ -8595,6 +8626,7 @@ BattleScript_MistySurgeActivates:: printstring STRINGID_TERRAINBECOMESMISTY waitmessage B_WAIT_TIME_LONG playanimation BS_SCRIPTING, B_ANIM_RESTORE_BG + call BattleScript_ActivateTerrainAbilities call BattleScript_TerrainSeedLoop end3 @@ -8604,6 +8636,7 @@ BattleScript_GrassySurgeActivates:: printstring STRINGID_TERRAINBECOMESGRASSY waitmessage B_WAIT_TIME_LONG playanimation BS_SCRIPTING, B_ANIM_RESTORE_BG + call BattleScript_ActivateTerrainAbilities call BattleScript_TerrainSeedLoop end3 @@ -8613,6 +8646,7 @@ BattleScript_PsychicSurgeActivates:: printstring STRINGID_TERRAINBECOMESPSYCHIC waitmessage B_WAIT_TIME_LONG playanimation BS_SCRIPTING, B_ANIM_RESTORE_BG + call BattleScript_ActivateTerrainAbilities call BattleScript_TerrainSeedLoop end3 @@ -9722,6 +9756,7 @@ BattleScript_AnnounceAirLockCloudNine:: printstring STRINGID_AIRLOCKACTIVATES waitmessage B_WAIT_TIME_LONG call BattleScript_WeatherFormChanges + call BattleScript_ActivateWeatherAbilities end3 BattleScript_QuickClawActivation:: @@ -9881,7 +9916,7 @@ BattleScript_ExtremeEvoboostSpDef:: BattleScript_ExtremeEvoboostEnd:: goto BattleScript_MoveEnd -BattleScript_EffectTerrainHit: +BattleScript_EffectHitSetRemoveTerrain: attackcanceler accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE attackstring @@ -9903,6 +9938,7 @@ BattleScript_EffectTerrainHit: setterrain BattleScript_TryFaint playanimation BS_ATTACKER, B_ANIM_RESTORE_BG printfromtable gTerrainStringIds + call BattleScript_ActivateTerrainAbilities BattleScript_TryFaint: tryfaintmon BS_TARGET goto BattleScript_MoveEnd diff --git a/include/battle_util.h b/include/battle_util.h index 5f5f0b902..18af25c68 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -34,6 +34,8 @@ #define ABILITYEFFECT_MOVE_END_OTHER 12 #define ABILITYEFFECT_NEUTRALIZINGGAS 13 #define ABILITYEFFECT_FIELD_SPORT 14 // Only used if B_SPORT_TURNS < GEN_6 +#define ABILITYEFFECT_ON_WEATHER 15 +#define ABILITYEFFECT_ON_TERRAIN 16 // Special cases #define ABILITYEFFECT_MUD_SPORT 252 // Only used if B_SPORT_TURNS < GEN_6 #define ABILITYEFFECT_WATER_SPORT 253 // Only used if B_SPORT_TURNS < GEN_6 diff --git a/include/constants/battle_move_effects.h b/include/constants/battle_move_effects.h index 5af1017a9..122660c05 100644 --- a/include/constants/battle_move_effects.h +++ b/include/constants/battle_move_effects.h @@ -391,7 +391,7 @@ #define EFFECT_COURT_CHANGE 385 #define EFFECT_STEEL_BEAM 386 #define EFFECT_EXTREME_EVOBOOST 387 -#define EFFECT_DAMAGE_SET_TERRAIN 388 // genesis supernova +#define EFFECT_HIT_SET_REMOVE_TERRAIN 388 #define EFFECT_DARK_VOID 389 #define EFFECT_SLEEP_HIT 390 #define EFFECT_DOUBLE_SHOCK 391 diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index 3aba0144d..74d7a0be2 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -248,6 +248,8 @@ #define VARIOUS_CHECK_PARENTAL_BOND_COUNTER 157 #define VARIOUS_SWAP_STATS 158 #define VARIOUS_TRY_WIND_RIDER_POWER 159 +#define VARIOUS_ACTIVATE_WEATHER_ABILITIES 160 +#define VARIOUS_ACTIVATE_TERRAIN_ABILITIES 161 // Cmd_manipulatedamage #define DMG_CHANGE_SIGN 0 diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 807cafa28..e08a61c2f 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -7941,7 +7941,7 @@ static void HandleTerrainMove(u16 move) statusFlag = STATUS_FIELD_PSYCHIC_TERRAIN, timer = &gFieldTimers.terrainTimer; gBattleCommunication[MULTISTRING_CHOOSER] = 3; break; - case EFFECT_DAMAGE_SET_TERRAIN: + case EFFECT_HIT_SET_REMOVE_TERRAIN: switch (gBattleMoves[move].argument) { case 0: //genesis supernova @@ -10116,6 +10116,14 @@ static void Cmd_various(void) } } return; + case VARIOUS_ACTIVATE_WEATHER_ABILITIES: + gBattlescriptCurrInstr += 3; + AbilityBattleEffects(ABILITYEFFECT_ON_WEATHER, gActiveBattler, 0, 0, 0); + return; + case VARIOUS_ACTIVATE_TERRAIN_ABILITIES: + gBattlescriptCurrInstr += 3; + AbilityBattleEffects(ABILITYEFFECT_ON_TERRAIN, gActiveBattler, 0, 0, 0); + return; } // End of switch (gBattlescriptCurrInstr[2]) gBattlescriptCurrInstr += 3; diff --git a/src/battle_tv.c b/src/battle_tv.c index 9d2ec244e..33483da06 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -476,7 +476,7 @@ static const u16 sPoints_MoveEffect[NUM_BATTLE_MOVE_EFFECTS] = [EFFECT_COURT_CHANGE] = 0, // TODO: Assign points [EFFECT_STEEL_BEAM] = 0, // TODO: Assign points [EFFECT_EXTREME_EVOBOOST] = 0, // TODO: Assign points - [EFFECT_DAMAGE_SET_TERRAIN] = 0, // TODO: Assign points + [EFFECT_HIT_SET_REMOVE_TERRAIN] = 0, // TODO: Assign points [EFFECT_DARK_VOID] = 0, // TODO: Assign points [EFFECT_SLEEP_HIT] = 1, [EFFECT_DOUBLE_SHOCK] = 0, // TODO: Assign points diff --git a/src/battle_util.c b/src/battle_util.c index c1d112d19..c31ee5069 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -6251,6 +6251,34 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move break; } break; + case ABILITYEFFECT_ON_WEATHER: // For ability effects that activate when the battle weather changes. + gBattleScripting.battler = gBattlerAbility = battler; + switch (GetBattlerAbility(battler)) + { + case ABILITY_PROTOSYNTHESIS: + if (IsBattlerWeatherAffected(battler, B_WEATHER_SUN)) + { + PREPARE_STAT_BUFFER(gBattleTextBuff1, GetHighestStatId(battler)); + BattleScriptPushCursorAndCallback(BattleScript_ProtosynthesisActivates); + effect++; + } + break; + } + break; + case ABILITYEFFECT_ON_TERRAIN: // For ability effects that activate when the field terrain changes. + gBattleScripting.battler = gBattlerAbility = battler; + switch (GetBattlerAbility(battler)) + { + case ABILITY_QUARK_DRIVE: + if (IsBattlerTerrainAffected(battler, STATUS_FIELD_ELECTRIC_TERRAIN)) + { + PREPARE_STAT_BUFFER(gBattleTextBuff1, GetHighestStatId(battler)); + BattleScriptPushCursorAndCallback(BattleScript_QuarkDriveActivates); + effect++; + } + break; + } + break; } if (effect && gLastUsedAbility != 0xFF) diff --git a/src/data/battle_moves.h b/src/data/battle_moves.h index b633010e7..e5d3306ce 100644 --- a/src/data/battle_moves.h +++ b/src/data/battle_moves.h @@ -13872,7 +13872,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = [MOVE_ICE_SPINNER] = { - .effect = EFFECT_DAMAGE_SET_TERRAIN, + .effect = EFFECT_HIT_SET_REMOVE_TERRAIN, .power = 80, .type = TYPE_ICE, .accuracy = 100, @@ -13884,7 +13884,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .split = SPLIT_PHYSICAL, .zMovePower = 160, .zMoveEffect = Z_EFFECT_NONE, - .argument = 1, //remove terrain + .argument = 1, // Remove the active field terrain if there is one. }, [MOVE_GLAIVE_RUSH] = @@ -14839,7 +14839,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = }, [MOVE_GENESIS_SUPERNOVA] = { - .effect = EFFECT_DAMAGE_SET_TERRAIN, + .effect = EFFECT_HIT_SET_REMOVE_TERRAIN, .power = 185, .type = TYPE_PSYCHIC, .accuracy = 0, @@ -14850,7 +14850,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .flags = 0, .zMovePower = 0, .split = SPLIT_SPECIAL, - .argument = 0, //psychic terrain + .argument = 0, // Set Psychic Terrain. If there's a different field terrain active, overwrite it. .zMoveEffect = 0 }, [MOVE_SINISTER_ARROW_RAID] = @@ -14900,7 +14900,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = }, [MOVE_SPLINTERED_STORMSHARDS] = { - .effect = EFFECT_DAMAGE_SET_TERRAIN, + .effect = EFFECT_HIT_SET_REMOVE_TERRAIN, .power = 190, .type = TYPE_ROCK, .accuracy = 0, @@ -14911,7 +14911,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT_Z] = .flags = 0, .zMovePower = 0, .split = SPLIT_PHYSICAL, - .argument = 1, //remove terrain + .argument = 1, // Remove the active field terrain if there is one. .zMoveEffect = 0 }, [MOVE_LETS_SNUGGLE_FOREVER] = From 453aa2ffe7d33323b8d00d01c1f895f17f25b963 Mon Sep 17 00:00:00 2001 From: Bassoonian Date: Sat, 31 Dec 2022 02:01:56 +0100 Subject: [PATCH 126/130] Fix faulty gBaseStats reference --- src/battle_ai_util.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index fc5311642..ef97ab9a1 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -2433,8 +2433,8 @@ static bool32 PartyBattlerShouldAvoidHazards(u8 currBattler, u8 switchBattler) u16 species = GetMonData(mon, MON_DATA_SPECIES); u32 flags = gSideStatuses[GetBattlerSide(currBattler)] & (SIDE_STATUS_SPIKES | SIDE_STATUS_STEALTH_ROCK | SIDE_STATUS_STICKY_WEB | SIDE_STATUS_TOXIC_SPIKES); s32 hazardDamage = 0; - u8 type1 = gBaseStats[species].type1; - u8 type2 = gBaseStats[species].type2; + u8 type1 = gSpeciesInfo[species].type1; + u8 type2 = gSpeciesInfo[species].type2; u32 maxHp = GetMonData(mon, MON_DATA_MAX_HP); if (flags == 0) From 965e2c33947ff65568dbf46520ba3af98b813f42 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Sun, 1 Jan 2023 10:31:09 -0300 Subject: [PATCH 127/130] Newline fix --- graphics/battle_anims/sprites/new/teapot.pal | 38 ++++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/graphics/battle_anims/sprites/new/teapot.pal b/graphics/battle_anims/sprites/new/teapot.pal index 9b59309ba..f8319ce12 100644 --- a/graphics/battle_anims/sprites/new/teapot.pal +++ b/graphics/battle_anims/sprites/new/teapot.pal @@ -1,19 +1,19 @@ -JASC-PAL -0100 -16 -10 247 12 -144 141 173 -255 255 255 -207 232 255 -106 104 120 -190 211 255 -166 169 214 -214 171 113 -162 119 89 -72 71 81 -251 255 211 -232 207 121 -255 255 153 -124 86 73 -0 0 0 -0 0 0 +JASC-PAL +0100 +16 +10 247 12 +144 141 173 +255 255 255 +207 232 255 +106 104 120 +190 211 255 +166 169 214 +214 171 113 +162 119 89 +72 71 81 +251 255 211 +232 207 121 +255 255 153 +124 86 73 +0 0 0 +0 0 0 From d3443396e272c9352b2638023d8a25f0d35b9f2a Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Sun, 1 Jan 2023 10:45:38 -0300 Subject: [PATCH 128/130] Made Clear Body and similar abilities be normally affected by their own stat stage reductions --- src/battle_script_commands.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 567c91221..38174f0ad 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -10876,7 +10876,7 @@ static u32 ChangeStatBuffs(s8 statValue, u32 statId, u32 flags, const u8 *BS_ptr else if ((activeBattlerAbility == ABILITY_CLEAR_BODY || activeBattlerAbility == ABILITY_FULL_METAL_BODY || activeBattlerAbility == ABILITY_WHITE_SMOKE) - && !certain && gCurrentMove != MOVE_CURSE) + && !affectsUser && !certain && gCurrentMove != MOVE_CURSE) { if (flags == STAT_CHANGE_ALLOW_PTR) { From ca32d43433b027342157aed02d576b675c34d941 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Mon, 2 Jan 2023 14:30:16 -0300 Subject: [PATCH 129/130] Streamlined ability-on-weather changes Also renamed activateweatherabilities and activateterrainabilities. --- asm/macros/battle_script.inc | 8 +++--- data/battle_scripts_1.s | 23 ++--------------- include/constants/battle_script_commands.h | 4 +-- src/battle_script_commands.c | 4 +-- src/battle_util.c | 30 +++++++++++----------- 5 files changed, 25 insertions(+), 44 deletions(-) diff --git a/asm/macros/battle_script.inc b/asm/macros/battle_script.inc index a882a0315..69e45ddea 100644 --- a/asm/macros/battle_script.inc +++ b/asm/macros/battle_script.inc @@ -2010,12 +2010,12 @@ .4byte \ptr .endm - .macro activateweatherabilities battler:req - various \battler, VARIOUS_ACTIVATE_WEATHER_ABILITIES + .macro activateweatherchangeabilities battler:req + various \battler, VARIOUS_ACTIVATE_WEATHER_CHANGE_ABILITIES .endm - .macro activateterrainabilities battler:req - various \battler, VARIOUS_ACTIVATE_TERRAIN_ABILITIES + .macro activateterrainchangeabilities battler:req + various \battler, VARIOUS_ACTIVATE_TERRAIN_CHANGE_ABILITIES .endm @ helpful macros diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 722619c3b..9d307b8b9 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -4976,20 +4976,8 @@ BattleScript_MoveWeatherChange:: printfromtable gMoveWeatherChangeStringIds waitmessage B_WAIT_TIME_LONG call BattleScript_WeatherFormChanges - call BattleScript_ActivateWeatherAbilities goto BattleScript_MoveEnd -BattleScript_ActivateWeatherAbilities: - copybyte sBATTLER, gBattlerAttacker - setbyte gBattlerAttacker, 0 -BattleScript_ActivateWeatherAbilities_Loop: - activateweatherabilities BS_ATTACKER -BattleScript_ActivateWeatherAbilities_Increment: - addbyte gBattlerAttacker, 1 - jumpifbytenotequal gBattlerAttacker, gBattlersCount, BattleScript_ActivateWeatherAbilities_Loop - copybyte gBattlerAttacker, sBATTLER - return - BattleScript_EffectSunnyDay:: attackcanceler attackstring @@ -8180,7 +8168,6 @@ BattleScript_DrizzleActivates:: waitstate playanimation BS_BATTLER_0, B_ANIM_RAIN_CONTINUES call BattleScript_WeatherFormChanges - call BattleScript_ActivateWeatherAbilities end3 BattleScript_AbilityRaisesDefenderStat:: @@ -8341,7 +8328,6 @@ BattleScript_SandstreamActivates:: waitstate playanimation BS_BATTLER_0, B_ANIM_SANDSTORM_CONTINUES call BattleScript_WeatherFormChanges - call BattleScript_ActivateWeatherAbilities end3 BattleScript_SandSpitActivates:: @@ -8351,7 +8337,6 @@ BattleScript_SandSpitActivates:: waitstate playanimation BS_BATTLER_0, B_ANIM_SANDSTORM_CONTINUES call BattleScript_WeatherFormChanges - call BattleScript_ActivateWeatherAbilities return BattleScript_ShedSkinActivates:: @@ -8365,6 +8350,7 @@ BattleScript_WeatherFormChanges:: setbyte sBATTLER, 0 BattleScript_WeatherFormChangesLoop:: tryweatherformdatachange + activateweatherchangeabilities BS_SCRIPTING addbyte sBATTLER, 1 jumpifbytenotequal sBATTLER, gBattlersCount, BattleScript_WeatherFormChangesLoop return @@ -8470,7 +8456,6 @@ BattleScript_DroughtActivates:: waitstate playanimation BS_BATTLER_0, B_ANIM_SUN_CONTINUES call BattleScript_WeatherFormChanges - call BattleScript_ActivateWeatherAbilities end3 BattleScript_DesolateLandActivates:: @@ -8480,7 +8465,6 @@ BattleScript_DesolateLandActivates:: waitstate playanimation BS_BATTLER_0, B_ANIM_SUN_CONTINUES call BattleScript_WeatherFormChanges - call BattleScript_ActivateWeatherAbilities end3 BattleScript_DesolateLandEvaporatesWaterTypeMoves:: @@ -8501,7 +8485,6 @@ BattleScript_PrimordialSeaActivates:: waitstate playanimation BS_BATTLER_0, B_ANIM_RAIN_CONTINUES call BattleScript_WeatherFormChanges - call BattleScript_ActivateWeatherAbilities end3 BattleScript_PrimordialSeaFizzlesOutFireTypeMoves:: @@ -8572,7 +8555,6 @@ BattleScript_SnowWarningActivates:: waitstate playanimation BS_BATTLER_0, B_ANIM_HAIL_CONTINUES call BattleScript_WeatherFormChanges - call BattleScript_ActivateWeatherAbilities end3 BattleScript_TerrainSeedLoop: @@ -8603,7 +8585,7 @@ BattleScript_ActivateTerrainAbilities: copybyte sBATTLER, gBattlerAttacker setbyte gBattlerAttacker, 0 BattleScript_ActivateTerrainAbilities_Loop: - activateterrainabilities BS_ATTACKER + activateterrainchangeabilities BS_ATTACKER BattleScript_ActivateTerrainAbilities_Increment: addbyte gBattlerAttacker, 1 jumpifbytenotequal gBattlerAttacker, gBattlersCount, BattleScript_ActivateTerrainAbilities_Loop @@ -9756,7 +9738,6 @@ BattleScript_AnnounceAirLockCloudNine:: printstring STRINGID_AIRLOCKACTIVATES waitmessage B_WAIT_TIME_LONG call BattleScript_WeatherFormChanges - call BattleScript_ActivateWeatherAbilities end3 BattleScript_QuickClawActivation:: diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h index 74d7a0be2..61f69587c 100644 --- a/include/constants/battle_script_commands.h +++ b/include/constants/battle_script_commands.h @@ -248,8 +248,8 @@ #define VARIOUS_CHECK_PARENTAL_BOND_COUNTER 157 #define VARIOUS_SWAP_STATS 158 #define VARIOUS_TRY_WIND_RIDER_POWER 159 -#define VARIOUS_ACTIVATE_WEATHER_ABILITIES 160 -#define VARIOUS_ACTIVATE_TERRAIN_ABILITIES 161 +#define VARIOUS_ACTIVATE_WEATHER_CHANGE_ABILITIES 160 +#define VARIOUS_ACTIVATE_TERRAIN_CHANGE_ABILITIES 161 // Cmd_manipulatedamage #define DMG_CHANGE_SIGN 0 diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index e08a61c2f..a979400ab 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -10116,11 +10116,11 @@ static void Cmd_various(void) } } return; - case VARIOUS_ACTIVATE_WEATHER_ABILITIES: + case VARIOUS_ACTIVATE_WEATHER_CHANGE_ABILITIES: gBattlescriptCurrInstr += 3; AbilityBattleEffects(ABILITYEFFECT_ON_WEATHER, gActiveBattler, 0, 0, 0); return; - case VARIOUS_ACTIVATE_TERRAIN_ABILITIES: + case VARIOUS_ACTIVATE_TERRAIN_CHANGE_ABILITIES: gBattlescriptCurrInstr += 3; AbilityBattleEffects(ABILITYEFFECT_ON_TERRAIN, gActiveBattler, 0, 0, 0); return; diff --git a/src/battle_util.c b/src/battle_util.c index c31ee5069..4eb44daa7 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -4798,19 +4798,6 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move effect++; } break; - case ABILITY_FORECAST: -#if B_WEATHER_FORMS >= GEN_5 - case ABILITY_FLOWER_GIFT: -#else - TRY_WEATHER_FORM: -#endif - effect = TryWeatherFormChange(battler); - if (effect != 0) - { - BattleScriptPushCursorAndCallback(BattleScript_WeatherFormChange); - *(&gBattleStruct->formToChangeInto) = effect - 1; - } - break; case ABILITY_TRACE: if (!(gSpecialStatuses[battler].traced)) { @@ -6252,9 +6239,22 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move } break; case ABILITYEFFECT_ON_WEATHER: // For ability effects that activate when the battle weather changes. - gBattleScripting.battler = gBattlerAbility = battler; + battler = gBattlerAbility = gBattlerAttacker = gBattleScripting.battler; switch (GetBattlerAbility(battler)) { + case ABILITY_FORECAST: +#if B_WEATHER_FORMS >= GEN_5 + case ABILITY_FLOWER_GIFT: +#else + TRY_WEATHER_FORM: +#endif + effect = TryWeatherFormChange(battler); + if (effect != 0) + { + BattleScriptPushCursorAndCallback(BattleScript_WeatherFormChange); + *(&gBattleStruct->formToChangeInto) = effect - 1; + } + break; case ABILITY_PROTOSYNTHESIS: if (IsBattlerWeatherAffected(battler, B_WEATHER_SUN)) { @@ -6266,7 +6266,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move } break; case ABILITYEFFECT_ON_TERRAIN: // For ability effects that activate when the field terrain changes. - gBattleScripting.battler = gBattlerAbility = battler; + battler = gBattlerAbility = gBattlerAttacker = gBattleScripting.battler; switch (GetBattlerAbility(battler)) { case ABILITY_QUARK_DRIVE: From cdfec0fc0599d514ef95be61c775b3cec40f1fa5 Mon Sep 17 00:00:00 2001 From: LOuroboros Date: Mon, 2 Jan 2023 15:42:30 -0300 Subject: [PATCH 130/130] Updated B_DOUBLE_WILD_CHANCE --- include/config/battle.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/config/battle.h b/include/config/battle.h index c060cb0cc..fc5c6536f 100644 --- a/include/config/battle.h +++ b/include/config/battle.h @@ -176,7 +176,7 @@ #define B_LAST_USED_BALL_BUTTON R_BUTTON // If last used ball is implemented, this button (or button combo) will trigger throwing the last used ball. // Other settings -#define B_DOUBLE_WILD_CHANCE 100 // % chance of encountering two Pokémon in a Wild Encounter. +#define B_DOUBLE_WILD_CHANCE 0 // % chance of encountering two Pokémon in a Wild Encounter. #define B_MULTI_BATTLE_WHITEOUT GEN_LATEST // In Gen4+, multi battles end when the Player and also their Partner don't have any more Pokémon to fight. #define B_EVOLUTION_AFTER_WHITEOUT GEN_LATEST // In Gen6+, Pokemon that qualify for evolution after battle will evolve even if the player loses. #define B_WILD_NATURAL_ENEMIES TRUE // If set to TRUE, certain wild mon species will attack other species when partnered in double wild battles (eg. Zangoose vs Seviper)