summaryrefslogtreecommitdiff
path: root/engine/battle/effect_commands.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/battle/effect_commands.asm')
-rw-r--r--engine/battle/effect_commands.asm612
1 files changed, 215 insertions, 397 deletions
diff --git a/engine/battle/effect_commands.asm b/engine/battle/effect_commands.asm
index ff114d870..07e8b3a2a 100644
--- a/engine/battle/effect_commands.asm
+++ b/engine/battle/effect_commands.asm
@@ -1,4 +1,4 @@
-DoPlayerTurn: ; 34000
+DoPlayerTurn:
call SetPlayerTurn
ld a, [wBattlePlayerAction]
@@ -7,10 +7,9 @@ DoPlayerTurn: ; 34000
jr DoTurn
-; 3400a
-DoEnemyTurn: ; 3400a
+DoEnemyTurn:
call SetEnemyTurn
ld a, [wLinkMode]
@@ -24,10 +23,9 @@ DoEnemyTurn: ; 3400a
ret nc
; fallthrough
-; 3401d
-DoTurn: ; 3401d
+DoTurn:
; Read in and execute the user's move effects for this turn.
xor a
@@ -41,10 +39,9 @@ DoTurn: ; 3401d
ret nz
call UpdateMoveData
-; 3402c
-DoMove: ; 3402c
+DoMove:
; Get the user's move effect.
ld a, BATTLE_VARS_MOVE_EFFECT
call GetBattleVar
@@ -115,11 +112,10 @@ DoMove: ; 3402c
.DoMoveEffectCommand:
jp hl
-; 34084
CheckTurn:
-BattleCommand_CheckTurn: ; 34084
+BattleCommand_CheckTurn:
; checkturn
; Repurposed as hardcoded turn handling. Useless as a command.
@@ -353,10 +349,9 @@ CheckPlayerTurn:
call CantMove
jp EndTurn
-; 341f0
-CantMove: ; 341f0
+CantMove:
ld a, BATTLE_VARS_SUBSTATUS1
call GetBattleVarAddr
res SUBSTATUS_ROLLOUT, [hl]
@@ -382,20 +377,18 @@ CantMove: ; 341f0
res SUBSTATUS_FLYING, [hl]
jp AppearUserRaiseSub
-; 34216
-OpponentCantMove: ; 34216
+OpponentCantMove:
call BattleCommand_SwitchTurn
call CantMove
jp BattleCommand_SwitchTurn
-; 3421f
-CheckEnemyTurn: ; 3421f
+CheckEnemyTurn:
ld hl, wEnemySubStatus4
bit SUBSTATUS_RECHARGE, [hl]
@@ -621,18 +614,16 @@ CheckEnemyTurn: ; 3421f
call CantMove
; fallthrough
-; 34385
-EndTurn: ; 34385
+EndTurn:
ld a, $1
ld [wTurnEnded], a
jp ResetDamage
-; 3438d
-MoveDisabled: ; 3438d
+MoveDisabled:
; Make sure any charged moves fail
ld a, BATTLE_VARS_SUBSTATUS3
@@ -647,10 +638,9 @@ MoveDisabled: ; 3438d
ld hl, DisabledMoveText
jp StdBattleTextBox
-; 343a5
-HitConfusion: ; 343a5
+HitConfusion:
ld hl, HurtItselfText
call StdBattleTextBox
@@ -680,10 +670,9 @@ HitConfusion: ; 343a5
call DoPlayerDamage
jp BattleCommand_RaiseSub
-; 343db
-BattleCommand_CheckObedience: ; 343db
+BattleCommand_CheckObedience:
; checkobedience
; Enemy can't disobey
@@ -984,10 +973,9 @@ BattleCommand_CheckObedience: ; 343db
jp EndMoveEffect
-; 3451f
-IgnoreSleepOnly: ; 3451f
+IgnoreSleepOnly:
ld a, BATTLE_VARS_MOVE_ANIM
call GetBattleVar
@@ -1015,18 +1003,16 @@ IgnoreSleepOnly: ; 3451f
scf
ret
-; 34541
-BattleCommand_UsedMoveText: ; 34541
+BattleCommand_UsedMoveText:
; usedmovetext
farcall DisplayUsedMoveText
ret
-; 34548
-CheckUserIsCharging: ; 34548
+CheckUserIsCharging:
ld a, [hBattleTurn]
and a
@@ -1037,10 +1023,9 @@ CheckUserIsCharging: ; 34548
and a
ret
-; 34555
-BattleCommand_DoTurn: ; 34555
+BattleCommand_DoTurn:
call CheckUserIsCharging
ret nz
@@ -1165,9 +1150,8 @@ BattleCommand_DoTurn: ; 34555
ld b, 1
ret
-; 34602
-.continuousmoves ; 34602
+.continuousmoves
db EFFECT_RAZOR_WIND
db EFFECT_SKY_ATTACK
db EFFECT_SKULL_BASH
@@ -1177,9 +1161,8 @@ BattleCommand_DoTurn: ; 34555
db EFFECT_BIDE
db EFFECT_RAMPAGE
db -1
-; 3460b
-CheckMimicUsed: ; 3460b
+CheckMimicUsed:
ld a, [hBattleTurn]
and a
ld a, [wCurMoveNum]
@@ -1209,10 +1192,9 @@ CheckMimicUsed: ; 3460b
and a
ret
-; 34631
-BattleCommand_Critical: ; 34631
+BattleCommand_Critical:
; critical
; Determine whether this attack's hit will be critical.
@@ -1303,13 +1285,12 @@ BattleCommand_Critical: ; 34631
ret
INCLUDE "data/battle/critical_hits.asm"
-; 346b2
INCLUDE "engine/battle/move_effects/triple_kick.asm"
-BattleCommand_Stab: ; 346d2
+BattleCommand_Stab:
; STAB = Same Type Attack Bonus
ld a, BATTLE_VARS_MOVE_ANIM
call GetBattleVar
@@ -1493,16 +1474,15 @@ BattleCommand_Stab: ; 346d2
ld [wTypeModifier], a
ret
-; 347c8
-BattleCheckTypeMatchup: ; 347c8
+BattleCheckTypeMatchup:
ld hl, wEnemyMonType1
ld a, [hBattleTurn]
and a
jr z, CheckTypeMatchup
ld hl, wBattleMonType1
-CheckTypeMatchup: ; 347d3
+CheckTypeMatchup:
; There is an incorrect assumption about this function made in the AI related code: when
; the AI calls CheckTypeMatchup (not BattleCheckTypeMatchup), it assumes that placing the
; offensive type in a will make this function do the right thing. Since a is overwritten,
@@ -1575,10 +1555,9 @@ CheckTypeMatchup: ; 347d3
pop hl
ret
-; 34833
-BattleCommand_ResetTypeMatchup: ; 34833
+BattleCommand_ResetTypeMatchup:
; Reset the type matchup multiplier to 1.0, if the type matchup is not 0.
; If there is immunity in play, the move automatically misses.
call BattleCheckTypeMatchup
@@ -1597,7 +1576,6 @@ BattleCommand_ResetTypeMatchup: ; 34833
ld [wTypeMatchup], a
ret
-; 3484e
INCLUDE "engine/battle/ai/switch.asm"
@@ -1605,7 +1583,7 @@ INCLUDE "engine/battle/ai/switch.asm"
INCLUDE "data/types/type_matchups.asm"
-BattleCommand_DamageVariation: ; 34cfd
+BattleCommand_DamageVariation:
; damagevariation
; Modify the damage spread between 85% and 100%.
@@ -1658,10 +1636,9 @@ BattleCommand_DamageVariation: ; 34cfd
ld [hl], a
ret
-; 34d32
-BattleCommand_CheckHit: ; 34d32
+BattleCommand_CheckHit:
; checkhit
call .DreamEater
@@ -1977,10 +1954,9 @@ BattleCommand_CheckHit: ; 34d32
ret
INCLUDE "data/battle/accuracy_multipliers.asm"
-; 34ecc
-BattleCommand_EffectChance: ; 34ecc
+BattleCommand_EffectChance:
; effectchance
xor a
@@ -2007,10 +1983,9 @@ BattleCommand_EffectChance: ; 34ecc
and a
ret
-; 34eee
-BattleCommand_LowerSub: ; 34eee
+BattleCommand_LowerSub:
; lowersub
ld a, BATTLE_VARS_SUBSTATUS4
@@ -2078,19 +2053,17 @@ BattleCommand_LowerSub: ; 34eee
ld [wSomeoneIsRampaging], a
ret
-; 34f57
-BattleCommand_MoveAnim: ; 34f57
+BattleCommand_MoveAnim:
; moveanim
call BattleCommand_LowerSub
call BattleCommand_MoveAnimNoSub
jp BattleCommand_RaiseSub
-; 34f60
-BattleCommand_MoveAnimNoSub: ; 34f60
+BattleCommand_MoveAnimNoSub:
ld a, [wAttackMissed]
and a
jp nz, BattleCommand_MoveDelay
@@ -2154,10 +2127,9 @@ BattleCommand_MoveAnimNoSub: ; 34f60
ld [wNumHits], a
jp PlayFXAnimID
-; 34fd1
-BattleCommand_StatUpAnim: ; 34fd1
+BattleCommand_StatUpAnim:
ld a, [wAttackMissed]
and a
jp nz, BattleCommand_MoveDelay
@@ -2165,10 +2137,9 @@ BattleCommand_StatUpAnim: ; 34fd1
xor a
jr BattleCommand_StatUpDownAnim
-; 34fdb
-BattleCommand_StatDownAnim: ; 34fdb
+BattleCommand_StatDownAnim:
ld a, [wAttackMissed]
and a
jp nz, BattleCommand_MoveDelay
@@ -2180,10 +2151,9 @@ BattleCommand_StatDownAnim: ; 34fdb
ld a, BATTLEANIM_WOBBLE
; fallthrough
-; 34feb
-BattleCommand_StatUpDownAnim: ; 34feb
+BattleCommand_StatUpDownAnim:
ld [wNumHits], a
xor a
ld [wKickCounter], a
@@ -2193,10 +2163,9 @@ BattleCommand_StatUpDownAnim: ; 34feb
ld d, 0
jp PlayFXAnimID
-; 34ffd
-BattleCommand_SwitchTurn: ; 34ffd
+BattleCommand_SwitchTurn:
; switchturn
ld a, [hBattleTurn]
@@ -2204,10 +2173,9 @@ BattleCommand_SwitchTurn: ; 34ffd
ld [hBattleTurn], a
ret
-; 35004
-BattleCommand_RaiseSub: ; 35004
+BattleCommand_RaiseSub:
; raisesub
ld a, BATTLE_VARS_SUBSTATUS4
@@ -2226,10 +2194,9 @@ BattleCommand_RaiseSub: ; 35004
ld a, SUBSTITUTE
jp LoadAnim
-; 35023
-BattleCommand_FailureText: ; 35023
+BattleCommand_FailureText:
; failuretext
; If the move missed or failed, load the appropriate
; text, and end the effects of multi-turn or multi-
@@ -2271,10 +2238,9 @@ BattleCommand_FailureText: ; 35023
call AppearUserRaiseSub
jp EndMoveEffect
-; 3505e
-BattleCommand_ApplyDamage: ; 3505e
+BattleCommand_ApplyDamage:
; applydamage
ld a, BATTLE_VARS_SUBSTATUS1_OPP
@@ -2366,10 +2332,9 @@ BattleCommand_ApplyDamage: ; 3505e
ld [de], a
ret
-; 350e4
-GetFailureResultText: ; 350e4
+GetFailureResultText:
ld hl, DoesntAffectText
ld de, DoesntAffectText
ld a, [wTypeModifier]
@@ -2427,7 +2392,7 @@ endr
jp nz, DoEnemyDamage
jp DoPlayerDamage
-FailText_CheckOpponentProtect: ; 35157
+FailText_CheckOpponentProtect:
ld a, BATTLE_VARS_SUBSTATUS1_OPP
call GetBattleVar
bit SUBSTATUS_PROTECT, a
@@ -2437,10 +2402,9 @@ FailText_CheckOpponentProtect: ; 35157
.not_protected
jp StdBattleTextBox
-; 35165
-BattleCommand_BideFailText: ; 35165
+BattleCommand_BideFailText:
ld a, [wAttackMissed]
and a
ret z
@@ -2450,10 +2414,9 @@ BattleCommand_BideFailText: ; 35165
jp z, PrintDoesntAffect
jp PrintButItFailed
-; 35175
-BattleCommand_CriticalText: ; 35175
+BattleCommand_CriticalText:
; criticaltext
; Prints the message for critical hits or one-hit KOs.
@@ -2483,10 +2446,9 @@ BattleCommand_CriticalText: ; 35175
.texts
dw CriticalHitText
dw OneHitKOText
-; 35197
-BattleCommand_StartLoop: ; 35197
+BattleCommand_StartLoop:
; startloop
ld hl, wPlayerRolloutCount
@@ -2499,10 +2461,9 @@ BattleCommand_StartLoop: ; 35197
ld [hl], a
ret
-; 351a5
-BattleCommand_SuperEffectiveLoopText: ; 351a5
+BattleCommand_SuperEffectiveLoopText:
; supereffectivelooptext
ld a, BATTLE_VARS_SUBSTATUS3
@@ -2511,10 +2472,9 @@ BattleCommand_SuperEffectiveLoopText: ; 351a5
ret nz
; fallthrough
-; 351ad
-BattleCommand_SuperEffectiveText: ; 351ad
+BattleCommand_SuperEffectiveText:
; supereffectivetext
ld a, [wTypeModifier]
@@ -2527,10 +2487,9 @@ BattleCommand_SuperEffectiveText: ; 351ad
.print
jp StdBattleTextBox
-; 351c0
-BattleCommand_CheckDestinyBond: ; 351c0
+BattleCommand_CheckDestinyBond:
; checkdestinybond
; Faint the user if it fainted an opponent using Destiny Bond.
@@ -2617,10 +2576,9 @@ BattleCommand_CheckDestinyBond: ; 351c0
.finish
jp EndMoveEffect
-; 35250
-BattleCommand_BuildOpponentRage: ; 35250
+BattleCommand_BuildOpponentRage:
; buildopponentrage
jp .start
@@ -2651,10 +2609,9 @@ BattleCommand_BuildOpponentRage: ; 35250
call StdBattleTextBox
jp BattleCommand_SwitchTurn
-; 3527b
-BattleCommand_RageDamage: ; 3527b
+BattleCommand_RageDamage:
; ragedamage
ld a, [wCurDamage]
@@ -2682,10 +2639,9 @@ BattleCommand_RageDamage: ; 3527b
ld [wCurDamage + 1], a
ret
-; 352a3
-EndMoveEffect: ; 352a3
+EndMoveEffect:
ld a, [wBattleScriptBufferAddress]
ld l, a
ld a, [wBattleScriptBufferAddress + 1]
@@ -2696,10 +2652,9 @@ EndMoveEffect: ; 352a3
ld [hl], a
ret
-; 352b1
-DittoMetalPowder: ; 352b1
+DittoMetalPowder:
ld a, MON_SPECIES
call BattlePartyAttr
ld a, [hBattleTurn]
@@ -2735,10 +2690,9 @@ DittoMetalPowder: ; 352b1
rr c
ret
-; 352dc
-BattleCommand_DamageStats: ; 352dc
+BattleCommand_DamageStats:
; damagestats
ld a, [hBattleTurn]
@@ -2746,10 +2700,9 @@ BattleCommand_DamageStats: ; 352dc
jp nz, EnemyAttackDamage
; fallthrough
-; 352e2
-PlayerAttackDamage: ; 352e2
+PlayerAttackDamage:
; Return move power d, player level e, enemy defense c and player attack b.
call ResetDamage
@@ -2831,10 +2784,9 @@ PlayerAttackDamage: ; 352e2
and a
ret
-; 3534d
-TruncateHL_BC: ; 3534d
+TruncateHL_BC:
.loop
; Truncate 16-bit values hl and bc to 8-bit values b and c respectively.
; b = hl, c = bc
@@ -2879,10 +2831,9 @@ TruncateHL_BC: ; 3534d
ld b, l
ret
-; 35378
-GetDamageStatsCritical: ; 35378
+GetDamageStatsCritical:
; Return carry if non-critical.
ld a, [wCriticalHit]
@@ -2891,10 +2842,9 @@ GetDamageStatsCritical: ; 35378
ret z
; fallthrough
-; 3537e
-GetDamageStats: ; 3537e
+GetDamageStats:
; Return the attacker's offensive stat and the defender's defensive
; stat based on whether the attacking type is physical or special.
@@ -2934,10 +2884,9 @@ GetDamageStats: ; 3537e
pop hl
ret
-; 353b5
-ThickClubBoost: ; 353b5
+ThickClubBoost:
; Return in hl the stat value at hl.
; If the attacking monster is Cubone or Marowak and
@@ -2952,10 +2901,9 @@ ThickClubBoost: ; 353b5
pop bc
ret
-; 353c3
-LightBallBoost: ; 353c3
+LightBallBoost:
; Return in hl the stat value at hl.
; If the attacking monster is Pikachu and it's
@@ -2970,10 +2918,9 @@ LightBallBoost: ; 353c3
pop bc
ret
-; 353d1
-SpeciesItemBoost: ; 353d1
+SpeciesItemBoost:
; Return in hl the stat value at hl.
; If the attacking monster is species b or c and
@@ -3013,10 +2960,9 @@ SpeciesItemBoost: ; 353d1
rl h
ret
-; 353f6
-EnemyAttackDamage: ; 353f6
+EnemyAttackDamage:
call ResetDamage
; No damage dealt with 0 power.
@@ -3094,13 +3040,12 @@ EnemyAttackDamage: ; 353f6
and a
ret
-; 35461
INCLUDE "engine/battle/move_effects/beat_up.asm"
-BattleCommand_ClearMissDamage: ; 355d5
+BattleCommand_ClearMissDamage:
; clearmissdamage
ld a, [wAttackMissed]
and a
@@ -3108,10 +3053,9 @@ BattleCommand_ClearMissDamage: ; 355d5
jp ResetDamage
-; 355dd
-HitSelfInConfusion: ; 355dd
+HitSelfInConfusion:
call ResetDamage
ld a, [hBattleTurn]
and a
@@ -3147,10 +3091,9 @@ HitSelfInConfusion: ; 355dd
ld e, a
ret
-; 35612
-BattleCommand_DamageCalc: ; 35612
+BattleCommand_DamageCalc:
; damagecalc
; Return a damage value for move power d, player level e, enemy defense c and player attack b.
@@ -3382,13 +3325,12 @@ BattleCommand_DamageCalc: ; 35612
ret
-; 35703
INCLUDE "data/types/type_boost_items.asm"
-BattleCommand_ConstantDamage: ; 35726
+BattleCommand_ConstantDamage:
; constantdamage
ld hl, wBattleMonLevel
@@ -3564,7 +3506,7 @@ INCLUDE "engine/battle/move_effects/lock_on.asm"
INCLUDE "engine/battle/move_effects/sketch.asm"
-BattleCommand_DefrostOpponent: ; 35b16
+BattleCommand_DefrostOpponent:
; defrostopponent
; Thaw the opponent if frozen, and
; raise the user's Attack one stage.
@@ -3590,7 +3532,6 @@ BattleCommand_DefrostOpponent: ; 35b16
ld [hl], a
ret
-; 35b33
INCLUDE "engine/battle/move_effects/sleep_talk.asm"
@@ -3604,7 +3545,7 @@ INCLUDE "engine/battle/move_effects/false_swipe.asm"
INCLUDE "engine/battle/move_effects/heal_bell.asm"
-FarPlayBattleAnimation: ; 35d00
+FarPlayBattleAnimation:
; play animation de
ld a, BATTLE_VARS_SUBSTATUS3
@@ -3613,9 +3554,8 @@ FarPlayBattleAnimation: ; 35d00
ret nz
; fallthrough
-; 35d08
-PlayFXAnimID: ; 35d08
+PlayFXAnimID:
ld a, e
ld [wFXAnimID], a
ld a, d
@@ -3626,10 +3566,9 @@ PlayFXAnimID: ; 35d08
callfar PlayBattleAnim
ret
-; 35d1c
-DoEnemyDamage: ; 35d1c
+DoEnemyDamage:
ld hl, wCurDamage
ld a, [hli]
ld b, a
@@ -3689,10 +3628,9 @@ DoEnemyDamage: ; 35d1c
.did_no_damage
jp RefreshBattleHuds
-; 35d7e
-DoPlayerDamage: ; 35d7e
+DoPlayerDamage:
ld hl, wCurDamage
ld a, [hli]
ld b, a
@@ -3752,10 +3690,9 @@ DoPlayerDamage: ; 35d7e
.did_no_damage
jp RefreshBattleHuds
-; 35de0
-DoSubstituteDamage: ; 35de0
+DoSubstituteDamage:
ld hl, SubTookDamageText
call StdBattleTextBox
@@ -3812,10 +3749,9 @@ DoSubstituteDamage: ; 35de0
.done
jp ResetDamage
-; 35e40
-UpdateMoveData: ; 35e40
+UpdateMoveData:
ld a, BATTLE_VARS_MOVE_ANIM
call GetBattleVarAddr
@@ -3832,10 +3768,9 @@ UpdateMoveData: ; 35e40
call GetMoveName
jp CopyName1
-; 35e5c
-BattleCommand_SleepTarget: ; 35e5c
+BattleCommand_SleepTarget:
; sleeptarget
call GetOpponentItem
@@ -3906,10 +3841,9 @@ BattleCommand_SleepTarget: ; 35e5c
pop hl
jp StdBattleTextBox
-; 35ece
-.CheckAIRandomFail: ; 35ece
+.CheckAIRandomFail:
; Enemy turn
ld a, [hBattleTurn]
and a
@@ -3937,10 +3871,9 @@ BattleCommand_SleepTarget: ; 35e5c
xor a
ret
-; 35eee
-BattleCommand_PoisonTarget: ; 35eee
+BattleCommand_PoisonTarget:
; poisontarget
call CheckSubstituteOpp
@@ -3975,10 +3908,9 @@ BattleCommand_PoisonTarget: ; 35eee
farcall UseHeldStatusHealingItem
ret
-; 35f2c
-BattleCommand_Poison: ; 35f2c
+BattleCommand_Poison:
; poison
ld hl, DoesntAffectText
@@ -4066,18 +3998,16 @@ BattleCommand_Poison: ; 35f2c
pop hl
jp StdBattleTextBox
-; 35fc0
-.apply_poison ; 35fc0
+.apply_poison
call AnimateCurrentMove
call PoisonOpponent
jp RefreshBattleHuds
-; 35fc9
-.check_toxic ; 35fc9
+.check_toxic
ld a, BATTLE_VARS_SUBSTATUS5_OPP
call GetBattleVarAddr
ld a, [hBattleTurn]
@@ -4091,10 +4021,9 @@ BattleCommand_Poison: ; 35f2c
cp EFFECT_TOXIC
ret
-; 35fe1
-CheckIfTargetIsPoisonType: ; 35fe1
+CheckIfTargetIsPoisonType:
ld de, wEnemyMonType1
ld a, [hBattleTurn]
and a
@@ -4109,37 +4038,33 @@ CheckIfTargetIsPoisonType: ; 35fe1
cp POISON
ret
-; 35ff5
-PoisonOpponent: ; 35ff5
+PoisonOpponent:
ld a, BATTLE_VARS_STATUS_OPP
call GetBattleVarAddr
set PSN, [hl]
jp UpdateOpponentInParty
-; 35fff
-BattleCommand_DrainTarget: ; 35fff
+BattleCommand_DrainTarget:
; draintarget
call SapHealth
ld hl, SuckedHealthText
jp StdBattleTextBox
-; 36008
-BattleCommand_EatDream: ; 36008
+BattleCommand_EatDream:
; eatdream
call SapHealth
ld hl, DreamEatenText
jp StdBattleTextBox
-; 36011
-SapHealth: ; 36011
+SapHealth:
; Divide damage by 2, store it in hDividend
ld hl, wCurDamage
ld a, [hli]
@@ -4232,10 +4157,9 @@ SapHealth: ; 36011
call RefreshBattleHuds
jp UpdateBattleMonInParty
-; 3608c
-BattleCommand_BurnTarget: ; 3608c
+BattleCommand_BurnTarget:
; burntarget
xor a
@@ -4276,10 +4200,9 @@ BattleCommand_BurnTarget: ; 3608c
farcall UseHeldStatusHealingItem
ret
-; 360dd
-Defrost: ; 360dd
+Defrost:
ld a, [hl]
and 1 << FRZ
ret z
@@ -4304,10 +4227,9 @@ Defrost: ; 360dd
ld hl, DefrostedOpponentText
jp StdBattleTextBox
-; 36102
-BattleCommand_FreezeTarget: ; 36102
+BattleCommand_FreezeTarget:
; freezetarget
xor a
@@ -4360,10 +4282,9 @@ BattleCommand_FreezeTarget: ; 36102
ld [hl], $1
ret
-; 36165
-BattleCommand_ParalyzeTarget: ; 36165
+BattleCommand_ParalyzeTarget:
; paralyzetarget
xor a
@@ -4399,80 +4320,79 @@ BattleCommand_ParalyzeTarget: ; 36165
ld hl, UseHeldStatusHealingItem
jp CallBattleCore
-; 361ac
-BattleCommand_AttackUp: ; 361ac
+BattleCommand_AttackUp:
; attackup
ld b, ATTACK
jr BattleCommand_StatUp
-BattleCommand_DefenseUp: ; 361b0
+BattleCommand_DefenseUp:
; defenseup
ld b, DEFENSE
jr BattleCommand_StatUp
-BattleCommand_SpeedUp: ; 361b4
+BattleCommand_SpeedUp:
; speedup
ld b, SPEED
jr BattleCommand_StatUp
-BattleCommand_SpecialAttackUp: ; 361b8
+BattleCommand_SpecialAttackUp:
; specialattackup
ld b, SP_ATTACK
jr BattleCommand_StatUp
-BattleCommand_SpecialDefenseUp: ; 361bc
+BattleCommand_SpecialDefenseUp:
; specialdefenseup
ld b, SP_DEFENSE
jr BattleCommand_StatUp
-BattleCommand_AccuracyUp: ; 361c0
+BattleCommand_AccuracyUp:
; accuracyup
ld b, ACCURACY
jr BattleCommand_StatUp
-BattleCommand_EvasionUp: ; 361c4
+BattleCommand_EvasionUp:
; evasionup
ld b, EVASION
jr BattleCommand_StatUp
-BattleCommand_AttackUp2: ; 361c8
+BattleCommand_AttackUp2:
; attackup2
ld b, $10 | ATTACK
jr BattleCommand_StatUp
-BattleCommand_DefenseUp2: ; 361cc
+BattleCommand_DefenseUp2:
; defenseup2
ld b, $10 | DEFENSE
jr BattleCommand_StatUp
-BattleCommand_SpeedUp2: ; 361d0
+BattleCommand_SpeedUp2:
; speedup2
ld b, $10 | SPEED
jr BattleCommand_StatUp
-BattleCommand_SpecialAttackUp2: ; 361d4
+BattleCommand_SpecialAttackUp2:
; specialattackup2
ld b, $10 | SP_ATTACK
jr BattleCommand_StatUp
-BattleCommand_SpecialDefenseUp2: ; 361d8
+BattleCommand_SpecialDefenseUp2:
; specialdefenseup2
ld b, $10 | SP_DEFENSE
jr BattleCommand_StatUp
-BattleCommand_AccuracyUp2: ; 361dc
+BattleCommand_AccuracyUp2:
; accuracyup2
ld b, $10 | ACCURACY
jr BattleCommand_StatUp
-BattleCommand_EvasionUp2: ; 361e0
+BattleCommand_EvasionUp2:
; evasionup2
ld b, $10 | EVASION
jr BattleCommand_StatUp
-BattleCommand_StatUp: ; 361e4
+BattleCommand_StatUp:
; statup
call CheckIfStatCanBeRaised
ld a, [wFailedMessage]
@@ -4480,10 +4400,9 @@ BattleCommand_StatUp: ; 361e4
ret nz
jp StatUpAnimation
-; 361ef
-CheckIfStatCanBeRaised: ; 361ef
+CheckIfStatCanBeRaised:
ld a, b
ld [wLoweredStat], a
ld hl, wPlayerStatLevels
@@ -4562,35 +4481,31 @@ CheckIfStatCanBeRaised: ; 361ef
ld [wFailedMessage], a
ret
-; 3626e
-.stats_already_max ; 3626e
+.stats_already_max
pop hl
dec [hl]
; fallthrough
-; 36270
-.cant_raise_stat ; 36270
+.cant_raise_stat
ld a, $2
ld [wFailedMessage], a
ld a, $1
ld [wAttackMissed], a
ret
-; 3627b
-.stat_raise_failed ; 3627b
+.stat_raise_failed
ld a, $1
ld [wFailedMessage], a
ret
-; 36281
-StatUpAnimation: ; 36281
+StatUpAnimation:
ld bc, wPlayerMinimized
ld hl, DropPlayerSub
ld a, [hBattleTurn]
@@ -4615,79 +4530,78 @@ StatUpAnimation: ; 36281
call WaitBGMap
jp BattleCommand_MoveDelay
-; 362ad
-BattleCommand_AttackDown: ; 362ad
+BattleCommand_AttackDown:
; attackdown
ld a, ATTACK
jr BattleCommand_StatDown
-BattleCommand_DefenseDown: ; 362b1
+BattleCommand_DefenseDown:
; defensedown
ld a, DEFENSE
jr BattleCommand_StatDown
-BattleCommand_SpeedDown: ; 362b5
+BattleCommand_SpeedDown:
; speeddown
ld a, SPEED
jr BattleCommand_StatDown
-BattleCommand_SpecialAttackDown: ; 362b9
+BattleCommand_SpecialAttackDown:
; specialattackdown
ld a, SP_ATTACK
jr BattleCommand_StatDown
-BattleCommand_SpecialDefenseDown: ; 362bd
+BattleCommand_SpecialDefenseDown:
; specialdefensedown
ld a, SP_DEFENSE
jr BattleCommand_StatDown
-BattleCommand_AccuracyDown: ; 362c1
+BattleCommand_AccuracyDown:
; accuracydown
ld a, ACCURACY
jr BattleCommand_StatDown
-BattleCommand_EvasionDown: ; 362c5
+BattleCommand_EvasionDown:
; evasiondown
ld a, EVASION
jr BattleCommand_StatDown
-BattleCommand_AttackDown2: ; 362c9
+BattleCommand_AttackDown2:
; attackdown2
ld a, $10 | ATTACK
jr BattleCommand_StatDown
-BattleCommand_DefenseDown2: ; 362cd
+BattleCommand_DefenseDown2:
; defensedown2
ld a, $10 | DEFENSE
jr BattleCommand_StatDown
-BattleCommand_SpeedDown2: ; 362d1
+BattleCommand_SpeedDown2:
; speeddown2
ld a, $10 | SPEED
jr BattleCommand_StatDown
-BattleCommand_SpecialAttackDown2: ; 362d5
+BattleCommand_SpecialAttackDown2:
; specialattackdown2
ld a, $10 | SP_ATTACK
jr BattleCommand_StatDown
-BattleCommand_SpecialDefenseDown2: ; 362d9
+BattleCommand_SpecialDefenseDown2:
; specialdefensedown2
ld a, $10 | SP_DEFENSE
jr BattleCommand_StatDown
-BattleCommand_AccuracyDown2: ; 362dd
+BattleCommand_AccuracyDown2:
; accuracydown2
ld a, $10 | ACCURACY
jr BattleCommand_StatDown
-BattleCommand_EvasionDown2: ; 362e1
+BattleCommand_EvasionDown2:
; evasiondown2
ld a, $10 | EVASION
-BattleCommand_StatDown: ; 362e3
+BattleCommand_StatDown:
; statdown
ld [wLoweredStat], a
@@ -4810,10 +4724,9 @@ BattleCommand_StatDown: ; 362e3
ld [wAttackMissed], a
ret
-; 36391
-CheckMist: ; 36391
+CheckMist:
ld a, BATTLE_VARS_MOVE_EFFECT
call GetBattleVar
cp EFFECT_ATTACK_DOWN
@@ -4838,10 +4751,9 @@ CheckMist: ; 36391
bit SUBSTATUS_MIST, a
ret
-; 363b8
-BattleCommand_StatUpMessage: ; 363b8
+BattleCommand_StatUpMessage:
ld a, [wFailedMessage]
and a
ret nz
@@ -4871,10 +4783,9 @@ BattleCommand_StatUpMessage: ; 363b8
text_jump UnknownText_0x1c0ce0
db "@"
-; 363e9
-BattleCommand_StatDownMessage: ; 363e9
+BattleCommand_StatDownMessage:
ld a, [wFailedMessage]
and a
ret nz
@@ -4903,10 +4814,9 @@ BattleCommand_StatDownMessage: ; 363e9
text_jump UnknownText_0x1c0d06
db "@"
-; 3641a
-TryLowerStat: ; 3641a
+TryLowerStat:
; Lower stat c from stat struct hl (buffer de).
push bc
@@ -4949,10 +4859,9 @@ TryLowerStat: ; 3641a
and a
ret
-; 3644c
-BattleCommand_StatUpFailText: ; 3644c
+BattleCommand_StatUpFailText:
; statupfailtext
ld a, [wFailedMessage]
and a
@@ -4970,10 +4879,9 @@ BattleCommand_StatUpFailText: ; 3644c
ld hl, WontRiseAnymoreText
jp StdBattleTextBox
-; 3646a
-BattleCommand_StatDownFailText: ; 3646a
+BattleCommand_StatDownFailText:
; statdownfailtext
ld a, [wFailedMessage]
and a
@@ -4994,10 +4902,9 @@ BattleCommand_StatDownFailText: ; 3646a
ld hl, WontDropAnymoreText
jp StdBattleTextBox
-; 3648f
-GetStatName: ; 3648f
+GetStatName:
ld hl, StatNames
ld c, "@"
.CheckName:
@@ -5020,7 +4927,7 @@ INCLUDE "data/battle/stat_names.asm"
INCLUDE "data/battle/stat_multipliers.asm"
-BattleCommand_AllStatsUp: ; 36500
+BattleCommand_AllStatsUp:
; allstatsup
; Attack
@@ -5047,18 +4954,16 @@ BattleCommand_AllStatsUp: ; 36500
call ResetMiss
call BattleCommand_SpecialDefenseUp
jp BattleCommand_StatUpMessage
-; 3652d
-ResetMiss: ; 3652d
+ResetMiss:
xor a
ld [wAttackMissed], a
ret
-; 36532
-LowerStat: ; 36532
+LowerStat:
ld [wLoweredStat], a
ld hl, wPlayerStatLevels
@@ -5129,10 +5034,9 @@ LowerStat: ; 36532
ld [wFailedMessage], a
ret
-; 3658f
-BattleCommand_TriStatusChance: ; 3658f
+BattleCommand_TriStatusChance:
; tristatuschance
call BattleCommand_EffectChance
@@ -5152,20 +5056,18 @@ BattleCommand_TriStatusChance: ; 3658f
dw BattleCommand_ParalyzeTarget ; paralyze
dw BattleCommand_FreezeTarget ; freeze
dw BattleCommand_BurnTarget ; burn
-; 365a7
-BattleCommand_Curl: ; 365a7
+BattleCommand_Curl:
; curl
ld a, BATTLE_VARS_SUBSTATUS2
call GetBattleVarAddr
set SUBSTATUS_CURLED, [hl]
ret
-; 365af
-BattleCommand_RaiseSubNoAnim: ; 365af
+BattleCommand_RaiseSubNoAnim:
ld hl, GetBattleMonBackpic
ld a, [hBattleTurn]
and a
@@ -5177,10 +5079,9 @@ BattleCommand_RaiseSubNoAnim: ; 365af
call CallBattleCore
jp WaitBGMap
-; 365c3
-BattleCommand_LowerSubNoAnim: ; 365c3
+BattleCommand_LowerSubNoAnim:
ld hl, DropPlayerSub
ld a, [hBattleTurn]
and a
@@ -5192,10 +5093,9 @@ BattleCommand_LowerSubNoAnim: ; 365c3
call CallBattleCore
jp WaitBGMap
-; 365d7
-CalcPlayerStats: ; 365d7
+CalcPlayerStats:
ld hl, wPlayerAtkLevel
ld de, wPlayerStats
ld bc, wBattleMonAttack
@@ -5216,10 +5116,9 @@ CalcPlayerStats: ; 365d7
jp BattleCommand_SwitchTurn
-; 365fd
-CalcEnemyStats: ; 365fd
+CalcEnemyStats:
ld hl, wEnemyAtkLevel
ld de, wEnemyStats
ld bc, wEnemyMonAttack
@@ -5237,10 +5136,9 @@ CalcEnemyStats: ; 365fd
jp BattleCommand_SwitchTurn
-; 3661d
-CalcStats: ; 3661d
+CalcStats:
.loop
push af
ld a, [hli]
@@ -5309,13 +5207,12 @@ CalcStats: ; 3661d
ret
-; 36671
INCLUDE "engine/battle/move_effects/bide.asm"
-BattleCommand_CheckRampage: ; 3671a
+BattleCommand_CheckRampage:
; checkrampage
ld de, wPlayerRolloutCount
@@ -5352,10 +5249,9 @@ BattleCommand_CheckRampage: ; 3671a
ld b, rampage_command
jp SkipToBattleCommand
-; 36751
-BattleCommand_Rampage: ; 36751
+BattleCommand_Rampage:
; rampage
; No rampage during Sleep Talk.
@@ -5382,23 +5278,21 @@ BattleCommand_Rampage: ; 36751
ld [wSomeoneIsRampaging], a
ret
-; 36778
INCLUDE "engine/battle/move_effects/teleport.asm"
-SetBattleDraw: ; 36804
+SetBattleDraw:
ld a, [wBattleResult]
and BATTLERESULT_BITMASK
or DRAW
ld [wBattleResult], a
ret
-; 3680f
-BattleCommand_ForceSwitch: ; 3680f
+BattleCommand_ForceSwitch:
; forceswitch
ld a, [wBattleType]
@@ -5617,10 +5511,9 @@ BattleCommand_ForceSwitch: ; 3680f
.do_text
jp StdBattleTextBox
-; 36994
-CheckPlayerHasMonToSwitchTo: ; 36994
+CheckPlayerHasMonToSwitchTo:
ld a, [wPartyCount]
ld d, a
ld e, 0
@@ -5649,10 +5542,9 @@ CheckPlayerHasMonToSwitchTo: ; 36994
and a
ret
-; 369b6
-BattleCommand_EndLoop: ; 369b6
+BattleCommand_EndLoop:
; endloop
; Loop back to 'critical'.
@@ -5786,10 +5678,9 @@ BattleCommand_EndLoop: ; 369b6
ld [wBattleScriptBufferAddress], a
ret
-; 36a82
-BattleCommand_FakeOut: ; 36a82
+BattleCommand_FakeOut:
ld a, [wAttackMissed]
and a
ret nz
@@ -5810,10 +5701,9 @@ BattleCommand_FakeOut: ; 36a82
ld [wAttackMissed], a
ret
-; 36aa0
-BattleCommand_FlinchTarget: ; 36aa0
+BattleCommand_FlinchTarget:
call CheckSubstituteOpp
ret nz
@@ -5830,19 +5720,17 @@ BattleCommand_FlinchTarget: ; 36aa0
ret nz
; fallthrough
-; 36ab5
-FlinchTarget: ; 36ab5
+FlinchTarget:
ld a, BATTLE_VARS_SUBSTATUS3_OPP
call GetBattleVarAddr
set SUBSTATUS_FLINCHED, [hl]
jp EndRechargeOpp
-; 36abf
-CheckOpponentWentFirst: ; 36abf
+CheckOpponentWentFirst:
; Returns a=0, z if user went first
; Returns a=1, nz if opponent went first
push bc
@@ -5853,10 +5741,9 @@ CheckOpponentWentFirst: ; 36abf
pop bc
ret
-; 36ac9
-BattleCommand_HeldFlinch: ; 36ac9
+BattleCommand_HeldFlinch:
; kingsrock
ld a, [wAttackMissed]
@@ -5884,10 +5771,9 @@ BattleCommand_HeldFlinch: ; 36ac9
set SUBSTATUS_FLINCHED, [hl]
ret
-; 36af3
-BattleCommand_OHKO: ; 36af3
+BattleCommand_OHKO:
; ohko
call ResetDamage
@@ -5933,10 +5819,9 @@ BattleCommand_OHKO: ; 36af3
ld [wAttackMissed], a
ret
-; 36b3a
-BattleCommand_CheckCharge: ; 36b3a
+BattleCommand_CheckCharge:
; checkcharge
ld a, BATTLE_VARS_SUBSTATUS3
@@ -5949,10 +5834,9 @@ BattleCommand_CheckCharge: ; 36b3a
ld b, charge_command
jp SkipToBattleCommand
-; 36b4d
-BattleCommand_Charge: ; 36b4d
+BattleCommand_Charge:
; charge
call BattleCommand_ClearText
@@ -6092,17 +5976,15 @@ BattleCommand_Charge: ; 36b4d
; 'dug a hole!'
text_jump UnknownText_0x1c0d6c
db "@"
-; 36c2c
-BattleCommand3c: ; 36c2c
+BattleCommand3c:
; unused
ret
-; 36c2d
-BattleCommand_TrapTarget: ; 36c2d
+BattleCommand_TrapTarget:
; traptarget
ld a, [wAttackMissed]
@@ -6157,7 +6039,6 @@ BattleCommand_TrapTarget: ; 36c2d
dbw FIRE_SPIN, FireSpinTrapText ; 'was trapped!'
dbw CLAMP, ClampedByText ; 'was CLAMPED by'
dbw WHIRLPOOL, WhirlpoolTrapText ; 'was trapped!'
-; 36c7e
INCLUDE "engine/battle/move_effects/mist.asm"
@@ -6165,7 +6046,7 @@ INCLUDE "engine/battle/move_effects/mist.asm"
INCLUDE "engine/battle/move_effects/focus_energy.asm"
-BattleCommand_Recoil: ; 36cb2
+BattleCommand_Recoil:
; recoil
ld hl, wBattleMonMaxHP
@@ -6229,10 +6110,9 @@ BattleCommand_Recoil: ; 36cb2
ld hl, RecoilText
jp StdBattleTextBox
-; 36d1d
-BattleCommand_ConfuseTarget: ; 36d1d
+BattleCommand_ConfuseTarget:
; confusetarget
call GetOpponentItem
@@ -6253,7 +6133,7 @@ BattleCommand_ConfuseTarget: ; 36d1d
jr BattleCommand_FinishConfusingTarget
-BattleCommand_Confuse: ; 36d3b
+BattleCommand_Confuse:
; confuse
call GetOpponentItem
@@ -6282,7 +6162,7 @@ BattleCommand_Confuse: ; 36d3b
ld a, [wAttackMissed]
and a
jr nz, BattleCommand_Confuse_CheckSnore_Swagger_ConfuseHit
-BattleCommand_FinishConfusingTarget: ; 36d70
+BattleCommand_FinishConfusingTarget:
ld bc, wEnemyConfuseCount
ld a, [hBattleTurn]
and a
@@ -6325,9 +6205,8 @@ BattleCommand_FinishConfusingTarget: ; 36d70
ld hl, UseConfusionHealingItem
jp CallBattleCore
-; 36db6
-BattleCommand_Confuse_CheckSnore_Swagger_ConfuseHit: ; 36db6
+BattleCommand_Confuse_CheckSnore_Swagger_ConfuseHit:
ld a, BATTLE_VARS_MOVE_EFFECT
call GetBattleVar
cp EFFECT_CONFUSE_HIT
@@ -6338,10 +6217,9 @@ BattleCommand_Confuse_CheckSnore_Swagger_ConfuseHit: ; 36db6
ret z
jp PrintDidntAffect2
-; 36dc7
-BattleCommand_Paralyze: ; 36dc7
+BattleCommand_Paralyze:
; paralyze
ld a, BATTLE_VARS_STATUS_OPP
@@ -6421,10 +6299,9 @@ BattleCommand_Paralyze: ; 36dc7
call AnimateFailedMove
jp PrintDoesntAffect
-; 36e5b
-CheckMoveTypeMatchesTarget: ; 36e5b
+CheckMoveTypeMatchesTarget:
; Compare move type to opponent type.
; Return z if matching the opponent type,
; unless the move is Normal (Tri Attack).
@@ -6459,23 +6336,21 @@ CheckMoveTypeMatchesTarget: ; 36e5b
pop hl
ret
-; 36e7c
INCLUDE "engine/battle/move_effects/substitute.asm"
-BattleCommand_RechargeNextTurn: ; 36f0b
+BattleCommand_RechargeNextTurn:
; rechargenextturn
ld a, BATTLE_VARS_SUBSTATUS4
call GetBattleVarAddr
set SUBSTATUS_RECHARGE, [hl]
ret
-; 36f13
-EndRechargeOpp: ; 36f13
+EndRechargeOpp:
push hl
ld a, BATTLE_VARS_SUBSTATUS4_OPP
call GetBattleVarAddr
@@ -6483,13 +6358,12 @@ EndRechargeOpp: ; 36f13
pop hl
ret
-; 36f1d
INCLUDE "engine/battle/move_effects/rage.asm"
-BattleCommand_DoubleFlyingDamage: ; 36f25
+BattleCommand_DoubleFlyingDamage:
; doubleflyingdamage
ld a, BATTLE_VARS_SUBSTATUS3_OPP
call GetBattleVar
@@ -6497,10 +6371,9 @@ BattleCommand_DoubleFlyingDamage: ; 36f25
ret z
jr DoubleDamage
-; 36f2f
-BattleCommand_DoubleUndergroundDamage: ; 36f2f
+BattleCommand_DoubleUndergroundDamage:
; doubleundergrounddamage
ld a, BATTLE_VARS_SUBSTATUS3_OPP
call GetBattleVar
@@ -6508,10 +6381,9 @@ BattleCommand_DoubleUndergroundDamage: ; 36f2f
ret z
; fallthrough
-; 36f37
-DoubleDamage: ; 36f37
+DoubleDamage:
ld hl, wCurDamage + 1
sla [hl]
dec hl
@@ -6524,7 +6396,6 @@ DoubleDamage: ; 36f37
.quit
ret
-; 36f46
INCLUDE "engine/battle/move_effects/mimic.asm"
@@ -6540,7 +6411,7 @@ INCLUDE "engine/battle/move_effects/pay_day.asm"
INCLUDE "engine/battle/move_effects/conversion.asm"
-BattleCommand_ResetStats: ; 3710e
+BattleCommand_ResetStats:
; resetstats
ld a, 7 ; neutral
@@ -6573,10 +6444,9 @@ BattleCommand_ResetStats: ; 3710e
jr nz, .next
ret
-; 3713e
-BattleCommand_Heal: ; 3713e
+BattleCommand_Heal:
; heal
ld de, wBattleMonHP
@@ -6658,13 +6528,12 @@ BattleCommand_Heal: ; 3713e
ld hl, HPIsFullText
jp StdBattleTextBox
-; 371cd
INCLUDE "engine/battle/move_effects/transform.asm"
-BattleSideCopy: ; 372c6
+BattleSideCopy:
; Copy bc bytes from hl to de if it's the player's turn.
; Copy bc bytes from de to hl if it's the enemy's turn.
ld a, [hBattleTurn]
@@ -6679,17 +6548,15 @@ BattleSideCopy: ; 372c6
.copy
jp CopyBytes
-; 372d2
-BattleEffect_ButItFailed: ; 372d2
+BattleEffect_ButItFailed:
call AnimateFailedMove
jp PrintButItFailed
-; 372d8
-ClearLastMove: ; 372d8
+ClearLastMove:
ld a, BATTLE_VARS_LAST_COUNTER_MOVE
call GetBattleVarAddr
xor a
@@ -6701,10 +6568,9 @@ ClearLastMove: ; 372d8
ld [hl], a
ret
-; 372e7
-ResetActorDisable: ; 372e7
+ResetActorDisable:
ld a, [hBattleTurn]
and a
jr z, .player
@@ -6720,10 +6586,9 @@ ResetActorDisable: ; 372e7
ld [wDisabledMove], a
ret
-; 372fc
-BattleCommand_Screen: ; 372fc
+BattleCommand_Screen:
; screen
ld hl, wPlayerScreens
@@ -6768,87 +6633,76 @@ BattleCommand_Screen: ; 372fc
call AnimateFailedMove
jp PrintButItFailed
-; 3733d
-PrintDoesntAffect: ; 3733d
+PrintDoesntAffect:
; 'it doesn't affect'
ld hl, DoesntAffectText
jp StdBattleTextBox
-; 37343
-PrintNothingHappened: ; 37343
+PrintNothingHappened:
; 'but nothing happened!'
ld hl, NothingHappenedText
jp StdBattleTextBox
-; 37349
-TryPrintButItFailed: ; 37349
+TryPrintButItFailed:
ld a, [wAlreadyFailed]
and a
ret nz
; fallthrough
-; 3734e
-PrintButItFailed: ; 3734e
+PrintButItFailed:
; 'but it failed!'
ld hl, ButItFailedText
jp StdBattleTextBox
-; 37354
FailMove:
call AnimateFailedMove
; fallthrough
-; 37357
-FailMimic: ; 37357
+FailMimic:
ld hl, ButItFailedText ; 'but it failed!'
ld de, ItFailedText ; 'it failed!'
jp FailText_CheckOpponentProtect
-; 37360
-PrintDidntAffect: ; 37360
+PrintDidntAffect:
; 'it didn't affect'
ld hl, DidntAffect1Text
jp StdBattleTextBox
-; 37366
-PrintDidntAffect2: ; 37366
+PrintDidntAffect2:
call AnimateFailedMove
ld hl, DidntAffect1Text ; 'it didn't affect'
ld de, DidntAffect2Text ; 'it didn't affect'
jp FailText_CheckOpponentProtect
-; 37372
-PrintParalyze: ; 37372
+PrintParalyze:
; 'paralyzed! maybe it can't attack!'
ld hl, ParalyzedText
jp StdBattleTextBox
-; 37378
-CheckSubstituteOpp: ; 37378
+CheckSubstituteOpp:
ld a, BATTLE_VARS_SUBSTATUS4_OPP
call GetBattleVar
bit SUBSTATUS_SUBSTITUTE, a
ret
-; 37380
INCLUDE "engine/battle/move_effects/selfdestruct.asm"
@@ -6858,7 +6712,7 @@ INCLUDE "engine/battle/move_effects/mirror_move.asm"
INCLUDE "engine/battle/move_effects/metronome.asm"
-CheckUserMove: ; 37462
+CheckUserMove:
; Return z if the user has move a.
ld b, a
ld de, wBattleMonMoves
@@ -6882,10 +6736,9 @@ CheckUserMove: ; 37462
and a
ret
-; 3747b
-ResetTurn: ; 3747b
+ResetTurn:
ld hl, wPlayerCharging
ld a, [hBattleTurn]
and a
@@ -6899,13 +6752,12 @@ ResetTurn: ; 3747b
call DoMove
jp EndMoveEffect
-; 37492
INCLUDE "engine/battle/move_effects/thief.asm"
-BattleCommand_ArenaTrap: ; 37517
+BattleCommand_ArenaTrap:
; arenatrap
; Doesn't work on an absent opponent.
@@ -6931,13 +6783,12 @@ BattleCommand_ArenaTrap: ; 37517
call AnimateFailedMove
jp PrintButItFailed
-; 37536
INCLUDE "engine/battle/move_effects/nightmare.asm"
-BattleCommand_Defrost: ; 37563
+BattleCommand_Defrost:
; defrost
; Thaw the user.
@@ -6968,7 +6819,6 @@ BattleCommand_Defrost: ; 37563
ld hl, WasDefrostedText
jp StdBattleTextBox
-; 37588
INCLUDE "engine/battle/move_effects/curse.asm"
@@ -6988,11 +6838,10 @@ INCLUDE "engine/battle/move_effects/sandstorm.asm"
INCLUDE "engine/battle/move_effects/rollout.asm"
-BattleCommand5d: ; 37791
+BattleCommand5d:
; unused
ret
-; 37792
INCLUDE "engine/battle/move_effects/fury_cutter.asm"
@@ -7008,7 +6857,7 @@ INCLUDE "engine/battle/move_effects/frustration.asm"
INCLUDE "engine/battle/move_effects/safeguard.asm"
-SafeCheckSafeguard: ; 37962
+SafeCheckSafeguard:
push hl
ld hl, wEnemyScreens
ld a, [hBattleTurn]
@@ -7021,10 +6870,9 @@ SafeCheckSafeguard: ; 37962
pop hl
ret
-; 37972
-BattleCommand_CheckSafeguard: ; 37972
+BattleCommand_CheckSafeguard:
; checksafeguard
ld hl, wEnemyScreens
ld a, [hBattleTurn]
@@ -7041,7 +6889,6 @@ BattleCommand_CheckSafeguard: ; 37972
call StdBattleTextBox
jp EndMoveEffect
-; 37991
INCLUDE "engine/battle/move_effects/magnitude.asm"
@@ -7053,27 +6900,24 @@ INCLUDE "engine/battle/move_effects/pursuit.asm"
INCLUDE "engine/battle/move_effects/rapid_spin.asm"
-BattleCommand_HealMorn: ; 37b74
+BattleCommand_HealMorn:
; healmorn
ld b, MORN_F
jr BattleCommand_TimeBasedHealContinue
-; 37b78
-BattleCommand_HealDay: ; 37b78
+BattleCommand_HealDay:
; healday
ld b, DAY_F
jr BattleCommand_TimeBasedHealContinue
-; 37b7c
-BattleCommand_HealNite: ; 37b7c
+BattleCommand_HealNite:
; healnite
ld b, NITE_F
; fallthrough
-; 37b7e
-BattleCommand_TimeBasedHealContinue: ; 37b7e
+BattleCommand_TimeBasedHealContinue:
; Time- and weather-sensitive heal.
ld hl, wBattleMonMaxHP
@@ -7154,7 +6998,6 @@ BattleCommand_TimeBasedHealContinue: ; 37b7e
dw GetQuarterMaxHP
dw GetHalfMaxHP
dw GetMaxHP
-; 37be8
INCLUDE "engine/battle/move_effects/hidden_power.asm"
@@ -7170,7 +7013,7 @@ INCLUDE "engine/battle/move_effects/psych_up.asm"
INCLUDE "engine/battle/move_effects/mirror_coat.asm"
-BattleCommand_DoubleMinimizeDamage: ; 37ce6
+BattleCommand_DoubleMinimizeDamage:
; doubleminimizedamage
ld hl, wEnemyMinimized
@@ -7192,10 +7035,9 @@ BattleCommand_DoubleMinimizeDamage: ; 37ce6
ld [hl], a
ret
-; 37d02
-BattleCommand_SkipSunCharge: ; 37d02
+BattleCommand_SkipSunCharge:
; mimicsuncharge
ld a, [wBattleWeather]
cp WEATHER_SUN
@@ -7203,7 +7045,6 @@ BattleCommand_SkipSunCharge: ; 37d02
ld b, charge_command
jp SkipToBattleCommand
-; 37d0d
INCLUDE "engine/battle/move_effects/future_sight.asm"
@@ -7211,17 +7052,16 @@ INCLUDE "engine/battle/move_effects/future_sight.asm"
INCLUDE "engine/battle/move_effects/thunder.asm"
-CheckHiddenOpponent: ; 37daa
+CheckHiddenOpponent:
; BUG: This routine should account for Lock-On and Mind Reader.
ld a, BATTLE_VARS_SUBSTATUS3_OPP
call GetBattleVar
and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
ret
-; 37db2
-GetUserItem: ; 37db2
+GetUserItem:
; Return the effect of the user's item in bc, and its id at hl.
ld hl, wBattleMonItem
ld a, [hBattleTurn]
@@ -7232,10 +7072,9 @@ GetUserItem: ; 37db2
ld b, [hl]
jp GetItemHeldEffect
-; 37dc1
-GetOpponentItem: ; 37dc1
+GetOpponentItem:
; Return the effect of the opponent's item in bc, and its id at hl.
ld hl, wEnemyMonItem
ld a, [hBattleTurn]
@@ -7246,10 +7085,9 @@ GetOpponentItem: ; 37dc1
ld b, [hl]
jp GetItemHeldEffect
-; 37dd0
-GetItemHeldEffect: ; 37dd0
+GetItemHeldEffect:
; Return the effect of item b in bc.
ld a, b
and a
@@ -7269,10 +7107,9 @@ GetItemHeldEffect: ; 37dd0
pop hl
ret
-; 37de9
-AnimateCurrentMoveEitherSide: ; 37de9
+AnimateCurrentMoveEitherSide:
push hl
push de
push bc
@@ -7288,10 +7125,9 @@ AnimateCurrentMoveEitherSide: ; 37de9
pop hl
ret
-; 37e01
-AnimateCurrentMove: ; 37e01
+AnimateCurrentMove:
push hl
push de
push bc
@@ -7307,10 +7143,9 @@ AnimateCurrentMove: ; 37e01
pop hl
ret
-; 37e19
-PlayDamageAnim: ; 37e19
+PlayDamageAnim:
xor a
ld [wFXAnimID + 1], a
@@ -7332,10 +7167,9 @@ PlayDamageAnim: ; 37e19
jp PlayUserBattleAnim
-; 37e36
-LoadMoveAnim: ; 37e36
+LoadMoveAnim:
xor a
ld [wNumHits], a
ld [wFXAnimID + 1], a
@@ -7346,17 +7180,15 @@ LoadMoveAnim: ; 37e36
ret z
; fallthrough
-; 37e44
-LoadAnim: ; 37e44
+LoadAnim:
ld [wFXAnimID], a
; fallthrough
-; 37e47
-PlayUserBattleAnim: ; 37e47
+PlayUserBattleAnim:
push hl
push de
push bc
@@ -7366,10 +7198,9 @@ PlayUserBattleAnim: ; 37e47
pop hl
ret
-; 37e54
-PlayOpponentBattleAnim: ; 37e54
+PlayOpponentBattleAnim:
ld a, e
ld [wFXAnimID], a
ld a, d
@@ -7390,35 +7221,31 @@ PlayOpponentBattleAnim: ; 37e54
pop hl
ret
-; 37e73
-CallBattleCore: ; 37e73
+CallBattleCore:
ld a, BANK("Battle Core")
rst FarCall
ret
-; 37e77
-AnimateFailedMove: ; 37e77
+AnimateFailedMove:
call BattleCommand_LowerSub
call BattleCommand_MoveDelay
jp BattleCommand_RaiseSub
-; 37e80
-BattleCommand_MoveDelay: ; 37e80
+BattleCommand_MoveDelay:
; movedelay
; Wait 40 frames.
ld c, 40
jp DelayFrames
-; 37e85
-BattleCommand_ClearText: ; 37e85
+BattleCommand_ClearText:
; cleartext
; Used in multi-hit moves.
@@ -7427,10 +7254,9 @@ BattleCommand_ClearText: ; 37e85
.text
db "@"
-; 37e8c
-SkipToBattleCommand: ; 37e8c
+SkipToBattleCommand:
; Skip over commands until reaching command b.
ld a, [wBattleScriptBufferAddress + 1]
ld h, a
@@ -7447,10 +7273,9 @@ SkipToBattleCommand: ; 37e8c
ld [wBattleScriptBufferAddress], a
ret
-; 37ea1
-GetMoveAttr: ; 37ea1
+GetMoveAttr:
; Assuming hl = Moves + x, return attribute x of move a.
push bc
ld bc, MOVE_LENGTH
@@ -7459,10 +7284,9 @@ GetMoveAttr: ; 37ea1
pop bc
ret
-; 37ead
-GetMoveData: ; 37ead
+GetMoveData:
; Copy move struct a to de.
ld hl, Moves
ld bc, MOVE_LENGTH
@@ -7470,38 +7294,33 @@ GetMoveData: ; 37ead
ld a, BANK(Moves)
jp FarCopyBytes
-; 37ebb
-GetMoveByte: ; 37ebb
+GetMoveByte:
ld a, BANK(Moves)
jp GetFarByte
-; 37ec0
-DisappearUser: ; 37ec0
+DisappearUser:
farcall _DisappearUser
ret
-; 37ec7
-AppearUserLowerSub: ; 37ec7
+AppearUserLowerSub:
farcall _AppearUserLowerSub
ret
-; 37ece
-AppearUserRaiseSub: ; 37ece
+AppearUserRaiseSub:
farcall _AppearUserRaiseSub
ret
-; 37ed5
-_CheckBattleScene: ; 37ed5
+_CheckBattleScene:
; Checks the options. Returns carry if battle animations are disabled.
push hl
push de
@@ -7512,4 +7331,3 @@ _CheckBattleScene: ; 37ed5
pop hl
ret
-; 37ee2