Dynamax Cleanup (#3435)

* Mon animation names
* Moved indicator code so it follows the same standards as the other indicators
* Whitespace
* Fixed modern compile
* Fixed issue that caused Low Key Toxtricity learning Amped moves when Gigantamaxed
This commit is contained in:
Eduardo Quezada D'Ottone 2023-10-23 07:39:22 -03:00 committed by GitHub
parent 3755155e9d
commit 6585a62b13
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
25 changed files with 341 additions and 328 deletions

View File

@ -1007,8 +1007,8 @@ gBattleAnims_General::
.4byte General_Snow @ B_ANIM_SNOW_CONTINUES
.4byte General_UltraBurst @ B_ANIM_ULTRA_BURST
.4byte General_SaltCureDamage @ B_ANIM_SALT_CURE_DAMAGE
.4byte General_DynamaxGrowth @ B_ANIM_DYNAMAX_GROWTH
.4byte General_SetWeather @ B_ANIM_MAX_SET_WEATHER
.4byte General_DynamaxGrowth @ B_ANIM_DYNAMAX_GROWTH
.4byte General_SetWeather @ B_ANIM_MAX_SET_WEATHER
.align 2
gBattleAnims_Special::

View File

@ -416,7 +416,7 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectVictoryDance @ EFFECT_VICTORY_DANCE
.4byte BattleScript_EffectTeatime @ EFFECT_TEATIME
.4byte BattleScript_EffectAttackUpUserAlly @ EFFECT_ATTACK_UP_USER_ALLY
.4byte BattleScript_EffectShellTrap @ EFFECT_SHELL_TRAP
.4byte BattleScript_EffectShellTrap @ EFFECT_SHELL_TRAP
.4byte BattleScript_EffectHit @ EFFECT_PSYBLADE
.4byte BattleScript_EffectHit @ EFFECT_HYDRO_STEAM
.4byte BattleScript_EffectHitSetEntryHazard @ EFFECT_HIT_SET_ENTRY_HAZARD
@ -439,7 +439,7 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectMatchaGotcha @ EFFECT_MATCHA_GOTCHA
.4byte BattleScript_EffectSyrupBomb @ EFFECT_SYRUP_BOMB
.4byte BattleScript_EffectHit @ EFFECT_IVY_CUDGEL
.4byte BattleScript_EffectMaxMove @ EFFECT_MAX_MOVE
.4byte BattleScript_EffectMaxMove @ EFFECT_MAX_MOVE
BattleScript_EffectSyrupBomb::
setmoveeffect MOVE_EFFECT_SYRUP_BOMB

View File

@ -544,7 +544,6 @@ struct DynamaxData
{
bool8 playerSelect;
u8 triggerSpriteId;
u8 indicatorSpriteId[MAX_BATTLERS_COUNT];
u8 toDynamax; // flags using gBitTable
bool8 alreadyDynamaxed[NUM_BATTLE_SIDES];
bool8 dynamaxed[MAX_BATTLERS_COUNT];

View File

@ -90,13 +90,4 @@ void HideDynamaxTriggerSprite(void);
bool32 IsDynamaxTriggerSpriteActive(void);
void DestroyDynamaxTriggerSprite(void);
void DynamaxIndicator_LoadSpriteGfx(void);
bool32 DynamaxIndicator_ShouldBeInvisible(u32 battlerId);
u8 DynamaxIndicator_GetSpriteId(u32 healthboxSpriteId);
void DynamaxIndicator_SetVisibilities(u32 healthboxId, bool32 invisible);
void DynamaxIndicator_UpdateOamPriority(u32 healthboxId, u32 oamPriority);
void DynamaxIndicator_UpdateLevel(u32 healthboxId, u32 level);
void DynamaxIndicator_CreateSprite(u32 battlerId, u32 healthboxSpriteId);
void DynamaxIndicator_DestroySprite(u32 healthboxSpriteId);
#endif

View File

@ -1396,15 +1396,16 @@
#define SPECIES_FLAPPLE_GIGANTAMAX FORMS_START + 351
#define SPECIES_APPLETUN_GIGANTAMAX FORMS_START + 352
#define SPECIES_SANDACONDA_GIGANTAMAX FORMS_START + 353
#define SPECIES_TOXTRICITY_GIGANTAMAX FORMS_START + 354
#define SPECIES_CENTISKORCH_GIGANTAMAX FORMS_START + 355
#define SPECIES_HATTERENE_GIGANTAMAX FORMS_START + 356
#define SPECIES_GRIMMSNARL_GIGANTAMAX FORMS_START + 357
#define SPECIES_ALCREMIE_GIGANTAMAX FORMS_START + 358
#define SPECIES_COPPERAJAH_GIGANTAMAX FORMS_START + 359
#define SPECIES_DURALUDON_GIGANTAMAX FORMS_START + 360
#define SPECIES_URSHIFU_GIGANTAMAX FORMS_START + 361
#define SPECIES_URSHIFU_RAPID_STRIKE_STYLE_GIGANTAMAX FORMS_START + 362
#define SPECIES_TOXTRICITY_AMPED_GIGANTAMAX FORMS_START + 354
#define SPECIES_TOXTRICITY_LOW_KEY_GIGANTAMAX FORMS_START + 355
#define SPECIES_CENTISKORCH_GIGANTAMAX FORMS_START + 356
#define SPECIES_HATTERENE_GIGANTAMAX FORMS_START + 357
#define SPECIES_GRIMMSNARL_GIGANTAMAX FORMS_START + 358
#define SPECIES_ALCREMIE_GIGANTAMAX FORMS_START + 359
#define SPECIES_COPPERAJAH_GIGANTAMAX FORMS_START + 360
#define SPECIES_DURALUDON_GIGANTAMAX FORMS_START + 361
#define SPECIES_URSHIFU_GIGANTAMAX FORMS_START + 362
#define SPECIES_URSHIFU_RAPID_STRIKE_STYLE_GIGANTAMAX FORMS_START + 363
#define FORMS_START SPECIES_ENAMORUS
#define SPECIES_EGG SPECIES_URSHIFU_RAPID_STRIKE_STYLE_GIGANTAMAX + 1

View File

@ -80,7 +80,8 @@ static const struct GMaxMove sGMaxMoveTable[] =
{SPECIES_FLAPPLE_GIGANTAMAX, TYPE_GRASS, MOVE_G_MAX_TARTNESS},
{SPECIES_APPLETUN_GIGANTAMAX, TYPE_GRASS, MOVE_G_MAX_SWEETNESS},
{SPECIES_SANDACONDA_GIGANTAMAX, TYPE_GROUND, MOVE_G_MAX_SANDBLAST},
{SPECIES_TOXTRICITY_GIGANTAMAX, TYPE_ELECTRIC, MOVE_G_MAX_STUN_SHOCK},
{SPECIES_TOXTRICITY_AMPED_GIGANTAMAX, TYPE_ELECTRIC, MOVE_G_MAX_STUN_SHOCK},
{SPECIES_TOXTRICITY_LOW_KEY_GIGANTAMAX, TYPE_ELECTRIC, MOVE_G_MAX_STUN_SHOCK},
{SPECIES_CENTISKORCH_GIGANTAMAX, TYPE_FIRE, MOVE_G_MAX_CENTIFERNO},
{SPECIES_HATTERENE_GIGANTAMAX, TYPE_FAIRY, MOVE_G_MAX_SMITE},
{SPECIES_GRIMMSNARL_GIGANTAMAX, TYPE_DARK, MOVE_G_MAX_SNOOZE},
@ -93,7 +94,6 @@ static const struct GMaxMove sGMaxMoveTable[] =
// forward declarations
static void SpriteCb_DynamaxTrigger(struct Sprite *);
static void SpriteCb_DynamaxIndicator(struct Sprite *);
// Returns whether a battler is Dynamaxed.
bool32 IsDynamaxed(u16 battlerId)
@ -1283,62 +1283,6 @@ void DestroyDynamaxTriggerSprite(void)
#undef tBattler
#undef tHide
// DYNAMAX INDICATOR:
static const u8 ALIGNED(4) sDynamaxIndicatorGfx[] = INCBIN_U8("graphics/battle_interface/dynamax_indicator.4bpp");
static const u16 sDynamaxIndicatorPal[] = INCBIN_U16("graphics/battle_interface/misc_indicator.gbapal");
static const struct SpriteSheet sSpriteSheet_DynamaxIndicator =
{
sDynamaxIndicatorGfx, sizeof(sDynamaxIndicatorGfx), TAG_DYNAMAX_INDICATOR_TILE
};
static const struct SpritePalette sSpritePalette_DynamaxIndicator =
{
sDynamaxIndicatorPal, TAG_MISC_INDICATOR_PAL
};
static const struct SpriteSheet sDynamaxIndicator_SpriteSheet[] =
{
{sDynamaxIndicatorGfx, sizeof(sDynamaxIndicatorGfx), TAG_DYNAMAX_INDICATOR_TILE}
};
static const struct SpritePalette sDynamaxIndicator_SpritePalette[] =
{
{sDynamaxIndicatorPal, TAG_MISC_INDICATOR_PAL}
};
static const struct OamData sOamData_DynamaxIndicator =
{
.shape = SPRITE_SHAPE(16x16),
.size = SPRITE_SIZE(16x16),
.priority = 1,
};
static const struct SpriteTemplate sSpriteTemplate_DynamaxIndicator =
{
.tileTag = TAG_DYNAMAX_INDICATOR_TILE,
.paletteTag = TAG_MISC_INDICATOR_PAL,
.oam = &sOamData_DynamaxIndicator,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCb_DynamaxIndicator,
};
static const s8 sIndicatorPositions[][2] =
{
[B_POSITION_PLAYER_LEFT] = {52, -9},
[B_POSITION_OPPONENT_LEFT] = {44, -9},
[B_POSITION_PLAYER_RIGHT] = {52, -9},
[B_POSITION_OPPONENT_RIGHT] = {44, -9},
};
// for sprite data fields
#define tBattler data[0]
#define tType data[1] // Indicator type: dynamax
#define tPosX data[2]
#define tLevelXDelta data[3] // X position depends whether level has 3, 2 or 1 digit
// data fields for healthboxMain
// oam.affineParam holds healthboxRight spriteId
#define hMain_DynamaxIndicatorId data[3]
@ -1351,88 +1295,3 @@ static const s8 sIndicatorPositions[][2] =
// data fields for healthbar
#define hBar_HealthBoxSpriteId data[5]
void DynamaxIndicator_LoadSpriteGfx(void)
{
LoadSpriteSheet(sDynamaxIndicator_SpriteSheet);
LoadSpritePalette(sDynamaxIndicator_SpritePalette);
}
bool32 DynamaxIndicator_ShouldBeInvisible(u32 battlerId)
{
return !IsDynamaxed(battlerId);
}
u8 DynamaxIndicator_GetSpriteId(u32 healthboxSpriteId)
{
return gBattleStruct->dynamax.indicatorSpriteId[gSprites[healthboxSpriteId].hMain_Battler];
}
void DynamaxIndicator_SetVisibilities(u32 healthboxId, bool32 invisible)
{
u8 spriteId = DynamaxIndicator_GetSpriteId(healthboxId);
u32 battlerId = gSprites[healthboxId].hMain_Battler;
if (invisible == TRUE)
gSprites[spriteId].invisible = TRUE;
else // Try visible.
gSprites[spriteId].invisible = DynamaxIndicator_ShouldBeInvisible(battlerId);
}
void DynamaxIndicator_UpdateOamPriority(u32 healthboxId, u32 oamPriority)
{
u8 spriteId = DynamaxIndicator_GetSpriteId(healthboxId);
gSprites[spriteId].oam.priority = oamPriority;
}
void DynamaxIndicator_UpdateLevel(u32 healthboxId, u32 level)
{
s16 xDelta = 0;
u8 spriteId = DynamaxIndicator_GetSpriteId(healthboxId);
if (level >= 100)
xDelta -= 4;
else if (level < 10)
xDelta += 5;
gSprites[spriteId].tLevelXDelta = xDelta;
}
void DynamaxIndicator_CreateSprite(u32 battlerId, u32 healthboxSpriteId)
{
u32 position;
u8 spriteId;
s16 xHealthbox = 0, y = 0;
s32 x = 0;
position = GetBattlerPosition(battlerId);
GetBattlerHealthboxCoords(battlerId, &xHealthbox, &y);
x = sIndicatorPositions[position][0];
y += sIndicatorPositions[position][1];
spriteId = gBattleStruct->dynamax.indicatorSpriteId[battlerId] = CreateSpriteAtEnd(&sSpriteTemplate_DynamaxIndicator, 0, y, 0);
gSprites[spriteId].tBattler = battlerId;
gSprites[spriteId].tPosX = x;
gSprites[spriteId].invisible = TRUE;
}
void DynamaxIndicator_DestroySprite(u32 healthboxSpriteId)
{
u8 spriteId = DynamaxIndicator_GetSpriteId(healthboxSpriteId);
DestroySprite(&gSprites[spriteId]);
}
static void SpriteCb_DynamaxIndicator(struct Sprite *sprite)
{
u32 battlerId = sprite->tBattler;
sprite->x = gSprites[gHealthboxSpriteIds[battlerId]].x + sprite->tPosX + sprite->tLevelXDelta;
sprite->x2 = gSprites[gHealthboxSpriteIds[battlerId]].x2;
sprite->y2 = gSprites[gHealthboxSpriteIds[battlerId]].y2;
}
#undef tBattler
#undef tType
#undef tPosX
#undef tLevelXDelta

View File

@ -708,7 +708,6 @@ bool8 BattleLoadAllHealthBoxesGfx(u8 state)
LoadSpritePalette(&sSpritePalettes_HealthBoxHealthBar[0]);
LoadSpritePalette(&sSpritePalettes_HealthBoxHealthBar[1]);
MegaIndicator_LoadSpritesGfx();
DynamaxIndicator_LoadSpriteGfx();
}
else if (!IsDoubleBattle())
{

View File

@ -854,9 +854,6 @@ u8 CreateBattlerHealthboxSprites(u8 battlerId)
// Create mega indicator sprite.
MegaIndicator_CreateSprite(battlerId, healthboxLeftSpriteId);
// Create dynamax indicator sprites.
DynamaxIndicator_CreateSprite(battlerId, healthboxLeftSpriteId);
gBattleStruct->ballSpriteIds[0] = MAX_SPRITES;
gBattleStruct->ballSpriteIds[1] = MAX_SPRITES;
@ -940,7 +937,6 @@ void SetHealthboxSpriteInvisible(u8 healthboxSpriteId)
gSprites[gSprites[healthboxSpriteId].hMain_HealthBarSpriteId].invisible = TRUE;
gSprites[gSprites[healthboxSpriteId].oam.affineParam].invisible = TRUE;
MegaIndicator_SetVisibilities(healthboxSpriteId, TRUE);
DynamaxIndicator_SetVisibilities(healthboxSpriteId, TRUE);
}
void SetHealthboxSpriteVisible(u8 healthboxSpriteId)
@ -949,7 +945,6 @@ void SetHealthboxSpriteVisible(u8 healthboxSpriteId)
gSprites[gSprites[healthboxSpriteId].hMain_HealthBarSpriteId].invisible = FALSE;
gSprites[gSprites[healthboxSpriteId].oam.affineParam].invisible = FALSE;
MegaIndicator_SetVisibilities(healthboxSpriteId, FALSE);
DynamaxIndicator_SetVisibilities(healthboxSpriteId, FALSE);
}
static void UpdateSpritePos(u8 spriteId, s16 x, s16 y)
@ -976,7 +971,6 @@ static void TryToggleHealboxVisibility(u32 priority, u32 healthboxLeftSpriteId,
gSprites[healthboxRightSpriteId].invisible = invisible;
gSprites[healthbarSpriteId].invisible = invisible;
MegaIndicator_SetVisibilities(healthboxLeftSpriteId, invisible);
DynamaxIndicator_SetVisibilities(healthboxLeftSpriteId, invisible);
}
void UpdateOamPriorityInAllHealthboxes(u8 priority, bool32 hideHPBoxes)
@ -994,7 +988,6 @@ void UpdateOamPriorityInAllHealthboxes(u8 priority, bool32 hideHPBoxes)
gSprites[healthbarSpriteId].oam.priority = priority;
MegaIndicator_UpdateOamPriority(healthboxLeftSpriteId, priority);
DynamaxIndicator_UpdateOamPriority(healthboxLeftSpriteId, priority);
if (B_HIDE_HEALTHBOX_IN_ANIMS == TRUE && hideHPBoxes && IsBattlerAlive(i))
TryToggleHealboxVisibility(priority, healthboxLeftSpriteId, healthboxRightSpriteId, healthbarSpriteId);
@ -1056,8 +1049,6 @@ static void UpdateLvlInHealthbox(u8 healthboxSpriteId, u8 lvl)
xPos = 5 * (3 - (objVram - (text + 2))) - 1;
MegaIndicator_UpdateLevel(healthboxSpriteId, lvl);
MegaIndicator_SetVisibilities(healthboxSpriteId, FALSE);
DynamaxIndicator_UpdateLevel(healthboxSpriteId, lvl);
DynamaxIndicator_SetVisibilities(healthboxSpriteId, FALSE);
}
else
{
@ -1623,6 +1614,7 @@ enum
INDICATOR_MEGA,
INDICATOR_ALPHA,
INDICATOR_OMEGA,
INDICATOR_DYNAMAX,
INDICATOR_COUNT,
};
@ -1631,12 +1623,15 @@ static const u16 sMegaIndicatorPal[] = INCBIN_U16("graphics/battle_interface/meg
static const u8 ALIGNED(4) sAlphaIndicatorGfx[] = INCBIN_U8("graphics/battle_interface/alpha_indicator.4bpp");
static const u8 ALIGNED(4) sOmegaIndicatorGfx[] = INCBIN_U8("graphics/battle_interface/omega_indicator.4bpp");
static const u16 sAlphaOmegaIndicatorPal[] = INCBIN_U16("graphics/battle_interface/misc_indicator.gbapal");
static const u8 ALIGNED(4) sDynamaxIndicatorGfx[] = INCBIN_U8("graphics/battle_interface/dynamax_indicator.4bpp");
static const u16 sDynamaxIndicatorPal[] = INCBIN_U16("graphics/battle_interface/misc_indicator.gbapal");
static const struct SpriteSheet sMegaIndicator_SpriteSheets[] =
{
[INDICATOR_MEGA] = {sMegaIndicatorGfx, sizeof(sMegaIndicatorGfx), TAG_MEGA_INDICATOR_TILE},
[INDICATOR_ALPHA] = {sAlphaIndicatorGfx, sizeof(sAlphaIndicatorGfx), TAG_ALPHA_INDICATOR_TILE},
[INDICATOR_OMEGA] = {sOmegaIndicatorGfx, sizeof(sOmegaIndicatorGfx), TAG_OMEGA_INDICATOR_TILE},
[INDICATOR_DYNAMAX] = {sDynamaxIndicatorGfx, sizeof(sDynamaxIndicatorGfx), TAG_DYNAMAX_INDICATOR_TILE},
[INDICATOR_COUNT] = {0}
};
static const struct SpritePalette sMegaIndicator_SpritePalettes[] =
@ -1644,6 +1639,7 @@ static const struct SpritePalette sMegaIndicator_SpritePalettes[] =
[INDICATOR_MEGA] = {sMegaIndicatorPal, TAG_MEGA_INDICATOR_PAL},
[INDICATOR_ALPHA] = {sAlphaOmegaIndicatorPal, TAG_MISC_INDICATOR_PAL},
[INDICATOR_OMEGA] = {sAlphaOmegaIndicatorPal, TAG_MISC_INDICATOR_PAL},
[INDICATOR_DYNAMAX] = {sDynamaxIndicatorPal, TAG_MISC_INDICATOR_PAL},
[INDICATOR_COUNT] = {0}
};
@ -1670,6 +1666,7 @@ static const u16 sMegaIndicatorTags[][2] =
[INDICATOR_MEGA] = {TAG_MEGA_INDICATOR_TILE, TAG_MEGA_INDICATOR_PAL},
[INDICATOR_ALPHA] = {TAG_ALPHA_INDICATOR_TILE, TAG_MISC_INDICATOR_PAL},
[INDICATOR_OMEGA] = {TAG_OMEGA_INDICATOR_TILE, TAG_MISC_INDICATOR_PAL},
[INDICATOR_DYNAMAX] = {TAG_DYNAMAX_INDICATOR_TILE, TAG_MISC_INDICATOR_PAL},
};
static const s8 sIndicatorPositions[][2] =
@ -1696,8 +1693,9 @@ static bool32 MegaIndicator_ShouldBeInvisible(u32 battlerId, struct Sprite *spri
{
bool32 megaEvolved = IsBattlerMegaEvolved(battlerId);
bool32 primalReverted = IsBattlerPrimalReverted(battlerId);
bool32 dynamaxed = IsDynamaxed(battlerId);
if (!megaEvolved && !primalReverted)
if (!megaEvolved && !primalReverted && !dynamaxed)
return TRUE;
if (megaEvolved)
@ -1706,6 +1704,8 @@ static bool32 MegaIndicator_ShouldBeInvisible(u32 battlerId, struct Sprite *spri
sprite->tType = INDICATOR_ALPHA;
else if (primalReverted && gBattleMons[battlerId].species == SPECIES_GROUDON_PRIMAL)
sprite->tType = INDICATOR_OMEGA;
else if (dynamaxed)
sprite->tType = INDICATOR_DYNAMAX;
sprite->oam.tileNum = GetSpriteTileStartByTag(sMegaIndicatorTags[sprite->tType][0]);
sprite->oam.paletteNum = IndexOfSpritePaletteTag(sMegaIndicatorTags[sprite->tType][1]);

View File

@ -261,8 +261,10 @@ const struct FormChange *const gFormChangeTablePointers[NUM_SPECIES] =
[SPECIES_CRAMORANT] = sCramorantFormChangeTable,
[SPECIES_CRAMORANT_GULPING] = sCramorantFormChangeTable,
[SPECIES_CRAMORANT_GORGING] = sCramorantFormChangeTable,
[SPECIES_TOXTRICITY] = sToxtricityFormChangeTable,
[SPECIES_TOXTRICITY_GIGANTAMAX] = sToxtricityFormChangeTable,
[SPECIES_TOXTRICITY] = sToxtricityAmpedFormChangeTable,
[SPECIES_TOXTRICITY_LOW_KEY] = sToxtricityAmpedFormChangeTable,
[SPECIES_TOXTRICITY_AMPED_GIGANTAMAX] = sToxtricityLowKeyFormChangeTable,
[SPECIES_TOXTRICITY_LOW_KEY_GIGANTAMAX] = sToxtricityLowKeyFormChangeTable,
[SPECIES_CENTISKORCH] = sCentiskorchFormChangeTable,
[SPECIES_CENTISKORCH_GIGANTAMAX] = sCentiskorchFormChangeTable,
[SPECIES_HATTERENE] = sHattereneFormChangeTable,

View File

@ -607,47 +607,189 @@ static const struct FormChange sEnamorusFormChangeTable[] = {
#endif
// Gigantamax Forms
#define GIGANTAMAX_FORM(species) \
{ \
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_##species##_GIGANTAMAX},\
{FORM_CHANGE_TERMINATOR}, \
};
static const struct FormChange sButterfreeFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_BUTTERFREE_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sPikachuFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_PIKACHU_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sMeowthFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_MEOWTH_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sMachampFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_MACHAMP_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sKinglerFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_KINGLER_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sLaprasFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_LAPRAS_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sEeveeFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_EEVEE_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sSnorlaxFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_SNORLAX_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sButterfreeFormChangeTable[] = GIGANTAMAX_FORM(BUTTERFREE)
static const struct FormChange sPikachuFormChangeTable[] = GIGANTAMAX_FORM(PIKACHU)
static const struct FormChange sMeowthFormChangeTable[] = GIGANTAMAX_FORM(MEOWTH)
static const struct FormChange sMachampFormChangeTable[] = GIGANTAMAX_FORM(MACHAMP)
static const struct FormChange sKinglerFormChangeTable[] = GIGANTAMAX_FORM(KINGLER)
static const struct FormChange sLaprasFormChangeTable[] = GIGANTAMAX_FORM(LAPRAS)
static const struct FormChange sEeveeFormChangeTable[] = GIGANTAMAX_FORM(EEVEE)
static const struct FormChange sSnorlaxFormChangeTable[] = GIGANTAMAX_FORM(SNORLAX)
#if P_GEN_5_POKEMON == TRUE
static const struct FormChange sGarbodorFormChangeTable[] = GIGANTAMAX_FORM(GARBODOR)
static const struct FormChange sGarbodorFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_GARBODOR_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
#endif
#if P_GEN_7_POKEMON == TRUE
static const struct FormChange sMelmetalFormChangeTable[] = GIGANTAMAX_FORM(MELMETAL)
static const struct FormChange sMelmetalFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_MELMETAL_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
#endif
#if P_GEN_8_POKEMON == TRUE
static const struct FormChange sRillaboomFormChangeTable[] = GIGANTAMAX_FORM(RILLABOOM)
static const struct FormChange sCinderaceFormChangeTable[] = GIGANTAMAX_FORM(CINDERACE)
static const struct FormChange sInteleonFormChangeTable[] = GIGANTAMAX_FORM(INTELEON)
static const struct FormChange sCorviknightFormChangeTable[] = GIGANTAMAX_FORM(CORVIKNIGHT)
static const struct FormChange sOrbeetleFormChangeTable[] = GIGANTAMAX_FORM(ORBEETLE)
static const struct FormChange sDrednawFormChangeTable[] = GIGANTAMAX_FORM(DREDNAW)
static const struct FormChange sCoalossalFormChangeTable[] = GIGANTAMAX_FORM(COALOSSAL)
static const struct FormChange sFlappleFormChangeTable[] = GIGANTAMAX_FORM(FLAPPLE)
static const struct FormChange sAppletunFormChangeTable[] = GIGANTAMAX_FORM(APPLETUN)
static const struct FormChange sSandacondaFormChangeTable[] = GIGANTAMAX_FORM(SANDACONDA)
static const struct FormChange sToxtricityFormChangeTable[] = GIGANTAMAX_FORM(TOXTRICITY)
static const struct FormChange sCentiskorchFormChangeTable[] = GIGANTAMAX_FORM(CENTISKORCH)
static const struct FormChange sHattereneFormChangeTable[] = GIGANTAMAX_FORM(HATTERENE)
static const struct FormChange sGrimmsnarlFormChangeTable[] = GIGANTAMAX_FORM(GRIMMSNARL)
static const struct FormChange sAlcremieFormChangeTable[] = GIGANTAMAX_FORM(ALCREMIE)
static const struct FormChange sCopperajahFormChangeTable[] = GIGANTAMAX_FORM(COPPERAJAH)
static const struct FormChange sDuraludonFormChangeTable[] = GIGANTAMAX_FORM(DURALUDON)
static const struct FormChange sUrshifuFormChangeTable[] = GIGANTAMAX_FORM(URSHIFU)
static const struct FormChange sUrshifuRapidStrikeFormChangeTable[] = GIGANTAMAX_FORM(URSHIFU_RAPID_STRIKE_STYLE)
static const struct FormChange sRillaboomFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_RILLABOOM_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sCinderaceFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_CINDERACE_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sInteleonFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_INTELEON_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sCorviknightFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_CORVIKNIGHT_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sOrbeetleFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_ORBEETLE_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sDrednawFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_DREDNAW_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sCoalossalFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_COALOSSAL_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sFlappleFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_FLAPPLE_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sAppletunFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_APPLETUN_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sSandacondaFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_SANDACONDA_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sToxtricityAmpedFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_TOXTRICITY_AMPED_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sToxtricityLowKeyFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_TOXTRICITY_LOW_KEY_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sCentiskorchFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_CENTISKORCH_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sHattereneFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_HATTERENE_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sGrimmsnarlFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_GRIMMSNARL_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sAlcremieFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_ALCREMIE_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sCopperajahFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_COPPERAJAH_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sDuraludonFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_DURALUDON_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sUrshifuFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_URSHIFU_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
static const struct FormChange sUrshifuRapidStrikeFormChangeTable[] =
{
{FORM_CHANGE_BATTLE_GIGANTAMAX, SPECIES_URSHIFU_RAPID_STRIKE_STYLE_GIGANTAMAX},
{FORM_CHANGE_TERMINATOR},
};
#endif
#undef WHEN_LEARNED

View File

@ -618,7 +618,8 @@ const u16 *const gFormSpeciesIdTables[NUM_SPECIES] =
[SPECIES_FLAPPLE_GIGANTAMAX] = sFlappleFormSpeciesIdTable,
[SPECIES_APPLETUN_GIGANTAMAX] = sAppletunFormSpeciesIdTable,
[SPECIES_SANDACONDA_GIGANTAMAX] = sSandacondaFormSpeciesIdTable,
[SPECIES_TOXTRICITY_GIGANTAMAX] = sToxtricityFormSpeciesIdTable,
[SPECIES_TOXTRICITY_AMPED_GIGANTAMAX] = sToxtricityFormSpeciesIdTable,
[SPECIES_TOXTRICITY_LOW_KEY_GIGANTAMAX] = sToxtricityFormSpeciesIdTable,
[SPECIES_CENTISKORCH_GIGANTAMAX] = sCentiskorchFormSpeciesIdTable,
[SPECIES_HATTERENE_GIGANTAMAX] = sHattereneFormSpeciesIdTable,
[SPECIES_GRIMMSNARL_GIGANTAMAX] = sGrimmsnarlFormSpeciesIdTable,

View File

@ -1171,7 +1171,8 @@ static const u16 sCramorantFormSpeciesIdTable[] = {
static const u16 sToxtricityFormSpeciesIdTable[] = {
SPECIES_TOXTRICITY,
SPECIES_TOXTRICITY_LOW_KEY,
SPECIES_TOXTRICITY_GIGANTAMAX,
SPECIES_TOXTRICITY_AMPED_GIGANTAMAX,
SPECIES_TOXTRICITY_LOW_KEY_GIGANTAMAX,
FORM_SPECIES_END,
};

View File

@ -1361,7 +1361,8 @@ const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] =
[SPECIES_FLAPPLE_GIGANTAMAX] = sFlappleLevelUpLearnset,
[SPECIES_APPLETUN_GIGANTAMAX] = sAppletunLevelUpLearnset,
[SPECIES_SANDACONDA_GIGANTAMAX] = sSandacondaLevelUpLearnset,
[SPECIES_TOXTRICITY_GIGANTAMAX] = sToxtricityLevelUpLearnset,
[SPECIES_TOXTRICITY_AMPED_GIGANTAMAX] = sToxtricityLevelUpLearnset,
[SPECIES_TOXTRICITY_LOW_KEY_GIGANTAMAX] = sToxtricityLowKeyLevelUpLearnset,
[SPECIES_CENTISKORCH_GIGANTAMAX] = sCentiskorchLevelUpLearnset,
[SPECIES_HATTERENE_GIGANTAMAX] = sHattereneLevelUpLearnset,
[SPECIES_GRIMMSNARL_GIGANTAMAX] = sGrimmsnarlLevelUpLearnset,

View File

@ -24956,11 +24956,16 @@ const struct SpeciesInfo gSpeciesInfo[] =
SANDACONDA_MISC_INFO,
.gigantamax = TRUE,
},
[SPECIES_TOXTRICITY_GIGANTAMAX] =
[SPECIES_TOXTRICITY_AMPED_GIGANTAMAX] =
{
TOXTRICITY_MISC_INFO(ABILITY_PLUS),
.gigantamax = TRUE,
},
[SPECIES_TOXTRICITY_LOW_KEY_GIGANTAMAX] =
{
TOXTRICITY_MISC_INFO(ABILITY_MINUS),
.gigantamax = TRUE,
},
[SPECIES_CENTISKORCH_GIGANTAMAX] =
{
CENTISKORCH_MISC_INFO,

View File

@ -1361,7 +1361,8 @@ const u16 *const gTeachableLearnsets[NUM_SPECIES] =
[SPECIES_FLAPPLE_GIGANTAMAX] = sFlappleTeachableLearnset,
[SPECIES_APPLETUN_GIGANTAMAX] = sAppletunTeachableLearnset,
[SPECIES_SANDACONDA_GIGANTAMAX] = sSandacondaTeachableLearnset,
[SPECIES_TOXTRICITY_GIGANTAMAX] = sToxtricityTeachableLearnset,
[SPECIES_TOXTRICITY_AMPED_GIGANTAMAX] = sToxtricityTeachableLearnset,
[SPECIES_TOXTRICITY_LOW_KEY_GIGANTAMAX] = sToxtricityLowKeyTeachableLearnset,
[SPECIES_CENTISKORCH_GIGANTAMAX] = sCentiskorchTeachableLearnset,
[SPECIES_HATTERENE_GIGANTAMAX] = sHattereneTeachableLearnset,
[SPECIES_GRIMMSNARL_GIGANTAMAX] = sGrimmsnarlTeachableLearnset,

View File

@ -1383,7 +1383,8 @@ const struct MonCoords gMonBackPicCoords[NUM_SPECIES + 1] =
[SPECIES_FLAPPLE_GIGANTAMAX] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 },
[SPECIES_APPLETUN_GIGANTAMAX] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 },
[SPECIES_SANDACONDA_GIGANTAMAX] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 5 },
[SPECIES_TOXTRICITY_GIGANTAMAX] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 },
[SPECIES_TOXTRICITY_AMPED_GIGANTAMAX] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 },
[SPECIES_TOXTRICITY_LOW_KEY_GIGANTAMAX] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 },
[SPECIES_CENTISKORCH_GIGANTAMAX] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 1 },
[SPECIES_HATTERENE_GIGANTAMAX] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 3 },
[SPECIES_GRIMMSNARL_GIGANTAMAX] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 10 },

