summaryrefslogtreecommitdiff
path: root/battle/core.asm
diff options
context:
space:
mode:
Diffstat (limited to 'battle/core.asm')
-rw-r--r--battle/core.asm447
1 files changed, 225 insertions, 222 deletions
diff --git a/battle/core.asm b/battle/core.asm
index dda37000d..9df143842 100644
--- a/battle/core.asm
+++ b/battle/core.asm
@@ -24,7 +24,7 @@ Function3c000: ; 3c000
.asm_3c021
ld a, d
- ld [$d430], a
+ ld [wBattleAction], a
ld a, [InLinkBattle]
and a
jr z, .asm_3c031
@@ -421,9 +421,9 @@ Function3c27c: ; 3c27c
ret nz
xor a
ld [$cfca], a
- ld de, $0103
+ ld de, ANIM_CONFUSED
call Function3ee0f
- call Function3c8e4
+ call SwitchTurnCore
ld hl, BecameConfusedText
jp StdBattleTextBox
; 3c300
@@ -432,7 +432,7 @@ Function3c300: ; 3c300
ld a, [InLinkBattle]
and a
jr z, .asm_3c30d
- ld a, [$d430]
+ ld a, [wBattleAction]
cp $f
jr z, .asm_3c30f
@@ -450,7 +450,7 @@ Function3c314: ; 3c314
ld a, [InLinkBattle]
and a
jr z, .asm_3c35b
- ld a, [$d430]
+ ld a, [wBattleAction]
cp $e
jr z, .asm_3c35b
cp $d
@@ -496,10 +496,10 @@ Function3c314: ; 3c314
callab GetOpponentItem
pop de
ld a, d
- cp $4a
+ cp HELD_QUICK_CLAW
jr nz, .asm_3c391
ld a, b
- cp $4a
+ cp HELD_QUICK_CLAW
jr z, .asm_3c39f
call BattleRandom
cp e
@@ -508,7 +508,7 @@ Function3c314: ; 3c314
.asm_3c391
ld a, b
- cp $4a
+ cp HELD_QUICK_CLAW
jr nz, .asm_3c3c5
call BattleRandom
cp c
@@ -589,23 +589,22 @@ Function3c3f5: ; 3c3f5
Function3c410: ; 3c410
ld a, [PlayerSubStatus4]
- and $20
- jp nz, Function3c432
+ and 1 << SUBSTATUS_RECHARGE
+ jp nz, .quit
ld hl, EnemySubStatus3
- res 3, [hl]
+ res SUBSTATUS_FLINCHED, [hl]
ld hl, PlayerSubStatus3
- res 3, [hl]
+ res SUBSTATUS_FLINCHED, [hl]
ld a, [hl]
- and $12
- jp nz, Function3c432
+ and 1 << SUBSTATUS_CHARGED | 1 << SUBSTATUS_ROLLOUT
+ jp nz, .quit
ld hl, PlayerSubStatus1
- bit 6, [hl]
- jp nz, Function3c432
+ bit SUBSTATUS_ENCORED, [hl]
+ jp nz, .quit
and a
ret
-; 3c432
-Function3c432: ; 3c432
+.quit
scf
ret
; 3c434
@@ -627,18 +626,18 @@ Function3c434: ; 3c434
and a
jr nz, .asm_3c4b5
ld a, [PlayerSubStatus3]
- and $1
+ and 1 << SUBSTATUS_BIDE
jr nz, .asm_3c4ba
xor a
ld [$d235], a
- inc a
+ inc a ; POUND
ld [FXAnimIDLo], a
call Function3e4bc
push af
call Function30b4
call UpdateBattleHuds
ld a, [CurPlayerMove]
- cp $a5
+ cp STRUGGLE
jr z, .asm_3c476
call PlayClickSFX
@@ -680,7 +679,7 @@ Function3c434: ; 3c434
.asm_3c4b5
ld hl, PlayerSubStatus3
- res 0, [hl]
+ res SUBSTATUS_BIDE, [hl]
.asm_3c4ba
xor a
@@ -688,7 +687,7 @@ Function3c434: ; 3c434
ld [PlayerProtectCount], a
ld [$c72b], a
ld hl, PlayerSubStatus4
- res 6, [hl]
+ res SUBSTATUS_RAGE, [hl]
.asm_3c4c9
call Function3e7c1
@@ -701,7 +700,7 @@ Function3c434: ; 3c434
ld [PlayerProtectCount], a
ld [$c72b], a
ld hl, PlayerSubStatus4
- res 6, [hl]
+ res SUBSTATUS_RAGE, [hl]
xor a
ret
; 3c4df
@@ -726,7 +725,7 @@ Function3c4df: ; 3c4df
ld hl, BattleMonPP
ld a, [CurMoveNum]
ld c, a
- ld b, $0
+ ld b, 0
add hl, bc
ld a, [hl]
and $3f
@@ -750,7 +749,7 @@ Function3c4df: ; 3c4df
ld hl, EnemyMonPP
ld a, [CurEnemyMoveNum]
ld c, a
- ld b, $0
+ ld b, 0
add hl, bc
ld a, [hl]
and $3f
@@ -771,7 +770,7 @@ Function3c543: ; 3c543
jr nz, .Stay
ld a, [PlayerSubStatus5]
- bit 7, a
+ bit SUBSTATUS_CANT_RUN, a
jr nz, .Stay
ld a, [$c731]
@@ -1033,20 +1032,20 @@ Function3c6de: ; 3c6de
; 3c6ed
Function3c6ed: ; 3c6ed
- ld a, $5
+ ld a, BATTLE_VARS_SUBSTATUS1_OPP
call _GetBattleVar
- res 2, [hl]
- res 5, [hl]
- ld a, $9
+ res SUBSTATUS_PROTECT, [hl]
+ res SUBSTATUS_ENDURE, [hl]
+ ld a, BATTLE_VARS_SUBSTATUS5_OPP
call _GetBattleVar
- res 6, [hl]
+ res SUBSTATUS_DESTINY_BOND, [hl]
ret
; 3c6fe
Function3c6fe: ; 3c6fe
- ld a, $4
+ ld a, BATTLE_VARS_SUBSTATUS5
call _GetBattleVar
- res 6, [hl]
+ res SUBSTATUS_DESTINY_BOND, [hl]
ret
; 3c706
@@ -1070,18 +1069,20 @@ Function3c713: ; 3c713
Function3c716: ; 3c716
call Function3c706
ret z
- ld a, $a
+
+ ld a, BATTLE_VARS_STATUS
call GetBattleVar
- and $18
+ and 1 << PSN | 1 << BRN
jr z, .asm_3c768
+
ld hl, BattleText_0x807e2
- ld de, $0106
- and $10
+ ld de, ANIM_PSN
+ and 1 << BRN
jr z, .asm_3c733
ld hl, BattleText_0x807f8
- ld de, $0105
-
+ ld de, ANIM_BRN
.asm_3c733
+
push de
call StdBattleTextBox
pop de
@@ -1096,11 +1097,11 @@ Function3c716: ; 3c716
ld de, $c67c
.asm_3c74d
- ld a, $4
+ ld a, BATTLE_VARS_SUBSTATUS5
call GetBattleVar
- bit 0, a
+ bit SUBSTATUS_TOXIC, a
jr z, .asm_3c765
- call Function3cc76
+ call GetSixteenthMaxHP
ld a, [de]
inc a
ld [de], a
@@ -1118,19 +1119,22 @@ Function3c716: ; 3c716
.asm_3c768
call Function3c706
jp z, .asm_3c7f7
- ld a, $3
+
+ ld a, BATTLE_VARS_SUBSTATUS4
call _GetBattleVar
- bit 7, [hl]
+ bit SUBSTATUS_LEECH_SEED, [hl]
jr z, .asm_3c7a1
- call Function3c8e4
+
+ call SwitchTurnCore
xor a
ld [$cfca], a
- ld de, $0107
- ld a, $7
+ ld de, ANIM_SAP
+ ld a, BATTLE_VARS_SUBSTATUS3_OPP
call GetBattleVar
- and $60
+ and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
call z, Function3ee0f
- call Function3c8e4
+ call SwitchTurnCore
+
call GetEighthMaxHP
call Function3cc3f
ld a, $1
@@ -1142,13 +1146,15 @@ Function3c716: ; 3c716
.asm_3c7a1
call Function3c706
jr z, .asm_3c7f7
- ld a, $0
+
+ ld a, BATTLE_VARS_SUBSTATUS1
call _GetBattleVar
- bit 0, [hl]
+ bit SUBSTATUS_NIGHTMARE, [hl]
jr z, .asm_3c7c5
+
xor a
ld [$cfca], a
- ld de, $010c
+ ld de, ANIM_IN_NIGHTMARE
call Function3ee0f
call GetQuarterMaxHP
call Function3cc3f
@@ -1158,13 +1164,15 @@ Function3c716: ; 3c716
.asm_3c7c5
call Function3c706
jr z, .asm_3c7f7
- ld a, $0
+
+ ld a, BATTLE_VARS_SUBSTATUS1
call _GetBattleVar
- bit 1, [hl]
+ bit SUBSTATUS_CURSE, [hl]
jr z, .asm_3c7e9
+
xor a
ld [$cfca], a
- ld de, $010c
+ ld de, ANIM_IN_NIGHTMARE
call Function3ee0f
call GetQuarterMaxHP
call Function3cc3f
@@ -1185,7 +1193,7 @@ Function3c716: ; 3c716
.asm_3c7f7
call RefreshBattleHuds
- ld c, $14
+ ld c, 20
call DelayFrames
xor a
ret
@@ -1212,9 +1220,9 @@ Function3c801: ; 3c801
ld hl, EnemyPerishCount
.asm_3c827
- ld a, $0
+ ld a, BATTLE_VARS_SUBSTATUS1
call GetBattleVar
- bit 4, a
+ bit SUBSTATUS_PERISH, a
ret z
dec [hl]
ld a, [hl]
@@ -1224,9 +1232,9 @@ Function3c801: ; 3c801
call StdBattleTextBox
pop af
ret nz
- ld a, $0
+ ld a, BATTLE_VARS_SUBSTATUS1
call _GetBattleVar
- res 4, [hl]
+ res SUBSTATUS_PERISH, [hl]
ld a, [hBattleTurn]
and a
jr nz, .asm_3c85c
@@ -1285,9 +1293,9 @@ Function3c874: ; 3c874
ld a, [hl]
and a
ret z
- ld a, $3
+ ld a, BATTLE_VARS_SUBSTATUS4
call GetBattleVar
- bit 4, a
+ bit SUBSTATUS_SUBSTITUTE, a
ret nz
ld a, [de]
ld [$d265], a
@@ -1295,20 +1303,20 @@ Function3c874: ; 3c874
call GetMoveName
dec [hl]
jr z, .asm_3c8de
- ld a, $2
+ ld a, BATTLE_VARS_SUBSTATUS3
call GetBattleVar
- and $60
+ and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
jr nz, .asm_3c8d3
- call Function3c8e4
+ call SwitchTurnCore
xor a
ld [$cfca], a
ld [FXAnimIDHi], a
ld a, $37
call Predef
- call Function3c8e4
+ call SwitchTurnCore
.asm_3c8d3
- call Function3cc76
+ call GetSixteenthMaxHP
call Function3cc3f
ld hl, BattleText_0x80de2
jr .asm_3c8e1
@@ -1320,9 +1328,9 @@ Function3c874: ; 3c874
jp StdBattleTextBox
; 3c8e4
-Function3c8e4: ; 3c8e4
+SwitchTurnCore: ; 3c8e4
ld a, [hBattleTurn]
- xor $1
+ xor 1
ld [hBattleTurn], a
ret
; 3c8eb
@@ -1367,8 +1375,8 @@ Function3c8eb: ; 3c8eb
ret z
.asm_3c92d
- call Function3cc76
- call Function3c8e4
+ call GetSixteenthMaxHP
+ call SwitchTurnCore
call Function3ccef
ld hl, BattleText_0x80880
jp StdBattleTextBox
@@ -1481,7 +1489,7 @@ Function3c93c: ; 3c93c
ld a, [EnemySubStatus5]
.asm_3c9ee
- bit 3, a
+ bit SUBSTATUS_TRANSFORMED, a
jr nz, .asm_3c9f5
ld a, [de]
add b
@@ -1508,9 +1516,9 @@ Function3c93c: ; 3c93c
.asm_3ca14
call GetItemName
- call Function3c8e4
+ call SwitchTurnCore
call Function3ddc8
- call Function3c8e4
+ call SwitchTurnCore
ld hl, BattleText_0x80899
jp StdBattleTextBox
; 3ca26
@@ -1740,37 +1748,37 @@ FadeReflect: ; 3cb91
; 3cb9e
HandleWeather: ; 3cb9e
-
ld a, [Weather]
- cp 0
+ cp WEATHER_NONE
ret z
ld hl, WeatherCount
dec [hl]
- jr z, .asm_3cc13
+ jr z, .ended
ld hl, .WeatherMessages
- call .asm_3cc1e
+ call .PrintWeatherMessage
+
ld a, [Weather]
cp WEATHER_SANDSTORM
ret nz
+
ld a, [$ffcb]
cp 1
- jr z, .asm_3cbc7
+ jr z, .enemy_first
-; Player first
+.player_first
call SetPlayerTurn
- call .asm_3cbd0
+ call .SandstormDamage
call SetEnemyTurn
- jr .asm_3cbd0
+ jr .SandstormDamage
-.asm_3cbc7
-; Enemy first
+.enemy_first
call SetEnemyTurn
- call .asm_3cbd0
+ call .SandstormDamage
call SetPlayerTurn
-.asm_3cbd0
+.SandstormDamage
ld a, BATTLE_VARS_SUBSTATUS3
call GetBattleVar
bit SUBSTATUS_UNDERGROUND, a
@@ -1779,10 +1787,9 @@ HandleWeather: ; 3cb9e
ld hl, BattleMonType1
ld a, [hBattleTurn]
and a
- jr z, .asm_3cbe3
+ jr z, .ok
ld hl, EnemyMonType1
-
-.asm_3cbe3
+.ok
ld a, [hli]
cp ROCK
ret z
@@ -1799,26 +1806,26 @@ HandleWeather: ; 3cb9e
cp STEEL
ret z
- call Function3c8e4
+ call SwitchTurnCore
xor a
ld [$cfca], a
- ld de, $010b
+ ld de, ANIM_IN_SANDSTORM
call Function3ee17
- call Function3c8e4
+ call SwitchTurnCore
call GetEighthMaxHP
call Function3cc3f
ld hl, BattleText_0x8084d
jp StdBattleTextBox
-.asm_3cc13
+.ended
ld hl, .WeatherEndedMessages
- call .asm_3cc1e
+ call .PrintWeatherMessage
xor a
ld [Weather], a
ret
-.asm_3cc1e
+.PrintWeatherMessage
ld a, [Weather]
dec a
ld c, a
@@ -1852,15 +1859,13 @@ Function3cc3f: ; 3cc3f
; 3cc45
-
Function3cc45: ; 3cc45
ld hl, BattleMonHP
ld a, [hBattleTurn]
and a
- jr z, .asm_3cc50
+ jr z, .ok
ld hl, EnemyMonHP
-
-.asm_3cc50
+.ok
inc hl
ld a, [hl]
ld [$d1ec], a
@@ -1885,16 +1890,17 @@ Function3cc45: ; 3cc45
ret
; 3cc76
-Function3cc76: ; 3cc76
+GetSixteenthMaxHP: ; 3cc76
call GetQuarterMaxHP
+ ; quarter result
srl c
srl c
+ ; round up
ld a, c
and a
- jr nz, .asm_3cc82
+ jr nz, .ok
inc c
-
-.asm_3cc82
+.ok
ret
; 3cc83
@@ -1940,7 +1946,7 @@ GetHalfMaxHP: ; 3cc9f
; output: bc
call GetMaxHP
-; halve reslut
+; halve result
srl b
rr c
@@ -1957,18 +1963,12 @@ GetHalfMaxHP: ; 3cc9f
GetMaxHP: ; 3ccac
; output: bc, Buffer1-2
-; player
ld hl, BattleMonMaxHP
-
-; whose turn?
ld a, [hBattleTurn]
and a
- jr z, .gethp
-
-; enemy
+ jr z, .ok
ld hl, EnemyMonMaxHP
-
-.gethp
+.ok
ld a, [hli]
ld [Buffer2], a
ld b, a
@@ -1983,10 +1983,9 @@ Function3ccc2: ; 3ccc2
ld hl, BattleMonHP
ld a, [hBattleTurn]
and a
- jr z, .asm_3cccd
+ jr z, .ok
ld hl, EnemyMonHP
-
-.asm_3cccd
+.ok
ld a, [hli]
ld b, a
ld a, [hli]
@@ -2004,10 +2003,9 @@ Function3ccde: ; 3ccde
ld hl, BattleMonHP + 1
ld a, [hBattleTurn]
and a
- jr z, .asm_3cce9
+ jr z, .ok
ld hl, EnemyMonHP + 1
-
-.asm_3cce9
+.ok
ld a, c
sub [hl]
dec hl
@@ -2021,10 +2019,9 @@ Function3ccef: ; 3ccef
ld hl, EnemyMonMaxHP
ld a, [hBattleTurn]
and a
- jr z, .asm_3ccfa
+ jr z, .ok
ld hl, BattleMonMaxHP
-
-.asm_3ccfa
+.ok
ld a, [hli]
ld [Buffer2], a
ld a, [hld]
@@ -2040,6 +2037,7 @@ Function3ccef: ; 3ccef
adc b
ld [hli], a
ld [$d1ef], a
+
ld a, [Buffer1]
ld c, a
ld a, [hld]
@@ -2055,11 +2053,11 @@ Function3ccef: ; 3ccef
ld a, c
ld [hl], a
ld [$d1ee], a
-
.asm_3cd2d
- call Function3c8e4
+
+ call SwitchTurnCore
call Function3cd36
- jp Function3c8e4
+ jp SwitchTurnCore
; 3cd36
Function3cd36: ; 3cd36
@@ -2072,7 +2070,7 @@ Function3cd3c: ; 3cd3c
hlcoord 10, 9
ld a, [hBattleTurn]
and a
- ld a, $1
+ ld a, 1
jr z, .asm_3cd4a
hlcoord 2, 2
xor a
@@ -2099,31 +2097,38 @@ Function3cd55: ; 3cd55
ld a, d
and a
jp z, LostBattle
+
ld hl, BattleMonHP
ld a, [hli]
or [hl]
call nz, Function3df48
+
ld a, $1
ld [hBGMapMode], a
ld c, 60
call DelayFrames
+
ld a, [IsInBattle]
dec a
jr nz, .asm_3cd8c
- ld a, $1
+
+ ld a, 1
ld [BattleEnded], a
ret
.asm_3cd8c
call Function3cf35
jp z, Function3cfa4
+
ld hl, BattleMonHP
ld a, [hli]
or [hl]
jr nz, .asm_3cdba
+
call Function3d1f8
jr nc, .asm_3cda4
- ld a, $1
+
+ ld a, 1
ld [BattleEnded], a
ret
@@ -2131,6 +2136,7 @@ Function3cd55: ; 3cd55
call Function3d227
call Function3d2e0
jp c, Function3c0e5
+
ld a, $1
ld [$d0ec], a
call Function3cf4a
@@ -2387,7 +2393,7 @@ Function3cf4a: ; 3cf4a
and a
jr z, .asm_3cf6d
call Function3e8e4
- ld a, [$d430]
+ ld a, [wBattleAction]
cp $f
ret z
call Function30b4
@@ -2483,7 +2489,7 @@ Function3cfa4: ; 3cfa4
ld c, $3
callba Function11c000
call Functiona80
- ld hl, $c6ec
+ ld hl, wPayDayMoney
ld a, [hli]
or [hl]
inc hl
@@ -2651,7 +2657,7 @@ Function3d0ea: ; 3d0ea
call Function3ceaa
pop de
jr nz, .asm_3d11e
- ld hl, $c6ec
+ ld hl, wPayDayMoney
ld a, [hli]
or [hl]
jr nz, .asm_3d11e
@@ -3212,7 +3218,7 @@ Function3d444: ; 3d444
Function3d490: ; 3d490
- ld [hConnectionStripLength], a
+ ld [$ffaf], a
ld c, a
.asm_3d493
push bc
@@ -3222,7 +3228,7 @@ Function3d490: ; 3d490
push hl
call Function3d4ae
pop hl
- ld de, 20
+ ld de, SCREEN_WIDTH
add hl, de
dec b
jr nz, .asm_3d497
@@ -3236,24 +3242,24 @@ Function3d490: ; 3d490
; 3d4ae
Function3d4ae: ; 3d4ae
- ld a, [hConnectionStripLength]
+ ld a, [$ffaf]
ld c, a
cp $8
- jr nz, .asm_3d4bc
-.asm_3d4b5
+ jr nz, .back
+.forward
ld a, [hli]
ld [hld], a
dec hl
dec c
- jr nz, .asm_3d4b5
+ jr nz, .forward
ret
-.asm_3d4bc
+.back
ld a, [hld]
ld [hli], a
inc hl
dec c
- jr nz, .asm_3d4bc
+ jr nz, .back
ret
; 3d4c3
@@ -3320,7 +3326,7 @@ Function3d533: ; 3d533
ld a, [InLinkBattle]
and a
jr z, .asm_3d541
- ld a, [$d430]
+ ld a, [wBattleAction]
sub NUM_MOVES
ld b, a
jr .asm_3d555
@@ -3868,7 +3874,7 @@ Function3d8b3: ; 3d8b3
ld b, a
callab GetItem
ld a, b
- cp $48
+ cp HELD_ESCAPE
pop de
pop hl
jr nz, .asm_3d916
@@ -3977,8 +3983,8 @@ Function3d8b3: ; 3d8b3
call Function3d2e0
jr c, .asm_3d9f5
-; Got away safely
- ld a, [$d430]
+ ; Got away safely
+ ld a, [wBattleAction]
cp $f
ld a, $2
jr z, .asm_3d9cf
@@ -4076,7 +4082,7 @@ Function3da7c: ; 3da7c
Function3da85: ; 3da85
ld hl, BattleMonDVs
ld a, [PlayerSubStatus5]
- bit 3, a
+ bit SUBSTATUS_TRANSFORMED, a
ret z
ld hl, PartyMon1DVs
ld a, [CurBattleMon]
@@ -4086,7 +4092,7 @@ Function3da85: ; 3da85
Function3da97: ; 3da97
ld hl, EnemyMonDVs
ld a, [EnemySubStatus5]
- bit 3, a
+ bit SUBSTATUS_TRANSFORMED, a
ret z
ld hl, $c6f2
ld a, [IsInBattle]
@@ -4205,7 +4211,7 @@ Function3db5f: ; 3db5f
ld [LastEnemyCounterMove], a
ld [LastPlayerCounterMove], a
ld [LastPlayerMove], a
- call Function3e4a8
+ call CheckAmuletCoin
call Function3ee27
xor a
ld [$c731], a
@@ -4213,13 +4219,13 @@ Function3db5f: ; 3db5f
xor a
ld [$cfca], a
ld [$c689], a
- ld de, $0101
+ ld de, ANIM_SEND_OUT_MON
call Function3ee17
call Function3da74
jr nc, .asm_3dbbc
ld a, $1
ld [$c689], a
- ld de, $0101
+ ld de, ANIM_SEND_OUT_MON
call Function3ee17
.asm_3dbbc
@@ -4407,7 +4413,7 @@ Function3dce6: ; 3dce6
xor a
ld [hBattleTurn], a
ld [$cfca], a
- ld de, $0102
+ ld de, ANIM_RETURN_MON
call Function3ee17
pop af
ld [hBattleTurn], a
@@ -4536,15 +4542,15 @@ Function3ddc8: ; 3ddc8
push de
push bc
call EmptyBattleTextBox
- ld a, $69
+ ld a, RECOVER
ld [FXAnimIDLo], a
- call Function3c8e4
+ call SwitchTurnCore
xor a
ld [$cfca], a
ld [FXAnimIDHi], a
ld a, $37
call Predef
- call Function3c8e4
+ call SwitchTurnCore
pop bc
pop de
pop hl
@@ -4563,7 +4569,7 @@ Function3dde9: ; 3dde9
jr nz, .asm_3ddf2
dec hl
ld b, [hl]
- ld a, $b
+ ld a, BATTLE_VARS_STATUS_OPP
call _GetBattleVar
and b
ret z
@@ -4572,20 +4578,20 @@ Function3dde9: ; 3dde9
push bc
call UpdateOpponentInParty
pop bc
- ld a, $9
+ ld a, BATTLE_VARS_SUBSTATUS5_OPP
call _GetBattleVar
and [hl]
- res 0, [hl]
- ld a, $5
+ res SUBSTATUS_TOXIC, [hl]
+ ld a, BATTLE_VARS_SUBSTATUS1_OPP
call _GetBattleVar
and [hl]
- res 0, [hl]
+ res SUBSTATUS_NIGHTMARE, [hl]
ld a, b
cp $7f
jr nz, .asm_3de26
- ld a, $7
+ ld a, BATTLE_VARS_SUBSTATUS3_OPP
call _GetBattleVar
- res 7, [hl]
+ res SUBSTATUS_CONFUSED, [hl]
.asm_3de26
ld hl, Function365fd
@@ -4595,10 +4601,10 @@ Function3dde9: ; 3dde9
ld hl, Function365d7
.asm_3de31
- call Function3c8e4
+ call SwitchTurnCore
ld a, BANK(Function365fd)
rst FarCall
- call Function3c8e4
+ call SwitchTurnCore
call Function3ddc8
call Function3ddac
ld a, $1
@@ -4618,23 +4624,23 @@ Function3dde9: ; 3dde9
Function3de51: ; 3de51
- ld a, $7
+ ld a, BATTLE_VARS_SUBSTATUS3_OPP
call GetBattleVar
- bit 7, a
+ bit SUBSTATUS_CONFUSED, a
ret z
callab GetOpponentItem
ld a, b
- cp $10
+ cp HELD_HEAL_CONFUSION
jr z, .asm_3de67
- cp $f
+ cp HELD_HEAL_STATUS
ret nz
.asm_3de67
ld a, [hl]
ld [$d265], a
- ld a, $7
+ ld a, BATTLE_VARS_SUBSTATUS3_OPP
call _GetBattleVar
- res 7, [hl]
+ res SUBSTATUS_CONFUSED, [hl]
call GetItemName
call Function3ddc8
ld hl, BattleText_0x80dab
@@ -4730,13 +4736,13 @@ Function3deb6: ; 3deb6
; 3defc
.data_3defc
- dbw $1f, BattleCommand70
- dbw $20, BattleCommand71
- dbw $21, BattleCommand72
- dbw $22, BattleCommand73
- dbw $23, BattleCommand74
- dbw $24, BattleCommand75
- dbw $25, BattleCommand76
+ dbw HELD_ATTACK_UP, BattleCommand70
+ dbw HELD_DEFENSE_UP, BattleCommand71
+ dbw HELD_SPEED_UP, BattleCommand72
+ dbw HELD_SP_ATTACK_UP, BattleCommand73
+ dbw HELD_SP_DEFENSE_UP, BattleCommand74
+ dbw HELD_ACCURACY_UP, BattleCommand75
+ dbw HELD_EVASION_UP, BattleCommand76
db $ff
; 3df12
@@ -4793,9 +4799,9 @@ DrawPlayerHUD: ; 3df58
xor a
ld [hBGMapMode], a
-; Clear the area
+ ; Clear the area
hlcoord 9, 7
- ld bc, $050b
+ lb bc, 5, 11
call ClearBox
callba DrawPlayerExpBar
@@ -4804,7 +4810,7 @@ DrawPlayerHUD: ; 3df58
ld [hl], $73 ; vertical bar
call PrintPlayerHUD
-; HP bar
+ ; HP bar
hlcoord 10, 9
ld b, OTPARTYMON
xor a
@@ -4812,7 +4818,7 @@ DrawPlayerHUD: ; 3df58
ld a, PREDEF_DRAW_PLAYER_HP
call Predef
-; Exp bar
+ ; Exp bar
push de
ld a, [CurBattleMon]
ld hl, PartyMon1Exp + 2
@@ -4837,24 +4843,24 @@ CheckDanger: ; 3df9e
ld hl, BattleMonHP
ld a, [hli]
or [hl]
- jr z, .asm_3dfb2
+ jr z, .no_danger
ld a, [$c6fd]
and a
- jr nz, .asm_3dfbe
+ jr nz, .done
ld a, [PlayerHPPal]
cp $2
- jr z, .asm_3dfb9
+ jr z, .danger
-.asm_3dfb2
+.no_danger
ld hl, Danger
res 7, [hl]
- jr .asm_3dfbe
+ jr .done
-.asm_3dfb9
+.danger
ld hl, Danger
set 7, [hl]
-.asm_3dfbe
+.done
ret
; 3dfbf
@@ -4893,11 +4899,11 @@ PrintPlayerHUD: ; 3dfbf
ld a, $3
ld [MonType], a
callab GetGender
- ld a, $7f
+ ld a, " "
jr c, .asm_3e013
- ld a, $ef
+ ld a, "♂"
jr nz, .asm_3e013
- ld a, $f5
+ ld a, "♀"
.asm_3e013
hlcoord 17, 8
@@ -4938,7 +4944,7 @@ Function3e043: ; 3e043
xor a
ld [hBGMapMode], a
hlcoord 1, 0
- ld bc, $040b
+ lb bc, 4, 11
call ClearBox
callba Function2c0c5
ld a, [TempEnemyMonSpecies]
@@ -4955,10 +4961,9 @@ Function3e043: ; 3e043
ld hl, EnemyMonDVs
ld de, TempMonDVs
ld a, [EnemySubStatus5]
- bit 3, a
+ bit SUBSTATUS_TRANSFORMED, a
jr z, .asm_3e080
ld hl, $c6f2
-
.asm_3e080
ld a, [hli]
ld [de], a
@@ -4968,11 +4973,11 @@ Function3e043: ; 3e043
ld a, $3
ld [MonType], a
callab GetGender
- ld a, $7f
+ ld a, " "
jr c, .asm_3e09a
- ld a, $ef
+ ld a, "♂"
jr nz, .asm_3e09a
- ld a, $f5
+ ld a, "♀"
.asm_3e09a
hlcoord 9, 1
@@ -5006,13 +5011,13 @@ Function3e043: ; 3e043
jr nz, .asm_3e0d1
ld c, a
ld e, a
- ld d, $6
+ ld d, HP_BAR_LENGTH
jp .asm_3e11a
.asm_3e0d1
xor a
ld [hMultiplicand], a
- ld a, $30
+ ld a, HP_BAR_LENGTH_PX
ld [hMultiplier], a
call Multiply
ld hl, EnemyMonMaxHP
@@ -5050,7 +5055,7 @@ Function3e043: ; 3e043
call Divide
ld a, [$ffb6]
ld e, a
- ld a, $6
+ ld a, HP_BAR_LENGTH
ld d, a
ld c, a
.asm_3e11a
@@ -5180,13 +5185,13 @@ Function3e1c7: ; 3e1c7
.asm_3e1f1
callba Function107bb
- ld a, $5
+ ld a, POKE_BALL
ld [CurItem], a
call DoItemEffect
jr .asm_3e209
.asm_3e201
- ld a, $b1
+ ld a, PARK_BALL
ld [CurItem], a
call DoItemEffect
@@ -5365,7 +5370,7 @@ Function3e358: ; 3e358
and a
jr nz, .asm_3e378
ld a, [EnemySubStatus5]
- bit 7, a
+ bit SUBSTATUS_CANT_RUN, a
jr z, .asm_3e381
.asm_3e378
@@ -5414,7 +5419,7 @@ Function3e3ad: ; 3e3ad
ret
.asm_3e3cf
- ld a, [$d430]
+ ld a, [wBattleAction]
cp $e
jp z, .asm_3e3ca
cp $d
@@ -5527,14 +5532,14 @@ Function3e489: ; 3e489
-Function3e4a8: ; 3e4a8
+CheckAmuletCoin: ; 3e4a8
ld a, [BattleMonItem]
ld b, a
callab GetItem
ld a, b
- cp $4c
+ cp HELD_AMULET_COIN
ret nz
- ld a, $1
+ ld a, 1
ld [$c73d], a
ret
; 3e4bc
@@ -5805,7 +5810,7 @@ Function3e643: ; 3e643
.asm_3e682
ld a, [PlayerSubStatus5]
- bit 3, a
+ bit SUBSTATUS_TRANSFORMED, a
jr nz, .asm_3e69e
ld hl, PartyMon1Moves
ld a, [CurBattleMon]
@@ -5813,7 +5818,7 @@ Function3e643: ; 3e643
push hl
call .asm_3e6a5
pop hl
- ld bc, $0015
+ ld bc, PartyMon1PP - PartyMon1Moves
add hl, bc
call .asm_3e6a5
@@ -6015,7 +6020,7 @@ Function3e7c1: ; 3e7c1
and a
call z, Function3e8e4
call Function30b4
- ld a, [$d430]
+ ld a, [wBattleAction]
cp $e
jp z, .asm_3e8bd
cp $d
@@ -6268,9 +6273,8 @@ LoadEnemyMon: ; 3e8eb
and a
jr z, .InitDVs
-; ????
ld a, [EnemySubStatus5]
- bit 3, a
+ bit SUBSTATUS_TRANSFORMED, a
jr z, .InitDVs
; Unknown
@@ -6478,15 +6482,14 @@ LoadEnemyMon: ; 3e8eb
and a
jr z, .TreeMon
-; ????
ld a, [EnemySubStatus5]
- bit 3, a
+ bit SUBSTATUS_TRANSFORMED, a
jp nz, .Moves
.TreeMon
; If we're headbutting trees, some monsters enter battle asleep
call CheckSleepingTreeMon
- ld a, 7 ; Asleep for 7 turns
+ ld a, SLP ; Asleep for 7 turns
jr c, .UpdateStatus
; Otherwise, no status
xor a
@@ -7588,7 +7591,7 @@ Function3ee3b: ; 3ee3b
ld a, [hl]
ld [BattleMonLevel], a
ld a, [PlayerSubStatus5]
- bit 3, a
+ bit SUBSTATUS_TRANSFORMED, a
jr nz, .asm_3f012
ld hl, $0026
add hl, bc
@@ -8687,7 +8690,7 @@ Function3f6d0: ; 3f6d0
; 3f71d
Function3f71d: ; 3f71d
- ld hl, $c6ec
+ ld hl, wPayDayMoney
ld a, [hli]
or [hl]
inc hl
@@ -8696,7 +8699,7 @@ Function3f71d: ; 3f71d
ld a, [$c73d]
and a
jr z, .asm_3f73d
- ld hl, $c6ee
+ ld hl, wPayDayMoney + 2
sla [hl]
dec hl
rl [hl]
@@ -8709,7 +8712,7 @@ Function3f71d: ; 3f71d
ld [hl], a
.asm_3f73d
- ld hl, $c6ee
+ ld hl, wPayDayMoney + 2
ld de, Money + 2
call Function3d0be
ld hl, BattleText_0x80730
@@ -9426,7 +9429,7 @@ Function3fc30: ; 3fc30
Function3fc5b: ; 3fc5b
ld hl, Sprites
xor a
- ld [hConnectionStripLength], a
+ ld [$ffaf], a
ld b, $6
ld e, $a8
.asm_3fc65
@@ -9437,10 +9440,10 @@ Function3fc5b: ; 3fc5b
inc hl
ld [hl], e
inc hl
- ld a, [hConnectionStripLength]
+ ld a, [$ffaf]
ld [hli], a
inc a
- ld [hConnectionStripLength], a
+ ld [$ffaf], a
ld a, $1
ld [hli], a
ld a, d
@@ -9448,9 +9451,9 @@ Function3fc5b: ; 3fc5b
ld d, a
dec c
jr nz, .asm_3fc69
- ld a, [hConnectionStripLength]
+ ld a, [$ffaf]
add $3
- ld [hConnectionStripLength], a
+ ld [$ffaf], a
ld a, e
add $8
ld e, a
@@ -9487,7 +9490,7 @@ BattleStartMessage: ; 3fc8b
ld [hBattleTurn], a
ld a, 1
ld [$c689], a
- ld de, $0101
+ ld de, ANIM_SEND_OUT_MON
call Function3ee17
.asm_3fcc2