shithub: pokecrystal

Download patch

ref: 98e670f3637b5f845a91423ee2d624d2f1e331a6
parent: 2ec900d96c3b6020be0816151b9ad606c04114b5
parent: e346cc7b4152578106f7708363b41d076a3e8d52
author: Rangi <35663410+Rangi42@users.noreply.github.com>
date: Sun Jul 29 15:56:54 EDT 2018

Merge pull request #548 from Rangi42/master

Add meaningful aliases for wd265

--- a/audio/engine.asm
+++ b/audio/engine.asm
@@ -2422,7 +2422,7 @@
 	add hl, bc
 	ld a, [wCryLength]
 	ld [hli], a
-	ld a, [wCryLength+1]
+	ld a, [wCryLength + 1]
 	ld [hl], a
 .start
 	call StartChannel
--- a/constants/battle_constants.asm
+++ b/constants/battle_constants.asm
@@ -63,8 +63,8 @@
 	const STAT_SATK
 NUM_EXP_STATS EQU const_value + -1
 	const STAT_SDEF
-NUM_STATS EQU const_value +- 1
-STAT_SPC EQU STAT_SATK
+NUM_STATS EQU const_value + -1
+NUM_BATTLE_STATS EQU NUM_STATS + -1 ; don't count HP
 
 ; stat formula constants
 STAT_MIN_NORMAL EQU 5
@@ -243,6 +243,12 @@
 	const BATTLEACTION_D
 	const BATTLEACTION_E
 	const BATTLEACTION_FORFEIT
+
+; wBattlePlayerAction
+	const_def
+	const BATTLEPLAYERACTION_USEMOVE
+	const BATTLEPLAYERACTION_USEITEM
+	const BATTLEPLAYERACTION_SWITCH
 
 ; wBattleResult
 	const_def
--- a/constants/icon_constants.asm
+++ b/constants/icon_constants.asm
@@ -39,3 +39,13 @@
 	const ICON_SLOWPOKE
 	const ICON_SUDOWOODO
 	const ICON_BIGMON
+
+; LoadMenuMonIcon.Jumptable indexes (see engine/gfx/mon_icons.asm)
+	const_def
+	const MONICON_PARTYMENU
+	const MONICON_NAMINGSCREEN
+	const MONICON_MOVES
+	const MONICON_TRADE
+	const MONICON_MOBILE1
+	const MONICON_MOBILE2
+	const MONICON_UNUSED
--- a/data/text/battle.asm
+++ b/data/text/battle.asm
@@ -87,7 +87,7 @@
 PerishCountText:
 	text "<USER>'s"
 	line "PERISH count is @"
-	deciram wd265, 1, 1
+	deciram wDeciramBuffer, 1, 1
 	text "!"
 	prompt
 
@@ -669,7 +669,7 @@
 	text_from_ram wStringBuffer1
 	text " was"
 	cont "reduced by @"
-	deciram wd265, 1, 1
+	deciram wDeciramBuffer, 1, 1
 	text "!"
 	prompt
 
@@ -1029,7 +1029,7 @@
 
 MagnitudeText:
 	text "Magnitude @"
-	deciram wd265, 1, 1
+	deciram wDeciramBuffer, 1, 1
 	text "!"
 	prompt
 
--- a/data/text/common_1.asm
+++ b/data/text/common_1.asm
@@ -41,7 +41,7 @@
 	text_from_ram wStringBuffer1
 	text_start
 	line "recovered @"
-	deciram wd1f3, 2, 3
+	deciram wCurHPAnimDeltaHP, 2, 3
 	text "HP!"
 	done
 
@@ -1155,7 +1155,7 @@
 UnknownText_0x1bd0d8::
 	text "The compatibility"
 	line "is @"
-	deciram wd265, 1, 3
+	deciram wBreedingCompatibility, 1, 3
 	text "."
 	cont "Should they breed?"
 	done
--- a/data/text/common_2.asm
+++ b/data/text/common_2.asm
@@ -262,7 +262,7 @@
 	text_from_ram wc850
 	text "'s CARD was"
 	line "listed as no.@"
-	deciram wd265, 1, 2
+	deciram wDeciramBuffer, 1, 2
 	text "."
 	prompt
 
--- a/docs/bugs_and_glitches.md
+++ b/docs/bugs_and_glitches.md
@@ -306,7 +306,7 @@
 **Fix:** Edit `CheckHiddenOpponent` in [engine/battle/effect_commands.asm](/engine/battle/effect_commands.asm):
 
 ```diff
--CheckHiddenOpponent:
+ CheckHiddenOpponent:
 -; BUG: This routine is completely redundant and introduces a bug, since BattleCommand_CheckHit does these checks properly.
 -	ld a, BATTLE_VARS_SUBSTATUS3_OPP
 -	call GetBattleVar
@@ -887,20 +887,20 @@
 
 ([Video](https://www.youtube.com/watch?v=eij_1060SMc))
 
-**Fix:**
+There are three things wrong here:
 
-There's three things wrong here.
+- `wEnemyMonLevel` isn't initialized yet
+- `wBattleMonLevel` gets overwritten after it's initialized by `FindFirstAliveMonAndStartBattle`
+- `wBattleMonLevel` isn't initialized until much later when the battle is with a trainer
 
-* `wEnemyMonLevel` doesn't have the value its name implies yet; it'll be populated later from `wCurPartyLevel`.
-* `wBattleMonLevel` gets overwritten between when the value is written in `FindFirstAliveMonAndStartBattle` and when it's read.
-* `wBattleMonLevel` isn't set until much later when the battle is with a trainer; extra code is needed to read a trainer's party and get the level of their lead Pokémon.
+**Fix:**
 
-First, in [engine/battle/battle_transition.asm](/engine/battle/battle_transition.asm):
+First, edit [engine/battle/battle_transition.asm](/engine/battle/battle_transition.asm):
 
 ```diff
-StartTrainerBattle_DetermineWhichAnimation:
-; The screen flashes a different number of times depending on the level of
-; your lead Pokemon relative to the opponent's.
+ StartTrainerBattle_DetermineWhichAnimation:
+ ; The screen flashes a different number of times depending on the level of
+ ; your lead Pokemon relative to the opponent's.
 -; BUG: wBattleMonLevel and wEnemyMonLevel are not set at this point, so whatever
 -; values happen to be there will determine the animation.
 +	ld a, [wOtherTrainerClass]
@@ -927,43 +927,43 @@
 	ld de, 0
 -	ld a, [wBattleMonLevel]
 +	ld a, [hl]
-	add 3
+ 	add 3
 -	ld hl, wEnemyMonLevel
 +	ld hl, wCurPartyLevel
-	cp [hl]
-	jr nc, .not_stronger
-	set TRANS_STRONGER_F, e
-.not_stronger
-	ld a, [wEnvironment]
-	cp CAVE
-	jr z, .cave
-	cp ENVIRONMENT_5
-	jr z, .cave
-	cp DUNGEON
-	jr z, .cave
-	set TRANS_NO_CAVE_F, e
-.cave
-	ld hl, .StartingPoints
-	add hl, de
-	ld a, [hl]
-	ld [wJumptableIndex], a
-	ret
+ 	cp [hl]
+ 	jr nc, .not_stronger
+ 	set TRANS_STRONGER_F, e
+ .not_stronger
+ 	ld a, [wEnvironment]
+ 	cp CAVE
+ 	jr z, .cave
+ 	cp ENVIRONMENT_5
+ 	jr z, .cave
+ 	cp DUNGEON
+ 	jr z, .cave
+ 	set TRANS_NO_CAVE_F, e
+ .cave
+ 	ld hl, .StartingPoints
+ 	add hl, de
+ 	ld a, [hl]
+ 	ld [wJumptableIndex], a
+ 	ret
 
-.StartingPoints:
-; entries correspond to TRANS_* constants
-	db BATTLETRANSITION_CAVE
-	db BATTLETRANSITION_CAVE_STRONGER
-	db BATTLETRANSITION_NO_CAVE
-	db BATTLETRANSITION_NO_CAVE_STRONGER
+ .StartingPoints:
+ ; entries correspond to TRANS_* constants
+ 	db BATTLETRANSITION_CAVE
+ 	db BATTLETRANSITION_CAVE_STRONGER
+ 	db BATTLETRANSITION_NO_CAVE
+ 	db BATTLETRANSITION_NO_CAVE_STRONGER
 ```
 
-In [engine/battle/start_battle.asm](/engine/battle/start_battle.asm):
+Then edit [engine/battle/start_battle.asm](/engine/battle/start_battle.asm):
 
 ```diff
-FindFirstAliveMonAndStartBattle:
-	xor a
-	ld [hMapAnims], a
-	call DelayFrame
+ FindFirstAliveMonAndStartBattle:
+ 	xor a
+ 	ld [hMapAnims], a
+ 	call DelayFrame
 -	ld b, 6
 -	ld hl, wPartyMon1HP
 -	ld de, PARTYMON_STRUCT_LENGTH - 1
@@ -981,57 +981,58 @@
 -	add hl, de
 -	ld a, [hl]
 -	ld [wBattleMonLevel], a
-	predef DoBattleTransition
+ 	predef DoBattleTransition
 ```
 
-Finally, add this code to the end of [engine/battle/read_trainer_party.asm](/engine/battle/read_trainer_party.asm):
+Finally, edit [engine/battle/read_trainer_party.asm](/engine/battle/read_trainer_party.asm):
 
 ```asm
-SetTrainerBattleLevel:
-	ld a, 255
-	ld [wCurPartyLevel], a
-
-	ld a, [wInBattleTowerBattle]
-	bit 0, a
-	ret nz
-
-	ld a, [wLinkMode]
-	and a
-	ret nz
-
-	ld a, [wOtherTrainerClass]
-	dec a
-	ld c, a
-	ld b, 0
-	ld hl, TrainerGroups
-rept 2
-	add hl, bc
-endr
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-
-	ld a, [wOtherTrainerID]
-	ld b, a
-.skip_trainer
-	dec b
-	jr z, .got_trainer
-.loop1
-	ld a, [hli]
-	cp $ff
-	jr nz, .loop1
-	jr .skip_trainer
-.got_trainer
-
-.skip_name
-	ld a, [hli]
-	cp "@"
-	jr nz, .skip_name
-
-	inc hl
-	ld a, [hl]
-	ld [wCurPartyLevel], a
-	ret
+ INCLUDE "data/trainers/parties.asm"
++
++SetTrainerBattleLevel:
++	ld a, 255
++	ld [wCurPartyLevel], a
++
++	ld a, [wInBattleTowerBattle]
++	bit 0, a
++	ret nz
++
++	ld a, [wLinkMode]
++	and a
++	ret nz
++
++	ld a, [wOtherTrainerClass]
++	dec a
++	ld c, a
++	ld b, 0
++	ld hl, TrainerGroups
++	add hl, bc
++	add hl, bc
++	ld a, [hli]
++	ld h, [hl]
++	ld l, a
++
++	ld a, [wOtherTrainerID]
++	ld b, a
++.skip_trainer
++	dec b
++	jr z, .got_trainer
++.loop1
++	ld a, [hli]
++	cp $ff
++	jr nz, .loop1
++	jr .skip_trainer
++.got_trainer
++
++.skip_name
++	ld a, [hli]
++	cp "@"
++	jr nz, .skip_name
++
++	inc hl
++	ld a, [hl]
++	ld [wCurPartyLevel], a
++	ret
 ```
 
 
@@ -1138,7 +1139,7 @@
 ```diff
  .Cry:
 -	call Pokedex_GetSelectedMon
--	ld a, [wd265]
+-	ld a, [wTempSpecies]
 -	call GetCryIndex
 -	ld e, c
 -	ld d, b
--- a/docs/design_flaws.md
+++ b/docs/design_flaws.md
@@ -153,43 +153,43 @@
 Modify `GetFrontpicPointer`:
 
 ```diff
-	ld a, [wCurPartySpecies]
-	cp UNOWN
-	jr z, .unown
-	ld a, [wCurPartySpecies]
+ 	ld a, [wCurPartySpecies]
+ 	cp UNOWN
+ 	jr z, .unown
+ 	ld a, [wCurPartySpecies]
 +	ld hl, PokemonPicPointers
-	ld d, BANK(PokemonPicPointers)
-	jr .ok
+ 	ld d, BANK(PokemonPicPointers)
+ 	jr .ok
 
-.unown
-	ld a, [wUnownLetter]
+ .unown
+ 	ld a, [wUnownLetter]
 +	ld hl, UnownPicPointers
-	ld d, BANK(UnownPicPointers)
+ 	ld d, BANK(UnownPicPointers)
 
-.ok
+ .ok
 -	ld hl, PokemonPicPointers ; UnownPicPointers
-	dec a
-	ld bc, 6
-	call AddNTimes
+ 	dec a
+ 	ld bc, 6
+ 	call AddNTimes
 ```
 
 And `GetMonBackpic`:
 
-```asm
+```diff
 -	; These are assumed to be at the same address in their respective banks.
 -	ld hl, PokemonPicPointers ; UnownPicPointers
-	ld a, b
+ 	ld a, b
 +	ld hl, PokemonPicPointers
-	ld d, BANK(PokemonPicPointers)
-	cp UNOWN
-	jr nz, .ok
-	ld a, c
+ 	ld d, BANK(PokemonPicPointers)
+ 	cp UNOWN
+ 	jr nz, .ok
+ 	ld a, c
 +	ld hl, UnownPicPointers
-	ld d, BANK(UnownPicPointers)
-.ok
-	dec a
-	ld bc, 6
-	call AddNTimes
+ 	ld d, BANK(UnownPicPointers)
+ .ok
+ 	dec a
+ 	ld bc, 6
+ 	call AddNTimes
 ```
 
 
@@ -273,12 +273,12 @@
 
 ```diff
 -	push hl
-	ld e, l
-	ld d, h
-	ld hl, vTiles2 tile $62
+ 	ld e, l
+ 	ld d, h
+ 	ld hl, vTiles2 tile $62
 -	lb bc, BANK(Footprints), 2
 +	lb bc, BANK(Footprints), 4
-	call Request1bpp
+ 	call Request1bpp
 -	pop hl
 -
 -	; Whoever was editing footprints forgot to fix their
@@ -359,9 +359,9 @@
 Modify engine/items/items.asm:
 
 ```diff
-GetTMHMNumber::
-; Return the number of a TM/HM by item id c.
-	ld a, c
+ GetTMHMNumber::
+ ; Return the number of a TM/HM by item id c.
+ 	ld a, c
 -; Skip any dummy items.
 -	cp ITEM_C3 ; TM04-05
 -	jr c, .done
@@ -371,14 +371,14 @@
 -.skip
 -	dec a
 -.done
-	sub TM01
-	inc a
-	ld c, a
-	ret
+ 	sub TM01
+ 	inc a
+ 	ld c, a
+ 	ret
 
-GetNumberedTMHM:
-; Return the item id of a TM/HM by number c.
-	ld a, c
+ GetNumberedTMHM:
+ ; Return the item id of a TM/HM by number c.
+ 	ld a, c
 -; Skip any gaps.
 -	cp ITEM_C3 - (TM01 - 1)
 -	jr c, .done
@@ -389,10 +389,10 @@
 -.skip_one
 -	inc a
 -.done
-	add TM01
-	dec a
-	ld c, a
-	ret
+ 	add TM01
+ 	dec a
+ 	ld c, a
+ 	ret
 ```
 
 