View File

@ -1360,7 +1360,8 @@ const struct CompressedSpriteSheet gMonBackPicTable[NUM_SPECIES + 1] =
SPECIES_SPRITE(FLAPPLE_GIGANTAMAX, gMonBackPic_FlappleGigantamax),
SPECIES_SPRITE(APPLETUN_GIGANTAMAX, gMonBackPic_AppletunGigantamax),
SPECIES_SPRITE(SANDACONDA_GIGANTAMAX, gMonBackPic_SandacondaGigantamax),
SPECIES_SPRITE(TOXTRICITY_GIGANTAMAX, gMonBackPic_ToxtricityGigantamax),
SPECIES_SPRITE(TOXTRICITY_AMPED_GIGANTAMAX, gMonBackPic_ToxtricityGigantamax),
SPECIES_SPRITE(TOXTRICITY_LOW_KEY_GIGANTAMAX, gMonBackPic_ToxtricityGigantamax),
SPECIES_SPRITE(CENTISKORCH_GIGANTAMAX, gMonBackPic_CentiskorchGigantamax),
SPECIES_SPRITE(HATTERENE_GIGANTAMAX, gMonBackPic_HattereneGigantamax),
SPECIES_SPRITE(GRIMMSNARL_GIGANTAMAX, gMonBackPic_GrimmsnarlGigantamax),

