diff --git a/src/battle_anim_sound_tasks.c b/src/battle_anim_sound_tasks.c index 9353fe8f8..d29de420d 100644 --- a/src/battle_anim_sound_tasks.c +++ b/src/battle_anim_sound_tasks.c @@ -149,10 +149,8 @@ void SoundTask_PlayCryHighPitch(u8 taskId) DestroyAnimVisualTask(taskId); return; } - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - else - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + species = (GetIllusionMonSpecies(battlerId) != SPECIES_NONE) ? GetIllusionMonSpecies(battlerId) : gAnimBattlerSpecies[battlerId]; + if (species != SPECIES_NONE) PlayCry_ByMode(species, pan, CRY_MODE_HIGH_PITCH); DestroyAnimVisualTask(taskId); @@ -180,10 +178,9 @@ void SoundTask_PlayDoubleCry(u8 taskId) DestroyAnimVisualTask(taskId); return; } - if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) - species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); - else - species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES); + + species = (GetIllusionMonSpecies(battlerId) != SPECIES_NONE) ? GetIllusionMonSpecies(battlerId) : gAnimBattlerSpecies[battlerId]; + gTasks[taskId].data[0] = gBattleAnimArgs[1]; gTasks[taskId].data[1] = species; gTasks[taskId].data[2] = pan; @@ -238,7 +235,8 @@ void SoundTask_WaitForCry(u8 taskId) void SoundTask_PlayNormalCry(u8 taskId) { - PlayCry_ByMode(gBattleMons[gBattleAnimAttacker].species, BattleAnimAdjustPanning(SOUND_PAN_ATTACKER), CRY_MODE_NORMAL); + u16 species = (GetIllusionMonSpecies(gBattleAnimAttacker) != SPECIES_NONE) ? GetIllusionMonSpecies(gBattleAnimAttacker) : gAnimBattlerSpecies[gBattleAnimAttacker]; + PlayCry_ByMode(species, BattleAnimAdjustPanning(SOUND_PAN_ATTACKER), CRY_MODE_NORMAL); gTasks[taskId].func = SoundTask_WaitForCry; } @@ -250,7 +248,7 @@ void SoundTask_PlayCryWithEcho(u8 taskId) { u16 species; s8 pan = BattleAnimAdjustPanning(SOUND_PAN_ATTACKER); - species = gAnimBattlerSpecies[gBattleAnimAttacker]; + species = (GetIllusionMonSpecies(gBattleAnimAttacker) != SPECIES_NONE) ? GetIllusionMonSpecies(gBattleAnimAttacker) : gAnimBattlerSpecies[gBattleAnimAttacker]; gTasks[taskId].tSpecies = species; gTasks[taskId].tPan = pan; if (species != SPECIES_NONE)