--- a/engine/battle/ai/items.asm
+++ b/engine/battle/ai/items.asm
@@ -818,7 +818,7 @@
 
 PrintText_UsedItemOn:
 	ld a, [wCurEnemyItem]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetItemName
 	ld hl, wStringBuffer1
 	ld de, wMonOrItemNameBuffer
--- a/engine/battle/ai/scoring.asm
+++ b/engine/battle/ai/scoring.asm
@@ -171,10 +171,10 @@
 	pop bc
 	pop hl
 
-	ld a, [wd265]
+	ld a, [wTypeMatchup]
 	and a
 	jr z, .immune
-	cp 10 ; 1.0
+	cp EFFECTIVE
 	jr z, .checkmove
 	jr c, .noteffective
 
@@ -415,8 +415,8 @@
 	pop hl
 
 ; 60% chance to discourage this move if not very effective.
-	ld a, [wd265]
-	cp 10 ; 1.0
+	ld a, [wTypeMatchup]
+	cp EFFECTIVE
 	jr c, .asm_38815
 
 ; Do nothing if effectiveness is neutral.
@@ -491,8 +491,8 @@
 	push hl
 	push bc
 	farcall BattleCheckTypeMatchup
-	ld a, [wd265]
-	cp $a
+	ld a, [wTypeMatchup]
+	cp EFFECTIVE
 	pop bc
 	pop hl
 	jr c, .asm_3884f
@@ -1292,8 +1292,8 @@
 	ld [hBattleTurn], a
 	callfar BattleCheckTypeMatchup
 
-	ld a, [wd265]
-	cp $a
+	ld a, [wTypeMatchup]
+	cp EFFECTIVE
 	pop hl
 	jr c, .asm_38bef
 	jr z, .asm_38bd4
@@ -1408,8 +1408,8 @@
 	predef CheckTypeMatchup
 
 	pop hl
-	ld a, [wd265]
-	cp $a
+	ld a, [wTypeMatchup]
+	cp EFFECTIVE
 	jr nc, .asm_38c68
 
 	and a
@@ -1679,8 +1679,8 @@
 
 	callfar BattleCheckTypeMatchup
 
-	ld a, [wd265]
-	cp $a
+	ld a, [wTypeMatchup]
+	cp EFFECTIVE
 	pop hl
 	jr c, .asm_38dc9
 	ret z
@@ -2293,8 +2293,8 @@
 	pop hl
 
 ; Discourage Hidden Power if not very effective.
-	ld a, [wd265]
-	cp 10
+	ld a, [wTypeMatchup]
+	cp EFFECTIVE
 	jr c, .bad
 
 ; Discourage Hidden Power if its base power	is lower than 50.
@@ -2303,8 +2303,8 @@
 	jr c, .bad
 
 ; Encourage Hidden Power if super-effective.
-	ld a, [wd265]
-	cp 11
+	ld a, [wTypeMatchup]
+	cp EFFECTIVE + 1
 	jr nc, .good
 
 ; Encourage Hidden Power if its base power is 70.
@@ -3125,7 +3125,7 @@
 	pop bc
 	pop hl
 
-	ld a, [wd265]
+	ld a, [wTypeMatchup]
 	and a
 	jr nz, .checkmove
 
--- a/engine/battle/core.asm
+++ b/engine/battle/core.asm
@@ -373,7 +373,7 @@
 	push bc
 	callfar GetUserItem
 	ld a, [hl]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	sub BERSERK_GENE
 	pop bc
 	pop de
@@ -447,7 +447,7 @@
 	sub BATTLEACTION_SWITCH1
 	jr c, .use_move
 	ld a, [wBattlePlayerAction]
-	cp $2
+	cp BATTLEPLAYERACTION_SWITCH
 	jr nz, .switch
 	ld a, [hSerialConnectionStatus]
 	cp USING_INTERNAL_CLOCK
@@ -472,7 +472,7 @@
 
 .use_move
 	ld a, [wBattlePlayerAction]
-	and a
+	and a ; BATTLEPLAYERACTION_USEMOVE?
 	jp nz, .player_first
 	call CompareMovePriority
 	jr z, .equal_priority
@@ -611,7 +611,7 @@
 
 .not_encored
 	ld a, [wBattlePlayerAction]
-	cp $2
+	cp BATTLEPLAYERACTION_SWITCH
 	jr z, .reset_rage
 	and a
 	jr nz, .reset_bide
@@ -900,7 +900,7 @@
 	call ResidualDamage
 	jp z, HandlePlayerMonFaint
 	call RefreshBattleHuds
-	xor a
+	xor a ; BATTLEPLAYERACTION_USEMOVE
 	ld [wBattlePlayerAction], a
 	ret
 
@@ -949,7 +949,7 @@
 	call ResidualDamage
 	jp z, HandleEnemyMonFaint
 	call RefreshBattleHuds
-	xor a
+	xor a ; BATTLEPLAYERACTION_USEMOVE
 	ld [wBattlePlayerAction], a
 	ret
 
@@ -1161,7 +1161,7 @@
 	ret z
 	dec [hl]
 	ld a, [hl]
-	ld [wd265], a
+	ld [wDeciramBuffer], a
 	push af
 	ld hl, PerishCountText
 	call StdBattleTextBox
@@ -1235,7 +1235,7 @@
 	ret nz
 
 	ld a, [de]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	ld [wFXAnimID], a
 	call GetMoveName
 	dec [hl]
@@ -1288,7 +1288,7 @@
 
 	callfar GetUserItem
 	ld a, [hl]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetItemName
 	ld a, b
 	cp HELD_LEFTOVERS
@@ -1397,7 +1397,7 @@
 	push bc
 	push bc
 	ld a, [hl]
-	ld [wd265], a
+	ld [wTempByteValue], a
 	ld de, wBattleMonMoves - 1
 	ld hl, wBattleMonPP
 	ld a, [hBattleTurn]
@@ -1417,7 +1417,7 @@
 	pop de
 	pop bc
 
-	ld a, [wd265]
+	ld a, [wTempByteValue]
 	cp [hl]
 	jr nz, .skip_checks
 	ld a, [hBattleTurn]
@@ -1434,7 +1434,7 @@
 .skip_checks
 	callfar GetUserItem
 	ld a, [hl]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	xor a
 	ld [hl], a
 	call GetPartymonItem
@@ -2048,7 +2048,7 @@
 	call CheckMobileBattleError
 	jp c, WildFled_EnemyFled_LinkBattleCanceled
 
-	ld a, $1
+	ld a, BATTLEPLAYERACTION_USEITEM
 	ld [wBattlePlayerAction], a
 	call HandleEnemySwitch
 	jp z, WildFled_EnemyFled_LinkBattleCanceled
@@ -2055,11 +2055,11 @@
 	jr DoubleSwitch
 
 .player_mon_not_fainted
-	ld a, $1
+	ld a, BATTLEPLAYERACTION_USEITEM
 	ld [wBattlePlayerAction], a
 	call HandleEnemySwitch
 	jp z, WildFled_EnemyFled_LinkBattleCanceled
-	xor a
+	xor a ; BATTLEPLAYERACTION_USEMOVE
 	ld [wBattlePlayerAction], a
 	ret
 
@@ -2088,7 +2088,7 @@
 	call PlayerPartyMonEntrance
 
 .done
-	xor a
+	xor a ; BATTLEPLAYERACTION_USEMOVE
 	ld [wBattlePlayerAction], a
 	ret
 
@@ -2636,7 +2636,7 @@
 	ld a, c
 	and a
 	ret nz
-	ld a, $1
+	ld a, BATTLEPLAYERACTION_USEITEM
 	ld [wBattlePlayerAction], a
 	call HandleEnemySwitch
 	jp z, WildFled_EnemyFled_LinkBattleCanceled
@@ -2716,12 +2716,12 @@
 	ld a, [wLinkMode]
 	and a
 	jr z, .skip_link
-	ld a, $1
+	ld a, BATTLEPLAYERACTION_USEITEM
 	ld [wBattlePlayerAction], a
 	call LinkBattleSendReceiveAction
 
 .skip_link
-	xor a
+	xor a ; BATTLEPLAYERACTION_USEMOVE
 	ld [wBattlePlayerAction], a
 	call CheckMobileBattleError
 	jr c, .enemy_fainted_mobile_error
@@ -3287,8 +3287,8 @@
 	pop bc
 	pop de
 	pop hl
-	ld a, [wd265] ; Get The Effectiveness Modifier
-	cp 10 + 1 ; 1.0 + 0.1
+	ld a, [wTypeMatchup]
+	cp EFFECTIVE + 1
 	jr c, .loop
 	ld hl, wBuffer1
 	set 0, [hl]
@@ -3319,14 +3319,14 @@
 	ld [wPlayerMoveStruct + MOVE_TYPE], a
 	call SetPlayerTurn
 	callfar BattleCheckTypeMatchup
-	ld a, [wd265]
-	cp 10 + 1 ; 1.0 + 0.1
+	ld a, [wTypeMatchup]
+	cp EFFECTIVE + 1
 	jr nc, .super_effective
 	ld a, [wBattleMonType2]
 	ld [wPlayerMoveStruct + MOVE_TYPE], a
 	callfar BattleCheckTypeMatchup
-	ld a, [wd265]
-	cp 10 + 1 ; 1.0 + 0.1
+	ld a, [wTypeMatchup]
+	cp EFFECTIVE + 1
 	jr nc, .super_effective
 	pop bc
 	ret
@@ -3695,7 +3695,7 @@
 	push hl
 	push de
 	ld a, [wBattleMonItem]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	ld b, a
 	callfar GetItemHeldEffect
 	ld a, b
@@ -3732,7 +3732,7 @@
 
 	xor a
 	ld [hMultiplicand], a
-	ld a, $20
+	ld a, 32
 	ld [hMultiplier], a
 	call Multiply
 	ld a, [hProduct + 2]
@@ -3772,7 +3772,7 @@
 	ld a, [hQuotient + 2]
 	cp b
 	jr nc, .can_escape
-	ld a, $1
+	ld a, BATTLEPLAYERACTION_USEITEM
 	ld [wBattlePlayerAction], a
 	ld hl, BattleText_CantEscape2
 	jr .print_inescapable_text
@@ -3786,7 +3786,7 @@
 
 .print_inescapable_text
 	call StdBattleTextBox
-	ld a, $1
+	ld a, TRUE
 	ld [wFailedToFlee], a
 	call LoadTileMapToTempTileMap
 	and a
@@ -3798,7 +3798,7 @@
 	ld a, DRAW
 	jr z, .fled
 	call LoadTileMapToTempTileMap
-	xor a
+	xor a ; BATTLEPLAYERACTION_USEMOVE
 	ld [wBattlePlayerAction], a
 	ld a, $f
 	ld [wCurMoveNum], a
@@ -4429,7 +4429,7 @@
 
 .heal_status
 	ld a, [hl]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	ld a, BATTLE_VARS_SUBSTATUS3_OPP
 	call GetBattleVarAddr
 	res SUBSTATUS_CONFUSED, [hl]
@@ -4496,7 +4496,7 @@
 	jr nz, .loop
 	pop bc
 	ld a, [bc]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	push bc
 	dec hl
 	dec hl
@@ -4952,7 +4952,7 @@
 
 	farcall BattlePack
 	ld a, [wBattlePlayerAction]
-	and a
+	and a ; BATTLEPLAYERACTION_USEMOVE?
 	jr z, .didnt_use_item
 	jr .got_item
 
@@ -5157,7 +5157,7 @@
 	jp z, BattleMenuPKMN_Loop
 	ld a, [wCurBattleMon]
 	ld [wLastPlayerMon], a
-	ld a, $2
+	ld a, BATTLEPLAYERACTION_SWITCH
 	ld [wBattlePlayerAction], a
 	call ClearPalettes
 	call DelayFrame
@@ -5270,8 +5270,8 @@
 	ld [wCurBattleMon], a
 	call AddBattleParticipant
 	call InitBattleMon
-	xor a
-	ld [wd265], a
+	xor a ; FALSE
+	ld [wApplyStatLevelMultipliersToEnemy], a
 	call ApplyStatLevelMultiplierOnAllStats
 	call SendOutPlayerMon
 	call EmptyBattleTextBox
@@ -5286,11 +5286,11 @@
 	ld hl, wBattleMonSpeed
 	ld de, wEnemyMonSpeed
 	call TryToRunAwayFromBattle
-	ld a, $0
+	ld a, FALSE
 	ld [wFailedToFlee], a
 	ret c
 	ld a, [wBattlePlayerAction]
-	and a
+	and a ; BATTLEPLAYERACTION_USEMOVE?
 	ret nz
 	jp BattleMenu
 
@@ -5770,7 +5770,7 @@
 	call EmptyBattleTextBox
 	call LoadTileMapToTempTileMap
 	ld a, [wBattlePlayerAction]
-	and a
+	and a ; BATTLEPLAYERACTION_USEMOVE?
 	call z, LinkBattleSendReceiveAction
 	call Call_LoadTempTileMapToTileMap
 	ld a, [wBattleAction]
@@ -5989,7 +5989,7 @@
 ; Used for Ho-Oh, Lugia and Snorlax encounters
 	ld a, [wBattleType]
 	cp BATTLETYPE_FORCEITEM
-	ld a, [wBaseItems]
+	ld a, [wBaseItem1]
 	jr z, .UpdateItem
 
 ; Failing that, it's all up to chance
@@ -6007,9 +6007,9 @@
 ; From there, an 8% chance for Item2
 	call BattleRandom
 	cp 8 percent ; 8% of 25% = 2% Item2
-	ld a, [wBaseItems]
+	ld a, [wBaseItem1]
 	jr nc, .UpdateItem
-	ld a, [wBaseItems+1]
+	ld a, [wBaseItem2]
 
 .UpdateItem:
 	ld [wEnemyMonItem], a
@@ -6375,7 +6375,7 @@
 	ld [de], a
 
 	ld a, [wTempEnemyMonSpecies]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 
 	call GetPokemonName
 
@@ -6661,7 +6661,7 @@
 	call ApplyStatLevelMultiplier
 	inc c
 	ld a, c
-	cp 5
+	cp NUM_BATTLE_STATS
 	jr nz, .stat_loop
 	ret
 
@@ -6668,7 +6668,7 @@
 ApplyStatLevelMultiplier:
 	push bc
 	push bc
