summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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