You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-04-09 05:44:44 -07:00
Rename some battle commands
`hittarget` was misleading, as it doesn't actually "hit" the target, it only plays the animation. As such, I've renamed it to `moveanim`. `checkfaint` has nothing to do with checking if the user or target has fainted, instead, it applies wCurDamage onto the target's HP, hitting the substitute if applicable. I've renamed the command to `applydamage` and all of its subfunctions accordingly.
This commit is contained in:
@@ -14,10 +14,10 @@ BattleCommandPointers: ; 3fd28
|
|||||||
dw BattleCommand_DamageVariation ; 34cfd
|
dw BattleCommand_DamageVariation ; 34cfd
|
||||||
dw BattleCommand_CheckHit ; 34d32
|
dw BattleCommand_CheckHit ; 34d32
|
||||||
dw BattleCommand_LowerSub ; 34eee
|
dw BattleCommand_LowerSub ; 34eee
|
||||||
dw BattleCommand_HitTargetNoSub ; 34f60
|
dw BattleCommand_MoveAnimNoSub ; 34f60
|
||||||
dw BattleCommand_RaiseSub ; 35004
|
dw BattleCommand_RaiseSub ; 35004
|
||||||
dw BattleCommand_FailureText ; 35023
|
dw BattleCommand_FailureText ; 35023
|
||||||
dw BattleCommand_CheckFaint ; 3505e
|
dw BattleCommand_ApplyDamage ; 3505e
|
||||||
dw BattleCommand_CriticalText ; 35175
|
dw BattleCommand_CriticalText ; 35175
|
||||||
dw BattleCommand_SuperEffectiveText ; 351ad
|
dw BattleCommand_SuperEffectiveText ; 351ad
|
||||||
dw BattleCommand_CheckDestinyBond ; 351c0
|
dw BattleCommand_CheckDestinyBond ; 351c0
|
||||||
@@ -174,7 +174,7 @@ BattleCommandPointers: ; 3fd28
|
|||||||
dw BattleCommand_BeatUpFailText ; 355b5
|
dw BattleCommand_BeatUpFailText ; 355b5
|
||||||
dw BattleCommand_ClearMissDamage ; 355d5 - a9
|
dw BattleCommand_ClearMissDamage ; 355d5 - a9
|
||||||
dw BattleCommand_MoveDelay ; 37e80
|
dw BattleCommand_MoveDelay ; 37e80
|
||||||
dw BattleCommand_HitTarget ; 34f57
|
dw BattleCommand_MoveAnim ; 34f57
|
||||||
dw BattleCommand_TriStatusChance ; 3658f
|
dw BattleCommand_TriStatusChance ; 3658f
|
||||||
dw BattleCommand_SuperEffectiveLoopText ; 351a5
|
dw BattleCommand_SuperEffectiveLoopText ; 351a5
|
||||||
dw BattleCommand_StartLoop ; 35197
|
dw BattleCommand_StartLoop ; 35197
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -556,8 +556,8 @@ CheckEnemyTurn: ; 3421f
|
|||||||
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
|
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
|
||||||
call z, PlayFXAnimID
|
call z, PlayFXAnimID
|
||||||
|
|
||||||
ld c, $1
|
ld c, TRUE
|
||||||
call EnemyHurtItself
|
call DoEnemyDamage
|
||||||
call BattleCommand_RaiseSub
|
call BattleCommand_RaiseSub
|
||||||
call CantMove
|
call CantMove
|
||||||
jp EndTurn
|
jp EndTurn
|
||||||
@@ -676,8 +676,8 @@ HitConfusion: ; 343a5
|
|||||||
call CallBattleCore
|
call CallBattleCore
|
||||||
ld a, $1
|
ld a, $1
|
||||||
ld [hBGMapMode], a
|
ld [hBGMapMode], a
|
||||||
ld c, $1
|
ld c, TRUE
|
||||||
call PlayerHurtItself
|
call DoPlayerDamage
|
||||||
jp BattleCommand_RaiseSub
|
jp BattleCommand_RaiseSub
|
||||||
|
|
||||||
; 343db
|
; 343db
|
||||||
@@ -2081,16 +2081,16 @@ BattleCommand_LowerSub: ; 34eee
|
|||||||
; 34f57
|
; 34f57
|
||||||
|
|
||||||
|
|
||||||
BattleCommand_HitTarget: ; 34f57
|
BattleCommand_MoveAnim: ; 34f57
|
||||||
; hittarget
|
; moveanim
|
||||||
call BattleCommand_LowerSub
|
call BattleCommand_LowerSub
|
||||||
call BattleCommand_HitTargetNoSub
|
call BattleCommand_MoveAnimNoSub
|
||||||
jp BattleCommand_RaiseSub
|
jp BattleCommand_RaiseSub
|
||||||
|
|
||||||
; 34f60
|
; 34f60
|
||||||
|
|
||||||
|
|
||||||
BattleCommand_HitTargetNoSub: ; 34f60
|
BattleCommand_MoveAnimNoSub: ; 34f60
|
||||||
ld a, [wAttackMissed]
|
ld a, [wAttackMissed]
|
||||||
and a
|
and a
|
||||||
jp nz, BattleCommand_MoveDelay
|
jp nz, BattleCommand_MoveDelay
|
||||||
@@ -2274,65 +2274,68 @@ BattleCommand_FailureText: ; 35023
|
|||||||
; 3505e
|
; 3505e
|
||||||
|
|
||||||
|
|
||||||
BattleCommand_CheckFaint: ; 3505e
|
BattleCommand_ApplyDamage: ; 3505e
|
||||||
; checkfaint
|
; applydamage
|
||||||
|
|
||||||
ld a, BATTLE_VARS_SUBSTATUS1_OPP
|
ld a, BATTLE_VARS_SUBSTATUS1_OPP
|
||||||
call GetBattleVar
|
call GetBattleVar
|
||||||
bit SUBSTATUS_ENDURE, a
|
bit SUBSTATUS_ENDURE, a
|
||||||
jr z, .not_enduring
|
jr z, .focus_band
|
||||||
call BattleCommand_FalseSwipe
|
|
||||||
ld b, $0
|
|
||||||
jr nc, .okay
|
|
||||||
ld b, $1
|
|
||||||
jr .okay
|
|
||||||
|
|
||||||
.not_enduring
|
call BattleCommand_FalseSwipe
|
||||||
|
ld b, 0
|
||||||
|
jr nc, .damage
|
||||||
|
ld b, 1
|
||||||
|
jr .damage
|
||||||
|
|
||||||
|
.focus_band
|
||||||
call GetOpponentItem
|
call GetOpponentItem
|
||||||
ld a, b
|
ld a, b
|
||||||
cp HELD_FOCUS_BAND
|
cp HELD_FOCUS_BAND
|
||||||
ld b, $0
|
ld b, 0
|
||||||
jr nz, .okay
|
jr nz, .damage
|
||||||
|
|
||||||
call BattleRandom
|
call BattleRandom
|
||||||
cp c
|
cp c
|
||||||
jr nc, .okay
|
jr nc, .damage
|
||||||
call BattleCommand_FalseSwipe
|
call BattleCommand_FalseSwipe
|
||||||
ld b, $0
|
ld b, 0
|
||||||
jr nc, .okay
|
jr nc, .damage
|
||||||
ld b, $2
|
ld b, 2
|
||||||
.okay
|
|
||||||
|
.damage
|
||||||
push bc
|
push bc
|
||||||
call .check_sub
|
call .update_damage_taken
|
||||||
ld c, $0
|
ld c, FALSE
|
||||||
ld a, [hBattleTurn]
|
ld a, [hBattleTurn]
|
||||||
and a
|
and a
|
||||||
jr nz, .damage_player
|
jr nz, .damage_player
|
||||||
call EnemyHurtItself
|
call DoEnemyDamage
|
||||||
jr .done_damage
|
jr .done_damage
|
||||||
|
|
||||||
.damage_player
|
.damage_player
|
||||||
call PlayerHurtItself
|
call DoPlayerDamage
|
||||||
|
|
||||||
.done_damage
|
.done_damage
|
||||||
pop bc
|
pop bc
|
||||||
ld a, b
|
ld a, b
|
||||||
and a
|
and a
|
||||||
ret z
|
ret z
|
||||||
|
|
||||||
dec a
|
dec a
|
||||||
jr nz, .not_enduring2
|
jr nz, .focus_band_text
|
||||||
ld hl, EnduredText
|
ld hl, EnduredText
|
||||||
jp StdBattleTextBox
|
jp StdBattleTextBox
|
||||||
|
|
||||||
.not_enduring2
|
.focus_band_text
|
||||||
call GetOpponentItem
|
call GetOpponentItem
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
ld [wNamedObjectIndexBuffer], a
|
ld [wNamedObjectIndexBuffer], a
|
||||||
call GetItemName
|
call GetItemName
|
||||||
|
|
||||||
ld hl, HungOnText
|
ld hl, HungOnText
|
||||||
jp StdBattleTextBox
|
jp StdBattleTextBox
|
||||||
|
|
||||||
.check_sub
|
.update_damage_taken
|
||||||
ld a, BATTLE_VARS_SUBSTATUS4_OPP
|
ld a, BATTLE_VARS_SUBSTATUS4_OPP
|
||||||
call GetBattleVar
|
call GetBattleVar
|
||||||
bit SUBSTATUS_SUBSTITUTE, a
|
bit SUBSTATUS_SUBSTITUTE, a
|
||||||
@@ -2341,10 +2344,10 @@ BattleCommand_CheckFaint: ; 3505e
|
|||||||
ld de, wPlayerDamageTaken + 1
|
ld de, wPlayerDamageTaken + 1
|
||||||
ld a, [hBattleTurn]
|
ld a, [hBattleTurn]
|
||||||
and a
|
and a
|
||||||
jr nz, .damage_taken
|
jr nz, .got_damage_taken
|
||||||
ld de, wEnemyDamageTaken + 1
|
ld de, wEnemyDamageTaken + 1
|
||||||
|
|
||||||
.damage_taken
|
.got_damage_taken
|
||||||
ld a, [wCurDamage + 1]
|
ld a, [wCurDamage + 1]
|
||||||
ld b, a
|
ld b, a
|
||||||
ld a, [de]
|
ld a, [de]
|
||||||
@@ -2418,11 +2421,11 @@ GetFailureResultText: ; 350e4
|
|||||||
ld a, $1
|
ld a, $1
|
||||||
ld [wKickCounter], a
|
ld [wKickCounter], a
|
||||||
call LoadMoveAnim
|
call LoadMoveAnim
|
||||||
ld c, $1
|
ld c, TRUE
|
||||||
ld a, [hBattleTurn]
|
ld a, [hBattleTurn]
|
||||||
and a
|
and a
|
||||||
jp nz, EnemyHurtItself
|
jp nz, DoEnemyDamage
|
||||||
jp PlayerHurtItself
|
jp DoPlayerDamage
|
||||||
|
|
||||||
FailText_CheckOpponentProtect: ; 35157
|
FailText_CheckOpponentProtect: ; 35157
|
||||||
ld a, BATTLE_VARS_SUBSTATUS1_OPP
|
ld a, BATTLE_VARS_SUBSTATUS1_OPP
|
||||||
@@ -3620,15 +3623,13 @@ PlayFXAnimID: ; 35d08
|
|||||||
|
|
||||||
ld c, 3
|
ld c, 3
|
||||||
call DelayFrames
|
call DelayFrames
|
||||||
|
|
||||||
callfar PlayBattleAnim
|
callfar PlayBattleAnim
|
||||||
|
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; 35d1c
|
; 35d1c
|
||||||
|
|
||||||
|
|
||||||
EnemyHurtItself: ; 35d1c
|
DoEnemyDamage: ; 35d1c
|
||||||
ld hl, wCurDamage
|
ld hl, wCurDamage
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
ld b, a
|
ld b, a
|
||||||
@@ -3638,13 +3639,14 @@ EnemyHurtItself: ; 35d1c
|
|||||||
|
|
||||||
ld a, c
|
ld a, c
|
||||||
and a
|
and a
|
||||||
jr nz, .mimic_sub_check
|
jr nz, .ignore_substitute
|
||||||
|
|
||||||
ld a, [wEnemySubStatus4]
|
ld a, [wEnemySubStatus4]
|
||||||
bit SUBSTATUS_SUBSTITUTE, a
|
bit SUBSTATUS_SUBSTITUTE, a
|
||||||
jp nz, SelfInflictDamageToSubstitute
|
jp nz, DoSubstituteDamage
|
||||||
|
|
||||||
.mimic_sub_check
|
.ignore_substitute
|
||||||
|
; Substract wCurDamage from wEnemyMonHP.
|
||||||
|
; store original HP in little endian wBuffer3/4
|
||||||
ld a, [hld]
|
ld a, [hld]
|
||||||
ld b, a
|
ld b, a
|
||||||
ld a, [wEnemyMonHP + 1]
|
ld a, [wEnemyMonHP + 1]
|
||||||
@@ -3657,19 +3659,18 @@ EnemyHurtItself: ; 35d1c
|
|||||||
ld [wBuffer4], a
|
ld [wBuffer4], a
|
||||||
sbc b
|
sbc b
|
||||||
ld [wEnemyMonHP], a
|
ld [wEnemyMonHP], a
|
||||||
jr nc, .mimic_faint
|
jr nc, .no_underflow
|
||||||
|
|
||||||
ld a, [wBuffer4]
|
ld a, [wBuffer4]
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
ld a, [wBuffer3]
|
ld a, [wBuffer3]
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
|
|
||||||
xor a
|
xor a
|
||||||
ld hl, wEnemyMonHP
|
ld hl, wEnemyMonHP
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
|
|
||||||
.mimic_faint
|
.no_underflow
|
||||||
ld hl, wEnemyMonMaxHP
|
ld hl, wEnemyMonMaxHP
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
ld [wBuffer2], a
|
ld [wBuffer2], a
|
||||||
@@ -3680,6 +3681,7 @@ EnemyHurtItself: ; 35d1c
|
|||||||
ld [wBuffer6], a
|
ld [wBuffer6], a
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
ld [wBuffer5], a
|
ld [wBuffer5], a
|
||||||
|
|
||||||
hlcoord 2, 2
|
hlcoord 2, 2
|
||||||
xor a
|
xor a
|
||||||
ld [wWhichHPBar], a
|
ld [wWhichHPBar], a
|
||||||
@@ -3690,7 +3692,7 @@ EnemyHurtItself: ; 35d1c
|
|||||||
; 35d7e
|
; 35d7e
|
||||||
|
|
||||||
|
|
||||||
PlayerHurtItself: ; 35d7e
|
DoPlayerDamage: ; 35d7e
|
||||||
ld hl, wCurDamage
|
ld hl, wCurDamage
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
ld b, a
|
ld b, a
|
||||||
@@ -3700,12 +3702,15 @@ PlayerHurtItself: ; 35d7e
|
|||||||
|
|
||||||
ld a, c
|
ld a, c
|
||||||
and a
|
and a
|
||||||
jr nz, .mimic_sub_check
|
jr nz, .ignore_substitute
|
||||||
|
|
||||||
ld a, [wPlayerSubStatus4]
|
ld a, [wPlayerSubStatus4]
|
||||||
bit SUBSTATUS_SUBSTITUTE, a
|
bit SUBSTATUS_SUBSTITUTE, a
|
||||||
jp nz, SelfInflictDamageToSubstitute
|
jp nz, DoSubstituteDamage
|
||||||
.mimic_sub_check
|
|
||||||
|
.ignore_substitute
|
||||||
|
; Substract wCurDamage from wBattleMonHP.
|
||||||
|
; store original HP in little endian wBuffer3/4
|
||||||
|
; store new HP in little endian wBuffer5/6
|
||||||
ld a, [hld]
|
ld a, [hld]
|
||||||
ld b, a
|
ld b, a
|
||||||
ld a, [wBattleMonHP + 1]
|
ld a, [wBattleMonHP + 1]
|
||||||
@@ -3719,14 +3724,13 @@ PlayerHurtItself: ; 35d7e
|
|||||||
sbc b
|
sbc b
|
||||||
ld [wBattleMonHP], a
|
ld [wBattleMonHP], a
|
||||||
ld [wBuffer6], a
|
ld [wBuffer6], a
|
||||||
jr nc, .mimic_faint
|
jr nc, .no_underflow
|
||||||
|
|
||||||
ld a, [wBuffer4]
|
ld a, [wBuffer4]
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
ld a, [wBuffer3]
|
ld a, [wBuffer3]
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
xor a
|
xor a
|
||||||
|
|
||||||
ld hl, wBattleMonHP
|
ld hl, wBattleMonHP
|
||||||
ld [hli], a
|
ld [hli], a
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
@@ -3734,14 +3738,15 @@ PlayerHurtItself: ; 35d7e
|
|||||||
ld [hli], a
|
ld [hli], a
|
||||||
ld [hl], a
|
ld [hl], a
|
||||||
|
|
||||||
.mimic_faint
|
.no_underflow
|
||||||
ld hl, wBattleMonMaxHP
|
ld hl, wBattleMonMaxHP
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
ld [wBuffer2], a
|
ld [wBuffer2], a
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
ld [wBuffer1], a
|
ld [wBuffer1], a
|
||||||
|
|
||||||
hlcoord 10, 9
|
hlcoord 10, 9
|
||||||
ld a, $1
|
ld a, 1
|
||||||
ld [wWhichHPBar], a
|
ld [wWhichHPBar], a
|
||||||
predef AnimateHPBar
|
predef AnimateHPBar
|
||||||
.did_no_damage
|
.did_no_damage
|
||||||
@@ -3750,8 +3755,7 @@ PlayerHurtItself: ; 35d7e
|
|||||||
; 35de0
|
; 35de0
|
||||||
|
|
||||||
|
|
||||||
SelfInflictDamageToSubstitute: ; 35de0
|
DoSubstituteDamage: ; 35de0
|
||||||
|
|
||||||
ld hl, SubTookDamageText
|
ld hl, SubTookDamageText
|
||||||
call StdBattleTextBox
|
call StdBattleTextBox
|
||||||
|
|
||||||
|
@@ -1,6 +1,8 @@
|
|||||||
BattleCommand_FalseSwipe: ; 35c94
|
BattleCommand_FalseSwipe: ; 35c94
|
||||||
; falseswipe
|
; falseswipe
|
||||||
|
|
||||||
|
; Makes sure wCurDamage < MonHP
|
||||||
|
|
||||||
ld hl, wEnemyMonHP
|
ld hl, wEnemyMonHP
|
||||||
ld a, [hBattleTurn]
|
ld a, [hBattleTurn]
|
||||||
and a
|
and a
|
||||||
@@ -15,12 +17,14 @@ BattleCommand_FalseSwipe: ; 35c94
|
|||||||
pop de
|
pop de
|
||||||
pop hl
|
pop hl
|
||||||
jr c, .done
|
jr c, .done
|
||||||
|
|
||||||
ld a, [hli]
|
ld a, [hli]
|
||||||
ld [de], a
|
ld [de], a
|
||||||
inc de
|
inc de
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
dec a
|
dec a
|
||||||
ld [de], a
|
ld [de], a
|
||||||
|
|
||||||
inc a
|
inc a
|
||||||
jr nz, .okay
|
jr nz, .okay
|
||||||
dec de
|
dec de
|
||||||
@@ -28,11 +32,13 @@ BattleCommand_FalseSwipe: ; 35c94
|
|||||||
dec a
|
dec a
|
||||||
ld [de], a
|
ld [de], a
|
||||||
.okay
|
.okay
|
||||||
|
|
||||||
ld a, [wCriticalHit]
|
ld a, [wCriticalHit]
|
||||||
cp 2
|
cp 2
|
||||||
jr nz, .carry
|
jr nz, .carry
|
||||||
xor a
|
xor a
|
||||||
ld [wCriticalHit], a
|
ld [wCriticalHit], a
|
||||||
|
|
||||||
.carry
|
.carry
|
||||||
scf
|
scf
|
||||||
ret
|
ret
|
||||||
|
@@ -15,10 +15,10 @@ ENDM
|
|||||||
command damagevariation ; 08
|
command damagevariation ; 08
|
||||||
command checkhit ; 09
|
command checkhit ; 09
|
||||||
command lowersub ; 0a
|
command lowersub ; 0a
|
||||||
command hittargetnosub ; 0b
|
command moveanimnosub ; 0b
|
||||||
command raisesub ; 0c
|
command raisesub ; 0c
|
||||||
command failuretext ; 0d
|
command failuretext ; 0d
|
||||||
command checkfaint ; 0e
|
command applydamage ; 0e
|
||||||
command criticaltext ; 0f
|
command criticaltext ; 0f
|
||||||
command supereffectivetext ; 10
|
command supereffectivetext ; 10
|
||||||
command checkdestinybond ; 11
|
command checkdestinybond ; 11
|
||||||
@@ -175,7 +175,7 @@ ENDM
|
|||||||
command beatupfailtext ; a8
|
command beatupfailtext ; a8
|
||||||
command clearmissdamage ; a9
|
command clearmissdamage ; a9
|
||||||
command movedelay ; aa
|
command movedelay ; aa
|
||||||
command hittarget ; ab
|
command moveanim ; ab
|
||||||
command tristatuschance ; ac
|
command tristatuschance ; ac
|
||||||
command supereffectivelooptext ; ad
|
command supereffectivelooptext ; ad
|
||||||
command startloop ; ae
|
command startloop ; ae
|
||||||
|
Reference in New Issue
Block a user