-	ld a, [wd265]
+	ld a, [wApplyStatLevelMultipliersToEnemy]
 	and a
 	ld a, c
 	ld hl, wBattleMonAttack
@@ -6718,7 +6718,7 @@
 	call Multiply
 	ld a, [hl]
 	ld [hDivisor], a
-	ld b, $4
+	ld b, 4
 	call Divide
 	pop hl
 
@@ -7192,7 +7192,7 @@
 	add hl, bc
 	ld a, [hl]
 	ld [wCurSpecies], a
-	ld [wd265], a
+	ld [wTempSpecies], a ; unused?
 	call GetBaseData
 	ld hl, MON_MAXHP + 1
 	add hl, bc
@@ -7256,8 +7256,8 @@
 	call CopyBytes
 
 .transformed
-	xor a
-	ld [wd265], a
+	xor a ; FALSE
+	ld [wApplyStatLevelMultipliersToEnemy], a
 	call ApplyStatLevelMultiplierOnAllStats
 	callfar ApplyStatusEffectOnPlayerStats
 	callfar BadgeStatBoosts
@@ -7299,7 +7299,7 @@
 	xor a ; PARTYMON
 	ld [wMonType], a
 	ld a, [wCurSpecies]
-	ld [wd265], a
+	ld [wTempSpecies], a ; unused?
 	ld a, [wCurPartyLevel]
 	push af
 	ld c, a
@@ -7359,7 +7359,7 @@
 	cp 2
 	ret c
 
-	ld [wd265], a
+	ld [wTempByteValue], a
 	ld hl, wEnemyMonBaseStats
 	ld c, wEnemyMonEnd - wEnemyMonBaseStats
 .count_loop2
@@ -7367,7 +7367,7 @@
 	ld [hDividend + 0], a
 	ld a, [hl]
 	ld [hDividend + 1], a
-	ld a, [wd265]
+	ld a, [wTempByteValue]
 	ld [hDivisor], a
 	ld b, 2
 	call Divide
--- a/engine/battle/effect_commands.asm
+++ b/engine/battle/effect_commands.asm
@@ -2,7 +2,7 @@
 	call SetPlayerTurn
 
 	ld a, [wBattlePlayerAction]
-	and a
+	and a ; BATTLEPLAYERACTION_USEMOVE?
 	ret nz
 
 	jr DoTurn
@@ -1248,7 +1248,7 @@
 .go
 	ld a, BATTLE_VARS_MOVE_TYPE
 	call GetBattleVarAddr
-	ld [wTypeMatchup], a
+	ld [wCurType], a
 
 	push hl
 	push de
@@ -1264,7 +1264,7 @@
 	pop bc
 	pop de
 
-	ld a, [wTypeMatchup]
+	ld a, [wCurType]
 	cp b
 	jr z, .stab
 	cp c
@@ -3583,7 +3583,7 @@
 
 	ld a, BATTLE_VARS_MOVE
 	call GetBattleVar
-	ld [wCurMove], a
+	ld [wCurSpecies], a
 	ld [wNamedObjectIndexBuffer], a
 
 	dec a
--- a/engine/battle/misc.asm
+++ b/engine/battle/misc.asm
@@ -53,13 +53,13 @@
 	ld de, WeatherTypeModifiers
 	ld a, [wBattleWeather]
 	ld b, a
-	ld a, [wd265] ; move type
+	ld a, [wCurType]
 	ld c, a
 
 .CheckWeatherType:
 	ld a, [de]
 	inc de
-	cp $ff
+	cp -1
 	jr z, .done_weather_types
 
 	cp b
@@ -84,7 +84,7 @@
 .CheckWeatherMove:
 	ld a, [de]
 	inc de
-	cp $ff
+	cp -1
 	jr z, .done
 
 	cp b
@@ -116,7 +116,7 @@
 
 	ld a, 10
 	ld [hDivisor], a
-	ld b, $4
+	ld b, 4
 	call Divide
 
 	ld a, [hQuotient + 0]
@@ -176,7 +176,7 @@
 	rr c
 	jr nc, .NextBadge
 
-	ld a, [wd265] ; move type
+	ld a, [wCurType]
 	cp [hl]
 	jr z, .ApplyBoost
 
--- a/engine/battle/move_effects/baton_pass.asm
+++ b/engine/battle/move_effects/baton_pass.asm
@@ -68,8 +68,8 @@
 	call CallBattleCore
 	ld hl, ResetBattleParticipants
 	call CallBattleCore
-	ld a, 1
-	ld [wTypeMatchup], a
+	ld a, TRUE
+	ld [wApplyStatLevelMultipliersToEnemy], a
 	ld hl, ApplyStatLevelMultiplierOnAllStats
 	call CallBattleCore
 
@@ -83,7 +83,7 @@
 	and a
 	ret z
 
-	ld a, 1
+	ld a, BATTLEPLAYERACTION_USEITEM
 	ld [wBattlePlayerAction], a
 
 	call LoadStandardMenuHeader
@@ -91,7 +91,7 @@
 	call CallBattleCore
 	call CloseWindow
 
-	xor a
+	xor a ; BATTLEPLAYERACTION_USEMOVE
 	ld [wBattlePlayerAction], a
 	ret
 
--- a/engine/battle/move_effects/magnitude.asm
+++ b/engine/battle/move_effects/magnitude.asm
@@ -18,7 +18,7 @@
 	push de
 	inc hl
 	ld a, [hl]
-	ld [wTypeMatchup], a
+	ld [wDeciramBuffer], a
 	call BattleCommand_MoveDelay
 	ld hl, MagnitudeText
 	call StdBattleTextBox
--- a/engine/battle/move_effects/mirror_move.asm
+++ b/engine/battle/move_effects/mirror_move.asm
@@ -24,7 +24,7 @@
 .use
 	ld a, b
 	ld [hl], a
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 
 	push af
 	ld a, BATTLE_VARS_MOVE_ANIM
--- a/engine/battle/move_effects/sketch.asm
+++ b/engine/battle/move_effects/sketch.asm
@@ -34,7 +34,7 @@
 .get_last_move
 	ld a, BATTLE_VARS_LAST_COUNTER_MOVE_OPP
 	call GetBattleVar
-	ld [wTypeMatchup], a
+	ld [wNamedObjectIndexBuffer], a
 	ld b, a
 ; Fail if move is invalid or is Struggle.
 	and a
--- a/engine/battle/move_effects/spite.asm
+++ b/engine/battle/move_effects/spite.asm
@@ -24,7 +24,7 @@
 	ld a, [hli]
 	cp b
 	jr nz, .loop
-	ld [wTypeMatchup], a
+	ld [wNamedObjectIndexBuffer], a
 	dec hl
 	ld b, 0
 	push bc
@@ -78,7 +78,7 @@
 	call AnimateCurrentMove
 	pop de
 	ld a, d
-	ld [wTypeMatchup], a
+	ld [wDeciramBuffer], a
 	ld hl, SpiteEffectText
 	jp StdBattleTextBox
 
--- a/engine/battle/move_effects/thief.asm
+++ b/engine/battle/move_effects/thief.asm
@@ -21,7 +21,7 @@
 
 ; Can't steal mail.
 
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	ld d, a
 	farcall ItemIsMail
 	ret c
@@ -45,7 +45,7 @@
 	ld [de], a
 
 	call .playeritem
-	ld a, [wd265]
+	ld a, [wNamedObjectIndexBuffer]
 	ld [hl], a
 	ld [de], a
 	jr .stole
@@ -68,7 +68,7 @@
 
 ; Can't steal mail!
 
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	ld d, a
 	farcall ItemIsMail
 	ret c
@@ -86,7 +86,7 @@
 	ld [de], a
 
 	call .enemyitem
-	ld a, [wd265]
+	ld a, [wNamedObjectIndexBuffer]
 	ld [hl], a
 	ld [de], a
 
--- a/engine/battle/trainer_huds.asm
+++ b/engine/battle/trainer_huds.asm
@@ -101,7 +101,7 @@
 DrawPlayerHUDBorder:
 	ld hl, .tiles
 	ld de, wTrainerHUDTiles
-	ld bc, 4
+	ld bc, .tiles_end - .tiles
 	call CopyBytes
 	hlcoord 18, 10
 	ld de, -1 ; start on right
@@ -112,11 +112,12 @@
 	db $77 ; bottom right
 	db $6f ; bottom left
 	db $76 ; bottom side
+.tiles_end
 
 DrawPlayerPartyIconHUDBorder:
 	ld hl, .tiles
 	ld de, wTrainerHUDTiles
-	ld bc, 4
+	ld bc, .tiles_end - .tiles
 	call CopyBytes
 	hlcoord 18, 10
 	ld de, -1 ; start on right
@@ -127,11 +128,12 @@
 	db $5c ; bottom right
 	db $6f ; bottom left
 	db $76 ; bottom side
+.tiles_end
 
 DrawEnemyHUDBorder:
 	ld hl, .tiles
 	ld de, wTrainerHUDTiles
-	ld bc, 4
+	ld bc, .tiles_end - .tiles
 	call CopyBytes
 	hlcoord 1, 2
 	ld de, 1 ; start on left
@@ -152,23 +154,24 @@
 	db $74 ; bottom left
 	db $78 ; bottom right
 	db $76 ; bottom side
+.tiles_end
 
 PlaceHUDBorderTiles:
-	ld a, [wTrainerHUDTiles]
+	ld a, [wTrainerHUDTiles + 0]
 	ld [hl], a
 	ld bc, SCREEN_WIDTH
 	add hl, bc
-	ld a, [wStartFlypoint]
+	ld a, [wTrainerHUDTiles + 1]
 	ld [hl], a
-	ld b, $8
+	ld b, 8
 .loop
 	add hl, de
-	ld a, [wMovementBuffer]
+	ld a, [wTrainerHUDTiles + 3]
 	ld [hl], a
 	dec b
 	jr nz, .loop
 	add hl, de
-	ld a, [wEndFlypoint]
+	ld a, [wTrainerHUDTiles + 2]
 	ld [hl], a
 	ret
 
@@ -181,7 +184,7 @@
 	ld a, 10 * 8
 	ld [hli], a
 	ld [hl], 8 * 8
-	ld a, $8
+	ld a, 8
 	ld [wPlaceBallsDirection], a
 	ld hl, wVirtualOAMSprite00
 	call LoadTrainerHudOAM
--- a/engine/battle/used_move_text.asm
+++ b/engine/battle/used_move_text.asm
@@ -26,7 +26,7 @@
 
 	ld a, BATTLE_VARS_MOVE_ANIM
 	call GetBattleVar
-	ld [wd265], a
+	ld [wMoveGrammar], a
 
 	push hl
 	farcall CheckUserIsCharging
@@ -34,13 +34,12 @@
 	jr nz, .grammar
 
 	; update last move
-	ld a, [wd265]
+	ld a, [wMoveGrammar]
 	ld [hl], a
 	ld [de], a
 
 .grammar
-	call GetMoveGrammar
-; wd265 now contains MoveGrammar
+	call GetMoveGrammar ; convert move id to grammar index
 
 ; everything except 'instead' made redundant in localization
 
@@ -51,7 +50,7 @@
 	ret nz
 
 	; check move grammar
-	ld a, [wd265]
+	ld a, [wMoveGrammar]
 	cp $3
 	ld hl, UsedMove2Text
 	ret c
@@ -89,7 +88,7 @@
 	ld hl, .endusedmovetexts
 
 ; get move id
-	ld a, [wd265]
+	ld a, [wMoveGrammar]
 
 ; 2-byte pointer
 	add a
@@ -96,7 +95,7 @@
 
 ; seek
 	push bc
-	ld b, $0
+	ld b, 0
 	ld c, a
 	add hl, bc
 	pop bc
@@ -132,13 +131,13 @@
 	db "@"
 
 GetMoveGrammar:
-; store move grammar type in wd265
+; store move grammar type in wMoveGrammar
 
 	push bc
-; c = move id
-	ld a, [wd265]
-	ld c, a
-	ld b, $0
+; wMoveGrammar contains move id
+	ld a, [wMoveGrammar]
+	ld c, a ; move id
+	ld b, 0 ; grammar index
 
 ; read grammar table
 	ld hl, MoveGrammar
@@ -158,9 +157,9 @@
 	jr .loop
 
 .end
-; wd265 now contains move grammar
+; wMoveGrammar now contains move grammar
 	ld a, b
-	ld [wd265], a
+	ld [wMoveGrammar], a
 
 ; we're done
 	pop bc
--- a/engine/events/bug_contest/caught_mon.asm
+++ b/engine/events/bug_contest/caught_mon.asm
@@ -2,7 +2,7 @@
 	ld a, [wContestMon]
 	and a
 	jr z, .firstcatch
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	farcall DisplayAlreadyCaughtText
 	farcall DisplayCaughtContestMonStats
 	lb bc, 14, 7
@@ -12,7 +12,7 @@
 .firstcatch
 	call .generatestats
 	ld a, [wTempEnemyMonSpecies]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	ld hl, .caughttext
 	call PrintText
--- a/engine/events/bug_contest/display_stats.asm
+++ b/engine/events/bug_contest/display_stats.asm
@@ -36,7 +36,7 @@
 	call PlaceString
 
 	ld a, [wContestMon]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	ld de, wStringBuffer1
 	hlcoord 1, 2
--- a/engine/events/daycare.asm
+++ b/engine/events/daycare.asm
@@ -558,7 +558,7 @@
 	bit DAYCAREMAN_HAS_MON_F, a
 	ret z
 	callfar CheckBreedmonCompatibility
-	ld a, [wd265]
+	ld a, [wBreedingCompatibility]
 	and a
 	ret z
 	inc a
--- a/engine/events/field_moves.asm
+++ b/engine/events/field_moves.asm
@@ -407,7 +407,7 @@
 	ld d, 0
 	add hl, de
 	ld a, [hl]
-	ld [wd265], a
+	ld [wTempIconSpecies], a
 	ld e, FIELDMOVE_FLY
 	farcall FlyFunction_GetMonIcon
 	xor a
--- a/engine/events/halloffame.asm
+++ b/engine/events/halloffame.asm
@@ -462,7 +462,7 @@
 	call TextBox
 	ld a, [wTempMonSpecies]
 	ld [wCurPartySpecies], a
-	ld [wd265], a
+	ld [wDeciramBuffer], a
 	ld hl, wTempMonDVs
 	predef GetUnownLetter
 	xor a
@@ -477,7 +477,7 @@
 	ld [hli], a
 	ld [hl], "<DOT>"
 	hlcoord 3, 13
-	ld de, wd265
+	ld de, wDeciramBuffer
 	lb bc, PRINTNUM_LEADINGZEROS | 1, 3
 	call PrintNum
 	call GetBasePokemonName
--- a/engine/events/happiness_egg.asm
+++ b/engine/events/happiness_egg.asm
@@ -11,7 +11,7 @@
 	jr .loop
 
 .done
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	ld a, [hl]
 	ld [wScriptVar], a
 	call GetPokemonName
