diff options
author | Rangi <remy.oukaour+rangi42@gmail.com> | 2018-01-26 11:36:00 -0500 |
---|---|---|
committer | Rangi <remy.oukaour+rangi42@gmail.com> | 2018-01-26 11:36:00 -0500 |
commit | 0cf4eb68955952659b0e94fbeae0a75fe36255ae (patch) | |
tree | f38113626f149a5f71b01212a6440c0f8926b662 /engine/battle/move_effects/nightmare.asm | |
parent | a0cc4a33929f6aeb08a733c4a985c3bbb24ef55f (diff) |
Move-unique effect commands consistently go in engine/battle/move_effects/
Diffstat (limited to 'engine/battle/move_effects/nightmare.asm')
-rw-r--r-- | engine/battle/move_effects/nightmare.asm | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/engine/battle/move_effects/nightmare.asm b/engine/battle/move_effects/nightmare.asm new file mode 100644 index 000000000..788e3de41 --- /dev/null +++ b/engine/battle/move_effects/nightmare.asm @@ -0,0 +1,38 @@ +BattleCommand_Nightmare: ; 37536 +; nightmare + +; Can't hit an absent opponent. + + call CheckHiddenOpponent + jr nz, .failed + +; Can't hit a substitute. + + call CheckSubstituteOpp + jr nz, .failed + +; Only works on a sleeping opponent. + + ld a, BATTLE_VARS_STATUS_OPP + call GetBattleVarAddr + and SLP + jr z, .failed + +; Bail if the opponent is already having a nightmare. + + ld a, BATTLE_VARS_SUBSTATUS1_OPP + call GetBattleVarAddr + bit SUBSTATUS_NIGHTMARE, [hl] + jr nz, .failed + +; Otherwise give the opponent a nightmare. + + set SUBSTATUS_NIGHTMARE, [hl] + call AnimateCurrentMove + ld hl, StartedNightmareText + jp StdBattleTextBox + +.failed + call AnimateFailedMove + jp PrintButItFailed +; 37563 |