View File

@ -10154,202 +10154,202 @@ static const union AnimCmd sAnim_DecidueyeHisuian_1[] =
};
#endif
static const union AnimCmd sAnim_VENUSAUR_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_VenusaurGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_CHARIZARD_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_CharizardGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_BLASTOISE_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_BlastoiseGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_BUTTERFREE_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_ButterfreeGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_PIKACHU_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_PikachuGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_MEOWTH_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_MeowthGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_MACHAMP_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_MachampGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_GENGAR_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_GengarGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_KINGLER_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_KinglerGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_LAPRAS_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_LaprasGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_EEVEE_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_EeveeGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_SNORLAX_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_SnorlaxGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
#if P_GEN_5_POKEMON == TRUE
static const union AnimCmd sAnim_GARBODOR_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_GarbodorGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
#endif
#if P_GEN_7_POKEMON == TRUE
static const union AnimCmd sAnim_MELMETAL_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_MelmetalGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
#endif
#if P_GEN_8_POKEMON == TRUE
static const union AnimCmd sAnim_RILLABOOM_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_RillaboomGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_CINDERACE_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_CinderaceGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_INTELEON_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_InteleonGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_CORVIKNIGHT_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_CorviknightGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_ORBEETLE_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_OrbeetleGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_DREDNAW_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_DrednawGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_COALOSSAL_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_CoalossalGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_FLAPPLE_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_FlappleGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_APPLETUN_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_AppletunGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_SANDACONDA_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_SandacondaGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_TOXTRICITY_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_ToxtricityGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_CENTISKORCH_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_CentiskorchGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_HATTERENE_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_HattereneGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_GRIMMSNARL_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_GrimmsnarlGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_ALCREMIE_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_AlcremieGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_COPPERAJAH_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_CopperajahGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_DURALUDON_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_DuraludonGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_URSHIFU_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_UrshifuGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
static const union AnimCmd sAnim_URSHIFU_RAPID_STRIKE_STYLE_GIGANTAMAX_1[] =
static const union AnimCmd sAnim_UrshifuRapidStrikeStyleGigantamax_1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
@ -11849,44 +11849,44 @@ SINGLE_ANIMATION(LycanrocDusk);
SINGLE_ANIMATION(EnamorusTherian);
#endif
// Gigantamax Forms
SINGLE_ANIMATION(VENUSAUR_GIGANTAMAX);
SINGLE_ANIMATION(CHARIZARD_GIGANTAMAX);
SINGLE_ANIMATION(BLASTOISE_GIGANTAMAX);
SINGLE_ANIMATION(BUTTERFREE_GIGANTAMAX);
SINGLE_ANIMATION(PIKACHU_GIGANTAMAX);
SINGLE_ANIMATION(MEOWTH_GIGANTAMAX);
SINGLE_ANIMATION(MACHAMP_GIGANTAMAX);
SINGLE_ANIMATION(GENGAR_GIGANTAMAX);
SINGLE_ANIMATION(KINGLER_GIGANTAMAX);
SINGLE_ANIMATION(LAPRAS_GIGANTAMAX);
SINGLE_ANIMATION(EEVEE_GIGANTAMAX);
SINGLE_ANIMATION(SNORLAX_GIGANTAMAX);
SINGLE_ANIMATION(VenusaurGigantamax);
SINGLE_ANIMATION(CharizardGigantamax);
SINGLE_ANIMATION(BlastoiseGigantamax);
SINGLE_ANIMATION(ButterfreeGigantamax);
SINGLE_ANIMATION(PikachuGigantamax);
SINGLE_ANIMATION(MeowthGigantamax);
SINGLE_ANIMATION(MachampGigantamax);
SINGLE_ANIMATION(GengarGigantamax);
SINGLE_ANIMATION(KinglerGigantamax);
SINGLE_ANIMATION(LaprasGigantamax);
SINGLE_ANIMATION(EeveeGigantamax);
SINGLE_ANIMATION(SnorlaxGigantamax);
#if P_GEN_5_POKEMON == TRUE
SINGLE_ANIMATION(GARBODOR_GIGANTAMAX);
SINGLE_ANIMATION(GarbodorGigantamax);
#endif
#if P_GEN_7_POKEMON == TRUE
SINGLE_ANIMATION(MELMETAL_GIGANTAMAX);
SINGLE_ANIMATION(MelmetalGigantamax);
#endif
#if P_GEN_8_POKEMON == TRUE
SINGLE_ANIMATION(RILLABOOM_GIGANTAMAX);
SINGLE_ANIMATION(CINDERACE_GIGANTAMAX);
SINGLE_ANIMATION(INTELEON_GIGANTAMAX);
SINGLE_ANIMATION(CORVIKNIGHT_GIGANTAMAX);
SINGLE_ANIMATION(ORBEETLE_GIGANTAMAX);
SINGLE_ANIMATION(DREDNAW_GIGANTAMAX);
SINGLE_ANIMATION(COALOSSAL_GIGANTAMAX);
SINGLE_ANIMATION(FLAPPLE_GIGANTAMAX);
SINGLE_ANIMATION(APPLETUN_GIGANTAMAX);
SINGLE_ANIMATION(SANDACONDA_GIGANTAMAX);
SINGLE_ANIMATION(TOXTRICITY_GIGANTAMAX);
SINGLE_ANIMATION(CENTISKORCH_GIGANTAMAX);
SINGLE_ANIMATION(HATTERENE_GIGANTAMAX);
SINGLE_ANIMATION(GRIMMSNARL_GIGANTAMAX);
SINGLE_ANIMATION(ALCREMIE_GIGANTAMAX);
SINGLE_ANIMATION(COPPERAJAH_GIGANTAMAX);
SINGLE_ANIMATION(DURALUDON_GIGANTAMAX);
SINGLE_ANIMATION(URSHIFU_GIGANTAMAX);
SINGLE_ANIMATION(URSHIFU_RAPID_STRIKE_STYLE_GIGANTAMAX);
SINGLE_ANIMATION(RillaboomGigantamax);
SINGLE_ANIMATION(CinderaceGigantamax);
SINGLE_ANIMATION(InteleonGigantamax);
SINGLE_ANIMATION(CorviknightGigantamax);
SINGLE_ANIMATION(OrbeetleGigantamax);
SINGLE_ANIMATION(DrednawGigantamax);
SINGLE_ANIMATION(CoalossalGigantamax);
SINGLE_ANIMATION(FlappleGigantamax);
SINGLE_ANIMATION(AppletunGigantamax);
SINGLE_ANIMATION(SandacondaGigantamax);
SINGLE_ANIMATION(ToxtricityGigantamax);
SINGLE_ANIMATION(CentiskorchGigantamax);
SINGLE_ANIMATION(HattereneGigantamax);
SINGLE_ANIMATION(GrimmsnarlGigantamax);
SINGLE_ANIMATION(AlcremieGigantamax);
SINGLE_ANIMATION(CopperajahGigantamax);
SINGLE_ANIMATION(DuraludonGigantamax);
SINGLE_ANIMATION(UrshifuGigantamax);
SINGLE_ANIMATION(UrshifuRapidStrikeStyleGigantamax);
#endif
const union AnimCmd *const *const gMonFrontAnimsPtrTable[NUM_SPECIES + 1] =
@ -13167,44 +13167,45 @@ const union AnimCmd *const *const gMonFrontAnimsPtrTable[NUM_SPECIES + 1] =
[SPECIES_ENAMORUS_THERIAN] = sAnims_EnamorusTherian,
[SPECIES_BASCULEGION_FEMALE] = sAnims_Basculegion,
#endif
[SPECIES_VENUSAUR_GIGANTAMAX] = sAnims_VENUSAUR_GIGANTAMAX,
[SPECIES_CHARIZARD_GIGANTAMAX] = sAnims_CHARIZARD_GIGANTAMAX,
[SPECIES_BLASTOISE_GIGANTAMAX] = sAnims_BLASTOISE_GIGANTAMAX,
[SPECIES_BUTTERFREE_GIGANTAMAX] = sAnims_BUTTERFREE_GIGANTAMAX,
[SPECIES_PIKACHU_GIGANTAMAX] = sAnims_PIKACHU_GIGANTAMAX,
[SPECIES_MEOWTH_GIGANTAMAX] = sAnims_MEOWTH_GIGANTAMAX,
[SPECIES_MACHAMP_GIGANTAMAX] = sAnims_MACHAMP_GIGANTAMAX,
[SPECIES_GENGAR_GIGANTAMAX] = sAnims_GENGAR_GIGANTAMAX,
[SPECIES_KINGLER_GIGANTAMAX] = sAnims_KINGLER_GIGANTAMAX,
[SPECIES_LAPRAS_GIGANTAMAX] = sAnims_LAPRAS_GIGANTAMAX,
[SPECIES_EEVEE_GIGANTAMAX] = sAnims_EEVEE_GIGANTAMAX,
[SPECIES_SNORLAX_GIGANTAMAX] = sAnims_SNORLAX_GIGANTAMAX,
[SPECIES_VENUSAUR_GIGANTAMAX] = sAnims_VenusaurGigantamax,
[SPECIES_CHARIZARD_GIGANTAMAX] = sAnims_CharizardGigantamax,
[SPECIES_BLASTOISE_GIGANTAMAX] = sAnims_BlastoiseGigantamax,
[SPECIES_BUTTERFREE_GIGANTAMAX] = sAnims_ButterfreeGigantamax,
[SPECIES_PIKACHU_GIGANTAMAX] = sAnims_PikachuGigantamax,
[SPECIES_MEOWTH_GIGANTAMAX] = sAnims_MeowthGigantamax,
[SPECIES_MACHAMP_GIGANTAMAX] = sAnims_MachampGigantamax,
[SPECIES_GENGAR_GIGANTAMAX] = sAnims_GengarGigantamax,
[SPECIES_KINGLER_GIGANTAMAX] = sAnims_KinglerGigantamax,
[SPECIES_LAPRAS_GIGANTAMAX] = sAnims_LaprasGigantamax,
[SPECIES_EEVEE_GIGANTAMAX] = sAnims_EeveeGigantamax,
[SPECIES_SNORLAX_GIGANTAMAX] = sAnims_SnorlaxGigantamax,
#if P_GEN_5_POKEMON == TRUE
[SPECIES_GARBODOR_GIGANTAMAX] = sAnims_GARBODOR_GIGANTAMAX,
[SPECIES_GARBODOR_GIGANTAMAX] = sAnims_GarbodorGigantamax,
#endif
#if P_GEN_7_POKEMON == TRUE
[SPECIES_MELMETAL_GIGANTAMAX] = sAnims_MELMETAL_GIGANTAMAX,
[SPECIES_MELMETAL_GIGANTAMAX] = sAnims_MelmetalGigantamax,
#endif
#if P_GEN_8_POKEMON == TRUE
[SPECIES_RILLABOOM_GIGANTAMAX] = sAnims_RILLABOOM_GIGANTAMAX,
[SPECIES_CINDERACE_GIGANTAMAX] = sAnims_CINDERACE_GIGANTAMAX,
[SPECIES_INTELEON_GIGANTAMAX] = sAnims_INTELEON_GIGANTAMAX,
[SPECIES_CORVIKNIGHT_GIGANTAMAX] = sAnims_CORVIKNIGHT_GIGANTAMAX,
[SPECIES_ORBEETLE_GIGANTAMAX] = sAnims_ORBEETLE_GIGANTAMAX,
[SPECIES_DREDNAW_GIGANTAMAX] = sAnims_DREDNAW_GIGANTAMAX,
[SPECIES_COALOSSAL_GIGANTAMAX] = sAnims_COALOSSAL_GIGANTAMAX,
[SPECIES_FLAPPLE_GIGANTAMAX] = sAnims_FLAPPLE_GIGANTAMAX,
[SPECIES_APPLETUN_GIGANTAMAX] = sAnims_APPLETUN_GIGANTAMAX,
[SPECIES_SANDACONDA_GIGANTAMAX] = sAnims_SANDACONDA_GIGANTAMAX,
[SPECIES_TOXTRICITY_GIGANTAMAX] = sAnims_TOXTRICITY_GIGANTAMAX,
[SPECIES_CENTISKORCH_GIGANTAMAX] = sAnims_CENTISKORCH_GIGANTAMAX,
[SPECIES_HATTERENE_GIGANTAMAX] = sAnims_HATTERENE_GIGANTAMAX,
[SPECIES_GRIMMSNARL_GIGANTAMAX] = sAnims_GRIMMSNARL_GIGANTAMAX,
[SPECIES_ALCREMIE_GIGANTAMAX] = sAnims_ALCREMIE_GIGANTAMAX,
[SPECIES_COPPERAJAH_GIGANTAMAX] = sAnims_COPPERAJAH_GIGANTAMAX,
[SPECIES_DURALUDON_GIGANTAMAX] = sAnims_DURALUDON_GIGANTAMAX,
[SPECIES_URSHIFU_GIGANTAMAX] = sAnims_URSHIFU_GIGANTAMAX,
[SPECIES_URSHIFU_RAPID_STRIKE_STYLE_GIGANTAMAX] = sAnims_URSHIFU_RAPID_STRIKE_STYLE_GIGANTAMAX,
[SPECIES_RILLABOOM_GIGANTAMAX] = sAnims_RillaboomGigantamax,
[SPECIES_CINDERACE_GIGANTAMAX] = sAnims_CinderaceGigantamax,
[SPECIES_INTELEON_GIGANTAMAX] = sAnims_InteleonGigantamax,
[SPECIES_CORVIKNIGHT_GIGANTAMAX] = sAnims_CorviknightGigantamax,
[SPECIES_ORBEETLE_GIGANTAMAX] = sAnims_OrbeetleGigantamax,
[SPECIES_DREDNAW_GIGANTAMAX] = sAnims_DrednawGigantamax,
[SPECIES_COALOSSAL_GIGANTAMAX] = sAnims_CoalossalGigantamax,
[SPECIES_FLAPPLE_GIGANTAMAX] = sAnims_FlappleGigantamax,
[SPECIES_APPLETUN_GIGANTAMAX] = sAnims_AppletunGigantamax,
[SPECIES_SANDACONDA_GIGANTAMAX] = sAnims_SandacondaGigantamax,
[SPECIES_TOXTRICITY_AMPED_GIGANTAMAX] = sAnims_ToxtricityGigantamax,
[SPECIES_TOXTRICITY_LOW_KEY_GIGANTAMAX] = sAnims_ToxtricityGigantamax,
[SPECIES_CENTISKORCH_GIGANTAMAX] = sAnims_CentiskorchGigantamax,
[SPECIES_HATTERENE_GIGANTAMAX] = sAnims_HattereneGigantamax,
[SPECIES_GRIMMSNARL_GIGANTAMAX] = sAnims_GrimmsnarlGigantamax,
[SPECIES_ALCREMIE_GIGANTAMAX] = sAnims_AlcremieGigantamax,
[SPECIES_COPPERAJAH_GIGANTAMAX] = sAnims_CopperajahGigantamax,
[SPECIES_DURALUDON_GIGANTAMAX] = sAnims_DuraludonGigantamax,
[SPECIES_URSHIFU_GIGANTAMAX] = sAnims_UrshifuGigantamax,
[SPECIES_URSHIFU_RAPID_STRIKE_STYLE_GIGANTAMAX] = sAnims_UrshifuRapidStrikeStyleGigantamax,
#endif
[SPECIES_EGG] = sAnims_Egg,
};