@@ -19,9 +19,9 @@
 
 CheckFirstMonIsEgg:
 	ld a, [wPartySpecies]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	cp EGG
-	ld a, 1
+	ld a, TRUE
 	jr z, .egg
 	xor a
 
@@ -196,15 +196,15 @@
 	call Random
 	ld [hl], a
 	callfar CheckBreedmonCompatibility
-	ld a, [wd265]
+	ld a, [wBreedingCompatibility]
 	cp 230
 	ld b, 32 percent - 1
 	jr nc, .okay
-	ld a, [wd265]
+	ld a, [wBreedingCompatibility]
 	cp 170
 	ld b, 16 percent
 	jr nc, .okay
-	ld a, [wd265]
+	ld a, [wBreedingCompatibility]
 	cp 110
 	ld b, 12 percent
 	jr nc, .okay
--- a/engine/events/lucky_number.asm
+++ b/engine/events/lucky_number.asm
@@ -1,7 +1,7 @@
 CheckForLuckyNumberWinners:
 	xor a
 	ld [wScriptVar], a
-	ld [wFoundMatchingIDInParty], a
+	ld [wTempByteValue], a
 	ld a, [wPartyCount]
 	and a
 	ret z
@@ -34,8 +34,8 @@
 	jr z, .SkipOpenBoxMon
 	call .CompareLuckyNumberToMonID
 	jr nc, .SkipOpenBoxMon
-	ld a, 1
-	ld [wFoundMatchingIDInParty], a
+	ld a, TRUE
+	ld [wTempByteValue], a
 
 .SkipOpenBoxMon:
 	push bc
@@ -81,8 +81,8 @@
 
 	call .CompareLuckyNumberToMonID ; sets wScriptVar and wCurPartySpecies appropriately
 	jr nc, .SkipBoxMon
-	ld a, 1
-	ld [wFoundMatchingIDInParty], a
+	ld a, TRUE
+	ld [wTempByteValue], a
 
 .SkipBoxMon:
 	push bc
@@ -104,7 +104,7 @@
 	and a
 	ret z ; found nothing
 	farcall StubbedTrainerRankings_LuckyNumberShow
-	ld a, [wFoundMatchingIDInParty]
+	ld a, [wTempByteValue]
 	and a
 	push af
 	ld a, [wCurPartySpecies]
@@ -127,14 +127,14 @@
 	ld hl, wBuffer1
 	lb bc, PRINTNUM_LEADINGZEROS | 2, 5
 	call PrintNum
-	ld hl, wLuckyNumberDigit1Buffer
+	ld hl, wLuckyNumberDigitsBuffer
 	ld de, wLuckyIDNumber
 	lb bc, PRINTNUM_LEADINGZEROS | 2, 5
 	call PrintNum
 	ld b, 5
 	ld c, 0
-	ld hl, wLuckyNumberDigit5Buffer
-	ld de, wBuffer5
+	ld hl, wLuckyNumberDigitsBuffer + 4
+	ld de, wBuffer1 + 4
 .loop
 	ld a, [de]
 	cp [hl]
--- a/engine/events/magikarp.asm
+++ b/engine/events/magikarp.asm
@@ -185,7 +185,7 @@
 
 	ld hl, MagikarpLengths
 	ld a, 2
-	ld [wd265], a
+	ld [wTempByteValue], a
 
 .read
 	ld a, [hli]
@@ -214,7 +214,7 @@
 	ld [hMultiplicand + 1], a
 	ld a, 100
 	ld [hMultiplicand + 2], a
-	ld a, [wd265]
+	ld a, [wTempByteValue]
 	ld [hMultiplier], a
 	call Multiply
 	ld b, 0
@@ -228,9 +228,9 @@
 
 .next
 	inc hl ; align to next triplet
-	ld a, [wd265]
+	ld a, [wTempByteValue]
 	inc a
-	ld [wd265], a
+	ld [wTempByteValue], a
 	cp 16
 	jr c, .read
 
--- a/engine/events/move_deleter.asm
+++ b/engine/events/move_deleter.asm
@@ -28,7 +28,7 @@
 	ld a, [wMenuCursorY]
 	push af
 	ld a, [wCurSpecies]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetMoveName
 	ld hl, .ConfirmDeleteText
 	call PrintText
--- a/engine/events/move_tutor.asm
+++ b/engine/events/move_tutor.asm
@@ -8,7 +8,7 @@
 	xor a
 	ld [wItemAttributeParamBuffer], a
 	call .GetMoveTutorMove
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	ld [wPutativeTMHMMove], a
 	call GetMoveName
 	call CopyName1
--- a/engine/events/name_rater.asm
+++ b/engine/events/name_rater.asm
@@ -29,7 +29,7 @@
 	xor a ; PARTYMON
 	ld [wMonType], a
 	ld a, [wCurPartySpecies]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	ld [wCurSpecies], a
 	call GetBaseData
 	ld b, 0
--- a/engine/events/npc_trade.asm
+++ b/engine/events/npc_trade.asm
@@ -301,7 +301,7 @@
 
 GetTradeMonName:
 	push de
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetBasePokemonName
 	ld hl, wStringBuffer1
 	pop de
--- a/engine/events/specials.asm
+++ b/engine/events/specials.asm
@@ -34,7 +34,7 @@
 	call SetSeenAndCaughtMon
 	call FadeToMenu
 	ld a, [wScriptVar]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	farcall NewPokedexEntry
 	call ExitAllMenus
 	ret
@@ -153,7 +153,7 @@
 	ld [sMysteryGiftItem], a
 	call CloseSRAM
 	ld a, [wCurItem]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetItemName
 	ld hl, .ReceiveItemText
 	call PrintText
--- a/engine/gfx/mon_icons.asm
+++ b/engine/gfx/mon_icons.asm
@@ -34,13 +34,14 @@
 	jp hl
 
 .Jumptable:
-	dw PartyMenu_InitAnimatedMonIcon ; party menu
-	dw NamingScreen_InitAnimatedMonIcon ; naming screen
-	dw MoveList_InitAnimatedMonIcon ; moves (?)
-	dw Trade_LoadMonIconGFX ; trade
-	dw Mobile_InitAnimatedMonIcon ; mobile
-	dw Mobile_InitPartyMenuBGPal71 ; mobile
-	dw .GetPartyMenuMonIcon ; unused
+; entries correspond to MONICON_* constants
+	dw PartyMenu_InitAnimatedMonIcon    ; MONICON_PARTYMENU
+	dw NamingScreen_InitAnimatedMonIcon ; MONICON_NAMINGSCREEN
+	dw MoveList_InitAnimatedMonIcon     ; MONICON_MOVES
+	dw Trade_LoadMonIconGFX             ; MONICON_TRADE
+	dw Mobile_InitAnimatedMonIcon       ; MONICON_MOBILE1
+	dw Mobile_InitPartyMenuBGPal71      ; MONICON_MOBILE2
+	dw .GetPartyMenuMonIcon             ; MONICON_UNUSED
 
 .GetPartyMenuMonIcon:
 	call InitPartyMenuIcon
@@ -65,14 +66,14 @@
 	pop bc
 	pop hl
 	jr c, .not_mail
-	ld a, $6
+	ld a, $06
 	jr .got_tile
 .not_mail
-	ld a, $5
-	; jr .got_tile
+	ld a, $05
+	; fallthrough
 
 .no_item
-	ld a, $4
+	ld a, $04
 .got_tile
 	ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
 	add hl, bc
@@ -156,7 +157,7 @@
 	ld a, [hObjectStructIndexBuffer]
 	ld hl, wPartySpecies
 	ld e, a
-	ld d, $0
+	ld d, 0
 	add hl, de
 	ld a, [hl]
 	call ReadMonMenuIcon
@@ -214,7 +215,7 @@
 	db $80 ; HP_RED
 
 NamingScreen_InitAnimatedMonIcon:
-	ld a, [wd265]
+	ld a, [wTempIconSpecies]
 	call ReadMonMenuIcon
 	ld [wCurIcon], a
 	xor a
@@ -228,7 +229,7 @@
 	ret
 
 MoveList_InitAnimatedMonIcon:
-	ld a, [wd265]
+	ld a, [wTempIconSpecies]
 	call ReadMonMenuIcon
 	ld [wCurIcon], a
 	xor a
@@ -243,7 +244,7 @@
 	ret
 
 Trade_LoadMonIconGFX:
-	ld a, [wd265]
+	ld a, [wTempIconSpecies]
 	call ReadMonMenuIcon
 	ld [wCurIcon], a
 	ld a, $62
@@ -254,7 +255,7 @@
 GetSpeciesIcon:
 ; Load species icon into VRAM at tile a
 	push de
-	ld a, [wd265]
+	ld a, [wTempIconSpecies]
 	call ReadMonMenuIcon
 	ld [wCurIcon], a
 	pop de
@@ -264,7 +265,7 @@
 
 FlyFunction_GetMonIcon:
 	push de
-	ld a, [wd265]
+	ld a, [wTempIconSpecies]
 	call ReadMonMenuIcon
 	ld [wCurIcon], a
 	pop de
@@ -274,7 +275,7 @@
 
 Unreferenced_GetMonIcon2:
 	push de
-	ld a, [wd265]
+	ld a, [wTempIconSpecies]
 	call ReadMonMenuIcon
 	ld [wCurIcon], a
 	pop de
--- a/engine/items/item_effects.asm
+++ b/engine/items/item_effects.asm
@@ -1,6 +1,6 @@
 _DoItemEffect::
 	ld a, [wCurItem]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetItemName
 	call CopyName1
 	ld a, 1
@@ -489,7 +489,7 @@
 	ld a, [wEnemyMonSpecies]
 	ld [wWildMon], a
 	ld [wCurPartySpecies], a
-	ld [wd265], a
+	ld [wTempSpecies], a
 	ld a, [wBattleType]
 	cp BATTLETYPE_TUTORIAL
 	jp z, .FinishTutorial
@@ -501,13 +501,13 @@
 
 	call ClearSprites
 
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	dec a
 	call CheckCaughtMon
 
 	ld a, c
 	push af
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	dec a
 	call SetSeenAndCaughtMon
 	pop af
@@ -523,7 +523,7 @@
 	call ClearSprites
 
 	ld a, [wEnemyMonSpecies]
-	ld [wd265], a
+	ld [wTempSpecies], a
 	predef NewPokedexEntry
 
 .skip_pokedex
@@ -566,7 +566,7 @@
 	call PrintText
 
 	ld a, [wCurPartySpecies]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 
 	call YesNoBox
@@ -626,7 +626,7 @@
 	call PrintText
 
 	ld a, [wCurPartySpecies]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 
 	call YesNoBox
@@ -1276,7 +1276,7 @@
 RareCandy_StatBooster_GetParameters:
 	ld a, [wCurPartySpecies]
 	ld [wCurSpecies], a
-	ld [wd265], a
+	ld [wTempSpecies], a
 	ld a, MON_LEVEL
 	call GetPartyParamLocation
 	ld a, [hl]
@@ -1368,7 +1368,7 @@
 	xor a ; PARTYMON
 	ld [wMonType], a
 	ld a, [wCurPartySpecies]
-	ld [wd265], a
+	ld [wTempSpecies], a
 	predef LearnLevelMoves
 
 	xor a
@@ -2344,7 +2344,7 @@
 
 	push hl
 	ld a, [hl]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetMoveName
 	call CopyName1
 	pop hl
@@ -2373,8 +2373,8 @@
 	ld a, [hl]
 	add PP_UP_ONE
 	ld [hl], a
-	ld a, $1
-	ld [wd265], a
+	ld a, TRUE
+	ld [wUsePPUp], a
 	call ApplyPPUp
 	call Play_SFX_FULL_HEAL
 
@@ -2492,7 +2492,7 @@
 	ld hl, wPartyMon1PP
 	ld bc, PARTYMON_STRUCT_LENGTH
 	call GetMthMoveOfNthPartymon
-	ld a, [wd265]
+	ld a, [wTempPP]
 	ld b, a
 	ld a, [hl]
 	and PP_MASK
@@ -2765,8 +2765,8 @@
 	ld a, b
 	cp NUM_MOVES + 1
 	ret z
-	ld a, [wd265]
-	dec a
+	ld a, [wUsePPUp]
+	dec a ; FALSE?
 	jr nz, .use
 	ld a, [wMenuCursorY]
 	inc a
@@ -2822,7 +2822,7 @@
 .okay
 	add b
 	ld b, a
-	ld a, [wd265]
+	ld a, [wTempPP]
 	dec a
 	jr z, .NoPPUp
 	dec c
@@ -2857,7 +2857,7 @@
 	ld a, [de]
 	and PP_UP_MASK
 	ld b, a
-	ld a, [wd265]
+	ld a, [wTempPP]
 	add b
 	ld [de], a
 	inc de
@@ -2933,12 +2933,12 @@
 	ld hl, wStringBuffer1 + 1
 	ld [hl], a
 	xor a
-	ld [wd265], a
+	ld [wTempPP], a
 	ld a, b ; this gets lost anyway
 	call ComputeMaxPP
 	ld a, [hl]
 	and PP_MASK
-	ld [wd265], a
+	ld [wTempPP], a
 
 	pop af
 	ld [wStringBuffer1 + 1], a
--- a/engine/items/print_item_description.asm
+++ b/engine/items/print_item_description.asm
@@ -9,7 +9,7 @@
 	push de
 	farcall GetTMHMItemMove
 	pop hl
-	ld a, [wd265]
+	ld a, [wTempTMHM]
 	ld [wCurSpecies], a
 	predef PrintMoveDesc
 	ret
--- a/engine/items/tmhm.asm
+++ b/engine/items/tmhm.asm
@@ -33,7 +33,7 @@
 	ld c, a
 	callfar GetTMHMNumber
 	ld a, c
-	ld [wCurTMHM], a
+	ld [wTempTMHM], a
 	ret
 
 GetTMHMItemMove:
@@ -50,7 +50,7 @@
 	cp TM01
 	jr c, .NotTMHM
 	call GetTMHMItemMove
-	ld a, [wCurTMHM]
+	ld a, [wTempTMHM]
 	ld [wPutativeTMHMMove], a
 	call GetMoveName
 	call CopyName1
@@ -251,9 +251,9 @@
 	ld a, [wCurItem]
 	cp NUM_TMS + NUM_HMS + 1
 	jr nc, TMHM_JoypadLoop
-	ld [wd265], a
+	ld [wTempTMHM], a
 	predef GetTMHMMove
-	ld a, [wd265]
+	ld a, [wTempTMHM]
 	ld [wCurSpecies], a
 	hlcoord 1, 14
 	call PrintMoveDesc
@@ -261,7 +261,7 @@
 
 TMHM_ChooseTMorHM:
 	call TMHM_PlaySFX_ReadText2
-	call CountTMsHMs ; This stores the count to wd265.
+	call CountTMsHMs ; This stores the count to wTempTMHM.
 	ld a, [wMenuCursorY]
 	dec a
 	ld b, a
