summaryrefslogtreecommitdiff
path: root/engine/battle/core.asm
diff options
context:
space:
mode:
Diffstat (limited to 'engine/battle/core.asm')
-rwxr-xr-xengine/battle/core.asm2531
1 files changed, 1217 insertions, 1314 deletions
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