summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2014-06-12 18:32:42 -0700
committeryenatch <yenatch@gmail.com>2014-06-12 18:32:42 -0700
commit023cfdbb051ea5184ebc7fa329db3ca43f1ca23e (patch)
tree0f91ce5ba8d243080fbe58a7f0e1a97949ba6c1a
parent23f9b5d21e93f1b3c8de5e4ecf72da89265ccea8 (diff)
Consolidate monster structs in wram and sram.
The PartyMon struct is really the box struct with volatile variables like status added. Some other labels have been reworked. Move structs no longer have explicit labels since their location is arbitrary and usually shared.
-rw-r--r--battle/ai/scoring.asm261
-rw-r--r--battle/core.asm296
-rw-r--r--battle/effect_commands.asm103
-rw-r--r--constants/misc_constants.asm4
-rw-r--r--data/odd_eggs.asm2
-rw-r--r--engine/engine_flags.asm12
-rw-r--r--engine/scripting.asm2
-rw-r--r--event/name_rater.asm10
-rw-r--r--event/poke_seer.asm6
-rw-r--r--home/battle.asm8
-rw-r--r--home/map.asm2
-rw-r--r--items/item_effects.asm20
-rw-r--r--main.asm1232
-rw-r--r--wram.asm714
14 files changed, 1131 insertions, 1541 deletions
diff --git a/battle/ai/scoring.asm b/battle/ai/scoring.asm
index 7a34ec3d0..ab4aca83f 100644
--- a/battle/ai/scoring.asm
+++ b/battle/ai/scoring.asm
@@ -16,7 +16,7 @@ AIScoring_RedStatus: ; 38591
inc de
call AIGetEnemyMove
- ld a, [EnemyMoveEffect]
+ ld a, [wEnemyMoveStruct + MOVE_EFFECT]
ld c, a
push hl
@@ -28,7 +28,7 @@ AIScoring_RedStatus: ; 38591
pop hl
jr nz, .discourage
- ld a, [EnemyMoveEffect]
+ ld a, [wEnemyMoveStruct + MOVE_EFFECT]
push hl
push de
push bc
@@ -82,7 +82,7 @@ AIScoring_RedStatMods: ; 385e0
inc de
call AIGetEnemyMove
- ld a, [EnemyMoveEffect]
+ ld a, [wEnemyMoveStruct + MOVE_EFFECT]
cp EFFECT_ATTACK_UP
jr c, .checkmove
@@ -119,7 +119,7 @@ AIScoring_RedStatMods: ; 385e0
jr nz, .discourage
.encourage
- call Function_0x39527
+ call Function39527
jr c, .checkmove
dec [hl]
@@ -173,7 +173,7 @@ AIScoring_RedSuperEffective: ; 38635
jr c, .noteffective
; effective
- ld a, [EnemyMovePower]
+ ld a, [wEnemyMoveStruct + MOVE_POWER]
and a
jr z, .checkmove
dec [hl]
@@ -185,7 +185,7 @@ AIScoring_RedSuperEffective: ; 38635
push hl
push de
push bc
- ld a, [EnemyMoveType]
+ ld a, [wEnemyMoveStruct + MOVE_TYPE]
ld d, a
ld hl, EnemyMonMoves
ld b, EnemyMonMovesEnd - EnemyMonMoves + 1
@@ -199,10 +199,10 @@ AIScoring_RedSuperEffective: ; 38635
jr z, .asm_38693
call AIGetEnemyMove
- ld a, [EnemyMoveType]
+ ld a, [wEnemyMoveStruct + MOVE_TYPE]
cp d
jr z, .checkmove2
- ld a, [EnemyMovePower]
+ ld a, [wEnemyMoveStruct + MOVE_POWER]
and a
jr nz, .asm_38692
jr .checkmove2
@@ -244,7 +244,7 @@ AIScoring_Offensive: ; 386a2
inc de
call AIGetEnemyMove
- ld a, [EnemyMovePower]
+ ld a, [wEnemyMoveStruct + MOVE_POWER]
and a
jr nz, .checkmove
@@ -275,7 +275,7 @@ AIScoring_Smart: ; 386be
push hl
call AIGetEnemyMove
- ld a, [EnemyMoveEffect]
+ ld a, [wEnemyMoveStruct + MOVE_EFFECT]
ld hl, .table_386f2
ld de, 3
call IsInArray
@@ -398,7 +398,7 @@ AIScoring_Sleep: ; 387e3
ret nc
.asm_387f0
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
dec [hl]
@@ -421,7 +421,7 @@ AIScoring_LeechHit: ; 387f7
call AICheckEnemyMaxHP
ret c
- call Function_0x39521
+ call Function39521
ret c
dec [hl]
@@ -484,8 +484,8 @@ AIScoring_LockOn: ; 3881d
call AIGetEnemyMove
- ld a, [EnemyMoveAccuracy]
- cp $b4
+ ld a, [wEnemyMoveStruct + MOVE_ACC]
+ cp 180
jr nc, .asm_3884f
ld a, $1
@@ -513,7 +513,7 @@ AIScoring_LockOn: ; 3881d
.asm_3887a
pop hl
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
@@ -538,8 +538,8 @@ AIScoring_LockOn: ; 3881d
inc de
call AIGetEnemyMove
- ld a, [EnemyMoveAccuracy]
- cp $b4
+ ld a, [wEnemyMoveStruct + MOVE_ACC]
+ cp 180
jr nc, .asm_3888b
dec [hl]
@@ -602,19 +602,16 @@ AIScoring_EvasionUp: ; 388d4
jp nc, AIDiscourageMove
call AICheckEnemyMaxHP
-
jr nc, .asm_388f2
ld a, [PlayerSubStatus5]
- bit 0, a
+ bit SUBSTATUS_TOXIC, a
jr nz, .asm_388ef
call Random
-
cp $b2
jr nc, .asm_38911
-
.asm_388ef
dec [hl]
dec [hl]
@@ -622,42 +619,35 @@ AIScoring_EvasionUp: ; 388d4
.asm_388f2
call AICheckEnemyQuarterHP
-
jr nc, .asm_3890f
call Random
-
cp $a
jr c, .asm_388ef
call AICheckEnemyHalfHP
-
jr nc, .asm_3890a
- call Function_0x39521
-
+ call Function39521
jr c, .asm_388ef
-
jr .asm_38911
.asm_3890a
- call Function_0x39527
-
+ call Function39527
jr c, .asm_38911
-
.asm_3890f
inc [hl]
inc [hl]
.asm_38911
ld a, [PlayerSubStatus5]
- bit 0, a
+ bit SUBSTATUS_TOXIC, a
jr nz, .asm_38938
ld a, [PlayerSubStatus4]
- bit 7, a
+ bit SUBSTATUS_LEECH_SEED, a
jr nz, .asm_38941
ld a, [EnemyEvaLevel]
@@ -671,7 +661,7 @@ AIScoring_EvasionUp: ; 388d4
jr nz, .asm_388ef
ld a, [PlayerSubStatus1]
- bit 6, a
+ bit SUBSTATUS_ENCORED, a
jr nz, .asm_388ef
@@ -688,7 +678,7 @@ AIScoring_EvasionUp: ; 388d4
ret
.asm_38941
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
@@ -706,7 +696,7 @@ AIScoring_AlwaysHit: ; 38947
ret c
.asm_38954
- call Function_0x39521
+ call Function39521
ret c
dec [hl]
@@ -721,30 +711,29 @@ AIScoring_MirrorMove: ; 3895b
jr nz, .asm_38968
call AICompareSpeed
-
ret nc
- jp AIDiscourageMove
+ jp AIDiscourageMove
.asm_38968
push hl
ld hl, Table_0x39301
ld de, 1
call IsInArray
-
pop hl
ret nc
- call Function_0x39527
+ call Function39527
ret c
+
dec [hl]
call AICompareSpeed
-
ret nc
- call Random
+ call Random
cp $19
ret c
+
dec [hl]
ret
; 38985
@@ -752,23 +741,19 @@ AIScoring_MirrorMove: ; 3895b
AIScoring_AccuracyDown: ; 38985
call AICheckPlayerMaxHP
-
jr nc, .asm_389a0
call AICheckEnemyHalfHP
-
jr nc, .asm_389a0
ld a, [PlayerSubStatus5]
- bit 0, a
+ bit SUBSTATUS_TOXIC, a
jr nz, .asm_3899d
call Random
-
cp $b2
jr nc, .asm_389bf
-
.asm_3899d
dec [hl]
dec [hl]
@@ -776,42 +761,34 @@ AIScoring_AccuracyDown: ; 38985
.asm_389a0
call AICheckPlayerQuarterHP
-
jr nc, .asm_389bd
call Random
-
cp $a
jr c, .asm_3899d
call AICheckPlayerHalfHP
-
jr nc, .asm_389b8
- call Function_0x39521
-
+ call Function39521
jr c, .asm_3899d
-
jr .asm_389bf
-
.asm_389b8
- call Function_0x39527
-
+ call Function39527
jr c, .asm_389bf
-
.asm_389bd
inc [hl]
inc [hl]
.asm_389bf
ld a, [PlayerSubStatus5]
- bit 0, a
+ bit SUBSTATUS_TOXIC, a
jr nz, .asm_389e6
ld a, [PlayerSubStatus4]
- bit 7, a
+ bit SUBSTATUS_LEECH_SEED, a
jr nz, .asm_389ef
ld a, [EnemyEvaLevel]
@@ -825,10 +802,9 @@ AIScoring_AccuracyDown: ; 38985
jr nz, .asm_3899d
ld a, [PlayerSubStatus1]
- bit 6, a
+ bit SUBSTATUS_ENCORED, a
jr nz, .asm_3899d
-
.asm_389e4
inc [hl]
ret
@@ -842,9 +818,9 @@ AIScoring_AccuracyDown: ; 38985
ret
.asm_389ef
- call Function_0x39527
-
+ call Function39527
ret c
+
dec [hl]
ret
; 389f5
@@ -862,7 +838,6 @@ AIScoring_Haze: ; 389f5
jr c, .asm_38a12
jr .asm_389fb
-
.asm_38a05
ld hl, PlayerAtkLevel
ld c, $8
@@ -984,7 +959,7 @@ AIScoring_Bind: ; 38a71
jr z, .asm_38a91
.asm_38a8b
- call Function_0x39527
+ call Function39527
ret c
inc [hl]
ret
@@ -992,7 +967,7 @@ AIScoring_Bind: ; 38a71
.asm_38a91
call AICheckEnemyQuarterHP
ret nc
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
dec [hl]
@@ -1022,7 +997,7 @@ AIScoring_Unused2B: ; 38a9c
call AIGetEnemyMove
- ld a, [EnemyMoveEffect]
+ ld a, [wEnemyMoveStruct + MOVE_EFFECT]
cp EFFECT_PROTECT
jr z, .asm_38ad5
dec c
@@ -1081,14 +1056,14 @@ AIScoring_SpDefenseUp2: ; 38aed
ret nc
ld a, [BattleMonType1]
- cp FIRE
+ cp SPECIAL
jr nc, .asm_38b09
ld a, [BattleMonType2]
- cp FIRE
+ cp SPECIAL
ret c
.asm_38b09
- call Function_0x39521
+ call Function39521
ret c
dec [hl]
dec [hl]
@@ -1128,14 +1103,14 @@ AIScoring_Paralyze: ; 38b26
ret c
call AICheckEnemyQuarterHP
ret nc
- call Function_0x39521
+ call Function39521
ret c
dec [hl]
dec [hl]
ret
.asm_38b3a
- call Function_0x39527
+ call Function39527
ret c
inc [hl]
ret
@@ -1143,7 +1118,7 @@ AIScoring_Paralyze: ; 38b26
AIScoring_SpeedDownHit: ; 38b40
- ld a, [EnemyMoveAnimation]
+ ld a, [wEnemyMoveStruct + MOVE_ANIM]
cp ICY_WIND
ret nz
call AICheckEnemyQuarterHP
@@ -1174,7 +1149,7 @@ AIScoring_HyperBeam: ; 38b63
jr c, .asm_38b72
call AICheckEnemyQuarterHP
ret c
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
ret
@@ -1184,7 +1159,7 @@ AIScoring_HyperBeam: ; 38b63
cp 40
ret c
inc [hl]
- call Function_0x39527
+ call Function39527
ret c
inc [hl]
ret
@@ -1196,7 +1171,7 @@ AIScoring_Rage: ; 38b7f
bit 6, a
jr z, .asm_38b9b
- call Function_0x39527
+ call Function39527
jr c, .asm_38b8c
dec [hl]
@@ -1216,7 +1191,7 @@ AIScoring_Rage: ; 38b7f
call AICheckEnemyHalfHP
jr nc, .asm_38ba6
- call Function_0x39521
+ call Function39521
ret nc
dec [hl]
ret
@@ -1249,7 +1224,7 @@ AIScoring_Mimic: ; 38ba8
jr c, .asm_38bef
jr z, .asm_38bd4
- call Function_0x39527
+ call Function39527
jr c, .asm_38bd4
dec [hl]
@@ -1263,7 +1238,7 @@ AIScoring_Mimic: ; 38ba8
pop hl
ret nc
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
ret
@@ -1291,12 +1266,12 @@ AIScoring_Counter: ; 38bf1
call AIGetEnemyMove
- ld a, [EnemyMovePower]
+ ld a, [wEnemyMoveStruct + MOVE_POWER]
and a
jr z, .asm_38c0e
- ld a, [EnemyMoveType]
- cp $14
+ ld a, [wEnemyMoveStruct + MOVE_TYPE]
+ cp SPECIAL
jr nc, .asm_38c0e
inc b
@@ -1319,12 +1294,12 @@ AIScoring_Counter: ; 38bf1
call AIGetEnemyMove
- ld a, [EnemyMovePower]
+ ld a, [wEnemyMoveStruct + MOVE_POWER]
and a
jr z, .asm_38c38
- ld a, [EnemyMoveType]
- cp $14
+ ld a, [wEnemyMoveStruct + MOVE_TYPE]
+ cp SPECIAL
jr nc, .asm_38c38
@@ -1354,12 +1329,12 @@ AIScoring_Encore: ; 38c3b
call AIGetEnemyMove
- ld a, [EnemyMovePower]
+ ld a, [wEnemyMoveStruct + MOVE_POWER]
and a
jr z, .asm_38c68
push hl
- ld a, [EnemyMoveType]
+ ld a, [wEnemyMoveStruct + MOVE_TYPE]
ld hl, EnemyMonType1
ld a, $41
call Predef
@@ -1433,7 +1408,7 @@ AIScoring_Encore: ; 38c3b
AIScoring_PainSplit: ; 38ca4
push hl
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld b, [hl]
inc hl
ld c, [hl]
@@ -1490,7 +1465,7 @@ AIScoring_Spite: ; 38cd5
call AICompareSpeed
jp c, AIDiscourageMove
- call Function_0x39527
+ call Function39527
ret c
inc [hl]
ret
@@ -1596,7 +1571,7 @@ AIScoring_HealBell: ; 38d1f
.asm_38d48
and $27
ret z
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
@@ -1664,7 +1639,7 @@ AIScoring_Conversion2: ; 38d98
ld a, BANK(Moves)
call GetFarByte
- ld [PlayerMoveType], a
+ ld [wPlayerMoveStruct + MOVE_TYPE], a
xor a
ld [hBattleTurn], a
@@ -1677,7 +1652,7 @@ AIScoring_Conversion2: ; 38d98
jr c, .asm_38dc9
ret z
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
@@ -1713,7 +1688,7 @@ AIScoring_Disable: ; 38dd1
ret
.asm_38dee
- ld a, [EnemyMovePower]
+ ld a, [wEnemyMoveStruct + MOVE_POWER]
and a
ret nz
@@ -1755,7 +1730,7 @@ AIScoring_MeanLook: ; 38dfb
ret
.asm_38e26
- call Function_0x39521
+ call Function39521
ret c
dec [hl]
dec [hl]
@@ -1792,7 +1767,7 @@ AICheckLastPlayerMon: ; 38e2e
AIScoring_Nightmare: ; 38e4a
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
ret
@@ -1832,12 +1807,12 @@ AIScoring_Curse: ; 38e5c
ld a, [BattleMonType1]
cp GHOST
jr z, .asm_38e92
- cp FIRE
+ cp SPECIAL
ret nc
ld a, [BattleMonType2]
- cp FIRE
+ cp SPECIAL
ret nc
- call Function_0x39521
+ call Function39521
ret c
dec [hl]
dec [hl]
@@ -1892,7 +1867,7 @@ AIScoring_Curse: ; 38e5c
ret nz
.asm_38ecb
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
@@ -1936,7 +1911,7 @@ AIScoring_Protect: ; 38ed2
jr c, .asm_38f14
.asm_38f0d
- call Function_0x39521
+ call Function39521
ret c
dec [hl]
ret
@@ -2002,14 +1977,14 @@ AIScoring_PerishSong: ; 38f4a
pop hl
ret c
- call Function_0x39527
+ call Function39527
ret c
inc [hl]
ret
.asm_38f6f
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
@@ -2043,7 +2018,7 @@ AIScoring_Sandstorm: ; 38f7a
call AICheckPlayerHalfHP
jr nc, .asm_38fa6
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
@@ -2079,7 +2054,7 @@ AIScoring_Endure: ; 38fac
call AIHasMove
jr nc, .asm_38fcb
- call Function_0x39521
+ call Function39521
ret c
dec [hl]
@@ -2091,7 +2066,7 @@ AIScoring_Endure: ; 38fac
ld a, [EnemySubStatus5]
bit SUBSTATUS_LOCK_ON, a
ret z
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
@@ -2161,7 +2136,7 @@ AIScoring_Rollout: ; 38fef
ret
.asm_39020
- call Function_0x39521
+ call Function39521
ret c
inc [hl]
ret
@@ -2174,7 +2149,7 @@ AIScoring_Attract: ; 39026
and a
jr z, .asm_39032
- call Function_0x39521
+ call Function39521
ret c
inc [hl]
ret
@@ -2191,7 +2166,7 @@ AIScoring_Attract: ; 39026
AIScoring_Safeguard: ; 3903a
call AICheckPlayerHalfHP
ret c
- call Function_0x39521
+ call Function39521
ret c
inc [hl]
ret
@@ -2217,7 +2192,7 @@ AIScoring_Earthquake: ; 39044
.asm_39058
call AICompareSpeed
ret c
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
ret
@@ -2239,13 +2214,13 @@ AIScoring_BatonPass: ; 39062
AIScoring_Pursuit: ; 39072
call AICheckPlayerQuarterHP
jr nc, .asm_3907d
- call Function_0x39521
+ call Function39521
ret c
inc [hl]
ret
.asm_3907d
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
dec [hl]
@@ -2267,7 +2242,7 @@ AIScoring_RapidSpin: ; 39084
ret z
.asm_39097
- call Function_0x39521
+ call Function39521
ret c
dec [hl]
@@ -2372,7 +2347,7 @@ AIScoring_WeatherMove: ; 3910d
call AICheckPlayerHalfHP
jr nc, AIBadWeatherType
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
@@ -2476,7 +2451,7 @@ AIScoring_PsychUp: ; 39152
ld a, [EnemyEvaLevel]
cp $8
ret nc
- call Function_0x39521
+ call Function39521
ret c
dec [hl]
@@ -2502,12 +2477,12 @@ AIScoring_MirrorCoat: ; 3918b
call AIGetEnemyMove
- ld a, [EnemyMovePower]
+ ld a, [wEnemyMoveStruct + MOVE_POWER]
and a
jr z, .asm_391a8
- ld a, [EnemyMoveType]
- cp FIRE
+ ld a, [wEnemyMoveStruct + MOVE_TYPE]
+ cp SPECIAL
jr c, .asm_391a8
inc b
@@ -2530,12 +2505,12 @@ AIScoring_MirrorCoat: ; 3918b
call AIGetEnemyMove
- ld a, [EnemyMovePower]
+ ld a, [wEnemyMoveStruct + MOVE_POWER]
and a
jr z, .asm_391d2
- ld a, [EnemyMoveType]
- cp FIRE
+ ld a, [wEnemyMoveStruct + MOVE_TYPE]
+ cp SPECIAL
jr c, .asm_391d2
@@ -2574,7 +2549,7 @@ AIScoring_Gust: ; 391d5
.asm_391e9
call AICompareSpeed
ret c
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
ret
@@ -2600,7 +2575,7 @@ AIScoring_Stomp: ; 39200
and a
ret z
- call Function_0x39521
+ call Function39521
ret c
dec [hl]
@@ -2625,7 +2600,7 @@ AIScoring_Solarbeam: ; 3920b
ret
.asm_3921e
- call Function_0x39521
+ call Function39521
ret c
dec [hl]
@@ -2650,13 +2625,13 @@ AIScoring_Thunder: ; 39225
AICompareSpeed: ; 39233
push bc
- ld a, [EnemyMonSpd + 1]
+ ld a, [EnemyMonSpeed + 1]
ld b, a
- ld a, [BattleMonSpd + 1]
+ ld a, [BattleMonSpeed + 1]
cp b
- ld a, [EnemyMonSpd]
+ ld a, [EnemyMonSpeed]
ld b, a
- ld a, [BattleMonSpd]
+ ld a, [BattleMonSpeed]
sbc b
pop bc
ret
@@ -2677,8 +2652,8 @@ AICheckEnemyMaxHP: ; 39251
push hl
push de
push bc
- ld de, EnemyMonHPHi
- ld hl, EnemyMonMaxHPHi
+ ld de, EnemyMonHP
+ ld hl, EnemyMonMaxHP
; fallthrough
; 3925a
@@ -2733,7 +2708,7 @@ AICheckEnemyHalfHP: ; 39281
push hl
push de
push bc
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld b, [hl]
inc hl
ld c, [hl]
@@ -2756,7 +2731,7 @@ AICheckEnemyQuarterHP: ; 39298
push hl
push de
push bc
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld b, [hl]
inc hl
ld c, [hl]
@@ -2811,7 +2786,7 @@ AIHasMove: ; 392ca
call AIGetEnemyMove
- ld a, [EnemyMoveEffect]
+ ld a, [wEnemyMoveStruct + MOVE_EFFECT]
cp b
jr z, .asm_392e3
@@ -2898,7 +2873,7 @@ AIScoring_Opportunist: ; 39315
call AICheckEnemyQuarterHP
jr nc, .asm_39322
- call Function_0x39527
+ call Function39527
ret c
.asm_39322
@@ -2992,7 +2967,7 @@ AIScoring_Aggressive: ; 39369
push de
push bc
call AIGetEnemyMove
- ld a, [EnemyMovePower]
+ ld a, [wEnemyMoveStruct + MOVE_POWER]
and a
jr z, .nodamage
call AIDamageCalc
@@ -3043,14 +3018,14 @@ AIScoring_Aggressive: ; 39369
call AIGetEnemyMove
- ld a, [EnemyMovePower]
+ ld a, [wEnemyMoveStruct + MOVE_POWER]
cp 2
jr c, .checkmove2
push hl
push de
push bc
- ld a, [EnemyMoveEffect]
+ ld a, [wEnemyMoveStruct + MOVE_EFFECT]
ld hl, .aggressivemoves
ld de, 1
call IsInArray
@@ -3077,7 +3052,7 @@ AIScoring_Aggressive: ; 39369
AIDamageCalc: ; 393e7
ld a, 1
ld [hBattleTurn], a
- ld a, [EnemyMoveEffect]
+ ld a, [wEnemyMoveStruct + MOVE_EFFECT]
ld de, 1
ld hl, .ConstantDamageEffects
call IsInArray
@@ -3175,7 +3150,7 @@ AIScoring_StatusImmunity: ; 39453
inc de
call AIGetEnemyMove
- ld a, [EnemyMoveEffect]
+ ld a, [wEnemyMoveStruct + MOVE_EFFECT]
cp EFFECT_TOXIC
jr z, .poisonimmunity
cp EFFECT_POISON
@@ -3185,7 +3160,7 @@ AIScoring_StatusImmunity: ; 39453
cp EFFECT_PARALYZE
jr z, .typeimmunity
- ld a, [EnemyMovePower]
+ ld a, [wEnemyMoveStruct + MOVE_POWER]
and a
jr z, .checkmove
@@ -3242,12 +3217,12 @@ AIScoring_Risky: ; 394a9
push hl
call AIGetEnemyMove
- ld a, [EnemyMovePower]
+ ld a, [wEnemyMoveStruct + MOVE_POWER]
and a
jr z, .nextmove
; Don't use risky moves at max hp.
- ld a, [EnemyMoveEffect]
+ ld a, [wEnemyMoveStruct + MOVE_EFFECT]
ld de, 1
ld hl, .riskymoves
call IsInArray
@@ -3317,7 +3292,7 @@ AIGetEnemyMove: ; 39508
ld bc, MOVE_LENGTH
call AddNTimes
- ld de, EnemyMoveStruct
+ ld de, wEnemyMoveStruct
ld a, BANK(Moves)
call FarCopyBytes
@@ -3328,14 +3303,14 @@ AIGetEnemyMove: ; 39508
; 39521
-Function_0x39521: ; 39521
+Function39521: ; 39521
call Random
cp 50 ; 1/5
ret
; 39527
-Function_0x39527: ; 39527
+Function39527: ; 39527
call Random
cp $80 ; 1/2
ret
diff --git a/battle/core.asm b/battle/core.asm
index 9f3dbc661..dda37000d 100644
--- a/battle/core.asm
+++ b/battle/core.asm
@@ -12,8 +12,8 @@ Function3c000: ; 3c000
inc a
ld [$d264], a
ld hl, OTPartyMon1HP
- ld bc, $002f
- ld d, $3
+ ld bc, OTPartyMon2 - (OTPartyMon1 + 1)
+ ld d, NUM_MOVES - 1
.asm_3c019
inc d
ld a, [hli]
@@ -166,8 +166,8 @@ Function3c12f: ; 3c12f
call Function3c3f5
jp c, .asm_3c1be
xor a
- ld [$c710], a
- ld [$c711], a
+ ld [wPlayerIsSwitching], a
+ ld [wEnemyIsSwitching], a
ld [$d264], a
ld [$c73f], a
ld [$c740], a
@@ -455,7 +455,7 @@ Function3c314: ; 3c314
jr z, .asm_3c35b
cp $d
jr z, .asm_3c35b
- sub $4
+ sub NUM_MOVES
jr c, .asm_3c35b
ld a, [$d0ec]
cp $2
@@ -537,8 +537,8 @@ Function3c314: ; 3c314
jr .asm_3c3c5
.asm_3c3c5
- ld de, BattleMonSpd
- ld hl, EnemyMonSpd
+ ld de, BattleMonSpeed
+ ld hl, EnemyMonSpeed
ld c, $2
call StringCmp
jr z, .asm_3c3d8
@@ -653,26 +653,26 @@ Function3c434: ; 3c434
callab UpdateMoveData
xor a
ld [$c732], a
- ld a, [PlayerMoveEffect]
- cp $77
+ ld a, [wPlayerMoveStruct + MOVE_EFFECT]
+ cp EFFECT_FURY_CUTTER
jr z, .asm_3c494
xor a
ld [PlayerFuryCutterCount], a
.asm_3c494
- ld a, [PlayerMoveEffect]
- cp $51
+ ld a, [wPlayerMoveStruct + MOVE_EFFECT]
+ cp EFFECT_RAGE
jr z, .asm_3c4a4
ld hl, PlayerSubStatus4
- res 6, [hl]
+ res SUBSTATUS_RAGE, [hl]
xor a
ld [$c72b], a
.asm_3c4a4
- ld a, [PlayerMoveEffect]
- cp $6f
+ ld a, [wPlayerMoveStruct + MOVE_EFFECT]
+ cp EFFECT_PROTECT
jr z, .asm_3c4c9
- cp $74
+ cp EFFECT_ENDURE
jr z, .asm_3c4c9
xor a
ld [PlayerProtectCount], a
@@ -1055,7 +1055,7 @@ Function3c706: ; 3c706
and a
jr z, Function3c710
Function3c70b: ; 3c70b
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
jr Function3c713
Function3c710: ; 3c710
@@ -1176,7 +1176,7 @@ Function3c716: ; 3c716
ld a, [hBattleTurn]
and a
jr z, .asm_3c7f4
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
.asm_3c7f4
ld a, [hli]
@@ -1243,7 +1243,7 @@ Function3c801: ; 3c801
ret
.asm_3c85c
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
xor a
ld [hli], a
ld [hl], a
@@ -1352,7 +1352,7 @@ Function3c8eb: ; 3c8eb
ld a, [hBattleTurn]
and a
jr z, .asm_3c922
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
.asm_3c922
ld a, [hli]
@@ -2423,7 +2423,7 @@ EnemyPartyMonEntrance: ; 3cf78
call SetEnemyTurn
call SpikesDamage
xor a
- ld [EnemyMoveAnimation], a
+ ld [wEnemyMoveStruct + MOVE_ANIM], a
ld [$d0ec], a
inc a
ret
@@ -2732,7 +2732,7 @@ KantoGymLeaders:
Function3d14e: ; 3d14e
call Function3cef1
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld a, [hli]
or [hl]
call z, Function3cf14
@@ -2743,7 +2743,7 @@ Function3d14e: ; 3d14e
ld a, d
and a
jp z, LostBattle
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld a, [hli]
or [hl]
jr nz, .asm_3d185
@@ -2841,7 +2841,7 @@ Function3d1f8: ; 3d1f8
cp $1
jr z, .asm_3d20a
ld hl, PartyMon1Speed
- ld de, EnemyMonSpd
+ ld de, EnemyMonSpeed
jp Function3d8b3
; 3d227
@@ -2862,7 +2862,7 @@ Function3d227: ; 3d227
ld [$d0ec], a
call Function3d2e0
jr c, .asm_3d251
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld a, [hli]
or [hl]
jr nz, .asm_3d26c
@@ -3296,7 +3296,7 @@ Function3d4e1: ; 3d4e1
ld [$c6fc], a
ld [$d0ec], a
inc a
- ld [$c711], a
+ ld [wEnemyIsSwitching], a
call Function309d
jp Function3e3ad
; 3d517
@@ -3309,8 +3309,8 @@ Function3d517: ; 3d517
.asm_3d522
call Function3d6ca
- ld a, $1
- ld [$c711], a
+ ld a, 1
+ ld [wEnemyIsSwitching], a
call Function3d7a0
call Function3d7b8
jp Function3d7c7
@@ -3321,7 +3321,7 @@ Function3d533: ; 3d533
and a
jr z, .asm_3d541
ld a, [$d430]
- sub $4
+ sub NUM_MOVES
ld b, a
jr .asm_3d555
@@ -3435,10 +3435,10 @@ Function3d5d7: ; 3d5d7
push de
push bc
dec a
- ld hl, Moves + MOVE_ANIM
+ ld hl, Moves
ld bc, MOVE_LENGTH
call AddNTimes
- ld de, EnemyMoveAnimation
+ ld de, wEnemyMoveStruct
ld a, BANK(Moves)
call FarCopyBytes
call SetEnemyTurn
@@ -3475,14 +3475,14 @@ Function3d618: ; 3d618
ld a, BANK(BaseData)
call FarCopyBytes
ld a, [BattleMonType1]
- ld [PlayerMoveType], a
+ ld [wPlayerMoveStruct + MOVE_TYPE], a
call SetPlayerTurn
callab Function347c8
ld a, [$d265]
cp $b
jr nc, .asm_3d663
ld a, [BattleMonType2]
- ld [PlayerMoveType], a
+ ld [wPlayerMoveStruct + MOVE_TYPE], a
callab Function347c8
ld a, [$d265]
cp $b
@@ -3592,14 +3592,14 @@ Function3d6ca: ; 3d6ca
ld a, [$def4]
and a
jr nz, .asm_3d708
- ld hl, EnemyMonAtkDefDV
- ld a, $2d
+ ld hl, EnemyMonDVs
+ ld a, PREDEF_GET_UNOWN_LETTER
call Predef
ld a, [UnownLetter]
ld [$def4], a
.asm_3d708
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld a, [hli]
ld [$c6ea], a
ld a, [hl]
@@ -3759,7 +3759,7 @@ NewEnemyMonStatus: ; 3d834
ld [hl], a
ld [EnemyDisableCount], a
ld [EnemyFuryCutterCount], a
- ld [$c681], a
+ ld [EnemyProtectCount], a
ld [$c72c], a
ld [EnemyDisabledMove], a
ld [$c6fa], a
@@ -4019,21 +4019,21 @@ Function3d8b3: ; 3d8b3
Function3da0d: ; 3da0d
- ld a, $0
+ ld a, PartyMon1Species - PartyMon1
call GetPartyParamLocation
ld de, BattleMonSpecies
- ld bc, $0006
+ ld bc, 1 + 1 + NUM_MOVES ; species, item, moves ; BattleMonDVs - BattleMonSpecies
call CopyBytes
- ld bc, $000f
+ ld bc, PartyMon1DVs - (PartyMon1Species + 1 + 1 + NUM_MOVES)
add hl, bc
- ld de, BattleMonAtkDefDV
- ld bc, $0007
+ ld de, BattleMonDVs
+ ld bc, 2 + NUM_MOVES + 1 ; DVs, PP, happiness ; BattleMonLevel - BattleMonDVs
call CopyBytes
inc hl
inc hl
inc hl
ld de, BattleMonLevel
- ld bc, $0011
+ ld bc, 1 + 1 + 1 + 2 + 2 * 6 ; level, status, unused, stats
call CopyBytes
ld a, [BattleMonSpecies]
ld [TempBattleMonSpecies], a
@@ -4044,15 +4044,15 @@ Function3da0d: ; 3da0d
ld [BattleMonType1], a
ld a, [BaseType2]
ld [BattleMonType2], a
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld a, [CurBattleMon]
call SkipNames
ld de, BattleMonNick
- ld bc, $000b
+ ld bc, PKMN_NAME_LENGTH
call CopyBytes
- ld hl, BattleMonAtk
+ ld hl, BattleMonAttack
ld de, PlayerStats
- ld bc, $000a
+ ld bc, 2 * 5
call CopyBytes
call Function3ec2c
call BadgeStatBoosts
@@ -4074,7 +4074,7 @@ Function3da7c: ; 3da7c
; 3da85
Function3da85: ; 3da85
- ld hl, BattleMonAtkDefDV
+ ld hl, BattleMonDVs
ld a, [PlayerSubStatus5]
bit 3, a
ret z
@@ -4084,7 +4084,7 @@ Function3da85: ; 3da85
; 3da97
Function3da97: ; 3da97
- ld hl, EnemyMonAtkDefDV
+ ld hl, EnemyMonDVs
ld a, [EnemySubStatus5]
bit 3, a
ret z
@@ -4092,7 +4092,7 @@ Function3da97: ; 3da97
ld a, [IsInBattle]
dec a
ret z
- ld hl, OTPartyMon1AtkDefDV
+ ld hl, OTPartyMon1DVs
ld a, [CurOTMon]
jp GetPartyLocation
; 3dab1
@@ -4114,31 +4114,31 @@ Function3dabd: ; 3dabd
ld hl, OTPartyMon1Species
call GetPartyLocation
ld de, EnemyMonSpecies
- ld bc, $0006
+ ld bc, 1 + 1 + NUM_MOVES
call CopyBytes
- ld bc, $000f
+ ld bc, OTPartyMon1DVs - (OTPartyMon1Species + 1 + 1 + NUM_MOVES)
add hl, bc
- ld de, EnemyMonAtkDefDV
- ld bc, $0007
+ ld de, EnemyMonDVs
+ ld bc, 2 + NUM_MOVES + 1
call CopyBytes
inc hl
inc hl
inc hl
ld de, EnemyMonLevel
- ld bc, $0011
+ ld bc, 1 + 1 + 1 + 2 + 2 * 6
call CopyBytes
ld a, [EnemyMonSpecies]
ld [CurSpecies], a
call GetBaseData
- ld hl, OTPartyMon1Nickname
+ ld hl, OTPartyMonNicknames
ld a, [CurPartyMon]
call SkipNames
ld de, EnemyMonNick
- ld bc, $000b
+ ld bc, PKMN_NAME_LENGTH
call CopyBytes
- ld hl, EnemyMonAtk
+ ld hl, EnemyMonAttack
ld de, EnemyStats
- ld bc, $000a
+ ld bc, 2 * 5
call CopyBytes
call Function3ec30
ld hl, BaseType1
@@ -4148,9 +4148,9 @@ Function3dabd: ; 3dabd
inc de
ld a, [hl]
ld [de], a
- ld hl, BaseHP
+ ld hl, BaseStats
ld de, EnemyMonBaseStats
- ld b, $5
+ ld b, 5
.asm_3db25
ld a, [hli]
ld [de], a
@@ -4177,7 +4177,7 @@ Function3db32: ; 3db32
call Function3db5f
call EmptyBattleTextBox
call Function309d
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld a, [hli]
or [hl]
ret
@@ -4185,12 +4185,12 @@ Function3db32: ; 3db32
Function3db5f: ; 3db5f
- ld hl, BattleMonAtkDefDV
- ld a, $2d
+ ld hl, BattleMonDVs
+ ld a, PREDEF_GET_UNOWN_LETTER
call Predef
hlcoord 1, 5
- ld b, $7
- ld c, $8
+ ld b, 7
+ ld c, 8
call ClearBox
call WaitBGMap
xor a
@@ -4201,7 +4201,7 @@ Function3db5f: ; 3db5f
ld [$d0d2], a
ld [CurMoveNum], a
ld [TypeModifier], a
- ld [PlayerMoveAnimation], a
+ ld [wPlayerMoveStruct + MOVE_ANIM], a
ld [LastEnemyCounterMove], a
ld [LastPlayerCounterMove], a
ld [LastPlayerMove], a
@@ -4223,7 +4223,7 @@ Function3db5f: ; 3db5f
call Function3ee17
.asm_3dbbc
- ld a, $0
+ ld a, PartyMon1Species - PartyMon1
call GetPartyParamLocation
ld b, h
ld c, l
@@ -4281,20 +4281,20 @@ BreakAttraction: ; 3dc18
SpikesDamage: ; 3dc23
ld hl, PlayerScreens
- ld de, BattleMonType1
+ ld de, BattleMonType
ld bc, Function3df48
ld a, [hBattleTurn]
and a
jr z, .ok
ld hl, EnemyScreens
- ld de, EnemyMonType1
+ ld de, EnemyMonType
ld bc, Function3e036
.ok
bit SCREENS_SPIKES, [hl]
ret z
-; Flying-types aren't affected by Spikes.
+ ; Flying-types aren't affected by Spikes.
ld a, [de]
cp FLYING
ret z
@@ -4321,15 +4321,17 @@ SpikesDamage: ; 3dc23
; 3dc5b
Function3dc5b: ; 3dc5b
- ld a, $10
+ ld a, BATTLE_VARS_MOVE
call GetBattleVar
ld b, a
call GetMoveEffect
ld a, b
- cp $80
+ cp EFFECT_PURSUIT
jr nz, .asm_3dce4
+
ld a, [CurBattleMon]
push af
+
ld hl, DoPlayerTurn
ld a, [hBattleTurn]
and a
@@ -4337,25 +4339,29 @@ Function3dc5b: ; 3dc5b
ld hl, DoEnemyTurn
ld a, [$c71a]
ld [CurBattleMon], a
-
.asm_3dc7e
ld a, BANK(DoPlayerTurn)
rst FarCall
- ld a, $10
+
+ ld a, BATTLE_VARS_MOVE
call _GetBattleVar
ld a, $ff
ld [hl], a
+
pop af
ld [CurBattleMon], a
+
ld a, [hBattleTurn]
and a
jr z, .asm_3dcc0
+
ld a, [$c71a]
call Function399f
ld hl, BattleMonHP
ld a, [hli]
or [hl]
jr nz, .asm_3dce4
+
ld a, $f0
ld [CryTracks], a
ld a, [BattleMonSpecies]
@@ -4371,10 +4377,11 @@ Function3dc5b: ; 3dc5b
jr .asm_3dcdf
.asm_3dcc0
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld a, [hli]
or [hl]
jr nz, .asm_3dce4
+
ld de, SFX_KINESIS
call PlaySFX
call WaitSFX
@@ -4436,8 +4443,8 @@ Function3dd2f: ; 3dd2f
ld a, b
cp $1
ret nz
- ld de, EnemyMonHPLo
- ld hl, EnemyMonMaxHPHi
+ ld de, EnemyMonHP + 1
+ ld hl, EnemyMonMaxHP
ld a, [hBattleTurn]
and a
jr z, .asm_3dd4a
@@ -4945,7 +4952,7 @@ Function3e043: ; 3e043
ld h, b
ld l, c
dec hl
- ld hl, EnemyMonAtkDefDV
+ ld hl, EnemyMonDVs
ld de, TempMonDVs
ld a, [EnemySubStatus5]
bit 3, a
@@ -4990,7 +4997,7 @@ Function3e043: ; 3e043
call PrintLevel
.asm_3e0be
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld a, [hli]
ld [$ffb5], a
ld a, [hld]
@@ -5008,7 +5015,7 @@ Function3e043: ; 3e043
ld a, $30
ld [hMultiplier], a
call Multiply
- ld hl, EnemyMonMaxHPHi
+ ld hl, EnemyMonMaxHP
ld a, [hli]
ld b, a
ld a, [hl]
@@ -5386,8 +5393,8 @@ Function3e358: ; 3e358
; 3e3ad
Function3e3ad: ; 3e3ad
- ld a, $1
- ld [$c710], a
+ ld a, 1
+ ld [wPlayerIsSwitching], a
ld a, [InLinkBattle]
and a
jr z, .asm_3e3c1
@@ -5412,7 +5419,7 @@ Function3e3ad: ; 3e3ad
jp z, .asm_3e3ca
cp $d
jp z, .asm_3e3ca
- cp $4
+ cp NUM_MOVES
jp c, .asm_3e3ca
cp $f
jr nz, .asm_3e3e9
@@ -5452,9 +5459,9 @@ BattleMonEntrance: ; 3e40b
call SetEnemyTurn
call Function3dc5b
- jr c, .asm_3e423
+ jr c, .ok
call Function3dce6
-.asm_3e423
+.ok
hlcoord 9, 7
lb bc, 5, 11
@@ -5506,8 +5513,8 @@ Function3e489: ; 3e489
call Function30b4
ld a, $3
ld [$cfa9], a
- ld hl, BattleMonSpd
- ld de, EnemyMonSpd
+ ld hl, BattleMonSpeed
+ ld de, EnemyMonSpeed
call Function3d8b3
ld a, $0
ld [$d266], a
@@ -5906,7 +5913,7 @@ MoveInfoBox: ; 3e6c8
ld [hl], "/"
callab UpdateMoveData
- ld a, [PlayerMoveAnimation]
+ ld a, [wPlayerMoveStruct + MOVE_ANIM]
ld b, a
hlcoord 2, 10
ld a, PREDEF_PRINT_MOVE_TYPE
@@ -5996,7 +6003,7 @@ Function3e786: ; 3e786
Function3e7c1: ; 3e7c1
- ld a, [$c711]
+ ld a, [wEnemyIsSwitching]
and a
ret nz
ld a, [InLinkBattle]
@@ -6013,16 +6020,17 @@ Function3e7c1: ; 3e7c1
jp z, .asm_3e8bd
cp $d
jp z, .asm_3e82c
- cp $4
+ cp NUM_MOVES
jp nc, Function3e8c1
ld [CurEnemyMoveNum], a
ld c, a
ld a, [EnemySubStatus1]
- bit 6, a
+ bit SUBSTATUS_ENCORED, a
jp nz, .asm_3e882
ld a, [EnemySubStatus3]
- and $13
+ and 1 << SUBSTATUS_CHARGED | 1 << SUBSTATUS_ROLLOUT | 1 << SUBSTATUS_BIDE
jp nz, .asm_3e882
+
ld hl, EnemySubStatus5
bit 4, [hl]
ld a, [LastEnemyMove]
@@ -6113,14 +6121,14 @@ Function3e7c1: ; 3e7c1
ld [$c733], a
.asm_3e894
- ld a, [EnemyMoveEffect]
+ ld a, [wEnemyMoveStruct + MOVE_EFFECT]
cp EFFECT_FURY_CUTTER
jr z, .asm_3e89f
xor a
ld [EnemyFuryCutterCount], a
.asm_3e89f
- ld a, [EnemyMoveEffect]
+ ld a, [wEnemyMoveStruct + MOVE_EFFECT]
cp EFFECT_RAGE
jr z, .asm_3e8af
ld hl, EnemySubStatus4
@@ -6129,13 +6137,13 @@ Function3e7c1: ; 3e7c1
ld [$c72c], a
.asm_3e8af
- ld a, [EnemyMoveEffect]
+ ld a, [wEnemyMoveStruct + MOVE_EFFECT]
cp EFFECT_PROTECT
ret z
cp EFFECT_ENDURE
ret z
xor a
- ld [$c681], a
+ ld [EnemyProtectCount], a
ret
.asm_3e8bd
@@ -6146,7 +6154,7 @@ Function3e7c1: ; 3e7c1
Function3e8c1: ; 3e8c1
xor a
ld [EnemyFuryCutterCount], a
- ld [$c681], a
+ ld [EnemyProtectCount], a
ld [$c72c], a
ld hl, EnemySubStatus4
res SUBSTATUS_RAGE, [hl]
@@ -6492,9 +6500,9 @@ LoadEnemyMon: ; 3e8eb
ld [hli], a
; Full HP...
- ld a, [EnemyMonMaxHPHi]
+ ld a, [EnemyMonMaxHP]
ld [hli], a
- ld a, [EnemyMonMaxHPLo]
+ ld a, [EnemyMonMaxHP + 1]
ld [hl], a
; ...unless it's a RoamMon
@@ -6510,13 +6518,13 @@ LoadEnemyMon: ; 3e8eb
jr z, .InitRoamHP
; Update from the struct if it has
ld a, [hl]
- ld [EnemyMonHPLo], a
+ ld [EnemyMonHP + 1], a
jr .Moves
.InitRoamHP
; HP only uses the lo byte in the RoamMon struct since
; Raikou/Entei/Suicune will have < 256 hp at level 40
- ld a, [EnemyMonHPLo]
+ ld a, [EnemyMonHP + 1]
ld [hl], a
jr .Moves
@@ -6527,9 +6535,9 @@ LoadEnemyMon: ; 3e8eb
ld a, [CurPartyMon]
call GetPartyLocation
ld a, [hld]
- ld [EnemyMonHPLo], a
+ ld [EnemyMonHP + 1], a
ld a, [hld]
- ld [EnemyMonHPHi], a
+ ld [EnemyMonHP], a
; Make sure everything knows which monster the opponent is using
ld a, [CurPartyMon]
@@ -6975,11 +6983,11 @@ Function3ecb7: ; 3ecb7
ld a, [$d265]
and a
ld a, c
- ld hl, BattleMonAtk
+ ld hl, BattleMonAttack
ld de, PlayerStats
ld bc, PlayerAtkLevel
jr z, .asm_3ecd2
- ld hl, EnemyMonAtk
+ ld hl, EnemyMonAttack
ld de, EnemyStats
ld bc, EnemyAtkLevel
@@ -7113,7 +7121,7 @@ BadgeStatBoosts: ; 3ed45
or c
ld b, a
- ld hl, BattleMonAtk
+ ld hl, BattleMonAttack
ld c, 4
.CheckBadge
ld a, b
@@ -7432,7 +7440,7 @@ Function3ee3b: ; 3ee3b
ld a, [$ffb5]
ld [StringBuffer2], a
ld a, [CurPartyMon]
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call GetNick
ld hl, UnknownText_0x3f11b
call BattleTextBox
@@ -7960,14 +7968,14 @@ Function3f26d: ; 3f26d
jr nz, .asm_3f2ce
.asm_3f27c
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld a, [hli]
or [hl]
ld hl, UnknownText_0x3f2d1
jr z, .asm_3f2ce
xor a
ld [hMultiplicand], a
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld a, [hli]
ld [$c6ea], a
ld [$ffb5], a
@@ -7977,7 +7985,7 @@ Function3f26d: ; 3f26d
ld a, $19
ld [hMultiplier], a
call Multiply
- ld hl, EnemyMonMaxHPHi
+ ld hl, EnemyMonMaxHP
ld a, [hli]
ld b, [hl]
srl a
@@ -8052,7 +8060,7 @@ UnknownText_0x3f2fa: ; 3f2fa
Function3f2ff: ; 3f2ff
push de
push bc
- ld hl, EnemyMonHPLo
+ ld hl, EnemyMonHP + 1
ld de, $c6eb
ld b, [hl]
dec hl
@@ -8067,7 +8075,7 @@ Function3f2ff: ; 3f2ff
ld a, $19
ld [hMultiplier], a
call Multiply
- ld hl, EnemyMonMaxHPHi
+ ld hl, EnemyMonMaxHP
ld a, [hli]
ld b, [hl]
srl a
@@ -8300,8 +8308,8 @@ Function3f447: ; 3f447
push af
ld a, [BattleMonSpecies]
ld [CurPartySpecies], a
- ld hl, BattleMonAtkDefDV
- ld a, $2d
+ ld hl, BattleMonDVs
+ ld a, PREDEF_GET_UNOWN_LETTER
call Predef
ld de, $9310
ld a, $3d
@@ -8339,8 +8347,8 @@ Function3f486: ; 3f486
ld [CurSpecies], a
ld [CurPartySpecies], a
call GetBaseData
- ld hl, EnemyMonAtkDefDV
- ld a, $2d
+ ld hl, EnemyMonDVs
+ ld a, PREDEF_GET_UNOWN_LETTER
call Predef
ld de, VTiles2
ld a, $3e
@@ -8537,8 +8545,8 @@ Function3f607: ; 3f607
ld de, $c739
ld bc, NUM_MOVES
call CopyBytes
- ld hl, EnemyMonAtkDefDV
- ld a, $2d
+ ld hl, EnemyMonDVs
+ ld a, PREDEF_GET_UNOWN_LETTER
call Predef
ld a, [CurPartySpecies]
cp UNOWN
@@ -8975,7 +8983,7 @@ Function3f998: ; 3f998
and $f
jr z, .asm_3f9af
call GetRoamMonHP
- ld a, [EnemyMonHPLo]
+ ld a, [EnemyMonHP + 1]
ld [hl], a
jr .asm_3f9ca
@@ -9003,74 +9011,74 @@ Function3f998: ; 3f998
GetRoamMonMapGroup: ; 3f9d1
ld a, [TempEnemyMonSpecies]
ld b, a
- ld a, [RoamMon1Species]
+ ld a, [wRoamMon1Species]
cp b
- ld hl, RoamMon1MapGroup
+ ld hl, wRoamMon1MapGroup
ret z
- ld a, [RoamMon2Species]
+ ld a, [wRoamMon2Species]
cp b
- ld hl, RoamMon2MapGroup
+ ld hl, wRoamMon2MapGroup
ret z
- ld hl, RoamMon3MapGroup
+ ld hl, wRoamMon3MapGroup
ret
; 3f9e9
GetRoamMonMapNumber: ; 3f9e9
ld a, [TempEnemyMonSpecies]
ld b, a
- ld a, [RoamMon1Species]
+ ld a, [wRoamMon1Species]
cp b
- ld hl, RoamMon1MapNumber
+ ld hl, wRoamMon1MapNumber
ret z
- ld a, [RoamMon2Species]
+ ld a, [wRoamMon2Species]
cp b
- ld hl, RoamMon2MapNumber
+ ld hl, wRoamMon2MapNumber
ret z
- ld hl, RoamMon3MapNumber
+ ld hl, wRoamMon3MapNumber
ret
; 3fa01
GetRoamMonHP: ; 3fa01
-; output: hl = RoamMonHP
+; output: hl = wRoamMonHP
ld a, [TempEnemyMonSpecies]
ld b, a
- ld a, [RoamMon1Species]
+ ld a, [wRoamMon1Species]
cp b
- ld hl, RoamMon1HP
+ ld hl, wRoamMon1HP
ret z
- ld a, [RoamMon2Species]
+ ld a, [wRoamMon2Species]
cp b
- ld hl, RoamMon2HP
+ ld hl, wRoamMon2HP
ret z
- ld hl, RoamMon3HP
+ ld hl, wRoamMon3HP
ret
; 3fa19
GetRoamMonDVs: ; 3fa19
-; output: hl = RoamMonDVs
+; output: hl = wRoamMonDVs
ld a, [TempEnemyMonSpecies]
ld b, a
- ld a, [RoamMon1Species]
+ ld a, [wRoamMon1Species]
cp b
- ld hl, RoamMon1DVs
+ ld hl, wRoamMon1DVs
ret z
- ld a, [RoamMon2Species]
+ ld a, [wRoamMon2Species]
cp b
- ld hl, RoamMon2DVs
+ ld hl, wRoamMon2DVs
ret z
- ld hl, RoamMon3DVs
+ ld hl, wRoamMon3DVs
ret
; 3fa31
GetRoamMonSpecies: ; 3fa31
ld a, [TempEnemyMonSpecies]
- ld hl, RoamMon1Species
+ ld hl, wRoamMon1Species
cp [hl]
ret z
- ld hl, RoamMon2Species
+ ld hl, wRoamMon2Species
cp [hl]
ret z
- ld hl, RoamMon3Species
+ ld hl, wRoamMon3Species
ret
; 3fa42
diff --git a/battle/effect_commands.asm b/battle/effect_commands.asm
index b7f41c04f..9e1b0d8e5 100644
--- a/battle/effect_commands.asm
+++ b/battle/effect_commands.asm
@@ -2395,12 +2395,12 @@ BattleCommand09: ; 34d32
call .StatModifiers
- ld a, [PlayerMoveAccuracy]
+ ld a, [wPlayerMoveStruct + MOVE_ACC]
ld b, a
ld a, [hBattleTurn]
and a
jr z, .BrightPowder
- ld a, [EnemyMoveAccuracy]
+ ld a, [wEnemyMoveStruct + MOVE_ACC]
ld b, a
.BrightPowder
@@ -2592,7 +2592,7 @@ BattleCommand09: ; 34d32
ld a, [hBattleTurn]
and a
- ld hl, PlayerMoveAccuracy
+ ld hl, wPlayerMoveStruct + MOVE_ACC
ld a, [PlayerAccLevel]
ld b, a
ld a, [EnemyEvaLevel]
@@ -2600,7 +2600,7 @@ BattleCommand09: ; 34d32
jr z, .asm_34e60
- ld hl, EnemyMoveAccuracy
+ ld hl, wEnemyMoveStruct + MOVE_ACC
ld a, [EnemyAccLevel]
ld b, a
ld a, [PlayerEvaLevel]
@@ -2695,11 +2695,11 @@ BattleCommand90: ; 34ecc
jr nz, .failed
push hl
- ld hl, PlayerMoveEffectChance
+ ld hl, wPlayerMoveStruct + MOVE_CHANCE
ld a, [hBattleTurn]
and a
jr z, .asm_34ee1
- ld hl, EnemyMoveEffectChance
+ ld hl, wEnemyMoveStruct + MOVE_CHANCE
.asm_34ee1
call BattleRandom
@@ -3224,7 +3224,7 @@ BattleCommand11: ; 351c0
; Faint the user if it fainted an opponent using Destiny Bond.
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld a, [hBattleTurn]
and a
jr z, .asm_351cb
@@ -3438,7 +3438,7 @@ PlayerAttackDamage: ; 352e2
call ResetDamage
- ld hl, PlayerMovePower
+ ld hl, wPlayerMoveStruct + MOVE_POWER
ld a, [hli]
and a
ld d, a
@@ -3450,7 +3450,7 @@ PlayerAttackDamage: ; 352e2
; Physical
- ld hl, EnemyMonDef
+ ld hl, EnemyMonDefense
ld a, [hli]
ld b, a
ld c, [hl]
@@ -3463,7 +3463,7 @@ PlayerAttackDamage: ; 352e2
rl b
.physicalcrit
- ld hl, BattleMonAtk
+ ld hl, BattleMonAttack
call GetDamageStatsCritical
jr c, .thickclub
@@ -3586,7 +3586,7 @@ GetDamageStats: ; 3537e
ld a, [hBattleTurn]
and a
jr nz, .enemy
- ld a, [PlayerMoveType]
+ ld a, [wPlayerMoveStruct + MOVE_TYPE]
cp SPECIAL
; special
ld a, [PlayerSAtkLevel]
@@ -3600,7 +3600,7 @@ GetDamageStats: ; 3537e
jr .end
.enemy
- ld a, [EnemyMoveType]
+ ld a, [wEnemyMoveStruct + MOVE_TYPE]
cp SPECIAL
; special
ld a, [EnemySAtkLevel]
@@ -3699,8 +3699,8 @@ EnemyAttackDamage: ; 353f6
call ResetDamage
; No damage dealt with 0 power.
- ld hl, EnemyMovePower
- ld a, [hli] ; hl = EnemyMoveType
+ ld hl, wEnemyMoveStruct + MOVE_POWER
+ ld a, [hli] ; hl = wEnemyMoveStruct + MOVE_TYPE
ld d, a
and a
ret z
@@ -3711,7 +3711,7 @@ EnemyAttackDamage: ; 353f6
; Physical
- ld hl, BattleMonDef
+ ld hl, BattleMonDefense
ld a, [hli]
ld b, a
ld c, [hl]
@@ -3724,7 +3724,7 @@ EnemyAttackDamage: ; 353f6
rl b
.physicalcrit
- ld hl, EnemyMonAtk
+ ld hl, EnemyMonAttack
call GetDamageStatsCritical
jr c, .thickclub
@@ -3804,7 +3804,7 @@ BattleCommanda1: ; 35461
ld [DefaultFlypoint], a
.asm_3548d
ld a, [DefaultFlypoint]
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call GetNick
ld a, $22
call Function355bd
@@ -3847,7 +3847,7 @@ BattleCommanda1: ; 35461
ld a, [hl]
ld e, a
pop bc
- ld a, [PlayerMovePower]
+ ld a, [wPlayerMoveStruct + MOVE_POWER]
ld d, a
ret
@@ -3893,7 +3893,7 @@ BattleCommanda1: ; 35461
.asm_35532
ld a, [DefaultFlypoint]
- ld hl, OTPartyMon1Nickname
+ ld hl, OTPartyMonNicknames
ld bc, $000b
call AddNTimes
ld de, StringBuffer1
@@ -3952,7 +3952,7 @@ BattleCommanda1: ; 35461
ld a, [hl]
ld e, a
pop bc
- ld a, [EnemyMovePower]
+ ld a, [wEnemyMoveStruct + MOVE_POWER]
ld d, a
ret
; 355b0
@@ -4004,12 +4004,12 @@ Function355dd: ; 355dd
call ResetDamage
ld a, [hBattleTurn]
and a
- ld hl, BattleMonDef
+ ld hl, BattleMonDefense
ld de, PlayerScreens
ld a, [BattleMonLevel]
jr z, .asm_355f7
- ld hl, EnemyMonDef
+ ld hl, EnemyMonDefense
ld de, EnemyScreens
ld a, [EnemyMonLevel]
.asm_355f7
@@ -4345,7 +4345,7 @@ BattleCommand3f: ; 35726
ld a, $0
jr .asm_3578c ; 35769 $21
.asm_3576b
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld a, [hBattleTurn]
and a
jr z, .asm_35776 ; 35771 $3
@@ -4376,7 +4376,7 @@ BattleCommand3f: ; 35726
ld a, [hBattleTurn]
and a
jr z, .asm_3579d ; 35798 $3
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
.asm_3579d
xor a
ld [$ffb3], a
@@ -4433,14 +4433,14 @@ BattleCommand3f: ; 35726
ld a, [hl]
jr nz, .asm_357f8
- ld hl, PlayerMovePower
+ ld hl, wPlayerMoveStruct + MOVE_POWER
ld [hl], a
push hl
call PlayerAttackDamage
jr .asm_35800
.asm_357f8
- ld hl, EnemyMovePower
+ ld hl, wEnemyMoveStruct + MOVE_POWER
ld [hl], a
push hl
call EnemyAttackDamage
@@ -4600,7 +4600,7 @@ BattleCommand41: ; 35864
ld a, b
ld [CurPlayerMove], a
dec a
- ld de, PlayerMoveStruct
+ ld de, wPlayerMoveStruct
call GetMoveData
jr .asm_3591a
.asm_358ef
@@ -4629,7 +4629,7 @@ BattleCommand41: ; 35864
ld a, b
ld [CurEnemyMove], a
dec a
- ld de, EnemyMoveStruct
+ ld de, wEnemyMoveStruct
call GetMoveData
.asm_3591a
call AnimateCurrentMove
@@ -4654,14 +4654,14 @@ BattleCommand42: ; 35926
jp nz, Function359cd
call AnimateCurrentMove
ld hl, $c63f
- ld de, EnemyMonMaxHPLo
+ ld de, EnemyMonMaxHP + 1
call .asm_3597d
ld a, $1
ld [$d10a], a
hlcoord 10, 9
ld a, $b
call Predef
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld a, [hli]
ld [$d1ed], a
ld a, [hli]
@@ -5230,7 +5230,7 @@ BattleCommand4a: ; 35c0f
BattleCommand4b: ; 35c94
; falseswipe
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld a, [hBattleTurn]
and a
jr z, .asm_35c9f ; 35c9a $3
@@ -5362,7 +5362,7 @@ Function35d1c: ; 35d1c
ld a, [EnemyMonHP]
ld [$d1ec + 1], a
sbc b
- ld [EnemyMonHPHi], a
+ ld [EnemyMonHP], a
jr nc, .asm_35d59
ld a, [$d1ed]
@@ -5837,8 +5837,8 @@ Function36011: ; 36011
ld a, [hBattleTurn]
and a
jr z, .asm_36037 ; 0x3602f $6
- ld hl, EnemyMonHPHi
- ld de, EnemyMonMaxHPHi
+ ld hl, EnemyMonHP
+ ld de, EnemyMonMaxHP
.asm_36037
ld bc, $d1ed
ld a, [hli]
@@ -6396,12 +6396,12 @@ BattleCommand1d: ; 362e3
jr nc, .Hit
push hl
- ld hl, EnemyMonAtk + 1
+ ld hl, EnemyMonAttack + 1
ld de, EnemyStats
ld a, [hBattleTurn]
and a
jr z, .asm_36366
- ld hl, BattleMonAtk + 1
+ ld hl, BattleMonAttack + 1
ld de, PlayerStats
.asm_36366
call Function3641a
@@ -6840,7 +6840,7 @@ BattleCommanda7: ; 365c3
Function365d7: ; 365d7
ld hl, PlayerAtkLevel
ld de, PlayerStats
- ld bc, BattleMonAtk
+ ld bc, BattleMonAttack
ld a, $5
call Function3661d
@@ -6863,7 +6863,7 @@ Function365d7: ; 365d7
Function365fd: ; 365fd
ld hl, EnemyAtkLevel
ld de, EnemyStats
- ld bc, EnemyMonAtk
+ ld bc, EnemyMonAttack
ld a, $5
call Function3661d
@@ -7040,8 +7040,8 @@ BattleCommand22: ; 366e5
ld [de], a
inc de
ld [de], a
- ld [PlayerMoveEffect], a
- ld [EnemyMoveEffect], a
+ ld [wPlayerMoveStruct + MOVE_EFFECT], a
+ ld [wEnemyMoveStruct + MOVE_EFFECT], a
call BattleRandom
and $1
inc a
@@ -7257,7 +7257,7 @@ BattleCommand23: ; 3680f
inc a
ld [$d232], a
call Function36804
- ld a, [PlayerMoveAnimation]
+ ld a, [wPlayerMoveStruct + MOVE_ANIM]
jp .asm_36975
.asm_36869
call Function349f4
@@ -7348,7 +7348,7 @@ BattleCommand23: ; 3680f
inc a
ld [$d232], a
call Function36804
- ld a, [EnemyMoveAnimation]
+ ld a, [wEnemyMoveStruct + MOVE_ANIM]
jr .asm_36975
.asm_36908
@@ -7687,7 +7687,7 @@ BattleCommand26: ; 36af3
jr z, .asm_36b2f ; 36afb $32
ld hl, EnemyMonLevel
ld de, BattleMonLevel
- ld bc, PlayerMoveAccuracy
+ ld bc, wPlayerMoveStruct + MOVE_ACC
ld a, [hBattleTurn]
and a
jr z, .asm_36b12 ; 36b09 $7
@@ -7695,7 +7695,7 @@ BattleCommand26: ; 36af3
ld h, d
ld l, e
pop de
- ld bc, EnemyMoveAccuracy
+ ld bc, wEnemyMoveStruct + MOVE_ACC
.asm_36b12
ld a, [de]
sub [hl]
@@ -7990,7 +7990,7 @@ BattleCommand27: ; 36cb2
ld a, [hBattleTurn]
and a
jr z, .asm_36cbd ; 36cb8 $3
- ld hl, EnemyMonMaxHPHi
+ ld hl, EnemyMonMaxHP
.asm_36cbd
ld a, BATTLE_VARS_MOVE_ANIM
call GetBattleVar
@@ -9951,20 +9951,25 @@ CheckAnyOtherAliveMons: ; 37b01
BattleCommand68: ; 37b1d
- ld hl, $c711
+; pursuit
+; Double damage if the opponent is switching.
+
+ ld hl, wEnemyIsSwitching
ld a, [hBattleTurn]
and a
- jr z, .asm_37b28 ; 37b23 $3
- ld hl, $c710
-.asm_37b28
+ jr z, .ok
+ ld hl, wPlayerIsSwitching
+.ok
ld a, [hl]
and a
ret z
+
ld hl, CurDamage + 1
sla [hl]
dec hl
rl [hl]
ret nc
+
ld a, $ff
ld [hli], a
ld [hl], a
diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm
index 076684345..605344478 100644
--- a/constants/misc_constants.asm
+++ b/constants/misc_constants.asm
@@ -1,3 +1,4 @@
+PARTY_LENGTH EQU 6
; strings
PLAYER_NAME_LENGTH EQU 8
@@ -16,7 +17,8 @@ TRAINER_NAME EQU 7
; boxes
-NUM_BOXES EQU 14
+MONS_PER_BOX EQU 20
+NUM_BOXES EQU 14
; predefs
diff --git a/data/odd_eggs.asm b/data/odd_eggs.asm
index 68062ec3b..95f64ded8 100644
--- a/data/odd_eggs.asm
+++ b/data/odd_eggs.asm
@@ -35,7 +35,7 @@ GiveOddEgg: ; 1fb4b6
ld hl, OddEggs
ld a, OddEgg2 - OddEgg1
call AddNTimes
- ld de, EnemyMoveAnimation
+ ld de, $c608
ld bc, $0046
call CopyBytes
ld a, EGG_TICKET
diff --git a/engine/engine_flags.asm b/engine/engine_flags.asm
index 11414438e..34f26c87c 100644
--- a/engine/engine_flags.asm
+++ b/engine/engine_flags.asm
@@ -9,13 +9,13 @@
dwb $d957, %00001000 ; expn card
dwb $d957, %10000000 ; on/off
- ; DaycareMan, %10000000 ; daycare 1 on
- dwb DaycareMan, %01000000 ; monster 1 and 2 are compatible
- ; DaycareMan, %00100000 ; egg is ready
- dwb DaycareMan, %00000001 ; monster 1 in daycare
+ ; wDaycareMan, %10000000 ; daycare 1 on
+ dwb wDaycareMan, %01000000 ; monster 1 and 2 are compatible
+ ; wDaycareMan, %00100000 ; egg is ready
+ dwb wDaycareMan, %00000001 ; monster 1 in daycare
- ; DaycareLady, %10000000 = daycare 2 on
- dwb DaycareLady, %00000001 ; monster 2 in daycare
+ ; wDaycareLady, %10000000 = daycare 2 on
+ dwb wDaycareLady, %00000001 ; monster 2 in daycare
dwb $d854, %00000001 ; mom saving money ; $8
dwb $d854, %10000000 ; dst
diff --git a/engine/scripting.asm b/engine/scripting.asm
index 43af00669..63c5ca1f2 100644
--- a/engine/scripting.asm
+++ b/engine/scripting.asm
@@ -2659,7 +2659,7 @@ Script_giveegg: ; 0x97968
ld [CurPartySpecies], a
call GetScriptByte
ld [CurPartyLevel], a
- callba Functiondf8c
+ callba GiveEgg
ret nc
ld a, $2
ld [ScriptVar], a
diff --git a/event/name_rater.asm b/event/name_rater.asm
index 3f2bf3912..d22ece2b5 100644
--- a/event/name_rater.asm
+++ b/event/name_rater.asm
@@ -34,7 +34,7 @@ NameRater: ; fb6ed
call Functionfb7d3
ld hl, UnknownText_0xfb837
jr c, .asm_fb76c
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld bc, $000b
ld a, [CurPartyMon]
call AddNTimes
@@ -70,12 +70,12 @@ NameRater: ; fb6ed
; fb78a
Functionfb78a: ; fb78a
- ld hl, PartyMon1OT
- ld bc, $000b
+ ld hl, PartyMonOT
+ ld bc, NAME_LENGTH
ld a, [CurPartyMon]
call AddNTimes
ld de, PlayerName
- ld c, $b
+ ld c, NAME_LENGTH
call .asm_fb7b1
jr c, .asm_fb7bc
ld hl, PartyMon1ID
@@ -122,7 +122,7 @@ Functionfb7be: ; fb7be
; fb7d3
Functionfb7d3: ; fb7d3
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld bc, $000b
ld a, [CurPartyMon]
call AddNTimes
diff --git a/event/poke_seer.asm b/event/poke_seer.asm
index f49e8ce07..13b2ddbeb 100644
--- a/event/poke_seer.asm
+++ b/event/poke_seer.asm
@@ -139,7 +139,7 @@ ReadCaughtData: ; 4f134
GetCaughtName: ; 4f176
ld a, [CurPartyMon]
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld bc, PKMN_NAME_LENGTH
call AddNTimes
ld de, $d003
@@ -258,8 +258,8 @@ GetCaughtLocation: ; 4f20a
GetCaughtOT: ; 4f242
ld a, [CurPartyMon]
- ld hl, PartyMon1OT
- ld bc, $000b
+ ld hl, PartyMonOT
+ ld bc, NAME_LENGTH
call AddNTimes
ld de, $d02a
ld bc, $000b
diff --git a/home/battle.asm b/home/battle.asm
index fc670d927..809b0d843 100644
--- a/home/battle.asm
+++ b/home/battle.asm
@@ -250,10 +250,10 @@ _GetBattleVar:: ; 39e7
dw PlayerSubStatus4, EnemySubStatus4
dw PlayerSubStatus5, EnemySubStatus5
dw BattleMonStatus, EnemyMonStatus
- dw PlayerMoveAnimation, EnemyMoveAnimation
- dw PlayerMoveEffect, EnemyMoveEffect
- dw PlayerMovePower, EnemyMovePower
- dw PlayerMoveType, EnemyMoveType
+ dw wPlayerMoveStruct + MOVE_ANIM, wEnemyMoveStruct + MOVE_ANIM
+ dw wPlayerMoveStruct + MOVE_EFFECT, wEnemyMoveStruct + MOVE_EFFECT
+ dw wPlayerMoveStruct + MOVE_POWER, wEnemyMoveStruct + MOVE_POWER
+ dw wPlayerMoveStruct + MOVE_TYPE, wEnemyMoveStruct + MOVE_TYPE
dw CurPlayerMove, CurEnemyMove
dw LastEnemyCounterMove, LastPlayerCounterMove
dw LastPlayerMove, LastEnemyMove
diff --git a/home/map.asm b/home/map.asm
index 77a53b8d2..2291faa29 100644
--- a/home/map.asm
+++ b/home/map.asm
@@ -120,7 +120,7 @@ Function2198:: ; 2198
ld e, a
ld a, [$d195]
ld d, a
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
ld b, $5
.asm_21a5
diff --git a/items/item_effects.asm b/items/item_effects.asm
index d294d198c..61ff2033e 100644
--- a/items/item_effects.asm
+++ b/items/item_effects.asm
@@ -274,7 +274,7 @@ ParkBall: ; e8a2
ld a, b
ld [$ffb6], a
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld b, [hl]
inc hl
ld c, [hl]
@@ -449,9 +449,9 @@ ParkBall: ; e8a2
.asm_ea1a
set 3, [hl]
ld hl, $c6f2
- ld a, [EnemyMonAtkDefDV]
+ ld a, [EnemyMonDVs]
ld [hli], a
- ld a, [EnemyMonSpdSpclDV]
+ ld a, [EnemyMonDVs + 1]
ld [hl], a
.asm_ea27
@@ -579,7 +579,7 @@ ParkBall: ; e8a2
ld a, [PartyCount]
dec a
ld [CurPartyMon], a
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld bc, PKMN_NAME_LENGTH
call AddNTimes
@@ -1316,11 +1316,11 @@ Functioneed9: ; eed9
; eeeb
Table_eeeb: ; eeeb
- db HP_UP, PartyMon1HPExp - PartyMon1StatExp
- db PROTEIN, PartyMon1AtkExp - PartyMon1StatExp
- db IRON, PartyMon1DefExp - PartyMon1StatExp
- db CARBOS, PartyMon1SpdExp - PartyMon1StatExp
- db CALCIUM, PartyMon1SpclExp - PartyMon1StatExp
+ db HP_UP, PartyMon1HPExp - PartyMon1StatExp
+ db PROTEIN, PartyMon1AtkExp - PartyMon1StatExp
+ db IRON, PartyMon1DefExp - PartyMon1StatExp
+ db CARBOS, PartyMon1SpdExp - PartyMon1StatExp
+ db CALCIUM, PartyMon1SpcExp - PartyMon1StatExp
; eef5
@@ -1334,7 +1334,7 @@ Functioneef5: ; eef5
ld [CurPartyLevel], a
call GetBaseData
ld a, [CurPartyMon]
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call GetNick
ret
; 0xef14
diff --git a/main.asm b/main.asm
index ef9196b6a..8f297163b 100644
--- a/main.asm
+++ b/main.asm
@@ -3891,7 +3891,7 @@ Function5bae: ; 5bae
ld a, 1
call GetSRAMBank
- ld hl, BoxCount
+ ld hl, sBoxCount
call Function5ca1
call CloseSRAM
@@ -3908,16 +3908,16 @@ Function5bae: ; 5bae
call Function5ca1
xor a
- ld [RoamMon1Species], a
- ld [RoamMon2Species], a
- ld [RoamMon3Species], a
+ ld [wRoamMon1Species], a
+ ld [wRoamMon2Species], a
+ ld [wRoamMon3Species], a
ld a, -1
- ld [RoamMon1MapGroup], a
- ld [RoamMon2MapGroup], a
- ld [RoamMon3MapGroup], a
- ld [RoamMon1MapNumber], a
- ld [RoamMon2MapNumber], a
- ld [RoamMon3MapNumber], a
+ ld [wRoamMon1MapGroup], a
+ ld [wRoamMon2MapGroup], a
+ ld [wRoamMon3MapGroup], a
+ ld [wRoamMon1MapNumber], a
+ ld [wRoamMon2MapNumber], a
+ ld [wRoamMon3MapNumber], a
ld a, 0
call GetSRAMBank
@@ -3977,8 +3977,8 @@ Function5ca1: ; 5ca1
; 5ca6
Function5ca6: ; 5ca6
- ld hl, Box1Name
- ld c, $0
+ ld hl, wBoxNames
+ ld c, 0
.asm_5cab
push hl
ld de, .Box
@@ -3986,22 +3986,22 @@ Function5ca6: ; 5ca6
dec hl
ld a, c
inc a
- cp $a
+ cp 10
jr c, .asm_5cbe
- sub $a
- ld [hl], $f7
+ sub 10
+ ld [hl], "1"
inc hl
.asm_5cbe
- add $f6
+ add "0"
ld [hli], a
- ld [hl], $50
+ ld [hl], "@"
pop hl
- ld de, $0009
+ ld de, 9
add hl, de
inc c
ld a, c
- cp $e
+ cp NUM_BOXES
jr c, .asm_5cab
ret
@@ -4041,18 +4041,14 @@ Function5ce9: ; 5ce9
ld de, GreensName
.Copy
- ld bc, $000b
+ ld bc, NAME_LENGTH
call CopyBytes
ret
-.Rival
- db "???@"
-.Red
- db "RED@"
-.Green
- db "GREEN@"
-.Mom
- db "MOM@"
+.Rival db "???@"
+.Red db "RED@"
+.Green db "GREEN@"
+.Mom db "MOM@"
; 5d23
Function5d23: ; 5d23
@@ -5258,11 +5254,11 @@ Function64db: ; 64db
Function6508: ; 6508
call Function309d
ld a, [CurPartyMon]
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call GetNick
ld hl, StringBuffer1
ld de, $d050
- ld bc, $000b
+ ld bc, PKMN_NAME_LENGTH
call CopyBytes
Function6520: ; 6520
@@ -6514,7 +6510,7 @@ StepHappiness:: ; 725a
DaycareStep:: ; 7282
- ld a, [DaycareMan]
+ ld a, [wDaycareMan]
bit 0, a
jr z, .asm_72a4
@@ -6536,7 +6532,7 @@ DaycareStep:: ; 7282
ld [hl], a
.asm_72a4
- ld a, [DaycareLady]
+ ld a, [wDaycareLady]
bit 0, a
jr z, .asm_72c6
@@ -6558,10 +6554,10 @@ DaycareStep:: ; 7282
ld [hl], a
.asm_72c6
- ld hl, DaycareMan
+ ld hl, wDaycareMan
bit 5, [hl] ; egg
ret z
- ld hl, StepsToEgg
+ ld hl, wStepsToEgg
dec [hl]
ret nz
@@ -6586,7 +6582,7 @@ DaycareStep:: ; 7282
call Random
cp b
ret nc
- ld hl, DaycareMan
+ ld hl, wDaycareMan
res 5, [hl]
set 6, [hl]
ret
@@ -6635,7 +6631,7 @@ SpecialGiveShuckle: ; 7305
; Nickname.
ld a, [PartyCount]
dec a
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call SkipNames
ld de, SpecialShuckleNick
call CopyName2
@@ -6643,7 +6639,7 @@ SpecialGiveShuckle: ; 7305
; OT.
ld a, [PartyCount]
dec a
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
call SkipNames
ld de, SpecialShuckleOT
call CopyName2
@@ -6691,7 +6687,7 @@ SpecialReturnShuckle: ; 737e
; OT
ld a, [CurPartyMon]
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
call SkipNames
ld de, SpecialShuckleOT
.CheckOT
@@ -7767,7 +7763,7 @@ PredefPointers: ; 856b
dwb Functionda96, BANK(Functionda96)
dwb Functiondb3f, BANK(Functiondb3f) ; $8
dwb Functionde6e, BANK(Functionde6e)
- dwb Functiondf8c, BANK(Functiondf8c)
+ dwb GiveEgg, BANK(GiveEgg)
dwb Functionc6e0, BANK(Functionc6e0)
dwb Functione167, BANK(Functione167)
dwb Functione17b, BANK(Functione17b)
@@ -8939,7 +8935,7 @@ Functionc6f5: ; c6f5
GetPartyNick: ; c706
; write CurPartyMon nickname to StringBuffer1-3
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld a, BOXMON
ld [MonType], a
ld a, [CurPartyMon]
@@ -12321,7 +12317,7 @@ Functiond88c: ; d88c
.asm_d899
ld a, [de]
inc a
- cp $7
+ cp PARTY_LENGTH + 1
ret nc
ld [de], a
ld a, [de]
@@ -12337,11 +12333,11 @@ Functiond88c: ; d88c
inc de
ld a, $ff
ld [de], a
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
ld a, [MonType]
and $f
jr z, .asm_d8bc
- ld hl, OTPartyMon1OT
+ ld hl, OTPartyMonOT
.asm_d8bc
ld a, [$ffae]
@@ -12350,7 +12346,7 @@ Functiond88c: ; d88c
ld d, h
ld e, l
ld hl, PlayerName
- ld bc, $000b
+ ld bc, NAME_LENGTH
call CopyBytes
ld a, [MonType]
and a
@@ -12358,14 +12354,14 @@ Functiond88c: ; d88c
ld a, [CurPartySpecies]
ld [$d265], a
call GetPokemonName
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld a, [$ffae]
dec a
call SkipNames
ld d, h
ld e, l
ld hl, StringBuffer1
- ld bc, $000b
+ ld bc, PKMN_NAME_LENGTH
call CopyBytes
.asm_d8f0
@@ -12542,10 +12538,10 @@ Functiond906: ; d906
jr .asm_da29
.asm_d9f3
- ld a, [EnemyMonAtkDefDV]
+ ld a, [EnemyMonDVs]
ld [de], a
inc de
- ld a, [EnemyMonSpdSpclDV]
+ ld a, [EnemyMonDVs + 1]
ld [de], a
inc de
@@ -12591,7 +12587,7 @@ Functiond906: ; d906
ld a, [IsInBattle]
dec a
jr nz, .asm_da3b
- ld hl, EnemyMonMaxHPHi
+ ld hl, EnemyMonMaxHP
ld bc, $000c
call CopyBytes
pop hl
@@ -12609,14 +12605,14 @@ Functiond906: ; d906
and $f
jr nz, .asm_da6b
ld a, [CurPartySpecies]
- cp $c9
+ cp UNOWN
jr nz, .asm_da6b
ld hl, PartyMon1DVs
ld a, [PartyCount]
dec a
ld bc, PartyMon2 - PartyMon1
call AddNTimes
- ld a, $2d
+ ld a, PREDEF_GET_UNOWN_LETTER
call Predef
callab Functionfba18
@@ -12659,13 +12655,13 @@ FillPP: ; da6d
Functionda96: ; da96
ld hl, PartyCount
ld a, [hl]
- cp $6
+ cp PARTY_LENGTH
scf
ret z
inc a
ld [hl], a
ld c, a
- ld b, $0
+ ld b, 0
add hl, bc
ld a, [CurPartySpecies]
ld [hli], a
@@ -12679,32 +12675,33 @@ Functionda96: ; da96
ld d, h
ld hl, TempMonSpecies
call CopyBytes
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
ld a, [PartyCount]
dec a
call SkipNames
ld d, h
ld e, l
- ld hl, OTPartyMon1OT
+ ld hl, OTPartyMonOT
ld a, [CurPartyMon]
call SkipNames
- ld bc, $000b
+ ld bc, NAME_LENGTH
call CopyBytes
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld a, [PartyCount]
dec a
call SkipNames
ld d, h
ld e, l
- ld hl, OTPartyMon1Nickname
+ ld hl, OTPartyMonNicknames
ld a, [CurPartyMon]
call SkipNames
- ld bc, $000b
+ ld bc, PKMN_NAME_LENGTH
call CopyBytes
+
ld a, [CurPartySpecies]
ld [$d265], a
- cp $fd
- jr z, .asm_db12
+ cp EGG
+ jr z, .owned
dec a
call SetSeenAndCaughtMon
ld hl, PartyMon1Happiness
@@ -12713,26 +12710,26 @@ Functionda96: ; da96
ld bc, PartyMon2 - PartyMon1
call AddNTimes
ld [hl], BASE_HAPPINESS
+.owned
-.asm_db12
ld a, [CurPartySpecies]
- cp $c9
- jr nz, .asm_db3d
+ cp UNOWN
+ jr nz, .done
ld hl, PartyMon1DVs
ld a, [PartyCount]
dec a
ld bc, PartyMon2 - PartyMon1
call AddNTimes
- ld a, $2d
+ ld a, PREDEF_GET_UNOWN_LETTER
call Predef
callab Functionfba18
ld a, [$def4]
and a
- jr nz, .asm_db3d
+ jr nz, .done
ld a, [UnownLetter]
ld [$def4], a
+.done
-.asm_db3d
and a
ret
; db3f
@@ -12746,29 +12743,29 @@ Functiondb3f: ; db3f
cp $2
jr z, .asm_db60
cp $3
- ld hl, BreedMon1Species
+ ld hl, wBreedMon1Species
jr z, .asm_db9b
- ld hl, BoxCount
+ ld hl, sBoxCount
ld a, [hl]
- cp $14
+ cp MONS_PER_BOX
jr nz, .asm_db69
jp Functiondcb1
.asm_db60
ld hl, PartyCount
ld a, [hl]
- cp $6
+ cp PARTY_LENGTH
jp z, Functiondcb1
.asm_db69
inc a
ld [hl], a
ld c, a
- ld b, $0
+ ld b, 0
add hl, bc
ld a, [$d10b]
cp $2
- ld a, [BreedMon1Species]
+ ld a, [wBreedMon1Species]
jr z, .asm_db7c
ld a, [CurPartySpecies]
@@ -12781,9 +12778,9 @@ Functiondb3f: ; db3f
ld bc, PartyMon2 - PartyMon1
ld a, [PartyCount]
jr nz, .asm_db97
- ld hl, BoxMon1Species
- ld bc, $0020
- ld a, [BoxCount]
+ ld hl, sBoxMon1Species
+ ld bc, sBoxMon1End - sBoxMon1
+ ld a, [sBoxCount]
.asm_db97
dec a
@@ -12795,11 +12792,11 @@ Functiondb3f: ; db3f
ld d, h
ld a, [$d10b]
and a
- ld hl, BoxMon1Species
- ld bc, $0020
+ ld hl, sBoxMon1Species
+ ld bc, sBoxMon1End - sBoxMon1
jr z, .asm_dbb7
cp $2
- ld hl, BreedMon1Species
+ ld hl, wBreedMon1Species
jr z, .asm_dbbd
ld hl, PartyMon1Species
ld bc, PartyMon2 - PartyMon1
@@ -12809,18 +12806,18 @@ Functiondb3f: ; db3f
call AddNTimes
.asm_dbbd
- ld bc, $0020
+ ld bc, sBoxMon1End - sBoxMon1
call CopyBytes
ld a, [$d10b]
cp $3
- ld de, BreedMon1OT
+ ld de, wBreedMon1OT
jr z, .asm_dbe2
dec a
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
ld a, [PartyCount]
jr nz, .asm_dbdc
- ld hl, BoxMon1OT
- ld a, [BoxCount]
+ ld hl, sBoxMonOT
+ ld a, [sBoxCount]
.asm_dbdc
dec a
@@ -12829,32 +12826,32 @@ Functiondb3f: ; db3f
ld e, l
.asm_dbe2
- ld hl, BoxMon1OT
+ ld hl, sBoxMonOT
ld a, [$d10b]
and a
jr z, .asm_dbf5
- ld hl, BreedMon1OT
+ ld hl, wBreedMon1OT
cp $2
jr z, .asm_dbfb
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
.asm_dbf5
ld a, [CurPartyMon]
call SkipNames
.asm_dbfb
- ld bc, $000b
+ ld bc, NAME_LENGTH
call CopyBytes
ld a, [$d10b]
cp $3
- ld de, BreedMon1Nick
+ ld de, wBreedMon1Nick
jr z, .asm_dc20
dec a
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld a, [PartyCount]
jr nz, .asm_dc1a
- ld hl, BoxMon1Nickname
- ld a, [BoxCount]
+ ld hl, sBoxMonNicknames
+ ld a, [sBoxCount]
.asm_dc1a
dec a
@@ -12863,21 +12860,21 @@ Functiondb3f: ; db3f
ld e, l
.asm_dc20
- ld hl, BoxMon1Nickname
+ ld hl, sBoxMonNicknames
ld a, [$d10b]
and a
jr z, .asm_dc33
- ld hl, BreedMon1Nick
+ ld hl, wBreedMon1Nick
cp $2
jr z, .asm_dc39
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
.asm_dc33
ld a, [CurPartyMon]
call SkipNames
.asm_dc39
- ld bc, $000b
+ ld bc, PKMN_NAME_LENGTH
call CopyBytes
pop hl
ld a, [$d10b]
@@ -12922,7 +12919,7 @@ Functiondb3f: ; db3f
ld d, h
ld e, l
ld a, [CurPartySpecies]
- cp $fd
+ cp EGG
jr z, .asm_dc9e
inc hl
inc hl
@@ -12941,7 +12938,7 @@ Functiondb3f: ; db3f
jr .asm_dcac
.asm_dca4
- ld a, [BoxCount]
+ ld a, [sBoxCount]
dec a
ld b, a
call Functiondcb6
@@ -12962,12 +12959,12 @@ Functiondcb1: ; dcb1
Functiondcb6: ; dcb6
ld a, b
- ld hl, BoxMons
- ld bc, BoxMon2 - BoxMon1
+ ld hl, sBoxMons
+ ld bc, sBoxMon1End - sBoxMon1
call AddNTimes
ld b, h
ld c, l
- ld hl, BoxMon1PP - BoxMon1
+ ld hl, sBoxMon1PP - sBoxMon1
add hl, bc
push hl
push bc
@@ -12975,7 +12972,7 @@ Functiondcb6: ; dcb6
ld bc, NUM_MOVES
call CopyBytes
pop bc
- ld hl, BoxMon1Moves - BoxMon1
+ ld hl, sBoxMon1Moves - sBoxMon1
add hl, bc
push hl
ld de, TempMonMoves
@@ -13027,7 +13024,7 @@ Functiondcb6: ; dcb6
Functiondd21: ; dd21
- ld a, [BreedMon1Species]
+ ld a, [wBreedMon1Species]
ld [CurPartySpecies], a
ld de, SFX_TRANSACTION
call PlaySFX
@@ -13043,7 +13040,7 @@ Functiondd21: ; dd21
; dd42
Functiondd42: ; dd42
- ld a, [BreedMon2Species]
+ ld a, [wBreedMon2Species]
ld [CurPartySpecies], a
ld de, SFX_TRANSACTION
call PlaySFX
@@ -13061,7 +13058,7 @@ Functiondd42: ; dd42
Functiondd64: ; dd64
ld hl, PartyCount
ld a, [hl]
- cp $6
+ cp PARTY_LENGTH
jr nz, .asm_dd6e
scf
ret
@@ -13070,22 +13067,22 @@ Functiondd64: ; dd64
inc a
ld [hl], a
ld c, a
- ld b, $0
+ ld b, 0
add hl, bc
ld a, [$d10b]
and a
- ld a, [BreedMon1Species]
- ld de, BreedMon1Nick
+ ld a, [wBreedMon1Species]
+ ld de, wBreedMon1Nick
jr z, .asm_dd86
- ld a, [BreedMon2Species]
- ld de, BreedMon2Nick
+ ld a, [wBreedMon2Species]
+ ld de, wBreedMon2Nick
.asm_dd86
ld [hli], a
ld [CurSpecies], a
ld a, $ff
ld [hl], a
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld a, [PartyCount]
dec a
call SkipNames
@@ -13095,7 +13092,7 @@ Functiondd64: ; dd64
pop de
call CopyBytes
push hl
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
ld a, [PartyCount]
dec a
call SkipNames
@@ -13168,7 +13165,7 @@ Functionde1a: ; de1a
; de2a
Functionde2a: ; de2a
- ld de, BreedMon1Nick
+ ld de, wBreedMon1Nick
call Functionde44
xor a
ld [$d10b], a
@@ -13176,7 +13173,7 @@ Functionde2a: ; de2a
; de37
Functionde37: ; de37
- ld de, BreedMon2Nick
+ ld de, wBreedMon2Nick
call Functionde44
xor a
ld [$d10b], a
@@ -13185,28 +13182,28 @@ Functionde37: ; de37
Functionde44: ; de44
ld a, [CurPartyMon]
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call SkipNames
call CopyBytes
ld a, [CurPartyMon]
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
call SkipNames
call CopyBytes
ld a, [CurPartyMon]
ld hl, PartyMon1Species
ld bc, PartyMon2 - PartyMon1
call AddNTimes
- ld bc, $0020
+ ld bc, sBoxMon1End - sBoxMon1
jp CopyBytes
; de6e
Functionde6e: ; de6e
- ld a, 1 ; BANK(BoxCount)
+ ld a, 1 ; BANK(sBoxCount)
call GetSRAMBank
- ld de, BoxCount
+ ld de, sBoxCount
ld a, [de]
- cp 20
+ cp MONS_PER_BOX
jp nc, Functiondf42
inc a
ld [de], a
@@ -13225,19 +13222,19 @@ Functionde6e: ; de6e
call GetBaseData
call ShiftBoxMon
ld hl, PlayerName
- ld de, BoxMonOT
- ld bc, BoxMon2OT - BoxMon1OT
+ ld de, sBoxMonOT
+ ld bc, NAME_LENGTH
call CopyBytes
ld a, [CurPartySpecies]
ld [$d265], a
call GetPokemonName
- ld de, BoxMon1Nickname
+ ld de, sBoxMonNicknames
ld hl, StringBuffer1
- ld bc, BoxMon2Nickname - BoxMon1Nickname
+ ld bc, PKMN_NAME_LENGTH
call CopyBytes
ld hl, EnemyMon
- ld de, BoxMon1
- ld bc, 6 ; species + item + moves
+ ld de, sBoxMon1
+ ld bc, 1 + 1 + NUM_MOVES ; species + item + moves
call CopyBytes
ld hl, PlayerID
ld a, [hli]
@@ -13267,15 +13264,15 @@ Functionde6e: ; de6e
inc de
dec b
jr nz, .asm_dee5
- ld hl, EnemyMonAtkDefDV
- ld b, $6
+ ld hl, EnemyMonDVs
+ ld b, 2 + NUM_MOVES ; DVs and PP ; EnemyMonHappiness - EnemyMonDVs
.asm_deef
ld a, [hli]
ld [de], a
inc de
dec b
jr nz, .asm_deef
- ld a, $46
+ ld a, BASE_HAPPINESS
ld [de], a
inc de
xor a
@@ -13293,17 +13290,17 @@ Functionde6e: ; de6e
ld a, [CurPartySpecies]
cp UNOWN
jr nz, .asm_df20
- ld hl, BoxMon1DVs
+ ld hl, sBoxMon1DVs
ld a, $2d
call Predef
callab Functionfba18
.asm_df20
- ld hl, BoxMon1Moves
+ ld hl, sBoxMon1Moves
ld de, TempMonMoves
ld bc, NUM_MOVES
call CopyBytes
- ld hl, BoxMon1PP
+ ld hl, sBoxMon1PP
ld de, TempMonPP
ld bc, NUM_MOVES
call CopyBytes
@@ -13321,19 +13318,19 @@ Functiondf42: ; df42
; df47
ShiftBoxMon: ; df47
- ld hl, BoxMonOT
- ld bc, BoxMon2OT - BoxMon1OT
+ ld hl, sBoxMonOT
+ ld bc, NAME_LENGTH
call .asm_df5f
- ld hl, BoxMonNicknames
- ld bc, BoxMon2Nickname - BoxMon1Nickname
+ ld hl, sBoxMonNicknames
+ ld bc, PKMN_NAME_LENGTH
call .asm_df5f
- ld hl, BoxMons
- ld bc, BoxMon2 - BoxMon1
+ ld hl, sBoxMons
+ ld bc, sBoxMon1End - sBoxMon1
.asm_df5f
- ld a, [BoxCount]
+ ld a, [sBoxCount]
cp 2
ret c
@@ -13344,13 +13341,13 @@ ShiftBoxMon: ; df47
ld d, h
pop hl
- ld a, [BoxCount]
+ ld a, [sBoxCount]
dec a
call AddNTimes
dec hl
push hl
- ld a, [BoxCount]
+ ld a, [sBoxCount]
dec a
ld hl, 0
call AddNTimes
@@ -13368,7 +13365,7 @@ ShiftBoxMon: ; df47
ret
; df8c
-Functiondf8c:: ; df8c
+GiveEgg:: ; df8c
ld a, [CurPartySpecies]
push af
callab GetPreEvolution
@@ -13421,14 +13418,14 @@ Functiondf8c:: ; df8c
ld [hl], a
ld hl, PartyCount
ld a, [hl]
- ld b, $0
+ ld b, 0
ld c, a
add hl, bc
- ld a, $fd
+ ld a, EGG
ld [hl], a
ld a, [PartyCount]
dec a
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call SkipNames
ld de, Stringe035
call CopyName2
@@ -13469,9 +13466,9 @@ Functione039: ; e039
and a
jr z, .asm_e04a
- ld a, 1 ; BANK(BoxCount)
+ ld a, 1 ; BANK(sBoxCount)
call GetSRAMBank
- ld hl, BoxCount
+ ld hl, sBoxCount
.asm_e04a
ld a, [hl]
@@ -13490,13 +13487,13 @@ Functione039: ; e039
ld [hli], a
inc a
jr nz, .asm_e057
- ld hl, PartyMon1OT
- ld d, $5
+ ld hl, PartyMonOT
+ ld d, PARTY_LENGTH - 1
ld a, [$d10b]
and a
jr z, .asm_e06d
- ld hl, BoxMonOT
- ld d, $13
+ ld hl, sBoxMonOT
+ ld d, MONS_PER_BOX - 1
.asm_e06d
ld a, [CurPartyMon]
@@ -13510,13 +13507,13 @@ Functione039: ; e039
.asm_e07e
ld d, h
ld e, l
- ld bc, $000b
+ ld bc, PKMN_NAME_LENGTH
add hl, bc
- ld bc, PartyMon1Nickname
+ ld bc, PartyMonNicknames
ld a, [$d10b]
and a
jr z, .asm_e090
- ld bc, BoxMonNicknames
+ ld bc, sBoxMonNicknames
.asm_e090
call CopyDataUntil
@@ -13525,8 +13522,8 @@ Functione039: ; e039
ld a, [$d10b]
and a
jr z, .asm_e0a5
- ld hl, BoxMons
- ld bc, BoxMon2 - BoxMon1
+ ld hl, sBoxMons
+ ld bc, sBoxMon1End - sBoxMon1
.asm_e0a5
ld a, [CurPartyMon]
@@ -13536,37 +13533,37 @@ Functione039: ; e039
ld a, [$d10b]
and a
jr z, .asm_e0bc
- ld bc, BoxMon2 - BoxMon1
+ ld bc, sBoxMon1End - sBoxMon1
add hl, bc
- ld bc, BoxMonOT
+ ld bc, sBoxMonOT
jr .asm_e0c3
.asm_e0bc
ld bc, PartyMon2 - PartyMon1
add hl, bc
- ld bc, PartyMon1OT
+ ld bc, PartyMonOT
.asm_e0c3
call CopyDataUntil
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld a, [$d10b]
and a
jr z, .asm_e0d2
- ld hl, BoxMonNicknames
+ ld hl, sBoxMonNicknames
.asm_e0d2
- ld bc, BoxMon2Nickname - BoxMon1Nickname
+ ld bc, PKMN_NAME_LENGTH
ld a, [CurPartyMon]
call AddNTimes
ld d, h
ld e, l
- ld bc, BoxMon2Nickname - BoxMon1Nickname
+ ld bc, PKMN_NAME_LENGTH
add hl, bc
ld bc, PartyMonNicknamesEnd
ld a, [$d10b]
and a
jr z, .asm_e0ed
- ld bc, BoxMonNicknamesEnd
+ ld bc, sBoxMonNicknamesEnd
.asm_e0ed
call CopyDataUntil
@@ -13854,7 +13851,7 @@ Functione277:: ; e277
ld [MonType], a
call Functiond88c
jr nc, .asm_e2b0
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld a, [PartyCount]
dec a
ld [CurPartyMon], a
@@ -13899,7 +13896,7 @@ Functione277:: ; e277
and a
jr z, .asm_e2e1
ld a, [CurItem]
- ld [BoxMon1Item], a
+ ld [sBoxMon1Item], a
.asm_e2e1
ld a, [CurPartySpecies]
@@ -13936,7 +13933,7 @@ Functione277:: ; e277
jr nz, .asm_e35e
push hl
ld a, [CurPartyMon]
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
call SkipNames
ld d, h
ld e, l
@@ -13967,7 +13964,7 @@ Functione277:: ; e277
.asm_e35e
ld a, $1
call GetSRAMBank
- ld de, BoxMon1OT
+ ld de, sBoxMonOT
.asm_e366
ld a, [ScriptBank]
call GetFarByte
@@ -13979,7 +13976,7 @@ Functione277:: ; e277
ld a, [ScriptBank]
call GetFarByte
ld b, a
- ld hl, BoxMon1ID
+ ld hl, sBoxMon1ID
call Random
ld [hli], a
call Random
@@ -14019,7 +14016,7 @@ Functione277:: ; e277
ld a, $1
call GetSRAMBank
ld hl, $d050
- ld de, BoxMon1Nickname
+ ld de, sBoxMonNicknames
ld bc, $000b
call CopyBytes
call CloseSRAM
@@ -14225,7 +14222,7 @@ Functione512: ; e512
ld a, [PartyCount]
and a
jr z, .asm_e51e
- cp $2
+ cp 2
jr c, .asm_e526
and a
ret
@@ -14300,7 +14297,7 @@ Functione559: ; e559 (3:6559)
Functione56d: ; e56d
ld a, [PartyCount]
- cp $6
+ cp PARTY_LENGTH
jr nc, .asm_e576
and a
ret
@@ -14347,7 +14344,7 @@ ClearPCItemScreen: ; e58b
Functione5bb: ; e5bb
ld a, [CurPartyMon]
- ld hl, BoxMon1Species
+ ld hl, sBoxMon1Species
ld bc, $0020
call AddNTimes
ld de, TempMonSpecies
@@ -14377,7 +14374,7 @@ Functione5d9: ; e5d9
.asm_e5f1
ld a, $1
- ld hl, BoxCount
+ ld hl, sBoxCount
.asm_e5f6
call GetSRAMBank
@@ -14386,7 +14383,7 @@ Functione5d9: ; e5d9
add hl, bc
ld b, a
ld c, $0
- ld de, EnemyMoveAnimation
+ ld de, $c608
ld a, b
and a
jr z, .asm_e66a
@@ -14479,7 +14476,7 @@ Unknown_e66e: ; e66e
; e698
Functione698: ; e698
- ld hl, BreedMon1Species
+ ld hl, wBreedMon1Species
ld de, TempMonSpecies
ld bc, $0020
call CopyBytes
@@ -14494,7 +14491,7 @@ Functione698: ; e698
; e6b3
Functione6b3: ; e6b3
- ld hl, BreedMon2Species
+ ld hl, wBreedMon2Species
ld de, TempMonSpecies
ld bc, $0020
call CopyBytes
@@ -15294,7 +15291,7 @@ Function103fd: ; 103fd
callba PartyMenuSelect
jr c, .asm_10475
ld a, [CurPartySpecies] ; $d108
- cp $fd
+ cp EGG
jr nz, .asm_10453
ld hl, UnknownText_0x1048d
call PrintText
@@ -15307,7 +15304,7 @@ Function103fd: ; 103fd
call GetCurNick
ld hl, StringBuffer1 ; $d073
ld de, $d050
- ld bc, $b
+ ld bc, PKMN_NAME_LENGTH
call CopyBytes
call Function12bd9
pop af
@@ -20776,7 +20773,7 @@ Function13172: ; 13172
call ClearBox
xor a
ld [MonType], a
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld a, [CurPartyMon]
call GetNick
hlcoord 5, 1
@@ -22008,7 +22005,7 @@ ContestScore: ; 13900
call .AddContestStat
; DVs
- ld a, [wContestMonAtkDefDV]
+ ld a, [wContestMonDVs + 0]
ld b, a
and 2
add a
@@ -22022,7 +22019,7 @@ ContestScore: ; 13900
add c
ld d, a
- ld a, [wContestMonSpdSpcDV]
+ ld a, [wContestMonDVs + 1]
ld b, a
and 2
ld c, a
@@ -22179,7 +22176,7 @@ Function13a12: ; 13a12
or [hl]
jr z, .asm_13a2b
ld hl, PartyCount
- ld a, $1
+ ld a, 1
ld [hli], a
inc hl
ld a, [hl]
@@ -22196,7 +22193,7 @@ Function13a12: ; 13a12
; 13a31
Function13a31: ; 13a31
- ld hl, $dcd9
+ ld hl, PartySpecies + 1
ld a, [$df9b]
ld [hl], a
ld b, $1
@@ -22926,9 +22923,9 @@ GetMonSprite: ; 14259
cp SPRITE_POKEMON
jr c, .Normal
cp SPRITE_DAYCARE_MON_1
- jr z, .BreedMon1
+ jr z, .wBreedMon1
cp SPRITE_DAYCARE_MON_2
- jr z, .BreedMon2
+ jr z, .wBreedMon2
cp SPRITE_VARS
jr nc, .Variable
jr .Icon
@@ -22946,12 +22943,12 @@ GetMonSprite: ; 14259
ld a, [hl]
jr .Mon
-.BreedMon1
- ld a, [BreedMon1Species]
+.wBreedMon1
+ ld a, [wBreedMon1Species]
jr .Mon
-.BreedMon2
- ld a, [BreedMon2Species]
+.wBreedMon2
+ ld a, [wBreedMon2Species]
.Mon
ld e, a
@@ -25231,8 +25228,8 @@ Function150f9: ; 150f9
push de
ld a, $1
call GetSRAMBank
- ld hl, BoxCount
- ld de, EnemyMoveAnimation
+ ld hl, sBoxCount
+ ld de, $c608
ld bc, $01e0
call CopyBytes
call CloseSRAM
@@ -25241,14 +25238,14 @@ Function150f9: ; 150f9
push af
push de
call GetSRAMBank
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
ld bc, $01e0
call CopyBytes
call CloseSRAM
ld a, $1
call GetSRAMBank
ld hl, $aef0
- ld de, EnemyMoveAnimation
+ ld de, $c608
ld bc, $01e0
call CopyBytes
call CloseSRAM
@@ -25261,14 +25258,14 @@ Function150f9: ; 150f9
push af
push de
call GetSRAMBank
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
ld bc, $01e0
call CopyBytes
call CloseSRAM
ld a, $1
call GetSRAMBank
ld hl, $b0d0
- ld de, EnemyMoveAnimation
+ ld de, $c608
ld bc, $008e
call CopyBytes
call CloseSRAM
@@ -25279,7 +25276,7 @@ Function150f9: ; 150f9
ld e, l
ld d, h
call GetSRAMBank
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
ld bc, $008e
call CopyBytes
call CloseSRAM
@@ -25296,13 +25293,13 @@ Function1517d: ; 1517d (5:517d)
push af
push hl
call GetSRAMBank
- ld de, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct)
+ ld de, $c608
ld bc, $1e0
call CopyBytes
call CloseSRAM
ld a, $1
call GetSRAMBank
- ld hl, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct)
+ ld hl, $c608
ld de, $ad10
ld bc, $1e0
call CopyBytes
@@ -25314,13 +25311,13 @@ Function1517d: ; 1517d (5:517d)
push af
push hl
call GetSRAMBank
- ld de, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct)
+ ld de, $c608
ld bc, $1e0
call CopyBytes
call CloseSRAM
ld a, $1
call GetSRAMBank
- ld hl, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct)
+ ld hl, $c608
ld de, $aef0
ld bc, $1e0
call CopyBytes
@@ -25330,13 +25327,13 @@ Function1517d: ; 1517d (5:517d)
ld de, $1e0
add hl, de
call GetSRAMBank
- ld de, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct)
+ ld de, $c608
ld bc, $8e
call CopyBytes
call CloseSRAM
ld a, $1
call GetSRAMBank
- ld hl, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct)
+ ld hl, $c608
ld de, $b0d0
ld bc, $8e
call CopyBytes
@@ -28712,17 +28709,17 @@ MenuData2_0x166bd: ; 0x166bd
; 0x166d6
Function166d6: ; 166d6
- ld hl, DaycareMan
+ ld hl, wDaycareMan
bit 0, [hl]
jr nz, .asm_166fe
- ld hl, DaycareMan
+ ld hl, wDaycareMan
ld a, $0
call Function1678f
jr c, .asm_16724
call Function16798
jr c, .asm_16721
callba Functionde2a
- ld hl, DaycareMan
+ ld hl, wDaycareMan
set 0, [hl]
call Function167f6
call Function16a3b
@@ -28730,13 +28727,13 @@ Function166d6: ; 166d6
.asm_166fe
callba Functione698
- ld hl, BreedMon1Nick
+ ld hl, wBreedMon1Nick
call Function1686d
call Function16807
jr c, .asm_16721
callba Functiondd21
call Function16850
- ld hl, DaycareMan
+ ld hl, wDaycareMan
res 0, [hl]
res 5, [hl]
jr .asm_16724
@@ -28751,17 +28748,17 @@ Function166d6: ; 166d6
; 1672a
Function1672a: ; 1672a
- ld hl, DaycareLady
+ ld hl, wDaycareLady
bit 0, [hl]
jr nz, .asm_16752
- ld hl, DaycareLady
+ ld hl, wDaycareLady
ld a, $2
call Function16781
jr c, .asm_1677b
call Function16798
jr c, .asm_16778
callba Functionde37
- ld hl, DaycareLady
+ ld hl, wDaycareLady
set 0, [hl]
call Function167f6
call Function16a3b
@@ -28769,15 +28766,15 @@ Function1672a: ; 1672a
.asm_16752
callba Functione6b3
- ld hl, BreedMon2Nick
+ ld hl, wBreedMon2Nick
call Function1686d
call Function16807
jr c, .asm_16778
callba Functiondd42
call Function16850
- ld hl, DaycareLady
+ ld hl, wDaycareLady
res 0, [hl]
- ld hl, DaycareMan
+ ld hl, wDaycareMan
res 5, [hl]
jr .asm_1677b
@@ -28830,7 +28827,7 @@ Function16798: ; 16798
ld d, [hl]
callba ItemIsMail
jr c, .asm_167ed
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld a, [CurPartyMon]
call GetNick
and a
@@ -29118,7 +29115,7 @@ UnknownText_0x16931: ; 0x16931
; 0x16936
Function16936: ; 16936
- ld hl, DaycareMan
+ ld hl, wDaycareMan
bit 6, [hl]
jr nz, Function16949
ld hl, UnknownText_0x16944
@@ -29140,7 +29137,7 @@ Function16949: ; 16949
cp $6
jr nc, .asm_16987
call Function169ac
- ld hl, DaycareMan
+ ld hl, wDaycareMan
res 6, [hl]
call Function16a3b
ld hl, UnknownText_0x16998
@@ -29213,26 +29210,26 @@ Function169ac: ; 169ac
add hl, bc
ld a, EGG
ld [hli], a
- ld a, [EggSpecies]
+ ld a, [wEggMonSpecies]
ld [CurSpecies], a
ld [CurPartySpecies], a
ld a, $ff
ld [hl], a
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld bc, $000b
call Function16a31
- ld hl, EggNick
+ ld hl, wEggNick
call CopyBytes
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
ld bc, $000b
call Function16a31
- ld hl, EggOT
+ ld hl, wEggOT
call CopyBytes
ld hl, PartyMon1
ld bc, PartyMon2 - PartyMon1
call Function16a31
- ld hl, EggMon
- ld bc, $0020
+ ld hl, wEggMon
+ ld bc, wEggMonEnd - wEggMon
call CopyBytes
call GetBaseData
ld a, [PartyCount]
@@ -29278,10 +29275,10 @@ Function16a31: ; 16a31
; 16a3b
Function16a3b: ; 16a3b
- ld a, [DaycareLady]
+ ld a, [wDaycareLady]
bit 0, a
ret z
- ld a, [DaycareMan]
+ ld a, [wDaycareMan]
bit 0, a
ret z
callab Function16e1d
@@ -29290,40 +29287,40 @@ Function16a3b: ; 16a3b
ret z
inc a
ret z
- ld hl, DaycareMan
+ ld hl, wDaycareMan
set 5, [hl]
.asm_16a59
call Random
cp 150
jr c, .asm_16a59
- ld [StepsToEgg], a
+ ld [wStepsToEgg], a
jp Function16a66
; 16a66
Function16a66: ; 16a66
xor a
- ld hl, EggSpecies
- ld bc, $0020
+ ld hl, wEggMon
+ ld bc, wEggMonEnd - wEggMon
call ByteFill
- ld hl, EggNick
- ld bc, $000b
+ ld hl, wEggNick
+ ld bc, PKMN_NAME_LENGTH
call ByteFill
- ld hl, EggOT
- ld bc, $000b
+ ld hl, wEggOT
+ ld bc, NAME_LENGTH
call ByteFill
ld a, [$df21]
ld [TempMonDVs], a
ld a, [$df22]
ld [$d124], a
- ld a, [BreedMon1Species]
+ ld a, [wBreedMon1Species]
ld [CurPartySpecies], a
ld a, $3
ld [MonType], a
- ld a, [BreedMon1Species]
+ ld a, [wBreedMon1Species]
cp DITTO
ld a, $1
jr z, .asm_16ab6
- ld a, [BreedMon2Species]
+ ld a, [wBreedMon2Species]
cp DITTO
ld a, $0
jr z, .asm_16ab6
@@ -29333,11 +29330,11 @@ Function16a66: ; 16a66
inc a
.asm_16ab6
- ld [DittoInDaycare], a
+ ld [wDittoInDaycare], a
and a
- ld a, [BreedMon1Species]
+ ld a, [wBreedMon1Species]
jr z, .asm_16ac2
- ld a, [BreedMon2Species]
+ ld a, [wBreedMon2Species]
.asm_16ac2
ld [CurPartySpecies], a
@@ -29357,14 +29354,14 @@ Function16a66: ; 16a66
.asm_16ae8
ld [CurPartySpecies], a
ld [CurSpecies], a
- ld [EggSpecies], a
+ ld [wEggMonSpecies], a
call GetBaseData
- ld hl, EggNick
+ ld hl, wEggNick
ld de, String_16be0
call CopyName2
ld hl, PlayerName
- ld de, EggOT
- ld bc, $000b
+ ld de, wEggOT
+ ld bc, NAME_LENGTH
call CopyBytes
xor a
ld [$df7c], a
@@ -29404,11 +29401,11 @@ Function16a66: ; 16a66
ld [hld], a
ld [$d124], a
ld de, $df21
- ld a, [BreedMon1Species]
+ ld a, [wBreedMon1Species]
cp DITTO
jr z, .asm_16b98
ld de, $df5a
- ld a, [BreedMon2Species]
+ ld a, [wBreedMon2Species]
cp DITTO
jr z, .asm_16b98
ld a, $3
@@ -29420,7 +29417,7 @@ Function16a66: ; 16a66
ld bc, $df5a
jr c, .asm_16bab
jr z, .asm_16b90
- ld a, [DittoInDaycare]
+ ld a, [wDittoInDaycare]
and a
jr z, .asm_16b98
ld d, b
@@ -29428,7 +29425,7 @@ Function16a66: ; 16a66
jr .asm_16b98
.asm_16b90
- ld a, [DittoInDaycare]
+ ld a, [wDittoInDaycare]
and a
jr nz, .asm_16b98
ld d, b
@@ -29784,7 +29781,7 @@ Function16e1d: ; 16e1d
call Function16ed6
ld c, $0
jp nc, .asm_16eb7
- ld a, [BreedMon1Species]
+ ld a, [wBreedMon1Species]
ld [CurPartySpecies], a
ld a, [$df21]
ld [TempMonDVs], a
@@ -29801,7 +29798,7 @@ Function16e1d: ; 16e1d
.asm_16e48
push bc
- ld a, [BreedMon2Species]
+ ld a, [wBreedMon2Species]
ld [CurPartySpecies], a
ld a, [$df5a]
ld [TempMonDVs], a
@@ -29823,16 +29820,16 @@ Function16e1d: ; 16e1d
.asm_16e70
ld c, $0
- ld a, [BreedMon1Species]
+ ld a, [wBreedMon1Species]
cp DITTO
jr z, .asm_16e82
- ld a, [BreedMon2Species]
+ ld a, [wBreedMon2Species]
cp DITTO
jr nz, .asm_16eb7
jr .asm_16e89
.asm_16e82
- ld a, [BreedMon2Species]
+ ld a, [wBreedMon2Species]
cp DITTO
jr z, .asm_16eb7
@@ -29840,9 +29837,9 @@ Function16e1d: ; 16e1d
call Function16ebc
ld c, $ff
jp z, .asm_16eb7
- ld a, [BreedMon2Species]
+ ld a, [wBreedMon2Species]
ld b, a
- ld a, [BreedMon1Species]
+ ld a, [wBreedMon1Species]
cp b
ld c, $fe
jr z, .asm_16e9f
@@ -29889,19 +29886,19 @@ Function16ebc: ; 16ebc (5:6ebc)
; 16ed6
Function16ed6: ; 16ed6
- ld a, [BreedMon2Species]
+ ld a, [wBreedMon2Species]
ld [CurSpecies], a
call GetBaseData
ld a, [BaseEggGroups]
cp $ff
jr z, .asm_16f3a
- ld a, [BreedMon1Species]
+ ld a, [wBreedMon1Species]
ld [CurSpecies], a
call GetBaseData
ld a, [BaseEggGroups]
cp $ff
jr z, .asm_16f3a
- ld a, [BreedMon2Species]
+ ld a, [wBreedMon2Species]
cp DITTO
jr z, .asm_16f3c
ld [CurSpecies], a
@@ -29914,7 +29911,7 @@ Function16ed6: ; 16ed6
and $f0
swap a
ld c, a
- ld a, [BreedMon1Species]
+ ld a, [wBreedMon1Species]
cp DITTO
jr z, .asm_16f3c
ld [CurSpecies], a
@@ -30080,7 +30077,7 @@ Function16f7a: ; 16f7a (5:6f7a)
ld a, [$d47c]
ld [hl], a
ld a, [CurPartyMon] ; $d109
- ld hl, PartyMonOT ; $ddff (aliases: PartyMon1OT)
+ ld hl, PartyMonOT ; $ddff (aliases: PartyMonOT)
ld bc, $b
call AddNTimes
ld d, h
@@ -30090,7 +30087,7 @@ Function16f7a: ; 16f7a (5:6f7a)
ld hl, UnknownText_0x1708b
call PrintText
ld a, [CurPartyMon] ; $d109
- ld hl, PartyMonNicknames ; $de41 (aliases: PartyMon1Nickname)
+ ld hl, PartyMonNicknames ; $de41 (aliases: PartyMonNicknames)
ld bc, $b
call AddNTimes
ld d, h
@@ -30211,7 +30208,7 @@ Function170e4: ; 170e4
GLOBAL EggMoves
push bc
- ld a, [EggSpecies]
+ ld a, [wEggMonSpecies]
dec a
ld c, a
ld b, 0
@@ -30245,7 +30242,7 @@ GLOBAL EggMoves
jr .asm_1710c
.asm_17116
- ld a, [EggSpecies]
+ ld a, [wEggMonSpecies]
dec a
ld c, a
ld b, 0
@@ -30343,13 +30340,13 @@ Function17169: ; 17169
Function17197: ; 17197
ld hl, $df47
- ld a, [BreedMon1Species]
+ ld a, [wBreedMon1Species]
cp DITTO
jr z, .asm_171b1
- ld a, [BreedMon2Species]
+ ld a, [wBreedMon2Species]
cp DITTO
jr z, .asm_171d7
- ld a, [DittoInDaycare]
+ ld a, [wDittoInDaycare]
and a
ret z
ld hl, $df0e
@@ -30358,7 +30355,7 @@ Function17197: ; 17197
.asm_171b1
ld a, [CurPartySpecies]
push af
- ld a, [BreedMon2Species]
+ ld a, [wBreedMon2Species]
ld [CurPartySpecies], a
ld a, [$df5a]
ld [TempMonDVs], a
@@ -30375,7 +30372,7 @@ Function17197: ; 17197
.asm_171d7
ld a, [CurPartySpecies]
push af
- ld a, [BreedMon1Species]
+ ld a, [wBreedMon1Species]
ld [CurPartySpecies], a
ld a, [$df21]
ld [TempMonDVs], a
@@ -30403,13 +30400,13 @@ Function17197: ; 17197
Function1720b: ; 1720b
ld hl, $df0e
- ld a, [BreedMon1Species]
+ ld a, [wBreedMon1Species]
cp DITTO
ret z
- ld a, [BreedMon2Species]
+ ld a, [wBreedMon2Species]
cp DITTO
jr z, .asm_17220
- ld a, [DittoInDaycare]
+ ld a, [wDittoInDaycare]
and a
ret z
@@ -30425,7 +30422,7 @@ Function17224: ; 17224 (5:7224)
ld [CurPartySpecies], a ; $d108
ld [CurSpecies], a ; $cf60
call GetBaseData
- ld hl, BattleMonDVs ; $c632 (aliases: BattleMonAtkDefDV)
+ ld hl, BattleMonDVs
ld a, $2d
call Predef
pop de
@@ -30438,7 +30435,7 @@ Function1723c: ; 1723c (5:723c)
ld [CurPartySpecies], a ; $d108
ld [CurSpecies], a ; $cf60
call GetBaseData
- ld hl, BattleMonDVs ; $c632 (aliases: BattleMonAtkDefDV)
+ ld hl, BattleMonDVs
ld a, $2d
call Predef
pop de
@@ -30672,26 +30669,26 @@ Function17418: ; 17418 (5:7418)
Function17421: ; 17421
ld hl, UnknownText_0x17467
call PrintText
- ld a, [BreedMon1Species]
+ ld a, [wBreedMon1Species]
call Function37ce
- ld a, [DaycareLady]
+ ld a, [wDaycareLady]
bit 0, a
jr z, Function1745f
call Functionaaf
- ld hl, BreedMon2Nick
+ ld hl, wBreedMon2Nick
call Function1746c
jp PrintText
Function17440: ; 17440
ld hl, UnknownText_0x17462
call PrintText
- ld a, [BreedMon2Species]
+ ld a, [wBreedMon2Species]
call Function37ce
- ld a, [DaycareMan]
+ ld a, [wDaycareMan]
bit 0, a
jr z, Function1745f
call Functionaaf
- ld hl, BreedMon1Nick
+ ld hl, wBreedMon1Nick
call Function1746c
jp PrintText
@@ -36345,7 +36342,7 @@ Function2805d: ; 2805d
call Function75f
ld a, $fe
ld [de], a
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
ld de, PlayerSDefLevel
ld bc, $00c8
call Function75f
@@ -36488,7 +36485,7 @@ Function28177: ; 28177
call Function75f
ld a, $fe
ld [de], a
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
ld de, PlayerSDefLevel
ld bc, $00c8
call Function75f
@@ -36838,7 +36835,7 @@ Function28434: ; 28434
ld [hli], a
dec b
jr nz, .asm_28441
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
ld a, $fd
ld [hli], a
ld [hli], a
@@ -36850,7 +36847,7 @@ Function28434: ; 28434
dec b
jr nz, .asm_28457
ld hl, $c818
- ld de, PlayerMoveType
+ ld de, $c612
ld bc, $0000
.asm_28464
inc c
@@ -37087,10 +37084,10 @@ Function28595: ; 28595
ld hl, PartyMon1Species
ld bc, $0120
call CopyBytes
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
ld bc, $0042
call CopyBytes
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld bc, $0042
call CopyBytes
ld a, [InLinkBattle]
@@ -37226,10 +37223,10 @@ Function2868a: ; 2868a
pop hl
ld bc, $0108
add hl, bc
- ld de, OTPartyMon1OT
+ ld de, OTPartyMonOT
ld bc, $0042
call CopyBytes
- ld de, OTPartyMon1Nickname
+ ld de, OTPartyMonNicknames
ld bc, $0042
jp CopyBytes
; 286ba
@@ -38059,7 +38056,7 @@ Function28b87: ; 28b87
ld [PlayerSDefLevel], a
push af
ld a, [DefaultFlypoint]
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
call SkipNames
ld de, $c6f2
ld bc, $000b
@@ -38098,7 +38095,7 @@ Function28b87: ; 28b87
ld a, [hl]
ld [PlayerLightScreenCount], a
ld a, [$d003]
- ld hl, OTPartyMon1OT
+ ld hl, OTPartyMonOT
call SkipNames
ld de, $c724
ld bc, $000b
@@ -38110,7 +38107,7 @@ Function28b87: ; 28b87
ld [$c731], a
ld a, [hl]
ld [$c732], a
- ld hl, OTPartyMon1AtkDefDV
+ ld hl, OTPartyMon1DVs
ld a, [$d003]
call GetPartyLocation
ld a, [hli]
@@ -40541,14 +40538,14 @@ Function2a09c: ; 2a09c
; 2a0b7
Function2a0b7: ; 2a0b7
- ld a, [RoamMon1Species]
+ ld a, [wRoamMon1Species]
ld b, a
ld a, [$d265]
cp b
ret nz
- ld a, [RoamMon1MapGroup]
+ ld a, [wRoamMon1MapGroup]
ld b, a
- ld a, [RoamMon1MapNumber]
+ ld a, [wRoamMon1MapNumber]
ld c, a
call Function2a09c
ret nc
@@ -40558,14 +40555,14 @@ Function2a0b7: ; 2a0b7
; 2a0cf
Function2a0cf: ; 2a0cf
- ld a, [RoamMon2Species]
+ ld a, [wRoamMon2Species]
ld b, a
ld a, [$d265]
cp b
ret nz
- ld a, [RoamMon2MapGroup]
+ ld a, [wRoamMon2MapGroup]
ld b, a
- ld a, [RoamMon2MapNumber]
+ ld a, [wRoamMon2MapNumber]
ld c, a
call Function2a09c
ret nc
@@ -40911,45 +40908,45 @@ Function2a288: ; 2a288
InitRoamMons: ; 2a2a0
-; initialize RoamMon structs
+; initialize wRoamMon structs
; species
ld a, RAIKOU
- ld [RoamMon1Species], a
+ ld [wRoamMon1Species], a
ld a, ENTEI
- ld [RoamMon2Species], a
+ ld [wRoamMon2Species], a
; ld a, SUICUNE
-; ld [RoamMon3Species], a
+; ld [wRoamMon3Species], a
; level
ld a, 40
- ld [RoamMon1Level], a
- ld [RoamMon2Level], a
-; ld [RoamMon3Level], a
+ ld [wRoamMon1Level], a
+ ld [wRoamMon2Level], a
+; ld [wRoamMon3Level], a
; raikou starting map
ld a, GROUP_ROUTE_42
- ld [RoamMon1MapGroup], a
+ ld [wRoamMon1MapGroup], a
ld a, MAP_ROUTE_42
- ld [RoamMon1MapNumber], a
+ ld [wRoamMon1MapNumber], a
; entei starting map
ld a, GROUP_ROUTE_37
- ld [RoamMon2MapGroup], a
+ ld [wRoamMon2MapGroup], a
ld a, MAP_ROUTE_37
- ld [RoamMon2MapNumber], a
+ ld [wRoamMon2MapNumber], a
; suicune starting map
; ld a, GROUP_ROUTE_38
-; ld [RoamMon3MapGroup], a
+; ld [wRoamMon3MapGroup], a
; ld a, MAP_ROUTE_38
-; ld [RoamMon3MapNumber], a
+; ld [wRoamMon3MapNumber], a
; hp
xor a ; generate new stats
- ld [RoamMon1HP], a
- ld [RoamMon2HP], a
-; ld [RoamMon3HP], a
+ ld [wRoamMon1HP], a
+ ld [wRoamMon2HP], a
+; ld [wRoamMon3HP], a
ret
; 2a2ce
@@ -40966,7 +40963,7 @@ Function2a2ce: ; 2a2ce
and 3
jr z, .asm_2a30a
dec a
- ld hl, RoamMon1MapGroup
+ ld hl, wRoamMon1MapGroup
ld c, a
ld b, 0
ld a, 7
@@ -40999,43 +40996,43 @@ Function2a2ce: ; 2a2ce
Function2a30d: ; 2a30d
- ld a, [RoamMon1MapGroup]
+ ld a, [wRoamMon1MapGroup]
cp $ff
jr z, .asm_2a324
ld b, a
- ld a, [RoamMon1MapNumber]
+ ld a, [wRoamMon1MapNumber]
ld c, a
call Function2a355
ld a, b
- ld [RoamMon1MapGroup], a
+ ld [wRoamMon1MapGroup], a
ld a, c
- ld [RoamMon1MapNumber], a
+ ld [wRoamMon1MapNumber], a
.asm_2a324
- ld a, [RoamMon2MapGroup]
+ ld a, [wRoamMon2MapGroup]
cp $ff
jr z, .asm_2a33b
ld b, a
- ld a, [RoamMon2MapNumber]
+ ld a, [wRoamMon2MapNumber]
ld c, a
call Function2a355
ld a, b
- ld [RoamMon2MapGroup], a
+ ld [wRoamMon2MapGroup], a
ld a, c
- ld [RoamMon2MapNumber], a
+ ld [wRoamMon2MapNumber], a
.asm_2a33b
- ld a, [RoamMon3MapGroup]
+ ld a, [wRoamMon3MapGroup]
cp $ff
jr z, .asm_2a352
ld b, a
- ld a, [RoamMon3MapNumber]
+ ld a, [wRoamMon3MapNumber]
ld c, a
call Function2a355
ld a, b
- ld [RoamMon3MapGroup], a
+ ld [wRoamMon3MapGroup], a
ld a, c
- ld [RoamMon3MapNumber], a
+ ld [wRoamMon3MapNumber], a
.asm_2a352
jp Function2a3f6
@@ -41096,34 +41093,34 @@ Function2a355: ; 2a355
ret
Function2a394: ; 2a394
- ld a, [RoamMon1MapGroup]
+ ld a, [wRoamMon1MapGroup]
cp $ff
jr z, .asm_2a3a6
call Function2a3cd
ld a, b
- ld [RoamMon1MapGroup], a
+ ld [wRoamMon1MapGroup], a
ld a, c
- ld [RoamMon1MapNumber], a
+ ld [wRoamMon1MapNumber], a
.asm_2a3a6
- ld a, [RoamMon2MapGroup]
+ ld a, [wRoamMon2MapGroup]
cp $ff
jr z, .asm_2a3b8
call Function2a3cd
ld a, b
- ld [RoamMon2MapGroup], a
+ ld [wRoamMon2MapGroup], a
ld a, c
- ld [RoamMon2MapNumber], a
+ ld [wRoamMon2MapNumber], a
.asm_2a3b8
- ld a, [RoamMon3MapGroup]
+ ld a, [wRoamMon3MapGroup]
cp $ff
jr z, .asm_2a3ca
call Function2a3cd
ld a, b
- ld [RoamMon3MapGroup], a
+ ld [wRoamMon3MapGroup], a
ld a, c
- ld [RoamMon3MapNumber], a
+ ld [wRoamMon3MapNumber], a
.asm_2a3ca
jp Function2a3f6
@@ -42615,7 +42612,7 @@ Function2c867: ; 2c867
call Predef
push bc
ld a, [CurPartyMon] ; $d109
- ld hl, PartyMonNicknames ; $de41 (aliases: PartyMon1Nickname)
+ ld hl, PartyMonNicknames ; $de41 (aliases: PartyMonNicknames)
call GetNick
pop bc
ld a, c
@@ -43443,8 +43440,8 @@ ClearBattleRAM: ; 2ef18
ld [hl], a
; Clear the entire BattleMons area
- ld hl, EnemyMoveStruct
- ld bc, $0139
+ ld hl, wBattle
+ ld bc, wBattleEnd - wBattle
xor a
call ByteFill
@@ -43929,8 +43926,8 @@ Function382ae: ; 382ae
callab AICheckEnemyMaxHP
jr c, .asm_382e4
push bc
- ld de, EnemyMonMaxHPLo
- ld hl, EnemyMonHPLo
+ ld de, EnemyMonMaxHP + 1
+ ld hl, EnemyMonHP + 1
ld a, [de]
sub [hl]
jr z, .asm_382e7
@@ -44100,23 +44097,23 @@ Function383b5: ; 383b5 (e:43b5)
ld [EnemyConfuseCount], a ; $c67b
asm_383c6: ; 383c6 (e:43c6)
ld de, $d1ec
- ld hl, EnemyMonHPLo ; $d217
+ ld hl, EnemyMonHP + 1 ; $d217
ld a, [hld]
ld [de], a
inc de
ld a, [hl]
ld [de], a
inc de
- ld hl, EnemyMonMaxHPLo ; $d219
+ ld hl, EnemyMonMaxHP + 1 ; $d219
ld a, [hld]
ld [de], a
inc de
ld [Buffer1], a ; $d1ea (aliases: MagikarpLength)
- ld [EnemyMonHPLo], a ; $d217
+ ld [EnemyMonHP + 1], a ; $d217
ld a, [hl]
ld [de], a
ld [Buffer2], a ; $d1eb (aliases: MovementType)
- ld [EnemyMonHPHi], a ; $d216 (aliases: EnemyMonHP)
+ ld [EnemyMonHP], a ; $d216 (aliases: EnemyMonHP)
jr asm_38436
; 383e8 (e:43e8)
@@ -44137,7 +44134,7 @@ Function383f4: ; 383f4 (e:43f4)
Function383f8: ; 383f8
ld [$d1f1], a
- ld hl, EnemyMonHPLo ; $d217
+ ld hl, EnemyMonHP + 1 ; $d217
ld a, [hl]
ld [$d1ec], a
add b
@@ -44154,7 +44151,7 @@ Function383f8: ; 383f8
inc hl
ld a, [hld]
ld b, a
- ld de, EnemyMonMaxHPLo ; $d219
+ ld de, EnemyMonMaxHP + 1 ; $d219
ld a, [de]
dec de
ld [Buffer1], a ; $d1ea (aliases: MagikarpLength)
@@ -44304,7 +44301,7 @@ Function38511: ; 38511
Function3851e: ; 3851e
ld [hMultiplier], a
- ld hl, EnemyMonMaxHPHi
+ ld hl, EnemyMonMaxHP
ld a, [hli]
ld [hProduct], a
ld a, [hl]
@@ -44315,7 +44312,7 @@ Function3851e: ; 3851e
ld c, a
ld a, [$ffb5]
ld b, a
- ld hl, EnemyMonHPLo
+ ld hl, EnemyMonHP + 1
ld a, [hld]
ld e, a
ld a, [hl]
@@ -47760,7 +47757,7 @@ Function421f5: ; 421f5
ld a, [hl]
ld [Buffer2], a
ld a, [CurPartyMon]
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call GetNick
call CopyName1
ld hl, UnknownText_0x42482
@@ -47929,7 +47926,7 @@ Function42414: ; 42414
jr nz, .asm_4242b
ld a, [CurPartyMon]
ld bc, $000b
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call AddNTimes
push hl
ld a, [CurSpecies]
@@ -48948,7 +48945,7 @@ Function446cc:: ; 446cc
call CopyBytes
pop af
push af
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
ld bc, $000b
call AddNTimes
ld bc, $000a
@@ -51399,7 +51396,7 @@ Function492b9: ; 492b9
call Predef
push bc
ld a, [CurPartyMon]
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call GetNick
pop bc
ld a, c
@@ -53945,7 +53942,7 @@ CheckOwnMonAnywhere: ; 0x4a721
ld d, a
ld e, 0
ld hl, PartyMon1Species
- ld bc, PartyMon1OT
+ ld bc, PartyMonOT
; Run CheckOwnMon on each Pokémon in the party.
.partymon
@@ -53963,13 +53960,13 @@ CheckOwnMonAnywhere: ; 0x4a721
; Run CheckOwnMon on each Pokémon in the PC.
ld a, 1
call GetSRAMBank
- ld a, [BoxCount]
+ ld a, [sBoxCount]
and a
jr z, .boxes
ld d, a
- ld hl, BoxMon1Species
- ld bc, BoxMon1OT
+ ld hl, sBoxMon1Species
+ ld bc, sBoxMonOT
.openboxmon
call CheckOwnMon
jr nc, .next
@@ -53980,7 +53977,7 @@ CheckOwnMonAnywhere: ; 0x4a721
.next
push bc
- ld bc, BoxMon2 - BoxMon1
+ ld bc, sBoxMon2 - sBoxMon1
add hl, bc
pop bc
call UpdateOTPointer
@@ -54019,13 +54016,13 @@ CheckOwnMonAnywhere: ; 0x4a721
push bc
push hl
- ld de, BoxMons - BoxCount
+ ld de, sBoxMons - sBoxCount
add hl, de
ld d, h
ld e, l
pop hl
push de
- ld de, BoxMonOT - BoxCount
+ ld de, sBoxMonOT - sBoxCount
add hl, de
ld b, h
ld c, l
@@ -54044,7 +54041,7 @@ CheckOwnMonAnywhere: ; 0x4a721
.nextboxmon
push bc
- ld bc, BoxMon2 - BoxMon1
+ ld bc, sBoxMon2 - sBoxMon1
add hl, bc
pop bc
call UpdateOTPointer
@@ -54153,7 +54150,7 @@ Unknown_4a810: ; 4a810
UpdateOTPointer: ; 0x4a83a
push hl
- ld hl, PartyMon2OT - PartyMon1OT
+ ld hl, NAME_LENGTH
add hl, bc
ld b, h
ld c, l
@@ -54173,7 +54170,7 @@ Function4a843: ; 4a843
ld d, a
ld e, 0
ld hl, PartyMon1Species
- ld bc, PartyMon1OT
+ ld bc, PartyMonOT
.asm_4a851
call Function4a8dc
ret c
@@ -54186,12 +54183,12 @@ Function4a843: ; 4a843
jr nz, .asm_4a851
ld a, 1
call GetSRAMBank
- ld a, [BoxCount]
+ ld a, [sBoxCount]
and a
jr z, .asm_4a888
ld d, a
- ld hl, BoxMon1Species
- ld bc, BoxMon1OT
+ ld hl, sBoxMon1Species
+ ld bc, sBoxMonOT
.asm_4a873
call Function4a8dc
jr nc, .asm_4a87c
@@ -54200,7 +54197,7 @@ Function4a843: ; 4a843
.asm_4a87c
push bc
- ld bc, BoxMon2 - BoxMon1
+ ld bc, sBoxMon2 - sBoxMon1
add hl, bc
pop bc
call Function4a91e
@@ -54230,13 +54227,13 @@ Function4a843: ; 4a843
jr z, .asm_4a8d1
push bc
push hl
- ld de, BoxMons - BoxCount
+ ld de, sBoxMons - sBoxCount
add hl, de
ld d, h
ld e, l
pop hl
push de
- ld de, BoxMonOT - BoxCount
+ ld de, sBoxMonOT - sBoxCount
add hl, de
ld b, h
ld c, l
@@ -54251,7 +54248,7 @@ Function4a843: ; 4a843
.asm_4a8c4
push bc
- ld bc, BoxMon2 - BoxMon1
+ ld bc, sBoxMon2 - sBoxMon1
add hl, bc
pop bc
call Function4a91e
@@ -54316,7 +54313,7 @@ Unknown_4a8f4: ; 4a8f4
Function4a91e: ; 4a91e
push hl
- ld hl, PartyMon2OT - PartyMon1OT
+ ld hl, NAME_LENGTH
add hl, bc
ld b, h
ld c, l
@@ -54438,7 +54435,7 @@ Function4a9c3: ; 4a9c3
Function4a9d7: ; 4a9d7
ld a, [DefaultFlypoint]
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call GetNick
ld h, d
ld l, e
@@ -54446,7 +54443,7 @@ Function4a9d7: ; 4a9d7
ld bc, $0006
call CopyBytes
ld a, [$d003]
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call GetNick
ld h, d
ld l, e
@@ -54454,7 +54451,7 @@ Function4a9d7: ; 4a9d7
ld bc, $0006
call CopyBytes
ld a, [$d004]
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call GetNick
ld h, d
ld l, e
@@ -55593,7 +55590,7 @@ ENDM
Function4d15b:: ; 4d15b
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
ld a, [$d196]
and a
jr z, .asm_4d168
@@ -56381,12 +56378,12 @@ Function4d87a: ; 4d87a
jr nz, .asm_4d88d
ld a, $1
call GetSRAMBank
- ld a, [BoxCount]
+ ld a, [sBoxCount]
and a
jr z, .asm_4d8c8
ld d, a
- ld hl, BoxMon1ID
- ld bc, BoxSpecies
+ ld hl, sBoxMon1ID
+ ld bc, sBoxSpecies
.asm_4d8af
ld a, [bc]
inc bc
@@ -56399,7 +56396,7 @@ Function4d87a: ; 4d87a
.asm_4d8bf
push bc
- ld bc, BoxMon2 - BoxMon1
+ ld bc, sBoxMon2 - sBoxMon1
add hl, bc
pop bc
dec d
@@ -56446,7 +56443,7 @@ Function4d87a: ; 4d87a
.asm_4d901
push bc
- ld bc, BoxMon2 - BoxMon1
+ ld bc, sBoxMon2 - sBoxMon1
add hl, bc
pop bc
dec d
@@ -56625,7 +56622,7 @@ Function4d9e5: ; 4d9e5
call CopyBytes
ld a, [PartyCount]
dec a
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
call SkipNames
ld d, h
ld e, l
@@ -56651,7 +56648,7 @@ Function4d9e5: ; 4d9e5
.asm_4da66
ld a, [PartyCount]
dec a
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call SkipNames
ld d, h
ld e, l
@@ -56683,20 +56680,20 @@ Function4d9e5: ; 4d9e5
Function4daa3: ; 4daa3
ld a, $1
call GetSRAMBank
- ld hl, BoxCount
+ ld hl, sBoxCount
ld a, [hl]
- cp 20
+ cp MONS_PER_BOX
call CloseSRAM
jr nc, .asm_4db08
xor a
ld [CurPartyMon], a
ld hl, $df9c
ld de, $d018
- ld bc, BoxMon2 - BoxMon1
+ ld bc, sBoxMon2 - sBoxMon1
call CopyBytes
ld hl, PlayerName
ld de, $d00d
- ld bc, $000b
+ ld bc, NAME_LENGTH
call CopyBytes
callab Function51322
ld a, [CurPartySpecies]
@@ -56714,21 +56711,21 @@ Function4daa3: ; 4daa3
.asm_4daf7
ld a, $1
call GetSRAMBank
- ld de, BoxMon1Nickname
- ld bc, $000b
+ ld de, sBoxMonNicknames
+ ld bc, PKMN_NAME_LENGTH
call CopyBytes
call CloseSRAM
.asm_4db08
ld a, $1
call GetSRAMBank
- ld a, [BoxMon1Level]
+ ld a, [sBoxMon1Level]
ld [CurPartyLevel], a
call CloseSRAM
call Function4db83
ld a, $1
call GetSRAMBank
- ld hl, BoxMon1CaughtLocation
+ ld hl, sBoxMon1CaughtLocation
ld a, [hl]
and $80
ld b, $13
@@ -56804,7 +56801,7 @@ Function4db53: ; 4db53
Function4db83: ; 4db83
ld a, $1
call GetSRAMBank
- ld hl, BoxMon1CaughtLevel
+ ld hl, sBoxMon1CaughtLevel
call Function4db53
call CloseSRAM
ret
@@ -56814,7 +56811,7 @@ Function4db92: ; 4db92
push bc
ld a, $1
call GetSRAMBank
- ld hl, BoxMon1CaughtLevel
+ ld hl, sBoxMon1CaughtLevel
pop bc
call Function4dbaf
call CloseSRAM
@@ -57800,7 +57797,7 @@ Function4e1cc: ; 4e1cc (13:61cc)
Unknown_4e216: ; 4e216
dw PartyMonOT
dw OTPartyMonOT
- dw BoxMonOT
+ dw sBoxMonOT
dw $d00d
; 4e21e
@@ -57907,7 +57904,7 @@ Jumptable_4e2b5: ; 4e2b5 (13:62b5)
Function4e2bf: ; 4e2bf (13:62bf)
ld a, [CurPartyMon] ; $d109
ld hl, PartyMons ; $dcdf (aliases: PartyMon1, PartyMon1Species)
- ld bc, $30
+ ld bc, PartyMon2 - PartyMon1
call AddNTimes
ld b, h
ld c, l
@@ -57920,7 +57917,7 @@ Function4e2cf: ; 4e2cf (13:62cf)
; no known jump sources
Function4e2d1: ; 4e2d1 (13:62d1)
- ld hl, BoxMons
+ ld hl, sBoxMons
ld bc, $30
ld a, [CurPartyMon] ; $d109
call AddNTimes
@@ -59123,7 +59120,7 @@ Function5009b: ; 5009b
push bc
push hl
push hl
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld a, b
call GetNick
pop hl
@@ -59860,7 +59857,7 @@ YouHaveNoPKMNString: ; 0x50556
Function50566: ; 50566
ld a, [CurPartyMon]
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call GetNick
ld a, [PartyMenuActionText]
and $f
@@ -60501,15 +60498,15 @@ Function508d5: ; 508d5
jr .asm_50905
.asm_508f1
- ld a, 1 ; BANK(BoxSpecies)
+ ld a, 1 ; BANK(sBoxSpecies)
call GetSRAMBank
- ld hl, BoxSpecies
+ ld hl, sBoxSpecies
call .asm_50905
call CloseSRAM
ret
.asm_50900
- ld a, [BreedMon1Species]
+ ld a, [wBreedMon1Species]
jr .asm_50909
.asm_50905
@@ -60797,11 +60794,11 @@ GetGender: ; 50bdd
dec a
jr z, .PartyMon
-; 2: BoxMon
- ld hl, BoxMon1DVs
- ld bc, BoxMon2 - BoxMon1
+; 2: sBoxMon
+ ld hl, sBoxMon1DVs
+ ld bc, sBoxMon2 - sBoxMon1
dec a
- jr z, .BoxMon
+ jr z, .sBoxMon
; 3: Unknown
ld hl, TempMonDVs
@@ -60816,14 +60813,14 @@ GetGender: ; 50bdd
; Get our place in the party/box.
.PartyMon
-.BoxMon
+.sBoxMon
ld a, [CurPartyMon]
call AddNTimes
.DVs
-; BoxMon data is read directly from SRAM.
+; sBoxMon data is read directly from SRAM.
ld a, [MonType]
cp BOXMON
ld a, 1
@@ -60842,7 +60839,7 @@ GetGender: ; 50bdd
or b
ld b, a
-; Close SRAM if we were dealing with a BoxMon.
+; Close SRAM if we were dealing with a sBoxMon.
ld a, [MonType]
cp BOXMON
call z, CloseSRAM
@@ -60997,7 +60994,7 @@ Function50cd0: ; 50cd0
Function50cdb: ; 50cdb
push hl
push hl
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld a, [CurPartyMon]
call GetNick
pop hl
@@ -61157,7 +61154,7 @@ Function50db9: ; 50db9
cp $1
jr nz, .asm_50dca
ld hl, OTPartyCount
- ld de, OTPartyMon1OT
+ ld de, OTPartyMonOT
ld a, ENEMY_OT_NAME
jr .asm_50dfc
.asm_50dca
@@ -61165,7 +61162,7 @@ Function50db9: ; 50db9
cp $4
jr nz, .asm_50dd8
ld hl, PartyCount
- ld de, PartyMon1OT
+ ld de, PartyMonOT
ld a, PARTY_OT_NAME
jr .asm_50dfc
.asm_50dd8
@@ -61477,12 +61474,12 @@ Function50f62: ; 50f62 (14:4f62)
ld bc, $30
call CopyBytes
ld a, [Buffer2] ; $d1eb (aliases: MovementType)
- ld hl, PartyMonOT ; $ddff (aliases: PartyMon1OT)
+ ld hl, PartyMonOT ; $ddff (aliases: PartyMonOT)
call SkipNames
push hl
call Function51036
ld a, [$d1ec]
- ld hl, PartyMonOT ; $ddff (aliases: PartyMon1OT)
+ ld hl, PartyMonOT ; $ddff (aliases: PartyMonOT)
call SkipNames
pop de
push hl
@@ -61490,12 +61487,12 @@ Function50f62: ; 50f62 (14:4f62)
pop de
ld hl, DefaultFlypoint ; $d002
call Function51039
- ld hl, PartyMonNicknames ; $de41 (aliases: PartyMon1Nickname)
+ ld hl, PartyMonNicknames ; $de41 (aliases: PartyMonNicknames)
ld a, [Buffer2] ; $d1eb (aliases: MovementType)
call SkipNames
push hl
call Function51036
- ld hl, PartyMonNicknames ; $de41 (aliases: PartyMon1Nickname)
+ ld hl, PartyMonNicknames ; $de41 (aliases: PartyMonNicknames)
ld a, [$d1ec]
call SkipNames
pop de
@@ -61546,8 +61543,8 @@ GetUnownLetter: ; 51040
; Return Unown letter in UnownLetter based on DVs at hl
; Take the middle 2 bits of each DV and place them in order:
-; AtkDefDV | SpdSpcDV
-; .ww..xx. .yy..zz.
+; atk def spd spc
+; .ww..xx. .yy..zz.
; atk
ld a, [hl]
@@ -62026,27 +62023,27 @@ Function512f2: ; 512f2
Function51322: ; 51322
ld a, $1
call GetSRAMBank
- ld hl, BoxCount
+ ld hl, sBoxCount
call Function513cb
- ld a, [BoxCount]
+ ld a, [sBoxCount]
dec a
ld [$d265], a
- ld hl, BoxMon1Nickname
- ld bc, $000b
- ld de, DefaultFlypoint
+ ld hl, sBoxMonNicknames
+ ld bc, PKMN_NAME_LENGTH
+ ld de, $d002
call Function513e0
- ld a, [BoxCount]
+ ld a, [sBoxCount]
dec a
ld [$d265], a
- ld hl, BoxMon1OT
- ld bc, $000b
+ ld hl, sBoxMonOT
+ ld bc, NAME_LENGTH
ld de, $d00d
call Function513e0
- ld a, [BoxCount]
+ ld a, [sBoxCount]
dec a
ld [$d265], a
- ld hl, BoxMon1Species
- ld bc, $0020
+ ld hl, sBoxMons
+ ld bc, sBoxMon1End - sBoxMon1
ld de, $d018
call Function513e0
ld hl, $d01a
@@ -62069,21 +62066,21 @@ Function5138b: ; 5138b
ld a, [PartyCount]
dec a
ld [$d265], a
- ld hl, PartyMon1Nickname
- ld bc, $000b
- ld de, DefaultFlypoint
+ ld hl, PartyMonNicknames
+ ld bc, PKMN_NAME_LENGTH
+ ld de, $d002
call Function513e0
ld a, [PartyCount]
dec a
ld [$d265], a
- ld hl, PartyMon1OT
- ld bc, $000b
+ ld hl, PartyMonOT
+ ld bc, NAME_LENGTH
ld de, $d00d
call Function513e0
ld a, [PartyCount]
dec a
ld [$d265], a
- ld hl, PartyMon1Species
+ ld hl, PartyMons
ld bc, PartyMon2 - PartyMon1
ld de, $d018
call Function513e0
@@ -62095,7 +62092,7 @@ Function513cb: ; 513cb
inc hl
ld a, [CurPartyMon]
ld c, a
- ld b, $0
+ ld b, 0
add hl, bc
ld a, [CurPartySpecies]
ld c, a
@@ -63254,10 +63251,10 @@ Function806ff: ; 806ff
Function80715: ; 80715
; Remaining slots in the current box.
- ld a, $1
+ ld a, 1 ; BANK(sBoxCount)
call GetSRAMBank
- ld hl, BoxCount
- ld a, 20
+ ld hl, sBoxCount
+ ld a, MONS_PER_BOX
sub [hl]
ld b, a
call CloseSRAM
@@ -63458,13 +63455,13 @@ Function819a7: ; 819a7
dec c
jr nz, .asm_819d6
ld a, $94
- ld [EnemyMoveAnimation], a
+ ld [$c608], a
ld a, $52
- ld [EnemyMoveEffect], a
+ ld [$c609], a
ld a, $4a
- ld [EnemyMovePower], a
+ ld [$c60a], a
ld a, $29
- ld [EnemyMoveType], a
+ ld [$c60b], a
pop af
ld [rSVBK], a
ret
@@ -63766,13 +63763,13 @@ Function81bf4: ; 81bf4
add hl, hl
ld de, OverworldMap
add hl, de
- ld de, EnemyMoveAnimation
+ ld de, $c608
ld bc, $0004
call CopyBytes
xor a
ld [$cf64], a
ld [$cf65], a
- ld de, EnemyMoveAnimation
+ ld de, $c608
call Function81ea5
ret
; 81c18
@@ -63803,14 +63800,14 @@ Function81c33: ; 81c33
ld a, $5
ld [rSVBK], a
ld hl, BGPals
- ld de, EnemyMoveAnimation
+ ld de, $c608
ld c, $1
call Function81ee3
hlcoord 10, 2
- ld de, EnemyMoveAnimation
+ ld de, $c608
call Function81ca7
hlcoord 15, 2
- ld de, EnemyMovePower
+ ld de, $c60a
call Function81ca7
ld a, $1
ld [hCGBPalUpdate], a
@@ -63828,13 +63825,13 @@ Function81c33: ; 81c33
ld [hli], a
ld a, $7f
ld [hli], a
- ld a, [EnemyMoveAnimation]
+ ld a, [$c608]
ld [hli], a
- ld a, [EnemyMoveEffect]
+ ld a, [$c609]
ld [hli], a
- ld a, [EnemyMovePower]
+ ld a, [$c60a]
ld [hli], a
- ld a, [EnemyMoveType]
+ ld a, [$c60b]
ld [hli], a
xor a
ld [hli], a
@@ -63843,10 +63840,10 @@ Function81c33: ; 81c33
ld hl, $cda9
call Function81f0c
hlcoord 10, 2
- ld de, EnemyMoveAnimation
+ ld de, $c608
call Function81ca7
hlcoord 15, 2
- ld de, EnemyMovePower
+ ld de, $c60a
call Function81ca7
ld a, $3
ld [$cf63], a
@@ -63939,14 +63936,14 @@ Function81d0a: ; 81d0a
.asm_81d1d
xor a
ld [$cf65], a
- ld de, EnemyMoveAnimation
+ ld de, $c608
call Function81ea5
ret
.asm_81d28
ld a, $1
ld [$cf65], a
- ld de, EnemyMovePower
+ ld de, $c60a
call Function81ea5
ret
@@ -63958,7 +63955,7 @@ Function81d34: ; 81d34
ld a, [hl]
and $40
jr nz, Function81d84
- ld hl, PlayerMoveType
+ ld hl, $c612
jr Function81d63
Function81d46: ; 81d46
@@ -63969,7 +63966,7 @@ Function81d46: ; 81d46
ld a, [hl]
and $40
jr nz, Function81d84
- ld hl, PlayerMoveAccuracy
+ ld hl, $c613
jr Function81d63
Function81d58: ; 81d58
@@ -63977,7 +63974,7 @@ Function81d58: ; 81d58
ld a, [hl]
and $40
jr nz, Function81d84
- ld hl, PlayerMovePP
+ ld hl, $c614
Function81d63: ; 81d63
ld a, [$ffa9]
@@ -64150,21 +64147,21 @@ Function81e5e: ; 81e5e
; 81e67
Function81e67: ; 81e67
- ld a, [PlayerMoveType]
+ ld a, [$c612]
and $1f
ld e, a
- ld a, [PlayerMoveAccuracy]
+ ld a, [$c613]
and $7
sla a
swap a
or e
ld e, a
- ld a, [PlayerMoveAccuracy]
+ ld a, [$c613]
and $18
sla a
swap a
ld d, a
- ld a, [PlayerMovePP]
+ ld a, [$c614]
and $1f
sla a
sla a
@@ -64174,23 +64171,23 @@ Function81e67: ; 81e67
and a
jr z, .asm_81e9c
ld a, e
- ld [EnemyMovePower], a
+ ld [$c60a], a
ld a, d
- ld [EnemyMoveType], a
+ ld [$c60b], a
ret
.asm_81e9c
ld a, e
- ld [EnemyMoveAnimation], a
+ ld [$c608], a
ld a, d
- ld [EnemyMoveEffect], a
+ ld [$c609], a
ret
; 81ea5
Function81ea5: ; 81ea5
ld a, [de]
and $1f
- ld [PlayerMoveType], a
+ ld [$c612], a
ld a, [de]
and $e0
swap a
@@ -64202,12 +64199,12 @@ Function81ea5: ; 81ea5
swap a
srl a
or b
- ld [PlayerMoveAccuracy], a
+ ld [$c613], a
ld a, [de]
and $7c
srl a
srl a
- ld [PlayerMovePP], a
+ ld [$c614], a
ret
; 81eca
@@ -64222,7 +64219,7 @@ Function81eca: ; 81eca
add hl, de
ld e, l
ld d, h
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
ld bc, $0004
call CopyBytes
ret
@@ -64371,11 +64368,11 @@ Function81f5e: ; 81f5e
ld b, $70
ld c, $5
ld hl, Sprites
- ld de, PlayerMoveType
+ ld de, $c612
call .asm_81fb7
- ld de, PlayerMoveAccuracy
+ ld de, $c613
call .asm_81fb7
- ld de, PlayerMovePP
+ ld de, $c614
call .asm_81fb7
ret
@@ -64523,10 +64520,10 @@ Function8220f: ; 8220f
add hl, hl
ld de, Unkn1Pals
add hl, de
- ld de, EnemyMoveAnimation
+ ld de, $c608
ld bc, $0008
call CopyBytes
- ld de, EnemyMoveAnimation
+ ld de, $c608
call Function81ea5
pop af
ld [rSVBK], a
@@ -64572,7 +64569,7 @@ Function82236: ; 82236
ld a, [$cf64]
ld bc, $0008
call AddNTimes
- ld de, EnemyMoveAnimation
+ ld de, $c608
ld bc, $0008
call CopyBytes
pop af
@@ -64604,20 +64601,20 @@ Function822a3: ; 822a3
call AddNTimes
ld e, l
ld d, h
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
ld bc, $0008
call CopyBytes
hlcoord 1, 0
- ld de, EnemyMoveAnimation
+ ld de, $c608
call Function81ca7
hlcoord 6, 0
- ld de, EnemyMovePower
+ ld de, $c60a
call Function81ca7
hlcoord 11, 0
- ld de, EnemyMoveAccuracy
+ ld de, $c60c
call Function81ca7
hlcoord 16, 0
- ld de, EnemyMoveEffectChance
+ ld de, $c60e
call Function81ca7
pop af
ld [rSVBK], a
@@ -64675,7 +64672,7 @@ Function82309: ; 82309
ld [$cf66], a
ld e, a
ld d, $0
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
add hl, de
add hl, de
ld e, l
@@ -64691,7 +64688,7 @@ Function82339: ; 82338
ld a, [hl]
and $40
jr nz, Function82387
- ld hl, PlayerMoveType
+ ld hl, $c612
jr Function82368
Function8234b: ; 8234b
@@ -64702,7 +64699,7 @@ Function8234b: ; 8234b
ld a, [hl]
and $40
jr nz, Function82387
- ld hl, PlayerMoveAccuracy
+ ld hl, $c613
jr Function82368
Function8235d: ; 8235d
@@ -64710,7 +64707,7 @@ Function8235d: ; 8235d
ld a, [hl]
and $40
jr nz, Function82387
- ld hl, PlayerMovePP
+ ld hl, $c614
Function82368: ; 82368
ld a, [$ffa9]
@@ -64751,21 +64748,21 @@ Function8238c: ; 8238c
; 82391
Function82391: ; 82391
- ld a, [PlayerMoveType]
+ ld a, [$c612]
and $1f
ld e, a
- ld a, [PlayerMoveAccuracy]
+ ld a, [$c613]
and $7
sla a
swap a
or e
ld e, a
- ld a, [PlayerMoveAccuracy]
+ ld a, [$c613]
and $18
sla a
swap a
ld d, a
- ld a, [PlayerMovePP]
+ ld a, [$c614]
and $1f
sla a
sla a
@@ -64774,7 +64771,7 @@ Function82391: ; 82391
ld a, [$cf66]
ld c, a
ld b, $0
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
add hl, bc
add hl, bc
ld a, e
@@ -66036,13 +66033,13 @@ Unknown_84807: ; 84807
; known jump sources: 844f2 (21:44f2)
Function84817: ; 84817 (21:4817)
xor a
- ld [DefaultFlypoint], a ; $d002
- ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld [$d002], a
+ ld hl, TileMap
ld bc, $168
ld a, $7f
call ByteFill
call Function84a0e
- ld hl, TileMap ; $c4a0 (aliases: SpritesEnd)
+ ld hl, TileMap
ld bc, $b4
ld a, $7f
call ByteFill
@@ -66051,9 +66048,9 @@ Function84817: ; 84817 (21:4817)
hlcoord 4, 3
ld de, String_84865
call PlaceString
- ld a, [MovementBuffer] ; $d007
- ld bc, $9
- ld hl, Box1Name ; $db75
+ ld a, [$d007]
+ ld bc, 9
+ ld hl, wBoxNames
call AddNTimes
ld d, h
ld e, l
@@ -66440,7 +66437,7 @@ Function864c3: ; 864c3
ld a, [$cf64]
cp $6
jr nc, .asm_864fb
- ld hl, EnemyMoveEffect
+ ld hl, $c609
ld bc, $0010
call AddNTimes
ld a, [hl]
@@ -66545,7 +66542,7 @@ Function8653f: ; 8653f
pop bc
push bc
ld a, c
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld bc, $000b
call AddNTimes
ld bc, $000a
@@ -66701,7 +66698,7 @@ Function86692: ; 86692
ld a, [$cf64]
cp $6
jr nc, .asm_866a7
- ld hl, EnemyMoveEffect
+ ld hl, $c609
ld bc, $0010
call AddNTimes
ld a, [hl]
@@ -66717,7 +66714,7 @@ Function86692: ; 86692
call WhiteBGMap
pop hl
call Function86748
- ld a, [EnemyMoveAnimation]
+ ld a, [$c608]
cp 200 + 1
jr c, .asm_866c6
ld de, String_866fc
@@ -66731,7 +66728,7 @@ Function86692: ; 86692
hlcoord 1, 2
call PlaceString
hlcoord 2, 2
- ld de, EnemyMoveAnimation
+ ld de, $c608
ld bc, $0103
call PrintNum
hlcoord 11, 2
@@ -66776,7 +66773,7 @@ Function8671c: ; 8671c
ld a, [hl]
and a
jr z, .asm_86743
- ld de, EnemyMoveAnimation
+ ld de, $c608
ld bc, $0062
call CopyBytes
call CloseSRAM
@@ -79595,9 +79592,9 @@ Function8e8b1: ; 8e8b1 (23:68b1)
ld a, $60
ld [hl], a
ld a, c
- ld [EnemyMoveAnimation], a ; $c608 (aliases: EnemyMoveStruct)
+ ld [$c608], a
ld a, b
- ld [EnemyMoveEffect], a ; $c609
+ ld [$c609], a
ret
; known jump sources: 8e898 (23:6898)
@@ -91310,7 +91307,7 @@ Functioncc000: ; cc000
call PrintNum
hlcoord 11, 10
- ld de, EnemyMonMaxHPHi
+ ld de, EnemyMonMaxHP
call PrintNum
ld hl, SwitchMonText
@@ -93252,7 +93249,7 @@ Functione1190: ; e1190
xor a
ld [hBGMapMode], a
call DisableLCD
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
ld bc, $01e0
xor a
call ByteFill
@@ -96022,7 +96019,7 @@ Functione2c6e: ; e2c6e (38:6c6e)
ld a, [hl]
and a
jr z, .asm_e2cee
- ld hl, PartyMonNicknames ; $de41 (aliases: PartyMon1Nickname)
+ ld hl, PartyMonNicknames ; $de41 (aliases: PartyMonNicknames)
ld bc, $b
ld a, e
call AddNTimes
@@ -96485,9 +96482,9 @@ Functione2fd6: ; e2fd6 (38:6fd6)
.asm_e3020
ld hl, PartySpecies ; $dcd8
call Functione3357
- ld hl, PartyMonNicknames ; $de41 (aliases: PartyMon1Nickname)
+ ld hl, PartyMonNicknames ; $de41 (aliases: PartyMonNicknames)
call Functione3363
- ld hl, PartyMonOT ; $ddff (aliases: PartyMon1OT)
+ ld hl, PartyMonOT ; $ddff (aliases: PartyMonOT)
call Functione3376
ld hl, PartyMons ; $dcdf (aliases: PartyMon1, PartyMon1Species)
ld bc, $30
@@ -96530,7 +96527,7 @@ Functione307c: ; e307c (38:707c)
ld hl, $cb2a
add [hl]
ld [CurPartyMon], a ; $d109
- ld hl, PartyMonNicknames ; $de41 (aliases: PartyMon1Nickname)
+ ld hl, PartyMonNicknames ; $de41 (aliases: PartyMonNicknames)
ld a, [CurPartyMon] ; $d109
call GetNick
ld a, $1
@@ -96817,14 +96814,14 @@ Functione32b0: ; e32b0
ld [CurPartyMon], a
ld a, $1
call GetSRAMBank
- ld hl, BoxSpecies
+ ld hl, sBoxSpecies
call Functione3357
- ld hl, BoxMon1Nickname
+ ld hl, sBoxMonNicknames
call Functione3363
- ld hl, BoxMon1OT
+ ld hl, sBoxMonOT
call Functione3376
- ld hl, BoxMon1Species
- ld bc, $0020
+ ld hl, sBoxMons
+ ld bc, sBoxMon1End - sBoxMon1
call Functione3389
call CloseSRAM
callba Function5088b
@@ -96854,9 +96851,9 @@ Functione3316: ; e3316
ld [CurPartyMon], a
ld hl, PartySpecies
call Functione3357
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call Functione3363
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
call Functione3376
ld hl, PartyMon1Species
ld bc, PartyMon2 - PartyMon1
@@ -97088,8 +97085,8 @@ Functione3619: ; e3619
; known jump sources: e36e7 (38:76e7), e375d (38:775d), e376e (38:776e)
Functione3626: ; e3626 (38:7626)
- ld bc, $9
- ld hl, Box1Name ; $db75
+ ld bc, 9
+ ld hl, wBoxNames
call AddNTimes
ld d, h
ld e, l
@@ -97122,7 +97119,10 @@ String_e3663: ; e3663
; e3668
String_e3668: ; e3668
- db "/20@"
+ db "/"
+ db "0" + MONS_PER_BOX / 10
+ db "0" + MONS_PER_BOX % 10
+ db "@"
; e366c
; known jump sources: e3717 (38:7717)
@@ -101180,7 +101180,7 @@ Functionfbb32: ; fbb32
ld [de], a
inc de
ld a, [CurPartyMon]
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
call SkipNames
call CopyBytes
ld a, $3
@@ -101686,7 +101686,7 @@ Functionfcc63: ; fcc63
call Functionfcde8
call Functionfcdf4
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
ld bc, $000b
call Functionfcdd7
ld de, $c6f2
@@ -101756,7 +101756,7 @@ Functionfcc63: ; fcc63
ld de, $c70e
call Functionfcdf4
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld bc, PKMN_NAME_LENGTH
call Functionfcdde
ld hl, $c70e
@@ -101771,7 +101771,7 @@ Functionfcc63: ; fcc63
ld de, $c719
call Functionfcdf4
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
ld bc, $000b
call Functionfcdde
ld hl, $c724
@@ -104596,10 +104596,10 @@ Function1020ea: ; 1020ea
bit 2, [hl]
jr nz, .asm_102110
call Function10218d
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
bit 4, [hl]
jr z, .asm_102110
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
bit 2, [hl]
jr nz, .asm_102110
call Function102112
@@ -104619,7 +104619,7 @@ Function102112: ; 102112
ld c, $28
.asm_10211c
push hl
- ld de, PlayerMoveAnimation
+ ld de, $c60f
ld b, $1f
.asm_102122
ld a, [de]
@@ -104678,7 +104678,7 @@ Function102142: ; 102142
; 102180
Function102180: ; 102180
- ld hl, EnemyMoveEffect
+ ld hl, $c609
ld de, StringBuffer2
ld bc, $000b
call CopyBytes
@@ -104687,18 +104687,18 @@ Function102180: ; 102180
Function10218d: ; 10218d
ld hl, $dc00
- ld de, EnemyMoveAnimation
+ ld de, $c608
ld bc, $0026
ld a, $5
call FarCopyWRAM
- ld de, EnemyMoveEffect
+ ld de, $c609
ret
; 10219f
Function10219f: ; 10219f
call FadeToMenu
call Function10218d
- ld de, EnemyMoveEffect
+ ld de, $c609
callba Function8ac4e
call Functiona36
call PlayClickSFX
@@ -104709,7 +104709,7 @@ Function10219f: ; 10219f
Function1021b8: ; 1021b8
call FadeToMenu
call Function10218d
- ld de, PlayerMoveAnimation
+ ld de, $c60f
callba Function8ac70
ld a, c
ld [StringBuffer1], a
@@ -107635,45 +107635,37 @@ DisplayUsedMoveText: ; 105db0
UsedMoveText: ; 105db9
-
; this is a stream of text and asm from 105db9 to 105ef6
-; print actor name
text_jump _ActorNameText
start_asm
-; ????
ld a, [hBattleTurn]
and a
jr nz, .start
-; append used move list
- ld a, [PlayerMoveAnimation]
+ ld a, [wPlayerMoveStruct + MOVE_ANIM]
call UpdateUsedMoves
.start
-; get address for last move
- ld a, $13 ; last move
+ ld a, BATTLE_VARS_LAST_MOVE
call _GetBattleVar
ld d, h
ld e, l
-; get address for last counter move
- ld a, $11
+ ld a, BATTLE_VARS_LAST_COUNTER_MOVE
call _GetBattleVar
-; get move animation (id)
- ld a, $c ; move animation
+ ld a, BATTLE_VARS_MOVE_ANIM
call GetBattleVar
ld [$d265], a
-; check actor ????
push hl
callba Function34548
pop hl
jr nz, .grammar
-; update last move
+ ; update last move
ld a, [$d265]
ld [hl], a
ld [de], a
@@ -107685,13 +107677,13 @@ UsedMoveText: ; 105db9
; everything except 'instead' made redundant in localization
-; check obedience
+ ; check obedience
ld a, [AlreadyDisobeyed]
and a
ld hl, UsedMove2Text
ret nz
-; check move grammar
+ ; check move grammar
ld a, [$d265]
cp $3
ld hl, UsedMove2Text
@@ -111529,33 +111521,33 @@ Function119451: ; 119451 (46:5451)
Function119471: ; 119471 (46:5471)
push af
ld a, [hli]
- ld [EnemyMoveAnimation], a ; $c608 (aliases: EnemyMoveStruct)
+ ld [$c608], a
ld a, [hli]
- ld [EnemyMoveType], a ; $c60b
+ ld [$c60b], a
ld a, [hli]
- ld [EnemyMoveEffect], a ; $c609
+ ld [$c609], a
ld a, [hli]
- ld [EnemyMovePower], a ; $c60a
+ ld [$c60a], a
ld a, [hli]
- ld [EnemyMoveAccuracy], a ; $c60c
+ ld [$c60c], a
ld a, [hli]
- ld [EnemyMovePP], a ; $c60d
+ ld [$c60d], a ; $c60d
push hl
- ld a, [EnemyMoveAnimation] ; $c608 (aliases: EnemyMoveStruct)
+ ld a, [$c608]
cp $ff
jr z, .asm_1194a7
- ld a, [EnemyMovePower] ; $c60a
+ ld a, [$c60a]
cp $ff
jr z, .asm_1194a7
- ld a, [EnemyMoveEffect] ; $c609
+ ld a, [$c609]
cp $ff
jr nz, .asm_1194a7
call Function119584
jr c, .asm_11950c
jr .asm_1194f0
.asm_1194a7
- ld hl, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct)
- ld de, EnemyMoveType ; $c60b
+ ld hl, $c608
+ ld de, $c60b
ld c, $3
.asm_1194af
ld a, [de]
@@ -111571,7 +111563,7 @@ Function119471: ; 119471 (46:5471)
.asm_1194bc
ld c, $3
ld hl, $cd49
- ld de, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct)
+ ld de, $c608
.asm_1194c4
ld a, [de]
inc de
@@ -111588,7 +111580,7 @@ Function119471: ; 119471 (46:5471)
.asm_1194d5
ld c, $3
ld hl, $cd49
- ld de, EnemyMoveType ; $c60b
+ ld de, $c60b
.asm_1194dd
ld a, [de]
inc de
@@ -111609,7 +111601,7 @@ Function119471: ; 119471 (46:5471)
.asm_1194f3
ld c, $3
ld hl, $cd49
- ld de, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct)
+ ld de, $c608
.asm_1194fb
ld a, [de]
inc de
@@ -111628,9 +111620,9 @@ Function119471: ; 119471 (46:5471)
ld a, $1
ld [$cd50], a
ld a, l
- ld [EnemyMoveAnimation], a ; $c608 (aliases: EnemyMoveStruct)
+ ld [$c608], a
ld a, h
- ld [EnemyMoveEffect], a ; $c609
+ ld [$c609], a
ld de, $cd69
ld c, $10
ld b, $0
@@ -111710,9 +111702,9 @@ Function119471: ; 119471 (46:5471)
; known jump sources: 1194a0 (46:54a0)
Function119584: ; 119584 (46:5584)
- ld a, [EnemyMoveAnimation] ; $c608 (aliases: EnemyMoveStruct)
+ ld a, [$c608]
ld b, a
- ld a, [EnemyMoveType] ; $c60b
+ ld a, [$c60b]
ld c, a
cp b
jr c, .asm_11959c
@@ -111729,9 +111721,9 @@ Function119584: ; 119584 (46:5584)
cp b
jr c, .asm_119595
.asm_1195a2
- ld a, [EnemyMovePower] ; $c60a
+ ld a, [$c60a]
ld b, a
- ld a, [EnemyMovePP] ; $c60d
+ ld a, [$c60d] ; $c60d
ld c, a
cp b
jr c, .asm_1195ba
@@ -111776,9 +111768,9 @@ Function1195c4: ; 1195c4 (46:55c4)
call CopyBytes
xor a
ld [de], a
- ld a, [EnemyMoveAnimation] ; $c608 (aliases: EnemyMoveStruct)
+ ld a, [$c608]
ld l, a
- ld a, [EnemyMoveEffect] ; $c609
+ ld a, [$c609]
ld h, a
ld de, $cd69
ld bc, $10
@@ -111950,11 +111942,11 @@ Function119d93: ; 119d93 (46:5d93)
ld a, $1
ld [rSVBK], a ; $ff00+$70
ld a, [$cd4f]
- ld c, $a
+ ld c, 10
call SimpleMultiply
ld hl, $cd50
ld [hl], a
- ld bc, $30
+ ld bc, PartyMon2 - PartyMon1
ld de, PartyMon1Level ; $dcfe
ld a, [PartyCount] ; $dcd7
.asm_119daf
@@ -111992,28 +111984,28 @@ Function119dd1: ; 119dd1 (46:5dd1)
ld a, [rSVBK] ; $ff00+$70
push af
ld a, [$cd4f]
- cp $7
+ cp 70 / 10
jr nc, .asm_119e08
ld a, $1
ld [rSVBK], a ; $ff00+$70
ld hl, PartyMon1Level ; $dcfe
- ld bc, $30
+ ld bc, PartyMon2 - PartyMon1
ld de, PartySpecies ; $dcd8
ld a, [PartyCount] ; $dcd7
.asm_119deb
push af
ld a, [de]
- cp $96
+ cp MEWTWO
jr z, .asm_119dfd
- cp $97
+ cp MEW
jr z, .asm_119dfd
- cp $f9
+ cp LUGIA
jr c, .asm_119e02
- cp $fc
+ cp NUM_POKEMON + 1
jr nc, .asm_119e02
.asm_119dfd
ld a, [hl]
- cp $46
+ cp 70
jr c, .asm_119e0d
.asm_119e02
add hl, bc
@@ -112033,7 +112025,7 @@ Function119dd1: ; 119dd1 (46:5dd1)
call GetPokemonName
ld hl, StringBuffer1 ; $d073
ld de, $cd49
- ld bc, $b
+ ld bc, PKMN_NAME_LENGTH
call CopyBytes
ld a, $a
ld [$cf66], a
@@ -112603,13 +112595,13 @@ Function11b5e8: ; 11b5e8
ld a, $0
call GetSRAMBank
ld hl, $d4ba
- ld de, EnemyMoveAnimation
+ ld de, $c608
ld bc, $0004
call CopyBytes
call CloseSRAM
ld a, $5
call GetSRAMBank
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
ld de, $b08c
ld bc, $0004
call CopyBytes
@@ -112663,7 +112655,7 @@ Function11b65a: ; 11b65a
INCBIN "baserom.gbc",$11b669,$11b7e5 - $11b669
Function11b7e5: ; 11b7e5
- ld a, [EnemyMovePP]
+ ld a, [$c60d]
ld [PlayerLightScreenCount], a
ld [CurPartySpecies], a
ld a, [$cd81]
@@ -112674,16 +112666,16 @@ Function11b7e5: ; 11b7e5
call CopyBytes
ld a, $50
ld [de], a
- ld a, [PlayerMoveAccuracy]
+ ld a, [$c613]
ld [$c731], a
- ld a, [PlayerMovePP]
+ ld a, [$c614]
ld [$c732], a
ld hl, $c622
ld a, [hli]
ld [$c72f], a
ld a, [hl]
ld [$c730], a
- ld bc, EnemyMovePP
+ ld bc, $c60d
callba GetCaughtGender
ld a, c
ld [$c733], a
@@ -112833,7 +112825,7 @@ Function11b93b: ; 11b93b
xor a
ld [$a800], a
ld hl, $a823
- ld de, EnemyMoveAnimation
+ ld de, $c608
ld bc, $008f
call CopyBytes
call CloseSRAM
@@ -112902,7 +112894,7 @@ Function11b98f: ; 11b98f
ld h, a
ld bc, PartyMon2 - PartyMon1
call CopyBytes
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
ld bc, $000b
ld a, [$cd2a]
.asm_11b9d8
@@ -112920,7 +112912,7 @@ Function11b98f: ; 11b98f
call CopyBytes
ld a, $50
ld [de], a
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld bc, $000b
ld a, [$cd2a]
.asm_11b9f9
@@ -113199,7 +113191,7 @@ Function11c0c6: ; 11c0c6
.asm_11c123
sub e
ld [$cf64], a
- ld de, EnemyMoveAnimation
+ ld de, $c608
.asm_11c12a
ld a, [de]
cp $50
@@ -113226,7 +113218,7 @@ Function11c0c6: ; 11c0c6
Function11c14a: ; 11c14a
ld c, $0
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
.asm_11c14f
ld a, [hli]
cp $50
@@ -113241,7 +113233,7 @@ Function11c156: ; 11c156
ld a, $1
ld [rSVBK], a
ld a, $50
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
ld bc, $000b
call ByteFill
ld a, d
@@ -113270,9 +113262,9 @@ Function11c156: ; 11c156
add hl, bc
ld bc, $0005
.asm_11c18f
- ld de, EnemyMoveAnimation
+ ld de, $c608
call CopyBytes
- ld de, EnemyMoveAnimation
+ ld de, $c608
pop af
ld [rSVBK], a
ret
@@ -116110,7 +116102,7 @@ Function170121: ; 170121
ld a, $5
call GetSRAMBank
ld hl, $a948
- ld de, EnemyMoveAnimation
+ ld de, $c608
ld bc, $00f6
call CopyBytes
call CloseSRAM
@@ -116629,21 +116621,21 @@ Function170923: ; 170923
Function17093c: ; 17093c (5c:493c)
xor a
ld [ScriptVar], a ; $c2dd
- ld a, $81
+ ld a, EGG_TICKET
ld [CurItem], a ; $d106
ld hl, NumItems ; $d892 (aliases: TMsHMsEnd)
call CheckItem
ret nc
ld a, [PartyCount] ; $dcd7
- ld b, $0
+ ld b, 0
ld c, a
ld hl, PartySpecies ; $dcd8
.asm_170955
ld a, [hli]
- cp $fd
+ cp EGG
jr nz, .asm_17099f
push hl
- ld hl, PartyMonOT ; $ddff (aliases: PartyMon1OT)
+ ld hl, PartyMonOT ; $ddff (aliases: PartyMonOT)
ld de, $6
ld a, b
and a
@@ -116653,7 +116645,7 @@ Function17093c: ; 17093c (5c:493c)
dec a
jr nz, .asm_170965
.asm_170969
- ld de, $49a4
+ ld de, String_1709a4
ld a, $6
.asm_17096e
push af
@@ -116673,7 +116665,7 @@ Function17093c: ; 17093c (5c:493c)
ld [hli], a
ld [hli], a
pop hl
- ld a, $81
+ ld a, EGG_TICKET
ld [CurItem], a ; $d106
ld a, $1
ld [$d10c], a
@@ -116684,6 +116676,7 @@ Function17093c: ; 17093c (5c:493c)
ld a, $1
ld [ScriptVar], a ; $c2dd
ret
+
.asm_17099d
pop af
pop hl
@@ -116694,7 +116687,8 @@ Function17093c: ; 17093c (5c:493c)
ret
; 1709a4 (5c:49a4)
-INCBIN "baserom.gbc",$1709a4,$1709aa - $1709a4
+String_1709a4: ; 1709a4
+ db "なぞナゾ@@"
; no known jump sources
Function1709aa: ; 1709aa (5c:49aa)
@@ -116814,7 +116808,7 @@ Function170b16: ; 170b16 (5c:4b16)
call GetSRAMBank
ld a, [$b2fb]
call CloseSRAM
- ld c, $a
+ ld c, 10
call SimpleDivide
ld a, b
ld [$cd4f], a
@@ -117040,10 +117034,10 @@ Function171ac9: ; 171ac9 (5c:5ac9)
; no known jump sources
Function171ad7: ; 171ad7 (5c:5ad7)
xor a
- ld hl, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct)
+ ld hl, $c608
ld bc, $66
call ByteFill
- ld de, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct)
+ ld de, $c608
ld a, $c
call Function3e32
jp Function171c66
@@ -117073,7 +117067,7 @@ Function171aec: ; 171aec (5c:5aec)
jr nz, .asm_171b01
hlcoord 2, 7
ld a, $3
- ld de, EnemyMoveAnimation ; $c608 (aliases: EnemyMoveStruct)
+ ld de, $c608
.asm_171b1b
push af
push hl
@@ -117675,7 +117669,7 @@ Function17d1f1: ; 17d1f1
dec a
ld bc, PartyMon2 - PartyMon1
call AddNTimes
- ld a, $2d
+ ld a, PREDEF_GET_UNOWN_LETTER
call Predef
callab Functionfba18
ld a, [$def4]
@@ -117855,7 +117849,7 @@ Function17d370: ; 17d370
callba Function104061
call DisableLCD
ld hl, $8ee0
- ld de, EnemyMoveAnimation
+ ld de, $c608
ld bc, $0010
call CopyBytes
ld a, $1
@@ -117868,7 +117862,7 @@ Function17d370: ; 17d370
ld hl, $97f0
ld bc, $0010
call ByteFill
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
ld de, $8ee0
ld bc, $0010
call CopyBytes
@@ -117931,7 +117925,7 @@ Function17d60b: ; 17d60b
ld a, $5
call GetSRAMBank
ld hl, $b1d3
- ld de, EnemyMoveAnimation
+ ld de, $c608
ld bc, $0020
call CopyBytes
ld a, [$b1b1]
@@ -117966,7 +117960,7 @@ Function17d60b: ; 17d60b
ld [$cd49], a
push hl
push de
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
ld e, b
ld d, $0
add hl, de
@@ -118210,7 +118204,7 @@ Function17f0f8: ; 17f0f8
ld a, [$cd55]
ld d, a
add hl, de
- ld de, EnemyMoveAnimation
+ ld de, $c608
ld a, [$cd56]
ld c, a
ld b, $0
@@ -118218,7 +118212,7 @@ Function17f0f8: ; 17f0f8
ld a, $50
ld [de], a
pop hl
- ld de, EnemyMoveAnimation
+ ld de, $c608
call PlaceString
ld a, c
ld [$cd52], a
@@ -118310,10 +118304,10 @@ Function17f181: ; 17f181
add hl, de
ld a, [hl]
ld c, a
- ld de, EnemyMoveAnimation
+ ld de, $c608
callba Function48c63
pop hl
- ld de, EnemyMoveAnimation
+ ld de, $c608
call PlaceString
ld a, c
ld [$cd52], a
@@ -118545,13 +118539,13 @@ Function17f2ff: ; 17f2ff
ld a, $1
ld [rSVBK], a
ld hl, PlayerName
- ld de, EnemyMoveAnimation
+ ld de, $c608
ld bc, $0006
call CopyBytes
ld a, $4
ld [rSVBK], a
pop hl
- ld de, EnemyMoveAnimation
+ ld de, $c608
call PlaceString
ld a, c
ld [$cd52], a
@@ -118592,10 +118586,10 @@ Function17f334: ; 17f334
.asm_17f35d
ld c, a
call CloseSRAM
- ld de, EnemyMoveAnimation
+ ld de, $c608
callba Function48c63
pop hl
- ld de, EnemyMoveAnimation
+ ld de, $c608
call PlaceString
ld a, c
ld [$cd52], a
@@ -118809,7 +118803,7 @@ Function17f44f: ; 17f44f
ld l, a
ld a, [$cd56]
ld h, a
- ld de, EnemyMoveAnimation
+ ld de, $c608
ld a, [$cd57]
ld c, a
ld b, $0
@@ -118827,7 +118821,7 @@ Function17f44f: ; 17f44f
call GetSRAMBank
.asm_17f4b7
- ld de, EnemyMoveAnimation
+ ld de, $c608
pop hl
push hl
ld a, [$cd57]
@@ -119457,7 +119451,7 @@ Function1dc381: ; 1dc381
ld a, [CurPartySpecies]
ld [$d265], a
ld [CurSpecies], a
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call Function1dc50e
hlcoord 8, 4
call PlaceString
@@ -119477,7 +119471,7 @@ Function1dc381: ; 1dc381
hlcoord 1, 9
ld de, String1dc550
call PlaceString
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
call Function1dc50e
hlcoord 4, 9
call PlaceString
diff --git a/wram.asm b/wram.asm
index eb572b201..77108fc6b 100644
--- a/wram.asm
+++ b/wram.asm
@@ -1,51 +1,72 @@
INCLUDE "includes.asm"
+flag_array: MACRO
+ ds ((\1) + 7) / 8
+ENDM
-party_struct: MACRO
-
-\1Species:: db
-\1Item:: db
-
-\1Moves:: ds NUM_MOVES
-
-\1ID:: dw
-\1Exp:: ds 3 ; Big endian
+box_struct_length EQU 32
+box_struct: MACRO
+\1Species:: db
+\1Item:: db
+\1Moves:: ds NUM_MOVES
+\1ID:: dw
+\1Exp:: ds 3
\1StatExp::
-\1HPExp:: dw
-\1AtkExp:: dw
-\1DefExp:: dw
-\1SpdExp:: dw
-\1SpclExp:: dw
-
-\1DVs::
-\1AtkDefDV:: db
-\1SpdSpcDV:: db
-
-\1PP:: ds NUM_MOVES
-
-\1Happiness:: db
-\1PokerusStatus:: db
-
+\1HPExp:: dw
+\1AtkExp:: dw
+\1DefExp:: dw
+\1SpdExp:: dw
+\1SpcExp:: dw
+\1DVs:: ds 2
+\1PP:: ds NUM_MOVES
+\1Happiness:: db
+\1PokerusStatus:: db
\1CaughtData::
\1CaughtTime::
\1CaughtLevel:: db
\1CaughtGender::
\1CaughtLocation:: db
+\1Level:: db
+\1End::
+ENDM
-\1Level:: db
-
-\1Status:: db
-\1Unused:: db
-
-; Stats are big endian.
-\1HP:: dw
-\1MaxHP:: dw
-\1Attack:: dw
-\1Defense:: dw
-\1Speed:: dw
-\1SpclAtk:: dw
-\1SpclDef:: dw
+party_struct: MACRO
+ box_struct \1
+\1Status:: db
+\1Unused:: db
+\1HP:: dw
+\1MaxHP:: dw
+\1Stats:: ; big endian
+\1Attack:: dw
+\1Defense:: dw
+\1Speed:: dw
+\1SpclAtk:: dw
+\1SpclDef:: dw
+\1StatsEnd::
+ENDM
+battle_struct: MACRO
+\1Species:: db
+\1Item:: db
+\1Moves:: ds NUM_MOVES
+\1MovesEnd::
+\1DVs:: ds 2
+\1PP:: ds NUM_MOVES
+\1Happiness:: db
+\1Level:: db
+\1Status:: ds 2
+\1HP:: dw
+\1MaxHP:: dw
+\1Stats:: ; big endian
+\1Attack:: dw
+\1Defense:: dw
+\1Speed:: dw
+\1SpclAtk:: dw
+\1SpclDef:: dw
+\1StatsEnd::
+\1Type::
+\1Type1:: db
+\1Type2:: db
ENDM
@@ -422,100 +443,24 @@ Sprites:: ; c400
; bit 4: pal # (non-cgb)
; bit 3: vram bank (cgb only)
; bit 2-0: pal # (cgb only)
- ds 160
+ ds 4 * 40
SpritesEnd::
TileMap:: ; c4a0
; 20x18 grid of 8x8 tiles
- ds 360
+ ds SCREEN_WIDTH * SCREEN_HEIGHT
TileMapEnd::
-SECTION "BattleMons",WRAM0[$c608]
-
-EnemyMoveStruct::
-EnemyMoveAnimation:: ; c608
- ds 1
-EnemyMoveEffect:: ; c609
- ds 1
-EnemyMovePower:: ; c60a
- ds 1
-EnemyMoveType:: ; c60b
- ds 1
-EnemyMoveAccuracy:: ; c60c
- ds 1
-EnemyMovePP:: ; c60d
- ds 1
-EnemyMoveEffectChance:: ; c60e
- ds 1
-
-PlayerMoveStruct::
-PlayerMoveAnimation:: ; c60f
- ds 1
-PlayerMoveEffect:: ; c610
- ds 1
-PlayerMovePower:: ; c611
- ds 1
-PlayerMoveType:: ; c612
- ds 1
-PlayerMoveAccuracy:: ; c613
- ds 1
-PlayerMovePP:: ; c614
- ds 1
-PlayerMoveEffectChance:: ; c615
- ds 1
-
-EnemyMonNick:: ; c616
- ds 11
-BattleMonNick:: ; c621
- ds 11
-
-BattleMonSpecies:: ; c62c
- ds 1
-BattleMonItem:: ; c62d
- ds 1
+wBattle::
-BattleMonMoves:: ; c62e
- ds NUM_MOVES
+wEnemyMoveStruct:: ds MOVE_LENGTH ; c608
+wPlayerMoveStruct:: ds MOVE_LENGTH ; c60f
-BattleMonDVs::
-BattleMonAtkDefDV:: ; c632
- ds 1
-BattleMonSpdSpclDV:: ; c633
- ds 1
-
-BattleMonPP:: ; c634
- ds NUM_MOVES
-
-BattleMonHappiness:: ; c638
- ds 1
-BattleMonLevel:: ; c639
- ds 1
-
-BattleMonStatus:: ; c63a
- ds 2
-
-BattleMonHP:: ; c63c
- ds 2
-BattleMonMaxHP:: ; c63e
- ds 2
-
-BattleMonAtk:: ; c640
- ds 2
-BattleMonDef:: ; c642
- ds 2
-BattleMonSpd:: ; c644
- ds 2
-BattleMonSpclAtk:: ; c646
- ds 2
-BattleMonSpclDef:: ; c648
- ds 2
-
-BattleMonType1:: ; c64a
- ds 1
-BattleMonType2:: ; c64b
- ds 1
+EnemyMonNick:: ds 11 ; c616
+BattleMonNick:: ds 11 ; c621
+BattleMon:: battle_struct BattleMon ; c62c
ds 10
OTName:: ; c656
@@ -812,7 +757,10 @@ EffectFailed:: ; c70d
FailedMessage:: ; c70e
ds 1
- ds 3
+ ds 1
+
+wPlayerIsSwitching:: ds 1 ; c710
+wEnemyIsSwitching:: ds 1 ; c711
PlayerUsedMoves:: ; c712
; add a move that has been used once by the player
@@ -826,11 +774,14 @@ LastPlayerMove:: ; c71b
LastEnemyMove:: ; c71c
ds 1
+ ds 23
-SECTION "battle",WRAM0[$c734]
BattleEnded:: ; c734
ds 1
+ ds 12
+wBattleEnd::
+; c741
SECTION "overworldmap",WRAM0[$c800]
OverworldMap:: ; c800
@@ -868,7 +819,7 @@ AttrMap:: ; cdd9
; read horizontally from the top row
; bit 3: vram bank
; bit 0-2: palette id
- ds 360
+ ds SCREEN_WIDTH * SCREEN_HEIGHT
ds 30
@@ -1071,7 +1022,6 @@ CurPartyMon:: ; d109
TempMon::
party_struct TempMon
-TempMonEnd:: ; d13e
ds 3
@@ -1214,7 +1164,7 @@ TilesetPalettes:: ; d1e6
ds 2
EvolvableFlags:: ; d1e8
- ds 1
+ flag_array PARTY_LENGTH
ds 1
@@ -1229,76 +1179,13 @@ SECTION "BattleMons2",WRAMX[$d1fa],BANK[1]
LinkBattleRNs:: ; d1fa
ds 10
-TempEnemyMonSpecies:: ; d204
- ds 1
-TempBattleMonSpecies:: ; d205
- ds 1
-
-EnemyMon::
-EnemyMonSpecies:: ; d206
- ds 1
-EnemyMonItem:: ; d207
- ds 1
-
-EnemyMonMoves:: ; d208
- ds NUM_MOVES
-EnemyMonMovesEnd::
-
-EnemyMonDVs::
-EnemyMonAtkDefDV:: ; d20c
- ds 1
-EnemyMonSpdSpclDV:: ; d20d
- ds 1
-
-EnemyMonPP:: ; d20e
- ds NUM_MOVES
-
-EnemyMonHappiness:: ; d212
- ds 1
-EnemyMonLevel:: ; d213
- ds 1
-
-EnemyMonStatus:: ; d214
- ds 2
-
-EnemyMonHP::
-EnemyMonHPHi:: ; d216
- ds 1
-EnemyMonHPLo:: ; d217
- ds 1
-
-EnemyMonMaxHP::
-EnemyMonMaxHPHi:: ; d218
- ds 1
-EnemyMonMaxHPLo:: ; d219
- ds 1
-
-EnemyMonStats::
-EnemyMonAtk:: ; d21a
- ds 2
-EnemyMonDef:: ; d21c
- ds 2
-EnemyMonSpd:: ; d21e
- ds 2
-EnemyMonSpclAtk:: ; d220
- ds 2
-EnemyMonSpclDef:: ; d222
- ds 2
-EnemyMonStatsEnd::
-
-EnemyMonType1:: ; d224
- ds 1
-EnemyMonType2:: ; d225
- ds 1
-
-EnemyMonBaseStats:: ; d226
- ds 5
-
-EnemyMonCatchRate:: ; d22b
- ds 1
-EnemyMonBaseExp:: ; d22c
- ds 1
+TempEnemyMonSpecies:: ds 1 ; d204
+TempBattleMonSpecies:: ds 1 ; d205
+EnemyMon:: battle_struct EnemyMon ; d206
+EnemyMonBaseStats:: ds 5 ; d226
+EnemyMonCatchRate:: db ; d22b
+EnemyMonBaseExp:: db ; d22c
EnemyMonEnd::
@@ -1402,57 +1289,23 @@ SECTION "TimeOfDay",WRAMX[$d269],BANK[1]
TimeOfDay:: ; d269
ds 1
+
SECTION "OTParty",WRAMX[$d280],BANK[1]
-OTPartyCount:: ; d280
- ds 1 ; number of Pokémon in party
-OTPartySpecies:: ; d281
- ds 6 ; species of each Pokémon in party
-; d287
- ds 1 ; any empty slots including the 7th must be FF
- ; or the routine will keep going
-
-OTPartyMon1:: ; d288
- party_struct OTPartyMon1
-OTPartyMon2:: ; d2b8
- party_struct OTPartyMon2
-OTPartyMon3:: ; d2e8
- party_struct OTPartyMon3
-OTPartyMon4:: ; d318
- party_struct OTPartyMon4
-OTPartyMon5:: ; d348
- party_struct OTPartyMon5
-OTPartyMon6:: ; d378
- party_struct OTPartyMon6
-
-
-OTPartyMonOT::
-OTPartyMon1OT:: ; d3a8
- ds 11
-OTPartyMon2OT:: ; d3b3
- ds 11
-OTPartyMon3OT:: ; d3be
- ds 11
-OTPartyMon4OT:: ; d3c9
- ds 11
-OTPartyMon5OT:: ; d3d4
- ds 11
-OTPartyMon6OT:: ; d3df
- ds 11
+OTPartyCount:: ds 1 ; d280
+OTPartySpecies:: ds 6 ; d281
+OTPartyEnd:: ds 1
+
+OTPartyMon1:: party_struct OTPartyMon1 ; d288
+OTPartyMon2:: party_struct OTPartyMon2 ; d2b8
+OTPartyMon3:: party_struct OTPartyMon3 ; d2e8
+OTPartyMon4:: party_struct OTPartyMon4 ; d318
+OTPartyMon5:: party_struct OTPartyMon5 ; d348
+OTPartyMon6:: party_struct OTPartyMon6 ; d378
+
+OTPartyMonOT:: ds 11 * 6 ; d3a8
+OTPartyMonNicknames:: ds 11 * 6 ; d3ea
-OTPartyMonNicknames::
-OTPartyMon1Nickname:: ; d3ea
- ds 11
-OTPartyMon2Nickname:: ; d3f5
- ds 11
-OTPartyMon3Nickname:: ; d400
- ds 11
-OTPartyMon4Nickname:: ; d40b
- ds 11
-OTPartyMon5Nickname:: ; d416
- ds 11
-OTPartyMon6Nickname:: ; d421
- ds 11
SECTION "Map Events", WRAMX[$d432], BANK[1]
MapStatus:: ; d432
@@ -1789,7 +1642,7 @@ EventFlags:: ; da72
;PoliceAtElmsLabEvent:: ; db52
;SalesmanMahoganyTownEvent:: ; db5c
;RedGyaradosEvent:: ; db5c
- ds 250
+ flag_array 2000
; db6c
SECTION "Boxes",WRAMX[$db72],BANK[1]
@@ -1800,35 +1653,7 @@ wCurBox:: ; db72
ds 2
; 8 chars + $50
-wBoxNames::
-Box1Name:: ; db75
- ds 9
-Box2Name:: ; db7e
- ds 9
-Box3Name:: ; db87
- ds 9
-Box4Name:: ; db90
- ds 9
-Box5Name:: ; db99
- ds 9
-Box6Name:: ; dba2
- ds 9
-Box7Name:: ; dbab
- ds 9
-Box8Name:: ; dbb4
- ds 9
-Box9Name:: ; dbbd
- ds 9
-Box10Name:: ; dbc6
- ds 9
-Box11Name:: ; dbcf
- ds 9
-Box12Name:: ; dbd8
- ds 9
-Box13Name:: ; dbe1
- ds 9
-Box14Name:: ; dbea
- ds 9
+wBoxNames:: ds 9 * NUM_BOXES ; db75
SECTION "bike", WRAMX[$dbf5],BANK[1]
BikeFlags:: ; dbf5
@@ -1867,7 +1692,7 @@ PoisonStepCount:: ; dc74
SECTION "Visited Spawn Points", WRAMX[$dca5],BANK[1]
VisitedSpawns:: ; dca5
- ds 4
+ flag_array 27
SECTION "BackupMapInfo", WRAMX[$dcad],BANK[1]
@@ -1901,155 +1726,87 @@ PartyEnd:: ; dcde
ds 1 ; legacy functions don't check PartyCount
PartyMons::
-PartyMon1:: ; dcdf
- party_struct PartyMon1
-PartyMon2:: ; dd0f
- party_struct PartyMon2
-PartyMon3:: ; dd3f
- party_struct PartyMon3
-PartyMon4:: ; dd6f
- party_struct PartyMon4
-PartyMon5:: ; dd9f
- party_struct PartyMon5
-PartyMon6:: ; ddcf
- party_struct PartyMon6
-
-PartyMonOT::
-PartyMon1OT:: ; ddff
- ds 11
-PartyMon2OT:: ; de0a
- ds 11
-PartyMon3OT:: ; de15
- ds 11
-PartyMon4OT:: ; de20
- ds 11
-PartyMon5OT:: ; de2b
- ds 11
-PartyMon6OT:: ; de36
- ds 11
+PartyMon1:: party_struct PartyMon1 ; dcdf
+PartyMon2:: party_struct PartyMon2 ; dd0f
+PartyMon3:: party_struct PartyMon3 ; dd3f
+PartyMon4:: party_struct PartyMon4 ; dd6f
+PartyMon5:: party_struct PartyMon5 ; dd9f
+PartyMon6:: party_struct PartyMon6 ; ddcf
-PartyMonNicknames::
-PartyMon1Nickname:: ; de41
- ds 11
-PartyMon2Nickname:: ; de4c
- ds 11
-PartyMon3Nickname:: ; de57
- ds 11
-PartyMon4Nickname:: ; de62
- ds 11
-PartyMon5Nickname:: ; de6d
- ds 11
-PartyMon6Nickname:: ; de78
- ds 11
+PartyMonOT:: ds 11 * 6 ; ddff
+
+PartyMonNicknames:: ds 11 * 6 ; de41
PartyMonNicknamesEnd::
-SECTION "Pokedex",WRAMX[$de99],BANK[1]
+
+SECTION "Pokedex", WRAMX[$de99], BANK[1]
+
PokedexCaught:: ; de99
- ds 32
+ flag_array 251
EndPokedexCaught::
+
PokedexSeen:: ; deb9
- ds 32
+ flag_array 251
EndPokedexSeen::
+
UnownDex:: ; ded9
ds 26
UnlockedUnowns:: ; def3
ds 1
-SECTION "Breeding",WRAMX[$def5],BANK[1]
-DaycareMan:: ; def5
+ ds 1
+
+wDaycareMan:: ; def5
; bit 7: active
; bit 6: monsters are compatible
; bit 5: egg ready
; bit 0: monster 1 in daycare
ds 1
-BreedMon1::
-BreedMon1Nick:: ; def6
- ds 11
-BreedMon1OT:: ; df01
- ds 11
-BreedMon1Stats::
-BreedMon1Species:: ; df0c
- ds 1
- ds 31
+wBreedMon1::
+wBreedMon1Nick:: ds PKMN_NAME_LENGTH ; def6
+wBreedMon1OT:: ds NAME_LENGTH ; df01
+wBreedMon1Stats:: box_struct wBreedMon1 ; df0c
-DaycareLady:: ; df2c
+wDaycareLady:: ; df2c
; bit 7: active
; bit 0: monster 2 in daycare
ds 1
-StepsToEgg:: ; df2d
+wStepsToEgg:: ; df2d
ds 1
-DittoInDaycare:: ; df2e
+wDittoInDaycare:: ; df2e
; z: yes
; nz: no
ds 1
-BreedMon2::
-BreedMon2Nick:: ; df2f
- ds 11
-BreedMon2OT:: ; df3a
- ds 11
-BreedMon2Stats::
-BreedMon2Species:: ; df45
- ds 1
- ds 31
+wBreedMon2::
+wBreedMon2Nick:: ds PKMN_NAME_LENGTH ; df2f
+wBreedMon2OT:: ds NAME_LENGTH ; df3a
+wBreedMon2Stats:: box_struct wBreedMon2 ; df45
-EggNick:: ; df65
-; EGG@
- ds 11
-EggOT:: ; df70
- ds 11
-EggMon::
-EggSpecies:: ; df7b
- ds 1
- ds 31
+wEggNick:: ds PKMN_NAME_LENGTH ; df65
+wEggOT:: ds NAME_LENGTH ; df70
+wEggMon:: box_struct wEggMon ; df7b
ds 1
-wContestMon:: ; df9c
- party_struct wContestMon
+wContestMon:: party_struct wContestMon ; df9c
ds 3
-RoamMon1Species:: ; dfcf
- ds 1
-RoamMon1Level:: ; dfd0
- ds 1
-RoamMon1MapGroup:: ; dfd1
- ds 1
-RoamMon1MapNumber:: ; dfd2
- ds 1
-RoamMon1HP:: ; dfd3
- ds 1
-RoamMon1DVs:: ; dfd4
- ds 2
-
-RoamMon2Species:: ; dfd6
- ds 1
-RoamMon2Level:: ; dfd7
- ds 1
-RoamMon2MapGroup:: ; dfd8
- ds 1
-RoamMon2MapNumber:: ; dfd9
- ds 1
-RoamMon2HP:: ; dfda
- ds 1
-RoamMon2DVs:: ; dfdb
- ds 2
+roam_struct: MACRO
+\1Species:: db
+\1Level:: db
+\1MapGroup:: db
+\1MapNumber:: db
+\1HP:: ds 1
+\1DVs:: ds 2
+ENDM
-RoamMon3Species:: ; dfdd
- ds 1
-RoamMon3Level:: ; dfde
- ds 1
-RoamMon3MapGroup:: ; dfdf
- ds 1
-RoamMon3MapNumber:: ; dfe0
- ds 1
-RoamMon3HP:: ; dfe1
- ds 1
-RoamMon3DVs:: ; dfe2
- ds 2
+wRoamMon1:: roam_struct wRoamMon1 ; dfcf
+wRoamMon2:: roam_struct wRoamMon2 ; dfd6
+wRoamMon3:: roam_struct wRoamMon3 ; dfdd
@@ -2107,175 +1864,24 @@ BattleAnimTemps:: ; d419
ds 8
-SECTION "SRAMBank1",SRAM,BANK[1]
+SECTION "Scratch", SRAM, BANK[0]
-SECTION "BoxMons",SRAM[$ad10],BANK[1]
-BoxCount:: ; ad10
- ds 1
-BoxSpecies:: ; ad11
- ds 20
- ds 1
-BoxMons::
-BoxMon1::
-BoxMon1Species:: ; ad26
- ds 1
-BoxMon1Item:: ; ad27
- ds 1
-BoxMon1Moves:: ; ad28
- ds 4
-BoxMon1ID:: ; ad2c
- ds 2
-BoxMon1Exp:: ; ad2e
- ds 3
-BoxMon1HPExp:: ; ad31
- ds 2
-BoxMon1AtkExp:: ; ad33
- ds 2
-BoxMon1DefExp:: ; ad35
- ds 2
-BoxMon1SpdExp:: ; ad37
- ds 2
-BoxMon1SpcExp:: ; ad39
- ds 2
-BoxMon1DVs:: ; ad3b
- ds 2
-BoxMon1PP:: ; ad3d
- ds 4
-BoxMon1Happiness:: ; ad41
- ds 1
-BoxMon1PokerusStatus:: ; ad42
- ds 1
-BoxMon1CaughtData::
-BoxMon1CaughtTime::
-BoxMon1CaughtLevel:: ; ad43
- ds 1
-BoxMon1CaughtGender::
-BoxMon1CaughtLocation:: ; ad44
- ds 1
-BoxMon1Level:: ; ad45
- ds 1
-BoxMon2:: ; ad46
- ds 32
-BoxMon3:: ; ad66
- ds 32
-BoxMon4:: ; ad86
- ds 32
-BoxMon5:: ; ada6
- ds 32
-BoxMon6:: ; adc6
- ds 32
-BoxMon7:: ; ade6
- ds 32
-BoxMon8:: ; ae06
- ds 32
-BoxMon9:: ; ae26
- ds 32
-BoxMon10:: ; ae46
- ds 32
-BoxMon11:: ; ae66
- ds 32
-BoxMon12:: ; ae86
- ds 32
-BoxMon13:: ; aea6
- ds 32
-BoxMon14:: ; aec6
- ds 32
-BoxMon15:: ; aee6
- ds 32
-BoxMon16:: ; af06
- ds 32
-BoxMon17:: ; af26
- ds 32
-BoxMon18:: ; af46
- ds 32
-BoxMon19:: ; af66
- ds 32
-BoxMon20:: ; af86
- ds 32
+SECTION "SRAM Bank 1", SRAM, BANK[1]
-BoxMonOT::
-BoxMon1OT:: ; afa6
- ds 11
-BoxMon2OT:: ; afb1
- ds 11
-BoxMon3OT:: ; afbc
- ds 11
-BoxMon4OT:: ; afc7
- ds 11
-BoxMon5OT:: ; afd2
- ds 11
-BoxMon6OT:: ; afdd
- ds 11
-BoxMon7OT:: ; afe8
- ds 11
-BoxMon8OT:: ; aff3
- ds 11
-BoxMon9OT:: ; affe
- ds 11
-BoxMon10OT:: ; b009
- ds 11
-BoxMon11OT:: ; b014
- ds 11
-BoxMon12OT:: ; b01f
- ds 11
-BoxMon13OT:: ; b02a
- ds 11
-BoxMon14OT:: ; b035
- ds 11
-BoxMon15OT:: ; b040
- ds 11
-BoxMon16OT:: ; b04b
- ds 11
-BoxMon17OT:: ; b056
- ds 11
-BoxMon18OT:: ; b061
- ds 11
-BoxMon19OT:: ; b06c
- ds 11
-BoxMon20OT:: ; b077
- ds 11
+SECTION "BoxMons", SRAM[$ad10], BANK[1]
-BoxMonNicknames::
-BoxMon1Nickname:: ; b082
- ds 11
-BoxMon2Nickname:: ; b08d
- ds 11
-BoxMon3Nickname:: ; b098
- ds 11
-BoxMon4Nickname:: ; b0a3
- ds 11
-BoxMon5Nickname:: ; b0ae
- ds 11
-BoxMon6Nickname:: ; b0b9
- ds 11
-BoxMon7Nickname:: ; b0c4
- ds 11
-BoxMon8Nickname:: ; b0cf
- ds 11
-BoxMon9Nickname:: ; b0da
- ds 11
-BoxMon10Nickname:: ; b0e5
- ds 11
-BoxMon11Nickname:: ; b0f0
- ds 11
-BoxMon12Nickname:: ; b0fb
- ds 11
-BoxMon13Nickname:: ; b106
- ds 11
-BoxMon14Nickname:: ; b111
- ds 11
-BoxMon15Nickname:: ; b11c
- ds 11
-BoxMon16Nickname:: ; b127
- ds 11
-BoxMon17Nickname:: ; b132
- ds 11
-BoxMon18Nickname:: ; b13d
- ds 11
-BoxMon19Nickname:: ; b148
- ds 11
-BoxMon20Nickname:: ; b153
- ds 11
-BoxMonNicknamesEnd::
+sBoxCount:: ds 1 ; ad10
+sBoxSpecies:: ds MONS_PER_BOX ; ad11
+ ds 1
+
+sBoxMons:: ; ad26
+sBoxMon1:: box_struct sBoxMon1
+sBoxMon2::
+ ds box_struct_length * (MONS_PER_BOX +- 1)
+
+sBoxMonOT:: ds 11 * 20 ; afa6
+sBoxMonNicknames:: ds 11 * 20 ; b082
+sBoxMonNicknamesEnd::
+; b15e