@@ -268,7 +268,7 @@
 	ld a, [wTMHMPocketScrollPosition]
 	add b
 	ld b, a
-	ld a, [wd265]
+	ld a, [wTempTMHM]
 	cp b
 	jr z, _TMHM_ExitPack ; our cursor was hovering over CANCEL
 TMHM_CheckHoveringOverCancel:
@@ -354,16 +354,16 @@
 	jr z, .loop2
 	ld b, a
 	ld a, c
-	ld [wd265], a
+	ld [wTempTMHM], a
 	push hl
 	push de
 	push bc
 	call TMHMPocket_GetCurrentLineCoord
 	push hl
-	ld a, [wd265]
+	ld a, [wTempTMHM]
 	cp NUM_TMS + 1
 	jr nc, .HM
-	ld de, wd265
+	ld de, wTempTMHM
 	lb bc, PRINTNUM_LEADINGZEROS | 1, 2
 	call PrintNum
 	jr .okay
@@ -371,17 +371,17 @@
 .HM:
 	push af
 	sub NUM_TMS
-	ld [wd265], a
+	ld [wTempTMHM], a
 	ld [hl], "H"
 	inc hl
-	ld de, wd265
+	ld de, wTempTMHM
 	lb bc, PRINTNUM_RIGHTALIGN | 1, 2
 	call PrintNum
 	pop af
-	ld [wd265], a
+	ld [wTempTMHM], a
 .okay
 	predef GetTMHMMove
-	ld a, [wd265]
+	ld a, [wNamedObjectIndexBuffer]
 	ld [wPutativeTMHMMove], a
 	call GetMoveName
 	pop hl
@@ -403,8 +403,8 @@
 	pop bc
 	push bc
 	ld a, b
-	ld [wd265], a
-	ld de, wd265
+	ld [wTempTMHM], a
+	ld de, wTempTMHM
 	lb bc, 1, 2
 	call PrintNum
 .hm2
@@ -445,7 +445,7 @@
 	ld bc, 3
 	add hl, bc
 	predef GetTMHMMove
-	ld a, [wd265]
+	ld a, [wTempTMHM]
 	ld [wPutativeTMHMMove], a
 	call GetMoveName
 	push hl
@@ -508,7 +508,7 @@
 	db "@"
 
 .CheckHaveRoomForTMHM:
-	ld a, [wd265]
+	ld a, [wTempTMHM]
 	dec a
 	ld hl, wTMsHMs
 	ld b, 0
@@ -523,7 +523,7 @@
 
 ConsumeTM:
 	call ConvertCurItemIntoCurTMHM
-	ld a, [wd265]
+	ld a, [wTempTMHM]
 	dec a
 	ld hl, wTMsHMs
 	ld b, 0
@@ -555,7 +555,7 @@
 	dec c
 	jr nz, .loop
 	ld a, b
-	ld [wd265], a
+	ld [wTempTMHM], a
 	ret
 
 PrintMoveDesc:
--- a/engine/items/tmhm2.asm
+++ b/engine/items/tmhm2.asm
@@ -33,7 +33,7 @@
 	ret
 
 GetTMHMMove:
-	ld a, [wd265]
+	ld a, [wTempTMHM]
 	dec a
 	ld hl, TMHMMoves
 	ld b, 0
@@ -40,7 +40,7 @@
 	ld c, a
 	add hl, bc
 	ld a, [hl]
-	ld [wd265], a
+	ld [wTempTMHM], a
 	ret
 
 INCLUDE "data/moves/tmhm_moves.asm"
--- a/engine/link/link.asm
+++ b/engine/link/link.asm
@@ -149,13 +149,13 @@
 	ld a, [hli]
 	cp -1
 	jr z, .done_party
-	ld [wd265], a
+	ld [wTempSpecies], a
 	push hl
 	push de
 	callfar ConvertMon_1to2
 	pop de
 	pop hl
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	ld [de], a
 	inc de
 	jr .party_loop
@@ -651,13 +651,13 @@
 	ld a, [hli]
 	cp -1
 	jr z, .done_party
-	ld [wd265], a
+	ld [wTempSpecies], a
 	push hl
 	push de
 	callfar ConvertMon_2to1
 	pop de
 	pop hl
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	ld [de], a
 	inc de
 	jr .loop2
@@ -692,11 +692,11 @@
 	push de
 	push bc
 	ld a, [hl]
-	ld [wd265], a
+	ld [wTempSpecies], a
 	callfar ConvertMon_2to1
 	pop bc
 	pop de
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	ld [de], a
 	inc de
 	ld hl, MON_HP
@@ -976,11 +976,11 @@
 	inc de
 	push bc
 	push de
-	ld [wd265], a
+	ld [wTempSpecies], a
 	callfar ConvertMon_1to2
 	pop de
 	pop bc
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	ld [bc], a
 	ld [wCurSpecies], a
 	ld hl, MON_HP
@@ -1461,7 +1461,7 @@
 	ld b, 0
 	add hl, bc
 	ld a, [hl]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	hlcoord 0, 12
 	ld b, 4
@@ -1619,7 +1619,7 @@
 	ld b, 0
 	add hl, bc
 	ld a, [hl]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	ld hl, wStringBuffer1
 	ld de, wd004
@@ -1631,7 +1631,7 @@
 	ld b, 0
 	add hl, bc
 	ld a, [hl]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	ld hl, UnknownText_0x28eb8
 	bccoord 1, 14
@@ -2047,7 +2047,7 @@
 	jr .done
 
 .mon_too_new
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	ld a, $1
 	jr .done
@@ -2054,7 +2054,7 @@
 
 .move_too_new
 	push bc
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetMoveName
 	call CopyName1
 	pop bc
@@ -2079,7 +2079,7 @@
 	ld hl, wPartyCount
 	add hl, bc
 	ld a, [hl]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	ret
 
@@ -2146,13 +2146,13 @@
 SetBitsForLinkTradeRequest:
 	ld a, LINK_TRADECENTER - 1
 	ld [wPlayerLinkAction], a
-	ld [wd265], a
+	ld [wChosenCableClubRoom], a
 	ret
 
 SetBitsForBattleRequest:
 	ld a, LINK_COLOSSEUM - 1
 	ld [wPlayerLinkAction], a
-	ld [wd265], a
+	ld [wChosenCableClubRoom], a
 	ret
 
 SetBitsForTimeCapsuleRequest:
@@ -2166,7 +2166,7 @@
 	ld [rSC], a
 	xor a ; LINK_TIMECAPSULE - 1
 	ld [wPlayerLinkAction], a
-	ld [wd265], a
+	ld [wChosenCableClubRoom], a
 	ret
 
 WaitForLinkedFriend:
@@ -2373,7 +2373,7 @@
 	ret
 
 TryQuickSave:
-	ld a, [wd265]
+	ld a, [wChosenCableClubRoom]
 	push af
 	farcall Link_SaveGame
 	ld a, TRUE
@@ -2384,11 +2384,11 @@
 	ld c, 30
 	call DelayFrames
 	pop af
-	ld [wd265], a
+	ld [wChosenCableClubRoom], a
 	ret
 
 CheckBothSelectedSameRoom:
-	ld a, [wd265]
+	ld a, [wChosenCableClubRoom]
 	call Link_EnsureSync
 	push af
 	call LinkDataReceived
@@ -2396,10 +2396,10 @@
 	call LinkDataReceived
 	pop af
 	ld b, a
-	ld a, [wd265]
+	ld a, [wChosenCableClubRoom]
 	cp b
 	jr nz, .fail
-	ld a, [wd265]
+	ld a, [wChosenCableClubRoom]
 	inc a
 	ld [wLinkMode], a
 	xor a
--- a/engine/link/mystery_gift.asm
+++ b/engine/link/mystery_gift.asm
@@ -1430,7 +1430,7 @@
 	ld de, wMysteryGiftTrainerData
 	farcall Function8ac70
 	ld a, c
-	ld [wd265], a
+	ld [wDeciramBuffer], a
 	ld hl, Text_CardNotRegistered
 	jr c, PrintTextAndExit_JP
 	ld hl, Text_ListedCardAsNumber
--- a/engine/link/mystery_gift_2.asm
+++ b/engine/link/mystery_gift_2.asm
@@ -24,7 +24,7 @@
 	call CountSetBits
 	pop de
 	pop bc
-	ld a, [wd265]
+	ld a, [wNumSetBits]
 	ld [de], a
 	inc de ; wc80f
 	call CloseSRAM
--- a/engine/link/time_capsule.asm
+++ b/engine/link/time_capsule.asm
@@ -122,7 +122,7 @@
 	ld a, [de]
 	cp -1
 	ret z
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	push bc
 	push hl
 	push de
--- a/engine/link/time_capsule_2.asm
+++ b/engine/link/time_capsule_2.asm
@@ -1,8 +1,10 @@
 ConvertMon_2to1:
-; Takes the Gen-2 Pokemon number stored in wd265, finds it in the Pokered_MonIndices table, and returns its index in wd265.
+; Takes the Gen 2 Pokemon number stored in wTempSpecies,
+; finds it in the Pokered_MonIndices table,
+; and returns its index in wTempSpecies.
 	push bc
 	push hl
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	ld b, a
 	ld c, 0
 	ld hl, Pokered_MonIndices
@@ -12,16 +14,17 @@
 	cp b
 	jr nz, .loop
 	ld a, c
-	ld [wd265], a
+	ld [wTempSpecies], a
 	pop hl
 	pop bc
 	ret
 
 ConvertMon_1to2:
-; Takes the Gen-1 Pokemon number stored in wd265 and returns the corresponding value from Pokered_MonIndices in wd265.
+; Takes the Gen 1 Pokemon number stored in wTempSpecies
+; and returns the corresponding value from Pokered_MonIndices in wTempSpecies.
 	push bc
 	push hl
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	dec a
 	ld hl, Pokered_MonIndices
 	ld b, 0
@@ -28,7 +31,7 @@
 	ld c, a
 	add hl, bc
 	ld a, [hl]
-	ld [wd265], a
+	ld [wTempSpecies], a
 	pop hl
 	pop bc
 	ret
--- a/engine/menus/debug.asm
+++ b/engine/menus/debug.asm
@@ -311,9 +311,9 @@
 	ld a, [wcf66]
 	inc a
 	ld [wCurPartySpecies], a
-	ld [wd265], a
+	ld [wDeciramBuffer], a
 	hlcoord 0, 1
-	ld de, wd265
+	ld de, wDeciramBuffer
 	lb bc, PRINTNUM_LEADINGZEROS | 1, 3
 	call PrintNum
 	ld a, [wd002]
@@ -353,7 +353,7 @@
 	jr .asm_81ba9
 
 .asm_81b7a
-	ld a, [wd265]
+	ld a, [wDeciramBuffer]
 	ld [wTrainerClass], a
 	callfar GetTrainerAttributes
 	ld de, wStringBuffer1
@@ -738,9 +738,9 @@
 	call Function81e5e
 	ld a, [wd004]
 	inc a
-	ld [wd265], a
+	ld [wTempTMHM], a
 	predef GetTMHMMove
-	ld a, [wd265]
+	ld a, [wTempTMHM]
 	ld [wPutativeTMHMMove], a
 	call GetMoveName
 	hlcoord 10, 12
--- a/engine/menus/intro_menu.asm
+++ b/engine/menus/intro_menu.asm
@@ -593,7 +593,7 @@
 	ld b, 2
 	call CountSetBits
 	pop hl
-	ld de, wd265
+	ld de, wNumSetBits
 	lb bc, 1, 2
 	jp PrintNum
 
@@ -610,7 +610,7 @@
 endc
 	call CountSetBits
 	pop hl
-	ld de, wd265
+	ld de, wNumSetBits
 	lb bc, 1, 3
 	jp PrintNum
 
--- a/engine/menus/menu_2.asm
+++ b/engine/menus/menu_2.asm
@@ -170,7 +170,7 @@
 	and a
 	ld de, .None
 	jr z, .no_contest_mon
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 
 .no_contest_mon
--- a/engine/menus/naming_screen.asm
+++ b/engine/menus/naming_screen.asm
@@ -84,13 +84,13 @@
 
 .Pokemon:
 	ld a, [wCurPartySpecies]
-	ld [wd265], a
+	ld [wTempIconSpecies], a
 	ld hl, LoadMenuMonIcon
 	ld a, BANK(LoadMenuMonIcon)
-	ld e, $1
-	rst FarCall ;  ; indirect jump to LoadMenuMonIcon (8e83f (23:683f))
+	ld e, MONICON_NAMINGSCREEN
+	rst FarCall
 	ld a, [wCurPartySpecies]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	hlcoord 5, 2
 	call PlaceString
--- a/engine/menus/save.asm
+++ b/engine/menus/save.asm
@@ -133,12 +133,12 @@
 	ret
 
 PauseGameLogic:
-	ld a, $1
+	ld a, TRUE
 	ld [wGameLogicPaused], a
 	ret
 
 ResumeGameLogic:
-	xor a
+	xor a ; FALSE
 	ld [wGameLogicPaused], a
 	ret
 
@@ -230,13 +230,13 @@
 SavedTheGame:
 	call _SaveGameData
 	; wait 32 frames
-	ld c, $20
+	ld c, 32
 	call DelayFrames
 	; copy the original text speed setting to the stack
 	ld a, [wOptions]
 	push af
-	; set text speed super slow
-	ld a, 3
+	; set text speed to medium
+	ld a, TEXT_DELAY_MED
 	ld [wOptions], a
 	; <PLAYER> saved the game!
 	ld hl, Text_PlayerSavedTheGame
@@ -248,7 +248,7 @@
 	call WaitPlaySFX
 	call WaitSFX
 	; wait 30 frames
-	ld c, $1e
+	ld c, 30
 	call DelayFrames
 	ret
 
@@ -332,8 +332,8 @@
 	; Save the text speed setting to the stack
 	ld a, [wOptions]
 	push af
-	; Set the text speed to super slow
-	ld a, $3
+	; Set the text speed to medium
+	ld a, TEXT_DELAY_MED
 	ld [wOptions], a
 	; SAVING... DON'T TURN OFF THE POWER.
 	ld hl, Text_SavingDontTurnOffThePower
@@ -342,7 +342,7 @@
 	pop af
 	ld [wOptions], a
 	; Wait for 16 frames
-	ld c, $10
+	ld c, 16
 	call DelayFrames
 	ret
 
--- a/engine/menus/start_menu.asm
+++ b/engine/menus/start_menu.asm
@@ -639,7 +639,7 @@
 
 PartyMonItemName:
 	ld a, [wCurItem]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetItemName
 	call CopyName1
 	ret
@@ -842,7 +842,7 @@
 	ret
 
 .already_holding_item
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetItemName
 	ld hl, SwitchAlreadyHoldingText
 	call StartMenuYesNo