View File

@ -1365,7 +1365,8 @@ const struct MonCoords gMonFrontPicCoords[NUM_SPECIES + 1] =
[SPECIES_FLAPPLE_GIGANTAMAX] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 },
[SPECIES_APPLETUN_GIGANTAMAX] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 2 },
[SPECIES_SANDACONDA_GIGANTAMAX] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 },
[SPECIES_TOXTRICITY_GIGANTAMAX] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 },
[SPECIES_TOXTRICITY_AMPED_GIGANTAMAX] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 },
[SPECIES_TOXTRICITY_LOW_KEY_GIGANTAMAX] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 },
[SPECIES_CENTISKORCH_GIGANTAMAX] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 5 },
[SPECIES_HATTERENE_GIGANTAMAX] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 },
[SPECIES_GRIMMSNARL_GIGANTAMAX] = { .size = MON_COORDS_SIZE(64, 64), .y_offset = 0 },

View File

@ -1359,7 +1359,8 @@ const struct CompressedSpriteSheet gMonFrontPicTable[NUM_SPECIES + 1] =
SPECIES_SPRITE(FLAPPLE_GIGANTAMAX, gMonFrontPic_FlappleGigantamax),
SPECIES_SPRITE(APPLETUN_GIGANTAMAX, gMonFrontPic_AppletunGigantamax),
SPECIES_SPRITE(SANDACONDA_GIGANTAMAX, gMonFrontPic_SandacondaGigantamax),
SPECIES_SPRITE(TOXTRICITY_GIGANTAMAX, gMonFrontPic_ToxtricityGigantamax),
SPECIES_SPRITE(TOXTRICITY_AMPED_GIGANTAMAX, gMonFrontPic_ToxtricityGigantamax),
SPECIES_SPRITE(TOXTRICITY_LOW_KEY_GIGANTAMAX, gMonFrontPic_ToxtricityGigantamax),
SPECIES_SPRITE(CENTISKORCH_GIGANTAMAX, gMonFrontPic_CentiskorchGigantamax),
SPECIES_SPRITE(HATTERENE_GIGANTAMAX, gMonFrontPic_HattereneGigantamax),
SPECIES_SPRITE(GRIMMSNARL_GIGANTAMAX, gMonFrontPic_GrimmsnarlGigantamax),

