diff options
Diffstat (limited to 'battle/effect_commands.asm')
-rw-r--r-- | battle/effect_commands.asm | 207 |
1 files changed, 4 insertions, 203 deletions
diff --git a/battle/effect_commands.asm b/battle/effect_commands.asm index 5ac336ed9..87196653a 100644 --- a/battle/effect_commands.asm +++ b/battle/effect_commands.asm @@ -9542,212 +9542,13 @@ BattleCommand53: ; 37563 ; 37588 -BattleCommand54: ; 37588 -; curse +INCLUDE "battle/effects/curse.asm" - ld de, BattleMonType1 - ld bc, PlayerStatLevels - ld a, [hBattleTurn] - and a - jr z, .go - ld de, EnemyMonType1 - ld bc, EnemyStatLevels - -.go - -; Curse is different for Ghost-types. - - ld a, [de] - cp GHOST - jr z, .ghost - inc de - ld a, [de] - cp GHOST - jr z, .ghost - - -; If no stats can be increased, don't. - -; Attack - ld a, [bc] - cp 13 ; max - jr c, .raise - -; Defense - inc bc - ld a, [bc] - cp 13 ; max - jr nc, .cantraise - -.raise - -; Raise Attack and Defense, and lower Speed. - - ld a, $1 - ld [$c689], a - call Function0x37e01 - ld a, $2 - call Function0x36532 - call SwitchTurn - call BattleCommand8d - call ResetMiss - call SwitchTurn - call BattleCommand70 - call BattleCommand8c - call ResetMiss - call BattleCommand71 - jp BattleCommand8c - - -.ghost - -; Cut HP in half and put a curse on the opponent. - - call CheckHiddenOpponent - jr nz, .failed - - call CheckSubstituteOpp - jr nz, .failed - - ld a, BATTLE_VARS_SUBSTATUS1_OPP - call GetBattleVarPair - bit 1, [hl] - jr nz, .failed - - set 1, [hl] - call Function0x37e01 - ld hl, GetHalfMaxHP - call CallBankF - ld hl, Function3cc3f - call CallBankF - call UpdateUserInParty - ld hl, PutACurseText - jp StdBattleTextBox - -.failed - call Function0x37e77 - jp PrintButItFailed - - -.cantraise - -; Can't raise either stat. - - ld b, $8 ; ABILITY - call GetStatName - call Function0x37e77 - ld hl, WontRiseAnymoreText - jp StdBattleTextBox -; 37618 - - -BattleCommand55: ; 37618 -; protect - - call Function0x3762c - ret c - ld a, BATTLE_VARS_SUBSTATUS1 - call GetBattleVarPair - set 2, [hl] - call Function0x37e01 - ld hl, ProtectedItselfText - jp StdBattleTextBox -; 3762c - - -Function0x3762c: ; 3762c - ld de, $c679 - ld a, [hBattleTurn] - and a - jr z, .asm_37637 - ld de, $c681 - -.asm_37637 - call Function0x36abf - jr nz, .asm_37665 - - ld a, $3 - call CleanGetBattleVarPair - bit 4, a - jr nz, .asm_37665 - - ld b, $ff - ld a, [de] - ld c, a -.asm_37649 - ld a, c - and a - jr z, .asm_37656 - - dec c - srl b - ld a, b - and a - jr nz, .asm_37649 +INCLUDE "battle/effects/protect.asm" - jr .asm_37665 +INCLUDE "battle/effects/endure.asm" -.asm_37656 - call BattleRandom - and a - jr z, .asm_37656 - - dec a - cp b - jr nc, .asm_37665 - - ld a, [de] - inc a - ld [de], a - and a - ret - -.asm_37665 - xor a - ld [de], a - call Function0x37e77 - call PrintButItFailed - scf - ret -; 3766f - - -BattleCommand5a: ; 3766f -; endure - - call Function0x3762c - ret c - - ld a, BATTLE_VARS_SUBSTATUS1 - call GetBattleVarPair - set SUBSTATUS_ENDURE, [hl] - call Function0x37e01 - ld hl, BracedItselfText - jp StdBattleTextBox -; 37683 - - -BattleCommand56: ; 37683 -; spikes - - ld hl, EnemyScreens - ld a, [hBattleTurn] - and a - jr z, .asm_3768e - ld hl, PlayerScreens - -.asm_3768e - bit 0, [hl] - jr nz, .failed - - set 0, [hl] - call Function0x37e01 - ld hl, SpikesText - jp StdBattleTextBox - -.failed - jp Function0x37354 -; 376a0 +INCLUDE "battle/effects/spikes.asm" BattleCommand57: ; 376a0 |