diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 09a48b97f1..0ae16a69cb 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -919,6 +919,8 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, u8 changeType) bool32 isShiny; const void *src; const u16 *paletteData; + struct Pokemon *monAtk = GetBattlerMon(battlerAtk); + struct Pokemon *monDef = GetBattlerMon(battlerDef); void *dst; if (IsContest()) @@ -944,11 +946,11 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, u8 changeType) else if (gBattleStruct->illusion[battlerDef].state == ILLUSION_ON) targetSpecies = GetIllusionMonSpecies(battlerDef); else - targetSpecies = gBattleMons[battlerDef].species; + targetSpecies = GetMonData(monDef, MON_DATA_SPECIES); } else { - targetSpecies = gBattleMons[battlerAtk].species; + targetSpecies = GetMonData(monAtk, MON_DATA_SPECIES); } gBattleSpritesDataPtr->battlerData[battlerAtk].transformSpecies = targetSpecies; @@ -959,8 +961,8 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, u8 changeType) } else { - personalityValue = gBattleMons[battlerAtk].personality; - isShiny = gBattleMons[battlerAtk].isShiny; + personalityValue = GetMonData(monAtk, MON_DATA_PERSONALITY); + isShiny = GetMonData(monAtk, MON_DATA_IS_SHINY); } HandleLoadSpecialPokePic(!IsOnPlayerSide(battlerAtk), gMonSpritesGfxPtr->spritesGfx[position],