View File

@ -1359,7 +1359,8 @@ const struct CompressedSpritePalette gMonPaletteTable[NUM_SPECIES + 1] =
SPECIES_PAL(FLAPPLE_GIGANTAMAX, gMonPalette_FlappleGigantamax),
SPECIES_PAL(APPLETUN_GIGANTAMAX, gMonPalette_AppletunGigantamax),
SPECIES_PAL(SANDACONDA_GIGANTAMAX, gMonPalette_SandacondaGigantamax),
SPECIES_PAL(TOXTRICITY_GIGANTAMAX, gMonPalette_ToxtricityGigantamax),
SPECIES_PAL(TOXTRICITY_AMPED_GIGANTAMAX, gMonPalette_ToxtricityGigantamax),
SPECIES_PAL(TOXTRICITY_LOW_KEY_GIGANTAMAX, gMonPalette_ToxtricityGigantamax),
SPECIES_PAL(CENTISKORCH_GIGANTAMAX, gMonPalette_CentiskorchGigantamax),
SPECIES_PAL(HATTERENE_GIGANTAMAX, gMonPalette_HattereneGigantamax),
SPECIES_PAL(GRIMMSNARL_GIGANTAMAX, gMonPalette_GrimmsnarlGigantamax),

View File

@ -1358,7 +1358,8 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[NUM_SPECIES + 1] =
SPECIES_SHINY_PAL(FLAPPLE_GIGANTAMAX, gMonShinyPalette_FlappleGigantamax),
SPECIES_SHINY_PAL(APPLETUN_GIGANTAMAX, gMonShinyPalette_AppletunGigantamax),
SPECIES_SHINY_PAL(SANDACONDA_GIGANTAMAX, gMonShinyPalette_SandacondaGigantamax),
SPECIES_SHINY_PAL(TOXTRICITY_GIGANTAMAX, gMonShinyPalette_ToxtricityGigantamax),
SPECIES_SHINY_PAL(TOXTRICITY_AMPED_GIGANTAMAX, gMonShinyPalette_ToxtricityGigantamax),
SPECIES_SHINY_PAL(TOXTRICITY_LOW_KEY_GIGANTAMAX, gMonShinyPalette_ToxtricityGigantamax),
SPECIES_SHINY_PAL(CENTISKORCH_GIGANTAMAX, gMonShinyPalette_CentiskorchGigantamax),
SPECIES_SHINY_PAL(HATTERENE_GIGANTAMAX, gMonShinyPalette_HattereneGigantamax),
SPECIES_SHINY_PAL(GRIMMSNARL_GIGANTAMAX, gMonShinyPalette_GrimmsnarlGigantamax),