@@ -849,10 +849,10 @@
 	jr c, .abort
 
 	call GiveItemToPokemon
-	ld a, [wd265]
+	ld a, [wNamedObjectIndexBuffer]
 	push af
 	ld a, [wCurItem]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	pop af
 	ld [wCurItem], a
 	call ReceiveItemFromPokemon
@@ -860,13 +860,13 @@
 
 	ld hl, TookAndMadeHoldText
 	call MenuTextBoxBackup
-	ld a, [wd265]
+	ld a, [wNamedObjectIndexBuffer]
 	ld [wCurItem], a
 	call GivePartyItem
 	ret
 
 .bag_full
-	ld a, [wd265]
+	ld a, [wNamedObjectIndexBuffer]
 	ld [wCurItem], a
 	call ReceiveItemFromPokemon
 	ld hl, ItemStorageIsFullText
@@ -901,7 +901,7 @@
 	farcall ItemIsMail
 	call GetPartyItemLocation
 	ld a, [hl]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	ld [hl], NO_ITEM
 	call GetItemName
 	ld hl, TookFromText
@@ -1654,8 +1654,8 @@
 	ld hl, wPartySpecies
 	add hl, de
 	ld a, [hl]
-	ld [wd265], a
-	ld e, $2
+	ld [wTempIconSpecies], a
+	ld e, MONICON_MOVES
 	farcall LoadMenuMonIcon
 	hlcoord 0, 1
 	ld b, 9
@@ -1724,7 +1724,7 @@
 	ld b, $0
 	add hl, bc
 	ld a, [hl]
-	ld [wCurMove], a
+	ld [wCurSpecies], a
 	hlcoord 1, 12
 	lb bc, 5, 18
 	jp ClearBox
@@ -1741,11 +1741,11 @@
 	hlcoord 12, 12
 	ld de, String_MoveAtk
 	call PlaceString
-	ld a, [wCurMove]
+	ld a, [wCurSpecies]
 	ld b, a
 	hlcoord 2, 12
 	predef PrintMoveType
-	ld a, [wCurMove]
+	ld a, [wCurSpecies]
 	dec a
 	ld hl, Moves + MOVE_POWER
 	ld bc, MOVE_LENGTH
@@ -1755,8 +1755,8 @@
 	hlcoord 16, 12
 	cp 2
 	jr c, .no_power
-	ld [wd265], a
-	ld de, wd265
+	ld [wDeciramBuffer], a
+	ld de, wDeciramBuffer
 	lb bc, 1, 3
 	call PrintNum
 	jr .description
--- a/engine/menus/trainer_card.asm
+++ b/engine/menus/trainer_card.asm
@@ -276,7 +276,7 @@
 	ld hl, wPokedexCaught
 	ld b, wEndPokedexCaught - wPokedexCaught
 	call CountSetBits
-	ld de, wd265
+	ld de, wNumSetBits
 	hlcoord 15, 10
 	lb bc, 1, 3
 	call PrintNum
--- a/engine/movie/credits.asm
+++ b/engine/movie/credits.asm
@@ -377,7 +377,7 @@
 	push de
 	ld a, [wCreditsPos]
 	ld e, a
-	ld a, [wCreditsPos+1]
+	ld a, [wCreditsPos + 1]
 	ld d, a
 	ld hl, CreditsScript
 	add hl, de
@@ -386,7 +386,7 @@
 	ld a, e
 	ld [wCreditsPos], a
 	ld a, d
-	ld [wCreditsPos+1], a
+	ld [wCreditsPos + 1], a
 	ld a, [hl]
 	pop de
 	pop hl
--- a/engine/movie/trade_animation.asm
+++ b/engine/movie/trade_animation.asm
@@ -317,7 +317,7 @@
 	ld a, TRADEANIM_RIGHT_ARROW
 	call TradeAnim_PlaceTrademonStatsOnTubeAnim
 	ld a, [wLinkTradeSendmonSpecies]
-	ld [wd265], a
+	ld [wTempIconSpecies], a
 	xor a
 	depixel 5, 11, 4, 0
 	ld b, $0
@@ -327,7 +327,7 @@
 	ld a, TRADEANIM_LEFT_ARROW
 	call TradeAnim_PlaceTrademonStatsOnTubeAnim
 	ld a, [wLinkTradeGetmonSpecies]
-	ld [wd265], a
+	ld [wTempIconSpecies], a
 	ld a, TRADEANIMSTATE_2
 	depixel 9, 18, 4, 4
 	ld b, $4
@@ -820,7 +820,7 @@
 
 TradeAnim_GetNickname:
 	push de
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	ld hl, wStringBuffer1
 	pop de
@@ -1373,7 +1373,7 @@
 
 LoadTradeBubbleGFX:
 	call DelayFrame
-	ld e, $3
+	ld e, MONICON_TRADE
 	callfar LoadMenuMonIcon
 	ld de, TradeBubbleGFX
 	ld hl, vTiles0 tile $72
--- a/engine/overworld/decorations.asm
+++ b/engine/overworld/decorations.asm
@@ -559,7 +559,7 @@
 
 .getpokename
 	push bc
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	pop bc
 	jr .copy
--- a/engine/overworld/events.asm
+++ b/engine/overworld/events.asm
@@ -972,17 +972,18 @@
 	ret
 
 PlayerEventScriptPointers:
-	dba Invalid_0x96c2d          ; 0
-	dba SeenByTrainerScript      ; 1
-	dba TalkToTrainerScript      ; 2
-	dba FindItemInBallScript     ; 3
-	dba EdgeWarpScript           ; 4
-	dba WarpToNewMapScript       ; 5
-	dba FallIntoMapScript        ; 6
-	dba Script_OverworldWhiteout ; 7
-	dba HatchEggScript           ; 8
-	dba ChangeDirectionScript    ; 9
-	dba Invalid_0x96c2d          ; 10
+; entries correspond to PLAYEREVENT_* constants
+	dba Invalid_0x96c2d          ; PLAYEREVENT_NONE
+	dba SeenByTrainerScript      ; PLAYEREVENT_SEENBYTRAINER
+	dba TalkToTrainerScript      ; PLAYEREVENT_TALKTOTRAINER
+	dba FindItemInBallScript     ; PLAYEREVENT_ITEMBALL
+	dba EdgeWarpScript           ; PLAYEREVENT_CONNECTION
+	dba WarpToNewMapScript       ; PLAYEREVENT_WARP
+	dba FallIntoMapScript        ; PLAYEREVENT_FALL
+	dba Script_OverworldWhiteout ; PLAYEREVENT_WHITEOUT
+	dba HatchEggScript           ; PLAYEREVENT_HATCH
+	dba ChangeDirectionScript    ; PLAYEREVENT_JOYCHANGEFACING
+	dba Invalid_0x96c2d          ; (NUM_PLAYER_EVENTS)
 
 Invalid_0x96c2d:
 	end
--- a/engine/overworld/scripting.asm
+++ b/engine/overworld/scripting.asm
@@ -623,7 +623,7 @@
 
 CurItemName:
 	ld a, [wCurItem]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetItemName
 	ret
 
@@ -1863,7 +1863,7 @@
 	jr nz, .gotit
 	ld a, [wScriptVar]
 .gotit
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	ld de, wStringBuffer1
 
@@ -1890,7 +1890,7 @@
 	jr nz, .ok
 	ld a, [wScriptVar]
 .ok
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetItemName
 	ld de, wStringBuffer1
 	jr ConvertMemToText
--- a/engine/overworld/variables.asm
+++ b/engine/overworld/variables.asm
@@ -72,7 +72,7 @@
 	ld hl, wPokedexCaught
 	ld b, wEndPokedexCaught - wPokedexCaught
 	call CountSetBits
-	ld a, [wd265]
+	ld a, [wNumSetBits]
 	jp .loadstringbuffer2
 
 .CountSeenMons:
@@ -80,7 +80,7 @@
 	ld hl, wPokedexSeen
 	ld b, wEndPokedexSeen - wPokedexSeen
 	call CountSetBits
-	ld a, [wd265]
+	ld a, [wNumSetBits]
 	jp .loadstringbuffer2
 
 .CountBadges:
@@ -88,7 +88,7 @@
 	ld hl, wBadges
 	ld b, 2
 	call CountSetBits
-	ld a, [wd265]
+	ld a, [wNumSetBits]
 	jp .loadstringbuffer2
 
 .PlayerFacing:
--- a/engine/pokedex/pokedex.asm
+++ b/engine/pokedex/pokedex.asm
@@ -465,7 +465,7 @@
 
 .Cry:
 	call Pokedex_GetSelectedMon
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	call GetCryIndex
 	ld e, c
 	ld d, b
@@ -1088,7 +1088,7 @@
 	ld hl, wPokedexSeen
 	ld b, wEndPokedexSeen - wPokedexSeen
 	call CountSetBits
-	ld de, wd265
+	ld de, wNumSetBits
 	hlcoord 5, 12
 	lb bc, 1, 3
 	call PrintNum
@@ -1098,7 +1098,7 @@
 	ld hl, wPokedexCaught
 	ld b, wEndPokedexCaught - wPokedexCaught
 	call CountSetBits
-	ld de, wd265
+	ld de, wNumSetBits
 	hlcoord 5, 15
 	lb bc, 1, 3
 	call PrintNum
@@ -1492,7 +1492,7 @@
 .loop
 	push af
 	ld a, [de]
-	ld [wd265], a
+	ld [wTempSpecies], a ; also sets wNamedObjectIndexBuffer
 	push de
 	push hl
 	call .PrintEntry
@@ -1531,7 +1531,7 @@
 	push hl
 	ld de, -SCREEN_WIDTH
 	add hl, de
-	ld de, wd265
+	ld de, wTempSpecies
 	lb bc, PRINTNUM_LEADINGZEROS | 1, 3
 	call PrintNum
 	pop hl
@@ -1585,13 +1585,13 @@
 	ld hl, wPokedexOrder
 	add hl, de
 	ld a, [hl]
-	ld [wd265], a
+	ld [wTempSpecies], a
 	ret
 
 Pokedex_CheckCaught:
 	push de
 	push hl
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	dec a
 	call CheckCaughtMon
 	pop hl
@@ -1601,7 +1601,7 @@
 Pokedex_CheckSeen:
 	push de
 	push hl
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	dec a
 	call CheckSeenMon
 	pop hl
@@ -1654,7 +1654,7 @@
 	ld e, d
 .loopfindend
 	ld a, [hld]
-	ld [wd265], a
+	ld [wTempSpecies], a
 	call Pokedex_CheckSeen
 	jr nz, .foundend
 	dec d
@@ -1674,10 +1674,10 @@
 .loop1abc
 	push bc
 	ld a, [de]
-	ld [wd265], a
+	ld [wTempSpecies], a
 	call Pokedex_CheckSeen
 	jr z, .skipabc
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	ld [hli], a
 	ld a, [wDexListingEnd]
 	inc a
@@ -1898,7 +1898,7 @@
 	ld a, [hl]
 	and a
 	jr z, .next_mon
-	ld [wd265], a
+	ld [wTempSpecies], a
 	ld [wCurSpecies], a
 	call Pokedex_CheckCaught
 	jr z, .next_mon
@@ -1917,7 +1917,7 @@
 	jr nz, .next_mon
 
 .match_found
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	ld [de], a
 	inc de
 	ld a, [wDexSearchResultCount]
@@ -2138,40 +2138,40 @@
 	ld hl, wDexListingScrollOffset
 	add [hl]
 	cp e
-	jr z, .asm_4133f
-	ld hl, $0
-	ld bc, $79
+	jr z, .max
+	ld hl, 0
+	ld bc, 121 ; max y - min y
 	call AddNTimes
 	ld e, l
 	ld d, h
-	ld b, $0
+	ld b, 0
 	ld a, d
 	or e
-	jr z, .asm_41341
+	jr z, .done
 	ld a, [wDexListingEnd]
 	ld c, a
-.asm_41333
+.loop
 	ld a, e
 	sub c
 	ld e, a
 	ld a, d
-	sbc $0
+	sbc 0
 	ld d, a
-	jr c, .asm_41341
+	jr c, .done
 	inc b
-	jr .asm_41333
-.asm_4133f
-	ld b, $79
-.asm_41341
-	ld a, $14
+	jr .loop
+.max
+	ld b, 121 ; max y - min y
+.done
+	ld a, 20 ; min y
 	add b
 	pop hl
 	ld [hli], a
-	ld a, $a1
+	ld a, 161 ; x
 	ld [hli], a
-	ld a, $f
+	ld a, $0f ; tile id
 	ld [hli], a
-	ld [hl], $0
+	ld [hl], 0 ; attributes
 	ret
 
 Pokedex_InitArrowCursor:
@@ -2354,7 +2354,7 @@
 	jr z, .QuestionMark
 	ld a, [wFirstUnownSeen]
 	ld [wUnownLetter], a
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	ld [wCurPartySpecies], a
 	call GetBaseData
 	ld de, vTiles2
@@ -2378,7 +2378,7 @@
 	call Pokedex_GetSelectedMon
 
 Pokedex_LoadAnyFootprint:
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	dec a
 	and %11111000
 	srl a
@@ -2386,7 +2386,7 @@
 	srl a
 	ld e, 0
 	ld d, a
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	dec a
 	and %111
 	swap a ; * $10
@@ -2524,7 +2524,7 @@
 	call LoadFontsExtra
 	call Pokedex_LoadGFX
 	call Pokedex_LoadAnyFootprint
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	ld [wCurPartySpecies], a
 	call Pokedex_DrawDexEntryScreenBG
 	call Pokedex_DrawFootprint
--- a/engine/pokedex/pokedex_2.asm
+++ b/engine/pokedex/pokedex_2.asm
@@ -80,7 +80,7 @@
 	call GetPokemonName
 	hlcoord 9, 3
 	call PlaceString ; mon species
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	ld b, a
 	call GetDexEntryPointer
 	ld a, b
@@ -96,11 +96,11 @@
 	ld [hli], a
 	ld a, $5d ; .
 	ld [hli], a
-	ld de, wd265
+	ld de, wTempSpecies
 	lb bc, PRINTNUM_LEADINGZEROS | 1, 3
 	call PrintNum
 ; Check to see if we caught it.  Get out of here if we haven't.
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	dec a
 	call CheckCaughtMon
 	pop hl
--- a/engine/pokegear/pokegear.asm
+++ b/engine/pokegear/pokegear.asm
@@ -1287,12 +1287,12 @@
 	cp 12
 	jr c, .am
 	sub 12
-	ld [wd265], a
+	ld [wTempByteValue], a
 	scf
 	ret
 
 .am
-	ld [wd265], a
+	ld [wTempByteValue], a
 	and a
 	ret
 
@@ -2741,7 +2741,7 @@
 	ld d, $0
 	add hl, de
 	ld a, [hl]
-	ld [wd265], a
+	ld [wTempIconSpecies], a
 ; Get FlyMon icon
 	ld e, $08 ; starting tile in VRAM
 	farcall GetSpeciesIcon
