summaryrefslogtreecommitdiff
path: root/engine/battle
diff options
context:
space:
mode:
Diffstat (limited to 'engine/battle')
-rwxr-xr-xengine/battle/1.asm35
-rwxr-xr-xengine/battle/14.asm42
-rwxr-xr-xengine/battle/15.asm137
-rwxr-xr-xengine/battle/16.asm32
-rwxr-xr-xengine/battle/1a.asm10
-rwxr-xr-xengine/battle/1c.asm748
-rwxr-xr-xengine/battle/4.asm31
-rwxr-xr-xengine/battle/4_2.asm156
-rwxr-xr-xengine/battle/5.asm6
-rwxr-xr-xengine/battle/9.asm12
-rwxr-xr-xengine/battle/a.asm10
-rwxr-xr-xengine/battle/animations.asm374
-rwxr-xr-xengine/battle/b.asm2
-rwxr-xr-xengine/battle/b_2.asm11
-rwxr-xr-xengine/battle/c.asm18
-rwxr-xr-xengine/battle/core.asm2531
-rwxr-xr-xengine/battle/d.asm18
-rwxr-xr-xengine/battle/e.asm278
-rwxr-xr-xengine/battle/e_2.asm73
-rwxr-xr-xengine/battle/safari_zone.asm8
20 files changed, 2187 insertions, 2345 deletions
diff --git a/engine/battle/1.asm b/engine/battle/1.asm
index 91f7d3b1..04546313 100755
--- a/engine/battle/1.asm
+++ b/engine/battle/1.asm
@@ -1,5 +1,5 @@
DrainHPEffect_: ; 783f (1:783f)
- ld hl, W_DAMAGE ; $d0d7
+ ld hl, W_DAMAGE ; W_DAMAGE
ld a, [hl]
srl a ; divide damage by 2
ld [hli], a
@@ -11,13 +11,13 @@ DrainHPEffect_: ; 783f (1:783f)
inc hl
inc [hl]
.asm_784f
- ld hl, W_PLAYERMONCURHP ; $d015
- ld de, W_PLAYERMONMAXHP ; $d023
+ ld hl, wBattleMonHP ; wd015
+ ld de, wBattleMonMaxHP ; wd023
ld a, [H_WHOSETURN] ; $fff3
and a
jp z, Func_7861
- ld hl, W_ENEMYMONCURHP ; $cfe6
- ld de, W_ENEMYMONMAXHP ; $cff4
+ ld hl, wEnemyMonHP ; wEnemyMonHP
+ ld de, wEnemyMonMaxHP ; wEnemyMonMaxHP
Func_7861: ; 7861 (1:7861)
ld bc, wHPBarOldHP+1
@@ -33,12 +33,12 @@ Func_7861: ; 7861 (1:7861)
ld a, [de]
dec bc
ld [bc], a
- ld a, [$d0d8]
+ ld a, [wd0d8]
ld b, [hl]
add b
ld [hld], a
ld [wHPBarNewHP], a
- ld a, [W_DAMAGE] ; $d0d7
+ ld a, [W_DAMAGE] ; W_DAMAGE
ld b, [hl]
adc b
ld [hli], a
@@ -67,28 +67,23 @@ Func_7861: ; 7861 (1:7861)
.asm_789c
ld a, [H_WHOSETURN] ; $fff3
and a
- FuncCoord 10, 9 ; $c45e
- ld hl, Coord
+ hlCoord 10, 9
ld a, $1
jr z, .asm_78aa
- FuncCoord 2, 2 ; $c3ca
- ld hl, Coord
+ hlCoord 2, 2
xor a
.asm_78aa
- ld [wListMenuID], a ; $cf94
- ld a, $48
- call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d))
- ld a, $0
- call Predef ; indirect jump to Func_3cd60 (3cd60 (f:4d60))
- ld a, $49
- call Predef ; indirect jump to Func_3cdec (3cdec (f:4dec))
+ ld [wListMenuID], a ; wListMenuID
+ predef UpdateHPBar2
+ predef Func_3cd60
+ predef Func_3cdec
callab ReadPlayerMonCurHPAndStatus
ld hl, SuckedHealthText ; $78dc
ld a, [H_WHOSETURN] ; $fff3
and a
- ld a, [W_PLAYERMOVEEFFECT] ; $cfd3
+ ld a, [W_PLAYERMOVEEFFECT] ; wcfd3
jr z, .asm_78d2
- ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
+ ld a, [W_ENEMYMOVEEFFECT] ; W_ENEMYMOVEEFFECT
.asm_78d2
cp DREAM_EATER_EFFECT
jr nz, .asm_78d9
diff --git a/engine/battle/14.asm b/engine/battle/14.asm
index 209135af..01d115a6 100755
--- a/engine/battle/14.asm
+++ b/engine/battle/14.asm
@@ -1,52 +1,52 @@
Func_525af: ; 525af (14:65af)
ld a, [$ffd7]
- ld [$d0d4], a
+ ld [wd0d4], a
xor a
- ld [$cd6a], a
- ld [$cf0b], a
- ld hl, $cc2b
+ ld [wcd6a], a
+ ld [wcf0b], a
+ ld hl, wcc2b
ld [hli], a
ld [hli], a
ld [hli], a
ld [hl], a
- ld [wListScrollOffset], a ; $cc36
- ld [$d05e], a
- ld [W_PLAYERMONID], a
- ld [W_PLAYERMONSALIVEFLAGS], a
- ld [wPlayerMonNumber], a ; $cc2f
- ld [$d078], a
- ld [$d35d], a
- ld hl, $cf1d
+ ld [wListScrollOffset], a ; wcc36
+ ld [wd05e], a
+ ld [wBattleMonSpecies], a
+ ld [wPartyAliveFlags], a
+ ld [wPlayerMonNumber], a ; wPlayerMonNumber
+ ld [wd078], a
+ ld [wd35d], a
+ ld hl, wcf1d
ld [hli], a
ld [hl], a
- ld hl, $ccd3
+ ld hl, wccd3
ld b, $3c
.asm_525e1
ld [hli], a
dec b
jr nz, .asm_525e1
inc a
- ld [$ccd9], a
- ld a, [W_CURMAP] ; $d35e
+ ld [wccd9], a
+ ld a, [W_CURMAP] ; W_CURMAP
cp SAFARI_ZONE_EAST
jr c, .asm_525f9
cp SAFARI_ZONE_REST_HOUSE_1
jr nc, .asm_525f9
ld a, $2
- ld [W_BATTLETYPE], a ; $d05a
+ ld [W_BATTLETYPE], a ; wd05a
.asm_525f9
ld hl, PlayBattleMusic
ld b, BANK(PlayBattleMusic)
jp Bankswitch
ParalyzeEffect_: ; 52601 (14:6601)
- ld hl, W_ENEMYMONSTATUS ; $cfe9
- ld de, W_PLAYERMOVETYPE ; $cfd5
+ ld hl, wEnemyMonStatus ; wcfe9
+ ld de, W_PLAYERMOVETYPE ; wcfd5
ld a, [H_WHOSETURN] ; $fff3
and a
jp z, .asm_52613
- ld hl, W_PLAYERMONSTATUS ; $d018
- ld de, W_ENEMYMOVETYPE ; $cfcf
+ ld hl, wBattleMonStatus ; wBattleMonStatus
+ ld de, W_ENEMYMOVETYPE ; wcfcf
.asm_52613
ld a, [hl]
@@ -69,7 +69,7 @@ ParalyzeEffect_: ; 52601 (14:6601)
push hl
callab MoveHitTest
pop hl
- ld a, [W_MOVEMISSED] ; $d05f
+ ld a, [W_MOVEMISSED] ; W_MOVEMISSED
and a
jr nz, .asm_52659
set 6, [hl]
diff --git a/engine/battle/15.asm b/engine/battle/15.asm
index d2e93ab1..69d8ff3f 100755
--- a/engine/battle/15.asm
+++ b/engine/battle/15.asm
@@ -1,11 +1,11 @@
GainExperience: ; 5524f (15:524f)
- ld a, [W_ISLINKBATTLE] ; $d12b
+ ld a, [W_ISLINKBATTLE]
cp $4
ret z
call Func_5546c
- ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
+ ld hl, wPartyMons
xor a
- ld [wWhichPokemon], a ; $cf92
+ ld [wWhichPokemon], a
Func_5525f: ; 5525f (15:525f)
inc hl
@@ -13,12 +13,11 @@ Func_5525f: ; 5525f (15:525f)
or [hl]
jp z, Func_55436
push hl
- ld hl, W_PLAYERMONSALIVEFLAGS
- ld a, [wWhichPokemon] ; $cf92
+ ld hl, wPartyAliveFlags
+ ld a, [wWhichPokemon]
ld c, a
ld b, $2
- ld a, $10
- call Predef ; indirect jump to HandleBitArray (f666 (3:7666))
+ predef FlagActionPredef
ld a, c
and a
pop hl
@@ -27,7 +26,7 @@ Func_5525f: ; 5525f (15:525f)
add hl, de
ld d, h
ld e, l
- ld hl, $d002
+ ld hl, wd002
ld c, $5
.asm_55285
ld a, [hli]
@@ -56,26 +55,26 @@ Func_5525f: ; 5525f (15:525f)
jr .asm_55285
.asm_552a1
xor a
- ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND)
- ld [$ff97], a
- ld a, [$d008]
- ld [$ff98], a
- ld a, [W_ENEMYMONLEVEL] ; $cff3
- ld [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
+ ld [H_MULTIPLICAND], a
+ ld [H_MULTIPLICAND + 1], a
+ ld a, [wd008]
+ ld [H_MULTIPLICAND + 2], a
+ ld a, [wEnemyMonLevel]
+ ld [H_MULTIPLIER], a
call Multiply
- ld a, $7
- ld [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
- ld b, $4
+ ld a, 7
+ ld [H_DIVISOR], a
+ ld b, 4
call Divide
ld hl, $fff2
add hl, de
ld b, [hl]
inc hl
- ld a, [wPlayerID] ; $d359
+ ld a, [wPlayerID]
cp b
jr nz, .asm_552d1
ld b, [hl]
- ld a, [wPlayerID + 1] ; $d35a
+ ld a, [wPlayerID + 1]
cp b
ld a, $0
jr z, .asm_552d6
@@ -83,8 +82,8 @@ Func_5525f: ; 5525f (15:525f)
call Func_5549f
ld a, $1
.asm_552d6
- ld [$cf4d], a
- ld a, [W_ISINBATTLE] ; $d057
+ ld [wcf4d], a
+ ld a, [W_ISINBATTLE]
dec a
call nz, Func_5549f
inc hl
@@ -92,12 +91,12 @@ Func_5525f: ; 5525f (15:525f)
inc hl
ld b, [hl]
ld a, [$ff98]
- ld [$cf4c], a
+ ld [wcf4c], a
add b
ld [hld], a
ld b, [hl]
ld a, [$ff97]
- ld [$cf4b], a
+ ld [wcf4b], a
adc b
ld [hl], a
jr nc, .asm_552f8
@@ -107,17 +106,17 @@ Func_5525f: ; 5525f (15:525f)
.asm_552f8
inc hl
push hl
- ld a, [wWhichPokemon] ; $cf92
+ ld a, [wWhichPokemon]
ld c, a
- ld b, $0
- ld hl, W_PARTYMON1 ; $d164
+ ld b, 0
+ ld hl, wPartySpecies
add hl, bc
ld a, [hl]
- ld [$d0b5], a
+ ld [wd0b5], a
call GetMonHeader
- ld d, $64
+ ld d, MAX_LEVEL
callab CalcExperience
- ld a, [H_NUMTOPRINT] ; $ff96 (aliases: H_MULTIPLICAND)
+ ld a, [$ff96]
ld b, a
ld a, [$ff97]
ld c, a
@@ -140,13 +139,13 @@ Func_5525f: ; 5525f (15:525f)
dec hl
.asm_5532e
push hl
- ld a, [wWhichPokemon] ; $cf92
- ld hl, W_PARTYMON1NAME ; $d2b5
+ ld a, [wWhichPokemon]
+ ld hl, wPartyMonNicks
call GetPartyMonName
ld hl, GainedText
call PrintText
xor a
- ld [$cc49], a
+ ld [wcc49], a
call LoadMonData
pop hl
ld bc, $13
@@ -157,17 +156,17 @@ Func_5525f: ; 5525f (15:525f)
ld a, [hl]
cp d
jp z, Func_55436
- ld a, [W_CURENEMYLVL] ; $d127
+ ld a, [W_CURENEMYLVL]
push af
push hl
ld a, d
- ld [W_CURENEMYLVL], a ; $d127
+ ld [W_CURENEMYLVL], a
ld [hl], a
ld bc, $ffdf
add hl, bc
ld a, [hl]
- ld [$d0b5], a
- ld [$d11e], a
+ ld [wd0b5], a
+ ld [wd11e], a
call GetMonHeader
ld bc, $23
add hl, bc
@@ -198,12 +197,12 @@ Func_5525f: ; 5525f (15:525f)
ld a, [hl]
adc b
ld [hl], a
- ld a, [wPlayerMonNumber] ; $cc2f
+ ld a, [wPlayerMonNumber]
ld b, a
- ld a, [wWhichPokemon] ; $cf92
+ ld a, [wWhichPokemon]
cp b
jr nz, .asm_553f7
- ld de, W_PLAYERMONCURHP ; $d015
+ ld de, wBattleMonHP
ld a, [hli]
ld [de], a
inc de
@@ -212,19 +211,19 @@ Func_5525f: ; 5525f (15:525f)
ld bc, $1f
add hl, bc
push hl
- ld de, W_PLAYERMONLEVEL ; $d022
+ ld de, wBattleMonLevel ; wBattleMonLevel
ld bc, $b
call CopyData
pop hl
- ld a, [W_PLAYERBATTSTATUS3] ; $d064
+ ld a, [W_PLAYERBATTSTATUS3] ; W_PLAYERBATTSTATUS3
bit 3, a
jr nz, .asm_553c8
- ld de, $cd0f
+ ld de, wcd0f
ld bc, $b
call CopyData
.asm_553c8
xor a
- ld [$d11e], a
+ ld [wd11e], a
callab Func_3ed99
callab Func_3ed1a
callab Func_3ee19
@@ -235,59 +234,55 @@ Func_5525f: ; 5525f (15:525f)
ld hl, GrewLevelText
call PrintText
xor a
- ld [$cc49], a
+ ld [wcc49], a
call LoadMonData
ld d, $1
callab PrintStatsBox
call WaitForTextScrollButtonPress
call LoadScreenTilesFromBuffer1
xor a
- ld [$cc49], a
- ld a, [$d0b5]
- ld [$d11e], a
- ld a, $1a
- call Predef ; indirect jump to Func_3af5b (3af5b (e:6f5b))
- ld hl, $ccd3
- ld a, [wWhichPokemon] ; $cf92
+ ld [wcc49], a
+ ld a, [wd0b5]
+ ld [wd11e], a
+ predef Func_3af5b
+ ld hl, wccd3
+ ld a, [wWhichPokemon] ; wWhichPokemon
ld c, a
ld b, $1
- ld a, $10
- call Predef ; indirect jump to HandleBitArray (f666 (3:7666))
+ predef FlagActionPredef
pop hl
pop af
- ld [W_CURENEMYLVL], a ; $d127
+ ld [W_CURENEMYLVL], a ; W_CURENEMYLVL
Func_55436: ; 55436 (15:5436)
- ld a, [W_NUMINPARTY] ; $d163
+ ld a, [wPartyCount] ; wPartyCount
ld b, a
- ld a, [wWhichPokemon] ; $cf92
+ ld a, [wWhichPokemon] ; wWhichPokemon
inc a
cp b
jr z, .asm_55450
- ld [wWhichPokemon], a ; $cf92
+ ld [wWhichPokemon], a ; wWhichPokemon
ld bc, $2c
- ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
+ ld hl, wPartyMon1Species ; wPartyMon1Species (aliases: wPartyMon1)
call AddNTimes
jp Func_5525f
.asm_55450
- ld hl, W_PLAYERMONSALIVEFLAGS
+ ld hl, wPartyAliveFlags
xor a
ld [hl], a
- ld a, [wPlayerMonNumber] ; $cc2f
+ ld a, [wPlayerMonNumber] ; wPlayerMonNumber
ld c, a
ld b, $1
push bc
- ld a, $10
- call Predef ; indirect jump to HandleBitArray (f666 (3:7666))
- ld hl, $ccf5
+ predef FlagActionPredef
+ ld hl, wccf5
xor a
ld [hl], a
pop bc
- ld a, $10
- jp Predef ; indirect jump to HandleBitArray (f666 (3:7666))
+ predef_jump FlagActionPredef
Func_5546c: ; 5546c (15:546c)
- ld a, [W_PLAYERMONSALIVEFLAGS]
+ ld a, [wPartyAliveFlags]
ld b, a
xor a
ld c, $8
@@ -301,15 +296,15 @@ Func_5546c: ; 5546c (15:546c)
jr nz, .asm_55475
cp $2
ret c
- ld [$d11e], a
- ld hl, $d002
+ ld [wd11e], a
+ ld hl, wd002
ld c, $7
.asm_55488
xor a
ld [H_DIVIDEND], a ; $ff95 (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
ld a, [hl]
ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND)
- ld a, [$d11e]
+ ld a, [wd11e]
ld [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
ld b, $2
call Divide
@@ -336,12 +331,12 @@ Func_5549f: ; 5549f (15:549f)
GainedText: ; 554b2 (15:54b2)
TX_FAR _GainedText
db $08 ; asm
- ld a, [$cc5b]
+ ld a, [wcc5b]
ld hl, WithExpAllText
and a
ret nz
ld hl, ExpPointsText
- ld a, [$cf4d]
+ ld a, [wcf4d]
and a
ret z
ld hl, BoostedText
diff --git a/engine/battle/16.asm b/engine/battle/16.asm
index f2f4ada9..1500d003 100755
--- a/engine/battle/16.asm
+++ b/engine/battle/16.asm
@@ -1,17 +1,17 @@
PrintBeginningBattleText: ; 58d99 (16:4d99)
- ld a, [W_ISINBATTLE] ; $d057
+ ld a, [W_ISINBATTLE] ; W_ISINBATTLE
dec a
jr nz, .trainerBattle
- ld a, [W_CURMAP] ; $d35e
+ ld a, [W_CURMAP] ; W_CURMAP
cp POKEMONTOWER_3
jr c, .notPokemonTower
cp LAVENDER_HOUSE_1
jr c, .pokemonTower
.notPokemonTower
- ld a, [W_ENEMYMONID]
+ ld a, [wEnemyMonSpecies2]
call PlayCry
ld hl, WildMonAppearedText
- ld a, [W_MOVEMISSED] ; $d05f
+ ld a, [W_MOVEMISSED] ; W_MOVEMISSED
and a
jr z, .notFishing
ld hl, HookedMonAttackedText
@@ -31,8 +31,8 @@ PrintBeginningBattleText: ; 58d99 (16:4d99)
.pokemonTower
ld b, SILPH_SCOPE
call IsItemInBag
- ld a, [W_ENEMYMONID]
- ld [$cf91], a
+ ld a, [wEnemyMonSpecies2]
+ ld [wcf91], a
cp MAROWAK
jr z, .isMarowak
ld a, b
@@ -61,9 +61,9 @@ PrintBeginningBattleText: ; 58d99 (16:4d99)
.playSFX
xor a
- ld [$c0f1], a
+ ld [wc0f1], a
ld a, $80
- ld [$c0f2], a
+ ld [wc0f2], a
ld a, (SFX_08_77 - SFX_Headers_08) / 3
call PlaySound
jp WaitForSoundToFinish
@@ -95,24 +95,24 @@ GhostCantBeIDdText: ; 58e54 (16:4e54)
db "@"
SendOutMon: ; 58e59 (16:4e59)
- ld hl, W_ENEMYMONCURHP ; $cfe6
+ ld hl, wEnemyMonHP ; wEnemyMonHP
ld a, [hli]
or [hl]
ld hl, GoText
jr z, .printText
xor a
ld [H_NUMTOPRINT], a ; $ff96 (aliases: H_MULTIPLICAND)
- ld hl, W_ENEMYMONCURHP ; $cfe6
+ ld hl, wEnemyMonHP ; wEnemyMonHP
ld a, [hli]
- ld [$cce3], a
+ ld [wcce3], a
ld [$ff97], a
ld a, [hl]
- ld [$cce4], a
+ ld [wcce4], a
ld [$ff98], a
ld a, $19
ld [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
call Multiply
- ld hl, W_ENEMYMONMAXHP ; $cff4
+ ld hl, wEnemyMonMaxHP ; wEnemyMonMaxHP
ld a, [hli]
ld b, [hl]
srl a
@@ -173,8 +173,8 @@ PlayerMon2Text: ; 58ed7 (16:4ed7)
db $08 ; asm
push de
push bc
- ld hl, $cfe7
- ld de, $cce4
+ ld hl, wEnemyMonHP + 1
+ ld de, wcce4
ld b, [hl]
dec hl
ld a, [de]
@@ -188,7 +188,7 @@ PlayerMon2Text: ; 58ed7 (16:4ed7)
ld a, $19
ld [H_POWEROFTEN], a
call Multiply
- ld hl, W_ENEMYMONMAXHP
+ ld hl, wEnemyMonMaxHP
ld a, [hli]
ld b, [hl]
srl a
diff --git a/engine/battle/1a.asm b/engine/battle/1a.asm
index 2770a459..6b502a31 100755
--- a/engine/battle/1a.asm
+++ b/engine/battle/1a.asm
@@ -11,10 +11,10 @@ DecrementPP: ; 68000 (1a:4000)
ret nz ; if any of these statuses are true, don't decrement PP
bit 6, [hl] ; check 6th bit status flag on W_PLAYERBATTSTATUS2
ret nz ; and return if it is set
- ld hl, $D02D ; PP of first move (in battle)
+ ld hl, wBattleMonPP ; PP of first move (in battle)
call .DecrementPP
- ld a, [$D064] ; load pokemon status bits?
+ ld a, [W_PLAYERBATTSTATUS3] ; load pokemon status bits?
bit 3, a ; XXX transform status?
ret nz ; If it is, return. Pokemon Red stores the "current pokemon's" PP
; separately from the "Pokemon in your party's" PP. This is
@@ -26,12 +26,12 @@ DecrementPP: ; 68000 (1a:4000)
; its opponent, which is *not* the same as its real PP as part of your
; party. So we return, and don't do that part.
- ld hl, $D188 ; PP of first move (in party)
- ld a, [$CC2F] ; which mon in party is active
+ ld hl, wPartyMon1PP ; PP of first move (in party)
+ ld a, [wPlayerMonNumber] ; which mon in party is active
ld bc, $2C ; XXX probably size of party pokemon's data structure
call AddNTimes ; calculate address of the mon to modify
.DecrementPP
- ld a, [$CC2E] ; which move (0, 1, 2, 3) did we use?
+ ld a, [wPlayerMoveListIndex] ; which move (0, 1, 2, 3) did we use?
ld c, a
ld b, 0
add hl ,bc ; calculate the address in memory of the PP we need to decrement
diff --git a/engine/battle/1c.asm b/engine/battle/1c.asm
index 1f07807a..b3b24007 100755
--- a/engine/battle/1c.asm
+++ b/engine/battle/1c.asm
@@ -2,15 +2,14 @@ Func_708ca: ; 708ca (1c:48ca)
ld a, $e4
ld [rOBP1], a ; $ff49
call Func_7092a
- FuncCoord 12, 0 ; $c3ac
- ld hl, Coord
+ hlCoord 12, 0
ld bc, $707
call ClearScreenArea
call Delay3
xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
ld a, $91
- ld [$cee9], a
+ ld [wHPBarMaxHP], a
ld a, $1
ld [H_WHOSETURN], a ; $fff3
callab Func_79793
@@ -24,7 +23,7 @@ Func_708ca: ; 708ca (1c:48ca)
sla a
ld [rOBP1], a ; $ff49
jr nz, .asm_708f6
- call CleanLCD_OAM
+ call ClearSprites
call Func_7092a
ld b, $e4
.asm_7090d
@@ -42,30 +41,30 @@ Func_708ca: ; 708ca (1c:48ca)
ld a, $1
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
call Delay3
- jp CleanLCD_OAM
+ jp ClearSprites
Func_7092a: ; 7092a (1c:492a)
- ld de, $9000
- ld hl, $8000
- ld bc, $31
+ ld de, vFrontPic
+ ld hl, vSprites
+ ld bc, 7 * 7
call CopyVideoData
ld a, $10
- ld [W_BASECOORDY], a ; $d082
+ ld [W_BASECOORDY], a ; wd082
ld a, $70
- ld [W_BASECOORDX], a ; $d081
+ ld [W_BASECOORDX], a ; wd081
ld hl, wOAMBuffer
ld bc, $606
ld d, $8
.asm_70948
push bc
- ld a, [W_BASECOORDY] ; $d082
+ ld a, [W_BASECOORDY] ; wd082
ld e, a
.asm_7094d
ld a, e
add $8
ld e, a
ld [hli], a
- ld a, [W_BASECOORDX] ; $d081
+ ld a, [W_BASECOORDX] ; wd081
ld [hli], a
ld a, d
ld [hli], a
@@ -75,44 +74,44 @@ Func_7092a: ; 7092a (1c:492a)
dec c
jr nz, .asm_7094d
inc d
- ld a, [W_BASECOORDX] ; $d081
+ ld a, [W_BASECOORDX] ; wd081
add $8
- ld [W_BASECOORDX], a ; $d081
+ ld [W_BASECOORDX], a ; wd081
pop bc
dec b
jr nz, .asm_70948
ret
-Func_7096d: ; 7096d (1c:496d)
+BattleTransition: ; 7096d (1c:496d)
ld a, $1
- ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
+ ld [H_AUTOBGTRANSFERENABLED], a
call Delay3
xor a
ld [$ffb0], a
dec a
- ld [$cfcb], a
+ ld [wcfcb], a
call DelayFrame
- ld hl, $c102
- ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c
+ ld hl, wSpriteStateData1 + 2
+ ld a, [H_DOWNARROWBLINKCNT2]
ld c, a
ld b, $0
ld de, $10
-.asm_70989
+.loop1
ld a, [hl]
cp $ff
- jr z, .asm_7098f
+ jr z, .skip1
inc b
-.asm_7098f
+.skip1
add hl, de
dec c
- jr nz, .asm_70989
- ld hl, $c310
+ jr nz, .loop1
+ ld hl, wOAMBuffer + $10
ld c, $9
-.asm_70998
+.loop2
ld a, b
swap a
cp l
- jr z, .asm_709a9
+ jr z, .skip2
push hl
push bc
ld bc, $10
@@ -120,22 +119,22 @@ Func_7096d: ; 7096d (1c:496d)
call FillMemory
pop bc
pop hl
-.asm_709a9
+.skip2
ld de, $10
add hl, de
dec c
- jr nz, .asm_70998
+ jr nz, .loop2
call Delay3
call LoadBattleTransitionTile
ld bc, $0
- ld a, [W_ISLINKBATTLE] ; $d12b
+ ld a, [W_ISLINKBATTLE]
cp $4
- jr z, .asm_709c9
- call Func_709e2
- call Func_709ef
- call Func_70a19
-.asm_709c9
- ld hl, PointerTable_709d2 ; $49d2
+ jr z, .linkBattle
+ call GetBattleTransitionID_WildOrTrainer
+ call GetBattleTransitionID_CompareLevels
+ call GetBattleTransitionID_IsDungeonMap
+.linkBattle
+ ld hl, BattleTransitions
add hl, bc
add hl, bc
ld a, [hli]
@@ -143,94 +142,105 @@ Func_7096d: ; 7096d (1c:496d)
ld l, a
jp [hl]
-PointerTable_709d2: ; 709d2 (1c:49d2)
- dw Func_70d24
- dw Func_70a72
- dw Func_70ce4
- dw Func_70a72
- dw Func_70cb4
- dw Func_70b7f
- dw Func_70c7e
- dw Func_70bca
-
-Func_709e2: ; 709e2 (1c:49e2)
- ld a, [W_CUROPPONENT] ; $d059
+; the three GetBattleTransitionID functions set the first
+; three bits of c, which determines what transition animation
+; to play at the beginning of a battle
+; bit 0: set if trainer battle
+; bit 1: set if enemy is at least 3 levels higher than player
+; bit 2: set if dungeon map
+BattleTransitions: ; 709d2 (1c:49d2)
+ dw BattleTransition_DoubleCircle ; %000
+ dw BattleTransition_Spiral ; %001
+ dw BattleTransition_Circle ; %010
+ dw BattleTransition_Spiral ; %011
+ dw BattleTransition_HorizontalStripes ; %100
+ dw BattleTransition_Shrink ; %101
+ dw BattleTransition_VerticalStripes ; %110
+ dw BattleTransition_Split ; %111
+
+GetBattleTransitionID_WildOrTrainer: ; 709e2 (1c:49e2)
+ ld a, [W_CUROPPONENT]
cp $c8
- jr nc, .asm_709ec
+ jr nc, .trainer
res 0, c
ret
-.asm_709ec
+.trainer
set 0, c
ret
-Func_709ef: ; 709ef (1c:49ef)
- ld hl, W_PARTYMON1_HP ; $d16c
-.asm_709f2
+GetBattleTransitionID_CompareLevels: ; 709ef (1c:49ef)
+ ld hl, wPartyMon1HP
+.faintedLoop
ld a, [hli]
or [hl]
- jr nz, .asm_709fc
- ld de, $2b
+ jr nz, .notFainted
+ ld de, wPartyMon2 - (wPartyMon1 + 1)
add hl, de
- jr .asm_709f2
-.asm_709fc
- ld de, $1f
+ jr .faintedLoop
+.notFainted
+ ld de, wPartyMon1Level - (wPartyMon1HP + 1)
add hl, de
ld a, [hl]
add $3
ld e, a
- ld a, [W_CURENEMYLVL] ; $d127
+ ld a, [W_CURENEMYLVL]
sub e
- jr nc, .asm_70a12
+ jr nc, .highLevelEnemy
res 1, c
ld a, $1
- ld [$cd47], a
+ ld [wcd47], a
ret
-.asm_70a12
+.highLevelEnemy
set 1, c
xor a
- ld [$cd47], a
+ ld [wcd47], a
ret
-Func_70a19: ; 70a19 (1c:4a19)
- ld a, [W_CURMAP] ; $d35e
+; fails to recognize VICTORY_ROAD_2, VICTORY_ROAD_3, all ROCKET_HIDEOUT maps,
+; MANSION_1, SEAFOAM_ISLANDS_[2-5], POWER_PLANT, DIGLETTS_CAVE
+; and SILPH_CO_[9-11]F as dungeon maps
+GetBattleTransitionID_IsDungeonMap: ; 70a19 (1c:4a19)
+ ld a, [W_CURMAP]
ld e, a
- ld hl, MapIDList_70a3f ; $4a3f
-.asm_70a20
+ ld hl, DungeonMaps1
+.loop1
ld a, [hli]
cp $ff
- jr z, .asm_70a2b
+ jr z, .noMatch1
cp e
- jr nz, .asm_70a20
-.asm_70a28
+ jr nz, .loop1
+.match
set 2, c
ret
-.asm_70a2b
- ld hl, MapIDList_70a44 ; $4a44
-.asm_70a2e
+.noMatch1
+ ld hl, DungeonMaps2
+.loop2
ld a, [hli]
cp $ff
- jr z, .asm_70a3c
+ jr z, .noMatch2
ld d, a
ld a, [hli]
cp e
- jr c, .asm_70a2e
+ jr c, .loop2
ld a, e
cp d
- jr nc, .asm_70a28
-.asm_70a3c
+ jr nc, .match
+.noMatch2
res 2, c
ret
-; Func_70a19 checks if W_CURMAP is equal to one of these maps
-MapIDList_70a3f: ; 70a3f (1c:4a3f)
+; GetBattleTransitionID_IsDungeonMap checks if W_CURMAP
+; is equal to one of these maps
+DungeonMaps1: ; 70a3f (1c:4a3f)
db VIRIDIAN_FOREST
db ROCK_TUNNEL_1
db SEAFOAM_ISLANDS_1
db ROCK_TUNNEL_2
db $FF
-; Func_70a19 checks if W_CURMAP is in between or equal to each pair of maps
-MapIDList_70a44: ; 70a44 (1c:4a44)
+; GetBattleTransitionID_IsDungeonMap checks if W_CURMAP
+; is in between or equal to each pair of maps
+DungeonMaps2: ; 70a44 (1c:4a44)
; all MT_MOON maps
db MT_MOON_1
db MT_MOON_3
@@ -243,282 +253,274 @@ MapIDList_70a44: ; 70a44 (1c:4a44)
db LAVENDER_POKECENTER
db LAVENDER_HOUSE_2
- ; all SILPH_CO, MANSION, SAFARI_ZONE, and UNKNOWN_DUNGEON maps,
+ ; SILPH_CO_[2-8]F, MANSION[2-4], SAFARI_ZONE, and UNKNOWN_DUNGEON maps,
; except for SILPH_CO_1F
db SILPH_CO_2F
db UNKNOWN_DUNGEON_1
db $FF
LoadBattleTransitionTile: ; 70a4d (1c:4a4d)
- ld hl, $8ff0
- ld de, BattleTransitionTile ; $4a59
+ ld hl, vChars1 + $7f0
+ ld de, BattleTransitionTile
ld bc, (BANK(BattleTransitionTile) << 8) + $01
jp CopyVideoData
BattleTransitionTile: ; 70a59 (1c:4a59)
INCBIN "gfx/battle_transition.2bpp"
-Func_70a69: ; 70a69 (1c:4a69)
+BattleTransition_BlackScreen: ; 70a69 (1c:4a69)
ld a, $ff
ld [rBGP], a ; $ff47
ld [rOBP0], a ; $ff48
ld [rOBP1], a ; $ff49
ret
-Func_70a72: ; 70a72 (1c:4a72)
- ld a, [$cd47]
+; for non-dungeon trainer battles
+; called regardless of mon levels, but does an
+; outward spiral if enemy is at least 3 levels
+; higher than player and does an inward spiral otherwise
+BattleTransition_Spiral: ; 70a72 (1c:4a72)
+ ld a, [wcd47]
and a
- jr z, .asm_70a7d
- call Func_70aaa
- jr .asm_70a9f
-.asm_70a7d
- FuncCoord 10, 10 ; $c472
- ld hl, Coord
+ jr z, .outwardSpiral
+ call BattleTransition_InwardSpiral
+ jr .done
+.outwardSpiral
+ hlCoord 10, 10
ld a, $3
- ld [$d09f], a
+ ld [wd09f], a
ld a, l
- ld [$d09b], a
+ ld [wd09b], a
ld a, h
- ld [$d09a], a
+ ld [wd09a], a
ld b, $78
-.asm_70a8f
+.loop1
ld c, $3
-.asm_70a91
+.loop2
push bc
- call Func_70af9
+ call BattleTransition_OutwardSpiral_
pop bc
dec c
- jr nz, .asm_70a91
+ jr nz, .loop2
call DelayFrame
dec b
- jr nz, .asm_70a8f
-.asm_70a9f
- call Func_70a69
+ jr nz, .loop1
+.done
+ call BattleTransition_BlackScreen
xor a
- ld [$d09b], a
- ld [$d09a], a
+ ld [wd09b], a
+ ld [wd09a], a
ret
-Func_70aaa: ; 70aaa (1c:4aaa)
+BattleTransition_InwardSpiral: ; 70aaa (1c:4aaa)
ld a, $7
- ld [wWhichTrade], a ; $cd3d
+ ld [wWhichTrade], a
ld hl, wTileMap
ld c, $11
ld de, $14
- call Func_70ae0
+ call BattleTransition_InwardSpiral_
inc c
- jr .asm_70ac3
-.asm_70abd
+ jr .skip
+.loop
ld de, $14
- call Func_70ae0
-.asm_70ac3
+ call BattleTransition_InwardSpiral_
+.skip
inc c
ld de, $1
- call Func_70ae0
+ call BattleTransition_InwardSpiral_
dec c
dec c
ld de, $ffec
- call Func_70ae0
+ call BattleTransition_InwardSpiral_
inc c
- ld de, rIE ; $ffff
- call Func_70ae0
+ ld de, rIE
+ call BattleTransition_InwardSpiral_
dec c
dec c
ld a, c
and a
- jr nz, .asm_70abd
+ jr nz, .loop
ret
-Func_70ae0: ; 70ae0 (1c:4ae0)
+BattleTransition_InwardSpiral_: ; 70ae0 (1c:4ae0)
push bc
-.asm_70ae1
+.loop
ld [hl], $ff
add hl, de
push bc
- ld a, [wWhichTrade] ; $cd3d
+ ld a, [wWhichTrade]
dec a
- jr nz, .asm_70af0
- call Func_70d19
+ jr nz, .skip
+ call BattleTransition_TransferDelay3
ld a, $7
-.asm_70af0
- ld [wWhichTrade], a ; $cd3d
+.skip
+ ld [wWhichTrade], a
pop bc
dec c
- jr nz, .asm_70ae1
+ jr nz, .loop
pop bc
ret
-Func_70af9: ; 70af9 (1c:4af9)
+BattleTransition_OutwardSpiral_: ; 70af9 (1c:4af9)
ld bc, $ffec
ld de, $14
- ld a, [$d09b]
+ ld a, [wd09b]
ld l, a
- ld a, [$d09a]
+ ld a, [wd09a]
ld h, a
- ld a, [$d09f]
+ ld a, [wd09f]
cp $0
- jr z, .asm_70b25
+ jr z, .zero
cp $1
- jr z, .asm_70b2f
+ jr z, .one
cp $2
- jr z, .asm_70b39
+ jr z, .two
cp $3
- jr z, .asm_70b43
-.asm_70b1a
+ jr z, .three
+.done1
ld [hl], $ff
-.asm_70b1c
+.done2_
ld a, l
- ld [$d09b], a
+ ld [wd09b], a
ld a, h
- ld [$d09a], a
+ ld [wd09a], a
ret
-.asm_70b25
+.zero
dec hl
ld a, [hl]
cp $ff
- jr nz, .asm_70b4d
+ jr nz, .done2
inc hl
add hl, bc
- jr .asm_70b1a
-.asm_70b2f
+ jr .done1
+.one
add hl, de
ld a, [hl]
cp $ff
- jr nz, .asm_70b4d
+ jr nz, .done2
add hl, bc
dec hl
- jr .asm_70b1a
-.asm_70b39
+ jr .done1
+.two
inc hl
ld a, [hl]
cp $ff
- jr nz, .asm_70b4d
+ jr nz, .done2
dec hl
add hl, de
- jr .asm_70b1a
-.asm_70b43
+ jr .done1
+.three
add hl, bc
ld a, [hl]
cp $ff
- jr nz, .asm_70b4d
+ jr nz, .done2
add hl, de
inc hl
- jr .asm_70b1a
-.asm_70b4d
+ jr .done1
+.done2
ld [hl], $ff
- ld a, [$d09f]
+ ld a, [wd09f]
inc a
cp $4
- jr nz, .asm_70b58
+ jr nz, .skip
xor a
-.asm_70b58
- ld [$d09f], a
- jr .asm_70b1c
-
-Func_70b5d: ; 70b5d (1c:4b5d)
- ld hl, DataTable_70b72 ; $4b72
-.asm_70b60
+.skip
+ ld [wd09f], a
+ jr .done2_
+
+FlashScreen:
+BattleTransition_FlashScreen_: ; 70b5d (1c:4b5d)
+ ld hl, BattleTransition_FlashScreenPalettes
+.loop
ld a, [hli]
cp $1
- jr z, .asm_70b6e
- ld [rBGP], a ; $ff47
+ jr z, .done
+ ld [rBGP], a
ld c, $2
call DelayFrames
- jr .asm_70b60
-.asm_70b6e
+ jr .loop
+.done
dec b
- jr nz, Func_70b5d
+ jr nz, BattleTransition_FlashScreen_
ret
-DataTable_70b72: ; 70b72 (1c:4b72)
+BattleTransition_FlashScreenPalettes: ; 70b72 (1c:4b72)
db $F9,$FE,$FF,$FE,$F9,$E4,$90,$40,$00,$40,$90,$E4
db $01 ; terminator
-Func_70b7f: ; 70b7f (1c:4b7f)
+; used for low level trainer dungeon battles
+BattleTransition_Shrink: ; 70b7f (1c:4b7f)
ld c, $9
-.asm_70b81
+.loop
push bc
xor a
- ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
- FuncCoord 0, 7 ; $c42c
- ld hl, Coord
- FuncCoord 0, 8 ; $c440
- ld de, Coord
+ ld [H_AUTOBGTRANSFERENABLED], a
+ hlCoord 0, 7
+ deCoord 0, 8
ld bc, $ffd8
- call Func_70c12
- FuncCoord 0, 10 ; $c468
- ld hl, Coord
- FuncCoord 0, 9 ; $c454
- ld de, Coord
+ call BattleTransition_CopyTiles1
+ hlCoord 0, 10
+ deCoord 0, 9
ld bc, $28
- call Func_70c12
- FuncCoord 8, 0 ; $c3a8
- ld hl, Coord
- FuncCoord 9, 0 ; $c3a9
- ld de, Coord
+ call BattleTransition_CopyTiles1
+ hlCoord 8, 0
+ deCoord 9, 0
ld bc, $fffe
- call Func_70c3f
- FuncCoord 11, 0 ; $c3ab
- ld hl, Coord
- FuncCoord 10, 0 ; $c3aa
- ld de, Coord
+ call BattleTransition_CopyTiles2
+ hlCoord 11, 0
+ deCoord 10, 0
ld bc, $2
- call Func_70c3f
+ call BattleTransition_CopyTiles2
ld a, $1
- ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
+ ld [H_AUTOBGTRANSFERENABLED], a
ld c, $6
call DelayFrames
pop bc
dec c
- jr nz, .asm_70b81
- call Func_70a69
+ jr nz, .loop
+ call BattleTransition_BlackScreen
ld c, $a
jp DelayFrames
-Func_70bca: ; 70bca (1c:4bca)
+; used for high level trainer dungeon battles
+BattleTransition_Split: ; 70bca (1c:4bca)
ld c, $9
xor a
- ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
-.asm_70bcf
+ ld [H_AUTOBGTRANSFERENABLED], a
+.loop
push bc
- FuncCoord 0, 16 ; $c4e0
- ld hl, Coord
- FuncCoord 0, 17 ; $c4f4
- ld de, Coord
+ hlCoord 0, 16
+ deCoord 0, 17
ld bc, $ffd8
- call Func_70c12
- FuncCoord 0, 1 ; $c3b4
- ld hl, Coord
+ call BattleTransition_CopyTiles1
+ hlCoord 0, 1
ld de, wTileMap
ld bc, $28
- call Func_70c12
- FuncCoord 18, 0 ; $c3b2
- ld hl, Coord
- FuncCoord 19, 0 ; $c3b3
- ld de, Coord
+ call BattleTransition_CopyTiles1
+ hlCoord 18, 0
+ deCoord 19, 0
ld bc, $fffe
- call Func_70c3f
- FuncCoord 1, 0 ; $c3a1
- ld hl, Coord
+ call BattleTransition_CopyTiles2
+ hlCoord 1, 0
ld de, wTileMap
ld bc, $2
- call Func_70c3f
- call Func_70d19
+ call BattleTransition_CopyTiles2
+ call BattleTransition_TransferDelay3
call Delay3
pop bc
dec c
- jr nz, .asm_70bcf
- call Func_70a69
+ jr nz, .loop
+ call BattleTransition_BlackScreen
ld c, $a
jp DelayFrames
-Func_70c12: ; 70c12 (1c:4c12)
+BattleTransition_CopyTiles1: ; 70c12 (1c:4c12)
ld a, c
- ld [wWhichTrade], a ; $cd3d
+ ld [wWhichTrade], a
ld a, b
- ld [$cd3e], a
+ ld [wTrainerEngageDistance], a
ld c, $8
-.asm_70c1c
+.loop1
push bc
push hl
push de
@@ -526,89 +528,89 @@ Func_70c12: ; 70c12 (1c:4c12)
call CopyData
pop hl
pop de
- ld a, [wWhichTrade] ; $cd3d
+ ld a, [wWhichTrade]
ld c, a
- ld a, [$cd3e]
+ ld a, [wTrainerEngageDistance]
ld b, a
add hl, bc
pop bc
dec c
- jr nz, .asm_70c1c
+ jr nz, .loop1
ld l, e
ld h, d
ld a, $ff
ld c, $14
-.asm_70c3a
+.loop2
ld [hli], a
dec c
- jr nz, .asm_70c3a
+ jr nz, .loop2
ret
-Func_70c3f: ; 70c3f (1c:4c3f)
+BattleTransition_CopyTiles2: ; 70c3f (1c:4c3f)
ld a, c
- ld [wWhichTrade], a ; $cd3d
+ ld [wWhichTrade], a
ld a, b
- ld [$cd3e], a
+ ld [wTrainerEngageDistance], a
ld c, $9
-.asm_70c49
+.loop1
push bc
push hl
push de
ld c, $12
-.asm_70c4e
+.loop2
ld a, [hl]
ld [de], a
ld a, e
add $14
- jr nc, .asm_70c56
+ jr nc, .noCarry1
inc d
-.asm_70c56
+.noCarry1
ld e, a
ld a, l
add $14
- jr nc, .asm_70c5d
+ jr nc, .noCarry2
inc h
-.asm_70c5d
+.noCarry2
ld l, a
dec c
- jr nz, .asm_70c4e
+ jr nz, .loop2
pop hl
pop de
- ld a, [wWhichTrade] ; $cd3d
+ ld a, [wWhichTrade]
ld c, a
- ld a, [$cd3e]
+ ld a, [wTrainerEngageDistance]
ld b, a
add hl, bc
pop bc
dec c
- jr nz, .asm_70c49
+ jr nz, .loop1
ld l, e
ld h, d
ld de, $14
ld c, $12
-.asm_70c77
+.loop3
ld [hl], $ff
add hl, de
dec c
- jr nz, .asm_70c77
+ jr nz, .loop3
ret
-Func_70c7e: ; 70c7e (1c:4c7e)
+; used for high level wild dungeon battles
+BattleTransition_VerticalStripes: ; 70c7e (1c:4c7e)
ld c, $12
ld hl, wTileMap
- FuncCoord 1, 17 ; $c4f5
- ld de, Coord
+ deCoord 1, 17
xor a
- ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
-.asm_70c89
+ ld [H_AUTOBGTRANSFERENABLED], a
+.loop
push bc
push hl
push de
push de
- call Func_70caa
+ call BattleTransition_VerticalStripes_
pop hl
- call Func_70caa
- call Func_70d19
+ call BattleTransition_VerticalStripes_
+ call BattleTransition_TransferDelay3
pop hl
ld bc, $ffec
add hl, bc
@@ -619,109 +621,115 @@ Func_70c7e: ; 70c7e (1c:4c7e)
add hl, bc
pop bc
dec c
- jr nz, .asm_70c89
- jp Func_70a69
+ jr nz, .loop
+ jp BattleTransition_BlackScreen
-Func_70caa: ; 70caa (1c:4caa)
+BattleTransition_VerticalStripes_: ; 70caa (1c:4caa)
ld c, $a
-.asm_70cac
+.loop
ld [hl], $ff
inc hl
inc hl
dec c
- jr nz, .asm_70cac
+ jr nz, .loop
ret
-Func_70cb4: ; 70cb4 (1c:4cb4)
+; used for low level wild dungeon battles
+BattleTransition_HorizontalStripes: ; 70cb4 (1c:4cb4)
ld c, $14
ld hl, wTileMap
- FuncCoord 19, 1 ; $c3c7
- ld de, Coord
+ deCoord 19, 1
xor a
- ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
-.asm_70cbf
+ ld [H_AUTOBGTRANSFERENABLED], a
+.loop
push bc
push hl
push de
push de
- call Func_70cd8
+ call BattleTransition_HorizontalStripes_
pop hl
- call Func_70cd8
- call Func_70d19
+ call BattleTransition_HorizontalStripes_
+ call BattleTransition_TransferDelay3
pop de
pop hl
pop bc
inc hl
dec de
dec c
- jr nz, .asm_70cbf
- jp Func_70a69
+ jr nz, .loop
+ jp BattleTransition_BlackScreen
-Func_70cd8: ; 70cd8 (1c:4cd8)
+BattleTransition_HorizontalStripes_: ; 70cd8 (1c:4cd8)
ld c, $9
ld de, $28
-.asm_70cdd
+.loop
ld [hl], $ff
add hl, de
dec c
- jr nz, .asm_70cdd
+ jr nz, .loop
ret
-Func_70ce4: ; 70ce4 (1c:4ce4)
- call Func_70cfd
+; used for high level wild non-dungeon battles
+; makes one full circle around the screen
+; by animating each half circle one at a time
+BattleTransition_Circle: ; 70ce4 (1c:4ce4)
+ call BattleTransition_FlashScreen
ld bc, $000a
- ld hl, Unknown_70d61
- call Func_70d06
+ ld hl, BattleTransition_HalfCircle1
+ call BattleTransition_Circle_Sub1
ld c, $a
ld b, $1
- ld hl, Unknown_70d93
- call Func_70d06
- jp Func_70a69
+ ld hl, BattleTransition_HalfCircle2
+ call BattleTransition_Circle_Sub1
+ jp BattleTransition_BlackScreen
-Func_70cfd: ; 70cfd (1c:4cfd)
+BattleTransition_FlashScreen: ; 70cfd (1c:4cfd)
ld b, $3
- call Func_70b5d
+ call BattleTransition_FlashScreen_
xor a
- ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
+ ld [H_AUTOBGTRANSFERENABLED], a
ret
-Func_70d06: ; 70d06 (1c:4d06)
+BattleTransition_Circle_Sub1: ; 70d06 (1c:4d06)
push bc
push hl
ld a, b
- call Func_70d50
+ call BattleTransition_Circle_Sub2
pop hl
ld bc, $0005
add hl, bc
- call Func_70d19
+ call BattleTransition_TransferDelay3
pop bc
dec c
- jr nz, Func_70d06
+ jr nz, BattleTransition_Circle_Sub1
ret
-Func_70d19: ; 70d19 (1c:4d19)
+BattleTransition_TransferDelay3: ; 70d19 (1c:4d19)
ld a, $1
- ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
+ ld [H_AUTOBGTRANSFERENABLED], a
call Delay3
xor a
- ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
+ ld [H_AUTOBGTRANSFERENABLED], a
ret
-Func_70d24: ; 70d24 (1c:4d24)
- call Func_70cfd
+; used for low level wild non-dungeon battles
+; makes two half circles around the screen
+; by animating both half circles at the same time
+BattleTransition_DoubleCircle: ; 70d24 (1c:4d24)
+ call BattleTransition_FlashScreen
ld c, $a
- ld hl, Unknown_70d61 ; $4d61
- ld de, Unknown_70d93 ; $4d93
-.asm_70d2f
+ ld hl, BattleTransition_HalfCircle1
+ ld de, BattleTransition_HalfCircle2
+.loop
push bc
push hl
push de
push de
xor a
- call Func_70d50
+ call BattleTransition_Circle_Sub2
pop hl
ld a, $1
- call Func_70d50
+ call BattleTransition_Circle_Sub2
pop hl
ld bc, $5
add hl, bc
@@ -729,16 +737,16 @@ Func_70d24: ; 70d24 (1c:4d24)
ld d, h
pop hl
add hl, bc
- call Func_70d19
+ call BattleTransition_TransferDelay3
pop bc
dec c
- jr nz, .asm_70d2f
- jp Func_70a69
+ jr nz, .loop
+ jp BattleTransition_BlackScreen
-Func_70d50: ; 70d50 (1c:4d50)
- ld [wWhichTrade], a ; $cd3d
+BattleTransition_Circle_Sub2: ; 70d50 (1c:4d50)
+ ld [wWhichTrade], a
ld a, [hli]
- ld [$cd3e], a
+ ld [wTrainerEngageDistance], a
ld a, [hli]
ld e, a
ld a, [hli]
@@ -746,166 +754,146 @@ Func_70d50: ; 70d50 (1c:4d50)
ld a, [hli]
ld h, [hl]
ld l, a
- jp Func_70dc5
+ jp BattleTransition_Circle_Sub3
-Unknown_70d61: ; 70d61 (1c:4d61)
+BattleTransition_HalfCircle1: ; 70d61 (1c:4d61)
db $01
- dw Unknown_70dfe
- FuncCoord 18, 6
- dw Coord
+ dw BattleTransition_CircleData1
+ dwCoord 18, 6
db $01
- dw Unknown_70e04
- FuncCoord 19, 3
- dw Coord
+ dw BattleTransition_CircleData2
+ dwCoord 19, 3
db $01
- dw Unknown_70e0e
- FuncCoord 18, 0
- dw Coord
+ dw BattleTransition_CircleData3
+ dwCoord 18, 0
db $01
- dw Unknown_70e20
- FuncCoord 14, 0
- dw Coord
+ dw BattleTransition_CircleData4
+ dwCoord 14, 0
db $01
- dw Unknown_70e2e
- FuncCoord 10, 0
- dw Coord
+ dw BattleTransition_CircleData5
+ dwCoord 10, 0
db $00
- dw Unknown_70e2e
- FuncCoord 9, 0
- dw Coord
+ dw BattleTransition_CircleData5
+ dwCoord 9, 0
db $00
- dw Unknown_70e20
- FuncCoord 5, 0
- dw Coord
+ dw BattleTransition_CircleData4
+ dwCoord 5, 0
db $00
- dw Unknown_70e0e
- FuncCoord 1, 0
- dw Coord
+ dw BattleTransition_CircleData3
+ dwCoord 1, 0
db $00
- dw Unknown_70e04
- FuncCoord 0, 3
- dw Coord
+ dw BattleTransition_CircleData2
+ dwCoord 0, 3
db $00
- dw Unknown_70dfe
- FuncCoord 1, 6
- dw Coord
+ dw BattleTransition_CircleData1
+ dwCoord 1, 6
-Unknown_70d93: ; 70d93 (1c:4d93)
+BattleTransition_HalfCircle2: ; 70d93 (1c:4d93)
db $00
- dw Unknown_70dfe
- FuncCoord 1, 11
- dw Coord
+ dw BattleTransition_CircleData1
+ dwCoord 1, 11
db $00
- dw Unknown_70e04
- FuncCoord 0, 14
- dw Coord
+ dw BattleTransition_CircleData2
+ dwCoord 0, 14
db $00
- dw Unknown_70e0e
- FuncCoord 1, 17
- dw Coord
+ dw BattleTransition_CircleData3
+ dwCoord 1, 17
db $00
- dw Unknown_70e20
- FuncCoord 5, 17
- dw Coord
+ dw BattleTransition_CircleData4
+ dwCoord 5, 17
db $00
- dw Unknown_70e2e
- FuncCoord 9, 17
- dw Coord
+ dw BattleTransition_CircleData5
+ dwCoord 9, 17
db $01
- dw Unknown_70e2e
- FuncCoord 10, 17
- dw Coord
+ dw BattleTransition_CircleData5
+ dwCoord 10, 17
db $01
- dw Unknown_70e20
- FuncCoord 14, 17
- dw Coord
+ dw BattleTransition_CircleData4
+ dwCoord 14, 17
db $01
- dw Unknown_70e0e
- FuncCoord 18, 17
- dw Coord
+ dw BattleTransition_CircleData3
+ dwCoord 18, 17
db $01
- dw Unknown_70e04
- FuncCoord 19, 14
- dw Coord
+ dw BattleTransition_CircleData2
+ dwCoord 19, 14
db $01
- dw Unknown_70dfe
- FuncCoord 18, 11
- dw Coord
+ dw BattleTransition_CircleData1
+ dwCoord 18, 11
-Func_70dc5: ; 70dc5 (1c:4dc5)
+BattleTransition_Circle_Sub3: ; 70dc5 (1c:4dc5)
push hl
ld a, [de]
ld c, a
inc de
-.asm_70dc9
+.loop1
ld [hl], $ff
- ld a, [$cd3e]
+ ld a, [wTrainerEngageDistance]
and a
- jr z, .asm_70dd4
+ jr z, .skip1
inc hl
- jr .asm_70dd5
-.asm_70dd4
+ jr .skip2
+.skip1
dec hl
-.asm_70dd5
+.skip2
dec c
- jr nz, .asm_70dc9
+ jr nz, .loop1
pop hl
- ld a, [wWhichTrade] ; $cd3d
+ ld a, [wWhichTrade]
and a
ld bc, $14
- jr z, .asm_70de5
+ jr z, .skip3
ld bc, $ffec
-.asm_70de5
+.skip3
add hl, bc
ld a, [de]
inc de
cp $ff
ret z
and a
- jr z, Func_70dc5
+ jr z, BattleTransition_Circle_Sub3
ld c, a
-.asm_70def
- ld a, [$cd3e]
+.loop2
+ ld a, [wTrainerEngageDistance]
and a
- jr z, .asm_70df8
+ jr z, .skip4
dec hl
- jr .asm_70df9
-.asm_70df8
+ jr .skip5
+.skip4
inc hl
-.asm_70df9
+.skip5
dec c
- jr nz, .asm_70def
- jr Func_70dc5
+ jr nz, .loop2
+ jr BattleTransition_Circle_Sub3
-Unknown_70dfe: ; 70dfe (1c:4dfe)
+BattleTransition_CircleData1: ; 70dfe (1c:4dfe)
db $02,$03,$05,$04,$09,$FF
-Unknown_70e04: ; 70e04 (1c:4e04)
+BattleTransition_CircleData2: ; 70e04 (1c:4e04)
db $01,$01,$02,$02,$04,$02,$04,$02,$03,$FF
-Unknown_70e0e: ; 70e0e (1c:4e0e)
+BattleTransition_CircleData3: ; 70e0e (1c:4e0e)
db $02,$01,$03,$01,$04,$01,$04,$01,$04,$01,$03,$01,$02,$01,$01,$01,$01,$FF
-Unknown_70e20: ; 70e20 (1c:4e20)
+BattleTransition_CircleData4: ; 70e20 (1c:4e20)
db $04,$01,$04,$00,$03,$01,$03,$00,$02,$01,$02,$00,$01,$FF
-Unknown_70e2e: ; 70e2e (1c:4e2e)
+BattleTransition_CircleData5: ; 70e2e (1c:4e2e)
db $04,$00,$03,$00,$03,$00,$02,$00,$02,$00,$01,$00,$01,$00,$01,$FF
diff --git a/engine/battle/4.asm b/engine/battle/4.asm
index b19b3b49..db6614cc 100755
--- a/engine/battle/4.asm
+++ b/engine/battle/4.asm
@@ -1,12 +1,12 @@
Func_128d8: ; 128d8 (4:68d8)
- ld a, [W_YCOORD] ; $d361
+ ld a, [W_YCOORD] ; wd361
ld b, a
- ld a, [W_CURMAPHEIGHT] ; $d368
+ ld a, [W_CURMAPHEIGHT] ; wd368
call Func_128ea
ret z
- ld a, [W_XCOORD] ; $d362
+ ld a, [W_XCOORD] ; wd362
ld b, a
- ld a, [W_CURMAPWIDTH] ; $d369
+ ld a, [W_CURMAPWIDTH] ; wd369
Func_128ea: ; 128ea (4:68ea)
add a
@@ -15,20 +15,20 @@ Func_128ea: ; 128ea (4:68ea)
inc b
ret
-Func_128ef: ; 128ef (4:68ef)
- call Load16BitRegisters
+DrawHP: ; 128ef (4:68ef)
+ call GetPredefRegisters
ld a, $1
jr asm_128fb
Func_128f6: ; 128f6 (4:68f6)
- call Load16BitRegisters
+ call GetPredefRegisters
ld a, $2
asm_128fb: ; 128fb (4:68fb)
- ld [wListMenuID], a ; $cf94
+ ld [wListMenuID], a ; wListMenuID
push hl
- ld a, [$cf99]
+ ld a, [wcf99]
ld b, a
- ld a, [$cf9a]
+ ld a, [wcf9a]
ld c, a
or b
jr nz, .asm_12913
@@ -39,12 +39,11 @@ asm_128fb: ; 128fb (4:68fb)
ld d, a
jp Func_12924
.asm_12913
- ld a, [$cfba]
+ ld a, [wcfba]
ld d, a
- ld a, [$cfbb]
+ ld a, [wcfbb]
ld e, a
- ld a, $26
- call Predef ; indirect jump to UpdateHPBar_LoadRegisters (f9dc (3:79dc))
+ predef HPBarLength
ld a, $6
ld d, a
ld c, a
@@ -65,12 +64,12 @@ Func_12924: ; 12924 (4:6924)
ld bc, $15
.asm_1293a
add hl, bc
- ld de, $cf99
+ ld de, wcf99
ld bc, $203
call PrintNumber
ld a, "/"
ld [hli], a
- ld de, $cfba
+ ld de, wcfba
ld bc, $203
call PrintNumber
pop hl
diff --git a/engine/battle/4_2.asm b/engine/battle/4_2.asm
index de9aa7be..c5c62796 100755
--- a/engine/battle/4_2.asm
+++ b/engine/battle/4_2.asm
@@ -1,16 +1,16 @@
Func_137aa: ; 137aa (4:77aa)
- ld a, [W_ISLINKBATTLE] ; $d12b
+ ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $4
jr nz, .asm_137eb
- ld a, [W_ENEMYMONNUMBER] ; $cfe8
- ld hl, $d8a8
- ld bc, $2c
+ ld a, [wEnemyMonPartyPos]
+ ld hl, wEnemyMon1Status
+ ld bc, wEnemyMon2 - wEnemyMon1
call AddNTimes
- ld a, [W_ENEMYMONSTATUS] ; $cfe9
+ ld a, [wEnemyMonStatus] ; wcfe9
ld [hl], a
call ClearScreen
callab Func_372d6
- ld a, [$cf0b]
+ ld a, [wcf0b]
cp $1
ld de, YouWinText
jr c, .asm_137de
@@ -18,62 +18,59 @@ Func_137aa: ; 137aa (4:77aa)
jr z, .asm_137de
ld de, DrawText
.asm_137de
- FuncCoord 6, 8 ; $c446
- ld hl, Coord
+ hlCoord 6, 8
call PlaceString
ld c, $c8
call DelayFrames
jr .asm_1380a
.asm_137eb
- ld a, [$cf0b]
+ ld a, [wcf0b]
and a
jr nz, .asm_13813
- ld hl, $cce5
+ ld hl, wcce5
ld a, [hli]
or [hl]
inc hl
or [hl]
jr z, .asm_1380a
- ld de, wPlayerMoney + 2 ; $d349
+ ld de, wPlayerMoney + 2 ; wd349
ld c, $3
- ld a, $b
- call Predef ; indirect jump to Func_f81d (f81d (3:781d))
+ predef AddBCDPredef
ld hl, PickUpPayDayMoneyText
call PrintText
.asm_1380a
xor a
- ld [$ccd4], a
- ld a, $2a
- call Predef ; indirect jump to Func_3ad1c (3ad1c (e:6d1c))
+ ld [wccd4], a
+ predef Func_3ad1c
.asm_13813
xor a
- ld [$d083], a
- ld [$c02a], a
- ld [W_ISINBATTLE], a ; $d057
- ld [W_BATTLETYPE], a ; $d05a
- ld [W_MOVEMISSED], a ; $d05f
- ld [W_CUROPPONENT], a ; $d059
- ld [$d11f], a
- ld [$d120], a
- ld [$d078], a
- ld hl, $cc2b
+ ld [wd083], a
+ ld [wc02a], a
+ ld [W_ISINBATTLE], a ; W_ISINBATTLE
+ ld [W_BATTLETYPE], a ; wd05a
+ ld [W_MOVEMISSED], a ; W_MOVEMISSED
+ ld [W_CUROPPONENT], a ; wd059
+ ld [wd11f], a
+ ld [wd120], a
+ ld [wd078], a
+ ld hl, wcc2b
ld [hli], a
ld [hli], a
ld [hli], a
ld [hl], a
- ld [wListScrollOffset], a ; $cc36
- ld hl, $d060
+ ld [wListScrollOffset], a ; wcc36
+ ld hl, wd060
ld b, $18
.asm_1383e
ld [hli], a
dec b
jr nz, .asm_1383e
- ld hl, $d72c
+ ld hl, wd72c
set 0, [hl]
call WaitForSoundToFinish
call GBPalWhiteOut
ld a, $ff
- ld [$d42f], a
+ ld [wd42f], a
ret
YouWinText: ; 13853 (4:7853)
@@ -90,10 +87,10 @@ PickUpPayDayMoneyText: ; 1386b (4:786b)
db "@"
Func_13870: ; 13870 (4:7870)
- ld a, [$cc57]
+ ld a, [wcc57]
and a
ret nz
- ld a, [$d736]
+ ld a, [wd736]
and a
ret nz
callab Func_c49d
@@ -105,37 +102,36 @@ Func_13870: ; 13870 (4:7870)
.asm_13888
callab Func_128d8
jr z, .asm_13884
- ld a, [$d0db]
+ ld a, [wd0db]
and a
jr z, .asm_1389e
dec a
jr z, .asm_13905
- ld [$d0db], a
+ ld [wd0db], a
.asm_1389e
- FuncCoord 9, 9 ; $c45d
- ld hl, Coord
+ hlCoord 9, 9
ld c, [hl]
ld a, [W_GRASSTILE]
cp c
- ld a, [W_GRASSRATE] ; $d887
+ ld a, [W_GRASSRATE] ; W_GRASSRATE
jr z, .asm_138c4
ld a, $14
cp c
- ld a, [W_WATERRATE] ; $d8a4
+ ld a, [W_WATERRATE] ; wEnemyMon1Species
jr z, .asm_138c4
- ld a, [W_CURMAP] ; $d35e
+ ld a, [W_CURMAP] ; W_CURMAP
cp REDS_HOUSE_1F
jr c, .asm_13912
- ld a, [W_CURMAPTILESET] ; $d367
+ ld a, [W_CURMAPTILESET] ; W_CURMAPTILESET
cp FOREST ; Viridian Forest/Safari Zone
jr z, .asm_13912
- ld a, [W_GRASSRATE] ; $d887
+ ld a, [W_GRASSRATE] ; W_GRASSRATE
.asm_138c4
ld b, a
- ld a, [H_RAND1] ; $ffd3
+ ld a, [hRandomAdd]
cp b
jr nc, .asm_13912
- ld a, [H_RAND2] ; $ffd4
+ ld a, [hRandomSub]
ld b, a
ld hl, WildMonEncounterSlotChances ; $7918
.asm_138d0
@@ -146,31 +142,30 @@ Func_13870: ; 13870 (4:7870)
jr .asm_138d0
.asm_138d7
ld c, [hl]
- ld hl, W_GRASSMONS ; $d888
- FuncCoord 8, 9 ; $c45c
- ld a, [Coord]
+ ld hl, W_GRASSMONS ; wd888
+ aCoord 8, 9
cp $14
jr nz, .asm_138e5
- ld hl, W_WATERMONS ; $d8a5 (aliases: W_ENEMYMON1HP)
+ ld hl, W_WATERMONS ; wd8a5 (aliases: wEnemyMon1HP)
.asm_138e5
ld b, $0
add hl, bc
ld a, [hli]
- ld [W_CURENEMYLVL], a ; $d127
+ ld [W_CURENEMYLVL], a ; W_CURENEMYLVL
ld a, [hl]
- ld [$cf91], a
- ld [W_ENEMYMONID], a
- ld a, [$d0db]
+ ld [wcf91], a
+ ld [wEnemyMonSpecies2], a
+ ld a, [wd0db]
and a
jr z, .asm_13916
- ld a, [W_PARTYMON1_LEVEL] ; $d18c
+ ld a, [wPartyMon1Level] ; wPartyMon1Level
ld b, a
- ld a, [W_CURENEMYLVL] ; $d127
+ ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL
cp b
jr c, .asm_13912
jr .asm_13916
.asm_13905
- ld [$d0db], a
+ ld [wd0db], a
ld a, $d2
ld [H_DOWNARROWBLINKCNT2], a ; $ff8c
call EnableAutoTextBoxDrawing
@@ -202,14 +197,14 @@ WildMonEncounterSlotChances: ; 13918 (4:7918)
RecoilEffect_: ; 1392c (4:792c)
ld a, [H_WHOSETURN] ; $fff3
and a
- ld a, [W_PLAYERMOVENUM] ; $cfd2
- ld hl, W_PLAYERMONMAXHP ; $d023
+ ld a, [W_PLAYERMOVENUM] ; wcfd2
+ ld hl, wBattleMonMaxHP ; wd023
jr z, .asm_1393d
- ld a, [W_ENEMYMOVENUM] ; $cfcc
- ld hl, W_ENEMYMONMAXHP ; $cff4
+ ld a, [W_ENEMYMOVENUM] ; W_ENEMYMOVENUM
+ ld hl, wEnemyMonMaxHP ; wEnemyMonMaxHP
.asm_1393d
ld d, a
- ld a, [W_DAMAGE] ; $d0d7
+ ld a, [W_DAMAGE] ; W_DAMAGE
ld b, a
ld a, [W_DAMAGE + 1]
ld c, a
@@ -252,19 +247,16 @@ RecoilEffect_: ; 1392c (4:792c)
ld [hli], a
ld [hl], a
.asm_13982
- FuncCoord 10, 9 ; $c45e
- ld hl, Coord
+ hlCoord 10, 9
ld a, [H_WHOSETURN] ; $fff3
and a
ld a, $1
jr z, .asm_13990
- FuncCoord 2, 2 ; $c3ca
- ld hl, Coord
+ hlCoord 2, 2
xor a
.asm_13990
- ld [wListMenuID], a ; $cf94
- ld a, $48
- call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d))
+ ld [wListMenuID], a ; wListMenuID
+ predef UpdateHPBar2
ld hl, HitWithRecoilText ; $799e
jp PrintText
HitWithRecoilText: ; 1399e (4:799e)
@@ -272,8 +264,8 @@ HitWithRecoilText: ; 1399e (4:799e)
db "@"
ConversionEffect_: ; 139a3 (4:79a3)
- ld hl, W_ENEMYMONTYPE1
- ld de, W_PLAYERMONTYPE1
+ ld hl, wEnemyMonType1
+ ld de, wBattleMonType1
ld a, [H_WHOSETURN]
and a
ld a, [W_ENEMYBATTSTATUS1]
@@ -312,18 +304,18 @@ HazeEffect_: ; 139da (4:79da)
call Func_13a43
ld hl, wEnemyMonAttackMod
call Func_13a43
- ld hl, $cd12
- ld de, W_PLAYERMONATK
+ ld hl, wcd12
+ ld de, wBattleMonAttack
call Func_13a4a
- ld hl, $cd26
- ld de, W_ENEMYMONATTACK
+ ld hl, wcd26
+ ld de, wEnemyMonAttack
call Func_13a4a
- ld hl, W_ENEMYMONSTATUS
+ ld hl, wEnemyMonStatus
ld de, wEnemySelectedMove
ld a, [H_WHOSETURN]
and a
jr z, .asm_13a09
- ld hl, W_PLAYERMONSTATUS
+ ld hl, wBattleMonStatus
dec de
.asm_13a09
@@ -338,7 +330,7 @@ HazeEffect_: ; 139da (4:79da)
xor a
ld [W_PLAYERDISABLEDMOVE], a
ld [W_ENEMYDISABLEDMOVE], a
- ld hl, $ccee
+ ld hl, wccee
ld [hli], a
ld [hl], a
ld hl, W_PLAYERBATTSTATUS1
@@ -384,25 +376,25 @@ StatusChangesEliminatedText: ; 13a53 (4:7a53)
db "@"
GetTrainerName_: ; 13a58 (4:7a58)
- ld hl, W_GRASSRATE ; $d887
- ld a, [W_ISLINKBATTLE] ; $d12b
+ ld hl, W_GRASSRATE ; W_GRASSRATE
+ ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
and a
jr nz, .rival
- ld hl, W_RIVALNAME ; $d34a
- ld a, [W_TRAINERCLASS] ; $d031
+ ld hl, W_RIVALNAME ; wd34a
+ ld a, [W_TRAINERCLASS] ; wd031
cp SONY1
jr z, .rival
cp SONY2
jr z, .rival
cp SONY3
jr z, .rival
- ld [$d0b5], a
+ ld [wd0b5], a
ld a, TRAINER_NAME
ld [W_LISTTYPE], a
ld a, $e
- ld [$d0b7], a
+ ld [wPredefBank], a
call GetName
- ld hl, $cd6d
+ ld hl, wcd6d
.rival
ld de, W_TRAINERNAME
ld bc, $d
diff --git a/engine/battle/5.asm b/engine/battle/5.asm
index 4dbfb4df..6c7a642e 100755
--- a/engine/battle/5.asm
+++ b/engine/battle/5.asm
@@ -1,13 +1,13 @@
SubstituteEffectHandler: ; 17dad (5:7dad)
ld c, 50
call DelayFrames
- ld hl, W_PLAYERMONMAXHP
+ ld hl, wBattleMonMaxHP
ld de, wPlayerSubstituteHP
ld bc, W_PLAYERBATTSTATUS2
ld a, [$fff3] ;whose turn?
and a
jr z, .notEnemy
- ld hl, W_ENEMYMONMAXHP
+ ld hl, wEnemyMonMaxHP
ld de, wEnemySubstituteHP
ld bc, W_ENEMYBATTSTATUS2
.notEnemy
@@ -42,7 +42,7 @@ SubstituteEffectHandler: ; 17dad (5:7dad)
ld h, b
ld l, c
set 4, [hl] ;set bit 4 of flags, user now has substitute
- ld a, [$d355] ;load options
+ ld a, [W_OPTIONS] ;load options
bit 7, a ;battle animation is enabled?
ld hl, Func_3fba8 ; $7ba8 ;animation enabled: 0F:7BA8
ld b, BANK(Func_3fba8)
diff --git a/engine/battle/9.asm b/engine/battle/9.asm
index 79624d34..dc72825c 100755
--- a/engine/battle/9.asm
+++ b/engine/battle/9.asm
@@ -1,5 +1,5 @@
Func_27d6b: ; 27d6b (9:7d6b)
- call Load16BitRegisters
+ call GetPredefRegisters
push hl
call GetMonHeader
pop hl
@@ -26,9 +26,9 @@ asm_27d8c: ; 27d8c (9:7d8c)
jp FillMemory
Func_27d98: ; 27d98 (9:7d98)
- call Load16BitRegisters
+ call GetPredefRegisters
push hl
- ld a, [W_PLAYERMOVETYPE] ; $cfd5
+ ld a, [W_PLAYERMOVETYPE] ; wcfd5
asm_27d9f: ; 27d9f (9:7d9f)
add a
ld hl, TypeNamePointers ; $7dae
@@ -54,7 +54,7 @@ SaveTrainerName: ; 27e4a (9:7e4a)
ld a,[hli]
ld h,[hl]
ld l,a
- ld de,$CD6D
+ ld de,wcd6d
.CopyCharacter
ld a,[hli]
ld [de],a
@@ -157,11 +157,11 @@ CooltrainerFName: ; 27f79 (9:7f79)
db "COOLTRAINER♀@"
FocusEnergyEffect_: ; 27f86 (9:7f86)
- ld hl, W_PLAYERBATTSTATUS2 ; $d063
+ ld hl, W_PLAYERBATTSTATUS2 ; W_PLAYERBATTSTATUS2
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_27f91
- ld hl, W_ENEMYBATTSTATUS2 ; $d068
+ ld hl, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2
.asm_27f91
bit 2, [hl] ; is mon already using focus energy?
jr nz, .asm_27fa5
diff --git a/engine/battle/a.asm b/engine/battle/a.asm
index 2e409b57..fd3ef40b 100755
--- a/engine/battle/a.asm
+++ b/engine/battle/a.asm
@@ -1,15 +1,15 @@
LeechSeedEffect_: ; 2bea9 (a:7ea9)
callab MoveHitTest
- ld a, [W_MOVEMISSED] ; $d05f
+ ld a, [W_MOVEMISSED] ; W_MOVEMISSED
and a
jr nz, .asm_2bee7
- ld hl, W_ENEMYBATTSTATUS2 ; $d068
- ld de, W_ENEMYMONTYPE1 ; $cfea (aliases: W_ENEMYMONTYPES)
+ ld hl, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2
+ ld de, wEnemyMonType1 ; wcfea (aliases: wEnemyMonType)
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_2bec8
- ld hl, W_PLAYERBATTSTATUS2 ; $d063
- ld de, W_PLAYERMONTYPE1 ; $d019 (aliases: W_PLAYERMONTYPES)
+ ld hl, W_PLAYERBATTSTATUS2 ; W_PLAYERBATTSTATUS2
+ ld de, wBattleMonType1 ; wd019 (aliases: wBattleMonType)
.asm_2bec8
ld a, [de]
cp GRASS
diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm
index aaa65bbb..cc598de4 100755
--- a/engine/battle/animations.asm
+++ b/engine/battle/animations.asm
@@ -223,7 +223,7 @@ PlayAnimation: ; 780f1 (1e:40f1)
rla
sla c
rla
- ld [$D09F],a ; tile select
+ ld [wd09f],a ; tile select
ld a,[hli] ; sound
ld [wAnimSoundID],a ; store sound
ld a,[hli] ; subanimation ID
@@ -243,7 +243,7 @@ PlayAnimation: ; 780f1 (1e:40f1)
push hl
ld a,[rOBP0]
push af
- ld a,[$CC79]
+ ld a,[wcc79]
ld [rOBP0],a
call LoadAnimationTileset
call LoadSubanimation
@@ -328,7 +328,7 @@ GetSubanimationTransform2: ; 781ca (1e:41ca)
; loads tile patterns for battle animations
LoadAnimationTileset: ; 781d2 (1e:41d2)
- ld a,[$D09F] ; tileset select
+ ld a,[wd09f] ; tileset select
add a
add a
ld hl,AnimationTilesetPointers
@@ -336,14 +336,14 @@ LoadAnimationTileset: ; 781d2 (1e:41d2)
ld d,0
add hl,de
ld a,[hli]
- ld [$D07D],a ; number of tiles
+ ld [wd07d],a ; number of tiles
ld a,[hli]
ld e,a
ld a,[hl]
ld d,a ; de = address of tileset
- ld hl,$8310 ; destination address in VRAM
+ ld hl,vSprites + $310
ld b, BANK(AnimationTileset1) ; ROM bank
- ld a,[$D07D]
+ ld a,[wd07d]
ld c,a ; number of tiles
jp CopyVideoData ; load tileset
@@ -394,7 +394,7 @@ MoveAnimation: ; 78d5e (1e:4d5e)
.MoveAnimation
; check if battle animations are disabled in the options
- ld a,[$D355]
+ ld a,[W_OPTIONS]
bit 7,a
jr nz,.AnimationsDisabled
call ShareMoveAnimations
@@ -408,11 +408,11 @@ MoveAnimation: ; 78d5e (1e:4d5e)
.AnimationFinished
call WaitForSoundToFinish
xor a
- ld [$D096],a
- ld [$D09B],a
- ld [$D08B],a
+ ld [W_SUBANIMSUBENTRYADDR],a
+ ld [wd09b],a
+ ld [W_SUBANIMTRANSFORM],a
dec a
- ld [$CF07],a
+ ld [wAnimSoundID],a
pop af
pop bc
pop de
@@ -443,7 +443,7 @@ ShareMoveAnimations: ; 78da6 (1e:4da6)
ret
Func_78dbd: ; 78dbd (1e:4dbd)
- ld a,[$CC5B]
+ ld a,[wcc5b]
and a
ret z
dec a
@@ -517,14 +517,14 @@ Func_78e01: ; 78e01 (1e:4e01)
ret
Func_78e23: ; 78e23 (1e:4e23)
- ld a, [$cf1b]
+ ld a, [wcf1b]
and a
ld a, $e4
jr z, .asm_78e47
ld a, $f0
- ld [$cc79], a
+ ld [wcc79], a
ld b, $e4
- ld a, [W_ANIMATIONID] ; $d07c
+ ld a, [W_ANIMATIONID] ; W_ANIMATIONID
cp $aa
jr c, .asm_78e3f
cp $ae
@@ -538,7 +538,7 @@ Func_78e23: ; 78e23 (1e:4e23)
ret
.asm_78e47
ld a, $e4
- ld [$cc79], a
+ ld [wcc79], a
ld [rOBP0], a ; $ff48
ld a, $6c
ld [rOBP1], a ; $ff49
@@ -616,7 +616,7 @@ AnimationCleanOAM: ; 78ec8 (1e:4ec8)
push bc
push af
call DelayFrame
- call CleanLCD_OAM
+ call ClearSprites
pop af
pop bc
pop de
@@ -724,7 +724,7 @@ AnimationIdSpecialEffects: ; 78ef5 (1e:4ef5)
db $FF ; terminator
DoBallTossSpecialEffects: ; 78f3e (1e:4f3e)
- ld a,[$CF91]
+ ld a,[wcf91]
cp a,3 ; is it a Master Ball or Ultra Ball?
jr nc,.skipFlashingEffect
.flashingEffect ; do a flashing effect if it's Master Ball or Ultra Ball
@@ -742,7 +742,7 @@ DoBallTossSpecialEffects: ; 78f3e (1e:4f3e)
ld a,[W_ISINBATTLE]
cp a,02 ; is it a trainer battle?
jr z,.isTrainerBattle
- ld a,[$d11e]
+ ld a,[wd11e]
cp a,$10 ; is the enemy pokemon the Ghost Marowak?
ret nz
; if the enemy pokemon is the Ghost Marowak, make it dodge during the last 3 frames
@@ -754,8 +754,7 @@ DoBallTossSpecialEffects: ; 78f3e (1e:4f3e)
cp a,1
ret nz
.moveGhostMarowakLeft
- FuncCoord 17,0
- ld hl,Coord
+ hlCoord 17, 0
ld de,20
ld bc,$0707 ; 7 rows and 7 columns
.loop
@@ -792,9 +791,9 @@ DoBallShakeSpecialEffects: ; 78f96 (1e:4f96)
dec a
ret nz
; if it's the end of the ball shaking subanimation, check if more shakes are left and restart the subanimation
- ld a,[$cd3d] ; number of shakes
+ ld a,[wWhichTrade] ; number of shakes
dec a ; decrement number of shakes
- ld [$cd3d],a
+ ld [wWhichTrade],a
ret z
; if there are shakes left, restart the subanimation
ld a,[W_SUBANIMSUBENTRYADDR]
@@ -831,11 +830,9 @@ DoRockSlideSpecialEffects: ; 78fd9 (1e:4fd9)
; if the subaninmation counter is between 8 and 11, shake the screen horizontally and vertically
.shakeScreen
ld b,1
- ld a,$24
- call Predef ; shake horizontally
+ predef Func_48125 ; shake horizontally
ld b,1
- ld a,$21
- jp Predef ; shake vertically
+ predef_jump Func_480ff ; shake vertically
FlashScreenEveryEightFrameBlocks: ; 78ff7 (1e:4ff7)
ld a,[W_SUBANIMCOUNTER]
@@ -856,8 +853,7 @@ DoExplodeSpecialEffects: ; 79009 (1e:5009)
cp a,1 ; is it the end of the subanimation?
jr nz,FlashScreenEveryFourFrameBlocks
; if it's the end of the subanimation, make the attacking pokemon disappear
- FuncCoord 1, 5 ; $c405
- ld hl,Coord
+ hlCoord 1, 5
jp AnimationHideMonPic ; make pokemon disappear
; flashes the screen when subanimation counter is 1 modulo 4
@@ -975,7 +971,7 @@ BallMoveDistances2: ; 790b3 (1e:50b3)
; so that there are two musical notes flying towards the defending pokemon
DoGrowlSpecialEffects: ; 790bc (1e:50bc)
ld hl,wOAMBuffer ; OAM buffer
- ld de,$c310
+ ld de,wOAMBuffer + $10
ld bc,$10
call CopyData ; copy the musical note graphic
ld a,[W_SUBANIMCOUNTER]
@@ -1094,8 +1090,8 @@ CallWithTurnFlipped: ; 79155 (1e:5155)
; flashes the screen for an extended period (48 frames)
AnimationFlashScreenLong: ; 79165 (1e:5165)
ld a,3 ; cycle through the palettes 3 times
- ld [$D08A],a
- ld a,[$cf1b] ; running on SGB?
+ ld [wd08a],a
+ ld a,[wcf1b] ; running on SGB?
and a
ld hl,FlashScreenLongMonochrome
jr z,.loop
@@ -1110,9 +1106,9 @@ AnimationFlashScreenLong: ; 79165 (1e:5165)
call FlashScreenLongDelay
jr .innerLoop
.endOfPalettes
- ld a,[$D08A]
+ ld a,[wd08a]
dec a
- ld [$D08A],a
+ ld [wd08a],a
pop hl
jr nz,.loop
ret
@@ -1152,8 +1148,8 @@ FlashScreenLongSGB: ; 7919b (1e:519b)
; causes a delay of 2 frames for the first cycle
; causes a delay of 1 frame for the second and third cycles
FlashScreenLongDelay: ; 791a8 (1e:51a8)
- ld a,[$D08A]
- cp a,4 ; never true since [$D08A] starts at 3
+ ld a,[wd08a]
+ cp a,4 ; never true since [wd08a] starts at 3
ld c,4
jr z,.delayFrames
cp a,3
@@ -1215,7 +1211,7 @@ Func_791f9: ; 791f9 (1e:51f9)
ld bc, $4040
Func_791fc: ; 791fc (1e:51fc)
- ld a, [$cf1b]
+ ld a, [wcf1b]
and a
ld a, b
jr z, .asm_79204
@@ -1227,39 +1223,37 @@ Func_791fc: ; 791fc (1e:51fc)
ld b, $5
Func_79209: ; 79209 (1e:5209)
- ld a, $21
- jp Predef ; indirect jump to Func_480ff (480ff (12:40ff))
+ predef_jump Func_480ff
AnimationShakeScreen: ; 7920e (1e:520e)
; Shakes the screen for a while. Used in Earthquake/Fissure/etc. animations.
ld b, $8
Func_79210: ; 79210 (1e:5210)
- ld a, $24
- jp Predef ; indirect jump to Func_48125 (48125 (12:4125))
+ predef_jump Func_48125
AnimationWaterDropletsEverywhere: ; 79215 (1e:5215)
; Draws water droplets all over the screen and makes them
; scroll. It's hard to describe, but it's the main animation
; in Surf/Mist/Toxic.
xor a
- ld [$d09f], a
+ ld [wd09f], a
call LoadAnimationTileset
ld d, $20
ld a, $f0
- ld [W_BASECOORDX], a ; $d081
+ ld [W_BASECOORDX], a ; wd081
ld a, $71
- ld [$d09f], a
+ ld [wd09f], a
.asm_79228
ld a, $10
- ld [W_BASECOORDY], a ; $d082
+ ld [W_BASECOORDY], a ; wd082
ld a, $0
- ld [$d08a], a
+ ld [wd08a], a
call Func_79246
ld a, $18
- ld [W_BASECOORDY], a ; $d082
+ ld [W_BASECOORDY], a ; wd082
ld a, $20
- ld [$d08a], a
+ ld [wd08a], a
call Func_79246
dec d
jr nz, .asm_79228
@@ -1268,24 +1262,24 @@ AnimationWaterDropletsEverywhere: ; 79215 (1e:5215)
Func_79246: ; 79246 (1e:5246)
ld hl, wOAMBuffer
.asm_79249
- ld a, [W_BASECOORDY] ; $d082
+ ld a, [W_BASECOORDY] ; wd082
ld [hli], a
- ld a, [W_BASECOORDX] ; $d081
+ ld a, [W_BASECOORDX] ; wd081
add $1b
- ld [W_BASECOORDX], a ; $d081
+ ld [W_BASECOORDX], a ; wd081
ld [hli], a
- ld a, [$d09f]
+ ld a, [wd09f]
ld [hli], a
xor a
ld [hli], a
- ld a, [W_BASECOORDX] ; $d081
+ ld a, [W_BASECOORDX] ; wd081
cp $90
jr c, .asm_79249
sub $a8
- ld [W_BASECOORDX], a ; $d081
- ld a, [W_BASECOORDY] ; $d082
+ ld [W_BASECOORDX], a ; wd081
+ ld a, [W_BASECOORDY] ; wd082
add $10
- ld [W_BASECOORDY], a ; $d082
+ ld [W_BASECOORDY], a ; wd082
cp $70
jr c, .asm_79249
call AnimationCleanOAM
@@ -1296,15 +1290,15 @@ AnimationSlideMonUp: ; 7927a (1e:527a)
ld c, $7
ld a, [H_WHOSETURN]
and a
- ld hl, $c419
- ld de, $c405
+ ld hl, wTileMap + $79
+ ld de, wTileMap + $65
ld a, $30
jr z, .asm_79291
- ld hl, $c3c0
- ld de, $c3ac
+ ld hl, wTileMap + $20
+ ld de, wTileMap + $c
ld a, $ff
.asm_79291
- ld [$d09f], a
+ ld [wd09f], a
jp Func_792bf
AnimationSlideMonDown: ; 79297 (1e:5297)
@@ -1328,7 +1322,7 @@ AnimationSlideMonOut: ; 792af (1e:52af)
; Slides the mon's sprite out of the screen horizontally.
ld e, $8
ld a, $3
- ld [W_SUBANIMTRANSFORM], a ; $d08b
+ ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
jp Func_795f8
AnimationSlideEnemyMonOut: ; 792b9 (1e:52b9)
@@ -1356,13 +1350,13 @@ Func_792bf: ; 792bf (1e:52bf)
jr nz, .asm_792c4
ld a, [H_WHOSETURN]
and a
- ld hl, $c47d
+ ld hl, wTileMap + $dd
jr z, .asm_792e2
- ld hl, $c424
+ ld hl, wTileMap + $84
.asm_792e2
- ld a, [$d09f]
+ ld a, [wd09f]
inc a
- ld [$d09f], a
+ ld [wd09f], a
ld c, $7
.asm_792eb
ld [hli], a
@@ -1409,7 +1403,7 @@ Func_79329: ; 79329 (1e:5329)
add $8
ld e, a
ld [hli], a
- ld a, [W_BASECOORDX] ; $d081
+ ld a, [W_BASECOORDX] ; wd081
ld [hli], a
ld a, d
ld [hli], a
@@ -1424,7 +1418,7 @@ Func_79337: ; 79337 (1e:5337)
Func_79339: ; 79339 (1e:5339)
ld de, $4
.asm_7933c
- ld a, [$d08a]
+ ld a, [wd08a]
ld b, a
ld a, [hl]
add b
@@ -1447,7 +1441,7 @@ Func_79350: ; 79350 (1e:5350)
Func_79352: ; 79352 (1e:5352)
ld de, $4
.asm_79355
- ld a, [$d08a]
+ ld a, [wd08a]
ld b, a
ld a, [hl]
add b
@@ -1488,10 +1482,10 @@ AnimationBlinkMon: ; 7936f (1e:536f)
AnimationFlashMonPic: ; 79389 (1e:5389)
; Flashes the mon's sprite on and off
- ld a, [W_PLAYERMONID]
- ld [$ceea], a
- ld a, [$cfe5]
- ld [$cee9], a
+ ld a, [wBattleMonSpecies]
+ ld [wHPBarMaxHP + 1], a
+ ld a, [wEnemyMonSpecies]
+ ld [wHPBarMaxHP], a
jp Func_79793
AnimationFlashEnemyMonPic: ; 79398 (1e:5398)
@@ -1517,11 +1511,11 @@ AnimationShakeBackAndForth: ; 793b1 (1e:53b1)
; The mon's sprite disappears after this animation.
ld a, [H_WHOSETURN]
and a
- ld hl, $c404
- ld de, $c406
+ ld hl, wTileMap + $64
+ ld de, wTileMap + $66
jr z, .asm_793c2
- ld hl, $c3ab
- ld de, $c3ad
+ ld hl, wTileMap + $b
+ ld de, wTileMap + $d
.asm_793c2
xor a
@@ -1565,11 +1559,9 @@ AnimationMoveMonHorizontally: ; 793f9 (1e:53f9)
call AnimationHideMonPic
ld a, [H_WHOSETURN] ; $fff3
and a
- FuncCoord 2, 5 ; $c406
- ld hl, Coord
+ hlCoord 2, 5
jr z, .asm_79407
- FuncCoord 11, 0 ; $c3ab
- ld hl, Coord
+ hlCoord 11, 0
.asm_79407
xor a
push hl
@@ -1597,14 +1589,14 @@ AnimationSpiralBallsInward: ; 79424 (1e:5424)
and a
jr z, .asm_79435
ld a, $d8
- ld [$d08a], a
+ ld [wd08a], a
ld a, $50
- ld [W_SUBANIMTRANSFORM], a ; $d08b
+ ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
jr .asm_7943c
.asm_79435
xor a
- ld [$d08a], a
- ld [W_SUBANIMTRANSFORM], a ; $d08b
+ ld [wd08a], a
+ ld [W_SUBANIMTRANSFORM], a ; W_SUBANIMTRANSFORM
.asm_7943c
ld d, $7a
ld c, $3
@@ -1619,12 +1611,12 @@ AnimationSpiralBallsInward: ; 79424 (1e:5424)
ld a, [hl]
cp $ff
jr z, .asm_7946f
- ld a, [$d08a]
+ ld a, [wd08a]
add [hl]
ld [de], a
inc de
inc hl
- ld a, [W_SUBANIMTRANSFORM] ; $d08b
+ ld a, [W_SUBANIMTRANSFORM] ; W_SUBANIMTRANSFORM
add [hl]
ld [de], a
inc hl
@@ -1680,24 +1672,20 @@ AnimationSquishMonPic: ; 794a1 (1e:54a1)
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_794b1
- FuncCoord 16, 0 ; $c3b0
- ld hl, Coord
- FuncCoord 14, 0 ; $c3ae
- ld de, Coord
+ hlCoord 16, 0
+ deCoord 14, 0
jr .asm_794b7
.asm_794b1
- FuncCoord 5, 5 ; $c409
- ld hl, Coord
- FuncCoord 3, 5 ; $c407
- ld de, Coord
+ hlCoord 5, 5
+ deCoord 3, 5
.asm_794b7
push de
xor a
- ld [$d09f], a
+ ld [wd09f], a
call Func_794d4
pop hl
ld a, $1
- ld [$d09f], a
+ ld [wd09f], a
call Func_794d4
pop bc
dec c
@@ -1712,7 +1700,7 @@ Func_794d4: ; 794d4 (1e:54d4)
push bc
push hl
ld c, $3
- ld a, [$d09f]
+ ld a, [wd09f]
cp $0
jr nz, .asm_794e7
call Func_7985b
@@ -1743,9 +1731,9 @@ AnimationShootBallsUpward: ; 794f9 (1e:54f9)
ld bc, $3028
.asm_79506
ld a, b
- ld [W_BASECOORDY], a ; $d082
+ ld [W_BASECOORDY], a ; wd082
ld a, c
- ld [W_BASECOORDX], a ; $d081
+ ld [W_BASECOORDX], a ; wd081
ld bc, $501
call Func_79517
jp AnimationCleanOAM
@@ -1753,13 +1741,13 @@ AnimationShootBallsUpward: ; 794f9 (1e:54f9)
Func_79517: ; 79517 (1e:5517)
push bc
xor a
- ld [$d09f], a
+ ld [wd09f], a
call LoadAnimationTileset
pop bc
ld d, $7a
ld hl, wOAMBuffer
push bc
- ld a, [W_BASECOORDY] ; $d082
+ ld a, [W_BASECOORDY] ; wd082
ld e, a
.asm_7952a
call Func_79329
@@ -1768,12 +1756,12 @@ Func_79517: ; 79517 (1e:5517)
call DelayFrame
pop bc
ld a, b
- ld [$d08a], a
+ ld [wd08a], a
.asm_79538
push bc
ld hl, wOAMBuffer
.asm_7953c
- ld a, [W_BASECOORDY] ; $d082
+ ld a, [W_BASECOORDY] ; wd082
add $8
ld e, a
ld a, [hl]
@@ -1784,9 +1772,9 @@ Func_79517: ; 79517 (1e:5517)
jr .asm_79554
.asm_7954b
ld [hl], $0
- ld a, [$d08a]
+ ld a, [wd08a]
dec a
- ld [$d08a], a
+ ld [wd08a], a
.asm_79554
ld de, $4
add hl, de
@@ -1794,7 +1782,7 @@ Func_79517: ; 79517 (1e:5517)
jr nz, .asm_7953c
call DelayFrames
pop bc
- ld a, [$d08a]
+ ld a, [wd08a]
and a
jr nz, .asm_79538
ret
@@ -1838,7 +1826,7 @@ UpwardBallsAnimXCoordinatesEnemyTurn: ; 79598 (1e:5598)
AnimationMinimizeMon: ; 7959f (1e:559f)
; Changes the mon's sprite to a mini black sprite. Used by the
; Minimize animation.
- ld hl, $c6e8
+ ld hl, wTempPic
push hl
xor a
ld bc, $310
@@ -1883,7 +1871,7 @@ AnimationSlideMonDownAndHide: ; 795c9 (1e:55c9)
dec c
jr nz, .asm_795cd
call AnimationHideMonPic
- ld hl, $c6e8
+ ld hl, wTempPic
ld bc, $0310
xor a
call FillMemory
@@ -1893,12 +1881,10 @@ Func_795f8: ; 795f8 (1e:55f8)
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_79602
- FuncCoord 12, 0 ; $c3ac
- ld hl, Coord
+ hlCoord 12, 0
jr .asm_79605
.asm_79602
- FuncCoord 0, 5 ; $c404
- ld hl, Coord
+ hlCoord 0, 5
.asm_79605
ld d, $8
.asm_79607
@@ -1924,7 +1910,7 @@ Func_795f8: ; 795f8 (1e:55f8)
pop de
dec b
jr nz, .asm_7960a
- ld a, [W_SUBANIMTRANSFORM] ; $d08b
+ ld a, [W_SUBANIMTRANSFORM] ; W_SUBANIMTRANSFORM
ld c, a
call DelayFrames
pop hl
@@ -1960,17 +1946,17 @@ AnimationSlideMonHalfLeft: ; 79645 (1e:5645)
Func_79652: ; 79652 (1e:5652)
ld a, [H_WHOSETURN] ; $fff3
and a
- ld hl, $9310
+ ld hl, vBackPic
jr z, .asm_7965d
- ld hl, $9000
+ ld hl, vFrontPic
.asm_7965d
- ld de, $c6e8
- ld bc, $31
+ ld de, wTempPic
+ ld bc, 7 * 7
jp CopyVideoData
AnimationWavyScreen: ; 79666 (1e:5666)
; used in Psywave/Psychic etc.
- ld hl, $9800
+ ld hl, vBGMap0
call Func_79e0d
call Delay3
xor a
@@ -2005,7 +1991,7 @@ AnimationWavyScreen: ; 79666 (1e:5666)
ld [H_AUTOBGTRANSFERENABLED], a
call Delay3
call LoadScreenTilesFromBuffer2
- ld hl, $9c00
+ ld hl, vBGMap1
call Func_79e0d
ret
@@ -2031,38 +2017,38 @@ WavyScreenLineOffsets: ; 796bf (1e:56bf)
AnimationSubstitute: ; 796e0 (1e:56e0)
; Changes the pokemon's sprite to the mini sprite
- ld hl, $c6e8
+ ld hl, wTempPic
xor a
ld bc, $0310
call FillMemory
ld a, [$fff3]
and a
jr z, .asm_79715 ; 0x796ed $26
- ld hl, SlowbroSprite ; $4780 ; facing down sprite
- ld de, $c808
+ ld hl, SlowbroSprite ; facing down sprite
+ ld de, wTempPic + $120
call CopySlowbroSpriteData
- ld hl, SlowbroSprite + $10 ; $4790
- ld de, $c878
+ ld hl, SlowbroSprite + $10
+ ld de, wTempPic + $120 + $70
call CopySlowbroSpriteData
- ld hl, SlowbroSprite + $20 ; $47a0
- ld de, $c818
+ ld hl, SlowbroSprite + $20
+ ld de, wTempPic + $120 + $10
call CopySlowbroSpriteData
- ld hl, SlowbroSprite + $30 ; $47b0
- ld de, $c888
+ ld hl, SlowbroSprite + $30
+ ld de, wTempPic + $120 + $10 + $70
call CopySlowbroSpriteData
- jr .asm_79739 ; 0x79713 $24
+ jr .asm_79739
.asm_79715
- ld hl, SlowbroSprite + $40 ; $47c0 ; facing up sprite
- ld de, $c878
+ ld hl, SlowbroSprite + $40 ; facing up sprite
+ ld de, wTempPic + $120 + $70
call CopySlowbroSpriteData
- ld hl, SlowbroSprite + $50 ; $47d0
- ld de, $c8e8
+ ld hl, SlowbroSprite + $50
+ ld de, wTempPic + $120 + $e0
call CopySlowbroSpriteData
- ld hl, SlowbroSprite + $60 ; $47e0
- ld de, $c888
+ ld hl, SlowbroSprite + $60
+ ld de, wTempPic + $120 + $80
call CopySlowbroSpriteData
- ld hl, SlowbroSprite + $70 ; $47f0
- ld de, $c8f8
+ ld hl, SlowbroSprite + $70
+ ld de, wTempPic + $120 + $f0
call CopySlowbroSpriteData
.asm_79739
call Func_79652
@@ -2076,11 +2062,11 @@ CopySlowbroSpriteData: ; 7973f (1e:573f)
Func_79747: ; 79747 (1e:5747)
ld a, [H_WHOSETURN] ; $fff3
and a
- ld hl, $ccf7
- ld a, [W_PLAYERBATTSTATUS2] ; $d063
+ ld hl, wccf7
+ ld a, [W_PLAYERBATTSTATUS2] ; W_PLAYERBATTSTATUS2
jr z, .asm_79758
- ld hl, $ccf3
- ld a, [W_ENEMYBATTSTATUS2] ; $d068
+ ld hl, wccf3
+ ld a, [W_ENEMYBATTSTATUS2] ; W_ENEMYBATTSTATUS2
.asm_79758
push hl
bit 4, a
@@ -2117,40 +2103,38 @@ AnimationBoundUpAndDown: ; 7977a (1e:577a)
AnimationTransformMon: ; 79787 (1e:5787)
; Redraws this mon's sprite as the back/front sprite of the opposing mon.
; Used in Transform.
- ld a, [$cfe5]
- ld [$ceea], a
- ld a, [W_PLAYERMONID]
- ld [$cee9], a
+ ld a, [wEnemyMonSpecies]
+ ld [wHPBarMaxHP + 1], a
+ ld a, [wBattleMonSpecies]
+ ld [wHPBarMaxHP], a
Func_79793: ; 79793 (1e:5793)
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_797b0
- ld a, [$cee9]
- ld [$cf91], a
- ld [$d0b5], a
+ ld a, [wHPBarMaxHP]
+ ld [wcf91], a
+ ld [wd0b5], a
xor a
ld [W_SPRITEFLIPPED], a
call GetMonHeader
- FuncCoord 12, 0 ; $c3ac
- ld hl, Coord
+ hlCoord 12, 0
call LoadFrontSpriteByMonIndex
jr .asm_797d3
.asm_797b0
- ld a, [$cfd9]
+ ld a, [wBattleMonSpecies2]
push af
- ld a, [$ceea]
- ld [$cfd9], a
- ld [$d0b5], a
+ ld a, [wHPBarMaxHP + 1]
+ ld [wBattleMonSpecies2], a
+ ld [wd0b5], a
call GetMonHeader
- ld a, $4
- call Predef ; indirect jump to LoadMonBackSprite (3f103 (f:7103))
+ predef LoadMonBackPic
xor a
call Func_79842
call Func_79820
call Func_79aae
pop af
- ld [$cfd9], a
+ ld [wBattleMonSpecies2], a
.asm_797d3
ld b, $1
jp GoPAL_SET
@@ -2168,13 +2152,13 @@ AnimationHideEnemyMonPic: ; 797d8 (1e:57d8)
Func_797e8: ; 797e8 (1e:57e8)
push bc
push de
- ld [$d09f], a
+ ld [wd09f], a
call LoadAnimationTileset
pop de
pop bc
xor a
ld e, a
- ld [W_BASECOORDX], a ; $d081
+ ld [W_BASECOORDX], a ; wd081
ld hl, wOAMBuffer
.asm_797fa
call Func_79329
@@ -2291,28 +2275,28 @@ Func_7986f: ; 7986f (1e:586f)
ld a,[H_WHOSETURN]
and a
jr nz,.next
- ld a,[W_PLAYERMONID] ; get number of current monster
+ ld a,[wBattleMonSpecies] ; get number of current monster
jr .Continue
.next
- ld a,[$CFE5]
+ ld a,[wEnemyMonSpecies]
.Continue
push hl
call GetCryData
ld b,a
pop hl
- ld a,[$C0F1]
+ ld a,[wc0f1]
add [hl]
- ld [$C0F1],a
+ ld [wc0f1],a
inc hl
- ld a,[$C0F2]
+ ld a,[wc0f2]
add [hl]
- ld [$C0F2],a
+ ld [wc0f2],a
jr .done
.NotCryMove
ld a,[hli]
- ld [$C0F1],a
+ ld [wc0f1],a
ld a,[hli]
- ld [$C0F2],a
+ ld [wc0f2],a
.done
ld a,b
ret
@@ -2509,8 +2493,8 @@ Func_79aae: ; 79aae (1e:5aae)
jr asm_79acb
Func_79aba: ; 79aba (1e:5aba)
- call Load16BitRegisters
- ld a, [$cd6c]
+ call GetPredefRegisters
+ ld a, [wcd6c]
and a
jr nz, .asm_79ac8
ld de, Unknown_79b02 ; $5b02
@@ -2599,7 +2583,7 @@ AnimationLeavesFalling: ; 79c74 (1e:5c74)
; in Razor Leaf's animation.
ld a, [$ff48]
push af
- ld a, [$cc79]
+ ld a, [wcc79]
ld [$ff48], a
ld d, $37
ld a, $3
@@ -2616,7 +2600,7 @@ AnimationPetalsFalling: ; 79c8a (1e:5c8a)
ld a, $14
ld [W_SUBANIMTRANSFORM], a
call Func_79c97
- jp CleanLCD_OAM
+ jp ClearSprites
Func_79c97: ; 79c97 (1e:5c97)
ld c, a
@@ -2636,7 +2620,7 @@ Func_79c97: ; 79c97 (1e:5c97)
push hl
push de
ld a, [hl]
- ld [$d08a], a
+ ld [wd08a], a
call Func_79d16
call Func_79cdb
pop de
@@ -2645,7 +2629,7 @@ Func_79c97: ; 79c97 (1e:5c97)
ld e, l
ld d, h
pop hl
- ld a, [$d08a]
+ ld a, [wd08a]
ld [hli], a
pop bc
dec c
@@ -2668,7 +2652,7 @@ Func_79cdb: ; 79cdb (1e:5cdb)
ld a, $a0
.asm_79ce8
ld [hli], a
- ld a, [$d08a]
+ ld a, [wd08a]
ld b, a
ld de, Unknown_79d0d
and $7f
@@ -2702,7 +2686,7 @@ Unknown_79d0d: ; 79d0d (1e:5d0d)
db $00,$01,$03,$05,$07,$09,$0B,$0D,$0F
Func_79d16: ; 79d16 (1e:5d16)
- ld a, [$d08a]
+ ld a, [wd08a]
inc a
ld b, a
and $7f
@@ -2712,11 +2696,11 @@ Func_79d16: ; 79d16 (1e:5d16)
and $80
xor $80
.asm_79d26
- ld [$d08a], a
+ ld [wd08a], a
ret
Func_79d2a: ; 79d2a (1e:5d2a)
- ld hl, $c301
+ ld hl, wOAMBuffer + $01
ld de, Unknown_79d3e
ld a, [W_SUBANIMTRANSFORM]
ld c, a
@@ -2751,46 +2735,46 @@ Unknown_79d63: ; 79d63 (1e:5d63)
db $00,$84,$06,$81,$02,$88,$01,$83,$05,$89,$09,$80,$07,$87,$03,$82,$04,$85,$08,$86
AnimationShakeEnemyHUD: ; 79d77 (1e:5d77)
- ld de, $9310
- ld hl, $8000
- ld bc, $0031
+ ld de, vBackPic
+ ld hl, vSprites
+ ld bc, 7 * 7
call CopyVideoData
xor a
ld [$ffae], a
- ld hl, $9800
+ ld hl, vBGMap0
call Func_79e0d
ld a, $90
ld [$ffb0], a
- ld hl, $9b20
+ ld hl, vBGMap0 + $320
call Func_79e0d
ld a, $38
ld [$ffb0], a
call Func_792fd
- ld hl, $9800
+ ld hl, vBGMap0
call Func_79e0d
call AnimationHideMonPic
call Delay3
ld de, $0208
call Func_79de9
call AnimationShowMonPic
- call CleanLCD_OAM
+ call ClearSprites
ld a, $90
ld [$ffb0], a
- ld hl, $9c00
+ ld hl, vBGMap1
call Func_79e0d
xor a
ld [$ffb0], a
call SaveScreenTilesToBuffer1
- ld hl, $9800
+ ld hl, vBGMap0
call Func_79e0d
call ClearScreen
call Delay3
call LoadScreenTilesFromBuffer1
- ld hl, $9c00
+ ld hl, vBGMap1
jp Func_79e0d
Func_79dda: ; 79dda (1e:5dda)
- call Load16BitRegisters
+ call GetPredefRegisters
ld a, c
ld [H_DOWNARROWBLINKCNT1], a ; $ff8b
ld a, b
@@ -2830,7 +2814,7 @@ TossBallAnimation: ; 79e16 (1e:5e16)
ld a,[W_ISINBATTLE]
cp a,2
jr z,.BlockBall ; if in trainer battle, play different animation
- ld a,[$D11E]
+ ld a,[wd11e]
ld b,a
; upper nybble: how many animations (from PokeBallAnimations) to play
@@ -2843,11 +2827,11 @@ TossBallAnimation: ; 79e16 (1e:5e16)
; store these for later
ld a,b
and a,$F
- ld [$CD3D],a
+ ld [wWhichTrade],a
ld hl,.PokeBallAnimations
; choose which toss animation to use
- ld a,[$CF91]
+ ld a,[wcf91]
cp a,POKE_BALL
ld b,TOSS_ANIM
jr z,.done
@@ -2885,7 +2869,7 @@ TossBallAnimation: ; 79e16 (1e:5e16)
Func_79e6a: ; 79e6a (1e:5e6a)
call WaitForSoundToFinish
- ld a, [$d05b]
+ ld a, [wd05b]
and $7f
ret z
cp $a
@@ -2901,8 +2885,8 @@ Func_79e6a: ; 79e6a (1e:5e6a)
ld b, $1
ld c, (SFX_08_51 - SFX_Headers_08) / 3
.asm_79e8b
- ld [$c0f1], a
+ ld [wc0f1], a
ld a, b
- ld [$c0f2], a
+ ld [wc0f2], a
ld a, c
jp PlaySound
diff --git a/engine/battle/b.asm b/engine/battle/b.asm
index 7269e48c..24a75af4 100755
--- a/engine/battle/b.asm
+++ b/engine/battle/b.asm
@@ -1,5 +1,5 @@
DisplayEffectiveness: ; 2fb7b (b:7b7b)
- ld a, [$D05B]
+ ld a, [wd05b]
and a, $7F
cp a, $0A
ret z
diff --git a/engine/battle/b_2.asm b/engine/battle/b_2.asm
index b71ca40d..e343f1aa 100755
--- a/engine/battle/b_2.asm
+++ b/engine/battle/b_2.asm
@@ -86,13 +86,13 @@ DuplicateBitsTable: ; 2fea8 (b:7ea8)
PayDayEffect_ ; 2feb8 (b:7eb8)
xor a
- ld hl, $cd6d
+ ld hl, wcd6d
ld [hli], a
ld a, [$fff3]
and a
- ld a, [$d022]
+ ld a, [wBattleMonLevel]
jr z, .asm_2fec8 ; 0x2fec3 $3
- ld a, [$cff3]
+ ld a, [wEnemyMonLevel]
.asm_2fec8
add a
ld [$ff98], a
@@ -118,10 +118,9 @@ PayDayEffect_ ; 2feb8 (b:7eb8)
ld a, [$ff99]
add b
ld [hl], a
- ld de, $cce7
+ ld de, wcce7
ld c, $3
- ld a, $b
- call Predef
+ predef AddBCDPredef
ld hl, CoinsScatteredText ; $7f04
jp PrintText
diff --git a/engine/battle/c.asm b/engine/battle/c.asm
index b93cc273..c1347d24 100755
--- a/engine/battle/c.asm
+++ b/engine/battle/c.asm
@@ -21,19 +21,19 @@ ShroudedInMistText: ; 33f52 (c:7f52)
db "@"
OneHitKOEffect_: ; 33f57 (c:7f57)
- ld hl, W_DAMAGE ; $d0d7
+ ld hl, W_DAMAGE ; W_DAMAGE
xor a
ld [hli], a
ld [hl], a ; set the damage output to zero
dec a
- ld [$d05e], a
- ld hl, $d02a
- ld de, $cffb
+ ld [wd05e], a
+ ld hl, wBattleMonSpeed + 1
+ ld de, wEnemyMonSpeed + 1
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_33f72
- ld hl, $cffb
- ld de, $d02a
+ ld hl, wEnemyMonSpeed + 1
+ ld de, wBattleMonSpeed + 1
.asm_33f72
ld a, [de]
dec de
@@ -45,14 +45,14 @@ OneHitKOEffect_: ; 33f57 (c:7f57)
ld a, [hl]
sbc b
jr c, .asm_33f8a
- ld hl, W_DAMAGE ; $d0d7
+ ld hl, W_DAMAGE ; W_DAMAGE
ld a, $ff
ld [hli], a
ld [hl], a
ld a, $2
- ld [$d05e], a
+ ld [wd05e], a
ret
.asm_33f8a
ld a, $1
- ld [W_MOVEMISSED], a ; $d05f
+ ld [W_MOVEMISSED], a ; W_MOVEMISSED
ret
diff --git a/engine/battle/core.asm b/engine/battle/core.asm
index a19919f4..b3495a29 100755
--- a/engine/battle/core.asm
+++ b/engine/battle/core.asm
@@ -94,16 +94,15 @@ EffectsArray5B: ; 3c049 (f:4049)
Func_3c04c: ; 3c04c (f:404c)
call Func_3ec92
ld a, $1
- ld [$d125], a
+ ld [wd125], a
call DisplayTextBoxID
- FuncCoord 1, 5 ; $c405
- ld hl, Coord
+ hlCoord 1, 5
ld bc, $307
call ClearScreenArea
call DisableLCD
call LoadFontTilePatterns
call Func_3ee58
- ld hl, $9800
+ ld hl, vBGMap0
ld bc, $400
.asm_3c06f
ld a, $7f
@@ -113,7 +112,7 @@ Func_3c04c: ; 3c04c (f:404c)
or c
jr nz, .asm_3c06f
ld hl, wTileMap
- ld de, $9800
+ ld de, vBGMap0
ld b, $12
.asm_3c07f
ld c, $14
@@ -139,7 +138,7 @@ Func_3c04c: ; 3c04c (f:404c)
ld [$ffd7], a
ld [$ffaf], a
dec a
- ld [$cfcb], a
+ ld [wcfcb], a
call Delay3
xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
@@ -171,10 +170,8 @@ Func_3c04c: ; 3c04c (f:404c)
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
ld a, $31
ld [$ffe1], a
- FuncCoord 1, 5 ; $c405
- ld hl, Coord
- ld a, $1
- call Predef ; indirect jump to Func_3f0c6 (3f0c6 (f:70c6))
+ hlCoord 1, 5
+ predef Func_3f0c6
xor a
ld [$ffb0], a
ld [rWY], a ; $ff4a
@@ -183,14 +180,14 @@ Func_3c04c: ; 3c04c (f:404c)
call Delay3
ld b, $1
call GoPAL_SET
- call ResetLCD_OAM
+ call HideSprites
ld hl, PrintBeginningBattleText
ld b, BANK(PrintBeginningBattleText)
jp Bankswitch
Func_3c0ff: ; 3c0ff (f:40ff)
push bc
- ld hl, $c301
+ ld hl, wOAMBuffer + $01
ld c, $15
ld de, $4
.asm_3c108
@@ -216,12 +213,12 @@ Func_3c110: ; 3c110 (f:4110)
Func_3c11e: ; 3c11e (f:411e)
xor a
- ld [W_PLAYERMONSALIVEFLAGS], a
- ld [$ccf5], a
- ld [$cd6a], a
+ ld [wPartyAliveFlags], a
+ ld [wccf5], a
+ ld [wcd6a], a
inc a
- ld [$d11d], a
- ld hl, W_ENEMYMON1HP ; $d8a5
+ ld [wd11d], a
+ ld hl, wEnemyMon1HP ; wd8a5
ld bc, $2b
ld d, $3
.asm_3c134
@@ -233,29 +230,29 @@ Func_3c11e: ; 3c11e (f:411e)
jr .asm_3c134
.asm_3c13c
ld a, d
- ld [$cc3e], a
- ld a, [W_ISINBATTLE] ; $d057
+ ld [wcc3e], a
+ ld a, [W_ISINBATTLE] ; W_ISINBATTLE
dec a
call nz, Func_3c92a
ld c, $28
call DelayFrames
call SaveScreenTilesToBuffer1
.asm_3c14f
- call AnyPlayerPokemonAliveCheck
+ call AnyPartyAlive
ld a, d
and a
jp z, HandlePlayerBlackOut
call LoadScreenTilesFromBuffer1
- ld a, [W_BATTLETYPE] ; $d05a
+ ld a, [W_BATTLETYPE] ; wd05a
and a
jp z, Func_3c1ad
.asm_3c161
call InitBattleMenu
ret c
- ld a, [$cd6a]
+ ld a, [wcd6a]
and a
jr z, .asm_3c161
- ld a, [W_NUMSAFARIBALLS] ; $da47
+ ld a, [W_NUMSAFARIBALLS] ; W_NUMSAFARIBALLS
and a
jr nz, .asm_3c17a
call LoadScreenTilesFromBuffer1
@@ -263,24 +260,24 @@ Func_3c11e: ; 3c11e (f:411e)
jp PrintText
.asm_3c17a
callab PrintSafariZoneBattleText
- ld a, [$cffb]
+ ld a, [wEnemyMonSpeed + 1]
add a
ld b, a
jp c, asm_3c202
- ld a, [$cce9]
+ ld a, [wcce9]
and a
jr z, .asm_3c194
srl b
srl b
.asm_3c194
- ld a, [$cce8]
+ ld a, [wcce8]
and a
jr z, .asm_3c1a0
sla b
jr nc, .asm_3c1a0
ld b, $ff
.asm_3c1a0
- call GenRandom
+ call Random
cp b
jr nc, .asm_3c14f
jr asm_3c202
@@ -291,53 +288,50 @@ OutOfSafariBallsText: ; 3c1a8 (f:41a8)
Func_3c1ad: ; 3c1ad (f:41ad)
xor a
- ld [wWhichPokemon], a ; $cf92
+ ld [wWhichPokemon], a ; wWhichPokemon
.asm_3c1b1
call Func_3ca97
jr nz, .asm_3c1bc
- ld hl, wWhichPokemon ; $cf92
+ ld hl, wWhichPokemon ; wWhichPokemon
inc [hl]
jr .asm_3c1b1
.asm_3c1bc
- ld a, [wWhichPokemon] ; $cf92
- ld [wPlayerMonNumber], a ; $cc2f
+ ld a, [wWhichPokemon] ; wWhichPokemon
+ ld [wPlayerMonNumber], a ; wPlayerMonNumber
inc a
- ld hl, W_NUMINPARTY ; $d163
+ ld hl, wPartyCount ; wPartyCount
ld c, a
ld b, $0
add hl, bc
ld a, [hl]
- ld [$cf91], a
- ld [$cfd9], a
+ ld [wcf91], a
+ ld [wBattleMonSpecies2], a
call LoadScreenTilesFromBuffer1
- FuncCoord 1, 5 ; $c405
- ld hl, Coord
+ hlCoord 1, 5
ld a, $9
call Func_3c8df
call SaveScreenTilesToBuffer1
- ld a, [wWhichPokemon] ; $cf92
+ ld a, [wWhichPokemon] ; wWhichPokemon
ld c, a
ld b, $1
push bc
- ld hl, W_PLAYERMONSALIVEFLAGS
- ld a, $10
- call Predef ; indirect jump to HandleBitArray (f666 (3:7666))
- ld hl, $ccf5
+ ld hl, wPartyAliveFlags
+ predef FlagActionPredef
+ ld hl, wccf5
pop bc
- ld a, $10
- call Predef ; indirect jump to HandleBitArray (f666 (3:7666))
+ predef FlagActionPredef
call Func_3cba6
call LoadScreenTilesFromBuffer1
call Func_3cc91
jr MainInBattleLoop
asm_3c202: ; 3c202 (f:4202)
call LoadScreenTilesFromBuffer1
- ld a, [W_ISLINKBATTLE] ; $d12b
+ ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $4
ld hl, WildRanText
jr nz, .asm_3c216
xor a
- ld [$cf0b], a
+ ld [wcf0b], a
ld hl, EnemyRanText
.asm_3c216
call PrintText
@@ -359,53 +353,53 @@ EnemyRanText: ; 3c22e (f:422e)
MainInBattleLoop: ; 3c233 (f:4233)
call ReadPlayerMonCurHPAndStatus
- ld hl, W_PLAYERMONCURHP
+ ld hl, wBattleMonHP
ld a, [hli]
or [hl]
jp z, HandlePlayerMonFainted ; test if current player mon is fainted
- ld hl, $cfe6
+ ld hl, wEnemyMonHP
ld a, [hli]
or [hl]
jp z, HandleEnemyMonFainted
call SaveScreenTilesToBuffer1
xor a
- ld [$d11d], a
- ld a, [$d063]
+ ld [wd11d], a
+ ld a, [W_PLAYERBATTSTATUS2]
and $60
jr nz, .asm_3c2a6 ; 0x3c252 $52
- ld hl, $d067
+ ld hl, W_ENEMYBATTSTATUS1
res 3, [hl]
- ld hl, $d062
+ ld hl, W_PLAYERBATTSTATUS1
res 3, [hl]
ld a, [hl]
and $12
jr nz, .asm_3c2a6 ; 0x3c261 $43
call InitBattleMenu ; show battle menu
ret c
- ld a, [$d078]
+ ld a, [wd078]
and a
ret nz
- ld a, [$d018]
+ ld a, [wBattleMonStatus]
and $27
jr nz, .asm_3c2a6 ; 0x3c271 $33
- ld a, [$d062]
+ ld a, [W_PLAYERBATTSTATUS1]
and $21
jr nz, .asm_3c2a6 ; 0x3c278 $2c
- ld a, [$d067]
+ ld a, [W_ENEMYBATTSTATUS1]
bit 5, a
jr z, .asm_3c288 ; 0x3c27f $7
ld a, $ff
- ld [$ccdc], a
+ ld [wPlayerSelectedMove], a
jr .asm_3c2a6 ; 0x3c286 $1e
.asm_3c288
- ld a, [$cd6a]
+ ld a, [wcd6a]
and a
jr nz, .asm_3c2a6 ; 0x3c28c $18
- ld [$ccdb], a
+ ld [wMoveMenuType], a
inc a
- ld [$d07c], a
+ ld [W_ANIMATIONID], a
xor a
- ld [$cc35], a
+ ld [wcc35], a
call MoveSelectionMenu
push af
call LoadScreenTilesFromBuffer1
@@ -417,7 +411,7 @@ MainInBattleLoop: ; 3c233 (f:4233)
ld a, [W_ISLINKBATTLE]
cp $4
jr nz, .noLinkBattle
- ld a, [$cc3e]
+ ld a, [wcc3e]
cp $f
jp z, asm_3c202
cp $e
@@ -426,11 +420,11 @@ MainInBattleLoop: ; 3c233 (f:4233)
jr z, .noLinkBattle
sub $4
jr c, .noLinkBattle
- ld a, [$d062]
+ ld a, [W_PLAYERBATTSTATUS1]
bit 5, a
jr z, .asm_3c2dd ; 0x3c2c9 $12
- ld a, [$cc2e]
- ld hl, W_PLAYERMONMOVES
+ ld a, [wPlayerMoveListIndex]
+ ld hl, wBattleMonMoves
ld c, a
ld b, $0
add hl, bc
@@ -464,8 +458,8 @@ MainInBattleLoop: ; 3c233 (f:4233)
cp COUNTER
jr z, .playerMovesFirst
.compareSpeed
- ld de, W_PLAYERMONSPEED ; player speed value
- ld hl, W_ENEMYMONSPEED ; enemy speed value
+ ld de, wBattleMonSpeed ; player speed value
+ ld hl, wEnemyMonSpeed ; enemy speed value
ld c, $2
call StringCmp ; compare speed values
jr z, .speedEqual
@@ -475,12 +469,12 @@ MainInBattleLoop: ; 3c233 (f:4233)
ld a, [$ffaa]
cp $2
jr z, .invertOutcome
- call GenRandomInBattle
+ call BattleRandom
cp $80
jr c, .playerMovesFirst
jr .enemyMovesFirst
.invertOutcome
- call GenRandomInBattle
+ call BattleRandom
cp $80
jr c, .enemyMovesFirst
jr .playerMovesFirst
@@ -490,7 +484,7 @@ MainInBattleLoop: ; 3c233 (f:4233)
callab TrainerAI
jr c, .AIActionUsedEnemyFirst
call Func_3e6bc ; execute enemy move
- ld a, [$d078]
+ ld a, [wd078]
and a
ret nz
ld a, b
@@ -501,7 +495,7 @@ MainInBattleLoop: ; 3c233 (f:4233)
jp z, HandleEnemyMonFainted
call Func_3cd5a
call Func_3d65e ; execute player move
- ld a, [$d078]
+ ld a, [wd078]
and a
ret nz
ld a, b
@@ -514,7 +508,7 @@ MainInBattleLoop: ; 3c233 (f:4233)
jp MainInBattleLoop
.playerMovesFirst
call Func_3d65e ; execute player move
- ld a, [$d078]
+ ld a, [wd078]
and a
ret nz
ld a, b
@@ -528,7 +522,7 @@ MainInBattleLoop: ; 3c233 (f:4233)
callab TrainerAI
jr c, .AIActionUsedPlayerFirst
call Func_3e6bc ; execute enemy move
- ld a, [$d078]
+ ld a, [wd078]
and a
ret nz
ld a, b
@@ -542,13 +536,13 @@ MainInBattleLoop: ; 3c233 (f:4233)
jp MainInBattleLoop
HandlePoisonBurnLeechSeed: ; 3c3bd (f:43bd)
- ld hl, W_PLAYERMONCURHP ; $d015
- ld de, W_PLAYERMONSTATUS ; $d018
+ ld hl, wBattleMonHP ; wd015
+ ld de, wBattleMonStatus ; wBattleMonStatus
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .playersTurn
- ld hl, W_ENEMYMONCURHP ; $cfe6
- ld de, W_ENEMYMONSTATUS ; $cfe9
+ ld hl, wEnemyMonHP ; wEnemyMonHP
+ ld de, wEnemyMonStatus ; wcfe9
.playersTurn
ld a, [de]
and (1 << BRN) | (1 << PSN)
@@ -562,17 +556,17 @@ HandlePoisonBurnLeechSeed: ; 3c3bd (f:43bd)
.poisoned
call PrintText
xor a
- ld [$cc5b], a
+ ld [wcc5b], a
ld a,BURN_PSN_ANIM
call PlayMoveAnimation ; play burn/poison animation
pop hl
call HandlePoisonBurnLeechSeed_DecreaseOwnHP
.notBurnedOrPoisoned
- ld de, W_PLAYERBATTSTATUS2 ; $d063
+ ld de, W_PLAYERBATTSTATUS2 ; W_PLAYERBATTSTATUS2
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .playersTurn2
- ld de, W_ENEMYBATTSTATUS2 ; $d068
+ ld de, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2
.playersTurn2
ld a, [de]
add a
@@ -583,7 +577,7 @@ HandlePoisonBurnLeechSeed: ; 3c3bd (f:43bd)
xor $1
ld [H_WHOSETURN], a ; $fff3
xor a
- ld [$cc5b], a
+ ld [wcc5b], a
ld a,ABSORB
call PlayMoveAnimation ; play leech seed animation (from opposing mon)
pop af
@@ -643,13 +637,13 @@ HandlePoisonBurnLeechSeed_DecreaseOwnHP: ; 3c43d (f:443d)
jr nz, .nonZeroDamage
inc c ; damage is at least 1
.nonZeroDamage
- ld hl, W_PLAYERBATTSTATUS3 ; $d064
- ld de, W_PLAYERTOXICCOUNTER ; $d06c
+ ld hl, W_PLAYERBATTSTATUS3 ; W_PLAYERBATTSTATUS3
+ ld de, W_PLAYERTOXICCOUNTER ; wd06c
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .playersTurn
- ld hl, W_ENEMYBATTSTATUS3 ; $d069
- ld de, W_ENEMYTOXICCOUNTER ; $d071
+ ld hl, W_ENEMYBATTSTATUS3 ; W_ENEMYBATTSTATUS3
+ ld de, W_ENEMYTOXICCOUNTER ; wd071
.playersTurn
bit 0, [hl]
jr z, .noToxic
@@ -690,11 +684,11 @@ HandlePoisonBurnLeechSeed_DecreaseOwnHP: ; 3c43d (f:443d)
; adds bc to enemy HP
HandlePoisonBurnLeechSeed_IncreaseEnemyHP: ; 3c4a3 (f:44a3)
push hl
- ld hl, W_ENEMYMONMAXHP ; $cff4
+ ld hl, wEnemyMonMaxHP ; wEnemyMonMaxHP
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .playersTurn
- ld hl, W_PLAYERMONMAXHP ; $d023
+ ld hl, wBattleMonMaxHP ; wd023
.playersTurn
ld a, [hli]
ld [wHPBarMaxHP+1], a
@@ -739,55 +733,52 @@ HandlePoisonBurnLeechSeed_IncreaseEnemyHP: ; 3c4a3 (f:44a3)
ret
UpdateCurMonHPBar: ; 3c4f6 (f:44f6)
- FuncCoord 10, 9 ; $c45e
- ld hl, Coord ; tile pointer to player HP bar
+ hlCoord 10, 9 ; tile pointer to player HP bar
ld a, [H_WHOSETURN] ; $fff3
and a
ld a, $1
jr z, .playersTurn
- FuncCoord 2, 2 ; $c3ca
- ld hl, Coord ; tile pointer to enemy HP bar
+ hlCoord 2, 2 ; tile pointer to enemy HP bar
xor a
.playersTurn
push bc
- ld [wListMenuID], a ; $cf94
- ld a, $48
- call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d))
+ ld [wListMenuID], a ; wListMenuID
+ predef UpdateHPBar2
pop bc
ret
Func_3c50f: ; 3c50f (f:450f)
- ld a, [$d06a]
+ ld a, [wd06a]
and a
jr nz, .asm_3c51a
- ld hl, W_PLAYERBATTSTATUS1 ; $d062
+ ld hl, W_PLAYERBATTSTATUS1 ; W_PLAYERBATTSTATUS1
res 5, [hl]
.asm_3c51a
- ld a, [$d06f]
+ ld a, [wd06f]
and a
ret nz
- ld hl, W_ENEMYBATTSTATUS1 ; $d067
+ ld hl, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
res 5, [hl]
ret
HandleEnemyMonFainted: ; 3c525 (f:4525)
xor a
- ld [$ccf0], a
+ ld [wccf0], a
call FaintEnemyPokemon
- call AnyPlayerPokemonAliveCheck
+ call AnyPartyAlive
ld a, d
and a
jp z, HandlePlayerBlackOut
- ld hl, W_PLAYERMONCURHP ; $d015
+ ld hl, wBattleMonHP ; wd015
ld a, [hli]
or [hl]
call nz, Func_3cd60
- ld a, [W_ISINBATTLE] ; $d057
+ ld a, [W_ISINBATTLE] ; W_ISINBATTLE
dec a
ret z
call AnyEnemyPokemonAliveCheck
jp z, TrainerBattleVictory
- ld hl, W_PLAYERMONCURHP ; $d015
+ ld hl, wBattleMonHP ; wd015
ld a, [hli]
or [hl]
jr nz, .asm_3c555
@@ -796,60 +787,58 @@ HandleEnemyMonFainted: ; 3c525 (f:4525)
call Func_3c7d8
.asm_3c555
ld a, $1
- ld [$cd6a], a
+ ld [wcd6a], a
call Func_3c664
jp z, asm_3c202
xor a
- ld [$cd6a], a
+ ld [wcd6a], a
jp MainInBattleLoop
FaintEnemyPokemon ; 0x3c567
call ReadPlayerMonCurHPAndStatus
- ld a, [W_ISINBATTLE] ; $d057
+ ld a, [W_ISINBATTLE] ; W_ISINBATTLE
dec a
jr z, .wild
- ld a, [W_ENEMYMONNUMBER] ; $cfe8
- ld hl, W_ENEMYMON1HP
+ ld a, [wEnemyMonPartyPos]
+ ld hl, wEnemyMon1HP
ld bc, $2c ; mon struct len
call AddNTimes
xor a
ld [hli], a
ld [hl], a
.wild
- ld hl, W_PLAYERBATTSTATUS1 ; $d062
+ ld hl, W_PLAYERBATTSTATUS1 ; W_PLAYERBATTSTATUS1
res 2, [hl]
xor a
- ld [W_NUMHITS], a ; $d074
- ld hl, $d065 ; enemy statuses
+ ld [W_NUMHITS], a ; wd074
+ ld hl, wd065 ; enemy statuses
ld [hli], a
ld [hli], a
ld [hli], a
ld [hli], a
ld [hl], a
- ld [W_ENEMYDISABLEDMOVE], a ; $d072
- ld [$ccef], a
- ld [$ccf3], a
- ld hl, $ccf1
+ ld [W_ENEMYDISABLEDMOVE], a ; W_ENEMYDISABLEDMOVE
+ ld [wccef], a
+ ld [wccf3], a
+ ld hl, wccf1
ld [hli], a
ld [hl], a
- FuncCoord 12, 5 ; $c410
- ld hl, Coord
- FuncCoord 12, 6 ; $c424
- ld de, Coord
+ hlCoord 12, 5
+ deCoord 12, 6
call Func_3c893
ld hl, wTileMap
ld bc, $40b
call ClearScreenArea
- ld a, [W_ISINBATTLE] ; $d057
+ ld a, [W_ISINBATTLE] ; W_ISINBATTLE
dec a
jr z, .wild_win
xor a
- ld [$c0f1], a
- ld [$c0f2], a
+ ld [wc0f1], a
+ ld [wc0f2], a
ld a, (SFX_08_48 - SFX_Headers_08) / 3 ; SFX_FALL?
call PlaySoundWaitForCurrent
.sfxwait
- ld a, [$c02a]
+ ld a, [wc02a]
cp (SFX_08_48 - SFX_Headers_08) / 3
jr z, .sfxwait
ld a, (SFX_08_43 - SFX_Headers_08) / 3 ; SFX_DROP
@@ -861,16 +850,16 @@ FaintEnemyPokemon ; 0x3c567
ld a, MUSIC_DEFEATED_WILD_MON
call PlayBattleVictoryMusic
.sfxplayed
- ld hl, W_PLAYERMONCURHP ; $d015
+ ld hl, wBattleMonHP ; wd015
ld a, [hli]
or [hl]
jr nz, .playermonnotfaint
- ld a, [$ccf0]
+ ld a, [wccf0]
and a
jr nz, .playermonnotfaint
call Func_3c741
.playermonnotfaint
- call AnyPlayerPokemonAliveCheck
+ call AnyPartyAlive
ld a, d
and a
ret z
@@ -879,12 +868,12 @@ FaintEnemyPokemon ; 0x3c567
call Func_3ee94
call SaveScreenTilesToBuffer1
xor a
- ld [$cf0b], a
+ ld [wcf0b], a
ld b, EXP__ALL
call IsItemInBag
push af
jr z, .no_exp_all
- ld hl, $d002
+ ld hl, wd002
ld b, $7
.exp_all_loop
srl [hl]
@@ -893,13 +882,13 @@ FaintEnemyPokemon ; 0x3c567
jr nz, .exp_all_loop
.no_exp_all
xor a
- ld [$cc5b], a
+ ld [wcc5b], a
callab GainExperience
pop af
ret z
ld a, $1
- ld [$cc5b], a
- ld a, [W_NUMINPARTY] ; $d163
+ ld [wcc5b], a
+ ld a, [wPartyCount] ; wPartyCount
ld b, $0
.asm_3c62c
scf
@@ -907,7 +896,7 @@ FaintEnemyPokemon ; 0x3c567
dec a
jr nz, .asm_3c62c
ld a, b
- ld [W_PLAYERMONSALIVEFLAGS], a
+ ld [wPartyAliveFlags], a
ld hl, GainExperience
ld b, BANK(GainExperience)
jp Bankswitch
@@ -918,17 +907,17 @@ EnemyMonFaintedText: ; 0x3c63e
Func_3c643: ; 3c643 (f:4643)
xor a
- ld [$d083], a
- ld [$c02a], a
+ ld [wd083], a
+ ld [wc02a], a
inc a
- ld [$ccf6], a
+ ld [wccf6], a
ret
AnyEnemyPokemonAliveCheck: ; 3c64f (f:464f)
- ld a, [wEnemyPartyCount] ; $d89c
+ ld a, [wEnemyPartyCount] ; wEnemyPartyCount
ld b, a
xor a
- ld hl, W_ENEMYMON1HP ; $d8a5
+ ld hl, wEnemyMon1HP ; wd8a5
ld de, $2c
.asm_3c65a
or [hl]
@@ -942,49 +931,49 @@ AnyEnemyPokemonAliveCheck: ; 3c64f (f:464f)
ret
Func_3c664: ; 3c664 (f:4664)
- ld hl, $cf1e
+ ld hl, wcf1e
ld e, $30
call GetBattleHealthBarColor
callab DrawEnemyPokeballs
- ld a, [W_ISLINKBATTLE] ; $d12b
+ ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $4
jr nz, .asm_3c687
call Func_3d605
- ld a, [$cc3e]
+ ld a, [wcc3e]
cp $f
ret z
call LoadScreenTilesFromBuffer1
.asm_3c687
call EnemySendOut
xor a
- ld [W_ENEMYMOVENUM], a ; $cfcc
- ld [$cd6a], a
- ld [$ccd5], a
+ ld [W_ENEMYMOVENUM], a ; W_ENEMYMOVENUM
+ ld [wcd6a], a
+ ld [wccd5], a
inc a
ret
TrainerBattleVictory: ; 3c696 (f:4696)
call Func_3c643
ld b, MUSIC_DEFEATED_GYM_LEADER
- ld a, [W_GYMLEADERNO] ; $d05c
+ ld a, [W_GYMLEADERNO] ; W_GYMLEADERNO
and a
jr nz, .gymleader
ld b, MUSIC_DEFEATED_TRAINER
.gymleader
- ld a, [W_TRAINERCLASS] ; $d031
+ ld a, [W_TRAINERCLASS] ; wd031
cp SONY3 ; final battle against rival
jr nz, .notrival
ld b, MUSIC_DEFEATED_GYM_LEADER
ld hl, W_FLAGS_D733
set 1, [hl]
.notrival
- ld a, [W_ISLINKBATTLE] ; $d12b
+ ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $4
ld a, b
call nz, PlayBattleVictoryMusic
ld hl, TrainerDefeatedText
call PrintText
- ld a, [W_ISLINKBATTLE] ; $d12b
+ ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $4
ret z
call ScrollTrainerPicAfterBattle
@@ -993,11 +982,10 @@ TrainerBattleVictory: ; 3c696 (f:4696)
call Func_3381
ld hl, MoneyForWinningText
call PrintText
- ld de, wPlayerMoney + 2 ; $d349
- ld hl, $d07b
+ ld de, wPlayerMoney + 2 ; wd349
+ ld hl, wd07b
ld c, $3
- ld a, $b
- jp Predef ; indirect jump to Func_f81d (f81d (3:781d))
+ predef_jump AddBCDPredef
MoneyForWinningText: ; 3c6e4 (f:46e4)
TX_FAR _MoneyForWinningText
@@ -1010,7 +998,7 @@ TrainerDefeatedText: ; 3c6e9 (f:46e9)
PlayBattleVictoryMusic: ; 3c6ee (f:46ee)
push af
ld a, $ff
- ld [$c0ee], a
+ ld [wc0ee], a
call PlaySoundWaitForCurrent
ld c, BANK(Music_DefeatedTrainer)
pop af
@@ -1019,18 +1007,18 @@ PlayBattleVictoryMusic: ; 3c6ee (f:46ee)
HandlePlayerMonFainted: ; 3c700 (f:4700)
ld a, $1
- ld [$ccf0], a
+ ld [wccf0], a
call Func_3c741
- call AnyPlayerPokemonAliveCheck ; test if any more mons are alive
+ call AnyPartyAlive ; test if any more mons are alive
ld a, d
and a
jp z, HandlePlayerBlackOut
- ld hl, W_ENEMYMONCURHP ; $cfe6
+ ld hl, wEnemyMonHP ; wEnemyMonHP
ld a, [hli]
or [hl]
jr nz, .enemyMonNotFainted
call FaintEnemyPokemon
- ld a, [W_ISINBATTLE] ; $d057
+ ld a, [W_ISINBATTLE] ; W_ISINBATTLE
dec a
ret z ; if wild encounter, battle is over
call AnyEnemyPokemonAliveCheck
@@ -1041,49 +1029,45 @@ HandlePlayerMonFainted: ; 3c700 (f:4700)
call Func_3c7d8
jp nz, MainInBattleLoop
ld a, $1
- ld [$cd6a], a
+ ld [wcd6a], a
call Func_3c664
jp z, asm_3c202
xor a
- ld [$cd6a], a
+ ld [wcd6a], a
jp MainInBattleLoop
Func_3c741: ; 3c741 (f:4741)
- ld a, [wPlayerMonNumber] ; $cc2f
+ ld a, [wPlayerMonNumber] ; wPlayerMonNumber
ld c, a
- ld hl, W_PLAYERMONSALIVEFLAGS ; clear fainted mon's alive flag
+ ld hl, wPartyAliveFlags ; clear fainted mon's alive flag
ld b, $0
- ld a, $10
- call Predef ; indirect jump to HandleBitArray (f666 (3:7666))
- ld hl, W_ENEMYBATTSTATUS1 ; $d067
+ predef FlagActionPredef
+ ld hl, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
res 2, [hl] ; reset "attacking multiple times" flag
- ld a, [$d083]
+ ld a, [wd083]
bit 7, a ; skip sound flag (red bar (?))
jr z, .skipWaitForSound
ld a, $ff
- ld [$d083], a
+ ld [wd083], a
call WaitForSoundToFinish
.skipWaitForSound
- ld hl, $cd05
+ ld hl, wcd05
ld [hli], a
ld [hl], a
- ld [W_PLAYERMONSTATUS], a ; $d018
+ ld [wBattleMonStatus], a ; wBattleMonStatus
call ReadPlayerMonCurHPAndStatus
- FuncCoord 9, 7 ; $c435
- ld hl, Coord
+ hlCoord 9, 7
ld bc, $50b
call ClearScreenArea
- FuncCoord 1, 10 ; $c469
- ld hl, Coord
- FuncCoord 1, 11 ; $c47d
- ld de, Coord
+ hlCoord 1, 10
+ deCoord 1, 11
call Func_3c893
ld a, $1
- ld [$cf0b], a
- ld a, [$ccf0]
+ ld [wcf0b], a
+ ld a, [wccf0]
and a
ret z
- ld a, [W_PLAYERMONID]
+ ld a, [wBattleMonSpecies]
call PlayCry
ld hl, PlayerMonFaintedText
jp PrintText
@@ -1095,30 +1079,29 @@ PlayerMonFaintedText: ; 3c796 (f:4796)
Func_3c79b: ; 3c79b (f:479b)
call Func_3ee94
call SaveScreenTilesToBuffer1
- ld a, [W_ISINBATTLE] ; $d057
+ ld a, [W_ISINBATTLE] ; W_ISINBATTLE
and a
dec a
ret nz
ld hl, UseNextMonText
call PrintText
.asm_3c7ad
- FuncCoord 13, 9 ; $c461
- ld hl, Coord
+ hlCoord 13, 9
ld bc, $a0e
ld a, $14
- ld [$d125], a
+ ld [wd125], a
call DisplayTextBoxID
- ld a, [$d12e]
+ ld a, [wd12e]
cp $2
jr z, .asm_3c7c4
and a
ret
.asm_3c7c4
- ld a, [wCurrentMenuItem] ; $cc26
+ ld a, [wCurrentMenuItem] ; wCurrentMenuItem
and a
jr z, .asm_3c7ad
- ld hl, W_PARTYMON1_SPEED ; $d193
- ld de, W_ENEMYMONSPEED
+ ld hl, wPartyMon1Speed
+ ld de, wEnemyMonSpeed
jp Func_3cab9
UseNextMonText: ; 3c7d3 (f:47d3)
@@ -1127,7 +1110,7 @@ UseNextMonText: ; 3c7d3 (f:47d3)
Func_3c7d8: ; 3c7d8 (f:47d8)
ld a, $2
- ld [$d07d], a
+ ld [wd07d], a
call DisplayPartyMenu
.asm_3c7e0
jr nc, .asm_3c7e7
@@ -1137,28 +1120,26 @@ Func_3c7d8: ; 3c7d8 (f:47d8)
.asm_3c7e7
call Func_3ca97
jr z, .asm_3c7e2
- ld a, [W_ISLINKBATTLE] ; $d12b
+ ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $4
jr nz, .asm_3c7fa
inc a
- ld [$cd6a], a
+ ld [wcd6a], a
call Func_3d605
.asm_3c7fa
xor a
- ld [$cd6a], a
- call CleanLCD_OAM
- ld a, [wWhichPokemon] ; $cf92
- ld [wPlayerMonNumber], a ; $cc2f
+ ld [wcd6a], a
+ call ClearSprites
+ ld a, [wWhichPokemon] ; wWhichPokemon
+ ld [wPlayerMonNumber], a ; wPlayerMonNumber
ld c, a
- ld hl, W_PLAYERMONSALIVEFLAGS
+ ld hl, wPartyAliveFlags
ld b, $1
push bc
- ld a, $10
- call Predef ; indirect jump to HandleBitArray (f666 (3:7666))
+ predef FlagActionPredef
pop bc
- ld hl, $ccf5
- ld a, $10
- call Predef ; indirect jump to HandleBitArray (f666 (3:7666))
+ ld hl, wccf5
+ predef FlagActionPredef
call Func_3cba6
call GBPalWhiteOut
call Func_3ee5b
@@ -1166,7 +1147,7 @@ Func_3c7d8: ; 3c7d8 (f:47d8)
call GoPAL_SET_CF1C
call GBPalNormal
call Func_3cc91
- ld hl, W_ENEMYMONCURHP ; $cfe6
+ ld hl, wEnemyMonHP ; wEnemyMonHP
ld a, [hli]
or [hl]
ret
@@ -1174,10 +1155,10 @@ Func_3c7d8: ; 3c7d8 (f:47d8)
; called when player is out of usable mons.
; prints approriate lose message, sets carry flag if player blacked out (special case for initial rival fight)
HandlePlayerBlackOut: ; 3c837 (f:4837)
- ld a, [W_ISLINKBATTLE] ; $d12b
+ ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $4
jr z, .notSony1Battle
- ld a, [W_CUROPPONENT] ; $d059
+ ld a, [W_CUROPPONENT] ; wd059
cp $c8 + SONY1
jr nz, .notSony1Battle
ld hl, wTileMap ; sony 1 battle
@@ -1195,15 +1176,15 @@ HandlePlayerBlackOut: ; 3c837 (f:4837)
ld b, $0
call GoPAL_SET
ld hl, PlayerBlackedOutText2
- ld a, [W_ISLINKBATTLE] ; $d12b
+ ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $4
jr nz, .noLinkBattle
ld hl, LinkBattleLostText
.noLinkBattle
call PrintText
- ld a, [$d732]
+ ld a, [wd732]
res 5, a
- ld [$d732], a
+ ld [wd732], a
call ClearScreen
scf
ret
@@ -1221,10 +1202,10 @@ LinkBattleLostText: ; 3c88e (f:488e)
db "@"
Func_3c893: ; 3c893 (f:4893)
- ld a, [$d730]
+ ld a, [wd730]
push af
set 6, a
- ld [$d730], a
+ ld [wd730], a
ld b, $7
.asm_3c89e
push bc
@@ -1263,7 +1244,7 @@ Func_3c893: ; 3c893 (f:4893)
dec b
jr nz, .asm_3c89e
pop af
- ld [$d730], a
+ ld [wd730], a
ret
SevenSpacesText: ; 3c8d7 (f:48d7)
@@ -1310,49 +1291,46 @@ Func_3c8df: ; 3c8df (f:48df)
; XXX this needs cleaning up. it's what runs when a juggler switches pokemon
EnemySendOut: ; 3c90e (f:490e)
- ld hl,W_PLAYERMONSALIVEFLAGS
+ ld hl,wPartyAliveFlags
xor a
ld [hl],a
- ld a,[$CC2F]
+ ld a,[wPlayerMonNumber]
ld c,a
ld b,1
push bc
- ld a,$10
- call Predef
- ld hl,$CCF5
+ predef FlagActionPredef
+ ld hl,wccf5
xor a
ld [hl],a
pop bc
- ld a,$10
- call Predef
+ predef FlagActionPredef
Func_3c92a: ; 3c92a (f:492a)
xor a
- ld hl,$D065
+ ld hl,wd065
ld [hli],a
ld [hli],a
ld [hli],a
ld [hli],a
ld [hl],a
- ld [$D072],a
- ld [$CCEF],a
- ld [$CCF3],a
- ld hl,$CCF1
+ ld [W_ENEMYDISABLEDMOVE],a
+ ld [wccef],a
+ ld [wccf3],a
+ ld hl,wccf1
ld [hli],a
ld [hl],a
dec a
ld [wAICount],a
ld hl,W_PLAYERBATTSTATUS1
res 5,[hl]
- FuncCoord 18, 0 ; $c3b2
- ld hl,Coord
+ hlCoord 18, 0
ld a,8
call Func_3c8df
call Func_3ee94
call SaveScreenTilesToBuffer1
- ld a,[$D12B]
+ ld a,[W_ISLINKBATTLE]
cp 4
jr nz,.next
- ld a,[$CC3E]
+ ld a,[wcc3e]
sub 4
ld [wWhichPokemon],a
jr .next3
@@ -1360,14 +1338,14 @@ Func_3c92a: ; 3c92a (f:492a)
ld b,$FF
.next2
inc b
- ld a,[$CFE8]
+ ld a,[wEnemyMonPartyPos]
cp b
jr z,.next2
- ld hl,$D8A4
+ ld hl,wEnemyMon1
ld a,b
ld [wWhichPokemon],a
push bc
- ld bc,$2C
+ ld bc,wEnemyMon2 - wEnemyMon1
call AddNTimes
pop bc
inc hl
@@ -1378,59 +1356,58 @@ Func_3c92a: ; 3c92a (f:492a)
jr z,.next2
.next3
ld a,[wWhichPokemon]
- ld hl,$D8C5
- ld bc,$2C
+ ld hl,wEnemyMon1Level
+ ld bc,wEnemyMon2 - wEnemyMon1
call AddNTimes
ld a,[hl]
- ld [$D127],a
+ ld [W_CURENEMYLVL],a
ld a,[wWhichPokemon]
inc a
- ld hl,$D89C
+ ld hl,wEnemyPartyCount
ld c,a
ld b,0
add hl,bc
ld a,[hl]
- ld [W_ENEMYMONID],a
- ld [$CF91],a
+ ld [wEnemyMonSpecies2],a
+ ld [wcf91],a
call Func_3eb01
- ld hl,$CFE6
+ ld hl,wEnemyMonHP
ld a,[hli]
- ld [$CCE3],a
+ ld [wcce3],a
ld a,[hl]
- ld [$CCE4],a
+ ld [wcce4],a
ld a,1
- ld [$CC26],a
- ld a,[$D11D]
+ ld [wCurrentMenuItem],a
+ ld a,[wd11d]
dec a
jr z,.next4
- ld a,[W_NUMINPARTY]
+ ld a,[wPartyCount]
dec a
jr z,.next4
- ld a,[$D12B]
+ ld a,[W_ISLINKBATTLE]
cp 4
jr z,.next4
- ld a,[$D355]
+ ld a,[W_OPTIONS]
bit 6,a
jr nz,.next4
ld hl, TrainerAboutToUseText
call PrintText
- FuncCoord 0, 7 ; $c42c
- ld hl,Coord
+ hlCoord 0, 7
ld bc,$0801
ld a,$14
- ld [$D125],a
+ ld [wd125],a
call DisplayTextBoxID
- ld a,[$CC26]
+ ld a,[wCurrentMenuItem]
and a
jr nz,.next4
ld a,2
- ld [$D07D],a
+ ld [wd07d],a
call DisplayPartyMenu
.next9
ld a,1
- ld [$CC26],a
+ ld [wCurrentMenuItem],a
jr c,.next7
- ld hl,$CC2F
+ ld hl,wPlayerMonNumber
ld a,[wWhichPokemon]
cp [hl]
jr nz,.next6
@@ -1443,13 +1420,13 @@ Func_3c92a: ; 3c92a (f:492a)
call Func_3ca97
jr z,.next8
xor a
- ld [$CC26],a
+ ld [wCurrentMenuItem],a
.next7
call GBPalWhiteOut
call Func_3ee5b
call LoadScreenTilesFromBuffer1
.next4
- call CleanLCD_OAM
+ call ClearSprites
ld hl,wTileMap
ld bc,$040B
call ClearScreenArea
@@ -1458,27 +1435,25 @@ Func_3c92a: ; 3c92a (f:492a)
call GBPalNormal
ld hl,TrainerSentOutText
call PrintText
- ld a,[W_ENEMYMONID]
- ld [$CF91],a
- ld [$D0B5],a
+ ld a,[wEnemyMonSpecies2]
+ ld [wcf91],a
+ ld [wd0b5],a
call GetMonHeader
- ld de,$9000
+ ld de,vFrontPic
call LoadMonFrontSprite
ld a,$CF
ld [$FFE1],a
- FuncCoord 15, 6 ; $c427
- ld hl,Coord
- ld a,2
- call Predef
- ld a,[W_ENEMYMONID]
+ hlCoord 15, 6
+ predef Func_3f073
+ ld a,[wEnemyMonSpecies2]
call PlayCry
call Func_3cdec
- ld a,[$CC26]
+ ld a,[wCurrentMenuItem]
and a
ret nz
xor a
- ld [W_PLAYERMONSALIVEFLAGS],a
- ld [$CCF5],a
+ ld [wPartyAliveFlags],a
+ ld [wccf5],a
call SaveScreenTilesToBuffer1
jp Func_3d1ba
@@ -1492,12 +1467,12 @@ TrainerSentOutText: ; 3ca7e (f:4a7e)
; tests if the player has any pokemon that are not fainted
; sets d = 0 if all fainted, d != 0 if some mons are still alive
-AnyPlayerPokemonAliveCheck: ; 3ca83 (f:4a83)
- ld a, [W_NUMINPARTY] ; $d163
+AnyPartyAlive: ; 3ca83 (f:4a83)
+ ld a, [wPartyCount] ; wPartyCount
ld e, a
xor a
- ld hl, W_PARTYMON1_HP ; $d16c
- ld bc, W_PARTYMON2DATA - W_PARTYMON1DATA - 1
+ ld hl, wPartyMon1HP ; wd16c
+ ld bc, wPartyMon2 - wPartyMon1 - 1
.partyMonsLoop
or [hl]
inc hl
@@ -1509,14 +1484,14 @@ AnyPlayerPokemonAliveCheck: ; 3ca83 (f:4a83)
ret
Func_3ca97: ; 3ca97 (f:4a97)
- ld a, [wWhichPokemon] ; $cf92
- ld hl, W_PARTYMON1_HP ; $d16c
+ ld a, [wWhichPokemon] ; wWhichPokemon
+ ld hl, wPartyMon1HP ; wd16c
ld bc, $2c
call AddNTimes
ld a, [hli]
or [hl]
ret nz
- ld a, [$d11d]
+ ld a, [wd11d]
and a
jr nz, .asm_3cab2
ld hl, NoWillText
@@ -1532,18 +1507,18 @@ NoWillText: ; 3cab4 (f:4ab4)
Func_3cab9: ; 3cab9 (f:4ab9)
call IsGhostBattle
jp z, .asm_3cb5c
- ld a, [W_BATTLETYPE] ; $d05a
+ ld a, [W_BATTLETYPE] ; wd05a
cp $2
jp z, .asm_3cb5c
- ld a, [W_ISLINKBATTLE] ; $d12b
+ ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $4
jp z, .asm_3cb5c
- ld a, [W_ISINBATTLE] ; $d057
+ ld a, [W_ISINBATTLE] ; W_ISINBATTLE
dec a
jr nz, .asm_3cb4c
- ld a, [$d120]
+ ld a, [wd120]
inc a
- ld [$d120], a
+ ld [wd120], a
ld a, [hli]
ld [$ff97], a
ld a, [hl]
@@ -1583,7 +1558,7 @@ Func_3cab9: ; 3cab9 (f:4ab9)
ld a, [$ff97]
and a
jr nz, .asm_3cb5c
- ld a, [$d120]
+ ld a, [wd120]
ld c, a
.asm_3cb2b
dec c
@@ -1595,13 +1570,13 @@ Func_3cab9: ; 3cab9 (f:4ab9)
jr c, .asm_3cb5c
jr .asm_3cb2b
.asm_3cb39
- call GenRandomInBattle
+ call BattleRandom
ld b, a
ld a, [$ff98]
cp b
jr nc, .asm_3cb5c
ld a, $1
- ld [$cd6a], a
+ ld [wcd6a], a
ld hl, CantEscapeText
jr .asm_3cb4f
.asm_3cb4c
@@ -1609,29 +1584,29 @@ Func_3cab9: ; 3cab9 (f:4ab9)
.asm_3cb4f
call PrintText
ld a, $1
- ld [$d11f], a
+ ld [wd11f], a
call SaveScreenTilesToBuffer1
and a
ret
.asm_3cb5c
- ld a, [W_ISLINKBATTLE] ; $d12b
+ ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $4
ld a, $2
jr nz, .asm_3cb81
call SaveScreenTilesToBuffer1
xor a
- ld [$cd6a], a
+ ld [wcd6a], a
ld a, $f
- ld [wPlayerMoveListIndex], a ; $cc2e
+ ld [wPlayerMoveListIndex], a ; wPlayerMoveListIndex
call Func_3d605
call LoadScreenTilesFromBuffer1
- ld a, [$cc3e]
+ ld a, [wcc3e]
cp $f
ld a, $2
jr z, .asm_3cb81
dec a
.asm_3cb81
- ld [$cf0b], a
+ ld [wcf0b], a
ld a, (SFX_08_44 - SFX_Headers_08) / 3
call PlaySoundWaitForCurrent
ld hl, GotAwayText
@@ -1654,42 +1629,42 @@ GotAwayText: ; 3cba1 (f:4ba1)
db "@"
Func_3cba6: ; 3cba6 (f:4ba6)
- ld a, [wWhichPokemon] ; $cf92
+ ld a, [wWhichPokemon] ; wWhichPokemon
ld bc, $2c
- ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
+ ld hl, wPartyMon1Species ; wPartyMon1Species (aliases: wPartyMon1)
call AddNTimes
- ld de, W_PLAYERMONID
+ ld de, wBattleMonSpecies
ld bc, $c
call CopyData
ld bc, $f
add hl, bc
- ld de, W_PLAYERMONIVS
+ ld de, wBattleMonDVs
ld bc, $2
call CopyData
- ld de, W_PLAYERMONPP ; $d02d
+ ld de, wBattleMonPP ; wBattleMonPP
ld bc, $4
call CopyData
- ld de, W_PLAYERMONLEVEL ; $d022
+ ld de, wBattleMonLevel ; wBattleMonLevel
ld bc, $b
call CopyData
- ld a, [$cfd9]
- ld [$d0b5], a
+ ld a, [wBattleMonSpecies2]
+ ld [wd0b5], a
call GetMonHeader
- ld hl, W_PARTYMON1NAME ; $d2b5
- ld a, [wPlayerMonNumber] ; $cc2f
+ ld hl, wPartyMonNicks ; wPartyMonNicks
+ ld a, [wPlayerMonNumber] ; wPlayerMonNumber
call SkipFixedLengthTextEntries
- ld de, W_PLAYERMONNAME
+ ld de, wBattleMonNick
ld bc, $b
call CopyData
- ld hl, W_PLAYERMONLEVEL ; $d022
- ld de, $cd0f
+ ld hl, wBattleMonLevel ; wBattleMonLevel
+ ld de, wcd0f
ld bc, $b
call CopyData
call Func_3ed1a
call Func_3ee19
ld a, $7
ld b, $8
- ld hl, wPlayerMonAttackMod ; $cd1a
+ ld hl, wPlayerMonAttackMod ; wcd1a
.asm_3cc0e
ld [hli], a
dec b
@@ -1697,40 +1672,40 @@ Func_3cba6: ; 3cba6 (f:4ba6)
ret
Func_3cc13: ; 3cc13 (f:4c13)
- ld a, [wWhichPokemon] ; $cf92
+ ld a, [wWhichPokemon] ; wWhichPokemon
ld bc, $2c
- ld hl, wEnemyMons ; $d8a4
+ ld hl, wEnemyMons ; wEnemyMon1Species
call AddNTimes
- ld de, $cfe5
+ ld de, wEnemyMonSpecies
ld bc, $c
call CopyData
ld bc, $f
add hl, bc
- ld de, $cff1
+ ld de, wEnemyMonDVs
ld bc, $2
call CopyData
- ld de, W_ENEMYMONPP ; $cffe
+ ld de, wEnemyMonPP ; wcffe
ld bc, $4
call CopyData
- ld de, W_ENEMYMONLEVEL ; $cff3
+ ld de, wEnemyMonLevel ; wEnemyMonLevel
ld bc, $b
call CopyData
- ld a, [$cfe5]
- ld [$d0b5], a
+ ld a, [wEnemyMonSpecies]
+ ld [wd0b5], a
call GetMonHeader
- ld hl, $d9ee
- ld a, [wWhichPokemon] ; $cf92
+ ld hl, wEnemyMonNicks
+ ld a, [wWhichPokemon] ; wWhichPokemon
call SkipFixedLengthTextEntries
- ld de, W_ENEMYMONNAME
+ ld de, wEnemyMonNick
ld bc, $b
call CopyData
- ld hl, W_ENEMYMONLEVEL ; $cff3
- ld de, $cd23
+ ld hl, wEnemyMonLevel ; wEnemyMonLevel
+ ld de, wcd23
ld bc, $b
call CopyData
call Func_3ed1e
ld hl, W_MONHBASESTATS
- ld de, $d002
+ ld de, wd002
ld b, $5
.asm_3cc79
ld a, [hli]
@@ -1740,18 +1715,18 @@ Func_3cc13: ; 3cc13 (f:4c13)
jr nz, .asm_3cc79
ld a, $7
ld b, $8
- ld hl, wEnemyMonStatMods ; $cd2e
+ ld hl, wEnemyMonStatMods ; wcd2e
.asm_3cc86
ld [hli], a
dec b
jr nz, .asm_3cc86
- ld a, [wWhichPokemon] ; $cf92
- ld [W_ENEMYMONNUMBER], a ; $cfe8
+ ld a, [wWhichPokemon] ; wWhichPokemon
+ ld [wEnemyMonPartyPos], a
ret
Func_3cc91: ; 3cc91 (f:4c91)
callab SendOutMon
- ld hl, W_ENEMYMONCURHP ; $cfe6
+ ld hl, wEnemyMonHP ; wEnemyMonHP
ld a, [hli]
or [hl]
jp z, Func_3cca4
@@ -1759,91 +1734,81 @@ Func_3cc91: ; 3cc91 (f:4c91)
Func_3cca4: ; 3cca4 (f:4ca4)
call Func_3cd60
- ld a, $4
- call Predef ; indirect jump to LoadMonBackSprite (3f103 (f:7103))
+ predef LoadMonBackPic
xor a
ld [$ffe1], a
- ld hl, $cc2d
+ ld hl, wcc2d
ld [hli], a
ld [hl], a
- ld [$cc5b], a
- ld [$d05b], a
- ld [W_PLAYERMOVENUM], a ; $cfd2
- ld hl, $ccf1
+ ld [wcc5b], a
+ ld [wd05b], a
+ ld [W_PLAYERMOVENUM], a ; wcfd2
+ ld hl, wccf1
ld [hli], a
ld [hl], a
- ld hl, $d060
+ ld hl, wd060
ld [hli], a
ld [hli], a
ld [hli], a
ld [hli], a
ld [hl], a
- ld [W_PLAYERDISABLEDMOVE], a ; $d06d
- ld [$ccee], a
- ld [$ccf7], a
+ ld [W_PLAYERDISABLEDMOVE], a ; W_PLAYERDISABLEDMOVE
+ ld [wccee], a
+ ld [wccf7], a
ld b, $1
call GoPAL_SET
- ld hl, W_ENEMYBATTSTATUS1 ; $d067
+ ld hl, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
res 5, [hl]
ld a, $1
ld [H_WHOSETURN], a ; $fff3
ld a, POOF_ANIM
call PlayMoveAnimation
- FuncCoord 4, 11 ; $c480
- ld hl, Coord
- ld a, $2
- call Predef ; indirect jump to Func_3f073 (3f073 (f:7073))
- ld a, [$cf91]
+ hlCoord 4, 11
+ predef Func_3f073
+ ld a, [wcf91]
call PlayCry
call Func_3ee94
jp SaveScreenTilesToBuffer1
Func_3ccfa: ; 3ccfa (f:4cfa)
- FuncCoord 1, 5 ; $c405
- ld hl, Coord
+ hlCoord 1, 5
ld bc, $707
call ClearScreenArea
- FuncCoord 3, 7 ; $c42f
- ld hl, Coord
+ hlCoord 3, 7
ld bc, $505
xor a
- ld [$cd6c], a
+ ld [wcd6c], a
ld [H_DOWNARROWBLINKCNT1], a ; $ff8b
- ld a, $5
- call Predef ; indirect jump to Func_79aba (79aba (1e:5aba))
+ predef Func_79aba
ld c, $4
call DelayFrames
call Func_3cd3a
- FuncCoord 4, 9 ; $c458
- ld hl, Coord
+ hlCoord 4, 9
ld bc, $303
ld a, $1
- ld [$cd6c], a
+ ld [wcd6c], a
xor a
ld [H_DOWNARROWBLINKCNT1], a ; $ff8b
- ld a, $5
- call Predef ; indirect jump to Func_79aba (79aba (1e:5aba))
+ predef Func_79aba
call Delay3
call Func_3cd3a
ld a, $4c
- FuncCoord 5, 11 ; $c481
- ld [Coord], a
+ Coorda 5, 11
Func_3cd3a: ; 3cd3a (f:4d3a)
- FuncCoord 1, 5 ; $c405
- ld hl, Coord
+ hlCoord 1, 5
ld bc, $707
jp ClearScreenArea
-; reads player's current mon's HP into W_PLAYERMONCURHP
+; reads player's current mon's HP into wBattleMonHP
ReadPlayerMonCurHPAndStatus: ; 3cd43 (f:4d43)
- ld a, [wPlayerMonNumber] ; $cc2f
- ld hl, W_PARTYMON1_HP ; $d16c
- ld bc, W_PARTYMON2DATA - W_PARTYMON1DATA
+ ld a, [wPlayerMonNumber] ; wPlayerMonNumber
+ ld hl, wPartyMon1HP ; wd16c
+ ld bc, wPartyMon2 - wPartyMon1
call AddNTimes
ld d, h
ld e, l
- ld hl, W_PLAYERMONCURHP ; $d015
+ ld hl, wBattleMonHP ; wd015
ld bc, $4 ; 2 bytes HP, 1 byte unknown (unused?), 1 byte status
jp CopyData
@@ -1854,67 +1819,61 @@ Func_3cd5a: ; 3cd5a (f:4d5a)
Func_3cd60: ; 3cd60 (f:4d60)
xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
- FuncCoord 9, 7 ; $c435
- ld hl, Coord
+ hlCoord 9, 7
ld bc, $50b
call ClearScreenArea
callab PlacePlayerHUDTiles
- FuncCoord 18, 9 ; $c466
- ld hl, Coord
+ hlCoord 18, 9
ld [hl], $73
- ld de, W_PLAYERMONNAME
- FuncCoord 10, 7 ; $c436
- ld hl, Coord
+ ld de, wBattleMonNick
+ hlCoord 10, 7
call Func_3ce9c
call PlaceString
- ld hl, W_PLAYERMONID
- ld de, $cf98
+ ld hl, wBattleMonSpecies
+ ld de, wcf98
ld bc, $c
call CopyData
- ld hl, W_PLAYERMONLEVEL ; $d022
- ld de, $cfb9
+ ld hl, wBattleMonLevel ; wBattleMonLevel
+ ld de, wcfb9
ld bc, $b
call CopyData
- FuncCoord 14, 8 ; $c44e
- ld hl, Coord
+ hlCoord 14, 8
push hl
inc hl
- ld de, $cf9c
+ ld de, wcf9c
call PrintStatusConditionNotFainted
pop hl
jr nz, .asm_3cdae
call PrintLevel
.asm_3cdae
- ld a, [$cf98]
- ld [$cf91], a
- FuncCoord 10, 9 ; $c45e
- ld hl, Coord
- ld a, $5f
- call Predef ; indirect jump to Func_128ef (128ef (4:68ef))
+ ld a, [wcf98]
+ ld [wcf91], a
+ hlCoord 10, 9
+ predef DrawHP
ld a, $1
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
- ld hl, $cf1d
+ ld hl, wcf1d
call GetBattleHealthBarColor
- ld hl, W_PLAYERMONCURHP ; $d015
+ ld hl, wBattleMonHP ; wd015
ld a, [hli]
or [hl]
jr z, .asm_3cdd9
- ld a, [$ccf6]
+ ld a, [wccf6]
and a
ret nz
- ld a, [$cf1d]
+ ld a, [wcf1d]
cp $2
jr z, .asm_3cde6
.asm_3cdd9
- ld hl, $d083
+ ld hl, wd083
bit 7, [hl]
ld [hl], $0
ret z
xor a
- ld [$c02a], a
+ ld [wc02a], a
ret
.asm_3cde6
- ld hl, $d083
+ ld hl, wd083
set 7, [hl]
ret
@@ -1925,24 +1884,22 @@ Func_3cdec: ; 3cdec (f:4dec)
ld bc, $40c
call ClearScreenArea
callab PlaceEnemyHUDTiles
- ld de, W_ENEMYMONNAME
- FuncCoord 1, 0 ; $c3a1
- ld hl, Coord
+ ld de, wEnemyMonNick
+ hlCoord 1, 0
call Func_3ce9c
call PlaceString
- FuncCoord 4, 1 ; $c3b8
- ld hl, Coord
+ hlCoord 4, 1
push hl
inc hl
- ld de, W_ENEMYMONSTATUS ; $cfe9
+ ld de, wEnemyMonStatus ; wcfe9
call PrintStatusConditionNotFainted
pop hl
jr nz, .asm_3ce23
- ld a, [W_ENEMYMONLEVEL] ; $cff3
- ld [$cfb9], a
+ ld a, [wEnemyMonLevel] ; wEnemyMonLevel
+ ld [wcfb9], a
call PrintLevel
.asm_3ce23
- ld hl, W_ENEMYMONCURHP ; $cfe6
+ ld hl, wEnemyMonHP ; wEnemyMonHP
ld a, [hli]
ld [$ff97], a
ld a, [hld]
@@ -1959,7 +1916,7 @@ Func_3cdec: ; 3cdec (f:4dec)
ld a, $30
ld [H_REMAINDER], a ; $ff99 (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
call Multiply
- ld hl, W_ENEMYMONMAXHP ; $cff4
+ ld hl, wEnemyMonMaxHP ; wEnemyMonMaxHP
ld a, [hli]
ld b, a
ld a, [hl]
@@ -1999,13 +1956,12 @@ Func_3cdec: ; 3cdec (f:4dec)
Func_3ce7f: ; 3ce7f (f:4e7f)
xor a
- ld [wListMenuID], a ; $cf94
- FuncCoord 2, 2 ; $c3ca
- ld hl, Coord
+ ld [wListMenuID], a ; wListMenuID
+ hlCoord 2, 2
call DrawHPBar
ld a, $1
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
- ld hl, $cf1e
+ ld hl, wcf1e
GetBattleHealthBarColor: ; 3ce90 (f:4e90)
ld b, [hl]
@@ -2039,27 +1995,27 @@ Func_3ce9c: ; 3ce9c (f:4e9c)
InitBattleMenu: ; 3ceb3 (f:4eb3)
call LoadScreenTilesFromBuffer1 ; restore saved screen
- ld a, [W_BATTLETYPE] ; $d05a
+ ld a, [W_BATTLETYPE] ; wd05a
and a
jr nz, .nonstandardbattle
call Func_3cd5a ; redraw names and HP bars?
call Func_3ee94
call SaveScreenTilesToBuffer1
.nonstandardbattle
- ld a, [W_BATTLETYPE] ; $d05a
+ ld a, [W_BATTLETYPE] ; wd05a
cp $2 ; safari
ld a, $b ; safari menu id
jr nz, .menuselected
ld a, $1b ; regular menu id
.menuselected
- ld [$d125], a
+ ld [wd125], a
call DisplayTextBoxID
- ld a, [W_BATTLETYPE] ; $d05a
+ ld a, [W_BATTLETYPE] ; wd05a
dec a
jp nz, RegularBattleMenu ; regular battle
; the following happens for the old man tutorial
- ld hl, W_PLAYERNAME ; $d158
- ld de, W_GRASSRATE ; $d887
+ ld hl, wPlayerName ; wd158
+ ld de, W_GRASSRATE ; W_GRASSRATE
ld bc, $b
call CopyData ; temporarily save the player name in unused space,
; which is supposed to get overwritten when entering a
@@ -2067,18 +2023,16 @@ InitBattleMenu: ; 3ceb3 (f:4eb3)
; may not get overwritten (cinnabar) and the infamous
; missingno. glitch can show up.
ld hl, OldManName ; $4f12
- ld de, W_PLAYERNAME ; $d158
+ ld de, wPlayerName ; wd158
ld bc, $b
call CopyData
; the following simulates the keystrokes by drawing menus on screen
- FuncCoord 9, 14 ; $c4c1
- ld hl, Coord
+ hlCoord 9, 14
ld [hl], "▶"
ld c, $50
call DelayFrames
ld [hl], $7f
- FuncCoord 9, 16 ; $c4e9
- ld hl, Coord
+ hlCoord 9, 16
ld [hl], "▶"
ld c, $32
call DelayFrames
@@ -2090,38 +2044,33 @@ OldManName: ; 3cf12 (f:4f12)
db "OLD MAN@"
RegularBattleMenu: ; 3cf1a (f:4f1a)
- ld a, [$cc2d]
- ld [wCurrentMenuItem], a ; $cc26
- ld [wLastMenuItem], a ; $cc2a
+ ld a, [wcc2d]
+ ld [wCurrentMenuItem], a ; wCurrentMenuItem
+ ld [wLastMenuItem], a ; wLastMenuItem
sub $2
jr c, .leftcolumn
- ld [wCurrentMenuItem], a ; $cc26
- ld [wLastMenuItem], a ; $cc2a
+ ld [wCurrentMenuItem], a ; wCurrentMenuItem
+ ld [wLastMenuItem], a ; wLastMenuItem
jr .rightcolumn
.leftcolumn
- ld a, [W_BATTLETYPE] ; $d05a
+ ld a, [W_BATTLETYPE] ; wd05a
cp $2
ld a, " "
jr z, .safaribattle
- FuncCoord 15, 14 ; $c4c7
- ld [Coord], a
- FuncCoord 15, 16 ; $c4ef
- ld [Coord], a
+ Coorda 15, 14
+ Coorda 15, 16
ld b, $9
jr .notsafari
.safaribattle
- FuncCoord 13, 14 ; $c4c5
- ld [Coord], a
- FuncCoord 13, 16 ; $c4ed
- ld [Coord], a
- FuncCoord 7, 14 ; $c4bf
- ld hl, Coord
- ld de, W_NUMSAFARIBALLS ; $da47
+ Coorda 13, 14
+ Coorda 13, 16
+ hlCoord 7, 14
+ ld de, W_NUMSAFARIBALLS ; W_NUMSAFARIBALLS
ld bc, $102
call PrintNumber
ld b, $1
.notsafari
- ld hl, wTopMenuItemY ; $cc24
+ ld hl, wTopMenuItemY ; wTopMenuItemY
ld a, $e
ld [hli], a
ld a, b
@@ -2136,29 +2085,24 @@ RegularBattleMenu: ; 3cf1a (f:4f1a)
jr nz, .rightcolumn
jr .selection
.rightcolumn
- ld a, [W_BATTLETYPE] ; $d05a
+ ld a, [W_BATTLETYPE] ; wd05a
cp $2
ld a, " "
jr z, .safarirightcolumn
- FuncCoord 9, 14 ; $c4c1
- ld [Coord], a
- FuncCoord 9, 16 ; $c4e9
- ld [Coord], a
+ Coorda 9, 14
+ Coorda 9, 16
ld b, $f
jr .notsafarirightcolumn
.safarirightcolumn
- FuncCoord 1, 14 ; $c4b9
- ld [Coord], a
- FuncCoord 1, 16 ; $c4e1
- ld [Coord], a
- FuncCoord 7, 14 ; $c4bf
- ld hl, Coord
- ld de, W_NUMSAFARIBALLS ; $da47
+ Coorda 1, 14
+ Coorda 1, 16
+ hlCoord 7, 14
+ ld de, W_NUMSAFARIBALLS ; W_NUMSAFARIBALLS
ld bc, $102
call PrintNumber
ld b, $d
.notsafarirightcolumn
- ld hl, wTopMenuItemY ; $cc24
+ ld hl, wTopMenuItemY ; wTopMenuItemY
ld a, $e
ld [hli], a
ld a, b
@@ -2172,15 +2116,15 @@ RegularBattleMenu: ; 3cf1a (f:4f1a)
call HandleMenuInput
bit 5, a
jr nz, .leftcolumn
- ld a, [wCurrentMenuItem] ; $cc26
+ ld a, [wCurrentMenuItem] ; wCurrentMenuItem
add $2 ; if we're in the right column, the actual id is +2
- ld [wCurrentMenuItem], a ; $cc26
+ ld [wCurrentMenuItem], a ; wCurrentMenuItem
.selection
call PlaceUnfilledArrowMenuCursor
- ld a, [W_BATTLETYPE] ; $d05a
+ ld a, [W_BATTLETYPE] ; wd05a
cp $2
- ld a, [wCurrentMenuItem] ; $cc26
- ld [$cc2d], a
+ ld a, [wCurrentMenuItem] ; wCurrentMenuItem
+ ld [wcc2d], a
jr z, .asm_3cfd0
cp $1
jr nz, .asm_3cfcb
@@ -2194,21 +2138,21 @@ RegularBattleMenu: ; 3cf1a (f:4f1a)
and a
jr nz, Func_3cfe8
; first option was selected...
- ld a, [W_BATTLETYPE] ; $d05a
+ ld a, [W_BATTLETYPE] ; wd05a
cp $2
jr z, .safari1
xor a
- ld [$d120], a
+ ld [wd120], a
jp LoadScreenTilesFromBuffer1 ; restore saved screen and return??
.safari1 ; safari first option??
ld a, SAFARI_BALL
- ld [$cf91], a
+ ld [wcf91], a
jr asm_3d05f
Func_3cfe8: ; 3cfe8 (f:4fe8)
cp $2
jp nz, Func_3d0ca
- ld a, [W_ISLINKBATTLE] ; $d12b
+ ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $4
jr nz, .asm_3cffd
ld hl, ItemsCantBeUsedHereText
@@ -2216,83 +2160,83 @@ Func_3cfe8: ; 3cfe8 (f:4fe8)
jp InitBattleMenu
.asm_3cffd ; bag?
call SaveScreenTilesToBuffer2 ; copy bg?
- ld a, [W_BATTLETYPE] ; $d05a
+ ld a, [W_BATTLETYPE] ; wd05a
cp $2
jr nz, asm_3d00e
ld a, SAFARI_BAIT
- ld [$cf91], a
+ ld [wcf91], a
jr asm_3d05f
asm_3d00e: ; 3d00e (f:500e)
call LoadScreenTilesFromBuffer1
- ld a, [W_BATTLETYPE] ; $d05a
+ ld a, [W_BATTLETYPE] ; wd05a
and a
jr nz, .asm_3d01a
call Func_3cd5a
.asm_3d01a
- ld a, [W_BATTLETYPE] ; $d05a
+ ld a, [W_BATTLETYPE] ; wd05a
dec a
jr nz, Func_3d031
ld hl, OldManItemList
ld a, l
- ld [$cf8b], a
+ ld [wcf8b], a
ld a, h
- ld [$cf8c], a
+ ld [wcf8c], a
jr Func_3d03c
OldManItemList: ; 3d02d (f:502d)
db $01, POKE_BALL, 50, $ff
Func_3d031
- ld hl, wNumBagItems ; $d31d
+ ld hl, wNumBagItems ; wNumBagItems
ld a, l
- ld [$cf8b], a
+ ld [wcf8b], a
ld a, h
- ld [$cf8c], a
+ ld [wcf8c], a
Func_3d03c
xor a
- ld [$cf93], a
+ ld [wcf93], a
ld a, $3
- ld [wListMenuID], a ; $cf94
- ld a, [$cc2c]
- ld [wCurrentMenuItem], a ; $cc26
+ ld [wListMenuID], a ; wListMenuID
+ ld a, [wcc2c]
+ ld [wCurrentMenuItem], a ; wCurrentMenuItem
call DisplayListMenuID
- ld a, [wCurrentMenuItem] ; $cc26
- ld [$cc2c], a
+ ld a, [wCurrentMenuItem] ; wCurrentMenuItem
+ ld [wcc2c], a
ld a, $0
- ld [$cc37], a
- ld [$cc35], a
+ ld [wcc37], a
+ ld [wcc35], a
jp c, InitBattleMenu
asm_3d05f: ; 3d05f (f:505f)
- ld a, [$cf91]
- ld [$d11e], a
+ ld a, [wcf91]
+ ld [wd11e], a
call GetItemName
call CopyStringToCF4B ; copy name
xor a
- ld [$d152], a
+ ld [wd152], a
call UseItem
call Func_3ee5b
- call CleanLCD_OAM
+ call ClearSprites
xor a
- ld [wCurrentMenuItem], a ; $cc26
- ld a, [W_BATTLETYPE] ; $d05a
+ ld [wCurrentMenuItem], a ; wCurrentMenuItem
+ ld a, [W_BATTLETYPE] ; wd05a
cp $2
jr z, .asm_3d09c
- ld a, [$cd6a]
+ ld a, [wcd6a]
and a
jp z, asm_3d00e
- ld a, [W_PLAYERBATTSTATUS1] ; $d062
+ ld a, [W_PLAYERBATTSTATUS1] ; W_PLAYERBATTSTATUS1
bit 5, a
jr z, .asm_3d09c
- ld hl, $d06a
+ ld hl, wd06a
dec [hl]
jr nz, .asm_3d09c
- ld hl, W_PLAYERBATTSTATUS1 ; $d062
+ ld hl, W_PLAYERBATTSTATUS1 ; W_PLAYERBATTSTATUS1
res 5, [hl]
.asm_3d09c
- ld a, [$d11c]
+ ld a, [wd11c]
and a
jr nz, .asm_3d0b7
- ld a, [W_BATTLETYPE] ; $d05a
+ ld a, [W_BATTLETYPE] ; wd05a
cp $2
jr z, .asm_3d0b2
call LoadScreenTilesFromBuffer1
@@ -2305,9 +2249,9 @@ asm_3d05f: ; 3d05f (f:505f)
.asm_3d0b7
call GBPalNormal
xor a
- ld [$d11c], a
+ ld [wd11c], a
ld a, $2
- ld [$cf0b], a
+ ld [wcf0b], a
scf
ret
@@ -2319,23 +2263,23 @@ Func_3d0ca: ; 3d0ca (f:50ca)
dec a
jp nz, Func_3d1fa
call SaveScreenTilesToBuffer2
- ld a, [W_BATTLETYPE] ; $d05a
+ ld a, [W_BATTLETYPE] ; wd05a
cp $2
jr nz, Func_3d0e0
ld a, SAFARI_ROCK
- ld [$cf91], a
+ ld [wcf91], a
jp asm_3d05f
Func_3d0e0: ; 3d0e0 (f:50e0)
call LoadScreenTilesFromBuffer1
xor a
- ld [$d07d], a
- ld [$cc35], a
+ ld [wd07d], a
+ ld [wcc35], a
call DisplayPartyMenu
asm_3d0ed: ; 3d0ed (f:50ed)
jp nc, Func_3d119
asm_3d0f0: ; 3d0f0 (f:50f0)
- call CleanLCD_OAM
+ call ClearSprites
call GBPalWhiteOut
call Func_3ee5b
call LoadScreenTilesFromBuffer2
@@ -2344,21 +2288,20 @@ asm_3d0f0: ; 3d0f0 (f:50f0)
jp InitBattleMenu
Func_3d105: ; 3d105 (f:5105)
- FuncCoord 11, 11 ; $c487
- ld hl, Coord
+ hlCoord 11, 11
ld bc, $81
ld a, $7f
call FillMemory
xor a
- ld [$d07d], a
+ ld [wd07d], a
call GoBackToPartyMenu
jr asm_3d0ed
Func_3d119: ; 3d119 (f:5119)
ld a, $c
- ld [$d125], a
+ ld [wd125], a
call DisplayTextBoxID
- ld hl, wTopMenuItemY ; $cc24
+ ld hl, wTopMenuItemY ; wTopMenuItemY
ld a, $c
ld [hli], a
ld [hli], a
@@ -2375,32 +2318,30 @@ Func_3d119: ; 3d119 (f:5119)
bit 1, a
jr nz, Func_3d105
call PlaceUnfilledArrowMenuCursor
- ld a, [wCurrentMenuItem] ; $cc26
+ ld a, [wCurrentMenuItem] ; wCurrentMenuItem
cp $2
jr z, asm_3d0f0
and a
jr z, .asm_3d18a
xor a
- ld [$cc49], a
- ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
- call CleanLCD_OAM
- ld a, $36
- call Predef ; indirect jump to StatusScreen (12953 (4:6953))
- ld a, $37
- call Predef ; indirect jump to StatusScreen2 (12b57 (4:6b57))
- ld a, [W_ENEMYBATTSTATUS2] ; $d068
+ ld [wcc49], a
+ ld hl, wPartyMon1Species ; wPartyMon1Species (aliases: wPartyMon1)
+ call ClearSprites
+ predef StatusScreen
+ predef StatusScreen2
+ ld a, [W_ENEMYBATTSTATUS2] ; W_ENEMYBATTSTATUS2
bit 4, a
ld hl, AnimationSubstitute
jr nz, .asm_3d182
- ld a, [$ccf3]
+ ld a, [wccf3]
and a
ld hl, AnimationMinimizeMon
jr nz, .asm_3d182
- ld a, [$cfe5]
- ld [$cf91], a
- ld [$d0b5], a
+ ld a, [wEnemyMonSpecies]
+ ld [wcf91], a
+ ld [wd0b5], a
call GetMonHeader
- ld de, $9000
+ ld de, vFrontPic
call LoadMonFrontSprite
jr .asm_3d187
.asm_3d182
@@ -2409,9 +2350,9 @@ Func_3d119: ; 3d119 (f:5119)
.asm_3d187
jp Func_3d0e0
.asm_3d18a
- ld a, [wPlayerMonNumber] ; $cc2f
+ ld a, [wPlayerMonNumber] ; wPlayerMonNumber
ld d, a
- ld a, [wWhichPokemon] ; $cf92
+ ld a, [wWhichPokemon] ; wWhichPokemon
cp d
jr nz, .asm_3d19d
ld hl, AlreadyOutText
@@ -2421,9 +2362,9 @@ Func_3d119: ; 3d119 (f:5119)
call Func_3ca97
jp z, Func_3d105
ld a, $1
- ld [$cd6a], a
+ ld [wcd6a], a
call GBPalWhiteOut
- call CleanLCD_OAM
+ call ClearSprites
call Func_3ee5b
call LoadScreenTilesFromBuffer1
call GoPAL_SET_CF1C
@@ -2434,23 +2375,21 @@ Func_3d1ba: ; 3d1ba (f:51ba)
ld c, $32
call DelayFrames
call Func_3ccfa
- ld a, [wWhichPokemon] ; $cf92
- ld [wPlayerMonNumber], a ; $cc2f
+ ld a, [wWhichPokemon] ; wWhichPokemon
+ ld [wPlayerMonNumber], a ; wPlayerMonNumber
ld c, a
ld b, $1
push bc
- ld hl, W_PLAYERMONSALIVEFLAGS
- ld a, $10
- call Predef ; indirect jump to HandleBitArray (f666 (3:7666))
+ ld hl, wPartyAliveFlags
+ predef FlagActionPredef
pop bc
- ld hl, $ccf5
- ld a, $10
- call Predef ; indirect jump to HandleBitArray (f666 (3:7666))
+ ld hl, wccf5
+ predef FlagActionPredef
call Func_3cba6
call Func_3cc91
call SaveScreenTilesToBuffer1
ld a, $2
- ld [wCurrentMenuItem], a ; $cc26
+ ld [wCurrentMenuItem], a ; wCurrentMenuItem
and a
ret
@@ -2461,14 +2400,14 @@ AlreadyOutText: ; 3d1f5 (f:51f5)
Func_3d1fa: ; 3d1fa (f:51fa)
call LoadScreenTilesFromBuffer1
ld a, $3
- ld [wCurrentMenuItem], a ; $cc26
- ld hl, W_PLAYERMONSPEED
- ld de, W_ENEMYMONSPEED
+ ld [wCurrentMenuItem], a ; wCurrentMenuItem
+ ld hl, wBattleMonSpeed
+ ld de, wEnemyMonSpeed
call Func_3cab9
ld a, $0
- ld [$d11f], a
+ ld [wd11f], a
ret c
- ld a, [$cd6a]
+ ld a, [wcd6a]
and a
ret nz
jp InitBattleMenu
@@ -2482,14 +2421,14 @@ MoveSelectionMenu: ; 3d219 (f:5219)
jr .regularmenu
.loadmoves
- ld de, $d0dc
+ ld de, wd0dc
ld bc, $4
call CopyData
callab Func_39b87
ret
.writemoves
- ld de, $d0e1
+ ld de, wd0e1
ld a, [$fff6]
set 2, a
ld [$fff6], a
@@ -2502,59 +2441,51 @@ MoveSelectionMenu: ; 3d219 (f:5219)
.regularmenu
call Func_3d3f5
ret z
- ld hl, W_PLAYERMONMOVES
+ ld hl, wBattleMonMoves
call .loadmoves
- FuncCoord 4, 12 ; $c494
- ld hl, Coord
+ hlCoord 4, 12
ld b, $4
ld c, $e
di
call TextBoxBorder
- FuncCoord 4, 12 ; $c494
- ld hl, Coord
+ hlCoord 4, 12
ld [hl], $7a
- FuncCoord 10, 12 ; $c49a
- ld hl, Coord
+ hlCoord 10, 12
ld [hl], $7e
ei
- FuncCoord 6, 13 ; $c4aa
- ld hl, Coord
+ hlCoord 6, 13
call .writemoves
ld b, $5
ld a, $c
jr .menuset
.mimicmenu
- ld hl, W_ENEMYMONMOVES
+ ld hl, wEnemyMonMoves
call .loadmoves
- FuncCoord 0, 7 ; $c42c
- ld hl, Coord
+ hlCoord 0, 7
ld b, $4
ld c, $e
call TextBoxBorder
- FuncCoord 2, 8 ; $c442
- ld hl, Coord
+ hlCoord 2, 8
call .writemoves
ld b, $1
ld a, $7
jr .menuset
.relearnmenu
- ld a, [wWhichPokemon] ; $cf92
- ld hl, W_PARTYMON1_MOVE1 ; $d173
+ ld a, [wWhichPokemon] ; wWhichPokemon
+ ld hl, wPartyMon1Moves ; wPartyMon1Moves
ld bc, $2c
call AddNTimes
call .loadmoves
- FuncCoord 4, 7 ; $c430
- ld hl, Coord
+ hlCoord 4, 7
ld b, $4
ld c, $e
call TextBoxBorder
- FuncCoord 6, 8 ; $c446
- ld hl, Coord
+ hlCoord 6, 8
call .writemoves
ld b, $5
ld a, $7
.menuset
- ld hl, wTopMenuItemY ; $cc24
+ ld hl, wTopMenuItemY ; wTopMenuItemY
ld [hli], a
ld a, b
ld [hli], a ; wTopMenuItemX
@@ -2563,12 +2494,12 @@ MoveSelectionMenu: ; 3d219 (f:5219)
jr z, .selectedmoveknown
ld a, $1
jr nc, .selectedmoveknown
- ld a, [wPlayerMoveListIndex] ; $cc2e
+ ld a, [wPlayerMoveListIndex] ; wPlayerMoveListIndex
inc a
.selectedmoveknown
ld [hli], a ; wCurrentMenuItem
inc hl ; wTileBehindCursor untouched
- ld a, [$cd6c]
+ ld a, [wcd6c]
inc a
inc a
ld [hli], a ; wMaxMenuItem
@@ -2579,7 +2510,7 @@ MoveSelectionMenu: ; 3d219 (f:5219)
dec a
ld b, $c3
jr z, .matchedkeyspicked
- ld a, [W_ISLINKBATTLE] ; $d12b
+ ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $4
jr z, .matchedkeyspicked
ld a, [W_FLAGS_D733]
@@ -2593,7 +2524,7 @@ MoveSelectionMenu: ; 3d219 (f:5219)
ld a, [wMoveMenuType]
cp $1
jr z, .movelistindex1
- ld a, [wPlayerMoveListIndex] ; $cc2e
+ ld a, [wPlayerMoveListIndex] ; wPlayerMoveListIndex
inc a
.movelistindex1
ld [hl], a ; wLastMenuItem
@@ -2604,8 +2535,7 @@ Func_3d2fe: ; 3d2fe (f:52fe)
jr z, .battleselect
dec a
jr nz, .select
- FuncCoord 1, 14 ; $c4b9
- ld hl, Coord
+ hlCoord 1, 14
ld de, WhichTechniqueString ; $53b8
call PlaceString
jr .select
@@ -2614,11 +2544,10 @@ Func_3d2fe: ; 3d2fe (f:52fe)
bit 0, a
jr nz, .select
call Func_3d4b6
- ld a, [$cc35]
+ ld a, [wcc35]
and a
jr z, .select
- FuncCoord 5, 13 ; $c4a9
- ld hl, Coord
+ hlCoord 5, 13
dec a
ld bc, $14
call AddNTimes
@@ -2638,10 +2567,10 @@ Func_3d2fe: ; 3d2fe (f:52fe)
bit 1, a ; B, but was it reset above?
push af
xor a
- ld [$cc35], a
- ld a, [wCurrentMenuItem] ; $cc26
+ ld [wcc35], a
+ ld a, [wCurrentMenuItem] ; wCurrentMenuItem
dec a
- ld [wCurrentMenuItem], a ; $cc26
+ ld [wCurrentMenuItem], a ; wCurrentMenuItem
ld b, a
ld a, [wMoveMenuType]
dec a ; if not mimic
@@ -2651,38 +2580,38 @@ Func_3d2fe: ; 3d2fe (f:52fe)
.nob
dec a
ld a, b
- ld [wPlayerMoveListIndex], a ; $cc2e
+ ld [wPlayerMoveListIndex], a ; wPlayerMoveListIndex
jr nz, .moveselected
pop af
ret
.moveselected
pop af
ret nz
- ld hl, W_PLAYERMONPP ; $d02d
- ld a, [wCurrentMenuItem] ; $cc26
+ ld hl, wBattleMonPP ; wBattleMonPP
+ ld a, [wCurrentMenuItem] ; wCurrentMenuItem
ld c, a
ld b, $0
add hl, bc
ld a, [hl]
and $3f
jr z, .nopp
- ld a, [W_PLAYERDISABLEDMOVE] ; $d06d
+ ld a, [W_PLAYERDISABLEDMOVE] ; W_PLAYERDISABLEDMOVE
swap a
and $f
dec a
cp c
jr z, .disabled
- ld a, [W_PLAYERBATTSTATUS3] ; $d064
+ ld a, [W_PLAYERBATTSTATUS3] ; W_PLAYERBATTSTATUS3
bit 3, a ; transformed
jr nz, .dummy ; game freak derp
.dummy
- ld a, [wCurrentMenuItem] ; $cc26
- ld hl, W_PLAYERMONMOVES
+ ld a, [wCurrentMenuItem] ; wCurrentMenuItem
+ ld hl, wBattleMonMoves
ld c, a
ld b, $0
add hl, bc
ld a, [hl]
- ld [wPlayerSelectedMove], a ; $ccdc
+ ld [wPlayerSelectedMove], a ; wPlayerSelectedMove
xor a
ret
.disabled
@@ -2707,34 +2636,34 @@ WhichTechniqueString: ; 3d3b8 (f:53b8)
db "WHICH TECHNIQUE?@"
Func_3d3c9: ; 3d3c9 (f:53c9)
- ld a, [wCurrentMenuItem] ; $cc26
+ ld a, [wCurrentMenuItem] ; wCurrentMenuItem
and a
jp nz, Func_3d2fe
call EraseMenuCursor
- ld a, [$cd6c]
+ ld a, [wcd6c]
inc a
- ld [wCurrentMenuItem], a ; $cc26
+ ld [wCurrentMenuItem], a ; wCurrentMenuItem
jp Func_3d2fe
Func_3d3dd: ; 3d3dd (f:53dd)
- ld a, [wCurrentMenuItem] ; $cc26
+ ld a, [wCurrentMenuItem] ; wCurrentMenuItem
ld b, a
- ld a, [$cd6c]
+ ld a, [wcd6c]
inc a
inc a
cp b
jp nz, Func_3d2fe
call EraseMenuCursor
ld a, $1
- ld [wCurrentMenuItem], a ; $cc26
+ ld [wCurrentMenuItem], a ; wCurrentMenuItem
jp Func_3d2fe
Func_3d3f5: ; 3d3f5 (f:53f5)
ld a, $a5
- ld [wPlayerSelectedMove], a ; $ccdc
- ld a, [W_PLAYERDISABLEDMOVE] ; $d06d
+ ld [wPlayerSelectedMove], a ; wPlayerSelectedMove
+ ld a, [W_PLAYERDISABLEDMOVE] ; W_PLAYERDISABLEDMOVE
and a
- ld hl, W_PLAYERMONPP ; $d02d
+ ld hl, wBattleMonPP ; wBattleMonPP
jr nz, .asm_3d40e
ld a, [hli]
or [hl]
@@ -2776,43 +2705,43 @@ NoMovesLeftText: ; 3d430 (f:5430)
db "@"
Func_3d435: ; 3d435 (f:5435)
- ld a, [$cc35]
+ ld a, [wcc35]
and a
jr z, asm_3d4ad
- ld hl, W_PLAYERMONMOVES
+ ld hl, wBattleMonMoves
call Func_3d493
- ld hl, W_PLAYERMONPP ; $d02d
+ ld hl, wBattleMonPP ; wBattleMonPP
call Func_3d493
- ld hl, W_PLAYERDISABLEDMOVE ; $d06d
+ ld hl, W_PLAYERDISABLEDMOVE ; W_PLAYERDISABLEDMOVE
ld a, [hl]
swap a
and $f
ld b, a
- ld a, [wCurrentMenuItem] ; $cc26
+ ld a, [wCurrentMenuItem] ; wCurrentMenuItem
cp b
jr nz, .asm_3d463
ld a, [hl]
and $f
ld b, a
- ld a, [$cc35]
+ ld a, [wcc35]
swap a
add b
ld [hl], a
jr .asm_3d474
.asm_3d463
- ld a, [$cc35]
+ ld a, [wcc35]
cp b
jr nz, .asm_3d474
ld a, [hl]
and $f
ld b, a
- ld a, [wCurrentMenuItem] ; $cc26
+ ld a, [wCurrentMenuItem] ; wCurrentMenuItem
swap a
add b
ld [hl], a
.asm_3d474
- ld hl, W_PARTYMON1_MOVE1 ; $d173
- ld a, [wPlayerMonNumber] ; $cc2f
+ ld hl, wPartyMon1Moves ; wPartyMon1Moves
+ ld a, [wPlayerMonNumber] ; wPlayerMonNumber
ld bc, $2c
call AddNTimes
push hl
@@ -2822,12 +2751,12 @@ Func_3d435: ; 3d435 (f:5435)
add hl, bc
call Func_3d493
xor a
- ld [$cc35], a
+ ld [wcc35], a
jp MoveSelectionMenu
Func_3d493: ; 3d493 (f:5493)
push hl
- ld a, [$cc35]
+ ld a, [wcc35]
dec a
ld c, a
ld b, $0
@@ -2835,7 +2764,7 @@ Func_3d493: ; 3d493 (f:5493)
ld d, h
ld e, l
pop hl
- ld a, [wCurrentMenuItem] ; $cc26
+ ld a, [wCurrentMenuItem] ; wCurrentMenuItem
dec a
ld c, a
ld b, $0
@@ -2847,83 +2776,74 @@ Func_3d493: ; 3d493 (f:5493)
ld [de], a
ret
asm_3d4ad: ; 3d4ad (f:54ad)
- ld a, [wCurrentMenuItem] ; $cc26
- ld [$cc35], a
+ ld a, [wCurrentMenuItem] ; wCurrentMenuItem
+ ld [wcc35], a
jp MoveSelectionMenu
Func_3d4b6: ; 3d4b6 (f:54b6)
xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
- FuncCoord 0, 8 ; $c440
- ld hl, Coord
+ hlCoord 0, 8
ld b, $3
ld c, $9
call TextBoxBorder
- ld a, [W_PLAYERDISABLEDMOVE] ; $d06d
+ ld a, [W_PLAYERDISABLEDMOVE] ; W_PLAYERDISABLEDMOVE
and a
jr z, .asm_3d4df
swap a
and $f
ld b, a
- ld a, [wCurrentMenuItem] ; $cc26
+ ld a, [wCurrentMenuItem] ; wCurrentMenuItem
cp b
jr nz, .asm_3d4df
- FuncCoord 1, 10 ; $c469
- ld hl, Coord
+ hlCoord 1, 10
ld de, DisabledText
call PlaceString
jr .asm_3d54e
.asm_3d4df
- ld hl, wCurrentMenuItem ; $cc26
+ ld hl, wCurrentMenuItem ; wCurrentMenuItem
dec [hl]
xor a
ld [H_WHOSETURN], a ; $fff3
- ld hl, W_PLAYERMONMOVES
- ld a, [wCurrentMenuItem] ; $cc26
+ ld hl, wBattleMonMoves
+ ld a, [wCurrentMenuItem] ; wCurrentMenuItem
ld c, a
ld b, $0
add hl, bc
ld a, [hl]
- ld [wPlayerSelectedMove], a ; $ccdc
- ld a, [wPlayerMonNumber] ; $cc2f
- ld [wWhichPokemon], a ; $cf92
+ ld [wPlayerSelectedMove], a ; wPlayerSelectedMove
+ ld a, [wPlayerMonNumber] ; wPlayerMonNumber
+ ld [wWhichPokemon], a ; wWhichPokemon
ld a, $4
- ld [$cc49], a
+ ld [wcc49], a
callab GetMaxPP
- ld hl, wCurrentMenuItem ; $cc26
+ ld hl, wCurrentMenuItem ; wCurrentMenuItem
ld c, [hl]
inc [hl]
ld b, $0
- ld hl, W_PLAYERMONPP ; $d02d
+ ld hl, wBattleMonPP ; wBattleMonPP
add hl, bc
ld a, [hl]
and $3f
- ld [$cd6d], a
- FuncCoord 1, 9 ; $c455
- ld hl, Coord
+ ld [wcd6d], a
+ hlCoord 1, 9
ld de, TypeText
call PlaceString
- FuncCoord 7, 11 ; $c483
- ld hl, Coord
+ hlCoord 7, 11
ld [hl], "/"
- FuncCoord 5, 9 ; $c459
- ld hl, Coord
+ hlCoord 5, 9
ld [hl], "/"
- FuncCoord 5, 11 ; $c481
- ld hl, Coord
- ld de, $cd6d
+ hlCoord 5, 11
+ ld de, wcd6d
ld bc, $102
call PrintNumber
- FuncCoord 8, 11 ; $c484
- ld hl, Coord
- ld de, $d11e
+ hlCoord 8, 11
+ ld de, wd11e
ld bc, $102
call PrintNumber
call GetCurrentMove
- FuncCoord 2, 10 ; $c46a
- ld hl, Coord
- ld a, $5d
- call Predef ; indirect jump to Func_27d98 (27d98 (9:7d98))
+ hlCoord 2, 10
+ predef Func_27d98
.asm_3d54e
ld a, $1
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
@@ -2942,16 +2862,16 @@ SelectEnemyMove: ; 3d564 (f:5564)
call SaveScreenTilesToBuffer1
call Func_3d605
call LoadScreenTilesFromBuffer1
- ld a, [$cc3e]
+ ld a, [wcc3e]
cp $e
jp z, .asm_3d601
cp $d
jr z, .unableToMove
cp $4
ret nc
- ld [$cce2], a
+ ld [wEnemyMoveListIndex], a
ld c, a
- ld hl, W_ENEMYMONMOVES
+ ld hl, wEnemyMonMoves
ld b, $0
add hl, bc
ld a, [hl]
@@ -2964,7 +2884,7 @@ SelectEnemyMove: ; 3d564 (f:5564)
ld a, [hl]
and $12 ; using multi-turn move or bide
ret nz
- ld a, [W_ENEMYMONSTATUS]
+ ld a, [wEnemyMonStatus]
and SLP | 1 << FRZ ; sleeping or frozen
ret nz
ld a, [W_ENEMYBATTSTATUS1]
@@ -2977,7 +2897,7 @@ SelectEnemyMove: ; 3d564 (f:5564)
ld a, $ff
jr .done
.notCaughtInWrap
- ld hl, W_ENEMYMONMOVES+1 ; 2nd enemy move
+ ld hl, wEnemyMonMoves+1 ; 2nd enemy move
ld a, [hld]
and a
jr nz, .atLeastTwoMovesAvailable
@@ -2992,7 +2912,7 @@ SelectEnemyMove: ; 3d564 (f:5564)
callab AIEnemyTrainerChooseMoves
.chooseRandomMove
push hl
- call GenRandomInBattle ; get random
+ call BattleRandom
ld b, $1
cp $3f ; select move 1 in [0,3e] (63/256 chance)
jr c, .moveChosen
@@ -3028,35 +2948,35 @@ SelectEnemyMove: ; 3d564 (f:5564)
Func_3d605: ; 3d605 (f:5605)
ld a, $ff
- ld [$cc3e], a
- ld a, [wPlayerMoveListIndex] ; $cc2e
+ ld [wcc3e], a
+ ld a, [wPlayerMoveListIndex] ; wPlayerMoveListIndex
cp $f
jr z, .asm_3d630
- ld a, [$cd6a]
+ ld a, [wcd6a]
and a
jr nz, .asm_3d629
- ld a, [wPlayerSelectedMove] ; $ccdc
+ ld a, [wPlayerSelectedMove] ; wPlayerSelectedMove
cp $a5
ld b, $e
jr z, .asm_3d62f
dec b
inc a
jr z, .asm_3d62f
- ld a, [wPlayerMoveListIndex] ; $cc2e
+ ld a, [wPlayerMoveListIndex] ; wPlayerMoveListIndex
jr .asm_3d630
.asm_3d629
- ld a, [wWhichPokemon] ; $cf92
+ ld a, [wWhichPokemon] ; wWhichPokemon
add $4
ld b, a
.asm_3d62f
ld a, b
.asm_3d630
- ld [$cc42], a
+ ld [wcc42], a
callab PrintWaitingText
.asm_3d63b
call Func_22c3
call DelayFrame
- ld a, [$cc3e]
+ ld a, [wcc3e]
inc a
jr z, .asm_3d63b
ld b, $a
@@ -3076,16 +2996,16 @@ Func_3d605: ; 3d605 (f:5605)
Func_3d65e: ; 3d65e (f:565e)
xor a
ld [H_WHOSETURN], a ; $fff3
- ld a, [wPlayerSelectedMove] ; $ccdc
+ ld a, [wPlayerSelectedMove] ; wPlayerSelectedMove
inc a
jp z, Func_3d80a
xor a
- ld [W_MOVEMISSED], a ; $d05f
- ld [$cced], a
- ld [$ccf4], a
+ ld [W_MOVEMISSED], a ; W_MOVEMISSED
+ ld [wcced], a
+ ld [wccf4], a
ld a, $a
- ld [$d05b], a
- ld a, [$cd6a]
+ ld [wd05b], a
+ ld a, [wcd6a]
and a
jp nz, Func_3d80a
call PrintGhostText
@@ -3095,14 +3015,14 @@ Func_3d65e: ; 3d65e (f:565e)
jp [hl]
.asm_3d68a
call GetCurrentMove
- ld hl, W_PLAYERBATTSTATUS1 ; $d062
+ ld hl, W_PLAYERBATTSTATUS1 ; W_PLAYERBATTSTATUS1
bit 4, [hl]
jr nz, asm_3d6a9
call Func_3dc88
jp z, Func_3d80a
Func_3d69a: ; 3d69a (f:569a)
- ld a, [W_PLAYERMOVEEFFECT] ; $cfd3
+ ld a, [W_PLAYERMOVEEFFECT] ; wcfd3
cp CHARGE_EFFECT
jp z, Func_3f132
cp FLY_EFFECT
@@ -3117,7 +3037,7 @@ asm_3d6a9: ; 3d6a9 (f:56a9)
asm_3d6b0: ; 3d6b0 (f:56b0)
call PrintMonName1Text
ld hl,DecrementPP
- ld de,$CCDC ; pointer to the move just used
+ ld de,wPlayerSelectedMove ; pointer to the move just used
ld b,BANK(DecrementPP)
call Bankswitch
ld a,[W_PLAYERMOVEEFFECT] ; effect of the move just used
@@ -3168,7 +3088,7 @@ asm_3d71e
ld b,BANK(Func_79747)
call nz,Bankswitch
pop af
- ld [$CC5B],a
+ ld [wcc5b],a
ld a,[W_PLAYERMOVENUM]
call PlayMoveAnimation
call Func_3eed3
@@ -3190,7 +3110,7 @@ asm_3d74b
jr asm_3d766
.next5
xor a
- ld [$CC5B],a
+ ld [wcc5b],a
ld a,STATUS_AFFECTED_ANIM
call PlayMoveAnimation
asm_3d766
@@ -3200,7 +3120,7 @@ asm_3d766
call MirrorMoveCopyMove
jp z,Func_3d80a
xor a
- ld [$CCED],a
+ ld [wcced],a
jp Func_3d69a
.next6
cp a,METRONOME_EFFECT
@@ -3226,14 +3146,14 @@ asm_3d766
call Func_3dc5c
callab DisplayEffectiveness
ld a,1
- ld [$CCF4],a
+ ld [wccf4],a
.next9
ld a,[W_PLAYERMOVEEFFECT]
ld hl,EffectsArray4
ld de,1
call IsInArray
call c,Func_3f132
- ld hl,$CFE6
+ ld hl,wEnemyMonHP
ld a,[hli]
ld b,[hl]
or b
@@ -3243,9 +3163,9 @@ asm_3d766
ld hl,W_PLAYERBATTSTATUS1
bit 2,[hl]
jr z,.next10 ; 57EF
- ld a,[$D06A]
+ ld a,[wd06a]
dec a
- ld [$D06A],a
+ ld [wd06a],a
jp nz,asm_3d714
res 2,[hl]
@@ -3269,7 +3189,7 @@ MultiHitText: ; 3d805 (f:5805)
Func_3d80a: ; 3d80a (f:580a)
xor a
- ld [$CD6A],a
+ ld [wcd6a],a
ld b,1
ret
@@ -3280,7 +3200,7 @@ PrintGhostText: ; 3d811 (f:5811)
ld a,[H_WHOSETURN]
and a
jr nz,.Ghost
- ld a,[W_PLAYERMONSTATUS] ; player’s turn
+ ld a,[wBattleMonStatus] ; player’s turn
and a,SLP | (1 << FRZ)
ret nz
ld hl,ScaredText
@@ -3319,18 +3239,18 @@ IsGhostBattle: ; 3d83a (f:583a)
ret
Func_3d854: ; 3d854 (f:5854)
- ld hl,W_PLAYERMONSTATUS
+ ld hl,wBattleMonStatus
ld a,[hl]
and a,SLP
jr z,.FrozenCheck ; to 5884
dec a
- ld [W_PLAYERMONSTATUS],a ; decrement sleep count
+ ld [wBattleMonStatus],a ; decrement sleep count
and a
jr z,.WakeUp ; to 5874
xor a
- ld [$CC5B],a
+ ld [wcc5b],a
ld a,SLP_ANIM - 1
call PlayMoveAnimation
ld hl,FastAsleepText
@@ -3341,7 +3261,7 @@ Func_3d854: ; 3d854 (f:5854)
call PrintText
.sleepDone
xor a
- ld [$CCF1],a
+ ld [wccf1],a
ld hl,Func_3d80a
jp Func_3da37
@@ -3351,7 +3271,7 @@ Func_3d854: ; 3d854 (f:5854)
ld hl,IsFrozenText
call PrintText
xor a
- ld [$CCF1],a
+ ld [wccf1],a
ld hl,Func_3d80a
jp Func_3da37
@@ -3384,7 +3304,7 @@ HyperBeamCheck: ; 3d8c2 (f:58c2)
ld hl,Func_3d80a ; $580a
jp Func_3da37
.next
- ld hl,$D06D
+ ld hl,W_PLAYERDISABLEDMOVE
ld a,[hl]
and a
jr z,.next2 ; 58EE
@@ -3393,14 +3313,14 @@ HyperBeamCheck: ; 3d8c2 (f:58c2)
and a,$F
jr nz,.next2
ld [hl],a
- ld [$CCEE],a
+ ld [wccee],a
ld hl,DisabledNoMoreText
call PrintText
.next2
ld a,[W_PLAYERBATTSTATUS1]
add a
jr nc,.next3 ; 5929
- ld hl,$D06B
+ ld hl,wd06b
dec [hl]
jr nz,.next4 ; 5907
ld hl,W_PLAYERBATTSTATUS1
@@ -3412,10 +3332,10 @@ HyperBeamCheck: ; 3d8c2 (f:58c2)
ld hl,IsConfusedText
call PrintText
xor a
- ld [$CC5B],a
+ ld [wcc5b],a
ld a,CONF_ANIM - 1
call PlayMoveAnimation
- call GenRandomInBattle
+ call BattleRandom
cp a,$80
jr c,.next3
ld hl,W_PLAYERBATTSTATUS1
@@ -3425,20 +3345,20 @@ HyperBeamCheck: ; 3d8c2 (f:58c2)
call PrintHurtItselfText
jr .next5 ; 5952
.next3
- ld a,[$CCEE]
+ ld a,[wccee]
and a
jr z,.ParalysisCheck ; 593E
- ld hl,$CCDC
+ ld hl,wPlayerSelectedMove
cp [hl]
jr nz,.ParalysisCheck
call PrintMoveIsDisabledText
ld hl,Func_3d80a ; $580a
jp Func_3da37
.ParalysisCheck
- ld hl,W_PLAYERMONSTATUS
+ ld hl,wBattleMonStatus
bit PAR,[hl]
jr z,.next7 ; 5975
- call GenRandomInBattle ; random number
+ call BattleRandom
cp a,$3F
jr nc,.next7
ld hl,FullyParalyzedText
@@ -3456,7 +3376,7 @@ HyperBeamCheck: ; 3d8c2 (f:58c2)
jr .next9 ; 596F
.next8
xor a
- ld [$CC5B],a
+ ld [wcc5b],a
ld a,STATUS_AFFECTED_ANIM
call PlayMoveAnimation
.next9
@@ -3468,18 +3388,18 @@ HyperBeamCheck: ; 3d8c2 (f:58c2)
jr z,.next10 ; 59D0
xor a
ld [W_PLAYERMOVENUM],a
- ld hl,$D0D7
+ ld hl,W_DAMAGE
ld a,[hli]
ld b,a
ld c,[hl]
- ld hl,$D075
+ ld hl,wd075
ld a,[hl]
add c
ld [hld],a
ld a,[hl]
adc b
ld [hl],a
- ld hl,$D06A
+ ld hl,wd06a
dec [hl]
jr z,.next11 ; 599B
ld hl,Func_3d80a ; $580a
@@ -3490,15 +3410,15 @@ HyperBeamCheck: ; 3d8c2 (f:58c2)
ld hl,UnleashedEnergyText
call PrintText
ld a,1
- ld [$CFD4],a
- ld hl,$D075
+ ld [W_PLAYERMOVEPOWER],a
+ ld hl,wd075
ld a,[hld]
add a
ld b,a
- ld [$D0D8],a
+ ld [wd0d8],a
ld a,[hl]
rl a
- ld [$D0D7],a
+ ld [W_DAMAGE],a
or b
jr nz,.next12 ; 59C2
ld a,1
@@ -3518,7 +3438,7 @@ HyperBeamCheck: ; 3d8c2 (f:58c2)
ld [W_PLAYERMOVENUM],a
ld hl,ThrashingAboutText
call PrintText
- ld hl,$D06A
+ ld hl,wd06a
dec [hl]
ld hl,asm_3d6dc ; $56dc
jp nz,Func_3da37
@@ -3526,11 +3446,11 @@ HyperBeamCheck: ; 3d8c2 (f:58c2)
ld hl,W_PLAYERBATTSTATUS1
res 1,[hl]
set 7,[hl]
- call GenRandomInBattle ; random number
+ call BattleRandom
and a,3
inc a
inc a
- ld [$D06B],a
+ ld [wd06b],a
pop hl
jp Func_3da37
.next13
@@ -3538,23 +3458,23 @@ HyperBeamCheck: ; 3d8c2 (f:58c2)
jp z,Func_3da1a
ld hl,AttackContinuesText
call PrintText
- ld a,[$D06A]
+ ld a,[wd06a]
dec a
- ld [$D06A],a
+ ld [wd06a],a
ld hl,asm_3d714 ; $5714
jp nz,Func_3da37
jp Func_3da37
Func_3da1a: ; 3da1a (f:5a1a)
- ld a, [W_PLAYERBATTSTATUS2] ; $d063
+ ld a, [W_PLAYERBATTSTATUS2] ; W_PLAYERBATTSTATUS2
bit 6, a
jp z, Func_3da39
ld a, RAGE
- ld [$d11e], a
+ ld [wd11e], a
call GetMoveName
call CopyStringToCF4B
xor a
- ld [W_PLAYERMOVEEFFECT], a ; $cfd3
+ ld [W_PLAYERMOVEEFFECT], a ; wcfd3
ld hl, asm_3d6b0 ; $56b0
jp Func_3da37
@@ -3628,19 +3548,19 @@ CantMoveText: ; 3da83 (f:5a83)
db "@"
PrintMoveIsDisabledText: ; 3da88 (f:5a88)
- ld hl, wPlayerSelectedMove ; $ccdc
- ld de, W_PLAYERBATTSTATUS1 ; $d062
+ ld hl, wPlayerSelectedMove ; wPlayerSelectedMove
+ ld de, W_PLAYERBATTSTATUS1 ; W_PLAYERBATTSTATUS1
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_3da97
inc hl
- ld de, W_ENEMYBATTSTATUS1 ; $d067
+ ld de, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
.asm_3da97
ld a, [de]
res 4, a
ld [de], a
ld a, [hl]
- ld [$d11e], a
+ ld [wd11e], a
call GetMoveName
ld hl, MoveIsDisabledText
jp PrintText
@@ -3652,22 +3572,22 @@ MoveIsDisabledText: ; 3daa8 (f:5aa8)
PrintHurtItselfText: ; 3daad (f:5aad)
ld hl, HurtItselfText
call PrintText
- ld hl, W_ENEMYMONDEFENSE ; $cff8
+ ld hl, wEnemyMonDefense ; wcff8
ld a, [hli]
push af
ld a, [hld]
push af
- ld a, [W_PLAYERMONDEF]
+ ld a, [wBattleMonDefense]
ld [hli], a
- ld a, [$d028]
+ ld a, [wBattleMonDefense + 1]
ld [hl], a
- ld hl, W_PLAYERMOVEEFFECT ; $cfd3
+ ld hl, W_PLAYERMOVEEFFECT ; wcfd3
push hl
ld a, [hl]
push af
xor a
ld [hli], a
- ld [$d05e], a
+ ld [wd05e], a
ld a, $28
ld [hli], a
xor a
@@ -3677,13 +3597,13 @@ PrintHurtItselfText: ; 3daad (f:5aad)
pop af
pop hl
ld [hl], a
- ld hl, $cff9
+ ld hl, wEnemyMonDefense + 1
pop af
ld [hld], a
pop af
ld [hl], a
xor a
- ld [$cc5b], a
+ ld [wcc5b], a
inc a
ld [H_WHOSETURN], a ; $fff3
call PlayMoveAnimation
@@ -3701,20 +3621,20 @@ MonName1Text: ; 3dafb (f:5afb)
db $08 ; asm
ld a, [H_WHOSETURN] ; $fff3
and a
- ld a, [W_PLAYERMOVENUM] ; $cfd2
- ld hl, $ccf1
+ ld a, [W_PLAYERMOVENUM] ; wcfd2
+ ld hl, wccf1
jr z, .asm_3db11
- ld a, [W_ENEMYMOVENUM] ; $cfcc
- ld hl, $ccf2
+ ld a, [W_ENEMYMOVENUM] ; W_ENEMYMOVENUM
+ ld hl, wccf2
.asm_3db11
ld [hl], a
- ld [$d11e], a
+ ld [wd11e], a
call Func_3db85
- ld a, [$cced]
+ ld a, [wcced]
and a
ld hl, Used2Text
ret nz
- ld a, [$d11e]
+ ld a, [wd11e]
cp DOUBLESLAP
ld hl, Used2Text
ret c
@@ -3731,7 +3651,7 @@ Used2Text: ; 3db34 (f:5b34)
db $08 ; asm
PrintInsteadText: ; 3db39 (f:5b39)
- ld a, [$cced]
+ ld a, [wcced]
and a
jr z, PrintCF4BText
ld hl, InsteadText
@@ -3749,7 +3669,7 @@ CF4BText: ; 3db4c (f:5b4c)
TX_FAR _CF4BText
db $08 ; asm
ld hl, ExclamationPointPointerTable
- ld a, [$d11e]
+ ld a, [wd11e]
add a
push bc
ld b, $0
@@ -3790,7 +3710,7 @@ ExclamationPoint5Text: ; 3db80 (f:5b80)
Func_3db85: ; 3db85 (f:5b85)
push bc
- ld a, [$d11e] ; move number
+ ld a, [wd11e] ; move number
ld c, a
ld b, $0
ld hl, UnknownMovesList_3dba3 ; $5ba3
@@ -3806,7 +3726,7 @@ Func_3db85: ; 3db85 (f:5b85)
jr .asm_3db8f
.asm_3db9d
ld a, b
- ld [$d11e], a
+ ld [wd11e], a
pop bc
ret
@@ -3826,18 +3746,18 @@ UnknownMovesList_3dba3: ; 3dba3 (f:5ba3)
db $FF ; terminator
PrintMoveFailureText: ; 3dbe2 (f:5be2)
- ld de, W_PLAYERMOVEEFFECT ; $cfd3
+ ld de, W_PLAYERMOVEEFFECT ; wcfd3
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_3dbed
- ld de, W_ENEMYMOVEEFFECT ; $cfcd
+ ld de, W_ENEMYMOVEEFFECT ; W_ENEMYMOVEEFFECT
.asm_3dbed
ld hl, DoesntAffectMonText ; $5c57
- ld a, [$d05b]
+ ld a, [wd05b]
and $7f
jr z, .asm_3dc04
ld hl, AttackMissedText ; $5c42
- ld a, [$d05e]
+ ld a, [wd05e]
cp $ff
jr nz, .asm_3dc04
ld hl, UnaffectedText ; $5c4c
@@ -3845,14 +3765,14 @@ PrintMoveFailureText: ; 3dbe2 (f:5be2)
push de
call PrintText
xor a
- ld [$d05e], a
+ ld [wd05e], a
pop de
ld a, [de]
cp JUMP_KICK_EFFECT
ret nz
; if you get here, the mon used hi jump kick and missed
- ld hl, W_DAMAGE ; $d0d7
+ ld hl, W_DAMAGE ; W_DAMAGE
ld a, [hli]
ld b, [hl]
srl a
@@ -3872,8 +3792,7 @@ PrintMoveFailureText: ; 3dbe2 (f:5be2)
ld hl, KeptGoingAndCrashedText ; $5c47
call PrintText
ld b, $4
- ld a, $24
- call Predef ; indirect jump to Func_48125 (48125 (12:4125))
+ predef Func_48125
ld a, [H_WHOSETURN] ; $fff3
and a
jr nz, .asm_3dc3f
@@ -3902,7 +3821,7 @@ DoesntAffectMonText: ; 3dc57 (f:5c57)
db "@"
Func_3dc5c: ; 3dc5c (f:5c5c)
- ld a, [$d05e]
+ ld a, [wd05e]
and a
jr z, .asm_3dc75
dec a
@@ -3916,7 +3835,7 @@ Func_3dc5c: ; 3dc5c (f:5c5c)
ld l, a
call PrintText
xor a
- ld [$d05e], a
+ ld [wd05e], a
.asm_3dc75
ld c, $14
jp DelayFrames
@@ -3935,23 +3854,23 @@ OHKOText: ; 3dc83 (f:5c83)
Func_3dc88: ; 3dc88 (f:5c88)
xor a
- ld [$cced], a
- ld a, [W_ISLINKBATTLE] ; $d12b
+ ld [wcced], a
+ ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $4
jr nz, .asm_3dc97
ld a, $1
and a
ret
.asm_3dc97
- ld hl, W_PARTYMON1_OTID ; $d177
+ ld hl, wPartyMon1OTID ; wPartyMon1OTID
ld bc, $2c
- ld a, [wPlayerMonNumber] ; $cc2f
+ ld a, [wPlayerMonNumber] ; wPlayerMonNumber
call AddNTimes
- ld a, [wPlayerID] ; $d359
+ ld a, [wPlayerID] ; wPlayerID
cp [hl]
jr nz, .asm_3dcb1
inc hl
- ld a, [wPlayerID + 1] ; $d35a
+ ld a, [wPlayerID + 1] ; wd35a
cp [hl]
jp z, Func_3ddb0
.asm_3dcb1
@@ -3973,7 +3892,7 @@ Func_3dc88: ; 3dc88 (f:5c88)
.asm_3dcce
ld b, a
ld c, a
- ld a, [W_PLAYERMONLEVEL] ; $d022
+ ld a, [wBattleMonLevel] ; wBattleMonLevel
ld d, a
add b
ld b, a
@@ -3984,14 +3903,14 @@ Func_3dc88: ; 3dc88 (f:5c88)
cp d
jp nc, Func_3ddb0
.asm_3dcdf
- call GenRandomInBattle
+ call BattleRandom
swap a
cp b
jr nc, .asm_3dcdf
cp c
jp c, Func_3ddb0
.asm_3dceb
- call GenRandomInBattle
+ call BattleRandom
cp b
jr nc, .asm_3dceb
cp c
@@ -3999,7 +3918,7 @@ Func_3dc88: ; 3dc88 (f:5c88)
ld a, d
sub c
ld b, a
- call GenRandomInBattle
+ call BattleRandom
swap a
sub b
jr c, .asm_3dd0e
@@ -4010,16 +3929,16 @@ Func_3dc88: ; 3dc88 (f:5c88)
call PrintHurtItselfText
jp Func_3ddb4
.asm_3dd0e
- call GenRandomInBattle
+ call BattleRandom
add a
swap a
and $7
jr z, .asm_3dd0e
- ld [W_PLAYERMONSTATUS], a ; $d018
+ ld [wBattleMonStatus], a ; wBattleMonStatus
ld hl, BeganToNapText
jr .asm_3dd3a
.asm_3dd20
- call GenRandomInBattle
+ call BattleRandom
and $3
ld hl, LoafingAroundText
and a
@@ -4035,16 +3954,16 @@ Func_3dc88: ; 3dc88 (f:5c88)
call PrintText
jr Func_3ddb4
.asm_3dd3f
- ld a, [$d01d]
+ ld a, [wBattleMonMoves + 1]
and a
jr z, .asm_3dd20
- ld a, [$ccee]
+ ld a, [wccee]
and a
jr nz, .asm_3dd20
- ld a, [wPlayerSelectedMove] ; $ccdc
+ ld a, [wPlayerSelectedMove] ; wPlayerSelectedMove
cp $a5
jr z, .asm_3dd20
- ld hl, W_PLAYERMONPP ; $d02d
+ ld hl, wBattleMonPP ; wBattleMonPP
push hl
ld a, [hli]
and $3f
@@ -4062,7 +3981,7 @@ Func_3dc88: ; 3dc88 (f:5c88)
add b
pop hl
push af
- ld a, [wCurrentMenuItem] ; $cc26
+ ld a, [wCurrentMenuItem] ; wCurrentMenuItem
ld c, a
ld b, $0
add hl, bc
@@ -4073,33 +3992,33 @@ Func_3dc88: ; 3dc88 (f:5c88)
cp b
jr z, .asm_3dd20
ld a, $1
- ld [$cced], a
- ld a, [wMaxMenuItem] ; $cc28
+ ld [wcced], a
+ ld a, [wMaxMenuItem] ; wMaxMenuItem
ld b, a
- ld a, [wCurrentMenuItem] ; $cc26
+ ld a, [wCurrentMenuItem] ; wCurrentMenuItem
ld c, a
.asm_3dd86
- call GenRandomInBattle
+ call BattleRandom
and $3
cp b
jr nc, .asm_3dd86
cp c
jr z, .asm_3dd86
- ld [wCurrentMenuItem], a ; $cc26
- ld hl, W_PLAYERMONPP ; $d02d
+ ld [wCurrentMenuItem], a ; wCurrentMenuItem
+ ld hl, wBattleMonPP ; wBattleMonPP
ld e, a
ld d, $0
add hl, de
ld a, [hl]
and a
jr z, .asm_3dd86
- ld a, [wCurrentMenuItem] ; $cc26
+ ld a, [wCurrentMenuItem] ; wCurrentMenuItem
ld c, a
ld b, $0
- ld hl, W_PLAYERMONMOVES
+ ld hl, wBattleMonMoves
add hl, bc
ld a, [hl]
- ld [wPlayerSelectedMove], a ; $ccdc
+ ld [wPlayerSelectedMove], a ; wPlayerSelectedMove
call GetCurrentMove
Func_3ddb0: ; 3ddb0 (f:5db0)
@@ -4145,7 +4064,7 @@ CalculateDamage: ; 3ddcf (f:5dcf)
cp a, $14 ;types >= $14 are all special
jr nc, .specialAttack
.physicalAttack
- ld hl, W_ENEMYMONDEFENSE ;opponent defense
+ ld hl, wEnemyMonDefense ;opponent defense
ld a, [hli] ;*BC = opponent defense used later
ld b, a
ld c, [hl]
@@ -4156,8 +4075,8 @@ CalculateDamage: ; 3ddcf (f:5dcf)
sla c ;x2 defense if bit2 of D069 is set
rl b
.next
- ld hl, W_PLAYERMONATK ;attack pointer
- ld a, [$d05e]
+ ld hl, wBattleMonAttack ;attack pointer
+ ld a, [wd05e]
and a
jr z, .next3
ld c, 3
@@ -4167,14 +4086,14 @@ CalculateDamage: ; 3ddcf (f:5dcf)
ld a, [$ff98]
ld c, a
push bc
- ld hl, $d18f
+ ld hl, wPartyMon1Attack
ld a, [wPlayerMonNumber]
- ld bc, $002c
+ ld bc, wPartyMon2 - wPartyMon1
call AddNTimes
pop bc
jr .next3
.specialAttack
- ld hl, W_ENEMYMONSPECIAL ;opponent special
+ ld hl, wEnemyMonSpecial ;opponent special
ld a, [hli] ;*BC = opponent special defense used later
ld b, a
ld c, [hl]
@@ -4185,8 +4104,8 @@ CalculateDamage: ; 3ddcf (f:5dcf)
sla c ;x2 special defense if bit1 of D069 set
rl b
.next2
- ld hl, W_PLAYERMONSPECIAL
- ld a, [$d05e] ;XXX
+ ld hl, wBattleMonSpecial
+ ld a, [wd05e] ;XXX
and a
jr z, .next3 ;skip portion of code that pulls up inactive pokemon
.loadOtherPoke
@@ -4197,9 +4116,9 @@ CalculateDamage: ; 3ddcf (f:5dcf)
ld a, [$ff98]
ld c, a
push bc
- ld hl, $d195
+ ld hl, wPartyMon1Special
ld a, [wPlayerMonNumber]
- ld bc, $002c
+ ld bc, wPartyMon2 - wPartyMon1
call AddNTimes
pop bc
.next3
@@ -4222,9 +4141,9 @@ CalculateDamage: ; 3ddcf (f:5dcf)
inc l ;minimum HL = 1
.next4
ld b, l ;*B = attack [possibly scaled] [C contains defense]
- ld a, [$d022] ;*E = level
+ ld a, [wBattleMonLevel] ;*E = level
ld e, a
- ld a, [$d05e] ;critical hit?
+ ld a, [wd05e] ;critical hit?
and a
jr z, .next5
sla e ;double level if it was a critical hit
@@ -4234,11 +4153,11 @@ CalculateDamage: ; 3ddcf (f:5dcf)
ret
Func_3de75: ; 3de75 (f:5e75)
- ld hl, W_DAMAGE ; $d0d7
+ ld hl, W_DAMAGE ; W_DAMAGE
xor a
ld [hli], a
ld [hl], a
- ld hl, W_ENEMYMOVEPOWER ; $cfce
+ ld hl, W_ENEMYMOVEPOWER ; wcfce
ld a, [hli]
ld d, a
and a
@@ -4246,22 +4165,22 @@ Func_3de75: ; 3de75 (f:5e75)
ld a, [hl]
cp $14
jr nc, .asm_3debc
- ld hl, W_PLAYERMONDEF
+ ld hl, wBattleMonDefense
ld a, [hli]
ld b, a
ld c, [hl]
- ld a, [W_PLAYERBATTSTATUS3] ; $d064
+ ld a, [W_PLAYERBATTSTATUS3] ; W_PLAYERBATTSTATUS3
bit 2, a
jr z, .asm_3de98
sla c
rl b
.asm_3de98
- ld hl, W_ENEMYMONATTACK
- ld a, [$d05e]
+ ld hl, wEnemyMonAttack
+ ld a, [wd05e]
and a
jr z, .asm_3deef
- ld hl, W_PARTYMON1_DEFENSE ; $d191
- ld a, [wPlayerMonNumber] ; $cc2f
+ ld hl, wPartyMon1Defense
+ ld a, [wPlayerMonNumber] ; wPlayerMonNumber
ld bc, $2c
call AddNTimes
ld a, [hli]
@@ -4274,22 +4193,22 @@ Func_3de75: ; 3de75 (f:5e75)
pop bc
jr .asm_3deef
.asm_3debc
- ld hl, W_PLAYERMONSPECIAL
+ ld hl, wBattleMonSpecial
ld a, [hli]
ld b, a
ld c, [hl]
- ld a, [W_PLAYERBATTSTATUS3] ; $d064
+ ld a, [W_PLAYERBATTSTATUS3] ; W_PLAYERBATTSTATUS3
bit 1, a
jr z, .asm_3decd
sla c
rl b
.asm_3decd
- ld hl, W_ENEMYMONSPECIAL ; $cffc
- ld a, [$d05e]
+ ld hl, wEnemyMonSpecial ; wcffc
+ ld a, [wd05e]
and a
jr z, .asm_3deef
- ld hl, W_PARTYMON1_SPECIAL ; $d195
- ld a, [wPlayerMonNumber] ; $cc2f
+ ld hl, wPartyMon1Special ; wPartyMon1Special
+ ld a, [wPlayerMonNumber] ; wPlayerMonNumber
ld bc, $2c
call AddNTimes
ld a, [hli]
@@ -4320,9 +4239,9 @@ Func_3de75: ; 3de75 (f:5e75)
inc l
.asm_3df0a
ld b, l
- ld a, [W_ENEMYMONLEVEL] ; $cff3
+ ld a, [wEnemyMonLevel] ; wEnemyMonLevel
ld e, a
- ld a, [$d05e]
+ ld a, [wd05e]
and a
jr z, .asm_3df17
sla e
@@ -4335,16 +4254,16 @@ Func_3de75: ; 3de75 (f:5e75)
Func_3df1c: ; 3df1c (f:5f1c)
push de
push bc
- ld a, [W_ISLINKBATTLE] ; $d12b
+ ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $4
jr nz, .asm_3df40
- ld hl, $d8c6
+ ld hl, wEnemyMon1Stats
dec c
sla c
ld b, $0
add hl, bc
- ld a, [W_ENEMYMONNUMBER] ; $cfe8
- ld bc, $2c
+ ld a, [wEnemyMonPartyPos]
+ ld bc, wEnemyMon2 - wEnemyMon1
call AddNTimes
ld a, [hli]
ld [$ff97], a
@@ -4354,13 +4273,13 @@ Func_3df1c: ; 3df1c (f:5f1c)
pop de
ret
.asm_3df40
- ld a, [W_ENEMYMONLEVEL] ; $cff3
- ld [W_CURENEMYLVL], a ; $d127
- ld a, [$cfe5]
- ld [$d0b5], a
+ ld a, [wEnemyMonLevel] ; wEnemyMonLevel
+ ld [W_CURENEMYLVL], a ; W_CURENEMYLVL
+ ld a, [wEnemyMonSpecies]
+ ld [wd0b5], a
call GetMonHeader
- ld hl, $cff1
- ld de, $cfaf
+ ld hl, wEnemyMonDVs
+ ld de, wcfaf
ld a, [hli]
ld [de], a
inc de
@@ -4368,7 +4287,7 @@ Func_3df1c: ; 3df1c (f:5f1c)
ld [de], a
pop bc
ld b, $0
- ld hl, $cfa4
+ ld hl, wcfa4
call CalcStat
pop de
ret
@@ -4384,7 +4303,7 @@ MoreCalculateDamage: ; 3df65 (f:5f65)
and a
ld a, [W_PLAYERMOVEEFFECT]
jr z, .effect
- ld a, [$cfcd]
+ ld a, [W_ENEMYMOVEEFFECT]
.effect
; EXPLODE_EFFECT halves defense.
@@ -4534,7 +4453,7 @@ MoreCalculateDamage: ; 3df65 (f:5f65)
Func_3e016: ; 3e016 (f:6016)
call Func_3f132
- ld a, [W_MOVEMISSED] ; $d05f
+ ld a, [W_MOVEMISSED] ; W_MOVEMISSED
dec a
ret
@@ -4552,25 +4471,25 @@ UnusedHighCriticalMoves: ; 3e01e (f:601e)
; among the most popular) tend to CH about 20 to 25% of the time."
CriticalHitTest: ; 3e023 (f:6023)
xor a
- ld [$d05e], a
+ ld [wd05e], a
ld a, [H_WHOSETURN] ; $fff3
and a
- ld a, [$cfe5]
+ ld a, [wEnemyMonSpecies]
jr nz, .asm_3e032
- ld a, [W_PLAYERMONID]
+ ld a, [wBattleMonSpecies]
.asm_3e032
- ld [$d0b5], a
+ ld [wd0b5], a
call GetMonHeader
ld a, [W_MONHBASESPEED]
ld b, a
srl b ; (effective (base speed/2))
ld a, [H_WHOSETURN] ; $fff3
and a
- ld hl, W_PLAYERMOVEPOWER ; $cfd4
- ld de, W_PLAYERBATTSTATUS2 ; $d063
+ ld hl, W_PLAYERMOVEPOWER ; W_PLAYERMOVEPOWER
+ ld de, W_PLAYERBATTSTATUS2 ; W_PLAYERBATTSTATUS2
jr z, .calcCriticalHitProbability
- ld hl, W_ENEMYMOVEPOWER ; $cfce
- ld de, W_ENEMYBATTSTATUS2 ; $d068
+ ld hl, W_ENEMYMOVEPOWER ; wcfce
+ ld de, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2
.calcCriticalHitProbability ; 0x3e04f
ld a, [hld] ; read base power from RAM
and a
@@ -4606,14 +4525,14 @@ CriticalHitTest: ; 3e023 (f:6023)
jr nc, .SkipHighCritical
ld b, $ff
.SkipHighCritical
- call GenRandomInBattle ; generates a random value, in "a"
+ call BattleRandom ; generates a random value, in "a"
rlc a
rlc a
rlc a
cp b ; check a against calculated crit rate
ret nc ; no critical hit if no borrow
ld a, $1
- ld [$d05e], a ; set critical hit flag
+ ld [wd05e], a ; set critical hit flag
ret
; high critical hit moves
@@ -4697,7 +4616,7 @@ ApplyAttackToEnemyPokemon: ; 3e0df (f:60df)
jr ApplyDamageToEnemyPokemon
.superFangEffect
; set the damage to half the target's HP
- ld hl,W_ENEMYMONCURHP
+ ld hl,wEnemyMonHP
ld de,W_DAMAGE
ld a,[hli]
srl a
@@ -4714,7 +4633,7 @@ ApplyAttackToEnemyPokemon: ; 3e0df (f:60df)
ld [de],a
jr ApplyDamageToEnemyPokemon
.specialDamage
- ld hl,W_PLAYERMONLEVEL
+ ld hl,wBattleMonLevel
ld a,[hl]
ld b,a
ld a,[W_PLAYERMOVENUM]
@@ -4736,7 +4655,7 @@ ApplyAttackToEnemyPokemon: ; 3e0df (f:60df)
ld b,a ; b = level * 1.5
; loop until a random number in the range [1, b) is found
.loop
- call GenRandomInBattle ; random number
+ call BattleRandom
and a
jr z,.loop
cp b
@@ -4763,16 +4682,16 @@ ApplyDamageToEnemyPokemon: ; 3e142 (f:6142)
; also, save the current HP at wHPBarOldHP
ld a,[hld]
ld b,a
- ld a,[W_ENEMYMONCURHP + 1]
+ ld a,[wEnemyMonHP + 1]
ld [wHPBarOldHP],a
sub b
- ld [W_ENEMYMONCURHP + 1],a
+ ld [wEnemyMonHP + 1],a
ld a,[hl]
ld b,a
- ld a,[W_ENEMYMONCURHP]
+ ld a,[wEnemyMonHP]
ld [wHPBarOldHP+1],a
sbc b
- ld [W_ENEMYMONCURHP],a
+ ld [wEnemyMonHP],a
jr nc,.animateHpBar
; if more damage was done than the current HP, zero the HP and set the damage
; equal to how much HP the pokemon had before the attack
@@ -4781,26 +4700,24 @@ ApplyDamageToEnemyPokemon: ; 3e142 (f:6142)
ld a,[wHPBarOldHP]
ld [hl],a
xor a
- ld hl,W_ENEMYMONCURHP
+ ld hl,wEnemyMonHP
ld [hli],a
ld [hl],a
.animateHpBar
- ld hl,W_ENEMYMONMAXHP
+ ld hl,wEnemyMonMaxHP
ld a,[hli]
ld [wHPBarMaxHP+1],a
ld a,[hl]
ld [wHPBarMaxHP],a
- ld hl,W_ENEMYMONCURHP
+ ld hl,wEnemyMonHP
ld a,[hli]
ld [wHPBarNewHP+1],a
ld a,[hl]
ld [wHPBarNewHP],a
- FuncCoord 2, 2 ; $c3ca
- ld hl,Coord
+ hlCoord 2, 2
xor a
- ld [$cf94],a
- ld a,$48
- call Predef ; animate the HP bar shortening
+ ld [wListMenuID],a
+ predef UpdateHPBar2 ; animate the HP bar shortening
ApplyAttackToEnemyPokemonDone: ; 3e19d (f:619d)
jp Func_3cd5a ; redraw pokemon names and HP bars
@@ -4818,7 +4735,7 @@ ApplyAttackToPlayerPokemon: ; 3e1a0 (f:61a0)
jr ApplyDamageToPlayerPokemon
.superFangEffect
; set the damage to half the target's HP
- ld hl,W_PLAYERMONCURHP
+ ld hl,wBattleMonHP
ld de,W_DAMAGE
ld a,[hli]
srl a
@@ -4835,7 +4752,7 @@ ApplyAttackToPlayerPokemon: ; 3e1a0 (f:61a0)
ld [de],a
jr ApplyDamageToPlayerPokemon
.specialDamage
- ld hl,W_ENEMYMONLEVEL
+ ld hl,wEnemyMonLevel
ld a,[hl]
ld b,a
ld a,[W_ENEMYMOVENUM]
@@ -4859,7 +4776,7 @@ ApplyAttackToPlayerPokemon: ; 3e1a0 (f:61a0)
; this differs from the range when the player attacks, which is [1, b)
; it's possible for the enemy to do 0 damage with Psywave, but the player always does at least 1 damage
.loop
- call GenRandomInBattle ; random number
+ call BattleRandom
cp b
jr nc,.loop
ld b,a
@@ -4884,16 +4801,16 @@ ApplyDamageToPlayerPokemon: ; 3e200 (f:6200)
; also, save the current HP at wHPBarOldHP and the new HP at wHPBarNewHP
ld a,[hld]
ld b,a
- ld a,[W_PLAYERMONCURHP + 1]
+ ld a,[wBattleMonHP + 1]
ld [wHPBarOldHP],a
sub b
- ld [W_PLAYERMONCURHP + 1],a
+ ld [wBattleMonHP + 1],a
ld [wHPBarNewHP],a
ld b,[hl]
- ld a,[W_PLAYERMONCURHP]
+ ld a,[wBattleMonHP]
ld [wHPBarOldHP+1],a
sbc b
- ld [W_PLAYERMONCURHP],a
+ ld [wBattleMonHP],a
ld [wHPBarNewHP+1],a
jr nc,.animateHpBar
; if more damage was done than the current HP, zero the HP and set the damage
@@ -4903,24 +4820,22 @@ ApplyDamageToPlayerPokemon: ; 3e200 (f:6200)
ld a,[wHPBarOldHP]
ld [hl],a
xor a
- ld hl,W_PLAYERMONCURHP
+ ld hl,wBattleMonHP
ld [hli],a
ld [hl],a
ld hl,wHPBarNewHP
ld [hli],a
ld [hl],a
.animateHpBar
- ld hl,W_PLAYERMONMAXHP
+ ld hl,wBattleMonMaxHP
ld a,[hli]
ld [wHPBarMaxHP+1],a
ld a,[hl]
ld [wHPBarMaxHP],a
- FuncCoord 10, 9 ; $c45e
- ld hl,Coord
+ hlCoord 10, 9
ld a,$01
- ld [$cf94],a
- ld a,$48
- call Predef ; animate the HP bar shortening
+ ld [wListMenuID],a
+ predef UpdateHPBar2 ; animate the HP bar shortening
ApplyAttackToPlayerPokemonDone
jp Func_3cd5a ; redraw pokemon names and HP bars
@@ -5031,12 +4946,12 @@ MirrorMoveCopyMove: ; 3e2fd (f:62fd)
ld a,[H_WHOSETURN]
and a
; values for player turn
- ld a,[$ccf2]
+ ld a,[wccf2]
ld hl,wPlayerSelectedMove
ld de,W_PLAYERMOVENUM
jr z,.next
; values for enemy turn
- ld a,[$ccf1]
+ ld a,[wccf1]
ld de,W_ENEMYMOVENUM
ld hl,wEnemySelectedMove
.next
@@ -5058,7 +4973,7 @@ MirrorMoveFailedText: ; 3e324 (f:6324)
; function used to reload move data for moves like Mirror Move and Metronome
ReloadMoveData: ; 3e329 (f:6329)
- ld [$d11e],a
+ ld [wd11e],a
dec a
ld hl,Moves
ld bc,$0006
@@ -5076,7 +4991,7 @@ ReloadMoveData: ; 3e329 (f:6329)
; function that picks a random move for metronome
MetronomePickMove: ; 3e348 (f:6348)
xor a
- ld [$cc5b],a
+ ld [wcc5b],a
ld a,METRONOME
call PlayMoveAnimation ; play Metronome's animation
; values for player turn
@@ -5090,10 +5005,10 @@ MetronomePickMove: ; 3e348 (f:6348)
ld hl,wEnemySelectedMove
; loop to pick a random number in the range [1, $a5) to be the move used by Metronome
.pickMoveLoop
- call GenRandomInBattle ; random number
+ call BattleRandom
and a
jr z,.pickMoveLoop
- cp a,NUM_MOVES + 1 ; max normal move number + 1 (this is Struggle's move number)
+ cp a,NUM_ATTACKS + 1 ; max normal move number + 1 (this is Struggle's move number)
jr nc,.pickMoveLoop
cp a,METRONOME
jr z,.pickMoveLoop
@@ -5107,13 +5022,13 @@ IncrementMovePP: ; 3e373 (f:6373)
ld a,[H_WHOSETURN]
and a
; values for player turn
- ld hl,W_PLAYERMONPP
- ld de,W_PARTYMON1_MOVE1PP
+ ld hl,wBattleMonPP
+ ld de,wPartyMon1PP
ld a,[wPlayerMoveListIndex]
jr z,.next
; values for enemy turn
- ld hl,W_ENEMYMONPP
- ld de,$d8c1 ; enemy party pokemon 1 PP
+ ld hl,wEnemyMonPP
+ ld de,wEnemyMon1PP
ld a,[wEnemyMoveListIndex]
.next
ld b,$00
@@ -5127,9 +5042,9 @@ IncrementMovePP: ; 3e373 (f:6373)
and a
ld a,[wPlayerMonNumber] ; value for player turn
jr z,.next2
- ld a,[W_ENEMYMONNUMBER] ; value for enemy turn
+ ld a,[wEnemyMonPartyPos] ; value for enemy turn
.next2
- ld bc,$002c
+ ld bc,wEnemyMon2 - wEnemyMon1
call AddNTimes
inc [hl] ; increment PP in the party memory location
ret
@@ -5137,32 +5052,32 @@ IncrementMovePP: ; 3e373 (f:6373)
; function to adjust the base damage of an attack to account for type effectiveness
AdjustDamageForMoveType: ; 3e3a5 (f:63a5)
; values for player turn
- ld hl,W_PLAYERMONTYPES
+ ld hl,wBattleMonType
ld a,[hli]
ld b,a ; b = type 1 of attacker
ld c,[hl] ; c = type 2 of attacker
- ld hl,W_ENEMYMONTYPES
+ ld hl,wEnemyMonType
ld a,[hli]
ld d,a ; d = type 1 of defender
ld e,[hl] ; e = type 2 of defender
ld a,[W_PLAYERMOVETYPE]
- ld [$d11e],a
+ ld [wd11e],a
ld a,[H_WHOSETURN]
and a
jr z,.next
; values for enemy turn
- ld hl,W_ENEMYMONTYPES
+ ld hl,wEnemyMonType
ld a,[hli]
ld b,a ; b = type 1 of attacker
ld c,[hl] ; c = type 2 of attacker
- ld hl,W_PLAYERMONTYPES
+ ld hl,wBattleMonType
ld a,[hli]
ld d,a ; d = type 1 of defender
ld e,[hl] ; e = type 2 of defender
ld a,[W_ENEMYMOVETYPE]
- ld [$d11e],a
+ ld [wd11e],a
.next
- ld a,[$d11e] ; move type
+ ld a,[wd11e] ; move type
cp b ; does the move type match type 1 of the attacker?
jr z,.sameTypeAttackBonus
cp c ; does the move type match type 2 of the attacker?
@@ -5184,10 +5099,10 @@ AdjustDamageForMoveType: ; 3e3a5 (f:63a5)
ld [W_DAMAGE],a
ld a,l
ld [W_DAMAGE + 1],a
- ld hl,$d05b
+ ld hl,wd05b
set 7,[hl]
.skipSameTypeAttackBonus
- ld a,[$d11e]
+ ld a,[wd11e]
ld b,a ; b = move type
ld hl,TypeEffects
.loop
@@ -5207,13 +5122,13 @@ AdjustDamageForMoveType: ; 3e3a5 (f:63a5)
push hl
push bc
inc hl
- ld a,[$d05b]
+ ld a,[wd05b]
and a,$80
ld b,a
ld a,[hl] ; a = damage multiplier
ld [H_MULTIPLIER],a
add b
- ld [$d05b],a
+ ld [wd05b],a
xor a
ld [H_MULTIPLICAND],a
ld hl,W_DAMAGE
@@ -5250,18 +5165,18 @@ AdjustDamageForMoveType: ; 3e3a5 (f:63a5)
; function to tell how effective the type of an enemy attack is on the player's current pokemon
; this doesn't take into account the effects that dual types can have
; (e.g. 4x weakness / resistance, weaknesses and resistances canceling)
-; the result is stored in [$D11E]
+; the result is stored in [wd11e]
; ($05 is not very effective, $10 is neutral, $14 is super effective)
; as far is can tell, this is only used once in some AI code to help decide which move to use
AIGetTypeEffectiveness: ; 3e449 (f:6449)
ld a,[W_ENEMYMOVETYPE]
ld d,a ; d = type of enemy move
- ld hl,W_PLAYERMONTYPES
+ ld hl,wBattleMonType
ld b,[hl] ; b = type 1 of player's pokemon
inc hl
ld c,[hl] ; c = type 2 of player's pokemon
ld a,$10
- ld [$d11e],a ; initialize [$D11E] to neutral effectiveness
+ ld [wd11e],a ; initialize [wd11e] to neutral effectiveness
ld hl,TypeEffects
.loop
ld a,[hli]
@@ -5282,7 +5197,7 @@ AIGetTypeEffectiveness: ; 3e449 (f:6449)
jr .loop
.done
ld a,[hl]
- ld [$d11e],a ; store damage multiplier
+ ld [wd11e],a ; store damage multiplier
ret
INCLUDE "data/type_effects.asm"
@@ -5292,14 +5207,14 @@ MoveHitTest: ; 3e56b (f:656b)
; player's turn
ld hl,W_ENEMYBATTSTATUS1
ld de,W_PLAYERMOVEEFFECT
- ld bc,W_ENEMYMONSTATUS
+ ld bc,wEnemyMonStatus
ld a,[H_WHOSETURN]
and a
jr z,.dreamEaterCheck
; enemy's turn
ld hl,W_PLAYERBATTSTATUS1
ld de,W_ENEMYMOVEEFFECT
- ld bc,W_PLAYERMONSTATUS
+ ld bc,wBattleMonStatus
.dreamEaterCheck
ld a,[de]
cp a,DREAM_EATER_EFFECT
@@ -5385,7 +5300,7 @@ MoveHitTest: ; 3e56b (f:656b)
.doAccuracyCheck
; if the random number generated is greater than or equal to the scaled accuracy, the move misses
; note that this means that even the highest accuracy is still just a 255/256 chance, not 100%
- call GenRandomInBattle ; random number
+ call BattleRandom
cp b
jr nc,.moveMissed
ret
@@ -5478,7 +5393,7 @@ CalcHitChance: ; 3e624 (f:6624)
ret
Func_3e687: ; 3e687 (f:6687)
- ld hl, W_DAMAGE ; $d0d7
+ ld hl, W_DAMAGE ; W_DAMAGE
ld a, [hli]
and a
jr nz, .asm_3e692
@@ -5494,7 +5409,7 @@ Func_3e687: ; 3e687 (f:6687)
ld a, [hl]
ld [$ff98], a
.asm_3e69c
- call GenRandomInBattle
+ call BattleRandom
rrca
cp $d9
jr c, .asm_3e69c
@@ -5505,81 +5420,81 @@ Func_3e687: ; 3e687 (f:6687)
ld b, $4
call Divide
ld a, [$ff97]
- ld hl, W_DAMAGE ; $d0d7
+ ld hl, W_DAMAGE ; W_DAMAGE
ld [hli], a
ld a, [$ff98]
ld [hl], a
ret
Func_3e6bc: ; 3e6bc (f:66bc)
- ld a, [wEnemySelectedMove] ; $ccdd
+ ld a, [wEnemySelectedMove] ; wccdd
inc a
jp z, Func_3e88c
call PrintGhostText
jp z, Func_3e88c
- ld a, [W_ISLINKBATTLE] ; $d12b
+ ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $4
jr nz, .asm_3e6dc
ld b, $1
- ld a, [$cc3e]
+ ld a, [wcc3e]
cp $e
jr z, .asm_3e6dc
cp $4
ret nc
.asm_3e6dc
- ld hl, $ccd5
+ ld hl, wccd5
inc [hl]
xor a
- ld [W_MOVEMISSED], a ; $d05f
- ld [$ccf4], a
+ ld [W_MOVEMISSED], a ; W_MOVEMISSED
+ ld [wccf4], a
ld a, $a
- ld [$d05b], a
+ ld [wd05b], a
call Func_3e88f
jr nz, .asm_3e6f2
jp [hl]
.asm_3e6f2
- ld hl, W_ENEMYBATTSTATUS1 ; $d067
+ ld hl, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
bit 4, [hl]
jr nz, asm_3e70b
call GetCurrentMove
Func_3e6fc: ; 3e6fc (f:66fc)
- ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
+ ld a, [W_ENEMYMOVEEFFECT] ; W_ENEMYMOVEEFFECT
cp CHARGE_EFFECT
jp z, Func_3f132
cp FLY_EFFECT
jp z, Func_3f132
jr asm_3e72b
asm_3e70b: ; 3e70b (f:670b)
- ld hl, W_ENEMYBATTSTATUS1 ; $d067
+ ld hl, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
res 4, [hl] ; no longer charging up for attack
res 6, [hl] ; no longer invulnerable to typcial attacks
- ld a, [W_ENEMYMOVENUM] ; $cfcc
- ld [$d0b5], a
+ ld a, [W_ENEMYMOVENUM] ; W_ENEMYMOVENUM
+ ld [wd0b5], a
ld a, $2c
- ld [$d0b7], a
+ ld [wPredefBank], a
ld a, MOVE_NAME
ld [W_LISTTYPE], a
call GetName
- ld de, $cd6d
+ ld de, wcd6d
call CopyStringToCF4B
asm_3e72b: ; 3e72b (f:672b)
xor a
- ld [$cced], a
+ ld [wcced], a
call PrintMonName1Text
- ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
+ ld a, [W_ENEMYMOVEEFFECT] ; W_ENEMYMOVEEFFECT
ld hl, EffectsArray1 ; $4000
ld de, $1
call IsInArray
jp c, Func_3f132
- ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
+ ld a, [W_ENEMYMOVEEFFECT] ; W_ENEMYMOVEEFFECT
ld hl, EffectsArray5B ; $4049
ld de, $1
call IsInArray
call c, Func_3f132
asm_3e750: ; 3e750 (f:6750)
call Func_3ec81
- ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
+ ld a, [W_ENEMYMOVEEFFECT] ; W_ENEMYMOVEEFFECT
ld hl, EffectsArray2 ; $4011
ld de, $1
call IsInArray
@@ -5598,10 +5513,10 @@ asm_3e750: ; 3e750 (f:6750)
Func_3e77f: ; 3e77f (f:677f)
call MoveHitTest
asm_3e782: ; 3e782 (f:6782)
- ld a, [W_MOVEMISSED] ; $d05f
+ ld a, [W_MOVEMISSED] ; W_MOVEMISSED
and a
jr z, .asm_3e791
- ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
+ ld a, [W_ENEMYMOVEEFFECT] ; W_ENEMYMOVEEFFECT
cp EXPLODE_EFFECT
jr z, asm_3e7a0
jr Func_3e7d1
@@ -5609,7 +5524,7 @@ asm_3e782: ; 3e782 (f:6782)
call Func_3ec81
Func_3e794: ; 3e794 (f:6794)
- ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
+ ld a, [W_ENEMYMOVEEFFECT] ; W_ENEMYMOVEEFFECT
and a
ld a, $1
jr z, asm_3e7a4
@@ -5620,18 +5535,18 @@ asm_3e7a0: ; 3e7a0 (f:67a0)
xor a
asm_3e7a4: ; 3e7a4 (f:67a4)
push af
- ld a, [W_ENEMYBATTSTATUS2] ; $d068
+ ld a, [W_ENEMYBATTSTATUS2] ; W_ENEMYBATTSTATUS2
bit 4, a ; does mon have a substitute?
ld hl, Func_79747
ld b, BANK(Func_79747)
call nz, Bankswitch
pop af
- ld [$cc5b], a
- ld a, [W_ENEMYMOVENUM] ; $cfcc
+ ld [wcc5b], a
+ ld a, [W_ENEMYMOVENUM] ; W_ENEMYMOVENUM
call PlayMoveAnimation
call Func_3eed3
call Func_3cdec
- ld a, [W_ENEMYBATTSTATUS2] ; $d068
+ ld a, [W_ENEMYBATTSTATUS2] ; W_ENEMYBATTSTATUS2
bit 4, a ; does mon have a substitute?
ld hl, Func_79771
ld b, BANK(Func_79771)
@@ -5642,7 +5557,7 @@ Func_3e7d1: ; 3e7d1 (f:67d1)
call Func_3ec81
ld c, $1e
call DelayFrames
- ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
+ ld a, [W_ENEMYMOVEEFFECT] ; W_ENEMYMOVEEFFECT
cp FLY_EFFECT
jr z, .asm_3e7e6
cp CHARGE_EFFECT
@@ -5650,11 +5565,11 @@ Func_3e7d1: ; 3e7d1 (f:67d1)
jr asm_3e7ef
.asm_3e7e6
xor a
- ld [$cc5b], a
+ ld [wcc5b], a
ld a,STATUS_AFFECTED_ANIM
call PlayMoveAnimation
asm_3e7ef: ; 3e7ef (f:67ef)
- ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
+ ld a, [W_ENEMYMOVEEFFECT] ; W_ENEMYMOVEEFFECT
cp MIRROR_MOVE_EFFECT
jr nz, .notMirrorMoveEffect
call MirrorMoveCopyMove
@@ -5666,16 +5581,16 @@ asm_3e7ef: ; 3e7ef (f:67ef)
call MetronomePickMove
jp Func_3e6fc
.notMetronomeEffect
- ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
+ ld a, [W_ENEMYMOVEEFFECT] ; W_ENEMYMOVEEFFECT
ld hl, EffectsArray3 ; $4014
ld de, $1
call IsInArray
jp c, Func_3f132
- ld a, [W_MOVEMISSED] ; $d05f
+ ld a, [W_MOVEMISSED] ; W_MOVEMISSED
and a
jr z, .asm_3e82b
call PrintMoveFailureText
- ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
+ ld a, [W_ENEMYMOVEEFFECT] ; W_ENEMYMOVEEFFECT
cp EXPLODE_EFFECT
jr z, .asm_3e83e
jp Func_3e88c
@@ -5684,24 +5599,24 @@ asm_3e7ef: ; 3e7ef (f:67ef)
call Func_3dc5c
callab DisplayEffectiveness
ld a, $1
- ld [$ccf4], a
+ ld [wccf4], a
.asm_3e83e
- ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
+ ld a, [W_ENEMYMOVEEFFECT] ; W_ENEMYMOVEEFFECT
ld hl, EffectsArray4 ; $4030
ld de, $1
call IsInArray
call c, Func_3f132
- ld hl, W_PLAYERMONCURHP ; $d015
+ ld hl, wBattleMonHP ; wd015
ld a, [hli]
ld b, [hl]
or b
ret z
call HandleBuildingRage
- ld hl, W_ENEMYBATTSTATUS1 ; $d067
+ ld hl, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
bit 2, [hl] ; is mon hitting multiple times? (example: double kick)
jr z, .asm_3e873
push hl
- ld hl, $d06f
+ ld hl, wd06f
dec [hl]
pop hl
jp nz, Func_3e794
@@ -5709,9 +5624,9 @@ asm_3e7ef: ; 3e7ef (f:67ef)
ld hl, HitXTimesText ; $6887
call PrintText
xor a
- ld [$cd05], a
+ ld [wcd05], a
.asm_3e873
- ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
+ ld a, [W_ENEMYMOVEEFFECT] ; W_ENEMYMOVEEFFECT
and a
jr z, Func_3e88c
ld hl, EffectsArray5 ; $403b
@@ -5729,18 +5644,18 @@ Func_3e88c: ; 3e88c (f:688c)
ret
Func_3e88f: ; 3e88f (f:688f)
- ld hl, W_ENEMYMONSTATUS ; $cfe9
+ ld hl, wEnemyMonStatus ; wcfe9
ld a, [hl]
and $7
jr z, .asm_3e8bf
dec a
- ld [W_ENEMYMONSTATUS], a ; $cfe9
+ ld [wEnemyMonStatus], a ; wcfe9
and a
jr z, .asm_3e8af
ld hl, FastAsleepText
call PrintText
xor a
- ld [$cc5b], a
+ ld [wcc5b], a
ld a,SLP_ANIM
call PlayMoveAnimation
jr .asm_3e8b5
@@ -5749,7 +5664,7 @@ Func_3e88f: ; 3e88f (f:688f)
call PrintText
.asm_3e8b5
xor a
- ld [$ccf2], a
+ ld [wccf2], a
ld hl, Func_3e88c ; $688c
jp Func_3eab8
.asm_3e8bf
@@ -5758,11 +5673,11 @@ Func_3e88f: ; 3e88f (f:688f)
ld hl, IsFrozenText
call PrintText
xor a
- ld [$ccf2], a
+ ld [wccf2], a
ld hl, Func_3e88c ; $688c
jp Func_3eab8
.asm_3e8d3
- ld a, [W_PLAYERBATTSTATUS1] ; $d062
+ ld a, [W_PLAYERBATTSTATUS1] ; W_PLAYERBATTSTATUS1
bit 5, a
jp z, Func_3e8e7
ld hl, CantMoveText
@@ -5771,7 +5686,7 @@ Func_3e88f: ; 3e88f (f:688f)
jp Func_3eab8
Func_3e8e7: ; 3e8e7 (f:68e7)
- ld hl, W_ENEMYBATTSTATUS1 ; $d067
+ ld hl, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
bit 3, [hl]
jp z, Func_3e8fd
res 3, [hl]
@@ -5781,7 +5696,7 @@ Func_3e8e7: ; 3e8e7 (f:68e7)
jp Func_3eab8
Func_3e8fd: ; 3e8fd (f:68fd)
- ld hl, W_ENEMYBATTSTATUS2 ; $d068
+ ld hl, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2
bit 5, [hl]
jr z, .asm_3e912
res 5, [hl]
@@ -5790,7 +5705,7 @@ Func_3e8fd: ; 3e8fd (f:68fd)
ld hl, Func_3e88c ; $688c
jp Func_3eab8
.asm_3e912
- ld hl, W_ENEMYDISABLEDMOVE ; $d072
+ ld hl, W_ENEMYDISABLEDMOVE ; W_ENEMYDISABLEDMOVE
ld a, [hl]
and a
jr z, .asm_3e929
@@ -5799,17 +5714,17 @@ Func_3e8fd: ; 3e8fd (f:68fd)
and $f
jr nz, .asm_3e929
ld [hl], a
- ld [$ccef], a
+ ld [wccef], a
ld hl, DisabledNoMoreText
call PrintText
.asm_3e929
- ld a, [W_ENEMYBATTSTATUS1] ; $d067
+ ld a, [W_ENEMYBATTSTATUS1] ; W_ENEMYBATTSTATUS1
add a
jp nc, Func_3e9aa
- ld hl, $d070
+ ld hl, wd070
dec [hl]
jr nz, .asm_3e944
- ld hl, W_ENEMYBATTSTATUS1 ; $d067
+ ld hl, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
res 7, [hl]
ld hl, ConfusedNoMoreText
call PrintText
@@ -5818,34 +5733,34 @@ Func_3e8fd: ; 3e8fd (f:68fd)
ld hl, IsConfusedText
call PrintText
xor a
- ld [$cc5b], a
+ ld [wcc5b], a
ld a,CONF_ANIM
call PlayMoveAnimation
- call GenRandomInBattle
+ call BattleRandom
cp $80
jr c, Func_3e9aa
- ld hl, W_ENEMYBATTSTATUS1 ; $d067
+ ld hl, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
ld a, [hl]
and $80
ld [hl], a
ld hl, HurtItselfText
call PrintText
- ld hl, W_PLAYERMONDEF
+ ld hl, wBattleMonDefense
ld a, [hli]
push af
ld a, [hld]
push af
- ld a, [W_ENEMYMONDEFENSE] ; $cff8
+ ld a, [wEnemyMonDefense] ; wcff8
ld [hli], a
- ld a, [$cff9]
+ ld a, [wEnemyMonDefense + 1]
ld [hl], a
- ld hl, W_ENEMYMOVEEFFECT ; $cfcd
+ ld hl, W_ENEMYMOVEEFFECT ; W_ENEMYMOVEEFFECT
push hl
ld a, [hl]
push af
xor a
ld [hli], a
- ld [$d05e], a
+ ld [wd05e], a
ld a, $28
ld [hli], a
xor a
@@ -5855,13 +5770,13 @@ Func_3e8fd: ; 3e8fd (f:68fd)
pop af
pop hl
ld [hl], a
- ld hl, $d028
+ ld hl, wBattleMonDefense + 1
pop af
ld [hld], a
pop af
ld [hl], a
xor a
- ld [$cc5b], a
+ ld [wcc5b], a
ld [H_WHOSETURN], a ; $fff3
ld a, POUND
call PlayMoveAnimation
@@ -5871,30 +5786,30 @@ Func_3e8fd: ; 3e8fd (f:68fd)
jr asm_3e9d3
Func_3e9aa: ; 3e9aa (f:69aa)
- ld a, [$ccef]
+ ld a, [wccef]
and a
jr z, .asm_3e9bf
- ld hl, wEnemySelectedMove ; $ccdd
+ ld hl, wEnemySelectedMove ; wccdd
cp [hl]
jr nz, .asm_3e9bf
call PrintMoveIsDisabledText
ld hl, Func_3e88c ; $688c
jp Func_3eab8
.asm_3e9bf
- ld hl, W_ENEMYMONSTATUS ; $cfe9
+ ld hl, wEnemyMonStatus ; wcfe9
bit 6, [hl]
jr z, asm_3e9f6
- call GenRandomInBattle
+ call BattleRandom
cp $3f
jr nc, asm_3e9f6
ld hl, FullyParalyzedText
call PrintText
asm_3e9d3: ; 3e9d3 (f:69d3)
- ld hl, W_ENEMYBATTSTATUS1 ; $d067
+ ld hl, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
ld a, [hl]
and $cc
ld [hl], a
- ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
+ ld a, [W_ENEMYMOVEEFFECT] ; W_ENEMYMOVEEFFECT
cp FLY_EFFECT
jr z, .asm_3e9e7
cp CHARGE_EFFECT
@@ -5902,59 +5817,59 @@ asm_3e9d3: ; 3e9d3 (f:69d3)
jr .asm_3e9f0
.asm_3e9e7
xor a
- ld [$cc5b], a
+ ld [wcc5b], a
ld a, STATUS_AFFECTED_ANIM
call PlayMoveAnimation
.asm_3e9f0
ld hl, Func_3e88c ; $688c
jp Func_3eab8
asm_3e9f6: ; 3e9f6 (f:69f6)
- ld hl, W_ENEMYBATTSTATUS1 ; $d067
+ ld hl, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
bit 0, [hl] ; is mon using bide?
jr z, .asm_3ea54
xor a
- ld [W_ENEMYMOVENUM], a ; $cfcc
- ld hl, W_DAMAGE ; $d0d7
+ ld [W_ENEMYMOVENUM], a ; W_ENEMYMOVENUM
+ ld hl, W_DAMAGE ; W_DAMAGE
ld a, [hli]
ld b, a
ld c, [hl]
- ld hl, $cd06
+ ld hl, wcd06
ld a, [hl]
add c
ld [hld], a
ld a, [hl]
adc b
ld [hl], a
- ld hl, $d06f
+ ld hl, wd06f
dec [hl]
jr z, .asm_3ea1c
ld hl, Func_3e88c ; $688c
jp Func_3eab8
.asm_3ea1c
- ld hl, W_ENEMYBATTSTATUS1 ; $d067
+ ld hl, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
res 0, [hl]
ld hl, UnleashedEnergyText
call PrintText
ld a, $1
- ld [W_ENEMYMOVEPOWER], a ; $cfce
- ld hl, $cd06
+ ld [W_ENEMYMOVEPOWER], a ; wcfce
+ ld hl, wcd06
ld a, [hld]
add a
ld b, a
- ld [$d0d8], a
+ ld [wd0d8], a
ld a, [hl]
rl a
- ld [W_DAMAGE], a ; $d0d7
+ ld [W_DAMAGE], a ; W_DAMAGE
or b
jr nz, .asm_3ea43
ld a, $1
- ld [W_MOVEMISSED], a ; $d05f
+ ld [W_MOVEMISSED], a ; W_MOVEMISSED
.asm_3ea43
xor a
ld [hli], a
ld [hl], a
ld a, BIDE
- ld [W_ENEMYMOVENUM], a ; $cfcc
+ ld [W_ENEMYMOVENUM], a ; W_ENEMYMOVENUM
call Func_3ec81
ld hl, asm_3e782 ; $6782
jp Func_3eab8
@@ -5962,22 +5877,22 @@ asm_3e9f6: ; 3e9f6 (f:69f6)
bit 1, [hl] ; is mon using thrash or petal dance?
jr z, .asm_3ea83
ld a, THRASH
- ld [W_ENEMYMOVENUM], a ; $cfcc
+ ld [W_ENEMYMOVENUM], a ; W_ENEMYMOVENUM
ld hl, ThrashingAboutText
call PrintText
- ld hl, $d06f
+ ld hl, wd06f
dec [hl]
ld hl, asm_3e750 ; $6750
jp nz, Func_3eab8
push hl
- ld hl, W_ENEMYBATTSTATUS1 ; $d067
+ ld hl, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
res 1, [hl] ; mon is no longer using thrash or petal dance
set 7, [hl] ; mon is now confused
- call GenRandomInBattle
+ call BattleRandom
and $3
inc a
inc a
- ld [$d070], a
+ ld [wd070], a
pop hl
jp Func_3eab8
.asm_3ea83
@@ -5985,22 +5900,22 @@ asm_3e9f6: ; 3e9f6 (f:69f6)
jp z, Func_3ea9b
ld hl, AttackContinuesText
call PrintText
- ld hl, $d06f
+ ld hl, wd06f
dec [hl]
ld hl, Func_3e794 ; $6794
jp nz, Func_3eab8
jp Func_3eab8
Func_3ea9b: ; 3ea9b (f:6a9b)
- ld a, [W_ENEMYBATTSTATUS2] ; $d068
+ ld a, [W_ENEMYBATTSTATUS2] ; W_ENEMYBATTSTATUS2
bit 6, a ; is mon using rage?
jp z, Func_3eaba
ld a, RAGE
- ld [$d11e], a
+ ld [wd11e], a
call GetMoveName
call CopyStringToCF4B
xor a
- ld [W_ENEMYMOVEEFFECT], a ; $cfcd
+ ld [W_ENEMYMOVEEFFECT], a ; W_ENEMYMOVEEFFECT
ld hl, asm_3e72b ; $672b
jp Func_3eab8
@@ -6017,18 +5932,18 @@ GetCurrentMove: ; 3eabe (f:6abe)
ld a, [H_WHOSETURN] ; $fff3
and a
jp z, .player
- ld de, W_ENEMYMOVENUM ; $cfcc
- ld a, [wEnemySelectedMove] ; $ccdd
+ ld de, W_ENEMYMOVENUM ; W_ENEMYMOVENUM
+ ld a, [wEnemySelectedMove] ; wccdd
jr .selected
.player
- ld de, W_PLAYERMOVENUM ; $cfd2
+ ld de, W_PLAYERMOVENUM ; wcfd2
ld a, [W_FLAGS_D733]
bit 0, a
- ld a, [$ccd9]
+ ld a, [wccd9]
jr nz, .selected
- ld a, [wPlayerSelectedMove] ; $ccdc
+ ld a, [wPlayerSelectedMove] ; wPlayerSelectedMove
.selected
- ld [$d0b5], a
+ ld [wd0b5], a
dec a
ld hl, Moves ; $4000
ld bc, $6
@@ -6036,80 +5951,80 @@ GetCurrentMove: ; 3eabe (f:6abe)
ld a, BANK(Moves)
call FarCopyData
ld a, $2c
- ld [$d0b7], a
+ ld [wPredefBank], a
ld a, $2
ld [W_LISTTYPE], a ; list type 2 = move name
call GetName
- ld de, $cd6d
+ ld de, wcd6d
jp CopyStringToCF4B
Func_3eb01: ; 3eb01 (f:6b01)
- ld a, [W_ISLINKBATTLE] ; $d12b
+ ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $4
jp z, Func_3cc13
- ld a, [W_ENEMYMONID]
- ld [$cfe5], a
- ld [$d0b5], a
+ ld a, [wEnemyMonSpecies2]
+ ld [wEnemyMonSpecies], a
+ ld [wd0b5], a
call GetMonHeader
- ld a, [W_ENEMYBATTSTATUS3] ; $d069
+ ld a, [W_ENEMYBATTSTATUS3] ; W_ENEMYBATTSTATUS3
bit 3, a
- ld hl, $cceb
+ ld hl, wcceb
ld a, [hli]
ld b, [hl]
jr nz, .asm_3eb33
- ld a, [W_ISINBATTLE] ; $d057
+ ld a, [W_ISINBATTLE] ; W_ISINBATTLE
cp $2
ld a, $98
ld b, $88
jr z, .asm_3eb33
- call GenRandomInBattle
+ call BattleRandom
ld b, a
- call GenRandomInBattle
+ call BattleRandom
.asm_3eb33
- ld hl, $cff1
+ ld hl, wEnemyMonDVs
ld [hli], a
ld [hl], b
- ld de, W_ENEMYMONLEVEL ; $cff3
- ld a, [W_CURENEMYLVL] ; $d127
+ ld de, wEnemyMonLevel ; wEnemyMonLevel
+ ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL
ld [de], a
inc de
ld b, $0
- ld hl, W_ENEMYMONCURHP ; $cfe6
+ ld hl, wEnemyMonHP ; wEnemyMonHP
push hl
call CalcStats
pop hl
- ld a, [W_ISINBATTLE] ; $d057
+ ld a, [W_ISINBATTLE] ; W_ISINBATTLE
cp $2
jr z, .asm_3eb65
- ld a, [W_ENEMYBATTSTATUS3] ; $d069
+ ld a, [W_ENEMYBATTSTATUS3] ; W_ENEMYBATTSTATUS3
bit 3, a
jr nz, .asm_3eb86
- ld a, [W_ENEMYMONMAXHP] ; $cff4
+ ld a, [wEnemyMonMaxHP] ; wEnemyMonMaxHP
ld [hli], a
- ld a, [W_ENEMYMONMAXHP+1]
+ ld a, [wEnemyMonMaxHP+1]
ld [hli], a
xor a
inc hl
ld [hl], a
jr .asm_3eb86
.asm_3eb65
- ld hl, W_ENEMYMON1HP ; $d8a5 (aliases: W_WATERMONS)
- ld a, [wWhichPokemon] ; $cf92
- ld bc, $2c
+ ld hl, wEnemyMon1HP ; wd8a5 (aliases: W_WATERMONS)
+ ld a, [wWhichPokemon] ; wWhichPokemon
+ ld bc, wEnemyMon2 - wEnemyMon1
call AddNTimes
ld a, [hli]
- ld [W_ENEMYMONCURHP], a ; $cfe6
+ ld [wEnemyMonHP], a ; wEnemyMonHP
ld a, [hli]
- ld [$cfe7], a
- ld a, [wWhichPokemon] ; $cf92
- ld [W_ENEMYMONNUMBER], a ; $cfe8
+ ld [wEnemyMonHP + 1], a
+ ld a, [wWhichPokemon] ; wWhichPokemon
+ ld [wEnemyMonPartyPos], a
inc hl
ld a, [hl]
- ld [W_ENEMYMONSTATUS], a ; $cfe9
+ ld [wEnemyMonStatus], a ; wcfe9
jr .asm_3eb86
.asm_3eb86
ld hl, W_MONHTYPES
- ld de, W_ENEMYMONTYPES ; $cfea
+ ld de, wEnemyMonType ; wcfea
ld a, [hli] ; copy type 1
ld [de], a
inc de
@@ -6119,14 +6034,14 @@ Func_3eb01: ; 3eb01 (f:6b01)
ld a, [hli] ; copy catch rate
ld [de], a
inc de
- ld a, [W_ISINBATTLE] ; $d057
+ ld a, [W_ISINBATTLE] ; W_ISINBATTLE
cp $2
jr nz, .asm_3ebb0
- ld hl, $d8ac
- ld a, [wWhichPokemon] ; $cf92
- ld bc, $2c
+ ld hl, wEnemyMon1Moves
+ ld a, [wWhichPokemon] ; wWhichPokemon
+ ld bc, wEnemyMon2 - wEnemyMon1
call AddNTimes
- ld bc, $4
+ ld bc, NUM_MOVES
call CopyData
jr .asm_3ebca
.asm_3ebb0
@@ -6146,16 +6061,14 @@ Func_3eb01: ; 3eb01 (f:6b01)
dec de
dec de
xor a
- ld [$cee9], a
- ld a, $3e
- call Predef ; indirect jump to WriteMonMoves (3afb8 (e:6fb8))
+ ld [wHPBarMaxHP], a
+ predef WriteMonMoves
.asm_3ebca
- ld hl, W_ENEMYMONMOVES
- ld de, $cffd
- ld a, $5e
- call Predef ; indirect jump to LoadMovePPs (f473 (3:7473))
+ ld hl, wEnemyMonMoves
+ ld de, wEnemyMonSpecial + 1
+ predef LoadMovePPs
ld hl, W_MONHBASESTATS
- ld de, $d002
+ ld de, wd002
ld b, $5
.asm_3ebdd
ld a, [hli]
@@ -6169,31 +6082,29 @@ Func_3eb01: ; 3eb01 (f:6b01)
inc de
ld a, [hl] ; base exp
ld [de], a
- ld a, [W_ENEMYMONID]
- ld [$d11e], a
+ ld a, [wEnemyMonSpecies2]
+ ld [wd11e], a
call GetMonName
- ld hl, $cd6d
- ld de, W_ENEMYMONNAME
+ ld hl, wcd6d
+ ld de, wEnemyMonNick
ld bc, $b
call CopyData
- ld a, [W_ENEMYMONID]
- ld [$d11e], a
- ld a, $3a
- call Predef ; indirect jump to IndexToPokedex (41010 (10:5010))
- ld a, [$d11e]
+ ld a, [wEnemyMonSpecies2]
+ ld [wd11e], a
+ predef IndexToPokedex
+ ld a, [wd11e]
dec a
ld c, a
ld b, $1
- ld hl, wPokedexSeen ; $d30a
- ld a, $10
- call Predef ; indirect jump to HandleBitArray (f666 (3:7666))
- ld hl, W_ENEMYMONLEVEL ; $cff3
- ld de, $cd23
+ ld hl, wPokedexSeen ; wd30a
+ predef FlagActionPredef
+ ld hl, wEnemyMonLevel ; wEnemyMonLevel
+ ld de, wcd23
ld bc, $b
call CopyData
ld a, $7
ld b, $8
- ld hl, wEnemyMonStatMods ; $cd2e
+ ld hl, wEnemyMonStatMods ; wcd2e
.asm_3ec2d
ld [hli], a
dec b
@@ -6201,53 +6112,52 @@ Func_3eb01: ; 3eb01 (f:6b01)
ret
Func_3ec32: ; 3ec32 (f:6c32)
- ld a, [W_ISLINKBATTLE] ; $d12b
+ ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $4
jr nz, .asm_3ec4d
xor a
- ld [wMenuJoypadPollCount], a ; $cc34
+ ld [wMenuJoypadPollCount], a ; wMenuJoypadPollCount
callab Func_372d6
ld a, $1
- ld [$cfcb], a
+ ld [wcfcb], a
call ClearScreen
.asm_3ec4d
call DelayFrame
- ld a, $30
- call Predef ; indirect jump to Func_7096d (7096d (1c:496d))
+ predef BattleTransition
callab Func_3ee58
ld a, $1
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
ld a, $ff
- ld [$cfcb], a
- call CleanLCD_OAM
+ ld [wcfcb], a
+ call ClearSprites
call ClearScreen
xor a
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
ld [$ffb0], a
ld [rWY], a ; $ff4a
ld [$ffd7], a
- ld hl, $d060
+ ld hl, wd060
ld [hli], a
ld [hli], a
ld [hli], a
ld [hli], a
ld [hl], a
- ld [W_PLAYERDISABLEDMOVE], a ; $d06d
+ ld [W_PLAYERDISABLEDMOVE], a ; W_PLAYERDISABLEDMOVE
ret
Func_3ec81: ; 3ec81 (f:6c81)
push bc
- ld a, [W_PLAYERMONLEVEL] ; $d022
+ ld a, [wBattleMonLevel] ; wBattleMonLevel
ld b, a
- ld a, [W_ENEMYMONLEVEL] ; $cff3
- ld [W_PLAYERMONLEVEL], a ; $d022
+ ld a, [wEnemyMonLevel] ; wEnemyMonLevel
+ ld [wBattleMonLevel], a ; wBattleMonLevel
ld a, b
- ld [W_ENEMYMONLEVEL], a ; $cff3
+ ld [wEnemyMonLevel], a ; wEnemyMonLevel
pop bc
ret
Func_3ec92: ; 3ec92 (f:6c92)
- ld a, [W_BATTLETYPE] ; $d05a
+ ld a, [W_BATTLETYPE] ; wd05a
dec a
ld de, RedPicBack ; $7e0a
jr nz, .asm_3ec9e
@@ -6255,8 +6165,7 @@ Func_3ec92: ; 3ec92 (f:6c92)
.asm_3ec9e
ld a, BANK(RedPicBack)
call UncompressSpriteFromDE
- ld a, $3
- call Predef ; indirect jump to ScaleSpriteByTwo (2fe40 (b:7e40))
+ predef ScaleSpriteByTwo
ld hl, wOAMBuffer
xor a
ld [H_DOWNARROWBLINKCNT1], a ; $ff8b
@@ -6288,26 +6197,24 @@ Func_3ec92: ; 3ec92 (f:6c92)
ld e, a
dec b
jr nz, .asm_3ecb2
- ld de, $9310
+ ld de, vBackPic
call InterlaceMergeSpriteBuffers
ld a, $a
ld [$0], a
xor a
ld [$4000], a
- ld hl, $8000
+ ld hl, vSprites
ld de, S_SPRITEBUFFER1
ld a, [H_LOADEDROMBANK]
ld b, a
- ld c, $31
+ ld c, 7 * 7
call CopyVideoData
xor a
ld [$0], a
ld a, $31
ld [$ffe1], a
- FuncCoord 1, 5 ; $c405
- ld hl, Coord
- ld a, $1
- jp Predef ; indirect jump to Func_3f0c6 (3f0c6 (f:70c6))
+ hlCoord 1, 5
+ predef_jump Func_3f0c6
Func_3ed02: ; 3ed02 (f:6d02)
callab Func_39680
@@ -6335,10 +6242,10 @@ Func_3ed27: ; 3ed27 (f:6d27)
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_3ed48
- ld a, [W_PLAYERMONSTATUS] ; $d018
+ ld a, [wBattleMonStatus] ; wBattleMonStatus
and $40
ret z
- ld hl, $d02a
+ ld hl, wBattleMonSpeed + 1
ld a, [hld]
ld b, a
ld a, [hl]
@@ -6354,10 +6261,10 @@ Func_3ed27: ; 3ed27 (f:6d27)
ld [hl], b
ret
.asm_3ed48
- ld a, [W_ENEMYMONSTATUS] ; $cfe9
+ ld a, [wEnemyMonStatus] ; wcfe9
and $40
ret z
- ld hl, $cffb
+ ld hl, wEnemyMonSpeed + 1
ld a, [hld]
ld b, a
ld a, [hl]
@@ -6377,10 +6284,10 @@ Func_3ed64: ; 3ed64 (f:6d64)
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_3ed81
- ld a, [W_PLAYERMONSTATUS] ; $d018
+ ld a, [wBattleMonStatus] ; wBattleMonStatus
and $10
ret z
- ld hl, $d026
+ ld hl, wBattleMonAttack + 1
ld a, [hld]
ld b, a
ld a, [hl]
@@ -6394,10 +6301,10 @@ Func_3ed64: ; 3ed64 (f:6d64)
ld [hl], b
ret
.asm_3ed81
- ld a, [W_ENEMYMONSTATUS] ; $cfe9
+ ld a, [wEnemyMonStatus] ; wcfe9
and $10
ret z
- ld hl, $cff7
+ ld hl, wEnemyMonAttack + 1
ld a, [hld]
ld b, a
ld a, [hl]
@@ -6424,16 +6331,16 @@ Func_3ed99: ; 3ed99 (f:6d99)
Func_3eda5: ; 3eda5 (f:6da5)
push bc
push bc
- ld a, [$d11e]
+ ld a, [wd11e]
and a
ld a, c
- ld hl, W_PLAYERMONATK
- ld de, $cd12
- ld bc, wPlayerMonAttackMod ; $cd1a
+ ld hl, wBattleMonAttack
+ ld de, wcd12
+ ld bc, wPlayerMonAttackMod ; wcd1a
jr z, .asm_3edc0
- ld hl, W_ENEMYMONATTACK
- ld de, $cd26
- ld bc, wEnemyMonStatMods ; $cd2e
+ ld hl, wEnemyMonAttack
+ ld de, wcd26
+ ld bc, wEnemyMonStatMods ; wcd2e
.asm_3edc0
add c
ld c, a
@@ -6505,7 +6412,7 @@ Func_3ee19: ; 3ee19 (f:6e19)
ret z
ld a, [W_OBTAINEDBADGES]
ld b, a
- ld hl, W_PLAYERMONATK
+ ld hl, wBattleMonAttack
ld c, $4
.asm_3ee28
srl b
@@ -6552,22 +6459,22 @@ Func_3ee5b: ; 3ee5b (f:6e5b)
add a
jr c, .asm_3ee7c
ld hl, BattleHudTiles1 ; $6080
- ld de, $96d0
+ ld de, vChars2 + $6d0
ld bc, $18
ld a, BANK(BattleHudTiles1)
call FarCopyDataDouble
ld hl, BattleHudTiles2 ; $6098
- ld de, $9730
+ ld de, vChars2 + $730
ld bc, $30
ld a, BANK(BattleHudTiles2)
jp FarCopyDataDouble
.asm_3ee7c
ld de, BattleHudTiles1 ; $6080
- ld hl, $96d0
+ ld hl, vChars2 + $6d0
ld bc, (BANK(BattleHudTiles1) << 8) + $03
call CopyVideoDataDouble
ld de, BattleHudTiles2 ; $6098
- ld hl, $9730
+ ld hl, vChars2 + $730
ld bc, (BANK(BattleHudTiles2) << 8) + $06
jp CopyVideoDataDouble
@@ -6578,34 +6485,39 @@ Func_3ee94: ; 3ee94 (f:6e94)
TerminatorText_3ee9a: ; 3ee9a (f:6e9a)
db "@"
-; generates a random number unless in link battle
-; stores random number in A
-GenRandomInBattle: ; 3ee9b (f:6e9b)
+
+BattleRandom:
+; Link battles use a shared PRNG.
+
ld a, [W_ISLINKBATTLE]
cp $4
- jp nz, GenRandom
+ jp nz, Random
+
push hl
push bc
- ld a, [$ccde]
+ ld a, [wccde]
ld c, a
- ld b, $0
- ld hl, $d148
+ ld b, 0
+ ld hl, wd148
add hl, bc
inc a
- ld [$ccde], a
- cp $9
+ ld [wccde], a
+ cp 9
ld a, [hl]
pop bc
pop hl
ret c
+
push hl
push bc
push af
+
xor a
- ld [$ccde], a
- ld hl, $d148
- ld b, $9
-.asm_3eec5
+ ld [wccde], a
+
+ ld hl, wd148
+ ld b, 9
+.loop
ld a, [hl]
ld c, a
add a
@@ -6614,22 +6526,24 @@ GenRandomInBattle: ; 3ee9b (f:6e9b)
inc a
ld [hli], a
dec b
- jr nz, .asm_3eec5 ; 0x3eecd $f6
+ jr nz, .loop
+
pop af
pop bc
pop hl
ret
+
Func_3eed3: ; 3eed3 (f:6ed3)
ld a, [H_WHOSETURN] ; $fff3
and a
- ld hl, W_ENEMYMONTYPE1 ; $cfea (aliases: W_ENEMYMONTYPES)
- ld de, W_ENEMYBATTSTATUS1 ; $d067
- ld a, [W_PLAYERMOVENUM] ; $cfd2
+ ld hl, wEnemyMonType1 ; wcfea (aliases: wEnemyMonType)
+ ld de, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
+ ld a, [W_PLAYERMOVENUM] ; wcfd2
jr z, .asm_3eeea
- ld hl, W_PLAYERMONTYPE1 ; $d019 (aliases: W_PLAYERMONTYPES)
- ld de, W_ENEMYBATTSTATUS1 ; $d067
- ld a, [W_ENEMYMOVENUM] ; $cfcc
+ ld hl, wBattleMonType1 ; wd019 (aliases: wBattleMonType)
+ ld de, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
+ ld a, [W_ENEMYMOVENUM] ; W_ENEMYMOVENUM
.asm_3eeea
cp SELFDESTRUCT
jr z, .asm_3eef1
@@ -6645,77 +6559,75 @@ Func_3eed3: ; 3eed3 (f:6ed3)
ld a, [hl]
cp GHOST
ret z
- ld a, [W_MOVEMISSED] ; $d05f
+ ld a, [W_MOVEMISSED] ; W_MOVEMISSED
and a
ret nz
ld a, MEGA_PUNCH
- ld [$cc5b], a
+ ld [wcc5b], a
PlayMoveAnimation: ; 3ef07 (f:6f07)
- ld [$D07C],a
+ ld [W_ANIMATIONID],a
call Delay3
- PREDEF_JUMP MoveAnimationPredef ; predef 8
+ predef_jump MoveAnimation
InitBattle: ; 3ef12 (f:6f12)
- ld a, [W_CUROPPONENT] ; $d059
+ ld a, [W_CUROPPONENT] ; wd059
and a
jr z, asm_3ef23
InitOpponent: ; 3ef18 (f:6f18)
- ld a, [W_CUROPPONENT] ; $d059
- ld [$cf91], a
- ld [W_ENEMYMONID], a
+ ld a, [W_CUROPPONENT] ; wd059
+ ld [wcf91], a
+ ld [wEnemyMonSpecies2], a
jr asm_3ef3d
asm_3ef23: ; 3ef23 (f:6f23)
- ld a, [$d732]
+ ld a, [wd732]
bit 1, a
jr z, .asm_3ef2f
- ld a, [H_CURRENTPRESSEDBUTTONS]
+ ld a, [hJoyHeld]
bit 1, a
ret nz
.asm_3ef2f
- ld a, [$d13c]
+ ld a, [wd13c]
and a
ret nz
callab Func_13870
ret nz
asm_3ef3d: ; 3ef3d (f:6f3d)
- ld a, [$d35d]
+ ld a, [wd35d]
push af
- ld hl, $d358
+ ld hl, wd358
ld a, [hl]
push af
res 1, [hl]
callab Func_525af
- ld a, [W_ENEMYMONID]
+ ld a, [wEnemyMonSpecies2]
sub $c8
jp c, InitWildBattle
- ld [W_TRAINERCLASS], a ; $d031
+ ld [W_TRAINERCLASS], a ; wd031
call GetTrainerInformation
callab ReadTrainer
call Func_3ec32
call _LoadTrainerPic
xor a
- ld [W_ENEMYMONID], a
+ ld [wEnemyMonSpecies2], a
ld [$ffe1], a
dec a
- ld [wAICount], a ; $ccdf
- FuncCoord 12, 0 ; $c3ac
- ld hl, Coord
- ld a, $1
- call Predef ; indirect jump to Func_3f0c6 (3f0c6 (f:70c6))
+ ld [wAICount], a ; wccdf
+ hlCoord 12, 0
+ predef Func_3f0c6
ld a, $ff
- ld [W_ENEMYMONNUMBER], a ; $cfe8
+ ld [wEnemyMonPartyPos], a
ld a, $2
- ld [W_ISINBATTLE], a ; $d057
+ ld [W_ISINBATTLE], a ; W_ISINBATTLE
jp Func_3efeb
InitWildBattle: ; 3ef8b (f:6f8b)
ld a, $1
- ld [W_ISINBATTLE], a ; $d057
+ ld [W_ISINBATTLE], a ; W_ISINBATTLE
call Func_3eb01
call Func_3ec32
- ld a, [W_CUROPPONENT] ; $d059
+ ld a, [W_CUROPPONENT] ; wd059
cp MAROWAK
jr z, .isGhost
call IsGhostBattle
@@ -6728,7 +6640,7 @@ InitWildBattle: ; 3ef8b (f:6f8b)
ld a, c
ld [hli], a ; write front sprite pointer
ld [hl], b
- ld hl, W_ENEMYMONNAME ; set name to "GHOST"
+ ld hl, wEnemyMonNick ; set name to "GHOST"
ld a, "G"
ld [hli], a
ld a, "H"
@@ -6740,26 +6652,24 @@ InitWildBattle: ; 3ef8b (f:6f8b)
ld a, "T"
ld [hli], a
ld [hl], "@"
- ld a, [$cf91]
+ ld a, [wcf91]
push af
ld a, MON_GHOST
- ld [$cf91], a
- ld de, $9000
+ ld [wcf91], a
+ ld de, vFrontPic
call LoadMonFrontSprite ; load ghost sprite
pop af
- ld [$cf91], a
+ ld [wcf91], a
jr .spriteLoaded
.isNoGhost
- ld de, $9000
+ ld de, vFrontPic
call LoadMonFrontSprite ; load mon sprite
.spriteLoaded
xor a
- ld [W_TRAINERCLASS], a ; $d031
+ ld [W_TRAINERCLASS], a ; wd031
ld [$ffe1], a
- FuncCoord 12, 0 ; $c3ac
- ld hl, Coord
- ld a, $1
- call Predef ; indirect jump to Func_3f0c6 (3f0c6 (f:70c6))
+ hlCoord 12, 0
+ predef Func_3f0c6
Func_3efeb: ; 3efeb (f:6feb)
ld b, $0
@@ -6779,25 +6689,23 @@ Func_3efeb: ; 3efeb (f:6feb)
ld a, $9c
ld [$ffbd], a
call LoadScreenTilesFromBuffer1
- FuncCoord 9, 7 ; $c435
- ld hl, Coord
+ hlCoord 9, 7
ld bc, $50a
call ClearScreenArea
- FuncCoord 1, 0 ; $c3a1
- ld hl, Coord
+ hlCoord 1, 0
ld bc, $40a
call ClearScreenArea
- call CleanLCD_OAM
- ld a, [W_ISINBATTLE] ; $d057
+ call ClearSprites
+ ld a, [W_ISINBATTLE] ; W_ISINBATTLE
dec a
call z, Func_3cdec
call Func_3c11e
callab Func_137aa
pop af
- ld [$d358], a
+ ld [wd358], a
pop af
- ld [$d35d], a
- ld a, [$d0d4]
+ ld [wd35d], a
+ ld a, [wd0d4]
ld [$ffd7], a
scf
ret
@@ -6806,38 +6714,38 @@ TerminatorText_3f04a: ; 3f04a (f:704a)
db "@"
_LoadTrainerPic: ; 3f04b (f:704b)
-; $d033-$d034 contain pointer to pic
- ld a, [$d033]
+; wd033-wd034 contain pointer to pic
+ ld a, [wd033]
ld e, a
- ld a, [$d034]
+ ld a, [wd034]
ld d, a ; de contains pointer to trainer pic
- ld a, [W_ISLINKBATTLE] ; $d12b
+ ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
and a
ld a, Bank(TrainerPics) ; this is where all the trainer pics are (not counting Red's)
jr z, .loadSprite
ld a, Bank(RedPicFront)
.loadSprite
call UncompressSpriteFromDE
- ld de, $9000
+ ld de, vFrontPic
ld a, $77
ld c, a
jp LoadUncompressedSpriteData
Func_3f069: ; 3f069 (f:7069)
xor a
- ld [$c0f1], a
- ld [$c0f2], a
+ ld [wc0f1], a
+ ld [wc0f2], a
jp PlaySound
Func_3f073: ; 3f073 (f:7073)
- ld a, [$cc4f]
+ ld a, [wPredefRegisters]
ld h, a
- ld a, [$cc50]
+ ld a, [wPredefRegisters + 1]
ld l, a
ld a, [$ffe1]
ld [H_DOWNARROWBLINKCNT1], a ; $ff8b
ld b, $4c
- ld a, [W_ISINBATTLE] ; $d057
+ ld a, [W_ISINBATTLE] ; W_ISINBATTLE
and a
jr z, .asm_3f0bc
add b
@@ -6846,19 +6754,17 @@ Func_3f073: ; 3f073 (f:7073)
ld bc, $ffd7
add hl, bc
ld a, $1
- ld [$cd6c], a
+ ld [wcd6c], a
ld bc, $303
- ld a, $5
- call Predef ; indirect jump to Func_79aba (79aba (1e:5aba))
+ predef Func_79aba
ld c, $4
call DelayFrames
ld bc, $ffd7
add hl, bc
xor a
- ld [$cd6c], a
+ ld [wcd6c], a
ld bc, $505
- ld a, $5
- call Predef ; indirect jump to Func_79aba (79aba (1e:5aba))
+ predef Func_79aba
ld c, $5
call DelayFrames
ld bc, $ffd7
@@ -6872,9 +6778,9 @@ Func_3f073: ; 3f073 (f:7073)
jr asm_3f0d0
Func_3f0c6: ; 3f0c6 (f:70c6)
- ld a, [$cc4f]
+ ld a, [wPredefRegisters]
ld h, a
- ld a, [$cc50]
+ ld a, [wPredefRegisters + 1]
ld l, a
ld a, [$ffe1]
asm_3f0d0: ; 3f0d0 (f:70d0)
@@ -6923,24 +6829,22 @@ asm_3f0d0: ; 3f0d0 (f:70d0)
jr nz, .asm_3f0f4
ret
-; loads back sprite of mon to $8000
-; assumes the corresponding mon header is already loaded
-LoadMonBackSprite: ; 3f103 (f:7103)
- ld a, [$cfd9]
- ld [$cf91], a
- FuncCoord 1, 5 ; $c405
- ld hl, Coord
+LoadMonBackPic:
+; Assumes the monster's attributes have
+; been loaded with GetMonHeader.
+ ld a, [wBattleMonSpecies2]
+ ld [wcf91], a
+ hlCoord 1, 5
ld b, $7
ld c, $8
call ClearScreenArea
ld hl, W_MONHBACKSPRITE - W_MONHEADER
call UncompressMonSprite
- ld a, $3
- call Predef ; indirect jump to ScaleSpriteByTwo (2fe40 (b:7e40))
- ld de, $9310
+ predef ScaleSpriteByTwo
+ ld de, vBackPic
call InterlaceMergeSpriteBuffers ; combine the two buffers to a single 2bpp sprite
- ld hl, $8000
- ld de, $9310
+ ld hl, vSprites
+ ld de, vBackPic
ld c, (2*SPRITEBUFFERSIZE)/16 ; count of 16-byte chunks to be copied
ld a, [H_LOADEDROMBANK]
ld b, a
@@ -7058,13 +6962,13 @@ MoveEffectPointerTable: ; 3f150 (f:7150)
dw DisableEffect ; DISABLE_EFFECT
SleepEffect: ; 3f1fc (f:71fc)
- ld de, W_ENEMYMONSTATUS ; $cfe9
- ld bc, W_ENEMYBATTSTATUS2 ; $d068
+ ld de, wEnemyMonStatus ; wcfe9
+ ld bc, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2
ld a, [H_WHOSETURN] ; $fff3
and a
jp z, .asm_3f20e
- ld de, W_PLAYERMONSTATUS ; $d018
- ld bc, W_PLAYERBATTSTATUS2 ; $d063
+ ld de, wBattleMonStatus ; wBattleMonStatus
+ ld bc, W_PLAYERBATTSTATUS2 ; W_PLAYERBATTSTATUS2
.asm_3f20e
ld a, [bc]
@@ -7085,11 +6989,11 @@ SleepEffect: ; 3f1fc (f:71fc)
push de
call MoveHitTest
pop de
- ld a, [W_MOVEMISSED] ; $d05f
+ ld a, [W_MOVEMISSED] ; W_MOVEMISSED
and a
jr nz, .asm_3f242
.asm_3f231
- call GenRandomInBattle
+ call BattleRandom
and $7
jr z, .asm_3f231
ld [de], a
@@ -7108,13 +7012,13 @@ AlreadyAsleepText: ; 3f24a (f:724a)
db "@"
PoisonEffect: ; 3f24f (f:724f)
- ld hl, W_ENEMYMONSTATUS ; $cfe9
- ld de, W_PLAYERMOVEEFFECT ; $cfd3
+ ld hl, wEnemyMonStatus ; wcfe9
+ ld de, W_PLAYERMOVEEFFECT ; wcfd3
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_3f260
- ld hl, W_PLAYERMONSTATUS ; $d018
- ld de, W_ENEMYMOVEEFFECT ; $cfcd
+ ld hl, wBattleMonStatus ; wBattleMonStatus
+ ld de, W_ENEMYMOVEEFFECT ; W_ENEMYMOVEEFFECT
.asm_3f260
call CheckTargetSubstitute
jr nz, .asm_3f2d3
@@ -7140,12 +7044,12 @@ PoisonEffect: ; 3f24f (f:724f)
call MoveHitTest
pop de
pop hl
- ld a, [W_MOVEMISSED] ; $d05f
+ ld a, [W_MOVEMISSED] ; W_MOVEMISSED
and a
jr nz, .asm_3f2d7
jr .asm_3f295
.asm_3f290
- call GenRandomInBattle
+ call BattleRandom
cp b
ret nc
.asm_3f295
@@ -7156,13 +7060,13 @@ PoisonEffect: ; 3f24f (f:724f)
ld a, [H_WHOSETURN] ; $fff3
and a
ld b, $c7
- ld hl, W_PLAYERBATTSTATUS3 ; $d064
+ ld hl, W_PLAYERBATTSTATUS3 ; W_PLAYERBATTSTATUS3
ld a, [de]
- ld de, W_PLAYERTOXICCOUNTER ; $d06c
+ ld de, W_PLAYERTOXICCOUNTER ; wd06c
jr nz, .asm_3f2b0
ld b, $a9
- ld hl, W_ENEMYBATTSTATUS3 ; $d069
- ld de, W_ENEMYTOXICCOUNTER ; $d071
+ ld hl, W_ENEMYBATTSTATUS3 ; W_ENEMYBATTSTATUS3
+ ld de, W_ENEMYTOXICCOUNTER ; wd071
.asm_3f2b0
cp $5c
jr nz, .asm_3f2bd
@@ -7207,13 +7111,13 @@ DrainHPEffect: ; 3f2e9 (f:72e9)
jp Bankswitch
ExplodeEffect: ; 3f2f1 (f:72f1)
- ld hl, W_PLAYERMONCURHP ; $d015
- ld de, W_PLAYERBATTSTATUS2 ; $d063
+ ld hl, wBattleMonHP ; wd015
+ ld de, W_PLAYERBATTSTATUS2 ; W_PLAYERBATTSTATUS2
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_3f302
- ld hl, W_ENEMYMONCURHP ; $cfe6
- ld de, W_ENEMYBATTSTATUS2 ; $d068
+ ld hl, wEnemyMonHP ; wEnemyMonHP
+ ld de, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2
.asm_3f302
xor a
ld [hli], a ; set the mon's HP to 0
@@ -7227,22 +7131,22 @@ ExplodeEffect: ; 3f2f1 (f:72f1)
FreezeBurnParalyzeEffect: ; 3f30c (f:730c)
xor a
- ld [$cc5b], a
+ ld [wcc5b], a
call CheckTargetSubstitute ;test bit 4 of d063/d068 flags [target has substitute flag]
ret nz ;return if they have a substitute, can't effect them
ld a, [$fff3] ;whose turn?
and a
jp nz, opponentAttacker
- ld a, [W_ENEMYMONSTATUS]
+ ld a, [wEnemyMonStatus]
and a
jp nz, CheckDefrost
;opponent has no existing status
ld a, [W_PLAYERMOVETYPE]
ld b, a
- ld a, [W_ENEMYMONTYPE1]
+ ld a, [wEnemyMonType1]
cp b
ret z ;return if they match [can't freeze an ice type etc.]
- ld a, [W_ENEMYMONTYPE2]
+ ld a, [wEnemyMonType2]
cp b
ret z ;return..
ld a, [W_PLAYERMOVEEFFECT]
@@ -7253,7 +7157,7 @@ FreezeBurnParalyzeEffect: ; 3f30c (f:730c)
sub a, $1e ;subtract $1E to map to equivalent 10% chance effects
.next1
push af ;push effect...
- call GenRandomInBattle ;get random 8bit value for probability test
+ call BattleRandom ;get random 8bit value for probability test
cp b ;success?
pop bc ;...pop effect into C
ret nc ;do nothing if random value is >= 1A or 4D [no status applied]
@@ -7264,14 +7168,14 @@ FreezeBurnParalyzeEffect: ; 3f30c (f:730c)
cp a, FREEZE_SIDE_EFFECT
jr z, .freeze
ld a, 1 << PAR
- ld [W_ENEMYMONSTATUS], a
+ ld [wEnemyMonStatus], a
call Func_3ed27 ;quarter speed of affected monster
ld a, $a9
call Func_3fbb9 ;animation
jp PrintMayNotAttackText ;print paralysis text
.burn
ld a, 1 << BRN
- ld [W_ENEMYMONSTATUS], a
+ ld [wEnemyMonStatus], a
call Func_3ed64
ld a, $a9
call Func_3fbb9 ;animation
@@ -7280,21 +7184,21 @@ FreezeBurnParalyzeEffect: ; 3f30c (f:730c)
.freeze
call Func_3f9cf ;resets bit 5 of the D063/D068 flags
ld a, 1 << FRZ
- ld [W_ENEMYMONSTATUS], a
+ ld [wEnemyMonStatus], a
ld a, $a9
call Func_3fbb9 ;animation
ld hl, FrozenText
jp PrintText
opponentAttacker: ; 3f382 (f:7382)
- ld a, [W_PLAYERMONSTATUS] ;this appears to the same as above with addresses swapped for opponent
+ ld a, [wBattleMonStatus] ;this appears to the same as above with addresses swapped for opponent
and a
jp nz, CheckDefrost
ld a, [W_ENEMYMOVETYPE]
ld b, a
- ld a, [W_PLAYERMONTYPE1]
+ ld a, [wBattleMonType1]
cp b
ret z
- ld a, [W_PLAYERMONTYPE2]
+ ld a, [wBattleMonType2]
cp b
ret z
ld a, [W_ENEMYMOVEEFFECT]
@@ -7305,7 +7209,7 @@ opponentAttacker: ; 3f382 (f:7382)
sub a, $1e
.next1
push af
- call GenRandomInBattle
+ call BattleRandom
cp b
pop bc
ret nc
@@ -7315,18 +7219,18 @@ opponentAttacker: ; 3f382 (f:7382)
cp a, FREEZE_SIDE_EFFECT
jr z, .freeze
ld a, 1 << PAR
- ld [W_PLAYERMONSTATUS], a
+ ld [wBattleMonStatus], a
call Func_3ed27
jp PrintMayNotAttackText
.burn
ld a, 1 << BRN
- ld [W_PLAYERMONSTATUS], a
+ ld [wBattleMonStatus], a
call Func_3ed64
ld hl, BurnedText
jp PrintText
.freeze
ld a, 1 << FRZ
- ld [W_PLAYERMONSTATUS], a
+ ld [wBattleMonStatus], a
ld hl, FrozenText
jp PrintText
@@ -7350,10 +7254,10 @@ CheckDefrost: ; 3f3e2 (f:73e2)
sub a, FIRE
ret nz ;return if it isn't fire
;type is fire
- ld [W_ENEMYMONSTATUS], a ;set opponent status to 00 ["defrost" a frozen monster]
- ld hl, $d8a8 ;status of first opponent monster in their roster
- ld a, [W_ENEMYMONNUMBER]
- ld bc, $002c ;$2C bytes per roster entry
+ ld [wEnemyMonStatus], a ;set opponent status to 00 ["defrost" a frozen monster]
+ ld hl, wEnemyMon1Status
+ ld a, [wEnemyMonPartyPos]
+ ld bc, wEnemyMon2 - wEnemyMon1
call AddNTimes
xor a
ld [hl], a ;clear status in roster
@@ -7363,10 +7267,10 @@ CheckDefrost: ; 3f3e2 (f:73e2)
ld a, [W_ENEMYMOVETYPE] ;same as above with addresses swapped
sub a, FIRE
ret nz
- ld [W_PLAYERMONSTATUS], a
- ld hl, $d16f
+ ld [wBattleMonStatus], a
+ ld hl, wPartyMon1Status
ld a, [wPlayerMonNumber]
- ld bc, $002c
+ ld bc, wPartyMon2 - wPartyMon1
call AddNTimes
xor a
ld [hl], a
@@ -7379,13 +7283,13 @@ FireDefrostedText: ; 3f423 (f:7423)
db "@"
StatModifierUpEffect: ; 3f428 (f:7428)
- ld hl, wPlayerMonStatMods ; $cd1a
- ld de, W_PLAYERMOVEEFFECT ; $cfd3
+ ld hl, wPlayerMonStatMods ; wcd1a
+ ld de, W_PLAYERMOVEEFFECT ; wcfd3
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_3f439
- ld hl, wEnemyMonStatMods ; $cd2e
- ld de, W_ENEMYMOVEEFFECT ; $cfcd
+ ld hl, wEnemyMonStatMods ; wcd2e
+ ld de, W_ENEMYMOVEEFFECT ; W_ENEMYMOVEEFFECT
.asm_3f439
ld a, [de]
sub $a
@@ -7415,13 +7319,13 @@ StatModifierUpEffect: ; 3f428 (f:7428)
cp $4
jr nc, asm_3f4ca
push hl
- ld hl, $d026
- ld de, $cd12
+ ld hl, wBattleMonAttack + 1
+ ld de, wcd12
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_3f472
- ld hl, $cff7
- ld de, $cd26
+ ld hl, wEnemyMonAttack + 1
+ ld de, wcd26
.asm_3f472
push bc
sla c
@@ -7485,15 +7389,15 @@ asm_3f4ca: ; 3f4ca (f:74ca)
ld b, c
inc b
call Func_3f688
- ld hl, W_PLAYERBATTSTATUS2 ; $d063
- ld de, W_PLAYERMOVENUM ; $cfd2
- ld bc, $ccf7
+ ld hl, W_PLAYERBATTSTATUS2 ; W_PLAYERBATTSTATUS2
+ ld de, W_PLAYERMOVENUM ; wcfd2
+ ld bc, wccf7
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_3f4e6
- ld hl, W_ENEMYBATTSTATUS2 ; $d068
- ld de, W_ENEMYMOVENUM ; $cfcc
- ld bc, $ccf3
+ ld hl, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2
+ ld de, W_ENEMYMOVENUM ; W_ENEMYMOVENUM
+ ld bc, wccf3
.asm_3f4e6
ld a, [de]
cp MINIMIZE
@@ -7541,9 +7445,9 @@ MonsStatsRoseText: ; 3f528 (f:7528)
ld hl, GreatlyRoseText
ld a, [H_WHOSETURN] ; $fff3
and a
- ld a, [W_PLAYERMOVEEFFECT] ; $cfd3
+ ld a, [W_PLAYERMOVEEFFECT] ; wcfd3
jr z, .asm_3f53b
- ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
+ ld a, [W_ENEMYMOVEEFFECT] ; W_ENEMYMOVEEFFECT
.asm_3f53b
cp ATTACK_DOWN1_EFFECT
ret nc
@@ -7559,19 +7463,19 @@ RoseText: ; 3f547 (f:7547)
db "@"
StatModifierDownEffect: ; 3f54c (f:754c)
- ld hl, wEnemyMonStatMods ; $cd2e
- ld de, W_PLAYERMOVEEFFECT ; $cfd3
- ld bc, W_ENEMYBATTSTATUS1 ; $d067
+ ld hl, wEnemyMonStatMods ; wcd2e
+ ld de, W_PLAYERMOVEEFFECT ; wcfd3
+ ld bc, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_3f572
- ld hl, wPlayerMonStatMods ; $cd1a
- ld de, W_ENEMYMOVEEFFECT ; $cfcd
- ld bc, W_PLAYERBATTSTATUS1 ; $d062
- ld a, [W_ISLINKBATTLE] ; $d12b
+ ld hl, wPlayerMonStatMods ; wcd1a
+ ld de, W_ENEMYMOVEEFFECT ; W_ENEMYMOVEEFFECT
+ ld bc, W_PLAYERBATTSTATUS1 ; W_PLAYERBATTSTATUS1
+ ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $4
jr z, .asm_3f572
- call GenRandomInBattle
+ call BattleRandom
cp $40
jp c, Func_3f65a
.asm_3f572
@@ -7580,7 +7484,7 @@ StatModifierDownEffect: ; 3f54c (f:754c)
ld a, [de]
cp ATTACK_DOWN_SIDE_EFFECT
jr c, .asm_3f58a
- call GenRandomInBattle
+ call BattleRandom
cp SPLASH_EFFECT
jp nc, Func_3f650
ld a, [de]
@@ -7594,7 +7498,7 @@ StatModifierDownEffect: ; 3f54c (f:754c)
pop bc
pop de
pop hl
- ld a, [W_MOVEMISSED] ; $d05f
+ ld a, [W_MOVEMISSED] ; W_MOVEMISSED
and a
jp nz, Func_3f65a
ld a, [bc]
@@ -7627,13 +7531,13 @@ StatModifierDownEffect: ; 3f54c (f:754c)
jr nc, asm_3f62c
push hl
push de
- ld hl, $cff7
- ld de, $cd26
+ ld hl, wEnemyMonAttack + 1
+ ld de, wcd26
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_3f5d8
- ld hl, $d026
- ld de, $cd12
+ ld hl, wBattleMonAttack + 1
+ ld de, wcd12
.asm_3f5d8
push bc
sla c
@@ -7736,9 +7640,9 @@ MonsStatsFellText: ; 3f661 (f:7661)
ld hl, FellText
ld a, [H_WHOSETURN] ; $fff3
and a
- ld a, [W_PLAYERMOVEEFFECT] ; $cfd3
+ ld a, [W_PLAYERMOVEEFFECT] ; wcfd3
jr z, .asm_3f674
- ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
+ ld a, [W_ENEMYMOVEEFFECT] ; W_ENEMYMOVEEFFECT
.asm_3f674
cp $1a
ret c
@@ -7767,7 +7671,7 @@ Func_3f688: ; 3f688 (f:7688)
jr z, .asm_3f68d
jr .asm_3f690
.asm_3f696
- ld de, $cf4b
+ ld de, wcf4b
ld bc, $a
jp CopyData
@@ -7798,13 +7702,13 @@ StatModifierRatios: ; 3f6cb (f:76cb)
BideEffect: ; 3f6e5 (f:76e5)
ld hl, W_PLAYERBATTSTATUS1
ld de, W_NUMHITS
- ld bc, $d06a
+ ld bc, wd06a
ld a, [H_WHOSETURN]
and a
jr z, .asm_3f6fc
ld hl, W_ENEMYBATTSTATUS1
- ld de, $cd05
- ld bc, $d06f
+ ld de, wcd05
+ ld bc, wd06f
.asm_3f6fc
set 0, [hl] ; mon is now using bide
xor a
@@ -7813,7 +7717,7 @@ BideEffect: ; 3f6e5 (f:76e5)
ld [de], a
ld [W_PLAYERMOVEEFFECT], a
ld [W_ENEMYMOVEEFFECT], a
- call GenRandomInBattle
+ call BattleRandom
and $1
inc a
inc a
@@ -7823,16 +7727,16 @@ BideEffect: ; 3f6e5 (f:76e5)
jp Func_3fb96
ThrashPetalDanceEffect: ; 3f717 (f:7717)
- ld hl, W_PLAYERBATTSTATUS1 ; $d062
- ld de, $d06a
+ ld hl, W_PLAYERBATTSTATUS1 ; W_PLAYERBATTSTATUS1
+ ld de, wd06a
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_3f728
- ld hl, W_ENEMYBATTSTATUS1 ; $d067
- ld de, $d06f
+ ld hl, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
+ ld de, wd06f
.asm_3f728
set 1, [hl] ; mon is now using thrash/petal dance
- call GenRandomInBattle
+ call BattleRandom
and $1
inc a
inc a
@@ -7845,19 +7749,19 @@ SwitchAndTeleportEffect: ; 3f739 (f:7739)
ld a, [H_WHOSETURN] ; $fff3
and a
jr nz, .asm_3f791
- ld a, [W_ISINBATTLE] ; $d057
+ ld a, [W_ISINBATTLE] ; W_ISINBATTLE
dec a
jr nz, .asm_3f77e
- ld a, [W_CURENEMYLVL] ; $d127
+ ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL
ld b, a
- ld a, [W_PLAYERMONLEVEL] ; $d022
+ ld a, [wBattleMonLevel] ; wBattleMonLevel
cp b
jr nc, .asm_3f76e
add b
ld c, a
inc c
.asm_3f751
- call GenRandomInBattle
+ call BattleRandom
cp c
jr nc, .asm_3f751
srl b
@@ -7866,40 +7770,40 @@ SwitchAndTeleportEffect: ; 3f739 (f:7739)
jr nc, .asm_3f76e
ld c, $32
call DelayFrames
- ld a, [W_PLAYERMOVENUM] ; $cfd2
+ ld a, [W_PLAYERMOVENUM] ; wcfd2
cp TELEPORT
jp nz, PrintDidntAffectText
jp PrintButItFailedText_
.asm_3f76e
call ReadPlayerMonCurHPAndStatus
xor a
- ld [$cc5b], a
+ ld [wcc5b], a
inc a
- ld [$d078], a
- ld a, [W_PLAYERMOVENUM] ; $cfd2
+ ld [wd078], a
+ ld a, [W_PLAYERMOVENUM] ; wcfd2
jr .asm_3f7e4
.asm_3f77e
ld c, $32
call DelayFrames
ld hl, IsUnaffectedText
- ld a, [W_PLAYERMOVENUM] ; $cfd2
+ ld a, [W_PLAYERMOVENUM] ; wcfd2
cp TELEPORT
jp nz, PrintText
jp PrintButItFailedText_
.asm_3f791
- ld a, [W_ISINBATTLE] ; $d057
+ ld a, [W_ISINBATTLE] ; W_ISINBATTLE
dec a
jr nz, .asm_3f7d1
- ld a, [W_PLAYERMONLEVEL] ; $d022
+ ld a, [wBattleMonLevel] ; wBattleMonLevel
ld b, a
- ld a, [W_CURENEMYLVL] ; $d127
+ ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL
cp b
jr nc, .asm_3f7c1
add b
ld c, a
inc c
.asm_3f7a4
- call GenRandomInBattle
+ call BattleRandom
cp c
jr nc, .asm_3f7a4
srl b
@@ -7908,23 +7812,23 @@ SwitchAndTeleportEffect: ; 3f739 (f:7739)
jr nc, .asm_3f7c1
ld c, $32
call DelayFrames
- ld a, [W_ENEMYMOVENUM] ; $cfcc
+ ld a, [W_ENEMYMOVENUM] ; W_ENEMYMOVENUM
cp TELEPORT
jp nz, PrintDidntAffectText
jp PrintButItFailedText_
.asm_3f7c1
call ReadPlayerMonCurHPAndStatus
xor a
- ld [$cc5b], a
+ ld [wcc5b], a
inc a
- ld [$d078], a
- ld a, [W_ENEMYMOVENUM] ; $cfcc
+ ld [wd078], a
+ ld a, [W_ENEMYMOVENUM] ; W_ENEMYMOVENUM
jr .asm_3f7e4
.asm_3f7d1
ld c, $32
call DelayFrames
ld hl, IsUnaffectedText
- ld a, [W_ENEMYMOVENUM] ; $cfcc
+ ld a, [W_ENEMYMOVENUM] ; W_ENEMYMOVENUM
cp TELEPORT
jp nz, PrintText
jp Func_3fb4e
@@ -7957,24 +7861,24 @@ WasBlownAwayText: ; 3f80c (f:780c)
db "@"
TwoToFiveAttacksEffect: ; 3f811 (f:7811)
- ld hl, W_PLAYERBATTSTATUS1 ; $d062
- ld de, $d06a
- ld bc, W_NUMHITS ; $d074
+ ld hl, W_PLAYERBATTSTATUS1 ; W_PLAYERBATTSTATUS1
+ ld de, wd06a
+ ld bc, W_NUMHITS ; wd074
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_3f828
- ld hl, W_ENEMYBATTSTATUS1 ; $d067
- ld de, $d06f
- ld bc, $cd05
+ ld hl, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
+ ld de, wd06f
+ ld bc, wcd05
.asm_3f828
bit 2, [hl] ; is mon attacking multiple times?
ret nz
set 2, [hl] ; mon is now attacking multiple times
- ld hl, W_PLAYERMOVEEFFECT ; $cfd3
+ ld hl, W_PLAYERMOVEEFFECT ; wcfd3
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_3f838
- ld hl, W_ENEMYMOVEEFFECT ; $cfcd
+ ld hl, W_ENEMYMOVEEFFECT ; W_ENEMYMOVEEFFECT
.asm_3f838
ld a, [hl]
cp TWINEEDLE_EFFECT
@@ -7982,11 +7886,11 @@ TwoToFiveAttacksEffect: ; 3f811 (f:7811)
cp ATTACK_TWICE_EFFECT
ld a, $2
jr z, .asm_3f853
- call GenRandomInBattle
+ call BattleRandom
and $3
cp $2
jr c, .asm_3f851
- call GenRandomInBattle
+ call BattleRandom
and $3
.asm_3f851
inc a
@@ -8003,13 +7907,13 @@ TwoToFiveAttacksEffect: ; 3f811 (f:7811)
FlichSideEffect: ; 3f85b (f:785b)
call CheckTargetSubstitute
ret nz
- ld hl, W_ENEMYBATTSTATUS1 ; $d067
- ld de, W_PLAYERMOVEEFFECT ; $cfd3
+ ld hl, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
+ ld de, W_PLAYERMOVEEFFECT ; wcfd3
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_3f870
- ld hl, W_PLAYERBATTSTATUS1 ; $d062
- ld de, W_ENEMYMOVEEFFECT ; $cfcd
+ ld hl, W_PLAYERBATTSTATUS1 ; W_PLAYERBATTSTATUS1
+ ld de, W_ENEMYMOVEEFFECT ; W_ENEMYMOVEEFFECT
.asm_3f870
ld a, [de]
cp FLINCH_SIDE_EFFECT1
@@ -8017,7 +7921,7 @@ FlichSideEffect: ; 3f85b (f:785b)
jr z, .asm_3f879
ld b, $4d ; ~30% chance of flinch
.asm_3f879
- call GenRandomInBattle
+ call BattleRandom
cp b
ret nc
set 3, [hl] ; set mon's status to flinching
@@ -8030,14 +7934,14 @@ OneHitKOEffect: ; 3f884 (f:7884)
jp Bankswitch
ChargeEffect: ; 3f88c (f:788c)
- ld hl, W_PLAYERBATTSTATUS1 ; $d062
- ld de, W_PLAYERMOVEEFFECT ; $cfd3
+ ld hl, W_PLAYERBATTSTATUS1 ; W_PLAYERBATTSTATUS1
+ ld de, W_PLAYERMOVEEFFECT ; wcfd3
ld a, [H_WHOSETURN] ; $fff3
and a
ld b, $ae
jr z, .asm_3f8a1
- ld hl, W_ENEMYBATTSTATUS1 ; $d067
- ld de, W_ENEMYMOVEEFFECT ; $cfcd
+ ld hl, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
+ ld de, W_ENEMYMOVEEFFECT ; W_ENEMYMOVEEFFECT
ld b, $af
.asm_3f8a1
set 4, [hl]
@@ -8055,18 +7959,18 @@ ChargeEffect: ; 3f88c (f:788c)
ld b, $c0
.asm_3f8b6
xor a
- ld [$cc5b], a
+ ld [wcc5b], a
ld a, b
call Func_3fbb9
ld a, [de]
- ld [wWhichTrade], a ; $cd3d
+ ld [wWhichTrade], a ; wWhichTrade
ld hl, ChargeMoveEffectText ; $78c8
jp PrintText
ChargeMoveEffectText: ; 3f8c8 (f:78c8)
TX_FAR _ChargeMoveEffectText
db $08 ; asm
- ld a, [wWhichTrade] ; $cd3d
+ ld a, [wWhichTrade] ; wWhichTrade
cp RAZOR_WIND
ld hl, MadeWhirlwindText ; $78f9
jr z, .asm_3f8f8
@@ -8112,23 +8016,23 @@ DugAHoleText: ; 3f912 (f:7912)
db "@"
TrappingEffect: ; 3f917 (f:7917)
- ld hl, W_PLAYERBATTSTATUS1 ; $d062
- ld de, $d06a
+ ld hl, W_PLAYERBATTSTATUS1 ; W_PLAYERBATTSTATUS1
+ ld de, wd06a
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_3f928
- ld hl, W_ENEMYBATTSTATUS1 ; $d067
- ld de, $d06f
+ ld hl, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
+ ld de, wd06f
.asm_3f928
bit 5, [hl]
ret nz
call Func_3f9cf
set 5, [hl]
- call GenRandomInBattle
+ call BattleRandom
and $3
cp $2
jr c, .asm_3f93e
- call GenRandomInBattle
+ call BattleRandom
and $3
.asm_3f93e
inc a
@@ -8151,7 +8055,7 @@ RecoilEffect: ; 3f951 (f:7951)
jp Bankswitch
ConfusionSideEffect: ; 3f959 (f:7959)
- call GenRandomInBattle
+ call BattleRandom
cp $19
ret nc
jr Func_3f96f
@@ -8160,26 +8064,26 @@ ConfusionEffect: ; 3f961 (f:7961)
call CheckTargetSubstitute
jr nz, Func_3f9a6
call MoveHitTest
- ld a, [W_MOVEMISSED] ; $d05f
+ ld a, [W_MOVEMISSED] ; W_MOVEMISSED
and a
jr nz, Func_3f9a6
Func_3f96f: ; 3f96f (f:796f)
ld a, [H_WHOSETURN] ; $fff3
and a
- ld hl, W_ENEMYBATTSTATUS1 ; $d067
- ld bc, $d070
- ld a, [W_PLAYERMOVEEFFECT] ; $cfd3
+ ld hl, W_ENEMYBATTSTATUS1 ; W_ENEMYBATTSTATUS1
+ ld bc, wd070
+ ld a, [W_PLAYERMOVEEFFECT] ; wcfd3
jr z, .asm_3f986
- ld hl, W_PLAYERBATTSTATUS1 ; $d062
- ld bc, $d06b
- ld a, [W_ENEMYMOVEEFFECT] ; $cfcd
+ ld hl, W_PLAYERBATTSTATUS1 ; W_PLAYERBATTSTATUS1
+ ld bc, wd06b
+ ld a, [W_ENEMYMOVEEFFECT] ; W_ENEMYMOVEEFFECT
.asm_3f986
bit 7, [hl] ; is mon confused?
jr nz, Func_3f9a6
set 7, [hl] ; mon is now confused
push af
- call GenRandomInBattle
+ call BattleRandom
and $3
inc a
inc a
@@ -8212,22 +8116,22 @@ SubstituteEffect: ; 3f9b9 (f:79b9)
jp Bankswitch
HyperBeamEffect: ; 3f9c1 (f:79c1)
- ld hl, W_PLAYERBATTSTATUS2 ; $d063
+ ld hl, W_PLAYERBATTSTATUS2 ; W_PLAYERBATTSTATUS2
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_3f9cc
- ld hl, W_ENEMYBATTSTATUS2 ; $d068
+ ld hl, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2
.asm_3f9cc
set 5, [hl] ; mon now needs to recharge
ret
Func_3f9cf: ; 3f9cf (f:79cf)
push hl
- ld hl, W_ENEMYBATTSTATUS2 ; $d068
+ ld hl, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_3f9db
- ld hl, W_PLAYERBATTSTATUS2 ; $d063
+ ld hl, W_PLAYERBATTSTATUS2 ; W_PLAYERBATTSTATUS2
.asm_3f9db
res 5, [hl] ; mon no longer needs to recharge
pop hl
@@ -8252,20 +8156,20 @@ MimicEffect: ; 3f9ed (f:79ed)
jr nz, .asm_3fa74
ld a, [H_WHOSETURN]
and a
- ld hl, W_PLAYERMONMOVES
+ ld hl, wBattleMonMoves
ld a, [W_PLAYERBATTSTATUS1]
jr nz, .asm_3fa13
ld a, [W_ISLINKBATTLE]
cp $4
jr nz, .asm_3fa3a
- ld hl, W_ENEMYMONMOVES
+ ld hl, wEnemyMonMoves
ld a, [W_ENEMYBATTSTATUS1]
.asm_3fa13
bit 6, a
jr nz, .asm_3fa74
.asm_3fa17
push hl
- call GenRandomInBattle
+ call BattleRandom
and $3
ld c, a
ld b, $0
@@ -8277,10 +8181,10 @@ MimicEffect: ; 3f9ed (f:79ed)
ld d, a
ld a, [H_WHOSETURN]
and a
- ld hl, W_PLAYERMONMOVES
+ ld hl, wBattleMonMoves
ld a, [wPlayerMoveListIndex]
jr z, .asm_3fa5f
- ld hl, W_ENEMYMONMOVES
+ ld hl, wEnemyMonMoves
ld a, [wEnemyMoveListIndex]
jr .asm_3fa5f
.asm_3fa3a
@@ -8293,21 +8197,21 @@ MimicEffect: ; 3f9ed (f:79ed)
ld [wMoveMenuType], a
call MoveSelectionMenu
call LoadScreenTilesFromBuffer1
- ld hl, W_ENEMYMONMOVES
+ ld hl, wEnemyMonMoves
ld a, [wCurrentMenuItem]
ld c, a
ld b, $0
add hl, bc
ld d, [hl]
pop af
- ld hl, W_PLAYERMONMOVES
+ ld hl, wBattleMonMoves
.asm_3fa5f
ld c, a
ld b, $0
add hl, bc
ld a, d
ld [hl], a
- ld [$d11e], a
+ ld [wd11e], a
call GetMoveName
call Func_3fba8
ld hl, MimicLearnedMoveText
@@ -8330,23 +8234,23 @@ SplashEffect: ; 3fa84 (f:7a84)
DisableEffect: ; 3fa8a (f:7a8a)
call MoveHitTest
- ld a, [W_MOVEMISSED] ; $d05f
+ ld a, [W_MOVEMISSED] ; W_MOVEMISSED
and a
jr nz, .asm_3fb06
- ld de, W_ENEMYDISABLEDMOVE ; $d072
- ld hl, W_ENEMYMONMOVES
+ ld de, W_ENEMYDISABLEDMOVE ; W_ENEMYDISABLEDMOVE
+ ld hl, wEnemyMonMoves
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_3faa4
- ld de, W_PLAYERDISABLEDMOVE ; $d06d
- ld hl, W_PLAYERMONMOVES
+ ld de, W_PLAYERDISABLEDMOVE ; W_PLAYERDISABLEDMOVE
+ ld hl, wBattleMonMoves
.asm_3faa4
ld a, [de]
and a
jr nz, .asm_3fb06
.asm_3faa8
push hl
- call GenRandomInBattle
+ call BattleRandom
and $3
ld c, a
ld b, $0
@@ -8355,18 +8259,18 @@ DisableEffect: ; 3fa8a (f:7a8a)
pop hl
and a
jr z, .asm_3faa8
- ld [$d11e], a
+ ld [wd11e], a
push hl
ld a, [H_WHOSETURN] ; $fff3
and a
- ld hl, W_PLAYERMONPP ; $d02d
+ ld hl, wBattleMonPP ; wBattleMonPP
jr nz, .asm_3facf
- ld a, [W_ISLINKBATTLE] ; $d12b
+ ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
cp $4
pop hl
jr nz, .asm_3fae1
push hl
- ld hl, W_ENEMYMONPP ; $cffe
+ ld hl, wEnemyMonPP ; wcffe
.asm_3facf
push hl
ld a, [hli]
@@ -8384,7 +8288,7 @@ DisableEffect: ; 3fa8a (f:7a8a)
and a
jr z, .asm_3faa8
.asm_3fae1
- call GenRandomInBattle
+ call BattleRandom
and $7
inc a
inc c
@@ -8392,13 +8296,13 @@ DisableEffect: ; 3fa8a (f:7a8a)
add c
ld [de], a
call Func_3fb89
- ld hl, $ccee
+ ld hl, wccee
ld a, [H_WHOSETURN] ; $fff3
and a
jr nz, .asm_3faf8
inc hl
.asm_3faf8
- ld a, [$d11e]
+ ld a, [wd11e]
ld [hl], a
call GetMoveName
ld hl, MoveWasDisabledText ; $7b09
@@ -8455,7 +8359,7 @@ NoEffectText: ; 3fb49 (f:7b49)
db "@"
Func_3fb4e: ; 3fb4e (f:7b4e)
- ld a, [$ccf4]
+ ld a, [wccf4]
and a
ret nz
@@ -8489,11 +8393,11 @@ ParalyzedMayNotAttackText: ; 3fb74 (f:7b74)
CheckTargetSubstitute: ; 3fb79 (f:7b79)
push hl
- ld hl, $d068
+ ld hl, W_ENEMYBATTSTATUS2
ld a, [$fff3] ;whose turn?
and a
jr z, .next1
- ld hl, $d063
+ ld hl, W_PLAYERBATTSTATUS2
.next1
bit 4, [hl] ;test bit 4 in d063/d068 flags
pop hl
@@ -8502,45 +8406,44 @@ CheckTargetSubstitute: ; 3fb79 (f:7b79)
Func_3fb89: ; 3fb89 (f:7b89)
ld a, [H_WHOSETURN] ; $fff3
and a
- ld a, [W_PLAYERMOVENUM] ; $cfd2
+ ld a, [W_PLAYERMOVENUM] ; wcfd2
jr z, .asm_3fb94
- ld a, [W_ENEMYMOVENUM] ; $cfcc
+ ld a, [W_ENEMYMOVENUM] ; W_ENEMYMOVENUM
.asm_3fb94
and a
ret z
Func_3fb96: ; 3fb96 (f:7b96)
- ld [W_ANIMATIONID], a ; $d07c
+ ld [W_ANIMATIONID], a ; W_ANIMATIONID
ld a, [H_WHOSETURN] ; $fff3
and a
ld a, $6
jr z, .asm_3fba2
ld a, $3
.asm_3fba2
- ld [$cc5b], a
+ ld [wcc5b], a
jp Func_3fbbc
Func_3fba8: ; 3fba8 (f:7ba8)
xor a
- ld [$cc5b], a
+ ld [wcc5b], a
ld a, [H_WHOSETURN] ; $fff3
and a
- ld a, [W_PLAYERMOVENUM] ; $cfd2
+ ld a, [W_PLAYERMOVENUM] ; wcfd2
jr z, .asm_3fbb7
- ld a, [W_ENEMYMOVENUM] ; $cfcc
+ ld a, [W_ENEMYMOVENUM] ; W_ENEMYMOVENUM
.asm_3fbb7
and a
ret z
Func_3fbb9: ; 3fbb9 (f:7bb9)
- ld [W_ANIMATIONID], a ; $d07c
+ ld [W_ANIMATIONID], a ; W_ANIMATIONID
Func_3fbbc: ; 3fbbc (f:7bbc)
push hl
push de
push bc
- ld a, $8
- call Predef ; indirect jump to MoveAnimation (78d5e (1e:4d5e))
+ predef MoveAnimation
pop bc
pop de
pop hl
diff --git a/engine/battle/d.asm b/engine/battle/d.asm
index a6ad21ea..d23c9114 100755
--- a/engine/battle/d.asm
+++ b/engine/battle/d.asm
@@ -1,25 +1,21 @@
Func_372d6: ; 372d6 (d:72d6)
call LoadTextBoxTilePatterns
- FuncCoord 3, 4 ; $c3f3
- ld hl, Coord
+ hlCoord 3, 4
ld b, $7
ld c, $c
call TextBoxBorder
- FuncCoord 4, 5 ; $c408
- ld hl, Coord
- ld de, W_PLAYERNAME ; $d158
+ hlCoord 4, 5
+ ld de, wPlayerName ; wd158
call PlaceString
- FuncCoord 4, 10 ; $c46c
- ld hl, Coord
- ld de, W_GRASSRATE ; $d887
+ hlCoord 4, 10
+ ld de, W_GRASSRATE ; W_GRASSRATE
call PlaceString
- FuncCoord 9, 8 ; $c449
- ld hl, Coord
+ hlCoord 9, 8
ld a, $69
ld [hli], a
ld [hl], $6a
xor a
- ld [$cfcb], a
+ ld [wcfcb], a
callab SetupPlayerAndEnemyPokeballs
ld c, $96
jp DelayFrames
diff --git a/engine/battle/e.asm b/engine/battle/e.asm
index ada3071e..8b0476ca 100755
--- a/engine/battle/e.asm
+++ b/engine/battle/e.asm
@@ -1,11 +1,11 @@
Func_39680: ; 39680 (e:5680)
ld a, [H_WHOSETURN] ; $fff3
and a
- ld a, [$d060]
- ld hl, $d026
+ ld a, [wd060]
+ ld hl, wBattleMonAttack + 1
jr z, .asm_39691
- ld a, [$d065]
- ld hl, $cff7
+ ld a, [wd065]
+ ld hl, wEnemyMonAttack + 1
.asm_39691
ld c, $4
ld b, a
@@ -30,11 +30,11 @@ Func_3969f: ; 3969f (e:569f)
Func_396a7: ; 396a7 (e:56a7)
ld a, [H_WHOSETURN] ; $fff3
and a
- ld a, [$d061]
- ld hl, W_PLAYERMONATK
+ ld a, [wd061]
+ ld hl, wBattleMonAttack
jr z, .asm_396b8
- ld a, [$d066]
- ld hl, W_ENEMYMONATTACK
+ ld a, [wd066]
+ ld hl, wEnemyMonAttack
.asm_396b8
ld c, $4
ld b, a
@@ -63,12 +63,11 @@ _ScrollTrainerPicAfterBattle: ; 396d3 (e:56d3)
; Load the enemy trainer's pic and scrolls it into
; the screen from the right.
xor a
- ld [W_ENEMYMONID], a
+ ld [wEnemyMonSpecies2], a
ld b, $1
call GoPAL_SET
callab _LoadTrainerPic
- FuncCoord 19, 0 ; $c3b3
- ld hl, Coord
+ hlCoord 19, 0
ld c, $0
.asm_396e9
inc c
@@ -114,7 +113,7 @@ Func_39707: ; 39707 (e:5707)
; unused slots are filled with 0, all used slots may be chosen with equal probability
AIEnemyTrainerChooseMoves: ; 39719 (e:5719)
ld a, $a
- ld hl, $cee9 ; init temporary move selection array. Only the moves with the lowest numbers are chosen in the end
+ ld hl, wHPBarMaxHP ; init temporary move selection array. Only the moves with the lowest numbers are chosen in the end
ld [hli], a ; move 1
ld [hli], a ; move 2
ld [hli], a ; move 3
@@ -123,7 +122,7 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719)
swap a
and $f
jr z, .noMoveDisabled
- ld hl, $cee9
+ ld hl, wHPBarMaxHP
dec a
ld c, a
ld b, $0
@@ -165,8 +164,8 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719)
push de
jp [hl] ; execute modification function
.loopFindMinimumEntries ; all entries will be decremented sequentially until one of them is zero
- ld hl, $cee9 ; temp move selection array
- ld de, W_ENEMYMONMOVES ; enemy moves
+ ld hl, wHPBarMaxHP ; temp move selection array
+ ld de, wEnemyMonMoves ; enemy moves
ld c, $4
.loopDecrementEntries
ld a, [de]
@@ -187,8 +186,8 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719)
inc a
cp $5
jr nz, .loopUndoPartialIteration
- ld hl, $cee9 ; temp move selection array
- ld de, W_ENEMYMONMOVES ; enemy moves
+ ld hl, wHPBarMaxHP ; temp move selection array
+ ld de, wEnemyMonMoves ; enemy moves
ld c, $4
.filterMinimalEntries ; all minimal entries now have value 1. All other slots will be disabled (move set to 0)
ld a, [de]
@@ -209,10 +208,10 @@ AIEnemyTrainerChooseMoves: ; 39719 (e:5719)
inc de
dec c
jr nz, .filterMinimalEntries
- ld hl, $cee9 ; use created temporary array as move set
+ ld hl, wHPBarMaxHP ; use created temporary array as move set
ret
.useOriginalMoveSet
- ld hl, W_ENEMYMONMOVES ; use original move set
+ ld hl, wEnemyMonMoves ; use original move set
ret
AIMoveChoiceModificationFunctionPointers: ; 397a3 (e:57a3)
@@ -223,11 +222,11 @@ AIMoveChoiceModificationFunctionPointers: ; 397a3 (e:57a3)
; discourages moves that cause no damage but only a status ailment if player's mon already has one
AIMoveChoiceModification1: ; 397ab (e:57ab)
- ld a, [W_PLAYERMONSTATUS]
+ ld a, [wBattleMonStatus]
and a
ret z ; return if no status ailment on player's mon
- ld hl, $cee8 ; temp move selection array (-1 byte offest)
- ld de, W_ENEMYMONMOVES ; enemy moves
+ ld hl, wBuffer - 1 ; temp move selection array (-1 byte offest)
+ ld de, wEnemyMonMoves ; enemy moves
ld b, $5
.nextMove
dec b
@@ -266,11 +265,11 @@ StatusAilmentMoveEffects ; 57e2
; slightly encourage moves with specific effects
AIMoveChoiceModification2: ; 397e7 (e:57e7)
- ld a, [$ccd5]
+ ld a, [wccd5]
cp $1
ret nz
- ld hl, $cee8 ; temp move selection array (-1 byte offest)
- ld de, W_ENEMYMONMOVES ; enemy moves
+ ld hl, wBuffer - 1 ; temp move selection array (-1 byte offest)
+ ld de, wEnemyMonMoves ; enemy moves
ld b, $5
.nextMove
dec b
@@ -297,8 +296,8 @@ AIMoveChoiceModification2: ; 397e7 (e:57e7)
; encourages moves that are effective against the player's mon
AIMoveChoiceModification3: ; 39817 (e:5817)
- ld hl, $cee8 ; temp move selection array (-1 byte offest)
- ld de, W_ENEMYMONMOVES ; enemy moves
+ ld hl, wBuffer - 1 ; temp move selection array (-1 byte offest)
+ ld de, wEnemyMonMoves ; enemy moves
ld b, $5
.nextMove
dec b
@@ -316,7 +315,7 @@ AIMoveChoiceModification3: ; 39817 (e:5817)
pop de
pop bc
pop hl
- ld a, [$d11e]
+ ld a, [wd11e]
cp $10
jr z, .nextMove
jr c, .notEffectiveMove
@@ -328,7 +327,7 @@ AIMoveChoiceModification3: ; 39817 (e:5817)
push bc
ld a, [W_ENEMYMOVETYPE]
ld d, a
- ld hl, W_ENEMYMONMOVES ; enemy moves
+ ld hl, wEnemyMonMoves ; enemy moves
ld b, $5
ld c, $0
.loopMoves
@@ -374,7 +373,7 @@ ReadMove: ; 39884 (e:5884)
ld hl,Moves
ld bc,6
call AddNTimes
- ld de,$CFCC
+ ld de,W_ENEMYMOVENUM
call CopyData
pop bc
pop de
@@ -579,21 +578,21 @@ TrainerPicAndMoneyPointers: ; 39914 (e:5914)
INCLUDE "text/trainer_names.asm"
Func_39b87: ; 39b87 (e:5b87)
- ld hl, $d0dc
- ld de, $d0e1
+ ld hl, wd0dc
+ ld de, wd0e1
ld b, $0
.asm_39b8f
ld a, [hli]
and a
jr z, .asm_39bc1
push hl
- ld [$d0b5], a
+ ld [wd0b5], a
ld a, $2c
- ld [$d0b7], a
+ ld [wPredefBank], a
ld a, MOVE_NAME
ld [W_LISTTYPE], a
call GetName
- ld hl, $cd6d
+ ld hl, wcd6d
.asm_39ba7
ld a, [hli]
cp $50
@@ -603,7 +602,7 @@ Func_39b87: ; 39b87 (e:5b87)
jr .asm_39ba7
.asm_39bb0
ld a, b
- ld [$cd6c], a
+ ld [wcd6c], a
inc b
ld a, $4e
ld [de], a
@@ -631,71 +630,71 @@ Func_39b87: ; 39b87 (e:5b87)
ret
Func_39bd5: ; 39bd5 (e:5bd5)
- ld a, [$d11b]
+ ld a, [wd11b]
cp $1
jr nz, .asm_39be6
- ld hl, wEnemyPartyCount ; $d89c
- ld de, W_ENEMYMON1OT ; $d9ac OT names of other player
+ ld hl, wEnemyPartyCount ; wEnemyPartyCount
+ ld de, wEnemyMonOT ; wd9ac OT names of other player
ld a, $6
jr .asm_39c18
.asm_39be6
cp $4
jr nz, .calcAttackStat4
- ld hl, W_NUMINPARTY ; $d163
- ld de, W_PARTYMON1OT ; $d273
+ ld hl, wPartyCount ; wPartyCount
+ ld de, wPartyMonOT ; wd273
ld a, $5
jr .asm_39c18
.calcAttackStat4
cp $5
jr nz, .asm_39c02
- ld hl, $cf7b
+ ld hl, wStringBuffer2 + 11
ld de, MonsterNames ; $421e
ld a, $1
jr .asm_39c18
.asm_39c02
cp $2
jr nz, .asm_39c10
- ld hl, wNumBagItems ; $d31d
+ ld hl, wNumBagItems ; wNumBagItems
ld de, ItemNames ; $472b
ld a, $4
jr .asm_39c18
.asm_39c10
- ld hl, $cf7b
+ ld hl, wStringBuffer2 + 11
ld de, ItemNames ; $472b
ld a, ITEM_NAME
.asm_39c18
ld [W_LISTTYPE], a
ld a, l
- ld [$cf8b], a
+ ld [wcf8b], a
ld a, h
- ld [$cf8c], a
+ ld [wcf8c], a
ld a, e
- ld [$cf8d], a
+ ld [wcf8d], a
ld a, d
- ld [$cf8e], a
+ ld [wcf8e], a
ld bc, ItemPrices ; $4608
ld a, c
- ld [$cf8f], a
+ ld [wcf8f], a
ld a, b
- ld [$cf90], a
+ ld [wcf90], a
ret
Func_39c37: ; 39c37 (e:5c37)
- ld hl, W_PARTYMON1 ; $d164
- ld a, [$cc49]
+ ld hl, wPartySpecies
+ ld a, [wcc49]
and a
jr z, .asm_39c4b
dec a
jr z, .asm_39c48
- ld hl, $da81
+ ld hl, wBoxSpecies
jr .asm_39c4b
.asm_39c48
- ld hl, $d89d
+ ld hl, wEnemyPartyMons
.asm_39c4b
ld d, $0
add hl, de
ld a, [hl]
- ld [$cf91], a
+ ld [wcf91], a
ret
ReadTrainer: ; 39c53 (e:5c53)
@@ -705,7 +704,7 @@ ReadTrainer: ; 39c53 (e:5c53)
and a
ret nz
-; set [wEnemyPartyCount] to 0, [$D89D] to FF
+; set [wEnemyPartyCount] to 0, [wEnemyPartyMons] to FF
; XXX first is total enemy pokemon?
; XXX second is species of first pokemon?
ld hl,wEnemyPartyCount
@@ -754,11 +753,11 @@ ReadTrainer: ; 39c53 (e:5c53)
ld a,[hli]
and a ; have we reached the end of the trainer data?
jr z,.FinishUp
- ld [$CF91],a ; write species somewhere (XXX why?)
+ ld [wcf91],a ; write species somewhere (XXX why?)
ld a,1
- ld [$CC49],a
+ ld [wcc49],a
push hl
- call AddPokemonToParty
+ call AddPartyMon
pop hl
jr .LoopTrainerData
.SpecialTrainer
@@ -771,11 +770,11 @@ ReadTrainer: ; 39c53 (e:5c53)
jr z,.AddLoneMove
ld [W_CURENEMYLVL],a
ld a,[hli]
- ld [$CF91],a
+ ld [wcf91],a
ld a,1
- ld [$CC49],a
+ ld [wcc49],a
push hl
- call AddPokemonToParty
+ call AddPartyMon
pop hl
jr .SpecialTrainer
.AddLoneMove
@@ -791,8 +790,8 @@ ReadTrainer: ; 39c53 (e:5c53)
add hl,bc
ld a,[hli]
ld d,[hl]
- ld hl,W_ENEMYMON1MOVE3
- ld bc,W_ENEMYMON2MOVE3 - W_ENEMYMON1MOVE3
+ ld hl,wEnemyMon1Moves + 2
+ ld bc,wEnemyMon2 - wEnemyMon1
call AddNTimes
ld [hl],d
jr .FinishUp
@@ -821,13 +820,13 @@ ReadTrainer: ; 39c53 (e:5c53)
jr .FinishUp ; nope
.GiveTeamMoves
ld a,[hl]
- ld [$D95E],a
+ ld [wEnemyMon5Moves + 2],a
jr .FinishUp
.ChampionRival ; give moves to his team
; pidgeot
ld a,SKY_ATTACK
- ld [W_ENEMYMON1MOVE3],a
+ ld [wEnemyMon1Moves + 2],a
; starter
ld a,[W_RIVALSTARTER]
@@ -840,10 +839,10 @@ ReadTrainer: ; 39c53 (e:5c53)
ld b,BLIZZARD ; must be squirtle
.GiveStarterMove
ld a,b
- ld [W_ENEMYMON6MOVE3],a
+ ld [wEnemyMon6Moves + 2],a
.FinishUp ; XXX this needs documenting
xor a ; clear D079-D07B
- ld de,$D079
+ ld de,wd079
ld [de],a
inc de
ld [de],a
@@ -852,11 +851,10 @@ ReadTrainer: ; 39c53 (e:5c53)
ld a,[W_CURENEMYLVL]
ld b,a
.LastLoop
- ld hl,$D047
+ ld hl,wd047
ld c,2
push bc
- ld a,$B
- call Predef
+ predef AddBCDPredef
pop bc
inc de
inc de
@@ -898,7 +896,7 @@ TrainerAI: ; 3a52e (e:652e)
ld a,[hli]
ld h,[hl]
ld l,a
- call GenRandom
+ call Random
jp [hl]
TrainerAIPointers: ; 3a55c (e:655c)
@@ -985,7 +983,7 @@ CooltrainerFAI: ; 3a601 (e:6601)
BrockAI: ; 3a614 (e:6614)
; if his active monster has a status condition, use a full heal
- ld a,[W_ENEMYMONSTATUS]
+ ld a,[wEnemyMonStatus]
and a
ret z
jp AIUseFullHeal
@@ -1092,25 +1090,25 @@ Func_3a69b: ; 3a69b (e:669b)
AIUseFullRestore: ; 3a6a0 (e:66a0)
call AICureStatus
ld a,FULL_RESTORE
- ld [$CF05],a
+ ld [wcf05],a
ld de,wHPBarOldHP
- ld hl,$CFE7
+ ld hl,wEnemyMonHP + 1
ld a,[hld]
ld [de],a
inc de
ld a,[hl]
ld [de],a
inc de
- ld hl,$CFF5
+ ld hl,wEnemyMonMaxHP + 1
ld a,[hld]
ld [de],a
inc de
ld [wHPBarMaxHP],a
- ld [$CFE7],a
+ ld [wEnemyMonHP + 1],a
ld a,[hl]
ld [de],a
ld [wHPBarMaxHP+1],a
- ld [W_ENEMYMONCURHP],a
+ ld [wEnemyMonHP],a
jr Func_3a718
AIUsePotion: ; 3a6ca (e:66ca)
@@ -1133,8 +1131,8 @@ AIUseHyperPotion: ; 3a6d6 (e:66d6)
AIRecoverHP: ; 3a6da (e:66da)
; heal b HP and print "trainer used $(a) on pokemon!"
- ld [$CF05],a
- ld hl,$CFE7
+ ld [wcf05],a
+ ld hl,wEnemyMonHP + 1
ld a,[hl]
ld [wHPBarOldHP],a
add b
@@ -1151,7 +1149,7 @@ AIRecoverHP: ; 3a6da (e:66da)
inc hl
ld a,[hld]
ld b,a
- ld de,$CFF5
+ ld de,wEnemyMonMaxHP + 1
ld a,[de]
dec de
ld [wHPBarMaxHP],a
@@ -1174,18 +1172,16 @@ AIRecoverHP: ; 3a6da (e:66da)
Func_3a718: ; 3a718 (e:6718)
call AIPrintItemUse_
- FuncCoord 2, 2 ; $c3ca
- ld hl,Coord
+ hlCoord 2, 2
xor a
- ld [$CF94],a
- ld a,$48
- call Predef
+ ld [wListMenuID],a
+ predef UpdateHPBar2
jp DecrementAICount
Func_3a72a: ; 3a72a (e:672a)
ld a,[wEnemyPartyCount]
ld c,a
- ld hl,W_ENEMYMON1HP
+ ld hl,wEnemyMon1HP
ld d,0 ; keep count of unfainted monsters
@@ -1215,13 +1211,13 @@ Func_3a74b: ; 3a74b (e:674b)
; prepare to withdraw the active monster: copy hp, number, and status to roster
- ld a,[W_ENEMYMONNUMBER]
- ld hl,W_ENEMYMON1HP
- ld bc,$2C
+ ld a,[wEnemyMonPartyPos]
+ ld hl,wEnemyMon1HP
+ ld bc,wEnemyMon2 - wEnemyMon1
call AddNTimes
ld d,h
ld e,l
- ld hl,W_ENEMYMONCURHP
+ ld hl,wEnemyMonHP
ld bc,4
call CopyData
@@ -1229,10 +1225,10 @@ Func_3a74b: ; 3a74b (e:674b)
call PrintText
ld a,1
- ld [$D11D],a
+ ld [wd11d],a
callab EnemySendOut
xor a
- ld [$D11D],a
+ ld [wd11d],a
ld a,[W_ISLINKBATTLE]
cp 4
@@ -1252,41 +1248,41 @@ AIUseFullHeal: ; 3a786 (e:6786)
AICureStatus: ; 3a791 (e:6791)
; cures the status of enemy's active pokemon
- ld a,[W_ENEMYMONNUMBER]
- ld hl,$D8A8
- ld bc,$2C
+ ld a,[wEnemyMonPartyPos]
+ ld hl,wEnemyMon1Status
+ ld bc,wEnemyMon2 - wEnemyMon1
call AddNTimes
xor a
ld [hl],a ; clear status in enemy team roster
- ld [W_ENEMYMONSTATUS],a ; clear status of active enemy
- ld hl,$D069
+ ld [wEnemyMonStatus],a ; clear status of active enemy
+ ld hl,W_ENEMYBATTSTATUS3
res 0,[hl]
ret
AIUseXAccuracy: ; 0x3a7a8 unused
call Func_3a69b
- ld hl,$D068
+ ld hl,W_ENEMYBATTSTATUS2
set 0,[hl]
ld a,X_ACCURACY
jp AIPrintItemUse
AIUseGuardSpec: ; 3a7b5 (e:67b5)
call Func_3a69b
- ld hl,$D068
+ ld hl,W_ENEMYBATTSTATUS2
set 1,[hl]
ld a,GUARD_SPEC_
jp AIPrintItemUse
AIUseDireHit: ; 0x3a7c2 unused
call Func_3a69b
- ld hl,$D068
+ ld hl,W_ENEMYBATTSTATUS2
set 2,[hl]
ld a,DIRE_HIT
jp AIPrintItemUse
Func_3a7cf: ; 3a7cf (e:67cf)
ld [H_DIVISOR],a
- ld hl,$CFF4
+ ld hl,wEnemyMonMaxHP
ld a,[hli]
ld [H_DIVIDEND],a
ld a,[hl]
@@ -1297,7 +1293,7 @@ Func_3a7cf: ; 3a7cf (e:67cf)
ld c,a
ld a,[H_QUOTIENT + 2]
ld b,a
- ld hl,$CFE7
+ ld hl,wEnemyMonHP + 1
ld a,[hld]
ld e,a
ld a,[hl]
@@ -1330,11 +1326,11 @@ AIUseXSpecial: ; 3a804 (e:6804)
; fallthrough
AIIncreaseStat: ; 3a808 (e:6808)
- ld [$CF05],a
+ ld [wcf05],a
push bc
call AIPrintItemUse_
pop bc
- ld hl,$CFCD
+ ld hl,W_ENEMYMOVEEFFECT
ld a,[hld]
push af
ld a,[hl]
@@ -1352,14 +1348,14 @@ AIIncreaseStat: ; 3a808 (e:6808)
jp DecrementAICount
AIPrintItemUse: ; 3a82c (e:682c)
- ld [$CF05],a
+ ld [wcf05],a
call AIPrintItemUse_
jp DecrementAICount
AIPrintItemUse_: ; 3a835 (e:6835)
-; print "x used [$CF05] on z!"
- ld a,[$CF05]
- ld [$D11E],a
+; print "x used [wcf05] on z!"
+ ld a,[wcf05]
+ ld [wd11e],a
call GetItemName
ld hl, AIBattleUseItemText
jp PrintText
@@ -1371,7 +1367,7 @@ AIBattleUseItemText: ; 3a844 (e:6844)
DrawAllPokeballs: ; 3a849 (e:6849)
call LoadPartyPokeballGfx
call SetupOwnPartyPokeballs
- ld a, [W_ISINBATTLE] ; $d057
+ ld a, [W_ISINBATTLE] ; W_ISINBATTLE
dec a
ret z ; return if wild pokémon
jp SetupEnemyPartyPokeballs
@@ -1382,36 +1378,36 @@ DrawEnemyPokeballs: ; 0x3a857
LoadPartyPokeballGfx: ; 3a85d (e:685d)
ld de, PokeballTileGraphics ; $697e
- ld hl, $8310
+ ld hl, vSprites + $310
ld bc, (BANK(PokeballTileGraphics) << 8) + $04
jp CopyVideoData
SetupOwnPartyPokeballs: ; 3a869 (e:6869)
call PlacePlayerHUDTiles
- ld hl, W_PARTYMON1DATA
- ld de, W_NUMINPARTY ; $d163
+ ld hl, wPartyMon1
+ ld de, wPartyCount ; wPartyCount
call SetupPokeballs
ld a, $60
- ld hl, W_BASECOORDX ; $d081
+ ld hl, W_BASECOORDX ; wd081
ld [hli], a
ld [hl], a
ld a, $8
- ld [$cd3e], a
+ ld [wTrainerEngageDistance], a
ld hl, wOAMBuffer
jp Func_3a8e1
SetupEnemyPartyPokeballs: ; 3a887 (e:6887)
call PlaceEnemyHUDTiles
ld hl, wEnemyMons
- ld de, wEnemyPartyCount ; $d89c
+ ld de, wEnemyPartyCount ; wEnemyPartyCount
call SetupPokeballs
- ld hl, W_BASECOORDX ; $d081
+ ld hl, W_BASECOORDX ; wd081
ld a, $48
ld [hli], a
ld [hl], $20
ld a, $f8
- ld [$cd3e], a
- ld hl, $c318
+ ld [wTrainerEngageDistance], a
+ ld hl, wOAMBuffer + $18
jp Func_3a8e1
SetupPokeballs: ; 0x3a8a6
@@ -1465,22 +1461,22 @@ PickPokeball: ; 3a8c2 (e:68c2)
ret
Func_3a8e1: ; 3a8e1 (e:68e1)
- ld de, $cee9
+ ld de, wHPBarMaxHP
ld c, $6
.asm_3a8e6
- ld a, [W_BASECOORDY] ; $d082
+ ld a, [W_BASECOORDY] ; wd082
ld [hli], a
- ld a, [W_BASECOORDX] ; $d081
+ ld a, [W_BASECOORDX] ; wd081
ld [hli], a
ld a, [de]
ld [hli], a
xor a
ld [hli], a
- ld a, [W_BASECOORDX] ; $d081
+ ld a, [W_BASECOORDX] ; wd081
ld b, a
- ld a, [$cd3e]
+ ld a, [wTrainerEngageDistance]
add b
- ld [W_BASECOORDX], a ; $d081
+ ld [W_BASECOORDX], a ; wd081
inc de
dec c
jr nz, .asm_3a8e6
@@ -1488,11 +1484,10 @@ Func_3a8e1: ; 3a8e1 (e:68e1)
PlacePlayerHUDTiles: ; 3a902 (e:6902)
ld hl, PlayerBattleHUDGraphicsTiles ; $6916
- ld de, $cd3f
+ ld de, wTrainerFacingDirection
ld bc, $3
call CopyData
- FuncCoord 18, 10 ; $c47a
- ld hl, Coord
+ hlCoord 18, 10
ld de, rIE ; $ffff
jr PlaceHUDTiles
@@ -1504,11 +1499,10 @@ PlayerBattleHUDGraphicsTiles: ; 3a916 (e:6916)
PlaceEnemyHUDTiles: ; 3a919 (e:6919)
ld hl, EnemyBattleHUDGraphicsTiles ; $692d
- ld de, $cd3f
+ ld de, wTrainerFacingDirection
ld bc, $3
call CopyData
- FuncCoord 1, 2 ; $c3c9
- ld hl, Coord
+ hlCoord 1, 2
ld de, $1
jr PlaceHUDTiles
@@ -1522,7 +1516,7 @@ PlaceHUDTiles: ; 3a930 (e:6930)
ld [hl], $73
ld bc, $14
add hl, bc
- ld a, [$cd40]
+ ld a, [wTrainerScreenY]
ld [hl], a
ld a, $8
.asm_3a93c
@@ -1531,33 +1525,33 @@ PlaceHUDTiles: ; 3a930 (e:6930)
dec a
jr nz, .asm_3a93c
add hl, de
- ld a, [$cd41]
+ ld a, [wTrainerScreenX]
ld [hl], a
ret
SetupPlayerAndEnemyPokeballs: ; 3a948 (e:6948)
call LoadPartyPokeballGfx
- ld hl, W_PARTYMON1_NUM ; $d16b (aliases: W_PARTYMON1DATA)
- ld de, W_NUMINPARTY ; $d163
+ ld hl, wPartyMon1Species ; wPartyMon1Species (aliases: wPartyMon1)
+ ld de, wPartyCount ; wPartyCount
call SetupPokeballs
- ld hl, W_BASECOORDX ; $d081
+ ld hl, W_BASECOORDX ; wd081
ld a, $50
ld [hli], a
ld [hl], $40
ld a, $8
- ld [$cd3e], a
+ ld [wTrainerEngageDistance], a
ld hl, wOAMBuffer
call Func_3a8e1
- ld hl, wEnemyMons ; $d8a4
- ld de, wEnemyPartyCount ; $d89c
+ ld hl, wEnemyMons ; wEnemyMon1Species
+ ld de, wEnemyPartyCount ; wEnemyPartyCount
call SetupPokeballs
- ld hl, W_BASECOORDX ; $d081
+ ld hl, W_BASECOORDX ; wd081
ld a, $50
ld [hli], a
ld [hl], $68
- ld hl, $c318
+ ld hl, wOAMBuffer + $18
jp Func_3a8e1
; four tiles: pokeball, black pokeball (status ailment), crossed out pokeball (faited) and pokeball slot (no mon)
PokeballTileGraphics:: ; 3a97e (e:697e)
- INCBIN "gfx/pokeball.2bpp" \ No newline at end of file
+ INCBIN "gfx/pokeball.2bpp"
diff --git a/engine/battle/e_2.asm b/engine/battle/e_2.asm
index e6d6eddc..665807fe 100755
--- a/engine/battle/e_2.asm
+++ b/engine/battle/e_2.asm
@@ -1,13 +1,13 @@
HealEffect_: ; 3b9ec (e:79ec)
ld a, [H_WHOSETURN] ; $fff3
and a
- ld de, W_PLAYERMONCURHP ; $d015
- ld hl, W_PLAYERMONMAXHP ; $d023
- ld a, [W_PLAYERMOVENUM] ; $cfd2
+ ld de, wBattleMonHP ; wd015
+ ld hl, wBattleMonMaxHP ; wd023
+ ld a, [W_PLAYERMOVENUM] ; wcfd2
jr z, .asm_3ba03
- ld de, W_ENEMYMONCURHP ; $cfe6
- ld hl, W_ENEMYMONMAXHP ; $cff4
- ld a, [W_ENEMYMOVENUM] ; $cfcc
+ ld de, wEnemyMonHP ; wEnemyMonHP
+ ld hl, wEnemyMonMaxHP ; wEnemyMonMaxHP
+ ld a, [W_ENEMYMOVENUM] ; W_ENEMYMOVENUM
.asm_3ba03
ld b, a
ld a, [de]
@@ -25,11 +25,11 @@ HealEffect_: ; 3b9ec (e:79ec)
push af
ld c, $32
call DelayFrames
- ld hl, W_PLAYERMONSTATUS ; $d018
+ ld hl, wBattleMonStatus ; wBattleMonStatus
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_3ba25
- ld hl, W_ENEMYMONSTATUS ; $cfe9
+ ld hl, wEnemyMonStatus ; wcfe9
.asm_3ba25
ld a, [hl]
and a
@@ -85,17 +85,14 @@ HealEffect_: ; 3b9ec (e:79ec)
call BankswitchEtoF
ld a, [H_WHOSETURN] ; $fff3
and a
- FuncCoord 10, 9 ; $c45e
- ld hl, Coord
+ hlCoord 10, 9
ld a, $1
jr z, .asm_3ba83
- FuncCoord 2, 2 ; $c3ca
- ld hl, Coord
+ hlCoord 2, 2
xor a
.asm_3ba83
- ld [wListMenuID], a ; $cf94
- ld a, $48
- call Predef ; indirect jump to UpdateHPBar (fa1d (3:7a1d))
+ ld [wListMenuID], a ; wListMenuID
+ predef UpdateHPBar2
ld hl, Func_3cd5a ; $4d5a
call BankswitchEtoF
ld hl, RegainedHealthText ; $7aac
@@ -120,36 +117,36 @@ RegainedHealthText: ; 3baac (e:7aac)
db "@"
TransformEffect_: ; 3bab1 (e:7ab1)
- ld hl, W_PLAYERMONID
- ld de, $cfe5
- ld bc, W_ENEMYBATTSTATUS3 ; $d069
- ld a, [W_ENEMYBATTSTATUS1] ; $d067
+ ld hl, wBattleMonSpecies
+ ld de, wEnemyMonSpecies
+ ld bc, W_ENEMYBATTSTATUS3 ; W_ENEMYBATTSTATUS3
+ ld a, [W_ENEMYBATTSTATUS1] ; W_ENEMYBATTSTATUS1
ld a, [H_WHOSETURN] ; $fff3
and a
jr nz, .asm_3bad1
- ld hl, $cfe5
- ld de, W_PLAYERMONID
- ld bc, W_PLAYERBATTSTATUS3 ; $d064
- ld [wPlayerMoveListIndex], a ; $cc2e
- ld a, [W_PLAYERBATTSTATUS1] ; $d062
+ ld hl, wEnemyMonSpecies
+ ld de, wBattleMonSpecies
+ ld bc, W_PLAYERBATTSTATUS3 ; W_PLAYERBATTSTATUS3
+ ld [wPlayerMoveListIndex], a ; wPlayerMoveListIndex
+ ld a, [W_PLAYERBATTSTATUS1] ; W_PLAYERBATTSTATUS1
.asm_3bad1
bit 6, a ; is mon invulnerable to typical attacks? (fly/dig)
jp nz, Func_3bb8c
push hl
push de
push bc
- ld hl, W_PLAYERBATTSTATUS2 ; $d063
+ ld hl, W_PLAYERBATTSTATUS2 ; W_PLAYERBATTSTATUS2
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_3bae4
- ld hl, W_ENEMYBATTSTATUS2 ; $d068
+ ld hl, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2
.asm_3bae4
bit 4, [hl]
push af
ld hl, Func_79747
ld b, BANK(Func_79747)
call nz, Bankswitch
- ld a, [W_OPTIONS] ; $d355
+ ld a, [W_OPTIONS] ; W_OPTIONS
add a
ld hl, Func_3fba8 ; $7ba8
ld b, BANK(Func_3fba8)
@@ -185,10 +182,10 @@ TransformEffect_: ; 3bab1 (e:7ab1)
and a
jr z, .asm_3bb32
ld a, [de]
- ld [$cceb], a
+ ld [wcceb], a
inc de
ld a, [de]
- ld [$ccec], a
+ ld [wccec], a
dec de
.asm_3bb32
ld a, [hli]
@@ -227,13 +224,13 @@ TransformEffect_: ; 3bab1 (e:7ab1)
.asm_3bb5d
pop hl
ld a, [hl]
- ld [$d11e], a
+ ld [wd11e], a
call GetMonName
- ld hl, $cd26
- ld de, $cd12
+ ld hl, wcd26
+ ld de, wcd12
call Func_3bb7d
- ld hl, wEnemyMonStatMods ; $cd2e
- ld de, wPlayerMonStatMods ; $cd1a
+ ld hl, wEnemyMonStatMods ; wcd2e
+ ld de, wPlayerMonStatMods ; wcd1a
call Func_3bb7d
ld hl, TransformedText ; $7b92
jp PrintText
@@ -259,13 +256,13 @@ TransformedText: ; 3bb92 (e:7b92)
db "@"
ReflectLightScreenEffect_: ; 3bb97 (e:7b97)
- ld hl, W_PLAYERBATTSTATUS3 ; $d064
- ld de, W_PLAYERMOVEEFFECT ; $cfd3
+ ld hl, W_PLAYERBATTSTATUS3 ; W_PLAYERBATTSTATUS3
+ ld de, W_PLAYERMOVEEFFECT ; wcfd3
ld a, [H_WHOSETURN] ; $fff3
and a
jr z, .asm_3bba8
- ld hl, W_ENEMYBATTSTATUS3 ; $d069
- ld de, W_ENEMYMOVEEFFECT ; $cfcd
+ ld hl, W_ENEMYBATTSTATUS3 ; W_ENEMYBATTSTATUS3
+ ld de, W_ENEMYMOVEEFFECT ; W_ENEMYMOVEEFFECT
.asm_3bba8
ld a, [de]
cp LIGHT_SCREEN_EFFECT
diff --git a/engine/battle/safari_zone.asm b/engine/battle/safari_zone.asm
index 426e391e..99e1492d 100755
--- a/engine/battle/safari_zone.asm
+++ b/engine/battle/safari_zone.asm
@@ -1,5 +1,5 @@
PrintSafariZoneBattleText: ; 4277 (1:4277)
- ld hl, $cce9
+ ld hl, wcce9
ld a, [hl]
and a
jr z, .asm_4284
@@ -15,11 +15,11 @@ PrintSafariZoneBattleText: ; 4277 (1:4277)
ld hl, SafariZoneAngryText
jr nz, .asm_429f
push hl
- ld a, [$cfe5]
- ld [$d0b5], a
+ ld a, [wEnemyMonSpecies]
+ ld [wd0b5], a
call GetMonHeader
ld a, [W_MONHCATCHRATE]
- ld [$d007], a
+ ld [wd007], a
pop hl
.asm_429f
push hl