View File

@ -1363,7 +1363,8 @@ const u8 gSpeciesNames[NUM_SPECIES][POKEMON_NAME_LENGTH + 1] = {
[SPECIES_FLAPPLE_GIGANTAMAX] = _("Flapple"),
[SPECIES_APPLETUN_GIGANTAMAX] = _("Appletun"),
[SPECIES_SANDACONDA_GIGANTAMAX] = _("Sandaconda"),
[SPECIES_TOXTRICITY_GIGANTAMAX] = _("Toxtricity"),
[SPECIES_TOXTRICITY_AMPED_GIGANTAMAX] = _("Toxtricity"),
[SPECIES_TOXTRICITY_LOW_KEY_GIGANTAMAX] = _("Toxtricity"),
[SPECIES_CENTISKORCH_GIGANTAMAX] = _("Centiskorc"),
[SPECIES_HATTERENE_GIGANTAMAX] = _("Hatterene"),
[SPECIES_GRIMMSNARL_GIGANTAMAX] = _("Grimmsnarl"),

View File

@ -1712,7 +1712,8 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] =
[SPECIES_FLAPPLE_GIGANTAMAX - 1] = NATIONAL_DEX_FLAPPLE,
[SPECIES_APPLETUN_GIGANTAMAX - 1] = NATIONAL_DEX_APPLETUN,
[SPECIES_SANDACONDA_GIGANTAMAX - 1] = NATIONAL_DEX_SANDACONDA,
[SPECIES_TOXTRICITY_GIGANTAMAX - 1] = NATIONAL_DEX_TOXTRICITY,
[SPECIES_TOXTRICITY_AMPED_GIGANTAMAX - 1] = NATIONAL_DEX_TOXTRICITY,
[SPECIES_TOXTRICITY_LOW_KEY_GIGANTAMAX - 1] = NATIONAL_DEX_TOXTRICITY,
[SPECIES_CENTISKORCH_GIGANTAMAX - 1] = NATIONAL_DEX_CENTISKORCH,
[SPECIES_HATTERENE_GIGANTAMAX - 1] = NATIONAL_DEX_HATTERENE,
[SPECIES_GRIMMSNARL_GIGANTAMAX - 1] = NATIONAL_DEX_GRIMMSNARL,