--- a/engine/pokemon/bills_pc.asm
+++ b/engine/pokemon/bills_pc.asm
@@ -1035,7 +1035,7 @@
 	cp -1
 	ret z
 
-	ld [wd265], a
+	ld [wTempSpecies], a
 	hlcoord 1, 4
 	xor a
 	ld b, 7
@@ -1057,7 +1057,7 @@
 	jr nz, .row
 
 	call BillsPC_LoadMonStats
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	ld [wCurPartySpecies], a
 	ld [wCurSpecies], a
 	ld hl, wTempMonDVs
@@ -1068,7 +1068,7 @@
 	xor a
 	ld [wBillsPC_MonHasMail], a
 	ld a, [wCurPartySpecies]
-	ld [wd265], a
+	ld [wTempSpecies], a
 	cp EGG
 	ret z
 
@@ -1676,9 +1676,9 @@
 	and a
 	jr z, .did_nothing
 	call BillsPC_GetSelectedPokemonSpecies
-	ld [wd265], a
+	ld [wTempSpecies], a
 	call BillsPC_LoadMonStats
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	ld [wCurPartySpecies], a
 	ld [wCurSpecies], a
 	ld hl, wTempMonDVs
@@ -1893,7 +1893,7 @@
 .skip_cry
 
 	ld a, [wCurPartySpecies]
-	ld [wd265], a
+	ld [wTempSpecies], a
 	call GetPokemonName
 	hlcoord 1, 16
 	ld de, PCString_ReleasedPKMN
@@ -2314,9 +2314,9 @@
 	ld de, .Pokemon
 	call PlaceString
 	call GetBoxCount
-	ld [wd265], a
+	ld [wDeciramBuffer], a
 	hlcoord 13, 11
-	ld de, wd265
+	ld de, wDeciramBuffer
 	lb bc, 1, 2
 	call PrintNum
 	ld de, .out_of_20
--- a/engine/pokemon/breeding.asm
+++ b/engine/pokemon/breeding.asm
@@ -81,7 +81,7 @@
 
 .done
 	ld a, c
-	ld [wd265], a
+	ld [wBreedingCompatibility], a
 	ret
 
 .CheckDVs:
@@ -250,7 +250,7 @@
 	ld a, [wCurPartySpecies]
 	dec de
 	ld [de], a
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	ld [wCurSpecies], a
 	call GetPokemonName
 	xor a
@@ -676,7 +676,7 @@
 	ret
 
 EggHatch_AnimationSequence:
-	ld a, [wd265]
+	ld a, [wNamedObjectIndexBuffer]
 	ld [wJumptableIndex], a
 	ld a, [wCurSpecies]
 	push af
@@ -910,7 +910,7 @@
 	call CopyBytes
 	call CheckBreedmonCompatibility
 	pop bc
-	ld a, [wd265]
+	ld a, [wBreedingCompatibility]
 	ld hl, .AllAlone
 	cp -1
 	jr z, .done
--- a/engine/pokemon/caught_data.asm
+++ b/engine/pokemon/caught_data.asm
@@ -38,7 +38,7 @@
 	ld hl, wPlayerName
 	call CopyBytes
 	ld a, [wCurPartySpecies]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	ld hl, wStringBuffer1
 	ld de, wMonOrItemNameBuffer
@@ -105,7 +105,7 @@
 	call CopyBytes
 	callfar InsertPokemonIntoBox
 	ld a, [wCurPartySpecies]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	call GiveANickname_YesNo
 	ld hl, wStringBuffer1
--- a/engine/pokemon/correct_party_errors.asm
+++ b/engine/pokemon/correct_party_errors.asm
@@ -123,7 +123,7 @@
 	cp EGG
 	ld hl, .TAMAGO
 	jr z, .got_nickname
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	ld hl, wStringBuffer1
 .got_nickname
--- a/engine/pokemon/evolve.asm
+++ b/engine/pokemon/evolve.asm
@@ -236,7 +236,7 @@
 	ld [wCurSpecies], a
 	ld [wTempMonSpecies], a
 	ld [wEvolutionNewSpecies], a
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 
 	push hl
@@ -293,15 +293,15 @@
 	call CopyBytes
 
 	ld a, [wCurSpecies]
-	ld [wd265], a
+	ld [wTempSpecies], a
 	xor a
 	ld [wMonType], a
 	call LearnLevelMoves
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	dec a
 	call SetSeenAndCaughtMon
 
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	cp UNOWN
 	jr nz, .skip_unown
 
@@ -348,7 +348,7 @@
 	ld a, [wCurSpecies]
 	push af
 	ld a, [wBaseDexNo]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	pop af
 	ld [wCurSpecies], a
@@ -369,7 +369,7 @@
 	call AddNTimes
 	push hl
 	ld a, [wCurSpecies]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	ld hl, wStringBuffer1
 	pop de
@@ -415,7 +415,7 @@
 	db "@"
 
 LearnLevelMoves:
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	ld [wCurPartySpecies], a
 	dec a
 	ld b, 0
@@ -466,7 +466,7 @@
 .learn
 	ld a, d
 	ld [wPutativeTMHMMove], a
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetMoveName
 	call CopyName1
 	predef LearnMove
@@ -475,7 +475,7 @@
 
 .done
 	ld a, [wCurPartySpecies]
-	ld [wd265], a
+	ld [wTempSpecies], a
 	ret
 
 FillMoves:
--- a/engine/pokemon/learn.asm
+++ b/engine/pokemon/learn.asm
@@ -36,7 +36,7 @@
 
 	push hl
 	push de
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 
 	ld b, a
 	ld a, [wBattleMode]
--- a/engine/pokemon/mail.asm
+++ b/engine/pokemon/mail.asm
@@ -149,7 +149,7 @@
 
 ; Compare the mail message, byte for byte, with the expected message.
 	ld a, MAIL_MSG_LENGTH
-	ld [wd265], a
+	ld [wTempByteValue], a
 .loop
 	ld a, [de]
 	ld c, a
@@ -162,9 +162,9 @@
 	jr nz, .close_sram_return
 	inc hl
 	inc de
-	ld a, [wd265]
+	ld a, [wTempByteValue]
 	dec a
-	ld [wd265], a
+	ld [wTempByteValue], a
 	jr nz, .loop
 
 .done
--- a/engine/pokemon/mon_menu.asm
+++ b/engine/pokemon/mon_menu.asm
@@ -100,7 +100,7 @@
 	jr z, .NotMove
 	inc hl
 	ld a, [hl]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetMoveName
 	ret
 
--- a/engine/pokemon/mon_stats.asm
+++ b/engine/pokemon/mon_stats.asm
@@ -295,7 +295,7 @@
 	call PrintNum
 	ld a, "/"
 	ld [hli], a
-	ld de, wd265
+	ld de, wTempPP
 	lb bc, 1, 2
 	call PrintNum
 	pop hl
--- a/engine/pokemon/move_mon.asm
+++ b/engine/pokemon/move_mon.asm
@@ -52,7 +52,7 @@
 	and a
 	jr nz, .skipnickname
 	ld a, [wCurPartySpecies]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	ld hl, wPartyMonNicknames
 	ld a, [hMoveMon]
@@ -185,11 +185,11 @@
 
 .registerpokedex
 	ld a, [wCurPartySpecies]
-	ld [wd265], a
+	ld [wTempSpecies], a
 	dec a
 	push de
 	call CheckCaughtMon
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	dec a
 	call SetSeenAndCaughtMon
 	pop de
@@ -750,7 +750,7 @@
 	farcall GetMaxPPOfMove
 	pop de
 	pop hl
-	ld a, [wd265]
+	ld a, [wTempPP]
 	ld b, a
 	ld a, [de]
 	and %11000000
@@ -970,7 +970,7 @@
 	call CopyBytes
 
 	ld a, [wCurPartySpecies]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 
 	ld de, sBoxMonNicknames
@@ -1669,7 +1669,7 @@
 
 .done
 	ld a, [wCurPartySpecies]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	ld [wTempEnemyMonSpecies], a
 	call GetPokemonName
 	ld hl, wStringBuffer1
--- a/engine/pokemon/move_mon_wo_mail.asm
+++ b/engine/pokemon/move_mon_wo_mail.asm
@@ -5,7 +5,7 @@
 	call InsertSpeciesIntoBoxOrParty
 	ld a, [sBoxCount]
 	dec a
-	ld [wd265], a
+	ld [wNextBoxOrPartyIndex], a
 	ld hl, sBoxMonNicknames
 	ld bc, MON_NAME_LENGTH
 	ld de, wBufferMonNick
@@ -12,7 +12,7 @@
 	call InsertDataIntoBoxOrParty
 	ld a, [sBoxCount]
 	dec a
-	ld [wd265], a
+	ld [wNextBoxOrPartyIndex], a
 	ld hl, sBoxMonOT
 	ld bc, NAME_LENGTH
 	ld de, wBufferMonOT
@@ -19,7 +19,7 @@
 	call InsertDataIntoBoxOrParty
 	ld a, [sBoxCount]
 	dec a
-	ld [wd265], a
+	ld [wNextBoxOrPartyIndex], a
 	ld hl, sBoxMons
 	ld bc, BOXMON_STRUCT_LENGTH
 	ld de, wBufferMon
@@ -42,7 +42,7 @@
 	call InsertSpeciesIntoBoxOrParty
 	ld a, [wPartyCount]
 	dec a
-	ld [wd265], a
+	ld [wNextBoxOrPartyIndex], a
 	ld hl, wPartyMonNicknames
 	ld bc, MON_NAME_LENGTH
 	ld de, wBufferMonNick
@@ -49,7 +49,7 @@
 	call InsertDataIntoBoxOrParty
 	ld a, [wPartyCount]
 	dec a
-	ld [wd265], a
+	ld [wNextBoxOrPartyIndex], a
 	ld hl, wPartyMonOT
 	ld bc, NAME_LENGTH
 	ld de, wBufferMonOT
@@ -56,7 +56,7 @@
 	call InsertDataIntoBoxOrParty
 	ld a, [wPartyCount]
 	dec a
-	ld [wd265], a
+	ld [wNextBoxOrPartyIndex], a
 	ld hl, wPartyMons
 	ld bc, PARTYMON_STRUCT_LENGTH
 	ld de, wBufferMon
@@ -85,7 +85,7 @@
 	push de
 	push hl
 	push bc
-	ld a, [wd265]
+	ld a, [wNextBoxOrPartyIndex]
 	dec a
 	call AddNTimes
 	push hl
@@ -95,7 +95,7 @@
 	pop hl
 .loop
 	push bc
-	ld a, [wd265]
+	ld a, [wNextBoxOrPartyIndex]
 	ld b, a
 	ld a, [wCurPartyMon]
 	cp b
@@ -116,9 +116,9 @@
 	sbc b
 	ld h, a
 	pop de
-	ld a, [wd265]
+	ld a, [wNextBoxOrPartyIndex]
 	dec a
-	ld [wd265], a
+	ld [wNextBoxOrPartyIndex], a
 	jr .loop
 
 .insert
--- a/engine/pokemon/party_menu.asm
+++ b/engine/pokemon/party_menu.asm
@@ -596,7 +596,7 @@
 	push hl
 	ld hl, LoadMenuMonIcon
 	ld a, BANK(LoadMenuMonIcon)
-	ld e, $0
+	ld e, MONICON_PARTYMENU
 	rst FarCall
 	ld a, [hObjectStructIndexBuffer]
 	inc a
--- a/engine/pokemon/stats_screen.asm
+++ b/engine/pokemon/stats_screen.asm
@@ -377,7 +377,7 @@
 	xor a
 	ld [hBGMapMode], a
 	ld a, [wBaseDexNo]
-	ld [wd265], a
+	ld [wDeciramBuffer], a
 	ld [wCurSpecies], a
 	hlcoord 8, 0
 	ld [hl], "№"
@@ -386,7 +386,7 @@
 	inc hl
 	hlcoord 10, 0
 	lb bc, PRINTNUM_LEADINGZEROS | 1, 3
-	ld de, wd265
+	ld de, wDeciramBuffer
 	call PrintNum
 	hlcoord 14, 0
 	call PrintLevel
@@ -401,7 +401,7 @@
 	ld a, "/"
 	ld [hli], a
 	ld a, [wBaseDexNo]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	call PlaceString
 	call StatsScreen_PlaceHorizontalDivider
@@ -483,7 +483,7 @@
 
 StatsScreen_LoadGFX:
 	ld a, [wBaseDexNo]
-	ld [wd265], a
+	ld [wTempSpecies], a
 	ld [wCurSpecies], a
 	xor a
 	ld [hBGMapMode], a
@@ -708,7 +708,7 @@
 	ld b, a
 	farcall TimeCapsule_ReplaceTeruSama
 	ld a, b
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetItemName
 	ret
 
--- a/engine/pokemon/switchpartymons.asm
+++ b/engine/pokemon/switchpartymons.asm
@@ -1,5 +1,5 @@
 _SwitchPartyMons:
-	ld a, [wd0e3]
+	ld a, [wSwitchMon]
 	dec a
 	ld [wBuffer3], a
 	ld b, a
--- a/engine/pokemon/types.asm
+++ b/engine/pokemon/types.asm
@@ -74,9 +74,9 @@
 	jp PlaceString
 
 GetTypeName:
-; Copy the name of type [wd265] to wStringBuffer1.
+; Copy the name of type [wNamedObjectIndexBuffer] to wStringBuffer1.
 
-	ld a, [wd265]
+	ld a, [wNamedObjectIndexBuffer]
 	ld hl, TypeNames
 	ld e, a
 	ld d, 0
--- a/engine/printer/print_party.asm
+++ b/engine/printer/print_party.asm
@@ -26,11 +26,11 @@
 	hlcoord 2, 11, wPrinterTileMapBuffer
 	lb bc, 5, 18
 	call ClearBox
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	dec a
 	call CheckCaughtMon
 	push af
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	ld b, a
 	ld c, 1 ; get page 1
 	farcall GetDexEntryPagePointer
@@ -75,11 +75,11 @@
 	ld bc, SCREEN_WIDTH
 	ld a, $32
 	call ByteFill
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	dec a
 	call CheckCaughtMon
 	push af
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	ld b, a
 	ld c, 2 ; get page 2
 	farcall GetDexEntryPagePointer
@@ -170,7 +170,7 @@
 	lb bc, 2, 3
 	call PrintNum
 	ld a, [wCurPartySpecies]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	ld [wCurSpecies], a
 	ld hl, wPartyMonNicknames
 	call Function1dc50e
@@ -186,7 +186,7 @@
 	inc hl
 	ld [hl], "."
 	inc hl
-	ld de, wd265
+	ld de, wNamedObjectIndexBuffer
 	lb bc, PRINTNUM_LEADINGZEROS | 1, 3
 	call PrintNum
 	hlcoord 1, 9
