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:
mid-kid 2018-04-04 23:27:40 +02:00
parent 2958188fc6
commit d4025863cf
5 changed files with 198 additions and 188 deletions

View File

@ -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

View File

@ -10,9 +10,9 @@ NormalHit:
stab stab
damagevariation damagevariation
checkhit checkhit
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -40,9 +40,9 @@ PoisonHit:
damagevariation damagevariation
checkhit checkhit
effectchance effectchance
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -60,9 +60,9 @@ LeechHit:
stab stab
damagevariation damagevariation
checkhit checkhit
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
draintarget draintarget
@ -82,9 +82,9 @@ BurnHit:
damagevariation damagevariation
checkhit checkhit
effectchance effectchance
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -103,9 +103,9 @@ FreezeHit:
damagevariation damagevariation
checkhit checkhit
effectchance effectchance
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -124,9 +124,9 @@ ParalyzeHit:
damagevariation damagevariation
checkhit checkhit
effectchance effectchance
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -145,9 +145,9 @@ Selfdestruct:
damagevariation damagevariation
checkhit checkhit
selfdestruct selfdestruct
hittargetnosub moveanimnosub
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -165,9 +165,9 @@ DreamEater:
stab stab
damagevariation damagevariation
checkhit checkhit
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
eatdream eatdream
@ -544,9 +544,9 @@ AttackDownHit:
damagevariation damagevariation
checkhit checkhit
effectchance effectchance
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -566,9 +566,9 @@ DefenseDownHit:
damagevariation damagevariation
checkhit checkhit
effectchance effectchance
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -589,9 +589,9 @@ SpeedDownHit:
damagevariation damagevariation
checkhit checkhit
effectchance effectchance
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -611,9 +611,9 @@ SpecialAttackDownHit:
damagevariation damagevariation
checkhit checkhit
effectchance effectchance
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -633,9 +633,9 @@ SpecialDefenseDownHit:
damagevariation damagevariation
checkhit checkhit
effectchance effectchance
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -655,9 +655,9 @@ AccuracyDownHit:
damagevariation damagevariation
checkhit checkhit
effectchance effectchance
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -677,9 +677,9 @@ EvasionDownHit:
damagevariation damagevariation
checkhit checkhit
effectchance effectchance
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -699,9 +699,9 @@ DefenseUpHit:
damagevariation damagevariation
checkhit checkhit
effectchance effectchance
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -721,9 +721,9 @@ AttackUpHit:
damagevariation damagevariation
checkhit checkhit
effectchance effectchance
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -743,9 +743,9 @@ AllUpHit:
damagevariation damagevariation
checkhit checkhit
effectchance effectchance
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -763,9 +763,9 @@ PayDay:
stab stab
damagevariation damagevariation
checkhit checkhit
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
payday payday
@ -796,9 +796,9 @@ Bide:
unleashenergy unleashenergy
resettypematchup resettypematchup
checkhit checkhit
hittarget moveanim
bidefailtext bidefailtext
checkfaint applydamage
checkdestinybond checkdestinybond
buildopponentrage buildopponentrage
kingsrock kingsrock
@ -817,9 +817,9 @@ Rampage:
stab stab
damagevariation damagevariation
clearmissdamage clearmissdamage
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -848,9 +848,9 @@ MultiHit:
stab stab
damagevariation damagevariation
clearmissdamage clearmissdamage
hittargetnosub moveanimnosub
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
cleartext cleartext
supereffectivelooptext supereffectivelooptext
@ -875,9 +875,9 @@ PoisonMultiHit:
stab stab
damagevariation damagevariation
clearmissdamage clearmissdamage
hittargetnosub moveanimnosub
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
cleartext cleartext
supereffectivelooptext supereffectivelooptext
@ -900,9 +900,9 @@ FlinchHit:
damagevariation damagevariation
checkhit checkhit
effectchance effectchance
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -916,9 +916,9 @@ OHKOHit:
doturn doturn
stab stab
ohko ohko
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -935,9 +935,9 @@ RecoilHit:
stab stab
damagevariation damagevariation
checkhit checkhit
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
recoil recoil
@ -980,9 +980,9 @@ ConfuseHit:
damagevariation damagevariation
checkhit checkhit
effectchance effectchance
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -1022,9 +1022,9 @@ TriAttack:
stab stab
damagevariation damagevariation
checkhit checkhit
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -1066,9 +1066,9 @@ SkyAttack:
damagevariation damagevariation
checkhit checkhit
effectchance effectchance
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -1094,9 +1094,9 @@ HyperBeam:
stab stab
damagevariation damagevariation
checkhit checkhit
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
rechargenextturn rechargenextturn
@ -1115,10 +1115,10 @@ Rage:
checkhit checkhit
ragedamage ragedamage
damagevariation damagevariation
hittarget moveanim
failuretext failuretext
rage rage
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -1176,9 +1176,9 @@ RazorWind:
stab stab
damagevariation damagevariation
checkhit checkhit
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -1198,10 +1198,10 @@ Fly:
stab stab
damagevariation damagevariation
checkhit checkhit
hittargetnosub moveanimnosub
raisesub raisesub
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -1220,9 +1220,9 @@ TrapTarget:
stab stab
damagevariation damagevariation
clearmissdamage clearmissdamage
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -1239,9 +1239,9 @@ StaticDamage:
constantdamage constantdamage
checkhit checkhit
resettypematchup resettypematchup
hittarget moveanim
failuretext failuretext
checkfaint applydamage
checkdestinybond checkdestinybond
buildopponentrage buildopponentrage
kingsrock kingsrock
@ -1254,9 +1254,9 @@ Reversal:
constantdamage constantdamage
stab stab
checkhit checkhit
hittarget moveanim
failuretext failuretext
checkfaint applydamage
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
buildopponentrage buildopponentrage
@ -1268,9 +1268,9 @@ Counter:
usedmovetext usedmovetext
doturn doturn
counter counter
hittarget moveanim
failuretext failuretext
checkfaint applydamage
checkdestinybond checkdestinybond
buildopponentrage buildopponentrage
kingsrock kingsrock
@ -1304,9 +1304,9 @@ Snore:
checkhit checkhit
effectchance effectchance
snore snore
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -1378,9 +1378,9 @@ FalseSwipe:
damagevariation damagevariation
falseswipe falseswipe
checkhit checkhit
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -1409,9 +1409,9 @@ TripleKick:
stab stab
damagevariation damagevariation
clearmissdamage clearmissdamage
hittargetnosub moveanimnosub
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
cleartext cleartext
supereffectivelooptext supereffectivelooptext
@ -1434,9 +1434,9 @@ Thief:
damagevariation damagevariation
checkhit checkhit
effectchance effectchance
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
thief thief
@ -1470,9 +1470,9 @@ FlameWheel:
damagevariation damagevariation
checkhit checkhit
effectchance effectchance
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
defrost defrost
@ -1543,9 +1543,9 @@ Rollout:
checkhit checkhit
rolloutpower rolloutpower
damagevariation damagevariation
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -1582,9 +1582,9 @@ FuryCutter:
checkhit checkhit
furycutter furycutter
damagevariation damagevariation
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -1611,9 +1611,9 @@ Return:
stab stab
damagevariation damagevariation
checkhit checkhit
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -1634,7 +1634,7 @@ Present:
damagevariation damagevariation
clearmissdamage clearmissdamage
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -1653,9 +1653,9 @@ Frustration:
stab stab
damagevariation damagevariation
checkhit checkhit
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -1681,9 +1681,9 @@ SacredFire:
damagevariation damagevariation
checkhit checkhit
effectchance effectchance
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
defrost defrost
@ -1704,9 +1704,9 @@ Magnitude:
damagevariation damagevariation
checkhit checkhit
doubleundergrounddamage doubleundergrounddamage
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -1732,9 +1732,9 @@ Pursuit:
damagevariation damagevariation
pursuit pursuit
checkhit checkhit
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -1752,9 +1752,9 @@ RapidSpin:
stab stab
damagevariation damagevariation
checkhit checkhit
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
clearhazards clearhazards
@ -1794,9 +1794,9 @@ HiddenPower:
stab stab
damagevariation damagevariation
checkhit checkhit
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -1824,7 +1824,7 @@ FakeOut:
doturn doturn
checkhit checkhit
fakeout fakeout
hittarget moveanim
failuretext failuretext
endmove endmove
@ -1847,9 +1847,9 @@ MirrorCoat:
usedmovetext usedmovetext
doturn doturn
mirrorcoat mirrorcoat
hittarget moveanim
failuretext failuretext
checkfaint applydamage
checkdestinybond checkdestinybond
buildopponentrage buildopponentrage
kingsrock kingsrock
@ -1867,9 +1867,9 @@ SkullBash:
stab stab
damagevariation damagevariation
checkhit checkhit
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -1892,9 +1892,9 @@ Twister:
doubleflyingdamage doubleflyingdamage
checkhit checkhit
effectchance effectchance
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -1914,9 +1914,9 @@ Earthquake:
doubleundergrounddamage doubleundergrounddamage
checkhit checkhit
effectchance effectchance
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -1933,9 +1933,9 @@ FutureSight:
futuresight futuresight
damagevariation ; skip here if last turn damagevariation ; skip here if last turn
checkhit checkhit
hittargetnosub moveanimnosub
failuretext failuretext
checkfaint applydamage
checkdestinybond checkdestinybond
buildopponentrage buildopponentrage
endmove endmove
@ -1951,9 +1951,9 @@ Gust:
damagevariation damagevariation
doubleflyingdamage doubleflyingdamage
checkhit checkhit
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -1972,9 +1972,9 @@ Stomp:
doubleminimizedamage doubleminimizedamage
checkhit checkhit
effectchance effectchance
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -1995,9 +1995,9 @@ Solarbeam:
stab stab
damagevariation damagevariation
checkhit checkhit
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -2017,9 +2017,9 @@ Thunder:
effectchance effectchance
stab stab
damagevariation damagevariation
hittarget moveanim
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
supereffectivetext supereffectivetext
checkdestinybond checkdestinybond
@ -2047,9 +2047,9 @@ BeatUp:
damagecalc damagecalc
damagevariation damagevariation
clearmissdamage clearmissdamage
hittargetnosub moveanimnosub
failuretext failuretext
checkfaint applydamage
criticaltext criticaltext
cleartext cleartext
supereffectivetext supereffectivetext

View File

@ -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

View File

@ -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

View File

@ -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