View File

@ -1319,7 +1319,8 @@ const u8 *const gMonIconTable[NUM_SPECIES + 1] =
[SPECIES_FLAPPLE_GIGANTAMAX] = gMonIcon_FlappleGigantamax,
[SPECIES_APPLETUN_GIGANTAMAX] = gMonIcon_AppletunGigantamax,
[SPECIES_SANDACONDA_GIGANTAMAX] = gMonIcon_SandacondaGigantamax,
[SPECIES_TOXTRICITY_GIGANTAMAX] = gMonIcon_ToxtricityGigantamax,
[SPECIES_TOXTRICITY_AMPED_GIGANTAMAX] = gMonIcon_ToxtricityGigantamax,
[SPECIES_TOXTRICITY_LOW_KEY_GIGANTAMAX] = gMonIcon_ToxtricityGigantamax,
[SPECIES_CENTISKORCH_GIGANTAMAX] = gMonIcon_CentiskorchGigantamax,
[SPECIES_HATTERENE_GIGANTAMAX] = gMonIcon_HattereneGigantamax,
[SPECIES_GRIMMSNARL_GIGANTAMAX] = gMonIcon_GrimmsnarlGigantamax,
@ -2586,7 +2587,8 @@ const u8 gMonIconPaletteIndices[] =
[SPECIES_FLAPPLE_GIGANTAMAX] = 1,
[SPECIES_APPLETUN_GIGANTAMAX] = 1,
[SPECIES_SANDACONDA_GIGANTAMAX] = 1,
[SPECIES_TOXTRICITY_GIGANTAMAX] = 0,
[SPECIES_TOXTRICITY_AMPED_GIGANTAMAX] = 0,
[SPECIES_TOXTRICITY_LOW_KEY_GIGANTAMAX] = 0,
[SPECIES_CENTISKORCH_GIGANTAMAX] = 0,
[SPECIES_HATTERENE_GIGANTAMAX] = 0,
[SPECIES_GRIMMSNARL_GIGANTAMAX] = 0,