mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-09-09 09:51:34 -07:00
split curse effect into battle/effects/curse.asm
This commit is contained in:
parent
d3fa77253a
commit
110477cd9e
@ -9542,103 +9542,7 @@ BattleCommand53: ; 37563
|
||||
; 37588
|
||||
|
||||
|
||||
BattleCommand54: ; 37588
|
||||
; curse
|
||||
|
||||
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
|
||||
INCLUDE "battle/effects/curse.asm"
|
||||
|
||||
|
||||
BattleCommand55: ; 37618
|
||||
|
98
battle/effects/curse.asm
Normal file
98
battle/effects/curse.asm
Normal file
@ -0,0 +1,98 @@
|
||||
BattleCommand54: ; 37588
|
||||
; curse
|
||||
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user