summaryrefslogtreecommitdiff
path: root/battle/effect_commands.asm
diff options
context:
space:
mode:
authorBryan Bishop <kanzure@gmail.com>2013-05-06 22:15:41 -0700
committerBryan Bishop <kanzure@gmail.com>2013-05-06 22:15:41 -0700
commit2a44711fa7b96868048f39418a6095ea7013608d (patch)
treeea7ffffcfb4c93f6ae6113fd09ca721ab7271d14 /battle/effect_commands.asm
parent0e47273378b1f7f010e4d3e6dbab2a14dcc781ce (diff)
parent5a4098891ac52126c935311d891bab3fbd248c62 (diff)
Merge pull request #126 from yenatch/master
map scripts + ai + disabled line ending correction
Diffstat (limited to 'battle/effect_commands.asm')
-rw-r--r--battle/effect_commands.asm515
1 files changed, 262 insertions, 253 deletions
diff --git a/battle/effect_commands.asm b/battle/effect_commands.asm
index c6b0c1c7a..39f6b6a6a 100644
--- a/battle/effect_commands.asm
+++ b/battle/effect_commands.asm
@@ -182,7 +182,7 @@ CheckPlayerTurn:
call FarBattleTextBox
call CantMove
- call $399c
+ call UpdateBattleMonInParty
ld hl, $5f48
call CallBankF
ld a, $1
@@ -442,7 +442,7 @@ CheckEnemyTurn: ; 3421f
ld hl, WokeUpText
call FarBattleTextBox
call CantMove
- call $39b0
+ call UpdateEnemyMonInParty
ld hl, $6036
call CallBankF
ld a, $1
@@ -496,7 +496,7 @@ CheckEnemyTurn: ; 3421f
.CheckDisabled
- ld hl, EnemyEncoreCount
+ ld hl, EnemyDisableCount
ld a, [hl]
and a
jr z, .CheckConfused
@@ -507,7 +507,7 @@ CheckEnemyTurn: ; 3421f
jr nz, .CheckConfused
ld [hl], a
- ld [EnemyEncoredMove], a
+ ld [EnemyDisabledMove], a
; 'disabled no more!'
ld hl, DisabledNoMoreText
@@ -612,7 +612,7 @@ CheckEnemyTurn: ; 3421f
.CheckDisabledMove
; We can't disable a move that doesn't exist.
- ld a, [EnemyEncoredMove]
+ ld a, [EnemyDisabledMove]
and a
jr z, .CheckParalyzed
@@ -664,7 +664,7 @@ MoveDisabled: ; 3438d
ld a, BATTLE_VARS_MOVE
call CleanGetBattleVarPair
ld [$d265], a
- call $34f8
+ call GetMoveName
; 'disabled!'
ld hl, DisabledMoveText
@@ -1219,7 +1219,7 @@ Function0x3460b: ; 3460b
.asm_34616
ld c, a
ld a, 2
- call $3945
+ call UserPartyAttr
ld a, BATTLE_VARS_MOVE
call CleanGetBattleVarPair
@@ -1514,7 +1514,7 @@ BattleCommand07: ; 346d2
ld a, [hld]
ld [$ffb6], a
- call $3119
+ call Multiply
ld a, [$ffb4]
ld b, a
@@ -1528,7 +1528,7 @@ BattleCommand07: ; 346d2
ld a, $a
ld [$ffb7], a
ld b, $4
- call $3124
+ call Divide
ld a, [$ffb5]
ld b, a
ld a, [$ffb6]
@@ -1578,7 +1578,7 @@ Function0x347d3: ; 347d3
push hl
push de
push bc
- ld a, $f
+ ld a, BATTLE_VARS_MOVE_TYPE
call CleanGetBattleVarPair
ld d, a
ld b, [hl]
@@ -1593,9 +1593,9 @@ Function0x347d3: ; 347d3
jr z, .asm_3482f ; 0x347ea $43
cp $fe
jr nz, .asm_347fb ; 0x347ee $b
- ld a, $5
+ ld a, BATTLE_VARS_SUBSTATUS1_OPP
call CleanGetBattleVarPair
- bit 3, a
+ bit SUBSTATUS_IDENTIFIED, a
jr nz, .asm_3482f ; 0x347f7 $36
jr .asm_347e7 ; 0x347f9 $ec
.asm_347fb
@@ -1675,7 +1675,7 @@ Function0x3484e: ; 3484e
jr z, .asm_3489f ; 0x34863 $3a
push hl
dec a
- ld hl, $5afd
+ ld hl, Moves + PlayerMovePower - PlayerMoveStruct
call GetMoveAttr
and a
jr z, .asm_3489b ; 0x3486e $2b
@@ -1761,7 +1761,7 @@ Function0x348de: ; 348de
inc de
dec a
- ld hl, $5afd
+ ld hl, Moves + PlayerMovePower - PlayerMoveStruct
call GetMoveAttr
and a
jr z, .loop
@@ -2020,10 +2020,10 @@ Function0x34a2a: ; 34a2a
ld a, [hl]
ld [CurSpecies], a
- call GetBaseStats
+ call GetBaseData
ld a, [LastEnemyCounterMove]
dec a
- ld hl, $5afd
+ ld hl, Moves + PlayerMovePower - PlayerMoveStruct
call GetMoveAttr
and a
jr z, .asm_34a77
@@ -2113,7 +2113,7 @@ Function0x34aa7: ; 34aa7
jr z, .asm_34aef
dec a
- ld hl, $5afd
+ ld hl, Moves + PlayerMovePower - PlayerMoveStruct
call GetMoveAttr
and a
jr z, .asm_34ae9
@@ -2200,13 +2200,13 @@ Function0x34b20: ; 34b20
push hl
ld [CurSpecies], a
- call GetBaseStats
+ call GetBaseData
ld a, [LastEnemyCounterMove]
and a
jr z, .asm_34b4a
dec a
- ld hl, $5afd
+ ld hl, Moves + PlayerMovePower - PlayerMoveStruct
call GetMoveAttr
and a
jr z, .asm_34b4a
@@ -2389,7 +2389,7 @@ BattleCommand09: ; 34d32
; Perfect-accuracy moves
ld a, BATTLE_VARS_MOVE_EFFECT
call CleanGetBattleVarPair
- cp $11
+ cp EFFECT_ALWAYS_HIT
ret z
call .StatModifiers
@@ -2406,7 +2406,7 @@ BattleCommand09: ; 34d32
push bc
call GetOpponentItem
ld a, b
- cp $4d ; brightpowder
+ cp HELD_BRIGHTPOWDER
ld a, c ; % miss
pop bc
jr nz, .asm_34d81
@@ -2435,7 +2435,7 @@ BattleCommand09: ; 34d32
; Keep the damage value intact if we're using (Hi) Jump Kick.
ld a, BATTLE_VARS_MOVE_EFFECT
call CleanGetBattleVarPair
- cp $2d
+ cp EFFECT_JUMP_KICK
jr z, .Missed
call ResetDamage
@@ -2450,12 +2450,12 @@ BattleCommand09: ; 34d32
; a monster that isn't sleeping.
ld a, BATTLE_VARS_MOVE_EFFECT
call CleanGetBattleVarPair
- cp $8
+ cp EFFECT_DREAM_EATER
ret nz
ld a, BATTLE_VARS_STATUS_OPP
call CleanGetBattleVarPair
- and 7 ; sleep
+ and SLP
ret
@@ -2463,7 +2463,7 @@ BattleCommand09: ; 34d32
; Return nz if the opponent is protected.
ld a, BATTLE_VARS_SUBSTATUS1_OPP
call CleanGetBattleVarPair
- bit 2, a
+ bit SUBSTATUS_PROTECT, a
ret z
ld c, 40
@@ -2486,13 +2486,13 @@ BattleCommand09: ; 34d32
; Fissure or Magnitude on a monster that is flying.
ld a, BATTLE_VARS_SUBSTATUS5_OPP
call GetBattleVarPair
- bit 5, [hl]
- res 5, [hl]
+ bit SUBSTATUS_LOCK_ON, [hl]
+ res SUBSTATUS_LOCK_ON, [hl]
ret z
ld a, BATTLE_VARS_SUBSTATUS3_OPP
call CleanGetBattleVarPair
- bit 6, a ; flying
+ bit SUBSTATUS_FLYING, a
jr z, .LockedOn
ld a, BATTLE_VARS_MOVE_ANIM
@@ -2513,15 +2513,15 @@ BattleCommand09: ; 34d32
.DrainSub
; Return z if using an HP drain move on a substitute.
- call CheckSubstituteOpp ; CheckOpponentSub
+ call CheckSubstituteOpp
jr z, .asm_34e00
ld a, BATTLE_VARS_MOVE_EFFECT
call CleanGetBattleVarPair
- cp $3 ; drain
+ cp EFFECT_LEECH_HIT
ret z
- cp $8 ; dream eater
+ cp EFFECT_DREAM_EATER
ret z
.asm_34e00
@@ -2536,10 +2536,10 @@ BattleCommand09: ; 34d32
ld a, BATTLE_VARS_SUBSTATUS3_OPP
call CleanGetBattleVarPair
- and $60 ; fly | dig
+ and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
ret z
- bit 6, a
+ bit SUBSTATUS_FLYING, a
jr z, .DigMoves
ld a, BATTLE_VARS_MOVE_ANIM
@@ -2570,7 +2570,7 @@ BattleCommand09: ; 34d32
; Return z if the current move always hits in rain, and it is raining.
ld a, BATTLE_VARS_MOVE_EFFECT
call CleanGetBattleVarPair
- cp $98
+ cp EFFECT_THUNDER
ret nz
ld a, [Weather]
@@ -2582,7 +2582,7 @@ BattleCommand09: ; 34d32
; Return nz if unleashing energy from Bide.
ld a, BATTLE_VARS_SUBSTATUS4
call CleanGetBattleVarPair
- bit 0, a
+ bit SUBSTATUS_UNLEASH, a
ret
@@ -2611,7 +2611,7 @@ BattleCommand09: ; 34d32
ld a, BATTLE_VARS_SUBSTATUS1_OPP
call CleanGetBattleVarPair
- bit 3, a
+ bit SUBSTATUS_IDENTIFIED, a
ret nz
.asm_34e6b
@@ -2718,12 +2718,12 @@ BattleCommand0a: ; 34eee
ld a, BATTLE_VARS_SUBSTATUS4
call CleanGetBattleVarPair
- bit 4, a
+ bit SUBSTATUS_SUBSTITUTE, a
ret z
ld a, BATTLE_VARS_SUBSTATUS3
call CleanGetBattleVarPair
- bit 4, a
+ bit SUBSTATUS_CHARGED, a
jr nz, .asm_34f18
ld a, BATTLE_VARS_MOVE_EFFECT
@@ -2841,8 +2841,8 @@ BattleCommand0b: ; 34f60
jp Function0x37ec7
.asm_34fb0
ld a, [$c689]
- and $1
- xor $1
+ and 1
+ xor 1
ld [$c689], a
ld a, [de]
cp $1
@@ -2850,7 +2850,7 @@ BattleCommand0b: ; 34f60
ld a, BATTLE_VARS_MOVE_ANIM
call CleanGetBattleVarPair
ld e, a
- ld d, $0
+ ld d, 0
pop af
jp z, PlayFXAnimID
xor a
@@ -2910,7 +2910,7 @@ BattleCommand93: ; 34ffd
BattleCommand0c: ; 35004
ld a, BATTLE_VARS_SUBSTATUS4
call CleanGetBattleVarPair
- bit 4, a
+ bit SUBSTATUS_SUBSTITUTE, a
ret z
call Function0x37ed5
@@ -2960,8 +2960,8 @@ BattleCommand0d: ; 35023
.asm_3504f
ld a, BATTLE_VARS_SUBSTATUS3
call GetBattleVarPair
- res 5, [hl]
- res 6, [hl]
+ res SUBSTATUS_UNDERGROUND, [hl]
+ res SUBSTATUS_FLYING, [hl]
call Function0x37ece
jp EndMoveEffect
; 3505e
@@ -2972,7 +2972,7 @@ BattleCommand0e: ; 3505e
ld a, BATTLE_VARS_SUBSTATUS1_OPP
call CleanGetBattleVarPair
- bit 5, a
+ bit SUBSTATUS_ENDURE, a
jr z, .asm_35072 ; 35065 $b
call BattleCommand4b
ld b, $0
@@ -2983,7 +2983,7 @@ BattleCommand0e: ; 3505e
.asm_35072
call GetOpponentItem
ld a, b
- cp $4f
+ cp HELD_FOCUS_BAND
ld b, $0
jr nz, .asm_3508b ; 3507a $f
call FarBattleRNG
@@ -3020,21 +3020,22 @@ BattleCommand0e: ; 3505e
call GetOpponentItem
ld a, [hl]
ld [$d265], a
- call $3468
+ call GetItemName
ld hl, HungOnText
jp FarBattleTextBox
.asm_50bb
- ld a, $8
+ ld a, BATTLE_VARS_SUBSTATUS4_OPP
call CleanGetBattleVarPair
- bit 4, a
+ bit SUBSTATUS_SUBSTITUTE, a
ret nz
- ld de, EnemyDamageTaken
+
+ ld de, PlayerDamageTaken + 1
ld a, [hBattleTurn]
and a
- jr nz, .asm_350ce ; 0x350c9 $3
- ld de, $c685
+ jr nz, .asm_350ce
+ ld de, EnemyDamageTaken + 1
.asm_350ce
ld a, [CurDamage + 1]
@@ -3063,9 +3064,9 @@ Function0x350e4: ; 350e4
ld a, [TypeModifier]
and $7f
jr z, .asm_35110 ; 0x350ef $1f
- ld a, $d
+ ld a, BATTLE_VARS_MOVE_EFFECT
call CleanGetBattleVarPair
- cp $94
+ cp EFFECT_FUTURE_SIGHT
ld hl, ButItFailedText
ld de, ItFailedText
jr z, .asm_35110 ; 0x350fe $10
@@ -3079,9 +3080,9 @@ Function0x350e4: ; 350e4
call Function0x35157
xor a
ld [CriticalHit], a
- ld a, $d
+ ld a, BATTLE_VARS_MOVE_EFFECT
call CleanGetBattleVarPair
- cp $2d
+ cp EFFECT_JUMP_KICK
ret nz
ld a, [TypeModifier]
and $7f
@@ -3117,7 +3118,7 @@ Function0x350e4: ; 350e4
Function0x35157: ; 35157
ld a, BATTLE_VARS_SUBSTATUS1_OPP
call CleanGetBattleVarPair
- bit 2, a ; protect
+ bit SUBSTATUS_PROTECT, a
jr z, .asm_35162
ld h, d
ld l, e
@@ -3232,7 +3233,7 @@ BattleCommand11: ; 351c0
ld a, BATTLE_VARS_SUBSTATUS5_OPP
call CleanGetBattleVarPair
- bit 6, a
+ bit SUBSTATUS_DESTINY_BOND, a
jr z, .asm_35231
ld hl, TookDownWithItText
@@ -3267,8 +3268,8 @@ BattleCommand11: ; 351c0
ld h, b
ld l, c
ld a, $b
- call $2d83
- call $39c9
+ call Predef
+ call RefreshBattleHuds
call SwitchTurn
xor a
@@ -3315,7 +3316,7 @@ BattleCommand12: ; 35250
ld a, BATTLE_VARS_SUBSTATUS4_OPP
call CleanGetBattleVarPair
- bit 6, a
+ bit SUBSTATUS_RAGE, a
ret z
ld de, $c72c
@@ -3929,7 +3930,7 @@ BattleCommanda1: ; 35461
call FarBattleTextBox
ld a, [BattleMonSpecies]
ld [CurSpecies], a
- call GetBaseStats
+ call GetBaseData
ld a, [$d239]
ld c, a
push bc
@@ -3937,7 +3938,7 @@ BattleCommanda1: ; 35461
call Function0x355bd
ld a, [hl]
ld [CurSpecies], a
- call GetBaseStats
+ call GetBaseData
ld a, [$d238]
pop bc
ld b, a
@@ -4270,23 +4271,23 @@ BattleCommand62: ; 35612
TypeBoostItems: ; 35703
- db $32, NORMAL ; Pink/Polkadot Bow
- db $33, FIGHTING ; Blackbelt
- db $34, FLYING ; Sharp Beak
- db $35, POISON ; Poison Barb
- db $36, GROUND ; Soft Sand
- db $37, ROCK ; Hard Stone
- db $38, BUG ; Silverpowder
- db $39, GHOST ; Spell Tag
- db $3a, FIRE ; Charcoal
- db $3b, WATER ; Mystic Water
- db $3c, GRASS ; Miracle Seed
- db $3d, ELECTRIC ; Magnet
- db $3e, PSYCHIC ; Twistedspoon
- db $3f, ICE ; Nevermeltice
- db $40, DRAGON ; Dragon Scale
- db $41, DARK ; Blackglasses
- db $42, STEEL ; Metal Coat
+ db HELD_NORMAL_BOOST, NORMAL ; Pink/Polkadot Bow
+ db HELD_FIGHTING_BOOST, FIGHTING ; Blackbelt
+ db HELD_FLYING_BOOST, FLYING ; Sharp Beak
+ db HELD_POISON_BOOST, POISON ; Poison Barb
+ db HELD_GROUND_BOOST, GROUND ; Soft Sand
+ db HELD_ROCK_BOOST, ROCK ; Hard Stone
+ db HELD_BUG_BOOST, BUG ; Silverpowder
+ db HELD_GHOST_BOOST, GHOST ; Spell Tag
+ db HELD_FIRE_BOOST, FIRE ; Charcoal
+ db HELD_WATER_BOOST, WATER ; Mystic Water
+ db HELD_GRASS_BOOST, GRASS ; Miracle Seed
+ db HELD_ELECTRIC_BOOST, ELECTRIC ; Magnet
+ db HELD_PSYCHIC_BOOST, PSYCHIC ; Twistedspoon
+ db HELD_ICE_BOOST, ICE ; Nevermeltice
+ db HELD_DRAGON_BOOST, DRAGON ; Dragon Scale
+ db HELD_DARK_BOOST, DARK ; Blackglasses
+ db HELD_STEEL_BOOST, STEEL ; Metal Coat
db $ff
; 35726
@@ -4303,20 +4304,20 @@ BattleCommand3f: ; 35726
.asm_35731
ld a, BATTLE_VARS_MOVE_EFFECT
call CleanGetBattleVarPair
- cp $57 ; by level (seismic toss, night shade)
+ cp EFFECT_LEVEL_DAMAGE
ld b, [hl]
ld a, 0
jr z, .asm_3578c
ld a, BATTLE_VARS_MOVE_EFFECT
call CleanGetBattleVarPair
- cp $58 ; variable (psywave)
+ cp EFFECT_PSYWAVE
jr z, .asm_35758
- cp $28 ; half hp (super fang)
+ cp EFFECT_SUPER_FANG
jr z, .asm_3576b
- cp $63 ; by hp (flail, reversal)
+ cp EFFECT_REVERSAL
jr z, .asm_35792
ld a, BATTLE_VARS_MOVE_POWER
@@ -4382,7 +4383,7 @@ BattleCommand3f: ; 35726
ld [$ffb6], a
ld a, $30
ld [$ffb7], a
- call $3119
+ call Multiply
ld a, [hli]
ld b, a
ld a, [hl]
@@ -4410,10 +4411,10 @@ BattleCommand3f: ; 35726
.asm_357d6
ld b, $4
- call $3124
+ call Divide
ld a, [$ffb6]
ld b, a
- ld hl, .table_35807
+ ld hl, .FlailPower
.asm_357e1
ld a, [hli]
@@ -4446,13 +4447,14 @@ BattleCommand3f: ; 35726
ld [hl], 1
ret
-.table_35807
- db 1, $c8
- db 4, $96
- db 9, $64
- db 16, $50
- db 32, $28
- db 48, $14
+.FlailPower
+ ; px, bp
+ db 1, 200
+ db 4, 150
+ db 9, 100
+ db 16, 80
+ db 32, 40
+ db 48, 20
; 35813
@@ -4516,7 +4518,7 @@ BattleCommand41: ; 35864
; encore
ld hl, EnemyMonMoves
- ld de, EnemyPerishCount
+ ld de, EnemyEncoreCount
ld a, [hBattleTurn]
and a
jr z, .asm_35875 ; 3586d $6
@@ -4649,7 +4651,7 @@ BattleCommand42: ; 35926
ld [$d10a], a
ld hl, $c55e
ld a, $b
- call $2d83
+ call Predef
ld hl, EnemyMonHPHi
ld a, [hli]
ld [$d1ed], a
@@ -4665,7 +4667,7 @@ BattleCommand42: ; 35926
call ResetDamage
ld hl, $c4ca
ld a, $b
- call $2d83
+ call Predef
ld a, $5e
ld hl, $4000
rst FarCall
@@ -4742,7 +4744,7 @@ BattleCommand43: ; 359d0
; snore
ld a, BATTLE_VARS_STATUS
call CleanGetBattleVarPair
- and $7
+ and SLP
ret nz
call ResetDamage
ld a, $1
@@ -4770,11 +4772,11 @@ BattleCommand44: ; 359e6
jr z, .asm_35a50 ; 359fd $51
push hl
dec a
- ld hl, $5afe
+ ld hl, Moves + PlayerMoveType - PlayerMoveStruct
call GetMoveAttr
ld d, a
pop hl
- cp $13
+ cp CURSE_T
jr z, .asm_35a50 ; 35a0b $43
call Function0x37e01
@@ -4811,7 +4813,7 @@ BattleCommand44: ; 359e6
ld a, [hl]
ld [$d265], a
ld a, $29
- call $2d83
+ call Predef
ld hl, $5452
jp FarBattleTextBox
.asm_35a50
@@ -4823,13 +4825,13 @@ BattleCommand45: ; 35a53
; lockon
call CheckSubstituteOpp
- jr nz, .asm_35a6e ; 35a56 $16
+ jr nz, .asm_35a6e
ld a, [AttackMissed]
and a
- jr nz, .asm_35a6e ; 35a5c $10
+ jr nz, .asm_35a6e
ld a, BATTLE_VARS_SUBSTATUS5_OPP
call GetBattleVarPair
- set 5, [hl]
+ set SUBSTATUS_LOCK_ON, [hl]
call Function0x37e01
ld hl, TookAimText
@@ -4852,13 +4854,13 @@ BattleCommand46: ; 35a74
jp PrintNothingHappened
.asm_35a83
call CheckSubstituteOpp
- jp nz, $5b10
+ jp nz, .asm_35b10
ld a, BATTLE_VARS_SUBSTATUS5_OPP
call GetBattleVarPair
bit 3, [hl]
- jp nz, $5b10
+ jp nz, .asm_35b10
ld a, $2
- call $3945
+ call UserPartyAttr
ld d, h
ld e, l
ld hl, BattleMonMoves
@@ -4873,7 +4875,7 @@ BattleCommand46: ; 35a74
ld b, a
and a
jr z, .asm_35b10 ; 35aaf $5f
- cp $a5
+ cp STRUGGLE
jr z, .asm_35b10 ; 35ab3 $5b
ld c, $4
.asm_35ab7
@@ -4887,7 +4889,7 @@ BattleCommand46: ; 35a74
.asm_35ac1
dec c
ld a, [hld]
- cp $a6
+ cp SKETCH
jr nz, .asm_35ac1 ; 35ac5 $fa
inc hl
ld a, b
@@ -4895,7 +4897,7 @@ BattleCommand46: ; 35a74
push bc
push hl
dec a
- ld hl, $5b00
+ ld hl, Moves + PlayerMovePP - PlayerMoveStruct
call GetMoveAttr
pop hl
ld bc, $0006
@@ -4932,7 +4934,7 @@ BattleCommand46: ; 35a74
add hl, de
ld [hl], a
.asm_35b04
- call $34f8
+ call GetMoveName
call Function0x37e01
ld hl, SketchedText
@@ -4988,7 +4990,7 @@ BattleCommand48: ; 35b33
ld d, a
jr z, .asm_35b4f ; 35b46 $7
ld hl, EnemyMonMove2
- ld a, [EnemyEncoredMove]
+ ld a, [EnemyDisabledMove]
ld d, a
.asm_35b4f
ld a, BATTLE_VARS_STATUS
@@ -5057,7 +5059,7 @@ BattleCommand48: ; 35b33
ld a, [DisabledMove]
jr z, .asm_35bbe
- ld a, [EnemyEncoredMove]
+ ld a, [EnemyDisabledMove]
.asm_35bbe
ld b, a
ld a, $10
@@ -5138,7 +5140,7 @@ BattleCommand4a: ; 35c0f
ld a, [AttackMissed]
and a
- jp nz, $5c91
+ jp nz, .asm_35c91
ld bc, $0030
ld hl, EnemyMonMoves
ld a, [hBattleTurn]
@@ -5170,7 +5172,7 @@ BattleCommand4a: ; 35c0f
and $3f
jr z, .asm_35c91 ; 35c46 $49
push bc
- call $34f8
+ call GetMoveName
call FarBattleRNG
and $3
inc a
@@ -5187,7 +5189,7 @@ BattleCommand4a: ; 35c0f
ld [hl], a
push af
ld a, $17
- call $3951
+ call OpponentPartyAttr
ld d, b
pop af
pop bc
@@ -5385,7 +5387,7 @@ Function0x35d1c: ; 35d1c
ld a, $b
call Predef
.asm_35d7b
- jp $39c9
+ jp RefreshBattleHuds
; 35d7e
@@ -5443,7 +5445,7 @@ Function0x35d7e: ; 35d7e
ld a, $b
call Predef
.asm_35ddd
- jp $39c9
+ jp RefreshBattleHuds
; 35de0
@@ -5472,7 +5474,7 @@ Function0x35de0: ; 35de0
jr nc, .asm_35e3d
.asm_35dff
- ld a, $8
+ ld a, BATTLE_VARS_SUBSTATUS4_OPP
call GetBattleVarPair
res 4, [hl]
@@ -5481,29 +5483,29 @@ Function0x35de0: ; 35de0
call SwitchTurn
call BattleCommanda7
- ld a, $2
+ ld a, BATTLE_VARS_SUBSTATUS3
call CleanGetBattleVarPair
- and $60
+ and $60 ; fly | dig
call z, Function0x37ec7
call SwitchTurn
ld a, BATTLE_VARS_MOVE_EFFECT
call GetBattleVarPair
- cp $1d
+ cp EFFECT_MULTI_HIT
jr z, .asm_35e3a
- cp $2c
+ cp EFFECT_DOUBLE_HIT
jr z, .asm_35e3a
- cp $4d
+ cp EFFECT_TWINEEDLE
jr z, .asm_35e3a
- cp $68
+ cp EFFECT_TRIPLE_KICK
jr z, .asm_35e3a
- cp $9a
+ cp EFFECT_BEAT_UP
jr z, .asm_35e3a
xor a
ld [hl], a
.asm_35e3a
- call $39c9
+ call RefreshBattleHuds
.asm_35e3d
jp ResetDamage
; 35e40
@@ -5537,7 +5539,7 @@ BattleCommand14: ; 35e5c
jr nz, .asm_35e70 ; 35e62 $c
ld a, [hl]
ld [$d265], a
- call $3468
+ call GetItemName
ld hl, ProtectedByText
jr .asm_35ec6
@@ -5581,8 +5583,8 @@ BattleCommand14: ; 35e5c
jr z, .asm_35ea4
inc a
ld [de], a
- call $398e
- call $39c9
+ call UpdateOpponentInParty
+ call RefreshBattleHuds
ld hl, FellAsleepText
call FarBattleTextBox
@@ -5659,7 +5661,7 @@ BattleCommand13: ; 35eee
call Function0x35ff5
ld de, $0106
call Function0x37e54
- call $39c9
+ call RefreshBattleHuds
ld hl, WasPoisonedText
call FarBattleTextBox
@@ -5692,7 +5694,7 @@ BattleCommand2f: ; 35f2c
jr nz, .asm_35f5f ; 35f51 $c
ld a, [hl]
ld [$d265], a
- call $3468
+ call GetItemName
ld hl, ProtectedByText
jr .asm_35fb8 ; 35f5d $59
.asm_35f5f
@@ -5756,22 +5758,22 @@ BattleCommand2f: ; 35f2c
Function0x35fc0: ; 35fc0
call Function0x37e01
call Function0x35ff5
- jp $39c9
+ jp RefreshBattleHuds
; 35fc9
Function0x35fc9: ; 35fc9
- ld a, $9
- call $39e7
+ ld a, BATTLE_VARS_SUBSTATUS5_OPP
+ call GetBattleVarPair
ld a, [hBattleTurn]
and a
ld de, $c67c
- jr z, .asm_35fd9 ; 0x35fd4 $3
+ jr z, .asm_35fd9
ld de, $c674
.asm_35fd9
- ld a, $d
+ ld a, BATTLE_VARS_MOVE_EFFECT
call CleanGetBattleVarPair
- cp $21
+ cp EFFECT_TOXIC
ret
; 35fe1
@@ -5780,24 +5782,24 @@ Function0x35fe1: ; 35fe1
ld de, EnemyMonType1
ld a, [hBattleTurn]
and a
- jr z, .asm_35fec ; 0x35fe7 $3
+ jr z, .asm_35fec
ld de, BattleMonType1
.asm_35fec
ld a, [de]
inc de
- cp $3
+ cp POISON
ret z
ld a, [de]
- cp $3
+ cp POISON
ret
; 35ff5
Function0x35ff5: ; 35ff5
- ld a, $b
- call $39e7
- set 3, [hl]
- jp $398e
+ ld a, BATTLE_VARS_STATUS_OPP
+ call GetBattleVarPair
+ set PSN, [hl]
+ jp UpdateOpponentInParty
; 35fff
@@ -5895,8 +5897,8 @@ Function0x36011: ; 36011
ld [$d10a], a
ld a, $b
call Predef
- call $39c9
- jp $399c
+ call RefreshBattleHuds
+ jp UpdateBattleMonInParty
; 3608c
@@ -5928,12 +5930,12 @@ BattleCommand17: ; 3608c
ld a, BATTLE_VARS_STATUS_OPP
call GetBattleVarPair
set 4, [hl]
- call $398e
+ call UpdateOpponentInParty
ld hl, $6c76
call CallBankF
ld de, $0105
call Function0x37e54
- call $39c9
+ call RefreshBattleHuds
ld hl, WasBurnedText
call FarBattleTextBox
@@ -5965,7 +5967,7 @@ Defrost: ; 360dd
call GetPartyLocation
xor a
ld [hl], a
- call $398e
+ call UpdateOpponentInParty
ld hl, DefrostedOpponentText
jp FarBattleTextBox
@@ -6003,10 +6005,10 @@ BattleCommand18: ; 36102
ld a, BATTLE_VARS_STATUS_OPP
call GetBattleVarPair
set 5, [hl]
- call $398e
+ call UpdateOpponentInParty
ld de, $0108
call Function0x37e54
- call $39c9
+ call RefreshBattleHuds
ld hl, WasFrozenText
call FarBattleTextBox
@@ -6054,12 +6056,12 @@ BattleCommand19: ; 36165
ld a, BATTLE_VARS_STATUS_OPP
call GetBattleVarPair
set 6, [hl]
- call $398e
+ call UpdateOpponentInParty
ld hl, $6c39
call CallBankF
ld de, $0109
call Function0x37e54
- call $39c9
+ call RefreshBattleHuds
call PrintParalyze
ld hl, $5de9
jp CallBankF
@@ -6418,27 +6420,27 @@ Function0x36386: ; 36386
Function0x36391: ; 36391
- ld a, $d
+ ld a, BATTLE_VARS_MOVE_EFFECT
call CleanGetBattleVarPair
- cp $12
- jr c, .asm_363ae ; 0x36398 $14
- cp $19
- jr c, .asm_363b0 ; 0x3639c $12
- cp $3a
- jr c, .asm_363ae ; 0x363a0 $c
- cp $41
- jr c, .asm_363b0 ; 0x363a4 $a
- cp $44
- jr c, .asm_363ae ; 0x363a8 $4
- cp $4b
- jr c, .asm_363b0 ; 0x363ac $2
+ cp EFFECT_ATTACK_DOWN
+ jr c, .asm_363ae
+ cp EFFECT_EVASION_DOWN + 1
+ jr c, .asm_363b0
+ cp EFFECT_ATTACK_DOWN_2
+ jr c, .asm_363ae
+ cp EFFECT_EVASION_DOWN_2 + 1
+ jr c, .asm_363b0
+ cp EFFECT_ATTACK_DOWN_HIT
+ jr c, .asm_363ae
+ cp EFFECT_EVASION_DOWN_HIT + 1
+ jr c, .asm_363b0
.asm_363ae
xor a
ret
.asm_363b0
- ld a, $8
+ ld a, BATTLE_VARS_SUBSTATUS4_OPP
call CleanGetBattleVarPair
- bit 1, a
+ bit SUBSTATUS_MIST, a
ret
; 363b8
@@ -6937,11 +6939,11 @@ BattleCommand21: ; 36671
ld hl, PlayerRolloutCount
ld a, [hBattleTurn]
and a
- jr z, .asm_36684 ; 3667f $3
+ jr z, .asm_36684
ld hl, EnemyRolloutCount
.asm_36684
dec [hl]
- jr nz, .asm_366dc ; 36685 $55
+ jr nz, .asm_366dc
ld a, BATTLE_VARS_SUBSTATUS3
call GetBattleVarPair
res 0, [hl]
@@ -6951,14 +6953,14 @@ BattleCommand21: ; 36671
ld a, BATTLE_VARS_MOVE_POWER
call GetBattleVarPair
- ld a, $1
+ ld a, 1
ld [hl], a
- ld hl, EnemyDamageTaken
+ ld hl, PlayerDamageTaken + 1
ld de, $c732
ld a, [hBattleTurn]
and a
- jr z, .asm_366ad ; 366a5 $6
- ld hl, $c685
+ jr z, .asm_366ad
+ ld hl, EnemyDamageTaken + 1
ld de, $c733
.asm_366ad
ld a, [hld]
@@ -6968,23 +6970,24 @@ BattleCommand21: ; 36671
ld a, [hl]
rl a
ld [CurDamage], a
- jr nc, .asm_366c3 ; 366b9 $8
+ jr nc, .asm_366c3
ld a, $ff
ld [CurDamage], a
ld [CurDamage + 1], a
.asm_366c3
or b
- jr nz, .asm_366cb ; 366c4 $5
- ld a, $1
+ jr nz, .asm_366cb
+ ld a, 1
ld [AttackMissed], a
.asm_366cb
xor a
ld [hli], a
ld [hl], a
ld [de], a
+
ld a, BATTLE_VARS_MOVE_ANIM
call GetBattleVarPair
- ld a, $75
+ ld a, BIDE
ld [hl], a
ld b, $22 ; unleashenergy
@@ -7098,17 +7101,18 @@ BattleCommanda0: ; 36778
; teleport
ld a, [BattleType]
- cp $7 ; BATTLE_SHINY
+ cp BATTLETYPE_SHINY
jr z, .asm_367b9
- cp $9 ; ?
+ cp $9
jr z, .asm_367b9
- cp $b ; ?
+ cp $b
jr z, .asm_367b9
- cp $c ; suicune
+ cp BATTLETYPE_SUICUNE
jr z, .asm_367b9
+
ld a, BATTLE_VARS_SUBSTATUS5_OPP
call CleanGetBattleVarPair
- bit 7, a
+ bit SUBSTATUS_CANT_RUN, a
jr nz, .asm_367b9
ld a, [hBattleTurn]
and a
@@ -7158,7 +7162,7 @@ BattleCommanda0: ; 36778
cp b
jr nc, .asm_367df ; 367dd $0
.asm_367df
- call $399c
+ call UpdateBattleMonInParty
xor a
ld [$cfca], a
inc a
@@ -7167,7 +7171,7 @@ BattleCommanda0: ; 36778
call Function0x36804
call BattleCommand0a
call Function0x37e36
- ld c, $14
+ ld c, 20
call DelayFrames
call Function0x36804
@@ -7189,13 +7193,13 @@ BattleCommand23: ; 3680f
; forceswitch
ld a, [BattleType]
- cp $7
+ cp BATTLETYPE_SHINY
jp z, .asm_36969
cp $9
jp z, .asm_36969
cp $b
jp z, .asm_36969
- cp $c
+ cp BATTLETYPE_SUICUNE
jp z, .asm_36969
ld a, [hBattleTurn]
and a
@@ -7225,7 +7229,7 @@ BattleCommand23: ; 3680f
.asm_36852
jp .asm_36969
.asm_36855
- call $399c
+ call UpdateBattleMonInParty
xor a
ld [$cfca], a
inc a
@@ -7239,7 +7243,7 @@ BattleCommand23: ; 3680f
ld a, [$c70f]
and a
jr z, .asm_368ca ; 36872 $56
- call $39b0
+ call UpdateEnemyMonInParty
ld a, $1
ld [$c689], a
call Function0x37e01
@@ -7318,7 +7322,7 @@ BattleCommand23: ; 3680f
jr .asm_36969
.asm_368f5
- call $399c
+ call UpdateBattleMonInParty
xor a
ld [$cfca], a
inc a
@@ -7335,7 +7339,7 @@ BattleCommand23: ; 3680f
cp $1
jr z, .asm_368ca
- call $399c
+ call UpdateBattleMonInParty
ld a, $1
ld [$c689], a
call Function0x37e01
@@ -7453,7 +7457,7 @@ BattleCommand24: ; 369b6
ld a, BATTLE_VARS_SUBSTATUS3
call GetBattleVarPair
bit 2, [hl]
- jp nz, $6a43
+ jp nz, .asm_36a43
set 2, [hl]
ld a, BATTLE_VARS_MOVE_EFFECT
call GetBattleVarPair
@@ -7519,6 +7523,8 @@ BattleCommand24: ; 369b6
.asm_36a3f
ld a, $1
jr .asm_36a3a ; 36a41 $f7
+
+.asm_36a43
ld a, [de]
dec a
ld [de], a
@@ -8016,8 +8022,8 @@ BattleCommand27: ; 36cb2
.asm_36d0c
ld [$d10a], a
ld a, $b
- call $2d83
- call $39c9
+ call Predef
+ call RefreshBattleHuds
ld hl, RecoilText
jp FarBattleTextBox
; 36d1d
@@ -8053,7 +8059,7 @@ BattleCommand2a: ; 36d3b
jr nz, .asm_36d53
ld a, [hl]
ld [$d265], a
- call $3468
+ call GetItemName
call Function0x37e77
ld hl, ProtectedByText
jp FarBattleTextBox
@@ -8150,7 +8156,7 @@ BattleCommand30: ; 36dc7
jr nz, .asm_36def ; 36ddd $10
ld a, [hl]
ld [$d265], a
- call $3468
+ call GetItemName
call Function0x37e77
ld hl, ProtectedByText
jp FarBattleTextBox
@@ -8188,10 +8194,10 @@ BattleCommand30: ; 36dc7
ld a, BATTLE_VARS_STATUS_OPP
call GetBattleVarPair
set 6, [hl]
- call $398e
+ call UpdateOpponentInParty
ld hl, $6c39
call CallBankF
- call $39d4
+ call UpdateBattleHuds
call PrintParalyze
ld hl, $5de9
jp CallBankF
@@ -8310,7 +8316,7 @@ BattleCommand31: ; 36e7c
.asm_36eeb
ld hl, MadeSubstituteText
call FarBattleTextBox
- jp $39c9
+ jp RefreshBattleHuds
.asm_36ef4
call Function0x34548
call nz, BattleCommand0c
@@ -8431,7 +8437,7 @@ BattleCommand33: ; 36f46
ld bc, $0006
add hl, bc
ld [hl], $5
- call $34f8
+ call GetMoveName
call Function0x37e01
ld hl, LearnedMoveText
jp FarBattleTextBox
@@ -8493,7 +8499,7 @@ BattleCommand37: ; 36fed
ld a, [AttackMissed]
and a
jr nz, .asm_37059 ; 36ff1 $66
- ld de, EnemyEncoreCount
+ ld de, EnemyDisableCount
ld hl, EnemyMonMoves
ld a, [hBattleTurn]
and a
@@ -8548,7 +8554,7 @@ BattleCommand37: ; 36fed
call CleanGetBattleVarPair
ld [hl], a
ld [$d265], a
- call $34f8
+ call GetMoveName
ld hl, WasDisabledText
jp FarBattleTextBox
.asm_37059
@@ -8608,7 +8614,7 @@ BattleCommand1f: ; 3707f
push hl
push bc
dec a
- ld hl, $5afe
+ ld hl, Moves + PlayerMoveType - PlayerMoveStruct
call GetMoveAttr
ld [de], a
inc de
@@ -8784,8 +8790,8 @@ BattleCommand2c: ; 3713e
ld hl, $4cef
call CallBankF
call SwitchTurn
- call $3995
- call $39c9
+ call UpdateUserInParty
+ call RefreshBattleHuds
ld hl, RegainedHealthText
jp FarBattleTextBox
@@ -8976,8 +8982,8 @@ Function0x372e7: ; 372e7
jr z, .player
xor a
- ld [EnemyEncoreCount], a
- ld [EnemyEncoredMove], a
+ ld [EnemyDisableCount], a
+ ld [EnemyDisabledMove], a
ret
.player
@@ -9141,7 +9147,7 @@ BattleCommand1a: ; 37380
ld hl, $6043
rst FarCall
call $31f6
- jp $39c9
+ jp RefreshBattleHuds
; 373c9
@@ -9174,7 +9180,7 @@ BattleCommand1b: ; 373c9
pop af
dec a
call GetMoveData
- call $34f8
+ call GetMoveName
call $30d6
call Function0x34548
jr nz, .asm_37412 ; 37405 $b
@@ -9360,7 +9366,7 @@ BattleCommand50: ; 37492
ld [hl], a
ld [de], a
.asm_374f8
- call $3468
+ call GetItemName
ld hl, StoleText
jp FarBattleTextBox
@@ -9441,10 +9447,10 @@ BattleCommand53: ; 37563
jr z, .asm_3757f ; 37576 $7
.asm_37578
ld a, $20
- call $3945
+ call UserPartyAttr
res 5, [hl]
.asm_3757f
- call $39c9
+ call RefreshBattleHuds
ld hl, WasDefrostedText
jp FarBattleTextBox
; 37588
@@ -9505,7 +9511,7 @@ BattleCommand54: ; 37588
call CallBankF
ld hl, $4c3f
call CallBankF
- call $3995
+ call UpdateUserInParty
ld hl, PutACurseText
jp FarBattleTextBox
.asm_37604
@@ -9539,8 +9545,8 @@ Function0x3762c: ; 3762c
ld a, [hBattleTurn]
and a
jr z, .asm_37637
+ ld de, $c681
- ld de, PlayerDamageTaken
.asm_37637
call Function0x36abf
jr nz, .asm_37665
@@ -9596,10 +9602,10 @@ BattleCommand5a: ; 3766f
call Function0x3762c
ret c
-; get substatus1
+
ld a, BATTLE_VARS_SUBSTATUS1
call GetBattleVarPair
- set 5, [hl] ; endure
+ set SUBSTATUS_ENDURE, [hl]
call Function0x37e01
ld hl, BracedItselfText
jp FarBattleTextBox
@@ -9612,16 +9618,19 @@ BattleCommand56: ; 37683
ld hl, EnemyScreens
ld a, [hBattleTurn]
and a
- jr z, .asm_3768e ; 37689 $3
+ jr z, .asm_3768e
ld hl, PlayerScreens
+
.asm_3768e
bit 0, [hl]
- jr nz, .asm_3769d ; 37690 $b
+ jr nz, .failed
+
set 0, [hl]
call Function0x37e01
ld hl, SpikesText
jp FarBattleTextBox
-.asm_3769d
+
+.failed
jp Function0x37354
; 376a0
@@ -9631,14 +9640,14 @@ BattleCommand57: ; 376a0
ld a, [AttackMissed]
and a
- jr nz, .asm_376bf ; 376a4 $19
+ jr nz, .asm_376bf
call CheckHiddenOpponent
- jr nz, .asm_376bf ; 376a9 $14
+ jr nz, .asm_376bf
ld a, BATTLE_VARS_SUBSTATUS1_OPP
call GetBattleVarPair
- bit 3, [hl]
- jr nz, .asm_376bf ; 376b2 $b
- set 3, [hl]
+ bit SUBSTATUS_IDENTIFIED, [hl]
+ jr nz, .asm_376bf
+ set SUBSTATUS_IDENTIFIED, [hl]
call Function0x37e01
ld hl, IdentifiedText
jp FarBattleTextBox
@@ -9652,25 +9661,25 @@ BattleCommand58: ; 376c2
ld hl, PlayerSubStatus1
ld de, EnemySubStatus1
- bit 4, [hl]
- jr z, .asm_376d1 ; 376ca $5
+ bit SUBSTATUS_PERISH, [hl]
+ jr z, .asm_376d1
ld a, [de]
- bit 4, a
- jr nz, .asm_376f2 ; 376cf $21
+ bit SUBSTATUS_PERISH, a
+ jr nz, .asm_376f2
.asm_376d1
- bit 4, [hl]
- jr nz, .asm_376dc ; 376d3 $7
- set 4, [hl]
- ld a, $4
+ bit SUBSTATUS_PERISH, [hl]
+ jr nz, .asm_376dc
+ set SUBSTATUS_PERISH, [hl]
+ ld a, 4
ld [PlayerPerishCount], a
.asm_376dc
ld a, [de]
- bit 4, a
- jr nz, .asm_376e9 ; 376df $8
- set 4, a
+ bit SUBSTATUS_PERISH, a
+ jr nz, .asm_376e9
+ set SUBSTATUS_PERISH, a
ld [de], a
- ld a, $4
- ld [$c67f], a
+ ld a, 4
+ ld [EnemyPerishCount], a
.asm_376e9
call Function0x37e01
ld hl, StartPerishText
@@ -9706,13 +9715,13 @@ BattleCommand5b: ; 37718
ld de, PlayerRolloutCount
ld a, [hBattleTurn]
and a
- jr z, .asm_37723 ; 3771e $3
+ jr z, .asm_37723
ld de, EnemyRolloutCount
.asm_37723
ld a, BATTLE_VARS_SUBSTATUS1
call CleanGetBattleVarPair
- bit 6, a
- jr z, .asm_37731 ; 3772a $5
+ bit SUBSTATUS_ENCORED, a
+ jr z, .asm_37731
ld b, $4 ; doturn
jp SkipToBattleCommand
@@ -9962,11 +9971,11 @@ BattleCommand60: ; 3784b
ld [$ffb6], a
ld a, $a
ld [$ffb7], a
- call $3119
+ call Multiply
ld a, $19
ld [$ffb7], a
ld b, $4
- call $3124
+ call Divide
ld a, [$ffb6]
ld d, a
pop bc
@@ -10041,7 +10050,7 @@ BattleCommand61: ; 37874
ld hl, RegainedHealthText
call FarBattleTextBox
call SwitchTurn
- call $398e
+ call UpdateOpponentInParty
jr .asm_37904 ; 378f1 $11
.asm_378f3
call SwitchTurn
@@ -10079,11 +10088,11 @@ BattleCommand63: ; 3790e
ld [$ffb5], a
ld a, $a
ld [$ffb7], a
- call $3119
+ call Multiply
ld a, $19
ld [$ffb7], a
ld b, $4
- call $3124
+ call Divide
ld a, [$ffb6]
ld d, a
pop bc
@@ -10199,7 +10208,7 @@ BattleCommand67: ; 379c9
call Function0x37ae9
jp z, Function0x37aab
- call $399c
+ call UpdateBattleMonInParty
call Function0x37e01
ld c, 50
@@ -10253,7 +10262,7 @@ BattleCommand67: ; 379c9
call Function0x37af6
jp z, Function0x37aab
- call $39b0
+ call UpdateEnemyMonInParty
call Function0x37e01
call Function0x37a82
@@ -10564,7 +10573,7 @@ BattleCommand6a6c: ; 37b7e
rst FarCall ; callab 3ccef
call SwitchTurn
- call $3995
+ call UpdateUserInParty
; 'regained health!'
ld hl, RegainedHealthText
@@ -10646,7 +10655,7 @@ BattleCommand95: ; 37c1a
ld hl, $4c3f
ld a, $f
rst FarCall
- call $3995
+ call UpdateUserInParty
ld a, $5
.asm_37c41
@@ -10943,13 +10952,13 @@ GetItem: ; 37dd0
ret z
push hl
- ld hl, $67c3 ; Items
+ ld hl, ItemAttributes + 2
dec a
ld c, a
ld b, 0
- ld a, 7
+ ld a, Item2Attributes - Item1Attributes
call AddNTimes
- ld a, $1 ; BANK(Items)
+ ld a, BANK(ItemAttributes)
call GetFarHalfword
ld b, l
ld c, h