BattleCommand_BellyDrum: ; This command is buggy because it raises the user's attack ; before checking that it has enough HP to use the move. ; Swap the order of these two blocks to fix. call BattleCommand_AttackUp2 ld a, [wAttackMissed] and a jr nz, .failed callfar GetHalfMaxHP callfar CheckUserHasEnoughHP jr nc, .failed push bc call AnimateCurrentMove pop bc callfar SubtractHPFromUser call UpdateUserInParty ld a, MAX_STAT_LEVEL - BASE_STAT_LEVEL - 1 .max_attack_loop push af call BattleCommand_AttackUp2 pop af dec a jr nz, .max_attack_loop ld hl, BellyDrumText jp StdBattleTextbox .failed call AnimateFailedMove jp PrintButItFailed