@@ -297,7 +297,7 @@
 	and a
 	jr z, .no_move
 
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetMoveName
 	jr .got_string
 
--- a/engine/printer/printer.asm
+++ b/engine/printer/printer.asm
@@ -725,7 +725,7 @@
 	ld a, [de]
 	cp $ff
 	jp z, .finish
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	ld [wCurPartySpecies], a
 
 	push bc
--- a/engine/rtc/timeset.asm
+++ b/engine/rtc/timeset.asm
@@ -694,8 +694,8 @@
 	inc hl
 	pop bc
 	call AdjustHourForAMorPM
-	ld [wd265], a
-	ld de, wd265
+	ld [wDeciramBuffer], a
+	ld de, wDeciramBuffer
 	call PrintTwoDigitNumberRightAlign
 	ret
 
--- a/home.asm
+++ b/home.asm
@@ -169,7 +169,7 @@
 
 CountSetBits::
 ; Count the number of set bits in b bytes starting from hl.
-; Return in a, c and [wd265].
+; Return in a, c and [wNumSetBits].
 	ld c, 0
 .next
 	ld a, [hli]
@@ -188,7 +188,7 @@
 	jr nz, .next
 
 	ld a, c
-	ld [wd265], a
+	ld [wNumSetBits], a
 	ret
 
 GetWeekday::
--- a/home/joypad.asm
+++ b/home/joypad.asm
@@ -213,7 +213,7 @@
 	ld a, l
 	ld [wAutoInputAddress], a
 	ld a, h
-	ld [wAutoInputAddress+1], a
+	ld [wAutoInputAddress + 1], a
 	jr .finishauto
 
 .stopauto
@@ -235,7 +235,7 @@
 	ld a, l
 	ld [wAutoInputAddress], a
 	ld a, h
-	ld [wAutoInputAddress+1], a
+	ld [wAutoInputAddress + 1], a
 ; Start reading the stream immediately.
 	xor a
 	ld [wAutoInputLength], a
@@ -254,7 +254,7 @@
 	xor a
 	ld [wAutoInputBank], a
 	ld [wAutoInputAddress], a
-	ld [wAutoInputAddress+1], a
+	ld [wAutoInputAddress + 1], a
 	ld [wAutoInputLength], a
 ; Back to normal input.
 	ld [wInputType], a
--- a/home/names.asm
+++ b/home/names.asm
@@ -2,10 +2,10 @@
 ; entries correspond to GetName constants (see constants/text_constants.asm)
 	dba PokemonNames        ; MON_NAME (not used; jumps to GetPokemonName)
 	dba MoveNames           ; MOVE_NAME
-	dbw 0, NULL             ; DUMMY_NAME
+	dba NULL                ; DUMMY_NAME
 	dba ItemNames           ; ITEM_NAME
-	dbw 0, wPartyMonOT       ; PARTY_OT_NAME
-	dbw 0, wOTPartyMonOT     ; ENEMY_OT_NAME
+	dbw 0, wPartyMonOT      ; PARTY_OT_NAME
+	dbw 0, wOTPartyMonOT    ; ENEMY_OT_NAME
 	dba TrainerClassNames   ; TRAINER_NAME
 	dbw 4, MoveDescriptions ; MOVE_DESC_NAME_BROKEN (wrong bank)
 
@@ -23,7 +23,7 @@
 	jr nz, .NotPokeName
 
 	ld a, [wCurSpecies]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	ld hl, MON_NAME_LENGTH
 	add hl, de
@@ -110,7 +110,7 @@
 	ret
 
 GetPokemonName::
-; Get Pokemon name wd265.
+; Get Pokemon name for wNamedObjectIndexBuffer.
 
 	ld a, [hROMBank]
 	push af
@@ -119,7 +119,7 @@
 	rst Bankswitch
 
 ; Each name is ten characters
-	ld a, [wd265]
+	ld a, [wNamedObjectIndexBuffer]
 	dec a
 	ld d, 0
 	ld e, a
@@ -147,11 +147,11 @@
 	ret
 
 GetItemName::
-; Get item name wd265.
+; Get item name for wNamedObjectIndexBuffer.
 
 	push hl
 	push bc
-	ld a, [wd265]
+	ld a, [wNamedObjectIndexBuffer]
 
 	cp TM01
 	jr nc, .TM
@@ -170,12 +170,12 @@
 	ret
 
 GetTMHMName::
-; Get TM/HM name by item id wd265.
+; Get TM/HM name for item wNamedObjectIndexBuffer.
 
 	push hl
 	push de
 	push bc
-	ld a, [wd265]
+	ld a, [wNamedObjectIndexBuffer]
 	push af
 
 ; TM/HM prefix
@@ -197,7 +197,7 @@
 
 ; TM/HM number
 	push de
-	ld a, [wd265]
+	ld a, [wNamedObjectIndexBuffer]
 	ld c, a
 	callfar GetTMHMNumber
 	pop de
@@ -235,7 +235,7 @@
 	ld [de], a
 
 	pop af
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	pop bc
 	pop de
 	pop hl
--- a/home/predef.asm
+++ b/home/predef.asm
@@ -39,7 +39,7 @@
 	ld a, h
 	ld [wPredefTemp], a
 	ld a, l
-	ld [wPredefTemp+1], a
+	ld [wPredefTemp + 1], a
 
 	pop hl
 	ld a, h
--- a/home/print_level.asm
+++ b/home/print_level.asm
@@ -22,7 +22,7 @@
 	ld c, 3
 
 Print8BitNumRightAlign::
-	ld [wd265], a
-	ld de, wd265
+	ld [wDeciramBuffer], a
+	ld de, wDeciramBuffer
 	ld b, PRINTNUM_RIGHTALIGN | 1
 	jp PrintNum
--- a/maps/BattleTowerBattleRoom.asm
+++ b/maps/BattleTowerBattleRoom.asm
@@ -34,7 +34,7 @@
 	special FadeOutPalettes
 	reloadmap
 	ifnotequal $0, Script_FailedBattleTowerChallenge
-	copybytetovar wNrOfBeatenBattleTowerTrainers ; wcf64
+	copybytetovar wNrOfBeatenBattleTowerTrainers
 	ifequal BATTLETOWER_STREAK_LENGTH, Script_BeatenAllTrainers
 	applymovement BATTLETOWERBATTLEROOM_YOUNGSTER, MovementData_BattleTowerBattleRoomOpponentWalksOut
 	warpsound
--- a/mobile/fixed_words.asm
+++ b/mobile/fixed_words.asm
@@ -261,7 +261,7 @@
 
 .get_name
 	ld a, e
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	ld hl, wStringBuffer1
 	ld bc, MON_NAME_LENGTH - 1
--- a/mobile/mobile_12_2.asm
+++ b/mobile/mobile_12_2.asm
@@ -268,7 +268,7 @@
 	call GetNick
 	ld h, d
 	ld l, e
-	ld de, wEndFlypoint
+	ld de, wd006
 	ld bc, 6
 	call CopyBytes
 	ld a, [wd003]
@@ -428,7 +428,7 @@
 .loop
 	push bc
 	push hl
-	ld e, 0
+	ld e, MONICON_PARTYMENU
 	farcall LoadMenuMonIcon
 	ld a, [hObjectStructIndexBuffer]
 	inc a
--- a/mobile/mobile_40.asm
+++ b/mobile/mobile_40.asm
@@ -1549,7 +1549,7 @@
 
 .StageForSend:
 	ld a, [wBattlePlayerAction]
-	and a
+	and a ; BATTLEPLAYERACTION_USEMOVE?
 	jr nz, .switch
 	ld a, [wCurPlayerMove]
 	ld b, BATTLEACTION_E
@@ -6383,7 +6383,7 @@
 	ld hl, wPartyCount
 	add hl, de
 	ld a, [hl]
-	ld [wd265], a
+	ld [wTempSpecies], a
 	cp EGG
 	jr z, .asm_102d6d
 	dec a
@@ -6396,7 +6396,7 @@
 	ld [hl], BASE_HAPPINESS
 
 .asm_102d6d
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	cp UNOWN
 	jr nz, .asm_102d98
 	ld a, [wcd4c]
@@ -6529,7 +6529,7 @@
 	ld a, [de]
 	cp $ff
 	ret z
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	push bc
 	push hl
 	push de
@@ -6557,7 +6557,7 @@
 	ld hl, wPartySpecies
 	add hl, bc
 	ld a, [hl]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	ld hl, wStringBuffer1
 	ld de, wStringBuffer2
@@ -6570,7 +6570,7 @@
 	ld hl, wOTPartySpecies
 	add hl, bc
 	ld a, [hl]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	ld hl, UnknownText_0x102ee2
 	call PrintTextBoxText
@@ -6639,7 +6639,7 @@
 	ld hl, wOTPartySpecies
 	add hl, bc
 	ld a, [hl]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	call Function102dc3
 	ld de, String_102fb2
@@ -7518,11 +7518,11 @@
 	db "@"
 
 Function103780:
-	ld a, [wd265]
+	ld a, [wChosenCableClubRoom]
 	push af
 	call Function10378c
 	pop af
-	ld [wd265], a
+	ld [wChosenCableClubRoom], a
 	ret
 
 Function10378c:
--- a/mobile/mobile_42.asm
+++ b/mobile/mobile_42.asm
@@ -318,7 +318,7 @@
 
 MobileTradeAnim_InitSpeciesName:
 	push de
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	ld hl, wStringBuffer1
 	pop de
--- a/mobile/mobile_46.asm
+++ b/mobile/mobile_46.asm
@@ -3367,7 +3367,7 @@
 	ret
 
 Function1199b4:
-	ld a, [w3_d081+1]
+	ld a, [w3_d081 + 1]
 	and a
 	jr nz, .asm_1199c7
 	ld a, [w3_d081]
@@ -3967,7 +3967,7 @@
 .uber_under_70
 	pop af
 	ld a, [de]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	ld hl, wStringBuffer1
 	ld de, wcd49
@@ -5624,11 +5624,11 @@
 	ld [wCurIconTile], a
 	ld hl, LoadMenuMonIcon
 	ld a, BANK(LoadMenuMonIcon)
-	ld e, $4
+	ld e, MONICON_MOBILE1
 	rst FarCall
 	ld hl, LoadMenuMonIcon
 	ld a, BANK(LoadMenuMonIcon)
-	ld e, $5
+	ld e, MONICON_MOBILE2
 	rst FarCall
 	ld hl, $c6d0
 	ld bc, $0115
@@ -6127,7 +6127,7 @@
 .loop
 	push af
 	ld a, [de]
-	ld [wd265], a
+	ld [wTempSpecies], a
 	push de
 	push hl
 	call .PlaceMonNameOrPlaceholderString
@@ -6387,13 +6387,13 @@
 	ld hl, $c6d0
 	add hl, de
 	ld a, [hl]
-	ld [wd265], a
+	ld [wTempSpecies], a
 	ret
 
 CheckCaughtMemMon:
 	push de
 	push hl
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	dec a
 	call CheckCaughtMon
 	pop hl
@@ -6403,7 +6403,7 @@
 CheckSeenMemMon:
 	push de
 	push hl
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	dec a
 	call CheckSeenMon
 	pop hl
@@ -6463,7 +6463,7 @@
 	ret
 
 Function11b279:
-	ld a, [wd265]
+	ld a, [wTempSpecies]
 	ld [wCurSpecies], a
 	call CheckSeenMemMon
 	jr z, .asm_11b28f
--- a/mobile/mobile_5c.asm
+++ b/mobile/mobile_5c.asm
@@ -121,10 +121,10 @@
 	push hl
 	ld de, 0
 	xor a
-	ld [wd265], a
+	ld [wTempByteValue], a
 .asm_170c30
 	ld hl, wPartyMon1HP
-	ld a, [wd265]
+	ld a, [wTempByteValue]
 	call GetPartyLocation
 	ld a, [hli]
 	ld b, a
@@ -143,9 +143,9 @@
 	push hl
 	pop de
 	jr c, .asm_170c58
-	ld a, [wd265]
+	ld a, [wTempByteValue]
 	inc a
-	ld [wd265], a
+	ld [wTempByteValue], a
 	cp $3
 	jr c, .asm_170c30
 	jr .asm_170c5b
--- a/mobile/mobile_5f.asm
+++ b/mobile/mobile_5f.asm
@@ -3902,7 +3902,7 @@
 	ld a, [hl]
 	ld a, $1
 	ld [rSVBK], a
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	pop hl
 	call PlaceString
@@ -4021,7 +4021,7 @@
 	ld a, [hl]
 	ld a, $1
 	ld [rSVBK], a
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetItemName
 	pop hl
 	call PlaceString
--- a/wram.asm
+++ b/wram.asm
@@ -1320,9 +1320,7 @@
 
 wMonType:: db ; cf5f
 
-wCurSpecies::
-wCurMove::
-	db ; cf60
+wCurSpecies:: db ; cf60
 
 wNamedObjectTypeBuffer:: db
 
@@ -1675,11 +1673,7 @@
 
 NEXTU ; d002
 ; lucky number show
-wLuckyNumberDigit1Buffer:: db
-wLuckyNumberDigit2Buffer:: db
-wLuckyNumberDigit3Buffer:: db
-wLuckyNumberDigit4Buffer:: db
-wLuckyNumberDigit5Buffer:: db
+wLuckyNumberDigitsBuffer:: ds 5
 
 NEXTU ; d002
 ; movement buffer data
@@ -1701,7 +1695,7 @@
 ; trainer HUD data
 	ds 1
 wPlaceBallsDirection:: db
-wTrainerHUDTiles:: db
+wTrainerHUDTiles:: ds 4
 
 NEXTU ; d002
 ; mobile participant nicknames
@@ -1731,7 +1725,8 @@
 wd004:: db
 
 ; mobile?
-	ds 3
+	ds 1
+wd006:: ds 2
 wd008:: ds 2
 	ds 2
 wd00c:: ds 1
@@ -1886,7 +1881,7 @@
 wSwitchMon::
 wSwitchItem::
 wMoveSwapBuffer::
-wd0e3::
+wd0e3:: ; mobile
 	db
 
 wMenuScrollPosition:: ds 4
@@ -2199,11 +2194,24 @@
 wInitListType:: db
 wBattleHasJustStarted:: db
 
+; d265 has many different short-term uses
 wNamedObjectIndexBuffer::
-wCurTMHM::
+wDeciramBuffer::
+wTempByteValue::
+wNumSetBits::
 wTypeMatchup::
-wFoundMatchingIDInParty::
-wd265::
+wCurType::
+wTempSpecies::
+wTempIconSpecies::
+wTempTMHM::
+wTempPP::
+wNextBoxOrPartyIndex::
+wChosenCableClubRoom::
+wBreedingCompatibility::
+wMoveGrammar::
+wApplyStatLevelMultipliersToEnemy::
+wUsePPUp::
+wd265:: ; mobile
 	db
 
 wFailedToFlee:: db