ref: d695275d600883cdbc0a873647a65c8cac46cee1
dir: /engine/battle/move_effects/spite.asm/
BattleCommand_Spite: ; spite ld a, [wAttackMissed] and a jp nz, .failed ld bc, PARTYMON_STRUCT_LENGTH ; ???? ld hl, wEnemyMonMoves ldh a, [hBattleTurn] and a jr z, .got_moves ld hl, wBattleMonMoves .got_moves ld a, BATTLE_VARS_LAST_COUNTER_MOVE_OPP call GetBattleVar and a jr z, .failed cp STRUGGLE jr z, .failed ld b, a ld c, -1 .loop inc c ld a, [hli] cp b jr nz, .loop ld [wNamedObjectIndexBuffer], a dec hl ld b, 0 push bc ld c, wBattleMonPP - wBattleMonMoves add hl, bc pop bc ld a, [hl] and PP_MASK jr z, .failed push bc call GetMoveName ; lose 2-5 PP call BattleRandom and %11 inc a inc a ld b, a ld a, [hl] and PP_MASK cp b jr nc, .deplete_pp ld b, a .deplete_pp ld a, [hl] sub b ld [hl], a push af ld a, MON_PP call OpponentPartyAttr ld d, b pop af pop bc add hl, bc ld e, a ld a, BATTLE_VARS_SUBSTATUS5_OPP call GetBattleVar bit SUBSTATUS_TRANSFORMED, a jr nz, .transformed ldh a, [hBattleTurn] and a jr nz, .not_wildmon ld a, [wBattleMode] dec a jr nz, .not_wildmon ld hl, wWildMonPP add hl, bc .not_wildmon ld [hl], e .transformed push de call AnimateCurrentMove pop de ld a, d ld [wDeciramBuffer], a ld hl, SpiteEffectText jp StdBattleTextbox .failed jp PrintDidntAffect2