ref: 023cfdbb051ea5184ebc7fa329db3ca43f1ca23e
parent: 23f9b5d21e93f1b3c8de5e4ecf72da89265ccea8
author: yenatch <[email protected]>
date: Thu Jun 12 14:32:42 EDT 2014
Consolidate monster structs in wram and sram. The PartyMon struct is really the box struct with volatile variables like status added. Some other labels have been reworked. Move structs no longer have explicit labels since their location is arbitrary and usually shared.
--- a/battle/ai/scoring.asm
+++ b/battle/ai/scoring.asm
@@ -16,7 +16,7 @@
inc de
call AIGetEnemyMove
- ld a, [EnemyMoveEffect]
+ ld a, [wEnemyMoveStruct + MOVE_EFFECT]
ld c, a
push hl
@@ -28,7 +28,7 @@
pop hl
jr nz, .discourage
- ld a, [EnemyMoveEffect]
+ ld a, [wEnemyMoveStruct + MOVE_EFFECT]
push hl
push de
push bc
@@ -82,7 +82,7 @@
inc de
call AIGetEnemyMove
- ld a, [EnemyMoveEffect]
+ ld a, [wEnemyMoveStruct + MOVE_EFFECT]
cp EFFECT_ATTACK_UP
jr c, .checkmove
@@ -119,7 +119,7 @@
jr nz, .discourage
.encourage
- call Function_0x39527
+ call Function39527
jr c, .checkmove
dec [hl]
@@ -173,7 +173,7 @@
jr c, .noteffective
; effective
- ld a, [EnemyMovePower]
+ ld a, [wEnemyMoveStruct + MOVE_POWER]
and a
jr z, .checkmove
dec [hl]
@@ -185,7 +185,7 @@
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 @@
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 @@
inc de
call AIGetEnemyMove
- ld a, [EnemyMovePower]
+ ld a, [wEnemyMoveStruct + MOVE_POWER]
and a
jr nz, .checkmove
@@ -275,7 +275,7 @@
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 @@
ret nc
.asm_387f0
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
dec [hl]
@@ -421,7 +421,7 @@
call AICheckEnemyMaxHP
ret c
- call Function_0x39521
+ call Function39521
ret c
dec [hl]
@@ -484,8 +484,8 @@
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 @@
.asm_3887a
pop hl
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
@@ -538,8 +538,8 @@
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 @@
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,31 +619,24 @@
.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]
@@ -653,11 +643,11 @@
.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 @@
jr nz, .asm_388ef
ld a, [PlayerSubStatus1]
- bit 6, a
+ bit SUBSTATUS_ENCORED, a
jr nz, .asm_388ef
@@ -688,7 +678,7 @@
ret
.asm_38941
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
@@ -706,7 +696,7 @@
ret c
.asm_38954
- call Function_0x39521
+ call Function39521
ret c
dec [hl]
@@ -721,30 +711,29 @@
jr nz, .asm_38968
call AICompareSpeed
-
ret nc
+
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_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,31 +761,23 @@
.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]
@@ -807,11 +784,11 @@
.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 @@
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 @@
ret
.asm_389ef
- call Function_0x39527
-
+ call Function39527
ret c
+
dec [hl]
ret
; 389f5
@@ -862,7 +838,6 @@
jr c, .asm_38a12
jr .asm_389fb
-
.asm_38a05
ld hl, PlayerAtkLevel
ld c, $8
@@ -984,7 +959,7 @@
jr z, .asm_38a91
.asm_38a8b
- call Function_0x39527
+ call Function39527
ret c
inc [hl]
ret
@@ -992,7 +967,7 @@
.asm_38a91
call AICheckEnemyQuarterHP
ret nc
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
dec [hl]
@@ -1022,7 +997,7 @@
call AIGetEnemyMove
- ld a, [EnemyMoveEffect]
+ ld a, [wEnemyMoveStruct + MOVE_EFFECT]
cp EFFECT_PROTECT
jr z, .asm_38ad5
dec c
@@ -1081,14 +1056,14 @@
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,7 +1103,7 @@
ret c
call AICheckEnemyQuarterHP
ret nc
- call Function_0x39521
+ call Function39521
ret c
dec [hl]
dec [hl]
@@ -1135,7 +1110,7 @@
ret
.asm_38b3a
- call Function_0x39527
+ call Function39527
ret c
inc [hl]
ret
@@ -1143,7 +1118,7 @@
AIScoring_SpeedDownHit: ; 38b40
- ld a, [EnemyMoveAnimation]
+ ld a, [wEnemyMoveStruct + MOVE_ANIM]
cp ICY_WIND
ret nz
call AICheckEnemyQuarterHP
@@ -1174,7 +1149,7 @@
jr c, .asm_38b72
call AICheckEnemyQuarterHP
ret c
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
ret
@@ -1184,7 +1159,7 @@
cp 40
ret c
inc [hl]
- call Function_0x39527
+ call Function39527
ret c
inc [hl]
ret
@@ -1196,7 +1171,7 @@
bit 6, a
jr z, .asm_38b9b
- call Function_0x39527
+ call Function39527
jr c, .asm_38b8c
dec [hl]
@@ -1216,7 +1191,7 @@
call AICheckEnemyHalfHP
jr nc, .asm_38ba6
- call Function_0x39521
+ call Function39521
ret nc
dec [hl]
ret
@@ -1249,7 +1224,7 @@
jr c, .asm_38bef
jr z, .asm_38bd4
- call Function_0x39527
+ call Function39527
jr c, .asm_38bd4
dec [hl]
@@ -1263,7 +1238,7 @@
pop hl
ret nc
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
ret
@@ -1291,12 +1266,12 @@
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 @@
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 @@
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_PainSplit: ; 38ca4
push hl
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld b, [hl]
inc hl
ld c, [hl]
@@ -1490,7 +1465,7 @@
call AICompareSpeed
jp c, AIDiscourageMove
- call Function_0x39527
+ call Function39527
ret c
inc [hl]
ret
@@ -1596,7 +1571,7 @@
.asm_38d48
and $27
ret z
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
@@ -1664,7 +1639,7 @@
ld a, BANK(Moves)
call GetFarByte
- ld [PlayerMoveType], a
+ ld [wPlayerMoveStruct + MOVE_TYPE], a
xor a
ld [hBattleTurn], a
@@ -1677,7 +1652,7 @@
jr c, .asm_38dc9
ret z
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
@@ -1713,7 +1688,7 @@
ret
.asm_38dee
- ld a, [EnemyMovePower]
+ ld a, [wEnemyMoveStruct + MOVE_POWER]
and a
ret nz
@@ -1755,7 +1730,7 @@
ret
.asm_38e26
- call Function_0x39521
+ call Function39521
ret c
dec [hl]
dec [hl]
@@ -1792,7 +1767,7 @@
AIScoring_Nightmare: ; 38e4a
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
ret
@@ -1832,12 +1807,12 @@
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 @@
ret nz
.asm_38ecb
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
@@ -1936,7 +1911,7 @@
jr c, .asm_38f14
.asm_38f0d
- call Function_0x39521
+ call Function39521
ret c
dec [hl]
ret
@@ -2002,7 +1977,7 @@
pop hl
ret c
- call Function_0x39527
+ call Function39527
ret c
inc [hl]
@@ -2009,7 +1984,7 @@
ret
.asm_38f6f
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
@@ -2043,7 +2018,7 @@
call AICheckPlayerHalfHP
jr nc, .asm_38fa6
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
@@ -2079,7 +2054,7 @@
call AIHasMove
jr nc, .asm_38fcb
- call Function_0x39521
+ call Function39521
ret c
dec [hl]
@@ -2091,7 +2066,7 @@
ld a, [EnemySubStatus5]
bit SUBSTATUS_LOCK_ON, a
ret z
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
@@ -2161,7 +2136,7 @@
ret
.asm_39020
- call Function_0x39521
+ call Function39521
ret c
inc [hl]
ret
@@ -2174,7 +2149,7 @@
and a
jr z, .asm_39032
- call Function_0x39521
+ call Function39521
ret c
inc [hl]
ret
@@ -2191,7 +2166,7 @@
AIScoring_Safeguard: ; 3903a
call AICheckPlayerHalfHP
ret c
- call Function_0x39521
+ call Function39521
ret c
inc [hl]
ret
@@ -2217,7 +2192,7 @@
.asm_39058
call AICompareSpeed
ret c
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
ret
@@ -2239,13 +2214,13 @@
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 @@
ret z
.asm_39097
- call Function_0x39521
+ call Function39521
ret c
dec [hl]
@@ -2372,7 +2347,7 @@
call AICheckPlayerHalfHP
jr nc, AIBadWeatherType
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
@@ -2476,7 +2451,7 @@
ld a, [EnemyEvaLevel]
cp $8
ret nc
- call Function_0x39521
+ call Function39521
ret c
dec [hl]
@@ -2502,12 +2477,12 @@
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 @@
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 @@
.asm_391e9
call AICompareSpeed
ret c
- call Function_0x39527
+ call Function39527
ret c
dec [hl]
ret
@@ -2600,7 +2575,7 @@
and a
ret z
- call Function_0x39521
+ call Function39521
ret c
dec [hl]
@@ -2625,7 +2600,7 @@
ret
.asm_3921e
- call Function_0x39521
+ call Function39521
ret c
dec [hl]
@@ -2650,13 +2625,13 @@
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 @@
push hl
push de
push bc
- ld de, EnemyMonHPHi
- ld hl, EnemyMonMaxHPHi
+ ld de, EnemyMonHP
+ ld hl, EnemyMonMaxHP
; fallthrough
; 3925a
@@ -2733,7 +2708,7 @@
push hl
push de
push bc
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld b, [hl]
inc hl
ld c, [hl]
@@ -2756,7 +2731,7 @@
push hl
push de
push bc
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld b, [hl]
inc hl
ld c, [hl]
@@ -2811,7 +2786,7 @@
call AIGetEnemyMove
- ld a, [EnemyMoveEffect]
+ ld a, [wEnemyMoveStruct + MOVE_EFFECT]
cp b
jr z, .asm_392e3
@@ -2898,7 +2873,7 @@
call AICheckEnemyQuarterHP
jr nc, .asm_39322
- call Function_0x39527
+ call Function39527
ret c
.asm_39322
@@ -2992,7 +2967,7 @@
push de
push bc
call AIGetEnemyMove
- ld a, [EnemyMovePower]
+ ld a, [wEnemyMoveStruct + MOVE_POWER]
and a
jr z, .nodamage
call AIDamageCalc
@@ -3043,7 +3018,7 @@
call AIGetEnemyMove
- ld a, [EnemyMovePower]
+ ld a, [wEnemyMoveStruct + MOVE_POWER]
cp 2
jr c, .checkmove2
@@ -3050,7 +3025,7 @@
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 @@
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 @@
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 @@
cp EFFECT_PARALYZE
jr z, .typeimmunity
- ld a, [EnemyMovePower]
+ ld a, [wEnemyMoveStruct + MOVE_POWER]
and a
jr z, .checkmove
@@ -3242,12 +3217,12 @@
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 @@
ld bc, MOVE_LENGTH
call AddNTimes
- ld de, EnemyMoveStruct
+ ld de, wEnemyMoveStruct
ld a, BANK(Moves)
call FarCopyBytes
@@ -3328,7 +3303,7 @@
; 39521
-Function_0x39521: ; 39521
+Function39521: ; 39521
call Random
cp 50 ; 1/5
ret
@@ -3335,7 +3310,7 @@
; 39527
-Function_0x39527: ; 39527
+Function39527: ; 39527
call Random
cp $80 ; 1/2
ret
--- a/battle/core.asm
+++ b/battle/core.asm
@@ -12,8 +12,8 @@
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 @@
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 @@
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 @@
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 @@
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 @@
and a
jr z, Function3c710
Function3c70b: ; 3c70b
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
jr Function3c713
Function3c710: ; 3c710
@@ -1176,7 +1176,7 @@
ld a, [hBattleTurn]
and a
jr z, .asm_3c7f4
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
.asm_3c7f4
ld a, [hli]
@@ -1243,7 +1243,7 @@
ret
.asm_3c85c
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
xor a
ld [hli], a
ld [hl], a
@@ -1352,7 +1352,7 @@
ld a, [hBattleTurn]
and a
jr z, .asm_3c922
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
.asm_3c922
ld a, [hli]
@@ -2423,7 +2423,7 @@
call SetEnemyTurn
call SpikesDamage
xor a
- ld [EnemyMoveAnimation], a
+ ld [wEnemyMoveStruct + MOVE_ANIM], a
ld [$d0ec], a
inc a
ret
@@ -2732,7 +2732,7 @@
Function3d14e: ; 3d14e
call Function3cef1
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld a, [hli]
or [hl]
call z, Function3cf14
@@ -2743,7 +2743,7 @@
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 @@
cp $1
jr z, .asm_3d20a
ld hl, PartyMon1Speed
- ld de, EnemyMonSpd
+ ld de, EnemyMonSpeed
jp Function3d8b3
; 3d227
@@ -2862,7 +2862,7 @@
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 @@
ld [$c6fc], a
ld [$d0ec], a
inc a
- ld [$c711], a
+ ld [wEnemyIsSwitching], a
call Function309d
jp Function3e3ad
; 3d517
@@ -3309,8 +3309,8 @@
.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 @@
and a
jr z, .asm_3d541
ld a, [$d430]
- sub $4
+ sub NUM_MOVES
ld b, a
jr .asm_3d555
@@ -3435,10 +3435,10 @@
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,7 +3475,7 @@
ld a, BANK(BaseData)
call FarCopyBytes
ld a, [BattleMonType1]
- ld [PlayerMoveType], a
+ ld [wPlayerMoveStruct + MOVE_TYPE], a
call SetPlayerTurn
callab Function347c8
ld a, [$d265]
@@ -3482,7 +3482,7 @@
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 @@
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 @@
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 @@
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 @@
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 @@
; 3da85
Function3da85: ; 3da85
- ld hl, BattleMonAtkDefDV
+ ld hl, BattleMonDVs
ld a, [PlayerSubStatus5]
bit 3, a
ret z
@@ -4084,7 +4084,7 @@
; 3da97
Function3da97: ; 3da97
- ld hl, EnemyMonAtkDefDV
+ ld hl, EnemyMonDVs
ld a, [EnemySubStatus5]
bit 3, a
ret z
@@ -4092,7 +4092,7 @@
ld a, [IsInBattle]
dec a
ret z
- ld hl, OTPartyMon1AtkDefDV
+ ld hl, OTPartyMon1DVs
ld a, [CurOTMon]
jp GetPartyLocation
; 3dab1
@@ -4114,31 +4114,31 @@
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 @@
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 @@
call Function3db5f
call EmptyBattleTextBox
call Function309d
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld a, [hli]
or [hl]
ret
@@ -4185,12 +4185,12 @@
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 @@
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 @@
call Function3ee17
.asm_3dbbc
- ld a, $0
+ ld a, PartyMon1Species - PartyMon1
call GetPartyParamLocation
ld b, h
ld c, l
@@ -4281,13 +4281,13 @@
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
@@ -4294,7 +4294,7 @@
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 @@
; 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,19 +4339,22 @@
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
@@ -4356,6 +4361,7 @@
ld a, [hli]
or [hl]
jr nz, .asm_3dce4
+
ld a, $f0
ld [CryTracks], a
ld a, [BattleMonSpecies]
@@ -4371,10 +4377,11 @@
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 @@
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 @@
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 @@
call PrintLevel
.asm_3e0be
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld a, [hli]
ld [$ffb5], a
ld a, [hld]
@@ -5008,7 +5015,7 @@
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 @@
; 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 @@
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 @@
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 @@
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 @@
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 @@
Function3e7c1: ; 3e7c1
- ld a, [$c711]
+ ld a, [wEnemyIsSwitching]
and a
ret nz
ld a, [InLinkBattle]
@@ -6013,16 +6020,17 @@
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,7 +6121,7 @@
ld [$c733], a
.asm_3e894
- ld a, [EnemyMoveEffect]
+ ld a, [wEnemyMoveStruct + MOVE_EFFECT]
cp EFFECT_FURY_CUTTER
jr z, .asm_3e89f
xor a
@@ -6120,7 +6128,7 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
or c
ld b, a
- ld hl, BattleMonAtk
+ ld hl, BattleMonAttack
ld c, 4
.CheckBadge
ld a, b
@@ -7432,7 +7440,7 @@
ld a, [$ffb5]
ld [StringBuffer2], a
ld a, [CurPartyMon]
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call GetNick
ld hl, UnknownText_0x3f11b
call BattleTextBox
@@ -7960,7 +7968,7 @@
jr nz, .asm_3f2ce
.asm_3f27c
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld a, [hli]
or [hl]
ld hl, UnknownText_0x3f2d1
@@ -7967,7 +7975,7 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
and $f
jr z, .asm_3f9af
call GetRoamMonHP
- ld a, [EnemyMonHPLo]
+ ld a, [EnemyMonHP + 1]
ld [hl], a
jr .asm_3f9ca
@@ -9003,15 +9011,15 @@
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
@@ -9018,59 +9026,59 @@
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
--- a/battle/effect_commands.asm
+++ b/battle/effect_commands.asm
@@ -2395,12 +2395,12 @@
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 @@
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 @@
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 @@
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 @@
; 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 @@
call ResetDamage
- ld hl, PlayerMovePower
+ ld hl, wPlayerMoveStruct + MOVE_POWER
ld a, [hli]
and a
ld d, a
@@ -3450,7 +3450,7 @@
; Physical
- ld hl, EnemyMonDef
+ ld hl, EnemyMonDefense
ld a, [hli]
ld b, a
ld c, [hl]
@@ -3463,7 +3463,7 @@
rl b
.physicalcrit
- ld hl, BattleMonAtk
+ ld hl, BattleMonAttack
call GetDamageStatsCritical
jr c, .thickclub
@@ -3586,7 +3586,7 @@
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 @@
jr .end
.enemy
- ld a, [EnemyMoveType]
+ ld a, [wEnemyMoveStruct + MOVE_TYPE]
cp SPECIAL
; special
ld a, [EnemySAtkLevel]
@@ -3699,8 +3699,8 @@
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 @@
; Physical
- ld hl, BattleMonDef
+ ld hl, BattleMonDefense
ld a, [hli]
ld b, a
ld c, [hl]
@@ -3724,7 +3724,7 @@
rl b
.physicalcrit
- ld hl, EnemyMonAtk
+ ld hl, EnemyMonAttack
call GetDamageStatsCritical
jr c, .thickclub
@@ -3804,7 +3804,7 @@
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 @@
ld a, [hl]
ld e, a
pop bc
- ld a, [PlayerMovePower]
+ ld a, [wPlayerMoveStruct + MOVE_POWER]
ld d, a
ret
@@ -3893,7 +3893,7 @@
.asm_35532
ld a, [DefaultFlypoint]
- ld hl, OTPartyMon1Nickname
+ ld hl, OTPartyMonNicknames
ld bc, $000b
call AddNTimes
ld de, StringBuffer1
@@ -3952,7 +3952,7 @@
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 @@
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 @@
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 @@
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,7 +4433,7 @@
ld a, [hl]
jr nz, .asm_357f8
- ld hl, PlayerMovePower
+ ld hl, wPlayerMoveStruct + MOVE_POWER
ld [hl], a
push hl
call PlayerAttackDamage
@@ -4440,7 +4440,7 @@
jr .asm_35800
.asm_357f8
- ld hl, EnemyMovePower
+ ld hl, wEnemyMoveStruct + MOVE_POWER
ld [hl], a
push hl
call EnemyAttackDamage
@@ -4600,7 +4600,7 @@
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 @@
ld a, b
ld [CurEnemyMove], a
dec a
- ld de, EnemyMoveStruct
+ ld de, wEnemyMoveStruct
call GetMoveData
.asm_3591a
call AnimateCurrentMove
@@ -4654,7 +4654,7 @@
jp nz, Function359cd
call AnimateCurrentMove
ld hl, $c63f
- ld de, EnemyMonMaxHPLo
+ ld de, EnemyMonMaxHP + 1
call .asm_3597d
ld a, $1
ld [$d10a], a
@@ -4661,7 +4661,7 @@
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 @@
BattleCommand4b: ; 35c94
; falseswipe
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld a, [hBattleTurn]
and a
jr z, .asm_35c9f ; 35c9a $3
@@ -5362,7 +5362,7 @@
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 @@
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 @@
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 @@
Function365d7: ; 365d7
ld hl, PlayerAtkLevel
ld de, PlayerStats
- ld bc, BattleMonAtk
+ ld bc, BattleMonAttack
ld a, $5
call Function3661d
@@ -6863,7 +6863,7 @@
Function365fd: ; 365fd
ld hl, EnemyAtkLevel
ld de, EnemyStats
- ld bc, EnemyMonAtk
+ ld bc, EnemyMonAttack
ld a, $5
call Function3661d
@@ -7040,8 +7040,8 @@
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 @@
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 @@
inc a
ld [$d232], a
call Function36804
- ld a, [EnemyMoveAnimation]
+ ld a, [wEnemyMoveStruct + MOVE_ANIM]
jr .asm_36975
.asm_36908
@@ -7687,7 +7687,7 @@
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 @@
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 @@
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 @@
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
--- 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 @@
; boxes
-NUM_BOXES EQU 14
+MONS_PER_BOX EQU 20
+NUM_BOXES EQU 14
; predefs
--- a/data/odd_eggs.asm
+++ b/data/odd_eggs.asm
@@ -35,7 +35,7 @@
ld hl, OddEggs
ld a, OddEgg2 - OddEgg1
call AddNTimes
- ld de, EnemyMoveAnimation
+ ld de, $c608
ld bc, $0046
call CopyBytes
ld a, EGG_TICKET
--- 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
--- a/engine/scripting.asm
+++ b/engine/scripting.asm
@@ -2659,7 +2659,7 @@
ld [CurPartySpecies], a
call GetScriptByte
ld [CurPartyLevel], a
- callba Functiondf8c
+ callba GiveEgg
ret nc
ld a, $2
ld [ScriptVar], a
--- a/event/name_rater.asm
+++ b/event/name_rater.asm
@@ -34,7 +34,7 @@
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 @@
; 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 @@
; fb7d3
Functionfb7d3: ; fb7d3
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld bc, $000b
ld a, [CurPartyMon]
call AddNTimes
--- a/event/poke_seer.asm
+++ b/event/poke_seer.asm
@@ -139,7 +139,7 @@
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 @@
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
--- a/home/battle.asm
+++ b/home/battle.asm
@@ -250,10 +250,10 @@
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
--- a/home/map.asm
+++ b/home/map.asm
@@ -120,7 +120,7 @@
ld e, a
ld a, [$d195]
ld d, a
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
ld b, $5
.asm_21a5
--- a/items/item_effects.asm
+++ b/items/item_effects.asm
@@ -274,7 +274,7 @@
ld a, b
ld [$ffb6], a
- ld hl, EnemyMonHPHi
+ ld hl, EnemyMonHP
ld b, [hl]
inc hl
ld c, [hl]
@@ -449,9 +449,9 @@
.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 @@
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 @@
; 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 @@
ld [CurPartyLevel], a
call GetBaseData
ld a, [CurPartyMon]
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call GetNick
ret
; 0xef14
--- a/main.asm
+++ b/main.asm
@@ -3891,7 +3891,7 @@
ld a, 1
call GetSRAMBank
- ld hl, BoxCount
+ ld hl, sBoxCount
call Function5ca1
call CloseSRAM
@@ -3908,16 +3908,16 @@
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 @@
; 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 @@
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 @@
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 @@
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 @@
DaycareStep:: ; 7282
- ld a, [DaycareMan]
+ ld a, [wDaycareMan]
bit 0, a
jr z, .asm_72a4
@@ -6536,7 +6532,7 @@
ld [hl], a
.asm_72a4
- ld a, [DaycareLady]
+ ld a, [wDaycareLady]
bit 0, a
jr z, .asm_72c6
@@ -6558,10 +6554,10 @@
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 @@
call Random
cp b
ret nc
- ld hl, DaycareMan
+ ld hl, wDaycareMan
res 5, [hl]
set 6, [hl]
ret
@@ -6635,7 +6631,7 @@
; Nickname.
ld a, [PartyCount]
dec a
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call SkipNames
ld de, SpecialShuckleNick
call CopyName2
@@ -6643,7 +6639,7 @@
; OT.
ld a, [PartyCount]
dec a
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
call SkipNames
ld de, SpecialShuckleOT
call CopyName2
@@ -6691,7 +6687,7 @@
; OT
ld a, [CurPartyMon]
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
call SkipNames
ld de, SpecialShuckleOT
.CheckOT
@@ -7767,7 +7763,7 @@
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 @@
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 @@
.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 @@
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 @@
ld d, h
ld e, l
ld hl, PlayerName
- ld bc, $000b
+ ld bc, NAME_LENGTH
call CopyBytes
ld a, [MonType]
and a
@@ -12358,7 +12354,7 @@
ld a, [CurPartySpecies]
ld [$d265], a
call GetPokemonName
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld a, [$ffae]
dec a
call SkipNames
@@ -12365,7 +12361,7 @@
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 @@
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 @@
ld a, [IsInBattle]
dec a
jr nz, .asm_da3b
- ld hl, EnemyMonMaxHPHi
+ ld hl, EnemyMonMaxHP
ld bc, $000c
call CopyBytes
pop hl
@@ -12609,7 +12605,7 @@
and $f
jr nz, .asm_da6b
ld a, [CurPartySpecies]
- cp $c9
+ cp UNOWN
jr nz, .asm_da6b
ld hl, PartyMon1DVs
ld a, [PartyCount]
@@ -12616,7 +12612,7 @@
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 @@
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 @@
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 @@
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,11 +12743,11 @@
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
@@ -12757,7 +12754,7 @@
.asm_db60
ld hl, PartyCount
ld a, [hl]
- cp $6
+ cp PARTY_LENGTH
jp z, Functiondcb1
.asm_db69
@@ -12764,11 +12761,11 @@
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 @@
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 @@
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 @@
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,14 +12826,14 @@
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]
@@ -12843,18 +12840,18 @@
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,14 +12860,14 @@
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]
@@ -12877,7 +12874,7 @@
call SkipNames
.asm_dc39
- ld bc, $000b
+ ld bc, PKMN_NAME_LENGTH
call CopyBytes
pop hl
ld a, [$d10b]
@@ -12922,7 +12919,7 @@
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 @@
jr .asm_dcac
.asm_dca4
- ld a, [BoxCount]
+ ld a, [sBoxCount]
dec a
ld b, a
call Functiondcb6
@@ -12962,12 +12959,12 @@
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 @@
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 @@
Functiondd21: ; dd21
- ld a, [BreedMon1Species]
+ ld a, [wBreedMon1Species]
ld [CurPartySpecies], a
ld de, SFX_TRANSACTION
call PlaySFX
@@ -13043,7 +13040,7 @@
; dd42
Functiondd42: ; dd42
- ld a, [BreedMon2Species]
+ ld a, [wBreedMon2Species]
ld [CurPartySpecies], a
ld de, SFX_TRANSACTION
call PlaySFX
@@ -13061,7 +13058,7 @@
Functiondd64: ; dd64
ld hl, PartyCount
ld a, [hl]
- cp $6
+ cp PARTY_LENGTH
jr nz, .asm_dd6e
scf
ret
@@ -13070,15 +13067,15 @@
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
@@ -13085,7 +13082,7 @@
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 @@
pop de
call CopyBytes
push hl
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
ld a, [PartyCount]
dec a
call SkipNames
@@ -13168,7 +13165,7 @@
; de2a
Functionde2a: ; de2a
- ld de, BreedMon1Nick
+ ld de, wBreedMon1Nick
call Functionde44
xor a
ld [$d10b], a
@@ -13176,7 +13173,7 @@
; de37
Functionde37: ; de37
- ld de, BreedMon2Nick
+ ld de, wBreedMon2Nick
call Functionde44
xor a
ld [$d10b], a
@@ -13185,11 +13182,11 @@
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]
@@ -13196,17 +13193,17 @@
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 @@
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,8 +13264,8 @@
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
@@ -13275,7 +13272,7 @@
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 @@
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 @@
; 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 @@
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 @@
ret
; df8c
-Functiondf8c:: ; df8c
+GiveEgg:: ; df8c
ld a, [CurPartySpecies]
push af
callab GetPreEvolution
@@ -13421,14 +13418,14 @@
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 @@
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 @@
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 @@
.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 @@
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 @@
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 @@
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 @@
and a
jr z, .asm_e2e1
ld a, [CurItem]
- ld [BoxMon1Item], a
+ ld [sBoxMon1Item], a
.asm_e2e1
ld a, [CurPartySpecies]
@@ -13936,7 +13933,7 @@
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 @@
.asm_e35e
ld a, $1
call GetSRAMBank
- ld de, BoxMon1OT
+ ld de, sBoxMonOT
.asm_e366
ld a, [ScriptBank]
call GetFarByte
@@ -13979,7 +13976,7 @@
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 @@
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 @@
ld a, [PartyCount]
and a
jr z, .asm_e51e
- cp $2
+ cp 2
jr c, .asm_e526
and a
ret
@@ -14300,7 +14297,7 @@
Functione56d: ; e56d
ld a, [PartyCount]
- cp $6
+ cp PARTY_LENGTH
jr nc, .asm_e576
and a
ret
@@ -14347,7 +14344,7 @@
Functione5bb: ; e5bb
ld a, [CurPartyMon]
- ld hl, BoxMon1Species
+ ld hl, sBoxMon1Species
ld bc, $0020
call AddNTimes
ld de, TempMonSpecies
@@ -14377,7 +14374,7 @@
.asm_e5f1
ld a, $1
- ld hl, BoxCount
+ ld hl, sBoxCount
.asm_e5f6
call GetSRAMBank
@@ -14386,7 +14383,7 @@
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 @@
; e698
Functione698: ; e698
- ld hl, BreedMon1Species
+ ld hl, wBreedMon1Species
ld de, TempMonSpecies
ld bc, $0020
call CopyBytes
@@ -14494,7 +14491,7 @@
; e6b3
Functione6b3: ; e6b3
- ld hl, BreedMon2Species
+ ld hl, wBreedMon2Species
ld de, TempMonSpecies
ld bc, $0020
call CopyBytes
@@ -15294,7 +15291,7 @@
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 @@
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 @@
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 @@
call .AddContestStat
; DVs
- ld a, [wContestMonAtkDefDV]
+ ld a, [wContestMonDVs + 0]
ld b, a
and 2
add a
@@ -22022,7 +22019,7 @@
add c
ld d, a
- ld a, [wContestMonSpdSpcDV]
+ ld a, [wContestMonDVs + 1]
ld b, a
and 2
ld c, a
@@ -22179,7 +22176,7 @@
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 @@
; 13a31
Function13a31: ; 13a31
- ld hl, $dcd9
+ ld hl, PartySpecies + 1
ld a, [$df9b]
ld [hl], a
ld b, $1
@@ -22926,9 +22923,9 @@
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 @@
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 @@
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,7 +25238,7 @@
push af
push de
call GetSRAMBank
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
ld bc, $01e0
call CopyBytes
call CloseSRAM
@@ -25248,7 +25245,7 @@
ld a, $1
call GetSRAMBank
ld hl, $aef0
- ld de, EnemyMoveAnimation
+ ld de, $c608
ld bc, $01e0
call CopyBytes
call CloseSRAM
@@ -25261,7 +25258,7 @@
push af
push de
call GetSRAMBank
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
ld bc, $01e0
call CopyBytes
call CloseSRAM
@@ -25268,7 +25265,7 @@
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 @@
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 @@
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 @@
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 @@
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,10 +28709,10 @@
; 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
@@ -28722,7 +28719,7 @@
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 @@
.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,10 +28748,10 @@
; 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
@@ -28761,7 +28758,7 @@
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 @@
.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 @@
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 @@
; 0x16936
Function16936: ; 16936
- ld hl, DaycareMan
+ ld hl, wDaycareMan
bit 6, [hl]
jr nz, Function16949
ld hl, UnknownText_0x16944
@@ -29140,7 +29137,7 @@
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 @@
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 @@
; 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 @@
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 @@
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 @@
.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 @@
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 @@
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 @@
jr .asm_16b98
.asm_16b90
- ld a, [DittoInDaycare]
+ ld a, [wDittoInDaycare]
and a
jr nz, .asm_16b98
ld d, b
@@ -29784,7 +29781,7 @@
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 @@
.asm_16e48
push bc
- ld a, [BreedMon2Species]
+ ld a, [wBreedMon2Species]
ld [CurPartySpecies], a
ld a, [$df5a]
ld [TempMonDVs], a
@@ -29823,16 +29820,16 @@
.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 @@
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 @@
; 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 @@
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 @@
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 @@
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 @@
GLOBAL EggMoves
push bc
- ld a, [EggSpecies]
+ ld a, [wEggMonSpecies]
dec a
ld c, a
ld b, 0
@@ -30245,7 +30242,7 @@
jr .asm_1710c
.asm_17116
- ld a, [EggSpecies]
+ ld a, [wEggMonSpecies]
dec a
ld c, a
ld b, 0
@@ -30343,13 +30340,13 @@
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 @@
.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 @@
.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 @@
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 @@
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 @@
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,13 +30669,13 @@
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
@@ -30685,13 +30682,13 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
; 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 @@
; 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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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,7 +44097,7 @@
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
@@ -44107,16 +44104,16 @@
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 @@
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 @@
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 @@
Function3851e: ; 3851e
ld [hMultiplier], a
- ld hl, EnemyMonMaxHPHi
+ ld hl, EnemyMonMaxHP
ld a, [hli]
ld [hProduct], a
ld a, [hl]
@@ -44315,7 +44312,7 @@
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 @@
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 @@
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 @@
call CopyBytes
pop af
push af
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
ld bc, $000b
call AddNTimes
ld bc, $000a
@@ -51399,7 +51396,7 @@
call Predef
push bc
ld a, [CurPartyMon]
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call GetNick
pop bc
ld a, c
@@ -53945,7 +53942,7 @@
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 @@
; 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 @@
.next
push bc
- ld bc, BoxMon2 - BoxMon1
+ ld bc, sBoxMon2 - sBoxMon1
add hl, bc
pop bc
call UpdateOTPointer
@@ -54019,13 +54016,13 @@
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 @@
.nextboxmon
push bc
- ld bc, BoxMon2 - BoxMon1
+ ld bc, sBoxMon2 - sBoxMon1
add hl, bc
pop bc
call UpdateOTPointer
@@ -54153,7 +54150,7 @@
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 @@
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 @@
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 @@
.asm_4a87c
push bc
- ld bc, BoxMon2 - BoxMon1
+ ld bc, sBoxMon2 - sBoxMon1
add hl, bc
pop bc
call Function4a91e
@@ -54230,13 +54227,13 @@
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 @@
.asm_4a8c4
push bc
- ld bc, BoxMon2 - BoxMon1
+ ld bc, sBoxMon2 - sBoxMon1
add hl, bc
pop bc
call Function4a91e
@@ -54316,7 +54313,7 @@
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 @@
Function4a9d7: ; 4a9d7
ld a, [DefaultFlypoint]
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call GetNick
ld h, d
ld l, e
@@ -54446,7 +54443,7 @@
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 @@
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 @@
Function4d15b:: ; 4d15b
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
ld a, [$d196]
and a
jr z, .asm_4d168
@@ -56381,12 +56378,12 @@
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 @@
.asm_4d8bf
push bc
- ld bc, BoxMon2 - BoxMon1
+ ld bc, sBoxMon2 - sBoxMon1
add hl, bc
pop bc
dec d
@@ -56446,7 +56443,7 @@
.asm_4d901
push bc
- ld bc, BoxMon2 - BoxMon1
+ ld bc, sBoxMon2 - sBoxMon1
add hl, bc
pop bc
dec d
@@ -56625,7 +56622,7 @@
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 @@
.asm_4da66
ld a, [PartyCount]
dec a
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call SkipNames
ld d, h
ld e, l
@@ -56683,9 +56680,9 @@
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
@@ -56692,11 +56689,11 @@
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,8 +56711,8 @@
.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
@@ -56722,13 +56719,13 @@
.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 @@
Function4db83: ; 4db83
ld a, $1
call GetSRAMBank
- ld hl, BoxMon1CaughtLevel
+ ld hl, sBoxMon1CaughtLevel
call Function4db53
call CloseSRAM
ret
@@ -56814,7 +56811,7 @@
push bc
ld a, $1
call GetSRAMBank
- ld hl, BoxMon1CaughtLevel
+ ld hl, sBoxMon1CaughtLevel
pop bc
call Function4dbaf
call CloseSRAM
@@ -57800,7 +57797,7 @@
Unknown_4e216: ; 4e216
dw PartyMonOT
dw OTPartyMonOT
- dw BoxMonOT
+ dw sBoxMonOT
dw $d00d
; 4e21e
@@ -57907,7 +57904,7 @@
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 @@
; 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 @@
push bc
push hl
push hl
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld a, b
call GetNick
pop hl
@@ -59860,7 +59857,7 @@
Function50566: ; 50566
ld a, [CurPartyMon]
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
call GetNick
ld a, [PartyMenuActionText]
and $f
@@ -60501,15 +60498,15 @@
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 @@
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,7 +60813,7 @@
; Get our place in the party/box.
.PartyMon
-.BoxMon
+.sBoxMon
ld a, [CurPartyMon]
call AddNTimes
@@ -60823,7 +60820,7 @@
.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 @@
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 @@
Function50cdb: ; 50cdb
push hl
push hl
- ld hl, PartyMon1Nickname
+ ld hl, PartyMonNicknames
ld a, [CurPartyMon]
call GetNick
pop hl
@@ -61157,7 +61154,7 @@
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 @@
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 @@
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 @@
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 @@
; 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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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,7 +63936,7 @@
.asm_81d1d
xor a
ld [$cf65], a
- ld de, EnemyMoveAnimation
+ ld de, $c608
call Function81ea5
ret
@@ -63946,7 +63943,7 @@
.asm_81d28
ld a, $1
ld [$cf65], a
- ld de, EnemyMovePower
+ ld de, $c60a
call Function81ea5
ret
@@ -63958,7 +63955,7 @@
ld a, [hl]
and $40
jr nz, Function81d84
- ld hl, PlayerMoveType
+ ld hl, $c612
jr Function81d63
Function81d46: ; 81d46
@@ -63969,7 +63966,7 @@
ld a, [hl]
and $40
jr nz, Function81d84
- ld hl, PlayerMoveAccuracy
+ ld hl, $c613
jr Function81d63
Function81d58: ; 81d58
@@ -63977,7 +63974,7 @@
ld a, [hl]
and $40
jr nz, Function81d84
- ld hl, PlayerMovePP
+ ld hl, $c614
Function81d63: ; 81d63
ld a, [$ffa9]
@@ -64150,21 +64147,21 @@
; 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,16 +64171,16 @@
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
@@ -64190,7 +64187,7 @@
Function81ea5: ; 81ea5
ld a, [de]
and $1f
- ld [PlayerMoveType], a
+ ld [$c612], a
ld a, [de]
and $e0
swap a
@@ -64202,12 +64199,12 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
ld a, [hl]
and $40
jr nz, Function82387
- ld hl, PlayerMoveType
+ ld hl, $c612
jr Function82368
Function8234b: ; 8234b
@@ -64702,7 +64699,7 @@
ld a, [hl]
and $40
jr nz, Function82387
- ld hl, PlayerMoveAccuracy
+ ld hl, $c613
jr Function82368
Function8235d: ; 8235d
@@ -64710,7 +64707,7 @@
ld a, [hl]
and $40
jr nz, Function82387
- ld hl, PlayerMovePP
+ ld hl, $c614
Function82368: ; 82368
ld a, [$ffa9]
@@ -64751,21 +64748,21 @@
; 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 @@
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 @@
; 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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
call PrintNum
hlcoord 11, 10
- ld de, EnemyMonMaxHPHi
+ ld de, EnemyMonMaxHP
call PrintNum
ld hl, SwitchMonText
@@ -93252,7 +93249,7 @@
xor a
ld [hBGMapMode], a
call DisableLCD
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
ld bc, $01e0
xor a
call ByteFill
@@ -96022,7 +96019,7 @@
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 @@
.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 @@
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 @@
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 @@
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 @@
; 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 @@
; 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 @@
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 @@
call Functionfcde8
call Functionfcdf4
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
ld bc, $000b
call Functionfcdd7
ld de, $c6f2
@@ -101756,7 +101756,7 @@
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 @@
ld de, $c719
call Functionfcdf4
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
ld bc, $000b
call Functionfcdde
ld hl, $c724
@@ -104596,10 +104596,10 @@
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 @@
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 @@
; 102180
Function102180: ; 102180
- ld hl, EnemyMoveEffect
+ ld hl, $c609
ld de, StringBuffer2
ld bc, $000b
call CopyBytes
@@ -104687,11 +104687,11 @@
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
@@ -104698,7 +104698,7 @@
Function10219f: ; 10219f
call FadeToMenu
call Function10218d
- ld de, EnemyMoveEffect
+ ld de, $c609
callba Function8ac4e
call Functiona36
call PlayClickSFX
@@ -104709,7 +104709,7 @@
Function1021b8: ; 1021b8
call FadeToMenu
call Function10218d
- ld de, PlayerMoveAnimation
+ ld de, $c60f
callba Function8ac70
ld a, c
ld [StringBuffer1], a
@@ -107635,45 +107635,37 @@
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 @@
; 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,25 +111521,25 @@
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
@@ -111554,8 +111546,8 @@
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 @@
.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 @@
.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 @@
.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 @@
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 @@
; 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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
INCBIN "baserom.gbc",$11b669,$11b7e5 - $11b669
Function11b7e5: ; 11b7e5
- ld a, [EnemyMovePP]
+ ld a, [$c60d]
ld [PlayerLightScreenCount], a
ld [CurPartySpecies], a
ld a, [$cd81]
@@ -112674,9 +112666,9 @@
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]
@@ -112683,7 +112675,7 @@
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 @@
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 @@
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 @@
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 @@
.asm_11c123
sub e
ld [$cf64], a
- ld de, EnemyMoveAnimation
+ ld de, $c608
.asm_11c12a
ld a, [de]
cp $50
@@ -113226,7 +113218,7 @@
Function11c14a: ; 11c14a
ld c, $0
- ld hl, EnemyMoveAnimation
+ ld hl, $c608
.asm_11c14f
ld a, [hli]
cp $50
@@ -113241,7 +113233,7 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
ld a, $1
ld [ScriptVar], a ; $c2dd
ret
+
.asm_17099d
pop af
pop hl
@@ -116694,7 +116687,8 @@
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 @@
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 @@
; 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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
.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 @@
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 @@
call GetSRAMBank
.asm_17f4b7
- ld de, EnemyMoveAnimation
+ ld de, $c608
pop hl
push hl
ld a, [$cd57]
@@ -119457,7 +119451,7 @@
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 @@
hlcoord 1, 9
ld de, String1dc550
call PlaceString
- ld hl, PartyMon1OT
+ ld hl, PartyMonOT
call Function1dc50e
hlcoord 4, 9
call PlaceString
--- 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
+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
-\1Status:: db
-\1Unused:: db
-
-; Stats are big endian.
-\1HP:: dw
-\1MaxHP:: dw
-\1Attack:: dw
-\1Defense:: dw
-\1Speed:: dw
-\1SpclAtk:: dw
-\1SpclDef:: dw
-
+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 @@
; 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
+wBattle::
-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
+wEnemyMoveStruct:: ds MOVE_LENGTH ; c608
+wPlayerMoveStruct:: ds MOVE_LENGTH ; c60f
-EnemyMonNick:: ; c616
- ds 11
-BattleMonNick:: ; c621
- ds 11
+EnemyMonNick:: ds 11 ; c616
+BattleMonNick:: ds 11 ; c621
-
-BattleMonSpecies:: ; c62c
- ds 1
-BattleMonItem:: ; c62d
- ds 1
-
-BattleMonMoves:: ; c62e
- ds NUM_MOVES
-
-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
-
+BattleMon:: battle_struct BattleMon ; c62c
ds 10
OTName:: ; c656
@@ -812,8 +757,11 @@
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
; added in order of use
@@ -826,11 +774,14 @@
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 @@
; 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 @@
TempMon::
party_struct TempMon
-TempMonEnd:: ; d13e
ds 3
@@ -1214,7 +1164,7 @@
ds 2
EvolvableFlags:: ; d1e8
- ds 1
+ flag_array PARTY_LENGTH
ds 1
@@ -1229,76 +1179,13 @@
LinkBattleRNs:: ; d1fa
ds 10
-TempEnemyMonSpecies:: ; d204
- ds 1
-TempBattleMonSpecies:: ; d205
- ds 1
+TempEnemyMonSpecies:: ds 1 ; d204
+TempBattleMonSpecies:: ds 1 ; d205
-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
-
+EnemyMon:: battle_struct EnemyMon ; d206
+EnemyMonBaseStats:: ds 5 ; d226
+EnemyMonCatchRate:: db ; d22b
+EnemyMonBaseExp:: db ; d22c
EnemyMonEnd::
@@ -1402,58 +1289,24 @@
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
+OTPartyCount:: ds 1 ; d280
+OTPartySpecies:: ds 6 ; d281
+OTPartyEnd:: ds 1
-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
+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
-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
-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
ds 1
@@ -1789,7 +1642,7 @@
;PoliceAtElmsLabEvent:: ; db52
;SalesmanMahoganyTownEvent:: ; db5c
;RedGyaradosEvent:: ; db5c
- ds 250
+ flag_array 2000
; db6c
SECTION "Boxes",WRAMX[$db72],BANK[1]
@@ -1800,35 +1653,7 @@
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 @@
SECTION "Visited Spawn Points", WRAMX[$dca5],BANK[1]
VisitedSpawns:: ; dca5
- ds 4
+ flag_array 27
SECTION "BackupMapInfo", WRAMX[$dcad],BANK[1]
@@ -1901,62 +1726,37 @@
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
+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
-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
+PartyMonOT:: ds 11 * 6 ; ddff
-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
+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
@@ -1963,96 +1763,53 @@
; 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
+roam_struct: MACRO
+\1Species:: db
+\1Level:: db
+\1MapGroup:: db
+\1MapNumber:: db
+\1HP:: ds 1
+\1DVs:: ds 2
+ENDM
-RoamMon2Species:: ; dfd6
- ds 1
-RoamMon2Level:: ; dfd7
- ds 1
-RoamMon2MapGroup:: ; dfd8
- ds 1
-RoamMon2MapNumber:: ; dfd9
- ds 1
-RoamMon2HP:: ; dfda
- ds 1
-RoamMon2DVs:: ; dfdb
- ds 2
+wRoamMon1:: roam_struct wRoamMon1 ; dfcf
+wRoamMon2:: roam_struct wRoamMon2 ; dfd6
+wRoamMon3:: roam_struct wRoamMon3 ; dfdd
-RoamMon3Species:: ; dfdd
- ds 1
-RoamMon3Level:: ; dfde
- ds 1
-RoamMon3MapGroup:: ; dfdf
- ds 1
-RoamMon3MapNumber:: ; dfe0
- ds 1
-RoamMon3HP:: ; dfe1
- ds 1
-RoamMon3DVs:: ; dfe2
- ds 2
-
SECTION "WRAMBank5",WRAMX[$d000],BANK[5]
; 8 4-color palettes
@@ -2107,175 +1864,24 @@
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