// used in 3 moves: // Move_HOWL, Move_ROAR, Move_GROWL void sub_812B18C(u8 taskId) { u16 species = 0; s8 pan = BattleAnimAdjustPanning(SOUND_PAN_ATTACKER_NEG); if (IsContest()) { if (!gBattleAnimArgs[0]) species = shared19348.unk0; else DestroyAnimVisualTask(taskId); } else { u8 bank; if (gBattleAnimArgs[0] == 0) bank = gBattleAnimAttacker; else if (gBattleAnimArgs[0] == 1) bank = gBattleAnimTarget; else if (gBattleAnimArgs[0] == 2) bank = gBattleAnimAttacker ^ 0x2; else bank = gBattleAnimTarget ^ 0x2; if (gBattleAnimArgs[0] == 1 || gBattleAnimArgs[0] == 3) { if (!IsAnimBankSpriteVisible(bank)) { DestroyAnimVisualTask(taskId); return; } } if (GetBattlerSide(bank)) species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[bank]], 0xB); else species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[bank]], 0xB); } if (species != 0) { s16 mode = gBattleAnimArgs[1]; if (mode == 0xFF) PlayCry1(species, pan); else PlayCry3(species, pan, mode); } DestroyAnimVisualTask(taskId); }
void WallyHandleFaintingCry(void) { PlayCry1(GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES), 25); WallyBufferExecCompleted(); }