shithub: pokecrystal

Download patch

ref: 0d944f5915867e95c39310d53ca5dcb9c70f4323
parent: c7985e1f3cfe12c487229c34bbdf449a464c2711
author: PikalaxALT <PikalaxALT@gmail.com>
date: Thu Nov 26 19:22:14 EST 2015

Person event constants for each map

--- a/maps/AzaleaGym.asm
+++ b/maps/AzaleaGym.asm
@@ -1,3 +1,12 @@
+const_value set 2
+	const AZALEAGYM_BUGSY
+	const AZALEAGYM_BUG_CATCHER1
+	const AZALEAGYM_BUG_CATCHER2
+	const AZALEAGYM_BUG_CATCHER3
+	const AZALEAGYM_TWIN1
+	const AZALEAGYM_TWIN2
+	const AZALEAGYM_GYM_GUY
+
 AzaleaGym_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/AzaleaMart.asm
+++ b/maps/AzaleaMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const AZALEAMART_CLERK
+	const AZALEAMART_COOLTRAINER_M
+	const AZALEAMART_BUG_CATCHER
+
 AzaleaMart_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/AzaleaPokeCenter1F.asm
+++ b/maps/AzaleaPokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const AZALEAPOKECENTER1F_NURSE
+	const AZALEAPOKECENTER1F_GENTLEMAN
+	const AZALEAPOKECENTER1F_FISHING_GURU
+	const AZALEAPOKECENTER1F_POKEFAN_F
+
 AzaleaPokeCenter1F_MapScriptHeader:
 .MapTriggers:
 	db 1
--- a/maps/AzaleaTown.asm
+++ b/maps/AzaleaTown.asm
@@ -1,3 +1,17 @@
+const_value set 2
+	const AZALEATOWN_AZALEA_ROCKET1
+	const AZALEATOWN_GRAMPS
+	const AZALEATOWN_TEACHER
+	const AZALEATOWN_YOUNGSTER
+	const AZALEATOWN_SLOWPOKE1
+	const AZALEATOWN_SLOWPOKE2
+	const AZALEATOWN_SLOWPOKE3
+	const AZALEATOWN_SLOWPOKE4
+	const AZALEATOWN_FRUIT_TREE
+	const AZALEATOWN_AZALEA_ROCKET2
+	const AZALEATOWN_AZALEA_ROCKET3
+	const AZALEATOWN_KURT_OUTSIDE
+
 AzaleaTown_MapScriptHeader:
 .MapTriggers:
 	db 3
@@ -27,13 +41,13 @@
 	return
 
 UnknownScript_0x198018:
-	moveperson $b, $b, $b
+	moveperson AZALEATOWN_AZALEA_ROCKET2, $b, $b
 	spriteface PLAYER, RIGHT
 	showemote EMOTE_SHOCK, PLAYER, 15
 	special Special_RotatePalettesRightMusic
 	pause 15
-	appear $b
-	applymovement $b, MovementData_0x198134
+	appear AZALEATOWN_AZALEA_ROCKET2
+	applymovement AZALEATOWN_AZALEA_ROCKET2, MovementData_0x198134
 	spriteface PLAYER, DOWN
 	jump UnknownScript_0x198049
 
@@ -42,8 +56,8 @@
 	showemote EMOTE_SHOCK, PLAYER, 15
 	special Special_RotatePalettesRightMusic
 	pause 15
-	appear $b
-	applymovement $b, MovementData_0x19813c
+	appear AZALEATOWN_AZALEA_ROCKET2
+	applymovement AZALEATOWN_AZALEA_ROCKET2, MovementData_0x19813c
 	spriteface PLAYER, UP
 UnknownScript_0x198049:
 	playmusic MUSIC_RIVAL_ENCOUNTER
@@ -89,9 +103,9 @@
 	waitbutton
 	closetext
 	spriteface PLAYER, LEFT
-	applymovement $b, MovementData_0x198144
+	applymovement AZALEATOWN_AZALEA_ROCKET2, MovementData_0x198144
 	playsound SFX_EXIT_BUILDING
-	disappear $b
+	disappear AZALEATOWN_AZALEA_ROCKET2
 	dotrigger $0
 	waitsfx
 	playmapmusic
@@ -150,13 +164,13 @@
 	loadfont
 	writetext UnknownText_0x1985df
 	keeptextopen
-	spriteface $d, RIGHT
+	spriteface AZALEATOWN_KURT_OUTSIDE, RIGHT
 	writetext UnknownText_0x19860b
 	keeptextopen
 	writetext UnknownText_0x198628
 	waitbutton
 	verbosegiveitem GS_BALL
-	spriteface $d, LEFT
+	spriteface AZALEATOWN_KURT_OUTSIDE, LEFT
 	setflag ENGINE_HAVE_EXAMINED_GS_BALL
 	clearevent EVENT_ILEX_FOREST_LASS
 	setevent EVENT_ROUTE_34_ILEX_FOREST_GATE_LASS
@@ -169,7 +183,7 @@
 	loadfont
 	writetext UnknownText_0x198628
 	waitbutton
-	spriteface $d, LEFT
+	spriteface AZALEATOWN_KURT_OUTSIDE, LEFT
 	closetext
 	end
 
--- a/maps/BattleTower1F.asm
+++ b/maps/BattleTower1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const BATTLETOWER1F_RECEPTIONIST
+	const BATTLETOWER1F_YOUNGSTER
+	const BATTLETOWER1F_COOLTRAINER_F
+	const BATTLETOWER1F_BUG_CATCHER
+	const BATTLETOWER1F_GRANNY
+
 BattleTower1F_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -103,12 +110,12 @@
 	domaptrigger BATTLE_TOWER_BATTLE_ROOM, $0
 	domaptrigger BATTLE_TOWER_ELEVATOR, $0
 	domaptrigger BATTLE_TOWER_HALLWAY, $0
-	follow $2, PLAYER
-	applymovement $2, MovementData_BattleTower1FWalkToElevator
+	follow BATTLETOWER1F_RECEPTIONIST, PLAYER
+	applymovement BATTLETOWER1F_RECEPTIONIST, MovementData_BattleTower1FWalkToElevator
 	writebyte BATTLETOWERACTION_0A
 	special BattleTowerAction
 	warpsound
-	disappear $2
+	disappear BATTLETOWER1F_RECEPTIONIST
 	stopfollow
 	applymovement PLAYER, MovementData_BattleTowerHallwayPlayerEntersBattleRoom
 	warpcheck
@@ -174,10 +181,10 @@
 	if_equal $a, Script_Menu_ChallengeExplanationCancel
 	if_not_equal $0, UnknownScript_0x9e550
 	writetext Text_ReceivedAListOfLeadersOnTheHonorRoll
-	spriteface $2, LEFT
+	spriteface BATTLETOWER1F_RECEPTIONIST, LEFT
 	writetext Text_PleaseConfirmOnThisMonitor
 	waitbutton
-	spriteface $2, DOWN
+	spriteface BATTLETOWER1F_RECEPTIONIST, DOWN
 	closetext
 	end
 
@@ -248,7 +255,7 @@
 	writetext Text_BattleTowerYoungster
 	waitbutton
 	closetext
-	spriteface $3, RIGHT
+	spriteface BATTLETOWER1F_YOUNGSTER, RIGHT
 	end
 
 CooltrainerFScript_0x9e568:
--- a/maps/BattleTowerBattleRoom.asm
+++ b/maps/BattleTowerBattleRoom.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const BATTLETOWERBATTLEROOM_YOUNGSTER
+	const BATTLETOWERBATTLEROOM_RECEPTIONIST
+
 BattleTowerBattleRoom_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -10,7 +14,7 @@
 	db 0
 
 .EnterBattleRoom: ; 0x9f419
-	disappear $2
+	disappear BATTLETOWERBATTLEROOM_YOUNGSTER
 	priorityjump Script_BattleRoom
 	dotrigger $1
 .DummyTrigger:
@@ -22,10 +26,10 @@
 Script_BattleRoomLoop: ; 0x9f425
 	writebyte $2
 	special Function_LoadOpponentTrainerAndPokemonsWithOTSprite
-	appear $2
+	appear BATTLETOWERBATTLEROOM_YOUNGSTER
 	warpsound
 	waitsfx
-	applymovement $2, MovementData_BattleTowerBattleRoomOpponentWalksIn
+	applymovement BATTLETOWERBATTLEROOM_YOUNGSTER, MovementData_BattleTowerBattleRoomOpponentWalksIn
 	loadfont
 	battletowertext 1
 	keeptextopen
@@ -36,10 +40,10 @@
 	if_not_equal $0, Script_FailedBattleTowerChallenge
 	copybytetovar wNrOfBeatenBattleTowerTrainers ; wcf64
 	if_equal BATTLETOWER_NROFTRAINERS, Script_BeatenAllTrainers
-	applymovement $2, MovementData_BattleTowerBattleRoomOpponentWalksOut
+	applymovement BATTLETOWERBATTLEROOM_YOUNGSTER, MovementData_BattleTowerBattleRoomOpponentWalksOut
 	warpsound
-	disappear $2
-	applymovement $3, MovementData_BattleTowerBattleRoomReceptionistWalksToPlayer
+	disappear BATTLETOWERBATTLEROOM_YOUNGSTER
+	applymovement BATTLETOWERBATTLEROOM_RECEPTIONIST, MovementData_BattleTowerBattleRoomReceptionistWalksToPlayer
 	applymovement PLAYER, MovementData_BattleTowerBattleRoomPlayerTurnsToFaceReceptionist
 	loadfont
 	writetext Text_YourPkmnWillBeHealedToFullHealth
@@ -58,7 +62,7 @@
 Script_ContinueAndBattleNextOpponent: ; 0x9f477
 	closetext
 	applymovement PLAYER, MovementData_BattleTowerBattleRoomPlayerTurnsToFaceNextOpponent
-	applymovement $3, MovementData_BattleTowerBattleRoomReceptionistWalksAway
+	applymovement BATTLETOWERBATTLEROOM_RECEPTIONIST, MovementData_BattleTowerBattleRoomReceptionistWalksAway
 	jump Script_BattleRoomLoop
 
 Script_DontBattleNextOpponent: ; 0x9f483
--- a/maps/BattleTowerElevator.asm
+++ b/maps/BattleTowerElevator.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const BATTLETOWERELEVATOR_RECEPTIONIST
+
 BattleTowerElevator_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -17,8 +20,8 @@
 	end
 
 .RideElevator:
-	follow $2, PLAYER
-	applymovement $2, MovementData_BattleTowerElevatorReceptionistWalksIn
+	follow BATTLETOWERELEVATOR_RECEPTIONIST, PLAYER
+	applymovement BATTLETOWERELEVATOR_RECEPTIONIST, MovementData_BattleTowerElevatorReceptionistWalksIn
 	applymovement PLAYER, MovementData_BattleTowerElevatorPlayerWalksIn
 	writebyte BATTLETOWERACTION_0A
 	special BattleTowerAction
@@ -25,11 +28,11 @@
 	playsound SFX_ELEVATOR
 	earthquake 60
 	waitsfx
-	follow $2, PLAYER
-	applymovement $2, MovementData_BattleTowerElevatorExitElevator
+	follow BATTLETOWERELEVATOR_RECEPTIONIST, PLAYER
+	applymovement BATTLETOWERELEVATOR_RECEPTIONIST, MovementData_BattleTowerElevatorExitElevator
 	stopfollow
 	warpsound
-	disappear $2
+	disappear BATTLETOWERELEVATOR_RECEPTIONIST
 	applymovement PLAYER, MovementData_BattleTowerElevatorExitElevator
 	warpcheck
 	end
--- a/maps/BattleTowerHallway.asm
+++ b/maps/BattleTowerHallway.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const BATTLETOWERHALLWAY_RECEPTIONIST
+
 BattleTowerHallway_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -16,7 +19,7 @@
 	end
 
 .ChooseBattleRoom:
-	follow $2, PLAYER
+	follow BATTLETOWERHALLWAY_RECEPTIONIST, PLAYER
 	callasm .asm_load_battle_room
 	jump .WalkToChosenBattleRoom
 
@@ -47,27 +50,27 @@
 	if_equal 8, .L70L80
 	if_equal 9, .L90L100
 	if_equal 10, .L90L100
-	applymovement $2, MovementData_BattleTowerHallwayWalkTo1020Room
+	applymovement BATTLETOWERHALLWAY_RECEPTIONIST, MovementData_BattleTowerHallwayWalkTo1020Room
 	jump .EnterBattleRoom
 
 .L30L40: ; 0x9f603
-	applymovement $2, MovementData_BattleTowerHallwayWalkTo3040Room
+	applymovement BATTLETOWERHALLWAY_RECEPTIONIST, MovementData_BattleTowerHallwayWalkTo3040Room
 	jump .EnterBattleRoom
 
 .L50L60: ; 0x9f60a
-	applymovement $2, MovementData_BattleTowerHallwayWalkTo5060Room
+	applymovement BATTLETOWERHALLWAY_RECEPTIONIST, MovementData_BattleTowerHallwayWalkTo5060Room
 	jump .EnterBattleRoom
 
 .L70L80: ; 0x9f611
-	applymovement $2, MovementData_BattleTowerHallwayWalkTo7080Room
+	applymovement BATTLETOWERHALLWAY_RECEPTIONIST, MovementData_BattleTowerHallwayWalkTo7080Room
 	jump .EnterBattleRoom
 
 .L90L100: ; 0x9f618
-	applymovement $2, MovementData_BattleTowerHallwayWalkTo90100Room
+	applymovement BATTLETOWERHALLWAY_RECEPTIONIST, MovementData_BattleTowerHallwayWalkTo90100Room
 	jump .EnterBattleRoom
 
 .EnterBattleRoom: ; 0x9f61f
-	faceperson PLAYER, $2
+	faceperson PLAYER, BATTLETOWERHALLWAY_RECEPTIONIST
 	loadfont
 	writetext Text_PleaseStepThisWay
 	waitbutton
--- a/maps/BattleTowerOutside.asm
+++ b/maps/BattleTowerOutside.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const BATTLETOWEROUTSIDE_STANDING_YOUNGSTER
+	const BATTLETOWEROUTSIDE_BUENA
+	const BATTLETOWEROUTSIDE_SAILOR
+	const BATTLETOWEROUTSIDE_LASS
+
 BattleTowerOutside_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/BillsHouse.asm
+++ b/maps/BillsHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const BILLSHOUSE_GRAMPS
+
 BillsHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/BlackthornCity.asm
+++ b/maps/BlackthornCity.asm
@@ -1,3 +1,14 @@
+const_value set 2
+	const BLACKTHORNCITY_SUPER_NERD1
+	const BLACKTHORNCITY_SUPER_NERD2
+	const BLACKTHORNCITY_GRAMPS1
+	const BLACKTHORNCITY_GRAMPS2
+	const BLACKTHORNCITY_BLACK_BELT
+	const BLACKTHORNCITY_COOLTRAINER_F1
+	const BLACKTHORNCITY_YOUNGSTER1
+	const BLACKTHORNCITY_YOUNGSTER2
+	const BLACKTHORNCITY_COOLTRAINER_F2
+
 BlackthornCity_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -16,11 +27,11 @@
 .Santos
 	checkcode VAR_WEEKDAY
 	if_equal SATURDAY, .SantosAppears
-	disappear $9
+	disappear BLACKTHORNCITY_YOUNGSTER2
 	return
 
 .SantosAppears
-	appear $9
+	appear BLACKTHORNCITY_YOUNGSTER2
 	return
 
 SuperNerdScript_0x1a46e8:
--- a/maps/BlackthornDodrioTradeHouse.asm
+++ b/maps/BlackthornDodrioTradeHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const BLACKTHORNDODRIOTRADEHOUSE_LASS
+
 BlackthornDodrioTradeHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/BlackthornDragonSpeechHouse.asm
+++ b/maps/BlackthornDragonSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const BLACKTHORNDRAGONSPEECHHOUSE_GRANNY
+	const BLACKTHORNDRAGONSPEECHHOUSE_EKANS
+
 BlackthornDragonSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/BlackthornGym1F.asm
+++ b/maps/BlackthornGym1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const BLACKTHORNGYM1F_CLAIR
+	const BLACKTHORNGYM1F_COOLTRAINER_M1
+	const BLACKTHORNGYM1F_COOLTRAINER_M2
+	const BLACKTHORNGYM1F_COOLTRAINER_F
+	const BLACKTHORNGYM1F_GYM_GUY
+
 BlackthornGym1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/BlackthornGym2F.asm
+++ b/maps/BlackthornGym2F.asm
@@ -1,3 +1,13 @@
+const_value set 2
+	const BLACKTHORNGYM2F_COOLTRAINER_M
+	const BLACKTHORNGYM2F_COOLTRAINER_F
+	const BLACKTHORNGYM2F_BOULDER1
+	const BLACKTHORNGYM2F_BOULDER2
+	const BLACKTHORNGYM2F_BOULDER3
+	const BLACKTHORNGYM2F_BOULDER4
+	const BLACKTHORNGYM2F_BOULDER5
+	const BLACKTHORNGYM2F_BOULDER6
+
 BlackthornGym2F_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -29,15 +39,15 @@
 	db $ff ; end
 
 .Disappear4
-	disappear 4
+	disappear BLACKTHORNGYM2F_BOULDER1
 	jump .Fall
 
 .Disappear5
-	disappear 5
+	disappear BLACKTHORNGYM2F_BOULDER2
 	jump .Fall
 
 .Disappear6
-	disappear 6
+	disappear BLACKTHORNGYM2F_BOULDER3
 	jump .Fall
 
 .Fall
--- a/maps/BlackthornMart.asm
+++ b/maps/BlackthornMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const BLACKTHORNMART_CLERK
+	const BLACKTHORNMART_COOLTRAINER_M
+	const BLACKTHORNMART_BLACK_BELT
+
 BlackthornMart_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/BlackthornPokeCenter1F.asm
+++ b/maps/BlackthornPokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const BLACKTHORNPOKECENTER1F_NURSE
+	const BLACKTHORNPOKECENTER1F_GENTLEMAN
+	const BLACKTHORNPOKECENTER1F_TWIN
+	const BLACKTHORNPOKECENTER1F_COOLTRAINER_M
+
 BlackthornPokeCenter1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/BluesHouse.asm
+++ b/maps/BluesHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const BLUESHOUSE_DAISY
+
 BluesHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/BrunosRoom.asm
+++ b/maps/BrunosRoom.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const BRUNOSROOM_BRUNO
+
 BrunosRoom_MapScriptHeader:
 .MapTriggers:
 	db 2
--- a/maps/BurnedTower1F.asm
+++ b/maps/BurnedTower1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const BURNEDTOWER1F_ROCK
+	const BURNEDTOWER1F_SUPER_NERD
+	const BURNEDTOWER1F_SILVER
+	const BURNEDTOWER1F_MORTY
+	const BURNEDTOWER1F_POKE_BALL
+
 BurnedTower1F_MapScriptHeader:
 .MapTriggers:
 	db 3
@@ -36,25 +43,25 @@
 	return
 
 UnknownScript_0x185c0d:
-	spriteface $3, DOWN
-	showemote EMOTE_SHOCK, $3, 15
-	applymovement $3, MovementData_0x185cd3
+	spriteface BURNEDTOWER1F_SUPER_NERD, DOWN
+	showemote EMOTE_SHOCK, BURNEDTOWER1F_SUPER_NERD, 15
+	applymovement BURNEDTOWER1F_SUPER_NERD, MovementData_0x185cd3
 	loadfont
 	writetext UnknownText_0x185ecc
 	waitbutton
 	closetext
-	moveperson $3, $9, $e
+	moveperson BURNEDTOWER1F_SUPER_NERD, $9, $e
 	dotrigger $1
 	end
 
 UnknownScript_0x185c25:
-	showemote EMOTE_SHOCK, $4, 15
+	showemote EMOTE_SHOCK, BURNEDTOWER1F_SILVER, 15
 	special Special_RotatePalettesRightMusic
 	pause 15
-	spriteface $4, RIGHT
+	spriteface BURNEDTOWER1F_SILVER, RIGHT
 	pause 15
 	applymovement PLAYER, MovementData_0x185ccd
-	applymovement $4, MovementData_0x185ccf
+	applymovement BURNEDTOWER1F_SILVER, MovementData_0x185ccf
 	playmusic MUSIC_RIVAL_ENCOUNTER
 	loadfont
 	writetext UnknownText_0x185cd9
@@ -109,7 +116,7 @@
 	pause 15
 	applymovement PLAYER, MovementData_0x185cd1
 	playsound SFX_KINESIS
-	showemote EMOTE_SHOCK, $4, 20
+	showemote EMOTE_SHOCK, BURNEDTOWER1F_SILVER, 20
 	loadfont
 	writetext UnknownText_0x185e75
 	waitbutton
--- a/maps/BurnedTowerB1F.asm
+++ b/maps/BurnedTowerB1F.asm
@@ -1,3 +1,14 @@
+const_value set 2
+	const BURNEDTOWERB1F_BOULDER
+	const BURNEDTOWERB1F_RAIKOU1
+	const BURNEDTOWERB1F_ENTEI1
+	const BURNEDTOWERB1F_SUICUNE1
+	const BURNEDTOWERB1F_RAIKOU2
+	const BURNEDTOWERB1F_ENTEI2
+	const BURNEDTOWERB1F_SUICUNE2
+	const BURNEDTOWERB1F_POKE_BALL
+	const BURNEDTOWERB1F_SUPER_NERD
+
 BurnedTowerB1F_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -29,50 +40,50 @@
 UnknownScript_0x18616b:
 	playmusic MUSIC_NONE
 	pause 30
-	appear $3
+	appear BURNEDTOWERB1F_RAIKOU1
 	spriteface PLAYER, UP
 	pause 5
-	disappear $6
+	disappear BURNEDTOWERB1F_RAIKOU2
 	pause 15
 	cry RAIKOU
-	appear $4
+	appear BURNEDTOWERB1F_ENTEI1
 	spriteface PLAYER, UP
 	pause 5
-	disappear $7
+	disappear BURNEDTOWERB1F_ENTEI2
 	pause 15
 	cry ENTEI
-	appear $5
+	appear BURNEDTOWERB1F_SUICUNE1
 	spriteface PLAYER, UP
 	pause 5
-	disappear $8
+	disappear BURNEDTOWERB1F_SUICUNE2
 	pause 15
 	cry SUICUNE
 	pause 15
 	playsound SFX_WARP_FROM
 	spriteface PLAYER, LEFT
-	applymovement $3, MovementData_0x186236
-	disappear $3
+	applymovement BURNEDTOWERB1F_RAIKOU1, MovementData_0x186236
+	disappear BURNEDTOWERB1F_RAIKOU1
 	waitsfx
 	playsound SFX_WARP_FROM
 	spriteface PLAYER, RIGHT
-	applymovement $4, MovementData_0x18623b
-	disappear $4
+	applymovement BURNEDTOWERB1F_ENTEI1, MovementData_0x18623b
+	disappear BURNEDTOWERB1F_ENTEI1
 	waitsfx
 	pause 15
 	playsound SFX_WARP_FROM
 	spriteface PLAYER, UP
-	applymovement $5, MovementData_0x186241
+	applymovement BURNEDTOWERB1F_SUICUNE1, MovementData_0x186241
 	playsound SFX_WARP_FROM
 	spriteface PLAYER, DOWN
-	applymovement $5, MovementData_0x186248
+	applymovement BURNEDTOWERB1F_SUICUNE1, MovementData_0x186248
 	spriteface PLAYER, UP
 	pause 20
 	cry SUICUNE
 	pause 30
 	playsound SFX_WARP_FROM
-	applymovement $5, MovementData_0x186253
+	applymovement BURNEDTOWERB1F_SUICUNE1, MovementData_0x186253
 	spriteface PLAYER, DOWN
-	disappear $5
+	disappear BURNEDTOWERB1F_SUICUNE1
 	waitsfx
 	special RestartMapMusic
 	dotrigger $1
@@ -85,7 +96,7 @@
 	clearevent EVENT_ECRUTEAK_CITY_GRAMPS
 	setevent EVENT_BURNED_TOWER_MORTY
 	setevent EVENT_BURNED_TOWER_1F_EUSINE
-	appear $a
+	appear BURNEDTOWERB1F_SUPER_NERD
 	refreshscreen $0
 	changeblock $6, $e, $1b
 	reloadmappart
@@ -101,13 +112,13 @@
 	closetext
 	checkcode VAR_FACING
 	if_equal $1, UnknownScript_0x186226
-	applymovement $a, MovementData_0x186263
+	applymovement BURNEDTOWERB1F_SUPER_NERD, MovementData_0x186263
 	jump UnknownScript_0x18622a
 
 UnknownScript_0x186226:
-	applymovement $a, MovementData_0x18625c
+	applymovement BURNEDTOWERB1F_SUPER_NERD, MovementData_0x18625c
 UnknownScript_0x18622a:
-	disappear $a
+	disappear BURNEDTOWERB1F_SUPER_NERD
 	playsound SFX_EXIT_BUILDING
 	waitsfx
 	end
--- a/maps/CeladonCafe.asm
+++ b/maps/CeladonCafe.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const CELADONCAFE_SUPER_NERD
+	const CELADONCAFE_FISHER1
+	const CELADONCAFE_FISHER2
+	const CELADONCAFE_FISHER3
+	const CELADONCAFE_TEACHER
+
 CeladonCafe_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -23,7 +30,7 @@
 	writetext UnknownText_0x7313a
 	waitbutton
 	closetext
-	spriteface $3, LEFT
+	spriteface CELADONCAFE_FISHER1, LEFT
 	end
 
 FisherScript_0x73062:
@@ -36,7 +43,7 @@
 	writetext UnknownText_0x73178
 	waitbutton
 	closetext
-	spriteface $4, RIGHT
+	spriteface CELADONCAFE_FISHER2, RIGHT
 	end
 
 FisherScript_0x73073:
@@ -49,7 +56,7 @@
 	writetext UnknownText_0x731bd
 	waitbutton
 	closetext
-	spriteface $5, RIGHT
+	spriteface CELADONCAFE_FISHER3, RIGHT
 	end
 
 TeacherScript_0x73084:
@@ -64,7 +71,7 @@
 	writetext UnknownText_0x73212
 	waitbutton
 	closetext
-	spriteface $6, LEFT
+	spriteface CELADONCAFE_TEACHER, LEFT
 	end
 
 UnknownScript_0x7309a:
@@ -72,12 +79,12 @@
 	writetext UnknownText_0x73254
 	waitbutton
 	closetext
-	spriteface $6, RIGHT
+	spriteface CELADONCAFE_TEACHER, RIGHT
 	loadfont
 	writetext UnknownText_0x73278
 	waitbutton
 	closetext
-	spriteface $6, LEFT
+	spriteface CELADONCAFE_TEACHER, LEFT
 	end
 
 EatathonContestPoster:
--- a/maps/CeladonCity.asm
+++ b/maps/CeladonCity.asm
@@ -1,3 +1,14 @@
+const_value set 2
+	const CELADONCITY_FISHER
+	const CELADONCITY_POLIWAG
+	const CELADONCITY_TEACHER1
+	const CELADONCITY_GRAMPS1
+	const CELADONCITY_GRAMPS2
+	const CELADONCITY_YOUNGSTER1
+	const CELADONCITY_YOUNGSTER2
+	const CELADONCITY_TEACHER2
+	const CELADONCITY_LASS
+
 CeladonCity_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CeladonDeptStore1F.asm
+++ b/maps/CeladonDeptStore1F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const CELADONDEPTSTORE1F_RECEPTIONIST
+	const CELADONDEPTSTORE1F_GENTLEMAN
+	const CELADONDEPTSTORE1F_TEACHER
+
 CeladonDeptStore1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CeladonDeptStore2F.asm
+++ b/maps/CeladonDeptStore2F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const CELADONDEPTSTORE2F_CLERK1
+	const CELADONDEPTSTORE2F_CLERK2
+	const CELADONDEPTSTORE2F_POKEFAN_M
+	const CELADONDEPTSTORE2F_YOUNGSTER
+
 CeladonDeptStore2F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CeladonDeptStore3F.asm
+++ b/maps/CeladonDeptStore3F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const CELADONDEPTSTORE3F_CLERK
+	const CELADONDEPTSTORE3F_YOUNGSTER
+	const CELADONDEPTSTORE3F_GAMEBOY_KID1
+	const CELADONDEPTSTORE3F_GAMEBOY_KID2
+	const CELADONDEPTSTORE3F_SUPER_NERD
+
 CeladonDeptStore3F_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -21,7 +28,7 @@
 	writetext UnknownText_0x70d86
 	waitbutton
 	closetext
-	spriteface $4, DOWN
+	spriteface CELADONDEPTSTORE3F_GAMEBOY_KID1, DOWN
 	end
 
 GameboyKidScript_0x70d3f:
@@ -30,7 +37,7 @@
 	writetext UnknownText_0x70dc7
 	waitbutton
 	closetext
-	spriteface $5, DOWN
+	spriteface CELADONDEPTSTORE3F_GAMEBOY_KID2, DOWN
 	end
 
 SuperNerdScript_0x70d4a:
--- a/maps/CeladonDeptStore4F.asm
+++ b/maps/CeladonDeptStore4F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const CELADONDEPTSTORE4F_CLERK
+	const CELADONDEPTSTORE4F_SUPER_NERD
+	const CELADONDEPTSTORE4F_YOUNGSTER
+
 CeladonDeptStore4F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CeladonDeptStore5F.asm
+++ b/maps/CeladonDeptStore5F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const CELADONDEPTSTORE5F_CLERK1
+	const CELADONDEPTSTORE5F_CLERK2
+	const CELADONDEPTSTORE5F_GENTLEMAN
+	const CELADONDEPTSTORE5F_SAILOR
+	const CELADONDEPTSTORE5F_TEACHER
+
 CeladonDeptStore5F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CeladonDeptStore6F.asm
+++ b/maps/CeladonDeptStore6F.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const CELADONDEPTSTORE6F_SUPER_NERD
+	const CELADONDEPTSTORE6F_YOUNGSTER
+
 CeladonDeptStore6F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CeladonDeptStoreElevator.asm
+++ b/maps/CeladonDeptStoreElevator.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 CeladonDeptStoreElevator_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CeladonGameCorner.asm
+++ b/maps/CeladonGameCorner.asm
@@ -1,3 +1,14 @@
+const_value set 2
+	const CELADONGAMECORNER_CLERK
+	const CELADONGAMECORNER_RECEPTIONIST
+	const CELADONGAMECORNER_POKEFAN_M
+	const CELADONGAMECORNER_TEACHER
+	const CELADONGAMECORNER_FISHING_GURU
+	const CELADONGAMECORNER_FISHER1
+	const CELADONGAMECORNER_FISHER2
+	const CELADONGAMECORNER_GYM_GUY
+	const CELADONGAMECORNER_GRAMPS
+
 CeladonGameCorner_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -17,7 +28,7 @@
 	writetext UnknownText_0x72215
 	waitbutton
 	closetext
-	spriteface $4, LEFT
+	spriteface CELADONGAMECORNER_POKEFAN_M, LEFT
 	end
 
 TeacherScript_0x7212e:
@@ -26,7 +37,7 @@
 	writetext UnknownText_0x72242
 	waitbutton
 	closetext
-	spriteface $5, RIGHT
+	spriteface CELADONGAMECORNER_TEACHER, RIGHT
 	end
 
 FishingGuruScript_0x72139:
@@ -35,7 +46,7 @@
 	writetext UnknownText_0x72295
 	waitbutton
 	closetext
-	spriteface $6, RIGHT
+	spriteface CELADONGAMECORNER_FISHING_GURU, RIGHT
 	end
 
 FisherScript_0x72144:
@@ -90,7 +101,7 @@
 	writetext UnknownText_0x724ad
 	waitbutton
 	closetext
-	spriteface $a, LEFT
+	spriteface CELADONGAMECORNER_GRAMPS, LEFT
 	end
 
 MapCeladonGameCornerSignpost36Script:
--- a/maps/CeladonGameCornerPrizeRoom.asm
+++ b/maps/CeladonGameCornerPrizeRoom.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const CELADONGAMECORNERPRIZEROOM_GENTLEMAN
+	const CELADONGAMECORNERPRIZEROOM_PHARMACIST
+
 CeladonGameCornerPrizeRoom_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CeladonGym.asm
+++ b/maps/CeladonGym.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const CELADONGYM_ERIKA
+	const CELADONGYM_LASS1
+	const CELADONGYM_LASS2
+	const CELADONGYM_BUENA
+	const CELADONGYM_TWIN1
+	const CELADONGYM_TWIN2
+
 CeladonGym_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CeladonMansion1F.asm
+++ b/maps/CeladonMansion1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const CELADONMANSION1F_GRANNY
+	const CELADONMANSION1F_GROWLITHE1
+	const CELADONMANSION1F_CLEFAIRY
+	const CELADONMANSION1F_GROWLITHE2
+
 CeladonMansion1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CeladonMansion2F.asm
+++ b/maps/CeladonMansion2F.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 CeladonMansion2F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CeladonMansion3F.asm
+++ b/maps/CeladonMansion3F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const CELADONMANSION3F_COOLTRAINER_M
+	const CELADONMANSION3F_GYM_GUY
+	const CELADONMANSION3F_SUPER_NERD
+	const CELADONMANSION3F_FISHER
+
 CeladonMansion3F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CeladonMansionRoof.asm
+++ b/maps/CeladonMansionRoof.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const CELADONMANSIONROOF_FISHER
+
 CeladonMansionRoof_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CeladonMansionRoofHouse.asm
+++ b/maps/CeladonMansionRoofHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const CELADONMANSIONROOFHOUSE_PHARMACIST
+
 CeladonMansionRoofHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CeladonPokeCenter1F.asm
+++ b/maps/CeladonPokeCenter1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const CELADONPOKECENTER1F_NURSE
+	const CELADONPOKECENTER1F_GENTLEMAN
+	const CELADONPOKECENTER1F_PHARMACIST
+	const CELADONPOKECENTER1F_COOLTRAINER_F
+	const CELADONPOKECENTER1F_SUPER_NERD
+
 CeladonPokeCenter1F_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -39,13 +46,13 @@
 	closetext
 	checkcode VAR_FACING
 	if_equal $1, UnknownScript_0x71e5a
-	applymovement $6, MovementData_0x71e6b
+	applymovement CELADONPOKECENTER1F_SUPER_NERD, MovementData_0x71e6b
 	jump UnknownScript_0x71e5e
 
 UnknownScript_0x71e5a:
-	applymovement $6, MovementData_0x71e65
+	applymovement CELADONPOKECENTER1F_SUPER_NERD, MovementData_0x71e65
 UnknownScript_0x71e5e:
-	disappear $6
+	disappear CELADONPOKECENTER1F_SUPER_NERD
 	playsound SFX_EXIT_BUILDING
 	waitsfx
 	end
--- a/maps/CeladonPokeCenter2FBeta.asm
+++ b/maps/CeladonPokeCenter2FBeta.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 CeladonPokeCenter2FBeta_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CeruleanCity.asm
+++ b/maps/CeruleanCity.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const CERULEANCITY_COOLTRAINER_M
+	const CERULEANCITY_SUPER_NERD
+	const CERULEANCITY_SLOWPOKE
+	const CERULEANCITY_COOLTRAINER_F
+	const CERULEANCITY_FISHER
+	const CERULEANCITY_YOUNGSTER
+
 CeruleanCity_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -45,7 +53,7 @@
 	writetext UnknownText_0x1841fa
 	waitbutton
 	closetext
-	spriteface $5, LEFT
+	spriteface CERULEANCITY_COOLTRAINER_F, LEFT
 	loadfont
 	writetext UnknownText_0x184229
 	waitbutton
@@ -108,8 +116,8 @@
 	waitsfx
 	playsound SFX_TRANSACTION
 	waitsfx
-	showemote EMOTE_SHOCK, $7, 15
-	spriteface $7, LEFT
+	showemote EMOTE_SHOCK, CERULEANCITY_YOUNGSTER, 15
+	spriteface CERULEANCITY_YOUNGSTER, LEFT
 	loadfont
 	writetext UnknownText_0x1842ee
 	waitbutton
--- a/maps/CeruleanGym.asm
+++ b/maps/CeruleanGym.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const CERULEANGYM_ROCKET
+	const CERULEANGYM_MISTY
+	const CERULEANGYM_SWIMMER_GIRL1
+	const CERULEANGYM_SWIMMER_GIRL2
+	const CERULEANGYM_SWIMMER_GUY
+	const CERULEANGYM_GYM_GUY
+
 CeruleanGym_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -17,28 +25,28 @@
 	end
 
 UnknownScript_0x1883de:
-	applymovement $2, MovementData_0x1884e3
+	applymovement CERULEANGYM_ROCKET, MovementData_0x1884e3
 	playsound SFX_TACKLE
-	applymovement $2, MovementData_0x1884eb
+	applymovement CERULEANGYM_ROCKET, MovementData_0x1884eb
 	playmusic MUSIC_ROCKET_ENCOUNTER
 	loadfont
 	writetext UnknownText_0x1884fb
 	waitbutton
 	closetext
-	showemote EMOTE_SHOCK, $2, 15
-	applymovement $2, MovementData_0x1884f7
+	showemote EMOTE_SHOCK, CERULEANGYM_ROCKET, 15
+	applymovement CERULEANGYM_ROCKET, MovementData_0x1884f7
 	loadfont
 	writetext UnknownText_0x188574
 	waitbutton
 	closetext
-	applymovement $2, MovementData_0x1884f5
+	applymovement CERULEANGYM_ROCKET, MovementData_0x1884f5
 	loadfont
 	writetext UnknownText_0x1885a5
 	waitbutton
 	closetext
-	applymovement $2, MovementData_0x1884e8
+	applymovement CERULEANGYM_ROCKET, MovementData_0x1884e8
 	playsound SFX_EXIT_BUILDING
-	disappear $2
+	disappear CERULEANGYM_ROCKET
 	setevent EVENT_MET_ROCKET_GRUNT_AT_CERULEAN_GYM
 	clearevent EVENT_ROUTE_24_ROCKET
 	clearevent EVENT_ROUTE_25_MISTY_BOYFRIEND
--- a/maps/CeruleanGymBadgeSpeechHouse.asm
+++ b/maps/CeruleanGymBadgeSpeechHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const CERULEANGYMBADGESPEECHHOUSE_POKEFAN_M
+
 CeruleanGymBadgeSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CeruleanMart.asm
+++ b/maps/CeruleanMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const CERULEANMART_CLERK
+	const CERULEANMART_COOLTRAINER_M
+	const CERULEANMART_COOLTRAINER_F
+
 CeruleanMart_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CeruleanPokeCenter1F.asm
+++ b/maps/CeruleanPokeCenter1F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const CERULEANPOKECENTER1F_NURSE
+	const CERULEANPOKECENTER1F_SUPER_NERD
+	const CERULEANPOKECENTER1F_GYM_GUY
+
 CeruleanPokeCenter1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CeruleanPokeCenter2FBeta.asm
+++ b/maps/CeruleanPokeCenter2FBeta.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 CeruleanPokeCenter2FBeta_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CeruleanPoliceStation.asm
+++ b/maps/CeruleanPoliceStation.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const CERULEANPOLICESTATION_FISHING_GURU
+	const CERULEANPOLICESTATION_POKEFAN_F
+	const CERULEANPOLICESTATION_DIGLETT
+
 CeruleanPoliceStation_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CeruleanTradeSpeechHouse.asm
+++ b/maps/CeruleanTradeSpeechHouse.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const CERULEANTRADESPEECHHOUSE_GRANNY
+	const CERULEANTRADESPEECHHOUSE_GRAMPS
+	const CERULEANTRADESPEECHHOUSE_RHYDON
+	const CERULEANTRADESPEECHHOUSE_ZUBAT
+
 CeruleanTradeSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CharcoalKiln.asm
+++ b/maps/CharcoalKiln.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const CHARCOALKILN_BLACK_BELT
+	const CHARCOALKILN_YOUNGSTER
+	const CHARCOALKILN_MOLTRES
+
 CharcoalKiln_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CherrygroveCity.asm
+++ b/maps/CherrygroveCity.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const CHERRYGROVECITY_GRAMPS
+	const CHERRYGROVECITY_SILVER
+	const CHERRYGROVECITY_TEACHER
+	const CHERRYGROVECITY_YOUNGSTER
+	const CHERRYGROVECITY_FISHER
+
 CherrygroveCity_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -34,34 +41,34 @@
 	waitbutton
 	closetext
 	playmusic MUSIC_SHOW_ME_AROUND
-	follow $2, PLAYER
-	applymovement $2, MovementData_0x19c195
+	follow CHERRYGROVECITY_GRAMPS, PLAYER
+	applymovement CHERRYGROVECITY_GRAMPS, MovementData_0x19c195
 	loadfont
 	writetext GuideGentPokeCenterText
 	waitbutton
 	closetext
-	applymovement $2, MovementData_0x19c19b
+	applymovement CHERRYGROVECITY_GRAMPS, MovementData_0x19c19b
 	spriteface PLAYER, UP
 	loadfont
 	writetext GuideGentMartText
 	waitbutton
 	closetext
-	applymovement $2, MovementData_0x19c1a3
+	applymovement CHERRYGROVECITY_GRAMPS, MovementData_0x19c1a3
 	spriteface PLAYER, UP
 	loadfont
 	writetext GuideGentRoute30Text
 	waitbutton
 	closetext
-	applymovement $2, MovementData_0x19c1ac
+	applymovement CHERRYGROVECITY_GRAMPS, MovementData_0x19c1ac
 	spriteface PLAYER, LEFT
 	loadfont
 	writetext GuideGentSeaText
 	waitbutton
 	closetext
-	applymovement $2, MovementData_0x19c1b6
+	applymovement CHERRYGROVECITY_GRAMPS, MovementData_0x19c1b6
 	spriteface PLAYER, UP
 	pause 60
-	spriteface $2, LEFT
+	spriteface CHERRYGROVECITY_GRAMPS, LEFT
 	spriteface PLAYER, RIGHT
 	loadfont
 	writetext GuideGentGiftText
@@ -77,9 +84,9 @@
 	stopfollow
 	special RestartMapMusic
 	spriteface PLAYER, UP
-	applymovement $2, MovementData_0x19c1cb
+	applymovement CHERRYGROVECITY_GRAMPS, MovementData_0x19c1cb
 	playsound SFX_ENTER_DOOR
-	disappear $2
+	disappear CHERRYGROVECITY_GRAMPS
 	clearevent EVENT_GUIDE_GENT_VISIBLE_IN_CHERRYGROVE
 	waitsfx
 	end
@@ -98,7 +105,7 @@
 	end
 
 UnknownScript_0x19c0aa:
-	moveperson $3, $27, $7
+	moveperson CHERRYGROVECITY_SILVER, $27, $7
 
 UnknownScript_0x19c0ae:
 	spriteface PLAYER, RIGHT
@@ -105,8 +112,8 @@
 	showemote EMOTE_SHOCK, PLAYER, 15
 	special Special_RotatePalettesRightMusic
 	pause 15
-	appear $3
-	applymovement $3, MovementData_0x19c1ce
+	appear CHERRYGROVECITY_SILVER
+	applymovement CHERRYGROVECITY_SILVER, MovementData_0x19c1ce
 	spriteface PLAYER, RIGHT
 	playmusic MUSIC_RIVAL_ENCOUNTER
 	loadfont
@@ -167,8 +174,8 @@
 	playsound SFX_TACKLE
 	applymovement PLAYER, MovementData_0x19c1d4
 	spriteface PLAYER, LEFT
-	applymovement $3, MovementData_0x19c1da
-	disappear $3
+	applymovement CHERRYGROVECITY_SILVER, MovementData_0x19c1da
+	disappear CHERRYGROVECITY_SILVER
 	dotrigger $0
 	special HealParty
 	playmapmusic
--- a/maps/CherrygroveEvolutionSpeechHouse.asm
+++ b/maps/CherrygroveEvolutionSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const CHERRYGROVEEVOLUTIONSPEECHHOUSE_LASS
+	const CHERRYGROVEEVOLUTIONSPEECHHOUSE_YOUNGSTER
+
 CherrygroveEvolutionSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CherrygroveGymSpeechHouse.asm
+++ b/maps/CherrygroveGymSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const CHERRYGROVEGYMSPEECHHOUSE_POKEFAN_M
+	const CHERRYGROVEGYMSPEECHHOUSE_BUG_CATCHER
+
 CherrygroveGymSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CherrygroveMart.asm
+++ b/maps/CherrygroveMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const CHERRYGROVEMART_CLERK
+	const CHERRYGROVEMART_COOLTRAINER_M
+	const CHERRYGROVEMART_YOUNGSTER
+
 CherrygroveMart_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CherrygrovePokeCenter1F.asm
+++ b/maps/CherrygrovePokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const CHERRYGROVEPOKECENTER1F_NURSE
+	const CHERRYGROVEPOKECENTER1F_FISHER
+	const CHERRYGROVEPOKECENTER1F_GENTLEMAN
+	const CHERRYGROVEPOKECENTER1F_TEACHER
+
 CherrygrovePokeCenter1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CianwoodCity.asm
+++ b/maps/CianwoodCity.asm
@@ -1,3 +1,17 @@
+const_value set 2
+	const CIANWOODCITY_STANDING_YOUNGSTER
+	const CIANWOODCITY_POKEFAN_M
+	const CIANWOODCITY_LASS
+	const CIANWOODCITY_ROCK1
+	const CIANWOODCITY_ROCK2
+	const CIANWOODCITY_ROCK3
+	const CIANWOODCITY_ROCK4
+	const CIANWOODCITY_ROCK5
+	const CIANWOODCITY_ROCK6
+	const CIANWOODCITY_POKEFAN_F
+	const CIANWOODCITY_SUPER_NERD
+	const CIANWOODCITY_SUICUNE
+
 CianwoodCity_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -23,7 +37,7 @@
 	setevent EVENT_EUSINE_IN_BURNED_TOWER
 	checkevent EVENT_FOUGHT_EUSINE
 	iffalse UnknownScript_0x1a001d
-	disappear $c
+	disappear CIANWOODCITY_SUPER_NERD
 UnknownScript_0x1a001d:
 	return
 
@@ -32,12 +46,12 @@
 	showemote EMOTE_SHOCK, PLAYER, 15
 	pause 15
 	playsound SFX_WARP_FROM
-	applymovement $d, MovementData_0x1a00da
+	applymovement CIANWOODCITY_SUICUNE, MovementData_0x1a00da
 	spriteface PLAYER, DOWN
 	pause 15
 	playsound SFX_WARP_FROM
-	applymovement $d, MovementData_0x1a00e0
-	disappear $d
+	applymovement CIANWOODCITY_SUICUNE, MovementData_0x1a00e0
+	disappear CIANWOODCITY_SUICUNE
 	pause 10
 	dotrigger $0
 	clearevent EVENT_SAW_SUICUNE_ON_ROUTE_42
@@ -46,8 +60,8 @@
 	iftrue .Done
 	setevent EVENT_FOUGHT_EUSINE
 	playmusic MUSIC_MYSTICALMAN_ENCOUNTER
-	appear $c
-	applymovement $c, MovementData_0x1a00e7
+	appear CIANWOODCITY_SUPER_NERD
+	applymovement CIANWOODCITY_SUPER_NERD, MovementData_0x1a00e7
 	loadfont
 	writetext UnknownText_0x1a0433
 	waitbutton
@@ -63,8 +77,8 @@
 	writetext UnknownText_0x1a05c3
 	waitbutton
 	closetext
-	applymovement $c, MovementData_0x1a00ec
-	disappear $c
+	applymovement CIANWOODCITY_SUPER_NERD, MovementData_0x1a00ec
+	disappear CIANWOODCITY_SUPER_NERD
 	pause 20
 	special Special_RotatePalettesRightMusic
 	playmapmusic
--- a/maps/CianwoodCityPhotoStudio.asm
+++ b/maps/CianwoodCityPhotoStudio.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const CIANWOODCITYPHOTOSTUDIO_FISHING_GURU
+
 CianwoodCityPhotoStudio_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CianwoodGym.asm
+++ b/maps/CianwoodGym.asm
@@ -1,3 +1,14 @@
+const_value set 2
+	const CIANWOODGYM_CHUCK
+	const CIANWOODGYM_BLACK_BELT1
+	const CIANWOODGYM_BLACK_BELT2
+	const CIANWOODGYM_BLACK_BELT3
+	const CIANWOODGYM_BLACK_BELT4
+	const CIANWOODGYM_BOULDER1
+	const CIANWOODGYM_BOULDER2
+	const CIANWOODGYM_BOULDER3
+	const CIANWOODGYM_BOULDER4
+
 CianwoodGym_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -13,15 +24,15 @@
 	writetext UnknownText_0x9d6f9
 	waitbutton
 	closetext
-	spriteface $2, RIGHT
+	spriteface CIANWOODGYM_CHUCK, RIGHT
 	loadfont
 	writetext UnknownText_0x9d76f
 	waitbutton
 	closetext
-	applymovement $7, MovementData_0x9d6f3
+	applymovement CIANWOODGYM_BOULDER1, MovementData_0x9d6f3
 	playsound SFX_STRENGTH
 	earthquake 80
-	disappear $7
+	disappear CIANWOODGYM_BOULDER1
 	pause 30
 	faceplayer
 	loadfont
--- a/maps/CianwoodLugiaSpeechHouse.asm
+++ b/maps/CianwoodLugiaSpeechHouse.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const CIANWOODLUGIASPEECHHOUSE_TEACHER
+	const CIANWOODLUGIASPEECHHOUSE_LASS
+	const CIANWOODLUGIASPEECHHOUSE_TWIN
+
 CianwoodLugiaSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CianwoodPharmacy.asm
+++ b/maps/CianwoodPharmacy.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const CIANWOODPHARMACY_PHARMACIST
+
 CianwoodPharmacy_MapScriptHeader:
 .MapTriggers:
 	db 1
--- a/maps/CianwoodPokeCenter1F.asm
+++ b/maps/CianwoodPokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const CIANWOODPOKECENTER1F_NURSE
+	const CIANWOODPOKECENTER1F_LASS
+	const CIANWOODPOKECENTER1F_GYM_GUY
+	const CIANWOODPOKECENTER1F_SUPER_NERD
+
 CianwoodPokeCenter1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CinnabarIsland.asm
+++ b/maps/CinnabarIsland.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const CINNABARISLAND_BLUE
+
 CinnabarIsland_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -19,8 +22,8 @@
 	waitbutton
 	closetext
 	playsound SFX_WARP_TO
-	applymovement $2, CinnabarIslandBlueTeleport
-	disappear $2
+	applymovement CINNABARISLAND_BLUE, CinnabarIslandBlueTeleport
+	disappear CINNABARISLAND_BLUE
 	clearevent EVENT_VIRIDIAN_GYM_BLUE
 	end
 
--- a/maps/CinnabarPokeCenter1F.asm
+++ b/maps/CinnabarPokeCenter1F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const CINNABARPOKECENTER1F_NURSE
+	const CINNABARPOKECENTER1F_COOLTRAINER_F
+	const CINNABARPOKECENTER1F_FISHER
+
 CinnabarPokeCenter1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CinnabarPokeCenter2FBeta.asm
+++ b/maps/CinnabarPokeCenter2FBeta.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 CinnabarPokeCenter2FBeta_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Colosseum.asm
+++ b/maps/Colosseum.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const COLOSSEUM_CHRIS1
+	const COLOSSEUM_CHRIS2
+
 Colosseum_MapScriptHeader:
 .MapTriggers:
 	db 3
@@ -29,13 +33,13 @@
 ColosseumScript_SetWhichChris:
 	special Special_CableClubCheckWhichChris
 	iffalse .Chris2
-	disappear $3
-	appear $2
+	disappear COLOSSEUM_CHRIS2
+	appear COLOSSEUM_CHRIS1
 	return
 
 .Chris2:
-	disappear $2
-	appear $3
+	disappear COLOSSEUM_CHRIS1
+	appear COLOSSEUM_CHRIS2
 	return
 
 ColosseumScript_InitializeCB:
--- a/maps/CopycatsHouse1F.asm
+++ b/maps/CopycatsHouse1F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const COPYCATSHOUSE1F_POKEFAN_M
+	const COPYCATSHOUSE1F_POKEFAN_F
+	const COPYCATSHOUSE1F_CLEFAIRY
+
 CopycatsHouse1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/CopycatsHouse2F.asm
+++ b/maps/CopycatsHouse2F.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const COPYCATSHOUSE2F_COPYCAT1
+	const COPYCATSHOUSE2F_MOLTRES
+	const COPYCATSHOUSE2F_FAIRY
+	const COPYCATSHOUSE2F_MONSTER
+	const COPYCATSHOUSE2F_BIRD
+	const COPYCATSHOUSE2F_COPYCAT2
+
 CopycatsHouse2F_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -12,12 +20,12 @@
 CopycatsHouse2FCallback:
 	checkflag ENGINE_PLAYER_IS_FEMALE
 	iftrue .Part1
-	disappear $7
-	appear $2
+	disappear COPYCATSHOUSE2F_COPYCAT2
+	appear COPYCATSHOUSE2F_COPYCAT1
 	jump .Done
 .Part1
-	disappear $2
-	appear $7
+	disappear COPYCATSHOUSE2F_COPYCAT1
+	appear COPYCATSHOUSE2F_COPYCAT2
 .Done
 	return
 
@@ -31,13 +39,13 @@
 	iftrue .Part12
 	checkflag ENGINE_PLAYER_IS_FEMALE
 	iftrue .Part1
-	applymovement $2, MovementData_0x18afd0
+	applymovement COPYCATSHOUSE2F_COPYCAT1, MovementData_0x18afd0
 	faceplayer
 	variablesprite SPRITE_COPYCAT, SPRITE_CHRIS
 	jump .Part2
 
 .Part1
-	applymovement $7, MovementData_0x18afd0
+	applymovement COPYCATSHOUSE2F_COPYCAT2, MovementData_0x18afd0
 	faceplayer
 	variablesprite SPRITE_COPYCAT, SPRITE_KRIS
 .Part2
@@ -57,11 +65,11 @@
 	closetext
 	checkflag ENGINE_PLAYER_IS_FEMALE
 	iftrue .Part5
-	applymovement $2, MovementData_0x18afd0
+	applymovement COPYCATSHOUSE2F_COPYCAT1, MovementData_0x18afd0
 	jump .Part6
 
 .Part5
-	applymovement $7, MovementData_0x18afd0
+	applymovement COPYCATSHOUSE2F_COPYCAT2, MovementData_0x18afd0
 .Part6
 	faceplayer
 	variablesprite SPRITE_COPYCAT, SPRITE_LASS
@@ -86,11 +94,11 @@
 	closetext
 	checkflag ENGINE_PLAYER_IS_FEMALE
 	iftrue .Part10
-	applymovement $2, MovementData_0x18afd0
+	applymovement COPYCATSHOUSE2F_COPYCAT1, MovementData_0x18afd0
 	jump .Part11
 
 .Part10
-	applymovement $7, MovementData_0x18afd0
+	applymovement COPYCATSHOUSE2F_COPYCAT2, MovementData_0x18afd0
 .Part11
 	faceplayer
 	variablesprite SPRITE_COPYCAT, SPRITE_LASS
@@ -127,13 +135,13 @@
 .Part15
 	checkflag ENGINE_PLAYER_IS_FEMALE
 	iftrue .Part16
-	applymovement $2, MovementData_0x18afd0
+	applymovement COPYCATSHOUSE2F_COPYCAT1, MovementData_0x18afd0
 	faceplayer
 	variablesprite SPRITE_COPYCAT, SPRITE_CHRIS
 	jump .Part17
 
 .Part16
-	applymovement $7, MovementData_0x18afd0
+	applymovement COPYCATSHOUSE2F_COPYCAT2, MovementData_0x18afd0
 	faceplayer
 	variablesprite SPRITE_COPYCAT, SPRITE_KRIS
 .Part17
@@ -151,11 +159,11 @@
 	closetext
 	checkflag ENGINE_PLAYER_IS_FEMALE
 	iftrue .Part20
-	applymovement $2, MovementData_0x18afd0
+	applymovement COPYCATSHOUSE2F_COPYCAT1, MovementData_0x18afd0
 	jump .Part21
 
 .Part20
-	applymovement $7, MovementData_0x18afd0
+	applymovement COPYCATSHOUSE2F_COPYCAT2, MovementData_0x18afd0
 .Part21
 	faceplayer
 	variablesprite SPRITE_COPYCAT, SPRITE_LASS
--- a/maps/DanceTheatre.asm
+++ b/maps/DanceTheatre.asm
@@ -1,3 +1,14 @@
+const_value set 2
+	const DANCETHEATRE_KIMONO_GIRL1
+	const DANCETHEATRE_KIMONO_GIRL2
+	const DANCETHEATRE_KIMONO_GIRL3
+	const DANCETHEATRE_KIMONO_GIRL4
+	const DANCETHEATRE_KIMONO_GIRL5
+	const DANCETHEATRE_GENTLEMAN
+	const DANCETHEATRE_RHYDON
+	const DANCETHEATRE_COOLTRAINER_M
+	const DANCETHEATRE_GRANNY
+
 DanceTheatre_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/DarkCaveBlackthornEntrance.asm
+++ b/maps/DarkCaveBlackthornEntrance.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const DARKCAVEBLACKTHORNENTRANCE_PHARMACIST
+	const DARKCAVEBLACKTHORNENTRANCE_POKE_BALL1
+	const DARKCAVEBLACKTHORNENTRANCE_POKE_BALL2
+
 DarkCaveBlackthornEntrance_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/DarkCaveVioletEntrance.asm
+++ b/maps/DarkCaveVioletEntrance.asm
@@ -1,3 +1,13 @@
+const_value set 2
+	const DARKCAVEVIOLETENTRANCE_POKE_BALL1
+	const DARKCAVEVIOLETENTRANCE_ROCK1
+	const DARKCAVEVIOLETENTRANCE_ROCK2
+	const DARKCAVEVIOLETENTRANCE_ROCK3
+	const DARKCAVEVIOLETENTRANCE_ROCK4
+	const DARKCAVEVIOLETENTRANCE_POKE_BALL2
+	const DARKCAVEVIOLETENTRANCE_POKE_BALL3
+	const DARKCAVEVIOLETENTRANCE_POKE_BALL4
+
 DarkCaveVioletEntrance_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/DayCare.asm
+++ b/maps/DayCare.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const DAYCARE_GRAMPS
+	const DAYCARE_GRANNY
+
 DayCare_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/DiglettsCave.asm
+++ b/maps/DiglettsCave.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const DIGLETTSCAVE_POKEFAN_M
+
 DiglettsCave_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/DragonShrine.asm
+++ b/maps/DragonShrine.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const DRAGONSHRINE_ELDER1
+	const DRAGONSHRINE_ELDER2
+	const DRAGONSHRINE_ELDER3
+	const DRAGONSHRINE_CLAIR
+
 DragonShrine_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -18,7 +24,7 @@
 
 DragonShrineTestScript:
 	applymovement PLAYER, MovementData_0x18d2bf
-	applymovement $2, MovementData_0x18d2c7
+	applymovement DRAGONSHRINE_ELDER1, MovementData_0x18d2c7
 	loadfont
 	writetext UnknownText_0x18d2ea
 	keeptextopen
@@ -89,12 +95,12 @@
 	iftrue .Question2
 .WrongAnswer:
 	closetext
-	spriteface $2, LEFT
+	spriteface DRAGONSHRINE_ELDER1, LEFT
 	loadfont
 	writetext UnknownText_0x18d7f6
 	waitbutton
 	closetext
-	spriteface $2, DOWN
+	spriteface DRAGONSHRINE_ELDER1, DOWN
 	loadfont
 	writetext UnknownText_0x18d816
 	waitbutton
@@ -118,41 +124,41 @@
 	playsound SFX_ENTER_DOOR
 	showemote EMOTE_SHOCK, PLAYER, 15
 	playmusic MUSIC_CLAIR
-	appear $5
+	appear DRAGONSHRINE_CLAIR
 	waitsfx
 	spriteface PLAYER, DOWN
 	pause 30
-	applymovement $5, MovementData_0x18d2d4
-	spriteface $5, RIGHT
+	applymovement DRAGONSHRINE_CLAIR, MovementData_0x18d2d4
+	spriteface DRAGONSHRINE_CLAIR, RIGHT
 	spriteface PLAYER, LEFT
-	spriteface $2, LEFT
+	spriteface DRAGONSHRINE_ELDER1, LEFT
 	loadfont
 	writetext UnknownText_0x18d916
 	waitbutton
 	closetext
 	special Special_RotatePalettesRightMusic
-	applymovement $5, MovementData_0x18d2da
+	applymovement DRAGONSHRINE_CLAIR, MovementData_0x18d2da
 	loadfont
 	writetext UnknownText_0x18d974
 	waitbutton
 	closetext
-	applymovement $5, MovementData_0x18d2dd
+	applymovement DRAGONSHRINE_CLAIR, MovementData_0x18d2dd
 	loadfont
 	writetext UnknownText_0x18d983
 	waitbutton
 	closetext
-	applymovement $2, MovementData_0x18d2c9
-	spriteface $5, UP
+	applymovement DRAGONSHRINE_ELDER1, MovementData_0x18d2c9
+	spriteface DRAGONSHRINE_CLAIR, UP
 	loadfont
 	writetext UnknownText_0x18d520
 	waitbutton
 	closetext
-	showemote EMOTE_SHOCK, $5, 15
+	showemote EMOTE_SHOCK, DRAGONSHRINE_CLAIR, 15
 	loadfont
 	writetext UnknownText_0x18d9ae
 	waitbutton
 	closetext
-	applymovement $5, MovementData_0x18d2e0
+	applymovement DRAGONSHRINE_CLAIR, MovementData_0x18d2e0
 	loadfont
 	writetext UnknownText_0x18d9bf
 	waitbutton
@@ -168,9 +174,9 @@
 	writetext UnknownText_0x18da0b
 	waitbutton
 	closetext
-	applymovement $2, MovementData_0x18d2ce
-	spriteface $5, UP
-	applymovement $2, MovementData_0x18d2d1
+	applymovement DRAGONSHRINE_ELDER1, MovementData_0x18d2ce
+	spriteface DRAGONSHRINE_CLAIR, UP
+	applymovement DRAGONSHRINE_ELDER1, MovementData_0x18d2d1
 	spriteface PLAYER, UP
 	loadfont
 	writetext UnknownText_0x18d5a3
@@ -180,9 +186,9 @@
 	writetext UnknownText_0x18dab4
 	waitbutton
 	closetext
-	applymovement $5, MovementData_0x18d2e3
+	applymovement DRAGONSHRINE_CLAIR, MovementData_0x18d2e3
 	playsound SFX_ENTER_DOOR
-	disappear $5
+	disappear DRAGONSHRINE_CLAIR
 	waitsfx
 	setevent EVENT_GAVE_KURT_APRICORNS
 	end
--- a/maps/DragonsDen1F.asm
+++ b/maps/DragonsDen1F.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 DragonsDen1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/DragonsDenB1F.asm
+++ b/maps/DragonsDenB1F.asm
@@ -1,3 +1,14 @@
+const_value set 2
+	const DRAGONSDENB1F_POKE_BALL1
+	const DRAGONSDENB1F_CLAIR
+	const DRAGONSDENB1F_SILVER
+	const DRAGONSDENB1F_COOLTRAINER_M
+	const DRAGONSDENB1F_COOLTRAINER_F
+	const DRAGONSDENB1F_TWIN1
+	const DRAGONSDENB1F_TWIN2
+	const DRAGONSDENB1F_POKE_BALL2
+	const DRAGONSDENB1F_POKE_BALL3
+
 DragonsDenB1F_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -22,7 +33,7 @@
 UnknownScript_0x18c89f:
 	checkevent EVENT_BEAT_RIVAL_IN_MT_MOON
 	iftrue UnknownScript_0x18c8a8
-	disappear $4
+	disappear DRAGONSDENB1F_SILVER
 	return
 
 UnknownScript_0x18c8a8:
@@ -29,15 +40,15 @@
 	checkcode VAR_WEEKDAY
 	if_equal TUESDAY, UnknownScript_0x18c8b5
 	if_equal THURSDAY, UnknownScript_0x18c8b5
-	disappear $4
+	disappear DRAGONSDENB1F_SILVER
 	return
 
 UnknownScript_0x18c8b5:
-	appear $4
+	appear DRAGONSDENB1F_SILVER
 	return
 
 UnknownScript_0x18c8b8:
-	appear $3
+	appear DRAGONSDENB1F_CLAIR
 	loadfont
 	writetext UnknownText_0x18c9b8
 	pause 30
@@ -45,7 +56,7 @@
 	showemote EMOTE_SHOCK, PLAYER, 15
 	spriteface PLAYER, LEFT
 	playmusic MUSIC_CLAIR
-	applymovement $3, MovementData_0x18c9ae
+	applymovement DRAGONSDENB1F_CLAIR, MovementData_0x18c9ae
 	loadfont
 	writetext UnknownText_0x18c9bf
 	keeptextopen
@@ -69,11 +80,11 @@
 	waitbutton
 	closetext
 UnknownScript_0x18c8f9:
-	applymovement $3, MovementData_0x18c9b3
+	applymovement DRAGONSDENB1F_CLAIR, MovementData_0x18c9b3
 	special Special_RotatePalettesRightMusic
 	pause 30
 	special RestartMapMusic
-	disappear $3
+	disappear DRAGONSDENB1F_CLAIR
 	dotrigger $0
 	end
 
@@ -124,7 +135,7 @@
 PokeBallScript_0x18c95a:
 	giveitem DRAGON_FANG
 	iffalse UnknownScript_0x18c970
-	disappear $2
+	disappear DRAGONSDENB1F_POKE_BALL1
 	loadfont
 	itemtotext DRAGON_FANG, $0
 	writetext UnknownText_0x18cf41
--- a/maps/EarlsPokemonAcademy.asm
+++ b/maps/EarlsPokemonAcademy.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const EARLSPOKEMONACADEMY_FISHER
+	const EARLSPOKEMONACADEMY_YOUNGSTER1
+	const EARLSPOKEMONACADEMY_GAMEBOY_KID1
+	const EARLSPOKEMONACADEMY_GAMEBOY_KID2
+	const EARLSPOKEMONACADEMY_YOUNGSTER2
+	const EARLSPOKEMONACADEMY_POKEDEX
+
 EarlsPokemonAcademy_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -6,7 +14,7 @@
 	db 0
 
 AcademyEarl:
-	applymovement $2, MovementData_0x68b2d
+	applymovement EARLSPOKEMONACADEMY_FISHER, MovementData_0x68b2d
 	faceplayer
 	loadfont
 	writetext UnknownText_0x68b3b
@@ -39,7 +47,7 @@
 	writetext UnknownText_0x68dda
 	waitbutton
 	closetext
-	spriteface $4, DOWN
+	spriteface EARLSPOKEMONACADEMY_GAMEBOY_KID1, DOWN
 	end
 
 GameboyKidScript_0x68a91:
@@ -48,7 +56,7 @@
 	writetext UnknownText_0x68e07
 	waitbutton
 	closetext
-	spriteface $5, DOWN
+	spriteface EARLSPOKEMONACADEMY_GAMEBOY_KID2, DOWN
 	end
 
 YoungsterScript_0x68a9c:
--- a/maps/EcruteakCity.asm
+++ b/maps/EcruteakCity.asm
@@ -1,3 +1,12 @@
+const_value set 2
+	const ECRUTEAKCITY_GRAMPS1
+	const ECRUTEAKCITY_GRAMPS2
+	const ECRUTEAKCITY_LASS1
+	const ECRUTEAKCITY_LASS2
+	const ECRUTEAKCITY_FISHER
+	const ECRUTEAKCITY_YOUNGSTER
+	const ECRUTEAKCITY_GRAMPS3
+
 EcruteakCity_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/EcruteakGym.asm
+++ b/maps/EcruteakGym.asm
@@ -1,3 +1,12 @@
+const_value set 2
+	const ECRUTEAKGYM_MORTY
+	const ECRUTEAKGYM_SAGE1
+	const ECRUTEAKGYM_SAGE2
+	const ECRUTEAKGYM_GRANNY1
+	const ECRUTEAKGYM_GRANNY2
+	const ECRUTEAKGYM_GYM_GUY
+	const ECRUTEAKGYM_GRAMPS
+
 EcruteakGym_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -76,12 +85,12 @@
 
 UnknownScript_0x99dc6:
 	applymovement PLAYER, MovementData_0x99e5d
-	applymovement $8, MovementData_0x99e63
+	applymovement ECRUTEAKGYM_GRAMPS, MovementData_0x99e63
 	loadfont
 	writetext UnknownText_0x9a49c
 	waitbutton
 	closetext
-	follow PLAYER, $8
+	follow PLAYER, ECRUTEAKGYM_GRAMPS
 	applymovement PLAYER, MovementData_0x99e5f
 	stopfollow
 	special FadeOutPalettes
--- a/maps/EcruteakHouse.asm
+++ b/maps/EcruteakHouse.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const ECRUTEAKHOUSE_SAGE1
+	const ECRUTEAKHOUSE_SAGE2
+	const ECRUTEAKHOUSE_SAGE3
+	const ECRUTEAKHOUSE_GRAMPS
+
 EcruteakHouse_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -45,21 +51,21 @@
 EcruteakHouse_XYTrigger1:
 	checkevent EVENT_RANG_CLEAR_BELL_2
 	iftrue EcruteakHouse_XYTrigger_DontMove
-	applymovement $3, MovementData_0x980c7
-	moveperson $2, $4, $6
-	appear $2
+	applymovement ECRUTEAKHOUSE_SAGE2, MovementData_0x980c7
+	moveperson ECRUTEAKHOUSE_SAGE1, $4, $6
+	appear ECRUTEAKHOUSE_SAGE1
 	pause 5
-	disappear $3
+	disappear ECRUTEAKHOUSE_SAGE2
 	end
 
 EcruteakHouse_XYTrigger2:
 	checkevent EVENT_RANG_CLEAR_BELL_1
 	iftrue EcruteakHouse_XYTrigger_DontMove
-	applymovement $2, MovementData_0x980cc
-	moveperson $3, $5, $6
-	appear $3
+	applymovement ECRUTEAKHOUSE_SAGE1, MovementData_0x980cc
+	moveperson ECRUTEAKHOUSE_SAGE2, $5, $6
+	appear ECRUTEAKHOUSE_SAGE2
 	pause 5
-	disappear $2
+	disappear ECRUTEAKHOUSE_SAGE1
 	end
 
 EcruteakHouse_XYTrigger_DontMove:
--- a/maps/EcruteakItemfinderHouse.asm
+++ b/maps/EcruteakItemfinderHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const ECRUTEAKITEMFINDERHOUSE_COOLTRAINER_M
+	const ECRUTEAKITEMFINDERHOUSE_POKEDEX
+
 EcruteakItemfinderHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/EcruteakLugiaSpeechHouse.asm
+++ b/maps/EcruteakLugiaSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const ECRUTEAKLUGIASPEECHHOUSE_GRAMPS
+	const ECRUTEAKLUGIASPEECHHOUSE_YOUNGSTER
+
 EcruteakLugiaSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/EcruteakMart.asm
+++ b/maps/EcruteakMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const ECRUTEAKMART_CLERK
+	const ECRUTEAKMART_SUPER_NERD
+	const ECRUTEAKMART_GRANNY
+
 EcruteakMart_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/EcruteakPokeCenter1F.asm
+++ b/maps/EcruteakPokeCenter1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const ECRUTEAKPOKECENTER1F_NURSE
+	const ECRUTEAKPOKECENTER1F_POKEFAN_M
+	const ECRUTEAKPOKECENTER1F_COOLTRAINER_F
+	const ECRUTEAKPOKECENTER1F_GYM_GUY
+	const ECRUTEAKPOKECENTER1F_BILL
+
 EcruteakPokeCenter1F_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -19,19 +26,19 @@
 UnknownScript_0x98e64:
 	pause 30
 	playsound SFX_EXIT_BUILDING
-	appear $6
+	appear ECRUTEAKPOKECENTER1F_BILL
 	waitsfx
-	applymovement $6, MovementData_0x98ec5
+	applymovement ECRUTEAKPOKECENTER1F_BILL, MovementData_0x98ec5
 	applymovement PLAYER, MovementData_0x98ed4
-	spriteface $2, UP
+	spriteface ECRUTEAKPOKECENTER1F_NURSE, UP
 	pause 10
-	spriteface $2, DOWN
+	spriteface ECRUTEAKPOKECENTER1F_NURSE, DOWN
 	pause 30
-	spriteface $2, UP
+	spriteface ECRUTEAKPOKECENTER1F_NURSE, UP
 	pause 10
-	spriteface $2, DOWN
+	spriteface ECRUTEAKPOKECENTER1F_NURSE, DOWN
 	pause 20
-	spriteface $6, DOWN
+	spriteface ECRUTEAKPOKECENTER1F_BILL, DOWN
 	pause 10
 	loadfont
 	writetext UnknownText_0x98ed8
@@ -43,9 +50,9 @@
 	waitbutton
 	closetext
 	spriteface PLAYER, DOWN
-	applymovement $6, MovementData_0x98ece
+	applymovement ECRUTEAKPOKECENTER1F_BILL, MovementData_0x98ece
 	playsound SFX_EXIT_BUILDING
-	disappear $6
+	disappear ECRUTEAKPOKECENTER1F_BILL
 	clearevent EVENT_MET_BILL
 	setflag ENGINE_TIME_CAPSULE
 	dotrigger $1
--- a/maps/ElmsHouse.asm
+++ b/maps/ElmsHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const ELMSHOUSE_TEACHER
+	const ELMSHOUSE_BUG_CATCHER
+
 ElmsHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/ElmsLab.asm
+++ b/maps/ElmsLab.asm
@@ -1,1416 +1,1424 @@
-ElmsLab_MapScriptHeader:
-.MapTriggers:
-	db 6
-
-	; triggers
-	dw UnknownScript_0x78b7a, 0
-	dw UnknownScript_0x78b7e, 0
-	dw UnknownScript_0x78b7f, 0
-	dw UnknownScript_0x78b80, 0
-	dw UnknownScript_0x78b81, 0
-	dw UnknownScript_0x78b82, 0
-
-.MapCallbacks:
-	db 1
-
-	; callbacks
-
-	dbw 2, ElmsLab_PutElmAtLaptop
-
-UnknownScript_0x78b7a:
-	priorityjump ElmsLab_AutowalkUpToElm
-	end
-
-UnknownScript_0x78b7e:
-	end
-
-UnknownScript_0x78b7f:
-	end
-
-UnknownScript_0x78b80:
-	end
-
-UnknownScript_0x78b81:
-	end
-
-UnknownScript_0x78b82:
-	end
-
-ElmsLab_PutElmAtLaptop:
-	checktriggers
-	iftrue .Skip
-	moveperson $2, $3, $4
-.Skip:
-	return
-
-ElmsLab_AutowalkUpToElm:
-	applymovement PLAYER, ElmsLab_WalkUpToElmMovement
-	showemote EMOTE_SHOCK, $2, 15
-	spriteface $2, RIGHT
-	loadfont
-	writetext ElmText_Intro
-ElmsLab_RefuseLoop:
-	yesorno
-	iftrue ElmsLab_ElmGetsEmail
-	writetext ElmText_Refused
-	jump ElmsLab_RefuseLoop
-
-ElmsLab_ElmGetsEmail:
-	writetext ElmText_Accepted
-	keeptextopen
-	writetext ElmText_ResearchAmbitions
-	waitbutton
-	closetext
-	playsound SFX_GLASS_TING
-	pause 30
-	showemote EMOTE_SHOCK, $2, 10
-	spriteface $2, DOWN
-	loadfont
-	writetext ElmText_GotAnEmail
-	waitbutton
-	closetext
-	loadfont
-	spriteface $2, RIGHT
-	writetext ElmText_MissionFromMrPokemon
-	waitbutton
-	closetext
-	applymovement $2, ElmsLab_ElmToDefaultPositionMovement1
-	spriteface PLAYER, UP
-	applymovement $2, ElmsLab_ElmToDefaultPositionMovement2
-	spriteface PLAYER, RIGHT
-	loadfont
-	writetext ElmText_ChooseAPokemon
-	waitbutton
-	dotrigger $1
-	closetext
-	end
-
-ProfElmScript:
-	faceplayer
-	loadfont
-	checkevent EVENT_GOT_SS_TICKET_FROM_ELM
-	iftrue ElmCheckMasterBall
-	checkevent EVENT_BEAT_ELITE_FOUR
-	iftrue ElmGiveTicketScript
-ElmCheckMasterBall:
-	checkevent EVENT_GOT_MASTER_BALL_FROM_ELM
-	iftrue ElmCheckEverstone
-	checkflag ENGINE_RISINGBADGE
-	iftrue ElmGiveMasterBallScript
-ElmCheckEverstone:
-	checkevent EVENT_GOT_EVERSTONE_FROM_ELM
-	iftrue ElmScript_CallYou
-	checkevent EVENT_SHOWED_TOGEPI_TO_ELM
-	iftrue ElmGiveEverstoneScript
-	checkevent EVENT_TOLD_ELM_ABOUT_TOGEPI_OVER_THE_PHONE
-	iffalse ElmCheckTogepiEgg
-	writebyte TOGEPI
-	special Special_FindThatSpeciesYourTrainerID
-	iftrue ShowElmTogepiScript
-	writebyte TOGETIC
-	special Special_FindThatSpeciesYourTrainerID
-	iftrue ShowElmTogepiScript
-	writetext UnknownText_0x79a40
-	waitbutton
-	closetext
-	end
-
-ElmEggHatchedScript:
-	writebyte TOGEPI
-	special Special_FindThatSpeciesYourTrainerID
-	iftrue ShowElmTogepiScript
-	writebyte TOGETIC
-	special Special_FindThatSpeciesYourTrainerID
-	iftrue ShowElmTogepiScript
-	jump ElmCheckGotEggAgain
-
-ElmCheckTogepiEgg:
-	checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE
-	iffalse ElmCheckGotEggAgain
-	checkevent EVENT_TOGEPI_HATCHED
-	iftrue ElmEggHatchedScript
-ElmCheckGotEggAgain:
-	checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE ; why are we checking it again?
-	iftrue ElmWaitingEggHatchScript
-	checkflag ENGINE_ZEPHYRBADGE
-	iftrue ElmAideHasEggScript
-	checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
-	iftrue ElmStudyingEggScript
-	checkevent EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON
-	iftrue ElmAfterTheftScript
-	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
-	iftrue ElmDescribesMrPokemonScript
-	writetext ElmText_LetYourMonBattleIt
-	waitbutton
-	closetext
-	end
-
-LabTryToLeaveScript:
-	spriteface $2, DOWN
-	loadfont
-	writetext LabWhereGoingText
-	waitbutton
-	closetext
-	applymovement PLAYER, MovementData_0x78f70
-	end
-
-CyndaquilPokeBallScript:
-	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
-	iftrue LookAtElmPokeBallScript
-	spriteface $2, DOWN
-	refreshscreen $0
-	pokepic CYNDAQUIL
-	cry CYNDAQUIL
-	waitbutton
-	closepokepic
-	loadfont
-	writetext TakeCyndaquilText
-	yesorno
-	iffalse DidntChooseStarterScript
-	disappear $4
-	setevent EVENT_GOT_CYNDAQUIL_FROM_ELM
-	writetext ChoseStarterText
-	keeptextopen
-	waitsfx
-	pokenamemem CYNDAQUIL, $0
-	writetext ReceivedStarterText
-	playsound SFX_CAUGHT_MON
-	waitsfx
-	keeptextopen
-	givepoke CYNDAQUIL, 5, BERRY
-	closetext
-	checkcode VAR_FACING
-	if_equal $3, ElmDirectionsScript
-	applymovement PLAYER, AfterCyndaquilMovement
-	jump ElmDirectionsScript
-
-TotodilePokeBallScript:
-	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
-	iftrue LookAtElmPokeBallScript
-	spriteface $2, DOWN
-	refreshscreen $0
-	pokepic TOTODILE
-	cry TOTODILE
-	waitbutton
-	closepokepic
-	loadfont
-	writetext TakeTotodileText
-	yesorno
-	iffalse DidntChooseStarterScript
-	disappear $5
-	setevent EVENT_GOT_TOTODILE_FROM_ELM
-	writetext ChoseStarterText
-	keeptextopen
-	waitsfx
-	pokenamemem TOTODILE, $0
-	writetext ReceivedStarterText
-	playsound SFX_CAUGHT_MON
-	waitsfx
-	keeptextopen
-	givepoke TOTODILE, 5, BERRY
-	closetext
-	applymovement PLAYER, AfterTotodileMovement
-	jump ElmDirectionsScript
-
-ChikoritaPokeBallScript:
-	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
-	iftrue LookAtElmPokeBallScript
-	spriteface $2, DOWN
-	refreshscreen $0
-	pokepic CHIKORITA
-	cry CHIKORITA
-	waitbutton
-	closepokepic
-	loadfont
-	writetext TakeChikoritaText
-	yesorno
-	iffalse DidntChooseStarterScript
-	disappear $6
-	setevent EVENT_GOT_CHIKORITA_FROM_ELM
-	writetext ChoseStarterText
-	keeptextopen
-	waitsfx
-	pokenamemem CHIKORITA, $0
-	writetext ReceivedStarterText
-	playsound SFX_CAUGHT_MON
-	waitsfx
-	keeptextopen
-	givepoke CHIKORITA, 5, BERRY
-	closetext
-	applymovement PLAYER, AfterChikoritaMovement
-	jump ElmDirectionsScript
-
-DidntChooseStarterScript:
-	writetext DidntChooseStarterText
-	waitbutton
-	closetext
-	end
-
-ElmDirectionsScript:
-	spriteface PLAYER, UP
-	loadfont
-	writetext ElmDirectionsText1
-	waitbutton
-	closetext
-	addcellnum PHONE_ELM
-	loadfont
-	writetext GotElmsNumberText
-	playsound SFX_REGISTER_PHONE_NUMBER
-	waitsfx
-	waitbutton
-	closetext
-	spriteface $2, LEFT
-	loadfont
-	writetext ElmDirectionsText2
-	waitbutton
-	closetext
-	spriteface $2, DOWN
-	loadfont
-	writetext ElmDirectionsText3
-	waitbutton
-	closetext
-	setevent EVENT_GOT_A_POKEMON_FROM_ELM
-	setevent EVENT_RIVAL_CHERRYGROVE_CITY
-	dotrigger $5
-	domaptrigger NEW_BARK_TOWN, $1
-	end
-
-ElmDescribesMrPokemonScript:
-	writetext ElmDescribesMrPokemonText
-	waitbutton
-	closetext
-	end
-
-LookAtElmPokeBallScript:
-	loadfont
-	writetext ElmPokeBallText
-	waitbutton
-	closetext
-	end
-
-ElmsLabHealingMachine:
-	loadfont
-	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
-	iftrue .CanHeal
-	writetext ElmsLabHealingMachineText1
-	waitbutton
-	closetext
-	end
-
-.CanHeal
-	writetext ElmsLabHealingMachineText2
-	yesorno
-	iftrue ElmsLabHealingMachine_HealParty
-	closetext
-	end
-
-ElmsLabHealingMachine_HealParty:
-	special Mobile_HealParty
-	special HealParty
-	playmusic MUSIC_NONE
-	writebyte 1 ; Machine is in Elm's Lab
-	special HealMachineAnim
-	pause 30
-	special RestartMapMusic
-	closetext
-	end
-
-ElmAfterTheftDoneScript:
-	waitbutton
-	closetext
-	end
-
-ElmAfterTheftScript:
-	writetext ElmAfterTheftText1
-	checkitem MYSTERY_EGG
-	iffalse ElmAfterTheftDoneScript
-	keeptextopen
-	writetext ElmAfterTheftText2
-	waitbutton
-	takeitem MYSTERY_EGG
-	scall ElmJumpBackScript1
-	writetext ElmAfterTheftText3
-	waitbutton
-	scall ElmJumpBackScript2
-	writetext ElmAfterTheftText4
-	keeptextopen
-	writetext ElmAfterTheftText5
-	keeptextopen
-	setevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
-	setflag ENGINE_BUG_CONTEST_ON
-	domaptrigger ROUTE_29, $1
-	clearevent EVENT_ROUTE_30_YOUNGSTER_JOEY
-	setevent EVENT_ROUTE_30_BATTLE
-	writetext ElmAfterTheftText6
-	waitbutton
-	closetext
-	dotrigger $6
-	end
-
-ElmStudyingEggScript:
-	writetext ElmStudyingEggText
-	waitbutton
-	closetext
-	end
-
-ElmAideHasEggScript:
-	writetext ElmAideHasEggText
-	waitbutton
-	closetext
-	end
-
-ElmWaitingEggHatchScript:
-	writetext ElmWaitingEggHatchText
-	waitbutton
-	closetext
-	end
-
-ShowElmTogepiScript:
-	writetext ShowElmTogepiText1
-	waitbutton
-	closetext
-	showemote EMOTE_SHOCK, $2, 15
-	setevent EVENT_SHOWED_TOGEPI_TO_ELM
-	loadfont
-	writetext ShowElmTogepiText2
-	keeptextopen
-	writetext ShowElmTogepiText3
-	keeptextopen
-ElmGiveEverstoneScript:
-	writetext ElmGiveEverstoneText1
-	keeptextopen
-	verbosegiveitem EVERSTONE
-	iffalse ElmScript_NoRoomForEverstone
-	writetext ElmGiveEverstoneText2
-	waitbutton
-	closetext
-	setevent EVENT_GOT_EVERSTONE_FROM_ELM
-	end
-
-ElmScript_CallYou:
-	writetext ElmText_CallYou
-	waitbutton
-ElmScript_NoRoomForEverstone:
-	closetext
-	end
-
-ElmGiveMasterBallScript:
-	writetext ElmGiveMasterBallText1
-	keeptextopen
-	verbosegiveitem MASTER_BALL
-	iffalse .notdone
-	setevent EVENT_GOT_MASTER_BALL_FROM_ELM
-	writetext ElmGiveMasterBallText2
-	waitbutton
-.notdone
-	closetext
-	end
-
-ElmGiveTicketScript:
-	writetext ElmGiveTicketText1
-	keeptextopen
-	verbosegiveitem S_S_TICKET
-	setevent EVENT_GOT_SS_TICKET_FROM_ELM
-	writetext ElmGiveTicketText2
-	waitbutton
-	closetext
-	end
-
-ElmJumpBackScript1:
-	closetext
-	checkcode VAR_FACING
-	if_equal DOWN, ElmJumpDownScript
-	if_equal UP, ElmJumpUpScript
-	if_equal LEFT, ElmJumpLeftScript
-	if_equal RIGHT, ElmJumpRightScript
-	end
-
-ElmJumpBackScript2:
-	closetext
-	checkcode VAR_FACING
-	if_equal DOWN, ElmJumpUpScript
-	if_equal UP, ElmJumpDownScript
-	if_equal LEFT, ElmJumpRightScript
-	if_equal RIGHT, ElmJumpLeftScript
-	end
-
-ElmJumpUpScript:
-	applymovement $2, ElmJumpUpMovement
-	loadfont
-	end
-
-ElmJumpDownScript:
-	applymovement $2, ElmJumpDownMovement
-	loadfont
-	end
-
-ElmJumpLeftScript:
-	applymovement $2, ElmJumpLeftMovement
-	loadfont
-	end
-
-ElmJumpRightScript:
-	applymovement $2, ElmJumpRightMovement
-	loadfont
-	end
-
-AideScript_WalkPotions1:
-	applymovement $3, AideWalksRight1
-	spriteface PLAYER, DOWN
-	scall AideScript_GivePotions
-	applymovement $3, AideWalksLeft1
-	end
-
-AideScript_WalkPotions2:
-	applymovement $3, AideWalksRight2
-	spriteface PLAYER, DOWN
-	scall AideScript_GivePotions
-	applymovement $3, AideWalksLeft2
-	end
-
-AideScript_GivePotions:
-	loadfont
-	writetext AideText_GiveYouPotions
-	keeptextopen
-	verbosegiveitem POTION
-	writetext AideText_AlwaysBusy
-	waitbutton
-	closetext
-	dotrigger $2
-	end
-
-AideScript_WalkBalls1:
-	applymovement $3, AideWalksRight1
-	spriteface PLAYER, DOWN
-	scall AideScript_GiveYouBalls
-	applymovement $3, AideWalksLeft1
-	end
-
-AideScript_WalkBalls2:
-	applymovement $3, AideWalksRight2
-	spriteface PLAYER, DOWN
-	scall AideScript_GiveYouBalls
-	applymovement $3, AideWalksLeft2
-	end
-
-AideScript_GiveYouBalls:
-	loadfont
-	writetext AideText_GiveYouBalls
-	keeptextopen
-	itemtotext POKE_BALL, $1
-	scall AideScript_ReceiveTheBalls
-	giveitem POKE_BALL, 5
-	writetext AideText_ExplainBalls
-	keeptextopen
-	itemnotify
-	closetext
-	dotrigger $2
-	end
-
-AideScript_ReceiveTheBalls:
-	jumpstd receiveitem
-	end
-
-ElmsAideScript:
-	faceplayer
-	loadfont
-	checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE
-	iftrue AideScript_AfterTheft
-	checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
-	iftrue AideScript_ExplainBalls
-	checkevent EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON
-	iftrue AideScript_TheftTestimony
-	writetext AideText_AlwaysBusy
-	waitbutton
-	closetext
-	end
-
-AideScript_TheftTestimony:
-	writetext AideText_TheftTestimony
-	waitbutton
-	closetext
-	end
-
-AideScript_ExplainBalls:
-	writetext AideText_ExplainBalls
-	waitbutton
-	closetext
-	end
-
-AideScript_AfterTheft:
-	writetext AideText_AfterTheft
-	waitbutton
-	closetext
-	end
-
-MeetCopScript2:
-	applymovement PLAYER, MeetCopScript2_StepLeft
-
-MeetCopScript:
-	applymovement PLAYER, MeetCopScript_WalkUp
-CopScript:
-	spriteface $7, LEFT
-	loadfont
-	writetext ElmsLabOfficerText1
-	keeptextopen
-	special SpecialNameRival
-	writetext ElmsLabOfficerText2
-	waitbutton
-	closetext
-	applymovement $7, OfficerLeavesMovement
-	disappear $7
-	dotrigger $2
-	end
-
-ElmsLabWindow:
-	loadfont
-	checkflag ENGINE_FLYPOINT_VIOLET
-	iftrue .Normal
-	checkevent EVENT_ELM_CALLED_ABOUT_STOLEN_POKEMON
-	iftrue .BreakIn
-	jump .Normal
-
-.BreakIn
-	writetext ElmsLabWindowText2
-	waitbutton
-	closetext
-	end
-
-.Normal
-	writetext ElmsLabWindowText1
-	waitbutton
-	closetext
-	end
-
-ElmsLabTravelTip1:
-	jumptext ElmsLabTravelTip1Text
-
-ElmsLabTravelTip2:
-	jumptext ElmsLabTravelTip2Text
-
-ElmsLabTravelTip3:
-	jumptext ElmsLabTravelTip3Text
-
-ElmsLabTravelTip4:
-	jumptext ElmsLabTravelTip4Text
-
-ElmsLabTrashcan:
-	jumptext ElmsLabTrashcanText
-
-ElmsLabPC:
-	jumptext ElmsLabPCText
-
-ElmsLabTrashcan2:
-; unused
-	jumpstd trashcan
-
-ElmsLabBookshelf:
-	jumpstd difficultbookshelf
-
-ElmsLab_WalkUpToElmMovement:
-	step_up
-	step_up
-	step_up
-	step_up
-	step_up
-	step_up
-	step_up
-	turn_head_left
-	step_end
-
-MovementData_0x78f70:
-	step_up
-	step_end
-
-MeetCopScript2_StepLeft:
-	step_left
-	step_end
-
-MeetCopScript_WalkUp:
-	step_up
-	step_up
-	turn_head_right
-	step_end
-
-OfficerLeavesMovement:
-	step_down
-	step_down
-	step_down
-	step_down
-	step_down
-	step_end
-
-AideWalksRight1:
-	step_right
-	step_right
-	turn_head_up
-	step_end
-
-AideWalksRight2:
-	step_right
-	step_right
-	step_right
-	turn_head_up
-	step_end
-
-AideWalksLeft1:
-	step_left
-	step_left
-	turn_head_down
-	step_end
-
-AideWalksLeft2:
-	step_left
-	step_left
-	step_left
-	turn_head_down
-	step_end
-
-ElmJumpUpMovement:
-	fix_facing
-	big_step_up
-	remove_fixed_facing
-	step_end
-
-ElmJumpDownMovement:
-	fix_facing
-	big_step_down
-	remove_fixed_facing
-	step_end
-
-ElmJumpLeftMovement:
-	fix_facing
-	big_step_left
-	remove_fixed_facing
-	step_end
-
-ElmJumpRightMovement:
-	fix_facing
-	big_step_right
-	remove_fixed_facing
-	step_end
-
-ElmsLab_ElmToDefaultPositionMovement1:
-	step_up
-	step_end
-
-ElmsLab_ElmToDefaultPositionMovement2:
-	step_right
-	step_right
-	step_up
-	turn_head_down
-	step_end
-
-AfterCyndaquilMovement:
-	step_left
-	step_up
-	turn_head_up
-	step_end
-
-AfterTotodileMovement:
-	step_left
-	step_left
-	step_up
-	turn_head_up
-	step_end
-
-AfterChikoritaMovement:
-	step_left
-	step_left
-	step_left
-	step_up
-	turn_head_up
-	step_end
-
-ElmText_Intro:
-	text "ELM: <PLAY_G>!"
-	line "There you are!"
-
-	para "I needed to ask"
-	line "you a favor."
-
-	para "I'm conducting new"
-	line "#MON research"
-
-	para "right now. I was"
-	line "wondering if you"
-
-	para "could help me with"
-	line "it, <PLAY_G>."
-
-	para "You see…"
-
-	para "I'm writing a"
-	line "paper that I want"
-
-	para "to present at a"
-	line "conference."
-
-	para "But there are some"
-	line "things I don't"
-
-	para "quite understand"
-	line "yet."
-
-	para "So!"
-
-	para "I'd like you to"
-	line "raise a #MON"
-
-	para "that I recently"
-	line "caught."
-	done
-
-ElmText_Accepted:
-	text "Thanks, <PLAY_G>!"
-
-	para "You're a great"
-	line "help!"
-	done
-
-ElmText_Refused:
-	text "But… Please, I"
-	line "need your help!"
-	done
-
-ElmText_ResearchAmbitions:
-	text "When I announce my"
-	line "findings, I'm sure"
-
-	para "we'll delve a bit"
-	line "deeper into the"
-
-	para "many mysteries of"
-	line "#MON."
-
-	para "You can count on"
-	line "it!"
-	done
-
-ElmText_GotAnEmail:
-	text "Oh, hey! I got an"
-	line "e-mail!"
-
-	para $56, $56, $56
-	line "Hm… Uh-huh…"
-
-	para "Okay…"
-	done
-
-ElmText_MissionFromMrPokemon:
-	text "Hey, listen."
-
-	para "I have an acquain-"
-	line "tance called MR."
-	cont "#MON."
-
-	para "He keeps finding"
-	line "weird things and"
-
-	para "raving about his"
-	line "discoveries."
-
-	para "Anyway, I just got"
-	line "an e-mail from him"
-
-	para "saying that this"
-	line "time it's real."
-
-	para "It is intriguing,"
-	line "but we're busy"
-
-	para "with our #MON"
-	line "research…"
-
-	para "Wait!"
-
-	para "I know!"
-
-	para "<PLAY_G>, can you"
-	line "go in our place?"
-	done
-
-ElmText_ChooseAPokemon:
-	text "I want you to"
-	line "raise one of the"
-
-	para "#MON contained"
-	line "in these BALLS."
-
-	para "You'll be that"
-	line "#MON's first"
-	cont "partner, <PLAY_G>!"
-
-	para "Go on. Pick one!"
-	done
-
-ElmText_LetYourMonBattleIt:
-	text "If a wild #MON"
-	line "appears, let your"
-	cont "#MON battle it!"
-	done
-
-LabWhereGoingText:
-	text "ELM: Wait! Where"
-	line "are you going?"
-	done
-
-TakeCyndaquilText:
-	text "ELM: You'll take"
-	line "CYNDAQUIL, the"
-	cont "fire #MON?"
-	done
-
-TakeTotodileText:
-	text "ELM: Do you want"
-	line "TOTODILE, the"
-	cont "water #MON?"
-	done
-
-TakeChikoritaText:
-	text "ELM: So, you like"
-	line "CHIKORITA, the"
-	cont "grass #MON?"
-	done
-
-DidntChooseStarterText:
-	text "ELM: Think it over"
-	line "carefully."
-
-	para "Your partner is"
-	line "important."
-	done
-
-ChoseStarterText:
-	text "ELM: I think"
-	line "that's a great"
-	cont "#MON too!"
-	done
-
-ReceivedStarterText:
-	text "<PLAYER> received"
-	line "@"
-	text_from_ram StringBuffer3
-	text "!"
-	done
-
-ElmDirectionsText1:
-	text "MR.#MON lives a"
-	line "little bit beyond"
-
-	para "CHERRYGROVE, the"
-	line "next city over."
-
-	para "It's almost a"
-	line "direct route"
-
-	para "there, so you"
-	line "can't miss it."
-
-	para "But just in case,"
-	line "here's my phone"
-
-	para "number. Call me if"
-	line "anything comes up!"
-	done
-
-ElmDirectionsText2:
-	text "If your #MON is"
-	line "hurt, you should"
-
-	para "heal it with this"
-	line "machine."
-
-	para "Feel free to use"
-	line "it anytime."
-	done
-
-ElmDirectionsText3:
-	text "<PLAY_G>, I'm"
-	line "counting on you!"
-	done
-
-GotElmsNumberText:
-	text "<PLAYER> got ELM's"
-	line "phone number."
-	done
-
-ElmDescribesMrPokemonText:
-	text "MR.#MON goes"
-	line "everywhere and"
-	cont "finds rarities."
-
-	para "Too bad they're"
-	line "just rare and"
-	cont "not very useful…"
-	done
-
-ElmPokeBallText:
-	text "It contains a"
-	line "#MON caught by"
-	cont "PROF.ELM."
-	done
-
-ElmsLabHealingMachineText1:
-	text "I wonder what this"
-	line "does?"
-	done
-
-ElmsLabHealingMachineText2:
-	text "Would you like to"
-	line "heal your #MON?"
-	done
-
-ElmAfterTheftText1:
-	text "ELM: <PLAY_G>, this"
-	line "is terrible…"
-
-	para "Oh, yes, what was"
-	line "MR.#MON's big"
-	cont "discovery?"
-	done
-
-ElmAfterTheftText2:
-	text "<PLAYER> handed"
-	line "the MYSTERY EGG to"
-	cont "PROF.ELM."
-	done
-
-ElmAfterTheftText3:
-	text "ELM: This?"
-	done
-
-ElmAfterTheftText4:
-	text "But… Is it a"
-	line "#MON EGG?"
-
-	para "If it is, it is a"
-	line "great discovery!"
-	done
-
-ElmAfterTheftText5:
-	text "ELM: What?!?"
-
-	para "PROF.OAK gave you"
-	line "a #DEX?"
-
-	para "<PLAY_G>, is that"
-	line "true? Th-that's"
-	cont "incredible!"
-
-	para "He is superb at"
-	line "seeing the poten-"
-	cont "tial of people as"
-	cont "trainers."
-
-	para "Wow, <PLAY_G>. You"
-	line "may have what it"
-
-	para "takes to become"
-	line "the CHAMPION."
-
-	para "You seem to be"
-	line "getting on great"
-	cont "with #MON too."
-
-	para "You should take"
-	line "the #MON GYM"
-	cont "challenge."
-
-	para "The closest GYM"
-	line "would be the one"
-	cont "in VIOLET CITY."
-	done
-
-ElmAfterTheftText6:
-	text "…<PLAY_G>. The"
-	line "road to the"
-
-	para "championship will"
-	line "be a long one."
-
-	para "Before you leave,"
-	line "make sure that you"
-	cont "talk to your mom."
-	done
-
-ElmStudyingEggText:
-	text "ELM: Don't give"
-	line "up! I'll call if"
-
-	para "I learn anything"
-	line "about that EGG!"
-	done
-
-ElmAideHasEggText:
-	text "ELM: <PLAY_G>?"
-	line "Didn't you meet my"
-	cont "assistant?"
-
-	para "He should have met"
-	line "you with the EGG"
-
-	para "at VIOLET CITY's"
-	line "#MON CENTER."
-
-	para "You must have just"
-	line "missed him. Try to"
-	cont "catch him there."
-	done
-
-ElmWaitingEggHatchText:
-	text "ELM: Hey, has that"
-	line "EGG changed any?"
-	done
-
-UnknownText_0x79a40:
-	text "<PLAY_G>? I thought"
-	line "the EGG hatched."
-
-	para "Where is the"
-	line "#MON?"
-	done
-
-ShowElmTogepiText1:
-	text "ELM: <PLAY_G>, you"
-	line "look great!"
-	done
-
-ShowElmTogepiText2:
-	text "What?"
-	line "That #MON!?!"
-	done
-
-ShowElmTogepiText3:
-	text "The EGG hatched!"
-	line "So, #MON are"
-	cont "born from EGGS…"
-
-	para "No, perhaps not"
-	line "all #MON are."
-
-	para "Wow, there's still"
-	line "a lot of research"
-	cont "to be done."
-	done
-
-ElmGiveEverstoneText1:
-	text "Thanks, <PLAY_G>!"
-	line "You're helping"
-
-	para "unravel #MON"
-	line "mysteries for us!"
-
-	para "I want you to have"
-	line "this as a token of"
-	cont "our appreciation."
-	done
-
-ElmGiveEverstoneText2:
-	text "That's an"
-	line "EVERSTONE."
-
-	para "Some species of"
-	line "#MON evolve"
-
-	para "when they grow to"
-	line "certain levels."
-
-	para "A #MON holding"
-	line "the EVERSTONE"
-	cont "won't evolve."
-
-	para "Give it to a #-"
-	line "MON you don't want"
-	cont "to evolve."
-	done
-
-ElmText_CallYou:
-	text "ELM: <PLAY_G>, I'll"
-	line "call you if any-"
-	cont "thing comes up."
-	done
-
-AideText_AfterTheft:
-	text "…sigh… That"
-	line "stolen #MON."
-
-	para "I wonder how it's"
-	line "doing."
-
-	para "They say a #MON"
-	line "raised by a bad"
-
-	para "person turns bad"
-	line "itself."
-	done
-
-ElmGiveMasterBallText1:
-	text "ELM: Hi, <PLAY_G>!"
-	line "Thanks to you, my"
-
-	para "research is going"
-	line "great!"
-
-	para "Take this as a"
-	line "token of my"
-	cont "appreciation."
-	done
-
-ElmGiveMasterBallText2:
-	text "The MASTER BALL is"
-	line "the best!"
-
-	para "It's the ultimate"
-	line "BALL! It'll catch"
-
-	para "any #MON with-"
-	line "out fail."
-
-	para "It's given only to"
-	line "recognized #MON"
-	cont "researchers."
-
-	para "I think you can"
-	line "make much better"
-
-	para "use of it than I"
-	line "can, <PLAY_G>!"
-	done
-
-ElmGiveTicketText1:
-	text "ELM: <PLAY_G>!"
-	line "There you are!"
-
-	para "I called because I"
-	line "have something for"
-	cont "you."
-
-	para "See? It's an"
-	line "S.S.TICKET."
-
-	para "Now you can catch"
-	line "#MON in KANTO."
-	done
-
-ElmGiveTicketText2:
-	text "The ship departs"
-	line "from OLIVINE CITY."
-
-	para "But you knew that"
-	line "already, <PLAY_G>."
-
-	para "After all, you've"
-	line "traveled all over"
-	cont "with your #MON."
-
-	para "Give my regards to"
-	line "PROF.OAK in KANTO!"
-	done
-
-ElmsLabSignpostText_Egg:
-	text "It's the #MON"
-	line "EGG being studied"
-	cont "by PROF.ELM."
-	done
-
-AideText_GiveYouPotions:
-	text "<PLAY_G>, I want"
-	line "you to have this"
-	cont "for your errand."
-	done
-
-AideText_AlwaysBusy:
-	text "There are only two"
-	line "of us, so we're"
-	cont "always busy."
-	done
-
-AideText_TheftTestimony:
-	text "There was a loud"
-	line "noise outside…"
-
-	para "When we went to"
-	line "look, someone"
-	cont "stole a #MON."
-
-	para "It's unbelievable"
-	line "that anyone would"
-	cont "do that!"
-
-	para "…sigh… That"
-	line "stolen #MON."
-
-	para "I wonder how it's"
-	line "doing."
-
-	para "They say a #MON"
-	line "raised by a bad"
-
-	para "person turns bad"
-	line "itself."
-	done
-
-AideText_GiveYouBalls:
-	text "<PLAY_G>!"
-
-	para "Use these on your"
-	line "#DEX quest!"
-	done
-
-AideText_ExplainBalls:
-	text "To add to your"
-	line "#DEX, you have"
-	cont "to catch #MON."
-
-	para "Throw # BALLS"
-	line "at wild #MON"
-	cont "to get them."
-	done
-
-ElmsLabOfficerText1:
-	text "I heard a #MON"
-	line "was stolen here…"
-
-	para "I was just getting"
-	line "some information"
-	cont "from PROF.ELM."
-
-	para "Apparently, it was"
-	line "a young male with"
-	cont "long, red hair…"
-
-	para "What?"
-
-	para "You battled a"
-	line "trainer like that?"
-
-	para "Did you happen to"
-	line "get his name?"
-	done
-
-ElmsLabOfficerText2:
-	text "OK! So <RIVAL>"
-	line "was his name."
-
-	para "Thanks for helping"
-	line "my investigation!"
-	done
-
-ElmsLabWindowText1:
-	text "The window's open."
-
-	para "A pleasant breeze"
-	line "is blowing in."
-	done
-
-ElmsLabWindowText2:
-	text "He broke in"
-	line "through here!"
-	done
-
-ElmsLabTravelTip1Text:
-	text "<PLAYER> opened a"
-	line "book."
-
-	para "Travel Tip 1:"
-
-	para "Press START to"
-	line "open the MENU."
-	done
-
-ElmsLabTravelTip2Text:
-	text "<PLAYER> opened a"
-	line "book."
-
-	para "Travel Tip 2:"
-
-	para "Record your trip"
-	line "with SAVE!"
-	done
-
-ElmsLabTravelTip3Text:
-	text "<PLAYER> opened a"
-	line "book."
-
-	para "Travel Tip 3:"
-
-	para "Open your PACK and"
-	line "press SELECT to"
-	cont "move items."
-	done
-
-ElmsLabTravelTip4Text:
-	text "<PLAYER> opened a"
-	line "book."
-
-	para "Travel Tip 4:"
-
-	para "Check your #MON"
-	line "moves. Press the"
-
-	para "A Button to switch"
-	line "moves."
-	done
-
-ElmsLabTrashcanText:
-	text "The wrapper from"
-	line "the snack PROF.ELM"
-	cont "ate is in there…"
-	done
-
-ElmsLabPCText:
-	text "OBSERVATIONS ON"
-	line "#MON EVOLUTION"
-
-	para "…It says on the"
-	line "screen…"
-	done
-
-ElmsLab_MapEventHeader:
-	; filler
-	db 0, 0
-
-.Warps:
-	db 2
-	warp_def $b, $4, 1, NEW_BARK_TOWN
-	warp_def $b, $5, 1, NEW_BARK_TOWN
-
-.XYTriggers:
-	db 8
-	xy_trigger 1, $6, $4, $0, LabTryToLeaveScript, $0, $0
-	xy_trigger 1, $6, $5, $0, LabTryToLeaveScript, $0, $0
-	xy_trigger 3, $5, $4, $0, MeetCopScript, $0, $0
-	xy_trigger 3, $5, $5, $0, MeetCopScript2, $0, $0
-	xy_trigger 5, $8, $4, $0, AideScript_WalkPotions1, $0, $0
-	xy_trigger 5, $8, $5, $0, AideScript_WalkPotions2, $0, $0
-	xy_trigger 6, $8, $4, $0, AideScript_WalkBalls1, $0, $0
-	xy_trigger 6, $8, $5, $0, AideScript_WalkBalls2, $0, $0
-
-.Signposts:
-	db 16
-	signpost 1, 2, SIGNPOST_READ, ElmsLabHealingMachine
-	signpost 1, 6, SIGNPOST_READ, ElmsLabBookshelf
-	signpost 1, 7, SIGNPOST_READ, ElmsLabBookshelf
-	signpost 1, 8, SIGNPOST_READ, ElmsLabBookshelf
-	signpost 1, 9, SIGNPOST_READ, ElmsLabBookshelf
-	signpost 7, 0, SIGNPOST_READ, ElmsLabTravelTip1
-	signpost 7, 1, SIGNPOST_READ, ElmsLabTravelTip2
-	signpost 7, 2, SIGNPOST_READ, ElmsLabTravelTip3
-	signpost 7, 3, SIGNPOST_READ, ElmsLabTravelTip4
-	signpost 7, 6, SIGNPOST_READ, ElmsLabBookshelf
-	signpost 7, 7, SIGNPOST_READ, ElmsLabBookshelf
-	signpost 7, 8, SIGNPOST_READ, ElmsLabBookshelf
-	signpost 7, 9, SIGNPOST_READ, ElmsLabBookshelf
-	signpost 3, 9, SIGNPOST_READ, ElmsLabTrashcan
-	signpost 0, 5, SIGNPOST_READ, ElmsLabWindow
-	signpost 5, 3, SIGNPOST_DOWN, ElmsLabPC
-
-.PersonEvents:
-	db 6
-	person_event SPRITE_ELM, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ProfElmScript, -1
-	person_event SPRITE_SCIENTIST, 9, 2, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, ElmsAideScript, EVENT_ELMS_AIDE_IN_LAB
-	person_event SPRITE_POKE_BALL, 3, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CyndaquilPokeBallScript, EVENT_CYNDAQUIL_POKEBALL_IN_ELMS_LAB
-	person_event SPRITE_POKE_BALL, 3, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TotodilePokeBallScript, EVENT_TOTODILE_POKEBALL_IN_ELMS_LAB
-	person_event SPRITE_POKE_BALL, 3, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ChikoritaPokeBallScript, EVENT_CHIKORITA_POKEBALL_IN_ELMS_LAB
-	person_event SPRITE_OFFICER, 3, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, CopScript, EVENT_COP_IN_ELMS_LAB
+const_value set 2
+	const ELMSLAB_ELM
+	const ELMSLAB_SCIENTIST
+	const ELMSLAB_POKE_BALL1
+	const ELMSLAB_POKE_BALL2
+	const ELMSLAB_POKE_BALL3
+	const ELMSLAB_OFFICER
+
+ElmsLab_MapScriptHeader:
+.MapTriggers:
+	db 6
+
+	; triggers
+	dw .Trigger0, 0
+	dw .Trigger1, 0
+	dw .Trigger2, 0
+	dw .Trigger3, 0
+	dw .Trigger4, 0
+	dw .Trigger5, 0
+
+.MapCallbacks:
+	db 1
+
+	; callbacks
+
+	dbw 2, ElmsLab_PutElmAtLaptop
+
+.Trigger0:
+	priorityjump ElmsLab_AutowalkUpToElm
+	end
+
+.Trigger1:
+	end
+
+.Trigger2:
+	end
+
+.Trigger3:
+	end
+
+.Trigger4:
+	end
+
+.Trigger5:
+	end
+
+ElmsLab_PutElmAtLaptop:
+	checktriggers
+	iftrue .Skip
+	moveperson ELMSLAB_ELM, $3, $4
+.Skip:
+	return
+
+ElmsLab_AutowalkUpToElm:
+	applymovement PLAYER, ElmsLab_WalkUpToElmMovement
+	showemote EMOTE_SHOCK, ELMSLAB_ELM, 15
+	spriteface ELMSLAB_ELM, RIGHT
+	loadfont
+	writetext ElmText_Intro
+ElmsLab_RefuseLoop:
+	yesorno
+	iftrue ElmsLab_ElmGetsEmail
+	writetext ElmText_Refused
+	jump ElmsLab_RefuseLoop
+
+ElmsLab_ElmGetsEmail:
+	writetext ElmText_Accepted
+	keeptextopen
+	writetext ElmText_ResearchAmbitions
+	waitbutton
+	closetext
+	playsound SFX_GLASS_TING
+	pause 30
+	showemote EMOTE_SHOCK, ELMSLAB_ELM, 10
+	spriteface ELMSLAB_ELM, DOWN
+	loadfont
+	writetext ElmText_GotAnEmail
+	waitbutton
+	closetext
+	loadfont
+	spriteface ELMSLAB_ELM, RIGHT
+	writetext ElmText_MissionFromMrPokemon
+	waitbutton
+	closetext
+	applymovement ELMSLAB_ELM, ElmsLab_ElmToDefaultPositionMovement1
+	spriteface PLAYER, UP
+	applymovement ELMSLAB_ELM, ElmsLab_ElmToDefaultPositionMovement2
+	spriteface PLAYER, RIGHT
+	loadfont
+	writetext ElmText_ChooseAPokemon
+	waitbutton
+	dotrigger $1
+	closetext
+	end
+
+ProfElmScript:
+	faceplayer
+	loadfont
+	checkevent EVENT_GOT_SS_TICKET_FROM_ELM
+	iftrue ElmCheckMasterBall
+	checkevent EVENT_BEAT_ELITE_FOUR
+	iftrue ElmGiveTicketScript
+ElmCheckMasterBall:
+	checkevent EVENT_GOT_MASTER_BALL_FROM_ELM
+	iftrue ElmCheckEverstone
+	checkflag ENGINE_RISINGBADGE
+	iftrue ElmGiveMasterBallScript
+ElmCheckEverstone:
+	checkevent EVENT_GOT_EVERSTONE_FROM_ELM
+	iftrue ElmScript_CallYou
+	checkevent EVENT_SHOWED_TOGEPI_TO_ELM
+	iftrue ElmGiveEverstoneScript
+	checkevent EVENT_TOLD_ELM_ABOUT_TOGEPI_OVER_THE_PHONE
+	iffalse ElmCheckTogepiEgg
+	writebyte TOGEPI
+	special Special_FindThatSpeciesYourTrainerID
+	iftrue ShowElmTogepiScript
+	writebyte TOGETIC
+	special Special_FindThatSpeciesYourTrainerID
+	iftrue ShowElmTogepiScript
+	writetext UnknownText_0x79a40
+	waitbutton
+	closetext
+	end
+
+ElmEggHatchedScript:
+	writebyte TOGEPI
+	special Special_FindThatSpeciesYourTrainerID
+	iftrue ShowElmTogepiScript
+	writebyte TOGETIC
+	special Special_FindThatSpeciesYourTrainerID
+	iftrue ShowElmTogepiScript
+	jump ElmCheckGotEggAgain
+
+ElmCheckTogepiEgg:
+	checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE
+	iffalse ElmCheckGotEggAgain
+	checkevent EVENT_TOGEPI_HATCHED
+	iftrue ElmEggHatchedScript
+ElmCheckGotEggAgain:
+	checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE ; why are we checking it again?
+	iftrue ElmWaitingEggHatchScript
+	checkflag ENGINE_ZEPHYRBADGE
+	iftrue ElmAideHasEggScript
+	checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
+	iftrue ElmStudyingEggScript
+	checkevent EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON
+	iftrue ElmAfterTheftScript
+	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
+	iftrue ElmDescribesMrPokemonScript
+	writetext ElmText_LetYourMonBattleIt
+	waitbutton
+	closetext
+	end
+
+LabTryToLeaveScript:
+	spriteface ELMSLAB_ELM, DOWN
+	loadfont
+	writetext LabWhereGoingText
+	waitbutton
+	closetext
+	applymovement PLAYER, MovementData_0x78f70
+	end
+
+CyndaquilPokeBallScript:
+	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
+	iftrue LookAtElmPokeBallScript
+	spriteface ELMSLAB_ELM, DOWN
+	refreshscreen $0
+	pokepic CYNDAQUIL
+	cry CYNDAQUIL
+	waitbutton
+	closepokepic
+	loadfont
+	writetext TakeCyndaquilText
+	yesorno
+	iffalse DidntChooseStarterScript
+	disappear ELMSLAB_POKE_BALL1
+	setevent EVENT_GOT_CYNDAQUIL_FROM_ELM
+	writetext ChoseStarterText
+	keeptextopen
+	waitsfx
+	pokenamemem CYNDAQUIL, $0
+	writetext ReceivedStarterText
+	playsound SFX_CAUGHT_MON
+	waitsfx
+	keeptextopen
+	givepoke CYNDAQUIL, 5, BERRY
+	closetext
+	checkcode VAR_FACING
+	if_equal $3, ElmDirectionsScript
+	applymovement PLAYER, AfterCyndaquilMovement
+	jump ElmDirectionsScript
+
+TotodilePokeBallScript:
+	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
+	iftrue LookAtElmPokeBallScript
+	spriteface ELMSLAB_ELM, DOWN
+	refreshscreen $0
+	pokepic TOTODILE
+	cry TOTODILE
+	waitbutton
+	closepokepic
+	loadfont
+	writetext TakeTotodileText
+	yesorno
+	iffalse DidntChooseStarterScript
+	disappear ELMSLAB_POKE_BALL2
+	setevent EVENT_GOT_TOTODILE_FROM_ELM
+	writetext ChoseStarterText
+	keeptextopen
+	waitsfx
+	pokenamemem TOTODILE, $0
+	writetext ReceivedStarterText
+	playsound SFX_CAUGHT_MON
+	waitsfx
+	keeptextopen
+	givepoke TOTODILE, 5, BERRY
+	closetext
+	applymovement PLAYER, AfterTotodileMovement
+	jump ElmDirectionsScript
+
+ChikoritaPokeBallScript:
+	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
+	iftrue LookAtElmPokeBallScript
+	spriteface ELMSLAB_ELM, DOWN
+	refreshscreen $0
+	pokepic CHIKORITA
+	cry CHIKORITA
+	waitbutton
+	closepokepic
+	loadfont
+	writetext TakeChikoritaText
+	yesorno
+	iffalse DidntChooseStarterScript
+	disappear ELMSLAB_POKE_BALL3
+	setevent EVENT_GOT_CHIKORITA_FROM_ELM
+	writetext ChoseStarterText
+	keeptextopen
+	waitsfx
+	pokenamemem CHIKORITA, $0
+	writetext ReceivedStarterText
+	playsound SFX_CAUGHT_MON
+	waitsfx
+	keeptextopen
+	givepoke CHIKORITA, 5, BERRY
+	closetext
+	applymovement PLAYER, AfterChikoritaMovement
+	jump ElmDirectionsScript
+
+DidntChooseStarterScript:
+	writetext DidntChooseStarterText
+	waitbutton
+	closetext
+	end
+
+ElmDirectionsScript:
+	spriteface PLAYER, UP
+	loadfont
+	writetext ElmDirectionsText1
+	waitbutton
+	closetext
+	addcellnum PHONE_ELM
+	loadfont
+	writetext GotElmsNumberText
+	playsound SFX_REGISTER_PHONE_NUMBER
+	waitsfx
+	waitbutton
+	closetext
+	spriteface ELMSLAB_ELM, LEFT
+	loadfont
+	writetext ElmDirectionsText2
+	waitbutton
+	closetext
+	spriteface ELMSLAB_ELM, DOWN
+	loadfont
+	writetext ElmDirectionsText3
+	waitbutton
+	closetext
+	setevent EVENT_GOT_A_POKEMON_FROM_ELM
+	setevent EVENT_RIVAL_CHERRYGROVE_CITY
+	dotrigger $5
+	domaptrigger NEW_BARK_TOWN, $1
+	end
+
+ElmDescribesMrPokemonScript:
+	writetext ElmDescribesMrPokemonText
+	waitbutton
+	closetext
+	end
+
+LookAtElmPokeBallScript:
+	loadfont
+	writetext ElmPokeBallText
+	waitbutton
+	closetext
+	end
+
+ElmsLabHealingMachine:
+	loadfont
+	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
+	iftrue .CanHeal
+	writetext ElmsLabHealingMachineText1
+	waitbutton
+	closetext
+	end
+
+.CanHeal
+	writetext ElmsLabHealingMachineText2
+	yesorno
+	iftrue ElmsLabHealingMachine_HealParty
+	closetext
+	end
+
+ElmsLabHealingMachine_HealParty:
+	special Mobile_HealParty
+	special HealParty
+	playmusic MUSIC_NONE
+	writebyte 1 ; Machine is in Elm's Lab
+	special HealMachineAnim
+	pause 30
+	special RestartMapMusic
+	closetext
+	end
+
+ElmAfterTheftDoneScript:
+	waitbutton
+	closetext
+	end
+
+ElmAfterTheftScript:
+	writetext ElmAfterTheftText1
+	checkitem MYSTERY_EGG
+	iffalse ElmAfterTheftDoneScript
+	keeptextopen
+	writetext ElmAfterTheftText2
+	waitbutton
+	takeitem MYSTERY_EGG
+	scall ElmJumpBackScript1
+	writetext ElmAfterTheftText3
+	waitbutton
+	scall ElmJumpBackScript2
+	writetext ElmAfterTheftText4
+	keeptextopen
+	writetext ElmAfterTheftText5
+	keeptextopen
+	setevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
+	setflag ENGINE_BUG_CONTEST_ON
+	domaptrigger ROUTE_29, $1
+	clearevent EVENT_ROUTE_30_YOUNGSTER_JOEY
+	setevent EVENT_ROUTE_30_BATTLE
+	writetext ElmAfterTheftText6
+	waitbutton
+	closetext
+	dotrigger $6
+	end
+
+ElmStudyingEggScript:
+	writetext ElmStudyingEggText
+	waitbutton
+	closetext
+	end
+
+ElmAideHasEggScript:
+	writetext ElmAideHasEggText
+	waitbutton
+	closetext
+	end
+
+ElmWaitingEggHatchScript:
+	writetext ElmWaitingEggHatchText
+	waitbutton
+	closetext
+	end
+
+ShowElmTogepiScript:
+	writetext ShowElmTogepiText1
+	waitbutton
+	closetext
+	showemote EMOTE_SHOCK, ELMSLAB_ELM, 15
+	setevent EVENT_SHOWED_TOGEPI_TO_ELM
+	loadfont
+	writetext ShowElmTogepiText2
+	keeptextopen
+	writetext ShowElmTogepiText3
+	keeptextopen
+ElmGiveEverstoneScript:
+	writetext ElmGiveEverstoneText1
+	keeptextopen
+	verbosegiveitem EVERSTONE
+	iffalse ElmScript_NoRoomForEverstone
+	writetext ElmGiveEverstoneText2
+	waitbutton
+	closetext
+	setevent EVENT_GOT_EVERSTONE_FROM_ELM
+	end
+
+ElmScript_CallYou:
+	writetext ElmText_CallYou
+	waitbutton
+ElmScript_NoRoomForEverstone:
+	closetext
+	end
+
+ElmGiveMasterBallScript:
+	writetext ElmGiveMasterBallText1
+	keeptextopen
+	verbosegiveitem MASTER_BALL
+	iffalse .notdone
+	setevent EVENT_GOT_MASTER_BALL_FROM_ELM
+	writetext ElmGiveMasterBallText2
+	waitbutton
+.notdone
+	closetext
+	end
+
+ElmGiveTicketScript:
+	writetext ElmGiveTicketText1
+	keeptextopen
+	verbosegiveitem S_S_TICKET
+	setevent EVENT_GOT_SS_TICKET_FROM_ELM
+	writetext ElmGiveTicketText2
+	waitbutton
+	closetext
+	end
+
+ElmJumpBackScript1:
+	closetext
+	checkcode VAR_FACING
+	if_equal DOWN, ElmJumpDownScript
+	if_equal UP, ElmJumpUpScript
+	if_equal LEFT, ElmJumpLeftScript
+	if_equal RIGHT, ElmJumpRightScript
+	end
+
+ElmJumpBackScript2:
+	closetext
+	checkcode VAR_FACING
+	if_equal DOWN, ElmJumpUpScript
+	if_equal UP, ElmJumpDownScript
+	if_equal LEFT, ElmJumpRightScript
+	if_equal RIGHT, ElmJumpLeftScript
+	end
+
+ElmJumpUpScript:
+	applymovement ELMSLAB_ELM, ElmJumpUpMovement
+	loadfont
+	end
+
+ElmJumpDownScript:
+	applymovement ELMSLAB_ELM, ElmJumpDownMovement
+	loadfont
+	end
+
+ElmJumpLeftScript:
+	applymovement ELMSLAB_ELM, ElmJumpLeftMovement
+	loadfont
+	end
+
+ElmJumpRightScript:
+	applymovement ELMSLAB_ELM, ElmJumpRightMovement
+	loadfont
+	end
+
+AideScript_WalkPotions1:
+	applymovement ELMSLAB_SCIENTIST, AideWalksRight1
+	spriteface PLAYER, DOWN
+	scall AideScript_GivePotions
+	applymovement ELMSLAB_SCIENTIST, AideWalksLeft1
+	end
+
+AideScript_WalkPotions2:
+	applymovement ELMSLAB_SCIENTIST, AideWalksRight2
+	spriteface PLAYER, DOWN
+	scall AideScript_GivePotions
+	applymovement ELMSLAB_SCIENTIST, AideWalksLeft2
+	end
+
+AideScript_GivePotions:
+	loadfont
+	writetext AideText_GiveYouPotions
+	keeptextopen
+	verbosegiveitem POTION
+	writetext AideText_AlwaysBusy
+	waitbutton
+	closetext
+	dotrigger $2
+	end
+
+AideScript_WalkBalls1:
+	applymovement ELMSLAB_SCIENTIST, AideWalksRight1
+	spriteface PLAYER, DOWN
+	scall AideScript_GiveYouBalls
+	applymovement ELMSLAB_SCIENTIST, AideWalksLeft1
+	end
+
+AideScript_WalkBalls2:
+	applymovement ELMSLAB_SCIENTIST, AideWalksRight2
+	spriteface PLAYER, DOWN
+	scall AideScript_GiveYouBalls
+	applymovement ELMSLAB_SCIENTIST, AideWalksLeft2
+	end
+
+AideScript_GiveYouBalls:
+	loadfont
+	writetext AideText_GiveYouBalls
+	keeptextopen
+	itemtotext POKE_BALL, $1
+	scall AideScript_ReceiveTheBalls
+	giveitem POKE_BALL, 5
+	writetext AideText_ExplainBalls
+	keeptextopen
+	itemnotify
+	closetext
+	dotrigger $2
+	end
+
+AideScript_ReceiveTheBalls:
+	jumpstd receiveitem
+	end
+
+ElmsAideScript:
+	faceplayer
+	loadfont
+	checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE
+	iftrue AideScript_AfterTheft
+	checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
+	iftrue AideScript_ExplainBalls
+	checkevent EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON
+	iftrue AideScript_TheftTestimony
+	writetext AideText_AlwaysBusy
+	waitbutton
+	closetext
+	end
+
+AideScript_TheftTestimony:
+	writetext AideText_TheftTestimony
+	waitbutton
+	closetext
+	end
+
+AideScript_ExplainBalls:
+	writetext AideText_ExplainBalls
+	waitbutton
+	closetext
+	end
+
+AideScript_AfterTheft:
+	writetext AideText_AfterTheft
+	waitbutton
+	closetext
+	end
+
+MeetCopScript2:
+	applymovement PLAYER, MeetCopScript2_StepLeft
+
+MeetCopScript:
+	applymovement PLAYER, MeetCopScript_WalkUp
+CopScript:
+	spriteface ELMSLAB_OFFICER, LEFT
+	loadfont
+	writetext ElmsLabOfficerText1
+	keeptextopen
+	special SpecialNameRival
+	writetext ElmsLabOfficerText2
+	waitbutton
+	closetext
+	applymovement ELMSLAB_OFFICER, OfficerLeavesMovement
+	disappear ELMSLAB_OFFICER
+	dotrigger $2
+	end
+
+ElmsLabWindow:
+	loadfont
+	checkflag ENGINE_FLYPOINT_VIOLET
+	iftrue .Normal
+	checkevent EVENT_ELM_CALLED_ABOUT_STOLEN_POKEMON
+	iftrue .BreakIn
+	jump .Normal
+
+.BreakIn
+	writetext ElmsLabWindowText2
+	waitbutton
+	closetext
+	end
+
+.Normal
+	writetext ElmsLabWindowText1
+	waitbutton
+	closetext
+	end
+
+ElmsLabTravelTip1:
+	jumptext ElmsLabTravelTip1Text
+
+ElmsLabTravelTip2:
+	jumptext ElmsLabTravelTip2Text
+
+ElmsLabTravelTip3:
+	jumptext ElmsLabTravelTip3Text
+
+ElmsLabTravelTip4:
+	jumptext ElmsLabTravelTip4Text
+
+ElmsLabTrashcan:
+	jumptext ElmsLabTrashcanText
+
+ElmsLabPC:
+	jumptext ElmsLabPCText
+
+ElmsLabTrashcan2:
+; unused
+	jumpstd trashcan
+
+ElmsLabBookshelf:
+	jumpstd difficultbookshelf
+
+ElmsLab_WalkUpToElmMovement:
+	step_up
+	step_up
+	step_up
+	step_up
+	step_up
+	step_up
+	step_up
+	turn_head_left
+	step_end
+
+MovementData_0x78f70:
+	step_up
+	step_end
+
+MeetCopScript2_StepLeft:
+	step_left
+	step_end
+
+MeetCopScript_WalkUp:
+	step_up
+	step_up
+	turn_head_right
+	step_end
+
+OfficerLeavesMovement:
+	step_down
+	step_down
+	step_down
+	step_down
+	step_down
+	step_end
+
+AideWalksRight1:
+	step_right
+	step_right
+	turn_head_up
+	step_end
+
+AideWalksRight2:
+	step_right
+	step_right
+	step_right
+	turn_head_up
+	step_end
+
+AideWalksLeft1:
+	step_left
+	step_left
+	turn_head_down
+	step_end
+
+AideWalksLeft2:
+	step_left
+	step_left
+	step_left
+	turn_head_down
+	step_end
+
+ElmJumpUpMovement:
+	fix_facing
+	big_step_up
+	remove_fixed_facing
+	step_end
+
+ElmJumpDownMovement:
+	fix_facing
+	big_step_down
+	remove_fixed_facing
+	step_end
+
+ElmJumpLeftMovement:
+	fix_facing
+	big_step_left
+	remove_fixed_facing
+	step_end
+
+ElmJumpRightMovement:
+	fix_facing
+	big_step_right
+	remove_fixed_facing
+	step_end
+
+ElmsLab_ElmToDefaultPositionMovement1:
+	step_up
+	step_end
+
+ElmsLab_ElmToDefaultPositionMovement2:
+	step_right
+	step_right
+	step_up
+	turn_head_down
+	step_end
+
+AfterCyndaquilMovement:
+	step_left
+	step_up
+	turn_head_up
+	step_end
+
+AfterTotodileMovement:
+	step_left
+	step_left
+	step_up
+	turn_head_up
+	step_end
+
+AfterChikoritaMovement:
+	step_left
+	step_left
+	step_left
+	step_up
+	turn_head_up
+	step_end
+
+ElmText_Intro:
+	text "ELM: <PLAY_G>!"
+	line "There you are!"
+
+	para "I needed to ask"
+	line "you a favor."
+
+	para "I'm conducting new"
+	line "#MON research"
+
+	para "right now. I was"
+	line "wondering if you"
+
+	para "could help me with"
+	line "it, <PLAY_G>."
+
+	para "You see…"
+
+	para "I'm writing a"
+	line "paper that I want"
+
+	para "to present at a"
+	line "conference."
+
+	para "But there are some"
+	line "things I don't"
+
+	para "quite understand"
+	line "yet."
+
+	para "So!"
+
+	para "I'd like you to"
+	line "raise a #MON"
+
+	para "that I recently"
+	line "caught."
+	done
+
+ElmText_Accepted:
+	text "Thanks, <PLAY_G>!"
+
+	para "You're a great"
+	line "help!"
+	done
+
+ElmText_Refused:
+	text "But… Please, I"
+	line "need your help!"
+	done
+
+ElmText_ResearchAmbitions:
+	text "When I announce my"
+	line "findings, I'm sure"
+
+	para "we'll delve a bit"
+	line "deeper into the"
+
+	para "many mysteries of"
+	line "#MON."
+
+	para "You can count on"
+	line "it!"
+	done
+
+ElmText_GotAnEmail:
+	text "Oh, hey! I got an"
+	line "e-mail!"
+
+	para $56, $56, $56
+	line "Hm… Uh-huh…"
+
+	para "Okay…"
+	done
+
+ElmText_MissionFromMrPokemon:
+	text "Hey, listen."
+
+	para "I have an acquain-"
+	line "tance called MR."
+	cont "#MON."
+
+	para "He keeps finding"
+	line "weird things and"
+
+	para "raving about his"
+	line "discoveries."
+
+	para "Anyway, I just got"
+	line "an e-mail from him"
+
+	para "saying that this"
+	line "time it's real."
+
+	para "It is intriguing,"
+	line "but we're busy"
+
+	para "with our #MON"
+	line "research…"
+
+	para "Wait!"
+
+	para "I know!"
+
+	para "<PLAY_G>, can you"
+	line "go in our place?"
+	done
+
+ElmText_ChooseAPokemon:
+	text "I want you to"
+	line "raise one of the"
+
+	para "#MON contained"
+	line "in these BALLS."
+
+	para "You'll be that"
+	line "#MON's first"
+	cont "partner, <PLAY_G>!"
+
+	para "Go on. Pick one!"
+	done
+
+ElmText_LetYourMonBattleIt:
+	text "If a wild #MON"
+	line "appears, let your"
+	cont "#MON battle it!"
+	done
+
+LabWhereGoingText:
+	text "ELM: Wait! Where"
+	line "are you going?"
+	done
+
+TakeCyndaquilText:
+	text "ELM: You'll take"
+	line "CYNDAQUIL, the"
+	cont "fire #MON?"
+	done
+
+TakeTotodileText:
+	text "ELM: Do you want"
+	line "TOTODILE, the"
+	cont "water #MON?"
+	done
+
+TakeChikoritaText:
+	text "ELM: So, you like"
+	line "CHIKORITA, the"
+	cont "grass #MON?"
+	done
+
+DidntChooseStarterText:
+	text "ELM: Think it over"
+	line "carefully."
+
+	para "Your partner is"
+	line "important."
+	done
+
+ChoseStarterText:
+	text "ELM: I think"
+	line "that's a great"
+	cont "#MON too!"
+	done
+
+ReceivedStarterText:
+	text "<PLAYER> received"
+	line "@"
+	text_from_ram StringBuffer3
+	text "!"
+	done
+
+ElmDirectionsText1:
+	text "MR.#MON lives a"
+	line "little bit beyond"
+
+	para "CHERRYGROVE, the"
+	line "next city over."
+
+	para "It's almost a"
+	line "direct route"
+
+	para "there, so you"
+	line "can't miss it."
+
+	para "But just in case,"
+	line "here's my phone"
+
+	para "number. Call me if"
+	line "anything comes up!"
+	done
+
+ElmDirectionsText2:
+	text "If your #MON is"
+	line "hurt, you should"
+
+	para "heal it with this"
+	line "machine."
+
+	para "Feel free to use"
+	line "it anytime."
+	done
+
+ElmDirectionsText3:
+	text "<PLAY_G>, I'm"
+	line "counting on you!"
+	done
+
+GotElmsNumberText:
+	text "<PLAYER> got ELM's"
+	line "phone number."
+	done
+
+ElmDescribesMrPokemonText:
+	text "MR.#MON goes"
+	line "everywhere and"
+	cont "finds rarities."
+
+	para "Too bad they're"
+	line "just rare and"
+	cont "not very useful…"
+	done
+
+ElmPokeBallText:
+	text "It contains a"
+	line "#MON caught by"
+	cont "PROF.ELM."
+	done
+
+ElmsLabHealingMachineText1:
+	text "I wonder what this"
+	line "does?"
+	done
+
+ElmsLabHealingMachineText2:
+	text "Would you like to"
+	line "heal your #MON?"
+	done
+
+ElmAfterTheftText1:
+	text "ELM: <PLAY_G>, this"
+	line "is terrible…"
+
+	para "Oh, yes, what was"
+	line "MR.#MON's big"
+	cont "discovery?"
+	done
+
+ElmAfterTheftText2:
+	text "<PLAYER> handed"
+	line "the MYSTERY EGG to"
+	cont "PROF.ELM."
+	done
+
+ElmAfterTheftText3:
+	text "ELM: This?"
+	done
+
+ElmAfterTheftText4:
+	text "But… Is it a"
+	line "#MON EGG?"
+
+	para "If it is, it is a"
+	line "great discovery!"
+	done
+
+ElmAfterTheftText5:
+	text "ELM: What?!?"
+
+	para "PROF.OAK gave you"
+	line "a #DEX?"
+
+	para "<PLAY_G>, is that"
+	line "true? Th-that's"
+	cont "incredible!"
+
+	para "He is superb at"
+	line "seeing the poten-"
+	cont "tial of people as"
+	cont "trainers."
+
+	para "Wow, <PLAY_G>. You"
+	line "may have what it"
+
+	para "takes to become"
+	line "the CHAMPION."
+
+	para "You seem to be"
+	line "getting on great"
+	cont "with #MON too."
+
+	para "You should take"
+	line "the #MON GYM"
+	cont "challenge."
+
+	para "The closest GYM"
+	line "would be the one"
+	cont "in VIOLET CITY."
+	done
+
+ElmAfterTheftText6:
+	text "…<PLAY_G>. The"
+	line "road to the"
+
+	para "championship will"
+	line "be a long one."
+
+	para "Before you leave,"
+	line "make sure that you"
+	cont "talk to your mom."
+	done
+
+ElmStudyingEggText:
+	text "ELM: Don't give"
+	line "up! I'll call if"
+
+	para "I learn anything"
+	line "about that EGG!"
+	done
+
+ElmAideHasEggText:
+	text "ELM: <PLAY_G>?"
+	line "Didn't you meet my"
+	cont "assistant?"
+
+	para "He should have met"
+	line "you with the EGG"
+
+	para "at VIOLET CITY's"
+	line "#MON CENTER."
+
+	para "You must have just"
+	line "missed him. Try to"
+	cont "catch him there."
+	done
+
+ElmWaitingEggHatchText:
+	text "ELM: Hey, has that"
+	line "EGG changed any?"
+	done
+
+UnknownText_0x79a40:
+	text "<PLAY_G>? I thought"
+	line "the EGG hatched."
+
+	para "Where is the"
+	line "#MON?"
+	done
+
+ShowElmTogepiText1:
+	text "ELM: <PLAY_G>, you"
+	line "look great!"
+	done
+
+ShowElmTogepiText2:
+	text "What?"
+	line "That #MON!?!"
+	done
+
+ShowElmTogepiText3:
+	text "The EGG hatched!"
+	line "So, #MON are"
+	cont "born from EGGS…"
+
+	para "No, perhaps not"
+	line "all #MON are."
+
+	para "Wow, there's still"
+	line "a lot of research"
+	cont "to be done."
+	done
+
+ElmGiveEverstoneText1:
+	text "Thanks, <PLAY_G>!"
+	line "You're helping"
+
+	para "unravel #MON"
+	line "mysteries for us!"
+
+	para "I want you to have"
+	line "this as a token of"
+	cont "our appreciation."
+	done
+
+ElmGiveEverstoneText2:
+	text "That's an"
+	line "EVERSTONE."
+
+	para "Some species of"
+	line "#MON evolve"
+
+	para "when they grow to"
+	line "certain levels."
+
+	para "A #MON holding"
+	line "the EVERSTONE"
+	cont "won't evolve."
+
+	para "Give it to a #-"
+	line "MON you don't want"
+	cont "to evolve."
+	done
+
+ElmText_CallYou:
+	text "ELM: <PLAY_G>, I'll"
+	line "call you if any-"
+	cont "thing comes up."
+	done
+
+AideText_AfterTheft:
+	text "…sigh… That"
+	line "stolen #MON."
+
+	para "I wonder how it's"
+	line "doing."
+
+	para "They say a #MON"
+	line "raised by a bad"
+
+	para "person turns bad"
+	line "itself."
+	done
+
+ElmGiveMasterBallText1:
+	text "ELM: Hi, <PLAY_G>!"
+	line "Thanks to you, my"
+
+	para "research is going"
+	line "great!"
+
+	para "Take this as a"
+	line "token of my"
+	cont "appreciation."
+	done
+
+ElmGiveMasterBallText2:
+	text "The MASTER BALL is"
+	line "the best!"
+
+	para "It's the ultimate"
+	line "BALL! It'll catch"
+
+	para "any #MON with-"
+	line "out fail."
+
+	para "It's given only to"
+	line "recognized #MON"
+	cont "researchers."
+
+	para "I think you can"
+	line "make much better"
+
+	para "use of it than I"
+	line "can, <PLAY_G>!"
+	done
+
+ElmGiveTicketText1:
+	text "ELM: <PLAY_G>!"
+	line "There you are!"
+
+	para "I called because I"
+	line "have something for"
+	cont "you."
+
+	para "See? It's an"
+	line "S.S.TICKET."
+
+	para "Now you can catch"
+	line "#MON in KANTO."
+	done
+
+ElmGiveTicketText2:
+	text "The ship departs"
+	line "from OLIVINE CITY."
+
+	para "But you knew that"
+	line "already, <PLAY_G>."
+
+	para "After all, you've"
+	line "traveled all over"
+	cont "with your #MON."
+
+	para "Give my regards to"
+	line "PROF.OAK in KANTO!"
+	done
+
+ElmsLabSignpostText_Egg:
+	text "It's the #MON"
+	line "EGG being studied"
+	cont "by PROF.ELM."
+	done
+
+AideText_GiveYouPotions:
+	text "<PLAY_G>, I want"
+	line "you to have this"
+	cont "for your errand."
+	done
+
+AideText_AlwaysBusy:
+	text "There are only two"
+	line "of us, so we're"
+	cont "always busy."
+	done
+
+AideText_TheftTestimony:
+	text "There was a loud"
+	line "noise outside…"
+
+	para "When we went to"
+	line "look, someone"
+	cont "stole a #MON."
+
+	para "It's unbelievable"
+	line "that anyone would"
+	cont "do that!"
+
+	para "…sigh… That"
+	line "stolen #MON."
+
+	para "I wonder how it's"
+	line "doing."
+
+	para "They say a #MON"
+	line "raised by a bad"
+
+	para "person turns bad"
+	line "itself."
+	done
+
+AideText_GiveYouBalls:
+	text "<PLAY_G>!"
+
+	para "Use these on your"
+	line "#DEX quest!"
+	done
+
+AideText_ExplainBalls:
+	text "To add to your"
+	line "#DEX, you have"
+	cont "to catch #MON."
+
+	para "Throw # BALLS"
+	line "at wild #MON"
+	cont "to get them."
+	done
+
+ElmsLabOfficerText1:
+	text "I heard a #MON"
+	line "was stolen here…"
+
+	para "I was just getting"
+	line "some information"
+	cont "from PROF.ELM."
+
+	para "Apparently, it was"
+	line "a young male with"
+	cont "long, red hair…"
+
+	para "What?"
+
+	para "You battled a"
+	line "trainer like that?"
+
+	para "Did you happen to"
+	line "get his name?"
+	done
+
+ElmsLabOfficerText2:
+	text "OK! So <RIVAL>"
+	line "was his name."
+
+	para "Thanks for helping"
+	line "my investigation!"
+	done
+
+ElmsLabWindowText1:
+	text "The window's open."
+
+	para "A pleasant breeze"
+	line "is blowing in."
+	done
+
+ElmsLabWindowText2:
+	text "He broke in"
+	line "through here!"
+	done
+
+ElmsLabTravelTip1Text:
+	text "<PLAYER> opened a"
+	line "book."
+
+	para "Travel Tip 1:"
+
+	para "Press START to"
+	line "open the MENU."
+	done
+
+ElmsLabTravelTip2Text:
+	text "<PLAYER> opened a"
+	line "book."
+
+	para "Travel Tip 2:"
+
+	para "Record your trip"
+	line "with SAVE!"
+	done
+
+ElmsLabTravelTip3Text:
+	text "<PLAYER> opened a"
+	line "book."
+
+	para "Travel Tip 3:"
+
+	para "Open your PACK and"
+	line "press SELECT to"
+	cont "move items."
+	done
+
+ElmsLabTravelTip4Text:
+	text "<PLAYER> opened a"
+	line "book."
+
+	para "Travel Tip 4:"
+
+	para "Check your #MON"
+	line "moves. Press the"
+
+	para "A Button to switch"
+	line "moves."
+	done
+
+ElmsLabTrashcanText:
+	text "The wrapper from"
+	line "the snack PROF.ELM"
+	cont "ate is in there…"
+	done
+
+ElmsLabPCText:
+	text "OBSERVATIONS ON"
+	line "#MON EVOLUTION"
+
+	para "…It says on the"
+	line "screen…"
+	done
+
+ElmsLab_MapEventHeader:
+	; filler
+	db 0, 0
+
+.Warps:
+	db 2
+	warp_def $b, $4, 1, NEW_BARK_TOWN
+	warp_def $b, $5, 1, NEW_BARK_TOWN
+
+.XYTriggers:
+	db 8
+	xy_trigger 1, $6, $4, $0, LabTryToLeaveScript, $0, $0
+	xy_trigger 1, $6, $5, $0, LabTryToLeaveScript, $0, $0
+	xy_trigger 3, $5, $4, $0, MeetCopScript, $0, $0
+	xy_trigger 3, $5, $5, $0, MeetCopScript2, $0, $0
+	xy_trigger 5, $8, $4, $0, AideScript_WalkPotions1, $0, $0
+	xy_trigger 5, $8, $5, $0, AideScript_WalkPotions2, $0, $0
+	xy_trigger 6, $8, $4, $0, AideScript_WalkBalls1, $0, $0
+	xy_trigger 6, $8, $5, $0, AideScript_WalkBalls2, $0, $0
+
+.Signposts:
+	db 16
+	signpost 1, 2, SIGNPOST_READ, ElmsLabHealingMachine
+	signpost 1, 6, SIGNPOST_READ, ElmsLabBookshelf
+	signpost 1, 7, SIGNPOST_READ, ElmsLabBookshelf
+	signpost 1, 8, SIGNPOST_READ, ElmsLabBookshelf
+	signpost 1, 9, SIGNPOST_READ, ElmsLabBookshelf
+	signpost 7, 0, SIGNPOST_READ, ElmsLabTravelTip1
+	signpost 7, 1, SIGNPOST_READ, ElmsLabTravelTip2
+	signpost 7, 2, SIGNPOST_READ, ElmsLabTravelTip3
+	signpost 7, 3, SIGNPOST_READ, ElmsLabTravelTip4
+	signpost 7, 6, SIGNPOST_READ, ElmsLabBookshelf
+	signpost 7, 7, SIGNPOST_READ, ElmsLabBookshelf
+	signpost 7, 8, SIGNPOST_READ, ElmsLabBookshelf
+	signpost 7, 9, SIGNPOST_READ, ElmsLabBookshelf
+	signpost 3, 9, SIGNPOST_READ, ElmsLabTrashcan
+	signpost 0, 5, SIGNPOST_READ, ElmsLabWindow
+	signpost 5, 3, SIGNPOST_DOWN, ElmsLabPC
+
+.PersonEvents:
+	db 6
+	person_event SPRITE_ELM, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ProfElmScript, -1
+	person_event SPRITE_SCIENTIST, 9, 2, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, ElmsAideScript, EVENT_ELMS_AIDE_IN_LAB
+	person_event SPRITE_POKE_BALL, 3, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CyndaquilPokeBallScript, EVENT_CYNDAQUIL_POKEBALL_IN_ELMS_LAB
+	person_event SPRITE_POKE_BALL, 3, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TotodilePokeBallScript, EVENT_TOTODILE_POKEBALL_IN_ELMS_LAB
+	person_event SPRITE_POKE_BALL, 3, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ChikoritaPokeBallScript, EVENT_CHIKORITA_POKEBALL_IN_ELMS_LAB
+	person_event SPRITE_OFFICER, 3, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, CopScript, EVENT_COP_IN_ELMS_LAB
--- a/maps/FastShip1F.asm
+++ b/maps/FastShip1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const FASTSHIP1F_SAILOR1
+	const FASTSHIP1F_SAILOR2
+	const FASTSHIP1F_SAILOR3
+	const FASTSHIP1F_GENTLEMAN
+
 FastShip1F_MapScriptHeader:
 .MapTriggers:
 	db 3
@@ -21,9 +27,9 @@
 	end
 
 .PriorityJump2:
-	applymovement $2, MovementData_0x7520e
+	applymovement FASTSHIP1F_SAILOR1, MovementData_0x7520e
 	applymovement PLAYER, MovementData_0x75217
-	applymovement $2, MovementData_0x75211
+	applymovement FASTSHIP1F_SAILOR1, MovementData_0x75211
 	pause 30
 	playsound SFX_BOAT
 	earthquake 30
@@ -87,12 +93,12 @@
 .LetThePlayerOut:
 	checkcode VAR_FACING
 	if_equal RIGHT, .YouAreFacingRight
-	applymovement $2, MovementData_0x7520e
+	applymovement FASTSHIP1F_SAILOR1, MovementData_0x7520e
 	applymovement PLAYER, MovementData_0x75235
 	end
 
 .YouAreFacingRight:
-	applymovement $2, MovementData_0x75214
+	applymovement FASTSHIP1F_SAILOR1, MovementData_0x75214
 	applymovement PLAYER, MovementData_0x75238
 	end
 
@@ -116,21 +122,21 @@
 	jumptextfaceplayer UnknownText_0x753c0
 
 WorriedGrandpaTriggerRight:
-	moveperson $5, $14, $6
+	moveperson FASTSHIP1F_GENTLEMAN, $14, $6
 
 WorriedGrandpaTriggerLeft:
-	appear $5
-	applymovement $5, MovementData_0x7521b
+	appear FASTSHIP1F_GENTLEMAN
+	applymovement FASTSHIP1F_GENTLEMAN, MovementData_0x7521b
 	playsound SFX_TACKLE
 	applymovement PLAYER, MovementData_0x7522e
-	applymovement $5, MovementData_0x75220
+	applymovement FASTSHIP1F_GENTLEMAN, MovementData_0x75220
 	loadfont
 	writetext UnknownText_0x75412
 	waitbutton
 	closetext
 	spriteface PLAYER, RIGHT
-	applymovement $5, MovementData_0x75222
-	disappear $5
+	applymovement FASTSHIP1F_GENTLEMAN, MovementData_0x75222
+	disappear FASTSHIP1F_GENTLEMAN
 	dotrigger $0
 	end
 
--- a/maps/FastShipB1F.asm
+++ b/maps/FastShipB1F.asm
@@ -1,3 +1,17 @@
+const_value set 2
+	const FASTSHIPB1F_SAILOR1
+	const FASTSHIPB1F_SAILOR2
+	const FASTSHIPB1F_SAILOR3
+	const FASTSHIPB1F_LASS
+	const FASTSHIPB1F_SUPER_NERD
+	const FASTSHIPB1F_SAILOR4
+	const FASTSHIPB1F_FISHER
+	const FASTSHIPB1F_BLACK_BELT
+	const FASTSHIPB1F_SAILOR5
+	const FASTSHIPB1F_TEACHER
+	const FASTSHIPB1F_YOUNGSTER1
+	const FASTSHIPB1F_YOUNGSTER2
+
 FastShipB1F_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -18,21 +32,21 @@
 UnknownScript_0x7673c:
 	checkevent EVENT_FAST_SHIP_B1F_SAILOR_RIGHT
 	iftrue UnknownScript_0x76766
-	applymovement $3, MovementData_0x76876
-	moveperson $2, $1e, $6
-	appear $2
+	applymovement FASTSHIPB1F_SAILOR2, MovementData_0x76876
+	moveperson FASTSHIPB1F_SAILOR1, $1e, $6
+	appear FASTSHIPB1F_SAILOR1
 	pause 5
-	disappear $3
+	disappear FASTSHIPB1F_SAILOR2
 	end
 
 UnknownScript_0x76751:
 	checkevent EVENT_FAST_SHIP_B1F_SAILOR_LEFT
 	iftrue UnknownScript_0x76766
-	applymovement $2, MovementData_0x76871
-	moveperson $3, $1f, $6
-	appear $3
+	applymovement FASTSHIPB1F_SAILOR1, MovementData_0x76871
+	moveperson FASTSHIPB1F_SAILOR2, $1f, $6
+	appear FASTSHIPB1F_SAILOR2
 	pause 5
-	disappear $2
+	disappear FASTSHIPB1F_SAILOR1
 	end
 
 UnknownScript_0x76766:
--- a/maps/FastShipCabins_NNW_NNE_NE.asm
+++ b/maps/FastShipCabins_NNW_NNE_NE.asm
@@ -1,3 +1,12 @@
+const_value set 2
+	const FASTSHIPCABINS_NNW_NNE_NE_COOLTRAINER_M
+	const FASTSHIPCABINS_NNW_NNE_NE_COOLTRAINER_F
+	const FASTSHIPCABINS_NNW_NNE_NE_SUPER_NERD
+	const FASTSHIPCABINS_NNW_NNE_NE_POKEFAN_M
+	const FASTSHIPCABINS_NNW_NNE_NE_SAILOR
+	const FASTSHIPCABINS_NNW_NNE_NE_GENTLEMAN
+	const FASTSHIPCABINS_NNW_NNE_NE_PHARMACIST
+
 FastShipCabins_NNW_NNE_NE_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -92,16 +101,16 @@
 	domaptrigger FAST_SHIP_B1F, $1
 	checkcode VAR_FACING
 	if_equal $3, UnknownScript_0x75629
-	applymovement $6, MovementData_0x75637
+	applymovement FASTSHIPCABINS_NNW_NNE_NE_SAILOR, MovementData_0x75637
 	playsound SFX_EXIT_BUILDING
-	disappear $6
+	disappear FASTSHIPCABINS_NNW_NNE_NE_SAILOR
 	waitsfx
 	end
 
 UnknownScript_0x75629:
-	applymovement $6, MovementData_0x7563c
+	applymovement FASTSHIPCABINS_NNW_NNE_NE_SAILOR, MovementData_0x7563c
 	playsound SFX_EXIT_BUILDING
-	disappear $6
+	disappear FASTSHIPCABINS_NNW_NNE_NE_SAILOR
 	waitsfx
 	end
 
--- a/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm
+++ b/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm
@@ -1,3 +1,16 @@
+const_value set 2
+	const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_CAPTAIN
+	const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_GENTLEMAN
+	const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN1
+	const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN2
+	const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_POKEFAN_M1
+	const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN3
+	const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN4
+	const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_SUPER_NERD1
+	const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_POKEFAN_M2
+	const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_POKEFAN_F
+	const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_SUPER_NERD2
+
 FastShipCabins_SE_SSE_CaptainsCabin_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -25,7 +38,7 @@
 	end
 
 TwinScript_0x75ebb:
-	spriteface $5, RIGHT
+	spriteface FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN2, RIGHT
 	loadfont
 	writetext UnknownText_0x761e0
 	waitbutton
@@ -37,17 +50,17 @@
 	closetext
 	special Special_FadeBlackQuickly
 	special Special_ReloadSpritesNoPalettes
-	disappear $5
+	disappear FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN2
 	applymovement PLAYER, MovementData_0x76004
-	moveperson $4, $3, $13
-	appear $4
+	moveperson FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN1, $3, $13
+	appear FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN1
 	spriteface PLAYER, UP
-	spriteface $4, UP
+	spriteface FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN1, UP
 	special Special_FadeInQuickly
-	spriteface $3, DOWN
-	showemote EMOTE_SHOCK, $3, 15
-	applymovement $4, MovementData_0x7600c
-	spriteface $3, RIGHT
+	spriteface FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_GENTLEMAN, DOWN
+	showemote EMOTE_SHOCK, FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_GENTLEMAN, 15
+	applymovement FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN1, MovementData_0x7600c
+	spriteface FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_GENTLEMAN, RIGHT
 	checkflag ENGINE_PLAYER_IS_FEMALE
 	iftrue UnknownScript_0x75f03
 	loadfont
@@ -62,8 +75,8 @@
 	waitbutton
 	closetext
 UnknownScript_0x75f09:
-	spriteface $5, DOWN
-	applymovement $3, MovementData_0x76010
+	spriteface FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN2, DOWN
+	applymovement FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_GENTLEMAN, MovementData_0x76010
 	loadfont
 	writetext UnknownText_0x76143
 	keeptextopen
--- a/maps/FastShipCabins_SW_SSW_NW.asm
+++ b/maps/FastShipCabins_SW_SSW_NW.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const FASTSHIPCABINS_SW_SSW_NW_FISHER
+	const FASTSHIPCABINS_SW_SSW_NW_BUG_CATCHER
+	const FASTSHIPCABINS_SW_SSW_NW_BUENA
+	const FASTSHIPCABINS_SW_SSW_NW_ROCKER
+
 FastShipCabins_SW_SSW_NW_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/FightingDojo.asm
+++ b/maps/FightingDojo.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const FIGHTINGDOJO_BLACK_BELT
+	const FIGHTINGDOJO_POKE_BALL
+
 FightingDojo_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/FuchsiaBillSpeechHouse.asm
+++ b/maps/FuchsiaBillSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const FUCHSIABILLSPEECHHOUSE_POKEFAN_F
+	const FUCHSIABILLSPEECHHOUSE_YOUNGSTER
+
 FuchsiaBillSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/FuchsiaCity.asm
+++ b/maps/FuchsiaCity.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const FUCHSIACITY_YOUNGSTER
+	const FUCHSIACITY_POKEFAN_M
+	const FUCHSIACITY_TEACHER
+	const FUCHSIACITY_FRUIT_TREE
+
 FuchsiaCity_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/FuchsiaGym.asm
+++ b/maps/FuchsiaGym.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const FUCHSIAGYM_JANINE
+	const FUCHSIAGYM_FUCHSIA_GYM_1
+	const FUCHSIAGYM_FUCHSIA_GYM_2
+	const FUCHSIAGYM_FUCHSIA_GYM_3
+	const FUCHSIAGYM_FUCHSIA_GYM_4
+	const FUCHSIAGYM_GYM_GUY
+
 FuchsiaGym_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -8,7 +16,7 @@
 JanineScript_0x195db9:
 	checkflag ENGINE_SOULBADGE
 	iftrue .FightDone
-	applymovement $2, MovementData_0x195f27
+	applymovement FUCHSIAGYM_JANINE, MovementData_0x195f27
 	faceplayer
 	loadfont
 	writetext UnknownText_0x195f35
@@ -54,7 +62,7 @@
 FuschiaGym1Script_0x195e1b:
 	checkevent EVENT_BEAT_LASS_ALICE
 	iftrue UnknownScript_0x195e2c
-	applymovement $3, MovementData_0x195f27
+	applymovement FUCHSIAGYM_FUCHSIA_GYM_1, MovementData_0x195f27
 	faceplayer
 	variablesprite SPRITE_FUCHSIA_GYM_1, SPRITE_LASS
 	special RunCallback_04
@@ -88,7 +96,7 @@
 FuschiaGym2Script_0x195e55:
 	checkevent EVENT_BEAT_LASS_LINDA
 	iftrue UnknownScript_0x195e66
-	applymovement $4, MovementData_0x195f27
+	applymovement FUCHSIAGYM_FUCHSIA_GYM_2, MovementData_0x195f27
 	faceplayer
 	variablesprite SPRITE_FUCHSIA_GYM_2, SPRITE_LASS
 	special RunCallback_04
@@ -122,7 +130,7 @@
 FuschiaGym3Script_0x195e8f:
 	checkevent EVENT_BEAT_PICNICKER_CINDY
 	iftrue UnknownScript_0x195ea0
-	applymovement $5, MovementData_0x195f27
+	applymovement FUCHSIAGYM_FUCHSIA_GYM_3, MovementData_0x195f27
 	faceplayer
 	variablesprite SPRITE_FUCHSIA_GYM_3, SPRITE_LASS
 	special RunCallback_04
@@ -156,7 +164,7 @@
 FuschiaGym4Script_0x195ec9:
 	checkevent EVENT_BEAT_CAMPER_BARRY
 	iftrue UnknownScript_0x195eda
-	applymovement $6, MovementData_0x195f27
+	applymovement FUCHSIAGYM_FUCHSIA_GYM_4, MovementData_0x195f27
 	faceplayer
 	variablesprite SPRITE_FUCHSIA_GYM_4, SPRITE_YOUNGSTER
 	special RunCallback_04
--- a/maps/FuchsiaMart.asm
+++ b/maps/FuchsiaMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const FUCHSIAMART_CLERK
+	const FUCHSIAMART_FISHER
+	const FUCHSIAMART_COOLTRAINER_F
+
 FuchsiaMart_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/FuchsiaPokeCenter1F.asm
+++ b/maps/FuchsiaPokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const FUCHSIAPOKECENTER1F_NURSE
+	const FUCHSIAPOKECENTER1F_COOLTRAINER_M
+	const FUCHSIAPOKECENTER1F_COOLTRAINER_F
+	const FUCHSIAPOKECENTER1F_JANINE_IMPERSONATOR
+
 FuchsiaPokeCenter1F_MapScriptHeader:
 .MapTriggers:
 	db 1
@@ -26,7 +32,7 @@
 	writetext UnknownText_0x19652e
 	waitbutton
 	closetext
-	applymovement $5, MovementData_0x196486
+	applymovement FUCHSIAPOKECENTER1F_JANINE_IMPERSONATOR, MovementData_0x196486
 	faceplayer
 	variablesprite SPRITE_JANINE_IMPERSONATOR, SPRITE_JANINE
 	special RunCallback_04
@@ -34,7 +40,7 @@
 	writetext UnknownText_0x19654e
 	waitbutton
 	closetext
-	applymovement $5, MovementData_0x196486
+	applymovement FUCHSIAPOKECENTER1F_JANINE_IMPERSONATOR, MovementData_0x196486
 	faceplayer
 	variablesprite SPRITE_JANINE_IMPERSONATOR, SPRITE_LASS
 	special RunCallback_04
--- a/maps/FuchsiaPokeCenter2FBeta.asm
+++ b/maps/FuchsiaPokeCenter2FBeta.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 FuchsiaPokeCenter2FBeta_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/GoldenrodBikeShop.asm
+++ b/maps/GoldenrodBikeShop.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const GOLDENRODBIKESHOP_CLERK
+
 GoldenrodBikeShop_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/GoldenrodBillsHouse.asm
+++ b/maps/GoldenrodBillsHouse.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const GOLDENRODBILLSHOUSE_BILL
+	const GOLDENRODBILLSHOUSE_POKEFAN_F
+	const GOLDENRODBILLSHOUSE_TWIN
+
 GoldenrodBillsHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/GoldenrodCity.asm
+++ b/maps/GoldenrodCity.asm
@@ -1,3 +1,20 @@
+const_value set 2
+	const GOLDENRODCITY_POKEFAN_M1
+	const GOLDENRODCITY_YOUNGSTER1
+	const GOLDENRODCITY_COOLTRAINER_F1
+	const GOLDENRODCITY_COOLTRAINER_F2
+	const GOLDENRODCITY_YOUNGSTER2
+	const GOLDENRODCITY_LASS
+	const GOLDENRODCITY_GRAMPS
+	const GOLDENRODCITY_ROCKET1
+	const GOLDENRODCITY_ROCKET2
+	const GOLDENRODCITY_ROCKET3
+	const GOLDENRODCITY_ROCKET4
+	const GOLDENRODCITY_ROCKET5
+	const GOLDENRODCITY_ROCKET6
+	const GOLDENRODCITY_ROCKET7
+	const GOLDENRODCITY_POKEFAN_M2
+
 GoldenrodCity_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -27,13 +44,13 @@
 	if_equal WEDNESDAY, .MoveTutorAppear
 	if_equal SATURDAY, .MoveTutorAppear
 .MoveTutorDisappear
-	disappear $10
+	disappear GOLDENRODCITY_POKEFAN_M2
 	return
 
 .MoveTutorAppear
 	checkflag ENGINE_DAILY_MOVE_TUTOR
 	iftrue .MoveTutorDone
-	appear $10
+	appear GOLDENRODCITY_POKEFAN_M2
 .MoveTutorDone
 	return
 
@@ -120,14 +137,14 @@
 	closetext
 	checkcode VAR_FACING
 	if_equal $2, .WalkAroundPlayer
-	applymovement $10, MovementData_0x198a5f
+	applymovement GOLDENRODCITY_POKEFAN_M2, MovementData_0x198a5f
 	jump .GoInside
 
 .WalkAroundPlayer:
-	applymovement $10, MovementData_0x198a63
+	applymovement GOLDENRODCITY_POKEFAN_M2, MovementData_0x198a63
 .GoInside:
 	playsound SFX_ENTER_DOOR
-	disappear $10
+	disappear GOLDENRODCITY_POKEFAN_M2
 	clearevent EVENT_GOLDENROD_GAME_CORNER_MOVE_TUTOR
 	setflag ENGINE_DAILY_MOVE_TUTOR
 	waitsfx
@@ -200,7 +217,7 @@
 	writetext UnknownText_0x198d2a
 	waitbutton
 	closetext
-	spriteface $9, UP
+	spriteface GOLDENRODCITY_ROCKET1, UP
 	end
 
 RocketScript_0x198a29:
--- a/maps/GoldenrodDeptStore1F.asm
+++ b/maps/GoldenrodDeptStore1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const GOLDENRODDEPTSTORE1F_RECEPTIONIST
+	const GOLDENRODDEPTSTORE1F_POKEFAN_F
+	const GOLDENRODDEPTSTORE1F_BUG_CATCHER
+	const GOLDENRODDEPTSTORE1F_GENTLEMAN
+
 GoldenrodDeptStore1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/GoldenrodDeptStore2F.asm
+++ b/maps/GoldenrodDeptStore2F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const GOLDENRODDEPTSTORE2F_CLERK1
+	const GOLDENRODDEPTSTORE2F_CLERK2
+	const GOLDENRODDEPTSTORE2F_YOUNGSTER
+	const GOLDENRODDEPTSTORE2F_COOLTRAINER_F
+	const GOLDENRODDEPTSTORE2F_GENTLEMAN
+
 GoldenrodDeptStore2F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/GoldenrodDeptStore3F.asm
+++ b/maps/GoldenrodDeptStore3F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const GOLDENRODDEPTSTORE3F_CLERK
+	const GOLDENRODDEPTSTORE3F_SUPER_NERD
+	const GOLDENRODDEPTSTORE3F_ROCKER
+
 GoldenrodDeptStore3F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/GoldenrodDeptStore4F.asm
+++ b/maps/GoldenrodDeptStore4F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const GOLDENRODDEPTSTORE4F_CLERK
+	const GOLDENRODDEPTSTORE4F_COOLTRAINER_M
+	const GOLDENRODDEPTSTORE4F_BUG_CATCHER
+	const GOLDENRODDEPTSTORE4F_GAMEBOY_KID
+
 GoldenrodDeptStore4F_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -24,7 +30,7 @@
 	writetext UnknownText_0x55f74
 	waitbutton
 	closetext
-	spriteface $5, DOWN
+	spriteface GOLDENRODDEPTSTORE4F_GAMEBOY_KID, DOWN
 	end
 
 GoldenrodDeptStore4FDirectory:
--- a/maps/GoldenrodDeptStore5F.asm
+++ b/maps/GoldenrodDeptStore5F.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const GOLDENRODDEPTSTORE5F_CLERK
+	const GOLDENRODDEPTSTORE5F_LASS
+	const GOLDENRODDEPTSTORE5F_COOLTRAINER_M
+	const GOLDENRODDEPTSTORE5F_POKEFAN_M
+	const GOLDENRODDEPTSTORE5F_TWIN
+	const GOLDENRODDEPTSTORE5F_RECEPTIONIST
+
 GoldenrodDeptStore5F_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -12,11 +20,11 @@
 .CheckIfSunday:
 	checkcode VAR_WEEKDAY
 	if_equal SUNDAY, .yes
-	disappear $7
+	disappear GOLDENRODDEPTSTORE5F_RECEPTIONIST
 	return
 
 .yes:
-	appear $7
+	appear GOLDENRODDEPTSTORE5F_RECEPTIONIST
 	return
 
 ClerkScript_0x5609c:
--- a/maps/GoldenrodDeptStore6F.asm
+++ b/maps/GoldenrodDeptStore6F.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const GOLDENRODDEPTSTORE6F_LASS
+	const GOLDENRODDEPTSTORE6F_SUPER_NERD
+
 GoldenrodDeptStore6F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/GoldenrodDeptStoreB1F.asm
+++ b/maps/GoldenrodDeptStoreB1F.asm
@@ -1,3 +1,13 @@
+const_value set 2
+	const GOLDENRODDEPTSTOREB1F_POKE_BALL1
+	const GOLDENRODDEPTSTOREB1F_POKE_BALL2
+	const GOLDENRODDEPTSTOREB1F_POKE_BALL3
+	const GOLDENRODDEPTSTOREB1F_POKE_BALL4
+	const GOLDENRODDEPTSTOREB1F_BLACK_BELT1
+	const GOLDENRODDEPTSTOREB1F_BLACK_BELT2
+	const GOLDENRODDEPTSTOREB1F_BLACK_BELT3
+	const GOLDENRODDEPTSTOREB1F_MACHOP
+
 GoldenrodDeptStoreB1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/GoldenrodDeptStoreElevator.asm
+++ b/maps/GoldenrodDeptStoreElevator.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 GoldenrodDeptStoreElevator_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/GoldenrodDeptStoreRoof.asm
+++ b/maps/GoldenrodDeptStoreRoof.asm
@@ -1,3 +1,13 @@
+const_value set 2
+	const GOLDENRODDEPTSTOREROOF_CLERK
+	const GOLDENRODDEPTSTOREROOF_POKEFAN_F
+	const GOLDENRODDEPTSTOREROOF_FISHER
+	const GOLDENRODDEPTSTOREROOF_TWIN
+	const GOLDENRODDEPTSTOREROOF_SUPER_NERD
+	const GOLDENRODDEPTSTOREROOF_POKEFAN_M
+	const GOLDENRODDEPTSTOREROOF_TEACHER
+	const GOLDENRODDEPTSTOREROOF_BUG_CATCHER
+
 GoldenrodDeptStoreRoof_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -48,7 +58,7 @@
 	writetext UnknownText_0x567d2
 	waitbutton
 	closetext
-	spriteface $4, UP
+	spriteface GOLDENRODDEPTSTOREROOF_FISHER, UP
 	end
 
 TwinScript_0x56754:
@@ -59,12 +69,12 @@
 	writetext UnknownText_0x56867
 	waitbutton
 	closetext
-	spriteface $6, UP
+	spriteface GOLDENRODDEPTSTOREROOF_SUPER_NERD, UP
 	loadfont
 	writetext UnknownText_0x56871
 	waitbutton
 	closetext
-	spriteface $6, RIGHT
+	spriteface GOLDENRODDEPTSTOREROOF_SUPER_NERD, RIGHT
 	end
 
 PokefanMScript_0x5676a:
--- a/maps/GoldenrodFlowerShop.asm
+++ b/maps/GoldenrodFlowerShop.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const GOLDENRODFLOWERSHOP_TEACHER
+	const GOLDENRODFLOWERSHOP_LASS
+
 GoldenrodFlowerShop_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -28,7 +32,7 @@
 	end
 
 .Lalala:
-	spriteface $2, LEFT
+	spriteface GOLDENRODFLOWERSHOP_TEACHER, LEFT
 	loadfont
 	writetext UnknownText_0x5552e
 	waitbutton
--- a/maps/GoldenrodGameCorner.asm
+++ b/maps/GoldenrodGameCorner.asm
@@ -1,3 +1,17 @@
+const_value set 2
+	const GOLDENRODGAMECORNER_CLERK
+	const GOLDENRODGAMECORNER_RECEPTIONIST1
+	const GOLDENRODGAMECORNER_RECEPTIONIST2
+	const GOLDENRODGAMECORNER_PHARMACIST1
+	const GOLDENRODGAMECORNER_PHARMACIST2
+	const GOLDENRODGAMECORNER_POKEFAN_M1
+	const GOLDENRODGAMECORNER_COOLTRAINER_M
+	const GOLDENRODGAMECORNER_POKEFAN_F
+	const GOLDENRODGAMECORNER_COOLTRAINER_F
+	const GOLDENRODGAMECORNER_GENTLEMAN
+	const GOLDENRODGAMECORNER_POKEFAN_M2
+	const GOLDENRODGAMECORNER_POKEFAN_M3
+
 GoldenrodGameCorner_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -18,13 +32,13 @@
 	if_equal WEDNESDAY, UnknownScript_0x56c11
 	if_equal SATURDAY, UnknownScript_0x56c11
 UnknownScript_0x56c0e:
-	appear $d
+	appear GOLDENRODGAMECORNER_POKEFAN_M3
 	return
 
 UnknownScript_0x56c11:
 	checkflag ENGINE_DAILY_MOVE_TUTOR
 	iftrue UnknownScript_0x56c19
-	disappear $d
+	disappear GOLDENRODGAMECORNER_POKEFAN_M3
 UnknownScript_0x56c19: ;0x56c19
 	return
 
@@ -34,7 +48,7 @@
 	writetext UnknownText_0x5718a
 	waitbutton
 	closetext
-	spriteface $d, RIGHT
+	spriteface GOLDENRODGAMECORNER_POKEFAN_M3, RIGHT
 	end
 
 ClerkScript_0x56c25:
@@ -248,7 +262,7 @@
 	writetext UnknownText_0x56f9e
 	waitbutton
 	closetext
-	spriteface $7, RIGHT
+	spriteface GOLDENRODGAMECORNER_POKEFAN_M1, RIGHT
 	end
 
 CooltrainerMScript_0x56e07:
@@ -257,7 +271,7 @@
 	writetext UnknownText_0x56ff4
 	waitbutton
 	closetext
-	spriteface $8, LEFT
+	spriteface GOLDENRODGAMECORNER_COOLTRAINER_M, LEFT
 	end
 
 PokefanFScript_0x56e12:
@@ -266,7 +280,7 @@
 	writetext UnknownText_0x5702b
 	waitbutton
 	closetext
-	spriteface $9, RIGHT
+	spriteface GOLDENRODGAMECORNER_POKEFAN_F, RIGHT
 	end
 
 CooltrainerFScript_0x56e1d:
@@ -278,7 +292,7 @@
 	writetext UnknownText_0x570b1
 	waitbutton
 	closetext
-	spriteface $b, RIGHT
+	spriteface GOLDENRODGAMECORNER_GENTLEMAN, RIGHT
 	end
 
 PokefanMScript_0x56e2b:
--- a/maps/GoldenrodGym.asm
+++ b/maps/GoldenrodGym.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const GOLDENRODGYM_WHITNEY
+	const GOLDENRODGYM_LASS1
+	const GOLDENRODGYM_LASS2
+	const GOLDENRODGYM_BUENA1
+	const GOLDENRODGYM_BUENA2
+	const GOLDENRODGYM_GYM_GUY
+
 GoldenrodGym_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -98,14 +106,14 @@
 	end
 
 WhitneyCriesScript:
-	showemote EMOTE_SHOCK, $4, 15
-	applymovement $4, BridgetWalksUpMovement
+	showemote EMOTE_SHOCK, GOLDENRODGYM_LASS2, 15
+	applymovement GOLDENRODGYM_LASS2, BridgetWalksUpMovement
 	spriteface PLAYER, DOWN
 	loadfont
 	writetext BridgetWhitneyCriesText
 	waitbutton
 	closetext
-	applymovement $4, BridgetWalksAwayMovement
+	applymovement GOLDENRODGYM_LASS2, BridgetWalksAwayMovement
 	dotrigger $0
 	clearevent EVENT_MADE_WHITNEY_CRY
 	end
--- a/maps/GoldenrodHappinessRater.asm
+++ b/maps/GoldenrodHappinessRater.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const GOLDENRODHAPPINESSRATER_TEACHER
+	const GOLDENRODHAPPINESSRATER_POKEFAN_M
+	const GOLDENRODHAPPINESSRATER_TWIN
+
 GoldenrodHappinessRater_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/GoldenrodMagnetTrainStation.asm
+++ b/maps/GoldenrodMagnetTrainStation.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const GOLDENRODMAGNETTRAINSTATION_OFFICER
+	const GOLDENRODMAGNETTRAINSTATION_GENTLEMAN
+
 GoldenrodMagnetTrainStation_MapScriptHeader:
 .MapTriggers:
 	db 1
@@ -30,7 +34,7 @@
 	writetext UnknownText_0x551ed
 	waitbutton
 	closetext
-	applymovement $2, MovementData_0x55146
+	applymovement GOLDENRODMAGNETTRAINSTATION_OFFICER, MovementData_0x55146
 	applymovement PLAYER, MovementData_0x5514f
 	writebyte $0
 	special Special_MagnetTrain
@@ -57,9 +61,9 @@
 	end
 
 Script_ArriveFromSaffron:
-	applymovement $2, MovementData_0x55146
+	applymovement GOLDENRODMAGNETTRAINSTATION_OFFICER, MovementData_0x55146
 	applymovement PLAYER, MovementData_0x55158
-	applymovement $2, MovementData_0x5514b
+	applymovement GOLDENRODMAGNETTRAINSTATION_OFFICER, MovementData_0x5514b
 	loadfont
 	writetext UnknownText_0x5526a
 	waitbutton
--- a/maps/GoldenrodNameRatersHouse.asm
+++ b/maps/GoldenrodNameRatersHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const GOLDENRODNAMERATERSHOUSE_GENTLEMAN
+
 GoldenrodNameRatersHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/GoldenrodPPSpeechHouse.asm
+++ b/maps/GoldenrodPPSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const GOLDENRODPPSPEECHHOUSE_FISHER
+	const GOLDENRODPPSPEECHHOUSE_LASS
+
 GoldenrodPPSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/GoldenrodPokeCenter1F.asm
+++ b/maps/GoldenrodPokeCenter1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const GOLDENRODPOKECENTER1F_NURSE
+	const GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST
+	const GOLDENRODPOKECENTER1F_GAMEBOY_KID
+	const GOLDENRODPOKECENTER1F_LASS
+	const GOLDENRODPOKECENTER1F_POKEFAN_F
+
 GoldenrodPokeCenter1F_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -18,11 +25,11 @@
 	checkevent EVENT_GOT_GS_BALL_FROM_POKECOM_CENTER
 	iftrue .cancel
 	playsound SFX_EXIT_BUILDING
-	moveperson $3, $0, $7
-	disappear $3
-	appear $3
+	moveperson GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST, $0, $7
+	disappear GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST
+	appear GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST
 	playmusic MUSIC_SHOW_ME_AROUND
-	applymovement $3, MovementData_0x6105a
+	applymovement GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST, MovementData_0x6105a
 	spriteface PLAYER, UP
 	loadfont
 	writetext UnknownText_0x622f0
@@ -33,9 +40,9 @@
 	writetext UnknownText_0x62359
 	waitbutton
 	closetext
-	applymovement $3, MovementData_0x61060
+	applymovement GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST, MovementData_0x61060
 	special RestartMapMusic
-	disappear $3
+	disappear GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST
 	playsound SFX_EXIT_BUILDING
 .cancel:
 	end
@@ -50,11 +57,11 @@
 	checkevent EVENT_GOT_GS_BALL_FROM_POKECOM_CENTER
 	iftrue .cancel
 	playsound SFX_EXIT_BUILDING
-	moveperson $3, $0, $7
-	disappear $3
-	appear $3
+	moveperson GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST, $0, $7
+	disappear GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST
+	appear GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST
 	playmusic MUSIC_SHOW_ME_AROUND
-	applymovement $3, MovementData_0x61065
+	applymovement GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST, MovementData_0x61065
 	spriteface PLAYER, UP
 	loadfont
 	writetext UnknownText_0x622f0
@@ -65,9 +72,9 @@
 	writetext UnknownText_0x62359
 	waitbutton
 	closetext
-	applymovement $3, MovementData_0x6106c
+	applymovement GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST, MovementData_0x6106c
 	special RestartMapMusic
-	disappear $3
+	disappear GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST
 	playsound SFX_EXIT_BUILDING
 .cancel:
 	end
--- a/maps/GoldenrodPokeComCenter2FMobile.asm
+++ b/maps/GoldenrodPokeComCenter2FMobile.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const GOLDENRODPOKECOMCENTER2FMOBILE_SCIENTIST1
+	const GOLDENRODPOKECOMCENTER2FMOBILE_SCIENTIST2
+	const GOLDENRODPOKECOMCENTER2FMOBILE_SCIENTIST3
+
 GoldenrodPokeComCenter2FMobile_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/GuideGentsHouse.asm
+++ b/maps/GuideGentsHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const GUIDEGENTSHOUSE_GRAMPS
+
 GuideGentsHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/HallOfFame.asm
+++ b/maps/HallOfFame.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const HALLOFFAME_LANCE
+
 HallOfFame_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -17,8 +20,8 @@
 	end
 
 HallOfFameScript:
-	follow $2, PLAYER
-	applymovement $2, HallOfFame_WalkUpWithLance
+	follow HALLOFFAME_LANCE, PLAYER
+	applymovement HALLOFFAME_LANCE, HallOfFame_WalkUpWithLance
 	stopfollow
 	spriteface PLAYER, RIGHT
 	loadfont
@@ -25,7 +28,7 @@
 	writetext HallOfFame_LanceText
 	waitbutton
 	closetext
-	spriteface $2, UP
+	spriteface HALLOFFAME_LANCE, UP
 	applymovement PLAYER, HallOfFame_SlowlyApproachMachine
 	dotrigger $1
 	pause 15
--- a/maps/IcePath1F.asm
+++ b/maps/IcePath1F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const ICEPATH1F_POKE_BALL1
+	const ICEPATH1F_POKE_BALL2
+	const ICEPATH1F_POKE_BALL3
+
 IcePath1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/IcePathB1F.asm
+++ b/maps/IcePathB1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const ICEPATHB1F_BOULDER1
+	const ICEPATHB1F_BOULDER2
+	const ICEPATHB1F_BOULDER3
+	const ICEPATHB1F_BOULDER4
+	const ICEPATHB1F_POKE_BALL
+
 IcePathB1F_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -33,22 +40,22 @@
 	db -1 ; end
 
 .Boulder1:
-	disappear 2
+	disappear ICEPATHB1F_BOULDER1
 	clearevent EVENT_BOULDER_IN_ICE_PATH_1A
 	jump .FinishBoulder
 
 .Boulder2:
-	disappear 3
+	disappear ICEPATHB1F_BOULDER2
 	clearevent EVENT_BOULDER_IN_ICE_PATH_2A
 	jump .FinishBoulder
 
 .Boulder3:
-	disappear 4
+	disappear ICEPATHB1F_BOULDER3
 	clearevent EVENT_BOULDER_IN_ICE_PATH_3A
 	jump .FinishBoulder
 
 .Boulder4:
-	disappear 5
+	disappear ICEPATHB1F_BOULDER4
 	clearevent EVENT_BOULDER_IN_ICE_PATH_4A
 	jump .FinishBoulder
 
--- a/maps/IcePathB2FBlackthornSide.asm
+++ b/maps/IcePathB2FBlackthornSide.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const ICEPATHB2FBLACKTHORNSIDE_POKE_BALL
+
 IcePathB2FBlackthornSide_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/IcePathB2FMahoganySide.asm
+++ b/maps/IcePathB2FMahoganySide.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const ICEPATHB2FMAHOGANYSIDE_BOULDER1
+	const ICEPATHB2FMAHOGANYSIDE_BOULDER2
+	const ICEPATHB2FMAHOGANYSIDE_BOULDER3
+	const ICEPATHB2FMAHOGANYSIDE_BOULDER4
+	const ICEPATHB2FMAHOGANYSIDE_POKE_BALL1
+	const ICEPATHB2FMAHOGANYSIDE_POKE_BALL2
+
 IcePathB2FMahoganySide_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/IcePathB3F.asm
+++ b/maps/IcePathB3F.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const ICEPATHB3F_POKE_BALL
+	const ICEPATHB3F_ROCK
+
 IcePathB3F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/IlexForest.asm
+++ b/maps/IlexForest.asm
@@ -1,3 +1,16 @@
+const_value set 2
+	const ILEXFOREST_BIRD
+	const ILEXFOREST_YOUNGSTER1
+	const ILEXFOREST_BLACK_BELT
+	const ILEXFOREST_ROCKER
+	const ILEXFOREST_POKE_BALL1
+	const ILEXFOREST_KURT
+	const ILEXFOREST_LASS
+	const ILEXFOREST_YOUNGSTER2
+	const ILEXFOREST_POKE_BALL2
+	const ILEXFOREST_POKE_BALL3
+	const ILEXFOREST_POKE_BALL4
+
 IlexForest_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -27,53 +40,53 @@
 	return
 
 UnknownScript_0x6eb35:
-	moveperson $2, $e, $1f
-	appear $2
+	moveperson ILEXFOREST_BIRD, $e, $1f
+	appear ILEXFOREST_BIRD
 	return
 
 UnknownScript_0x6eb3c:
-	moveperson $2, $f, $19
-	appear $2
+	moveperson ILEXFOREST_BIRD, $f, $19
+	appear ILEXFOREST_BIRD
 	return
 
 UnknownScript_0x6eb43:
-	moveperson $2, $14, $18
-	appear $2
+	moveperson ILEXFOREST_BIRD, $14, $18
+	appear ILEXFOREST_BIRD
 	return
 
 UnknownScript_0x6eb4a:
-	moveperson $2, $1d, $16
-	appear $2
+	moveperson ILEXFOREST_BIRD, $1d, $16
+	appear ILEXFOREST_BIRD
 	return
 
 UnknownScript_0x6eb51:
-	moveperson $2, $1c, $1f
-	appear $2
+	moveperson ILEXFOREST_BIRD, $1c, $1f
+	appear ILEXFOREST_BIRD
 	return
 
 UnknownScript_0x6eb58:
-	moveperson $2, $18, $23
-	appear $2
+	moveperson ILEXFOREST_BIRD, $18, $23
+	appear ILEXFOREST_BIRD
 	return
 
 UnknownScript_0x6eb5f:
-	moveperson $2, $16, $1f
-	appear $2
+	moveperson ILEXFOREST_BIRD, $16, $1f
+	appear ILEXFOREST_BIRD
 	return
 
 UnknownScript_0x6eb66:
-	moveperson $2, $f, $1d
-	appear $2
+	moveperson ILEXFOREST_BIRD, $f, $1d
+	appear ILEXFOREST_BIRD
 	return
 
 UnknownScript_0x6eb6d:
-	moveperson $2, $a, $23
-	appear $2
+	moveperson ILEXFOREST_BIRD, $a, $23
+	appear ILEXFOREST_BIRD
 	return
 
 UnknownScript_0x6eb74:
-	moveperson $2, $6, $1c
-	appear $2
+	moveperson ILEXFOREST_BIRD, $6, $1c
+	appear ILEXFOREST_BIRD
 	return
 
 YoungsterScript_0x6eb7b:
@@ -113,10 +126,10 @@
 	cry FARFETCH_D
 	waitbutton
 	closetext
-	applymovement $2, MovementData_0x6ee8f
-	moveperson $2, $f, $19
-	disappear $2
-	appear $2
+	applymovement ILEXFOREST_BIRD, MovementData_0x6ee8f
+	moveperson ILEXFOREST_BIRD, $f, $19
+	disappear ILEXFOREST_BIRD
+	appear ILEXFOREST_BIRD
 	loadvar FarfetchdPosition, $2
 	end
 
@@ -123,18 +136,18 @@
 UnknownScript_0x6ebd9:
 	scall UnknownScript_0x6eda1
 	if_equal $0, UnknownScript_0x6ebf1
-	applymovement $2, MovementData_0x6ee95
-	moveperson $2, $14, $18
-	disappear $2
-	appear $2
+	applymovement ILEXFOREST_BIRD, MovementData_0x6ee95
+	moveperson ILEXFOREST_BIRD, $14, $18
+	disappear ILEXFOREST_BIRD
+	appear ILEXFOREST_BIRD
 	loadvar FarfetchdPosition, $3
 	end
 
 UnknownScript_0x6ebf1:
-	applymovement $2, MovementData_0x6ee9e
-	moveperson $2, $f, $1d
-	disappear $2
-	appear $2
+	applymovement ILEXFOREST_BIRD, MovementData_0x6ee9e
+	moveperson ILEXFOREST_BIRD, $f, $1d
+	disappear ILEXFOREST_BIRD
+	appear ILEXFOREST_BIRD
 	loadvar FarfetchdPosition, $8
 	end
 
@@ -141,18 +154,18 @@
 UnknownScript_0x6ec02:
 	scall UnknownScript_0x6eda1
 	if_equal $2, UnknownScript_0x6ec1a
-	applymovement $2, MovementData_0x6eea4
-	moveperson $2, $1d, $16
-	disappear $2
-	appear $2
+	applymovement ILEXFOREST_BIRD, MovementData_0x6eea4
+	moveperson ILEXFOREST_BIRD, $1d, $16
+	disappear ILEXFOREST_BIRD
+	appear ILEXFOREST_BIRD
 	loadvar FarfetchdPosition, $4
 	end
 
 UnknownScript_0x6ec1a:
-	applymovement $2, MovementData_0x6eeab
-	moveperson $2, $f, $19
-	disappear $2
-	appear $2
+	applymovement ILEXFOREST_BIRD, MovementData_0x6eeab
+	moveperson ILEXFOREST_BIRD, $f, $19
+	disappear ILEXFOREST_BIRD
+	appear ILEXFOREST_BIRD
 	loadvar FarfetchdPosition, $2
 	end
 
@@ -159,18 +172,18 @@
 UnknownScript_0x6ec2b:
 	scall UnknownScript_0x6eda1
 	if_equal $1, UnknownScript_0x6ec43
-	applymovement $2, MovementData_0x6eeb1
-	moveperson $2, $1c, $1f
-	disappear $2
-	appear $2
+	applymovement ILEXFOREST_BIRD, MovementData_0x6eeb1
+	moveperson ILEXFOREST_BIRD, $1c, $1f
+	disappear ILEXFOREST_BIRD
+	appear ILEXFOREST_BIRD
 	loadvar FarfetchdPosition, $5
 	end
 
 UnknownScript_0x6ec43:
-	applymovement $2, MovementData_0x6eeb8
-	moveperson $2, $14, $18
-	disappear $2
-	appear $2
+	applymovement ILEXFOREST_BIRD, MovementData_0x6eeb8
+	moveperson ILEXFOREST_BIRD, $14, $18
+	disappear ILEXFOREST_BIRD
+	appear ILEXFOREST_BIRD
 	loadvar FarfetchdPosition, $3
 	end
 
@@ -179,34 +192,34 @@
 	if_equal $1, UnknownScript_0x6ec85
 	if_equal $2, UnknownScript_0x6ec74
 	if_equal $3, UnknownScript_0x6ec96
-	applymovement $2, MovementData_0x6eebd
-	moveperson $2, $18, $23
-	disappear $2
-	appear $2
+	applymovement ILEXFOREST_BIRD, MovementData_0x6eebd
+	moveperson ILEXFOREST_BIRD, $18, $23
+	disappear ILEXFOREST_BIRD
+	appear ILEXFOREST_BIRD
 	loadvar FarfetchdPosition, $6
 	end
 
 UnknownScript_0x6ec74:
-	applymovement $2, MovementData_0x6eec7
-	moveperson $2, $16, $1f
-	disappear $2
-	appear $2
+	applymovement ILEXFOREST_BIRD, MovementData_0x6eec7
+	moveperson ILEXFOREST_BIRD, $16, $1f
+	disappear ILEXFOREST_BIRD
+	appear ILEXFOREST_BIRD
 	loadvar FarfetchdPosition, $7
 	end
 
 UnknownScript_0x6ec85:
-	applymovement $2, MovementData_0x6eecc
-	moveperson $2, $1d, $16
-	disappear $2
-	appear $2
+	applymovement ILEXFOREST_BIRD, MovementData_0x6eecc
+	moveperson ILEXFOREST_BIRD, $1d, $16
+	disappear ILEXFOREST_BIRD
+	appear ILEXFOREST_BIRD
 	loadvar FarfetchdPosition, $4
 	end
 
 UnknownScript_0x6ec96:
-	applymovement $2, MovementData_0x6eed2
-	moveperson $2, $1d, $16
-	disappear $2
-	appear $2
+	applymovement ILEXFOREST_BIRD, MovementData_0x6eed2
+	moveperson ILEXFOREST_BIRD, $1d, $16
+	disappear ILEXFOREST_BIRD
+	appear ILEXFOREST_BIRD
 	loadvar FarfetchdPosition, $4
 	end
 
@@ -213,18 +226,18 @@
 UnknownScript_0x6eca7:
 	scall UnknownScript_0x6eda1
 	if_equal $3, UnknownScript_0x6ecbf
-	applymovement $2, MovementData_0x6eee6
-	moveperson $2, $16, $1f
-	disappear $2
-	appear $2
+	applymovement ILEXFOREST_BIRD, MovementData_0x6eee6
+	moveperson ILEXFOREST_BIRD, $16, $1f
+	disappear ILEXFOREST_BIRD
+	appear ILEXFOREST_BIRD
 	loadvar FarfetchdPosition, $7
 	end
 
 UnknownScript_0x6ecbf:
-	applymovement $2, MovementData_0x6eeef
-	moveperson $2, $1c, $1f
-	disappear $2
-	appear $2
+	applymovement ILEXFOREST_BIRD, MovementData_0x6eeef
+	moveperson ILEXFOREST_BIRD, $1c, $1f
+	disappear ILEXFOREST_BIRD
+	appear ILEXFOREST_BIRD
 	loadvar FarfetchdPosition, $5
 	end
 
@@ -232,26 +245,26 @@
 	scall UnknownScript_0x6eda1
 	if_equal $0, UnknownScript_0x6ecfd
 	if_equal $2, UnknownScript_0x6ecec
-	applymovement $2, MovementData_0x6eef8
-	moveperson $2, $f, $1d
-	disappear $2
-	appear $2
+	applymovement ILEXFOREST_BIRD, MovementData_0x6eef8
+	moveperson ILEXFOREST_BIRD, $f, $1d
+	disappear ILEXFOREST_BIRD
+	appear ILEXFOREST_BIRD
 	loadvar FarfetchdPosition, $8
 	end
 
 UnknownScript_0x6ecec:
-	applymovement $2, MovementData_0x6ef00
-	moveperson $2, $18, $23
-	disappear $2
-	appear $2
+	applymovement ILEXFOREST_BIRD, MovementData_0x6ef00
+	moveperson ILEXFOREST_BIRD, $18, $23
+	disappear ILEXFOREST_BIRD
+	appear ILEXFOREST_BIRD
 	loadvar FarfetchdPosition, $6
 	end
 
 UnknownScript_0x6ecfd:
-	applymovement $2, MovementData_0x6ef09
-	moveperson $2, $1c, $1f
-	disappear $2
-	appear $2
+	applymovement ILEXFOREST_BIRD, MovementData_0x6ef09
+	moveperson ILEXFOREST_BIRD, $1c, $1f
+	disappear ILEXFOREST_BIRD
+	appear ILEXFOREST_BIRD
 	loadvar FarfetchdPosition, $5
 	end
 
@@ -260,26 +273,26 @@
 	if_equal $1, UnknownScript_0x6ed3f
 	if_equal $2, UnknownScript_0x6ed3f
 	if_equal $3, UnknownScript_0x6ed2e
-	applymovement $2, MovementData_0x6ef10
-	moveperson $2, $a, $23
-	disappear $2
-	appear $2
+	applymovement ILEXFOREST_BIRD, MovementData_0x6ef10
+	moveperson ILEXFOREST_BIRD, $a, $23
+	disappear ILEXFOREST_BIRD
+	appear ILEXFOREST_BIRD
 	loadvar FarfetchdPosition, $9
 	end
 
 UnknownScript_0x6ed2e:
-	applymovement $2, MovementData_0x6ef18
-	moveperson $2, $16, $1f
-	disappear $2
-	appear $2
+	applymovement ILEXFOREST_BIRD, MovementData_0x6ef18
+	moveperson ILEXFOREST_BIRD, $16, $1f
+	disappear ILEXFOREST_BIRD
+	appear ILEXFOREST_BIRD
 	loadvar FarfetchdPosition, $7
 	end
 
 UnknownScript_0x6ed3f:
-	applymovement $2, MovementData_0x6ef1e
-	moveperson $2, $f, $19
-	disappear $2
-	appear $2
+	applymovement ILEXFOREST_BIRD, MovementData_0x6ef1e
+	moveperson ILEXFOREST_BIRD, $f, $19
+	disappear ILEXFOREST_BIRD
+	appear ILEXFOREST_BIRD
 	loadvar FarfetchdPosition, $2
 	end
 
@@ -287,29 +300,29 @@
 	scall UnknownScript_0x6eda1
 	if_equal $0, UnknownScript_0x6ed85
 	if_equal $3, UnknownScript_0x6ed74
-	applymovement $2, MovementData_0x6ef23
-	moveperson $2, $6, $1c
-	disappear $2
-	appear $2
+	applymovement ILEXFOREST_BIRD, MovementData_0x6ef23
+	moveperson ILEXFOREST_BIRD, $6, $1c
+	disappear ILEXFOREST_BIRD
+	appear ILEXFOREST_BIRD
 	loadvar FarfetchdPosition, $a
-	appear $4
+	appear ILEXFOREST_BLACK_BELT
 	setevent EVENT_CHARCOAL_KILN_BOSS
 	setevent EVENT_HERDED_FARFETCHD
 	end
 
 UnknownScript_0x6ed74:
-	applymovement $2, MovementData_0x6ef33
-	moveperson $2, $f, $1d
-	disappear $2
-	appear $2
+	applymovement ILEXFOREST_BIRD, MovementData_0x6ef33
+	moveperson ILEXFOREST_BIRD, $f, $1d
+	disappear ILEXFOREST_BIRD
+	appear ILEXFOREST_BIRD
 	loadvar FarfetchdPosition, $8
 	end
 
 UnknownScript_0x6ed85:
-	applymovement $2, MovementData_0x6ef3d
-	moveperson $2, $f, $1d
-	disappear $2
-	appear $2
+	applymovement ILEXFOREST_BIRD, MovementData_0x6ef3d
+	moveperson ILEXFOREST_BIRD, $f, $1d
+	disappear ILEXFOREST_BIRD
+	appear ILEXFOREST_BIRD
 	loadvar FarfetchdPosition, $8
 	end
 
@@ -442,7 +455,7 @@
 	takeitem GS_BALL
 	clearevent EVENT_FOREST_IS_RESTLESS
 	setevent EVENT_AZALEA_TOWN_KURT
-	disappear $8
+	disappear ILEXFOREST_LASS
 	clearevent EVENT_ROUTE_34_ILEX_FOREST_GATE_LASS
 	writetext UnknownText_0x6f43b
 	waitbutton
@@ -462,14 +475,14 @@
 	pause 20
 	special CheckCaughtCelebi
 	iffalse UnknownScript_0x6ee8e
-	appear $7
-	applymovement $7, MovementData_0x6ef4e
+	appear ILEXFOREST_KURT
+	applymovement ILEXFOREST_KURT, MovementData_0x6ef4e
 	loadfont
 	writetext UnknownText_0x6f452
 	waitbutton
 	closetext
-	applymovement $7, MovementData_0x6ef53
-	disappear $7
+	applymovement ILEXFOREST_KURT, MovementData_0x6ef53
+	disappear ILEXFOREST_KURT
 UnknownScript_0x6ee8e:
 	end
 
--- a/maps/IlexForestAzaleaGate.asm
+++ b/maps/IlexForestAzaleaGate.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const ILEXFORESTAZALEAGATE_OFFICER
+	const ILEXFORESTAZALEAGATE_GRANNY
+
 IlexForestAzaleaGate_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/IndigoPlateauPokeCenter1F.asm
+++ b/maps/IndigoPlateauPokeCenter1F.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const INDIGOPLATEAUPOKECENTER1F_NURSE
+	const INDIGOPLATEAUPOKECENTER1F_CLERK
+	const INDIGOPLATEAUPOKECENTER1F_COOLTRAINER_M
+	const INDIGOPLATEAUPOKECENTER1F_SILVER
+	const INDIGOPLATEAUPOKECENTER1F_GRAMPS
+	const INDIGOPLATEAUPOKECENTER1F_JYNX
+
 IndigoPlateauPokeCenter1F_MapScriptHeader:
 .MapTriggers:
 	db 1
@@ -51,13 +59,13 @@
 	if_equal THURSDAY, UnknownScript_0x18012b
 	if_equal FRIDAY, UnknownScript_0x18012b
 	if_equal SATURDAY, UnknownScript_0x18012b
-	moveperson $5, $11, $9
-	appear $5
+	moveperson INDIGOPLATEAUPOKECENTER1F_SILVER, $11, $9
+	appear INDIGOPLATEAUPOKECENTER1F_SILVER
 	spriteface PLAYER, DOWN
 	showemote EMOTE_SHOCK, PLAYER, 15
 	special Special_RotatePalettesRightMusic
 	pause 15
-	applymovement $5, MovementData_0x180164
+	applymovement INDIGOPLATEAUPOKECENTER1F_SILVER, MovementData_0x180164
 	playmusic MUSIC_RIVAL_ENCOUNTER
 	spriteface PLAYER, RIGHT
 	jump UnknownScript_0x1800ce
@@ -73,12 +81,12 @@
 	if_equal THURSDAY, UnknownScript_0x18012b
 	if_equal FRIDAY, UnknownScript_0x18012b
 	if_equal SATURDAY, UnknownScript_0x18012b
-	appear $5
+	appear INDIGOPLATEAUPOKECENTER1F_SILVER
 	spriteface PLAYER, DOWN
 	showemote EMOTE_SHOCK, PLAYER, 15
 	special Special_RotatePalettesRightMusic
 	pause 15
-	applymovement $5, MovementData_0x18016b
+	applymovement INDIGOPLATEAUPOKECENTER1F_SILVER, MovementData_0x18016b
 	playmusic MUSIC_RIVAL_ENCOUNTER
 	spriteface PLAYER, LEFT
 UnknownScript_0x1800ce:
@@ -124,8 +132,8 @@
 	waitbutton
 	closetext
 	spriteface PLAYER, DOWN
-	applymovement $5, MovementData_0x180172
-	disappear $5
+	applymovement INDIGOPLATEAUPOKECENTER1F_SILVER, MovementData_0x180172
+	disappear INDIGOPLATEAUPOKECENTER1F_SILVER
 	dotrigger $0
 	playmapmusic
 	setflag ENGINE_INDIGO_PLATEAU_RIVAL_FIGHT
--- a/maps/KarensRoom.asm
+++ b/maps/KarensRoom.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const KARENSROOM_KAREN
+
 KarensRoom_MapScriptHeader:
 .MapTriggers:
 	db 2
--- a/maps/KogasRoom.asm
+++ b/maps/KogasRoom.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const KOGASROOM_KOGA
+
 KogasRoom_MapScriptHeader:
 .MapTriggers:
 	db 2
--- a/maps/KrissHouse1F.asm
+++ b/maps/KrissHouse1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const KRISSHOUSE1F_MOM1
+	const KRISSHOUSE1F_MOM2
+	const KRISSHOUSE1F_MOM3
+	const KRISSHOUSE1F_MOM4
+	const KRISSHOUSE1F_POKEFAN_F
+
 KrissHouse1F_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -20,15 +27,15 @@
 
 UnknownScript_0x7a4db:
 	playmusic MUSIC_MOM
-	showemote EMOTE_SHOCK, $2, 15
+	showemote EMOTE_SHOCK, KRISSHOUSE1F_MOM1, 15
 	spriteface PLAYER, LEFT
 	checkevent EVENT_GAVE_KURT_APRICORNS
 	iffalse UnknownScript_0x7a4f2
-	applymovement $2, MovementData_0x7a5fc
+	applymovement KRISSHOUSE1F_MOM1, MovementData_0x7a5fc
 	jump UnknownScript_0x7a4f6
 
 UnknownScript_0x7a4f2:
-	applymovement $2, MovementData_0x7a5fe
+	applymovement KRISSHOUSE1F_MOM1, MovementData_0x7a5fe
 UnknownScript_0x7a4f6:
 	loadfont
 	writetext UnknownText_0x7a604
@@ -84,16 +91,16 @@
 	jump UnknownScript_0x7a56b
 
 UnknownScript_0x7a55d:
-	applymovement $2, MovementData_0x7a600
+	applymovement KRISSHOUSE1F_MOM1, MovementData_0x7a600
 	jump UnknownScript_0x7a56b
 
 UnknownScript_0x7a564:
-	applymovement $2, MovementData_0x7a602
+	applymovement KRISSHOUSE1F_MOM1, MovementData_0x7a602
 	jump UnknownScript_0x7a56b
 
 UnknownScript_0x7a56b:
 	special RestartMapMusic
-	spriteface $2, LEFT
+	spriteface KRISSHOUSE1F_MOM1, LEFT
 	end
 
 UnknownScript_0x7a572:
@@ -176,7 +183,7 @@
 	writetext NeighborText
 	waitbutton
 	closetext
-	spriteface $6, RIGHT
+	spriteface KRISSHOUSE1F_POKEFAN_F, RIGHT
 	end
 
 TVScript:
--- a/maps/KrissHouse2F.asm
+++ b/maps/KrissHouse2F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const KRISSHOUSE2F_CONSOLE
+	const KRISSHOUSE2F_DOLL_1
+	const KRISSHOUSE2F_DOLL_2
+	const KRISSHOUSE2F_BIG_DOLL
+
 KrissHouse2F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/KrissNeighborsHouse.asm
+++ b/maps/KrissNeighborsHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const KRISSNEIGHBORSHOUSE_COOLTRAINER_F
+	const KRISSNEIGHBORSHOUSE_POKEFAN_F
+
 KrissNeighborsHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/KurtsHouse.asm
+++ b/maps/KurtsHouse.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const KURTSHOUSE_KURT1
+	const KURTSHOUSE_TWIN1
+	const KURTSHOUSE_SLOWPOKE
+	const KURTSHOUSE_KURT2
+	const KURTSHOUSE_TWIN2
+
 KurtsHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -16,17 +23,17 @@
 	iftrue UnknownScript_0x18e177
 	checkflag ENGINE_KURT_MAKING_BALLS
 	iftrue UnknownScript_0x18e16f
-	disappear $5
-	appear $2
-	disappear $6
-	appear $3
+	disappear KURTSHOUSE_KURT2
+	appear KURTSHOUSE_KURT1
+	disappear KURTSHOUSE_TWIN2
+	appear KURTSHOUSE_TWIN1
 	return
 
 UnknownScript_0x18e16f:
-	disappear $2
-	appear $5
-	disappear $3
-	appear $6
+	disappear KURTSHOUSE_KURT1
+	appear KURTSHOUSE_KURT2
+	disappear KURTSHOUSE_TWIN1
+	appear KURTSHOUSE_TWIN2
 UnknownScript_0x18e177:
 	return
 
@@ -46,9 +53,9 @@
 	if_equal UP, .RunAround
 	spriteface PLAYER, DOWN
 	playsound SFX_FLY
-	applymovement $2, MovementData_0x18e466
+	applymovement KURTSHOUSE_KURT1, MovementData_0x18e466
 	playsound SFX_EXIT_BUILDING
-	disappear $2
+	disappear KURTSHOUSE_KURT1
 	waitsfx
 	special RestartMapMusic
 	end
@@ -56,9 +63,9 @@
 .RunAround:
 	spriteface PLAYER, DOWN
 	playsound SFX_FLY
-	applymovement $2, MovementData_0x18e46c
+	applymovement KURTSHOUSE_KURT1, MovementData_0x18e46c
 	playsound SFX_EXIT_BUILDING
-	disappear $2
+	disappear KURTSHOUSE_KURT1
 	waitsfx
 	special RestartMapMusic
 	end
@@ -289,21 +296,21 @@
 	clearevent EVENT_GAVE_GS_BALL_TO_KURT
 	special Special_RotatePalettesRightMusic
 	pause 20
-	showemote EMOTE_SHOCK, $2, 30
+	showemote EMOTE_SHOCK, KURTSHOUSE_KURT1, 30
 	checkcode VAR_FACING
 	if_equal UP, .GSBallRunAround
 	spriteface PLAYER, DOWN
 	playsound SFX_FLY
-	applymovement $2, MovementData_0x18e466
+	applymovement KURTSHOUSE_KURT1, MovementData_0x18e466
 	jump .KurtHasLeftTheBuilding
 
 .GSBallRunAround:
 	spriteface PLAYER, DOWN
 	playsound SFX_FLY
-	applymovement $2, MovementData_0x18e46c
+	applymovement KURTSHOUSE_KURT1, MovementData_0x18e46c
 .KurtHasLeftTheBuilding:
 	playsound SFX_EXIT_BUILDING
-	disappear $2
+	disappear KURTSHOUSE_KURT1
 	clearevent EVENT_AZALEA_TOWN_KURT
 	waitsfx
 	special RestartMapMusic
@@ -321,7 +328,7 @@
 	writetext UnknownText_0x18e7d8
 	waitbutton
 	closetext
-	spriteface $5, UP
+	spriteface KURTSHOUSE_KURT2, UP
 	end
 
 Script_FirstTimeBuggingKurt:
@@ -328,7 +335,7 @@
 	writetext UnknownText_0x18e863
 	waitbutton
 	closetext
-	spriteface $5, UP
+	spriteface KURTSHOUSE_KURT2, UP
 	setevent EVENT_BUGGING_KURT_TOO_MUCH
 	end
 
@@ -335,7 +342,7 @@
 KurtScript_ImCheckingItNow:
 	writetext UnknownText_0x18e934
 	waitbutton
-	spriteface $5, UP
+	spriteface KURTSHOUSE_KURT2, UP
 	writetext UnknownText_0x18e949
 	waitbutton
 	closetext
@@ -391,7 +398,7 @@
 	writetext KurtsGranddaughterHelpText
 	waitbutton
 	closetext
-	spriteface $6, RIGHT
+	spriteface KURTSHOUSE_TWIN2, RIGHT
 	end
 
 .GSBall
@@ -398,7 +405,7 @@
 	writetext KurtsGranddaughterGSBallText
 	waitbutton
 	closetext
-	spriteface $6, RIGHT
+	spriteface KURTSHOUSE_TWIN2, RIGHT
 	end
 
 KurtsGranddaughterFunScript:
--- a/maps/LakeofRage.asm
+++ b/maps/LakeofRage.asm
@@ -1,3 +1,17 @@
+const_value set 2
+	const LAKEOFRAGE_LANCE
+	const LAKEOFRAGE_GRAMPS
+	const LAKEOFRAGE_SUPER_NERD1
+	const LAKEOFRAGE_COOLTRAINER_F1
+	const LAKEOFRAGE_FISHER1
+	const LAKEOFRAGE_FISHER2
+	const LAKEOFRAGE_COOLTRAINER_M
+	const LAKEOFRAGE_COOLTRAINER_F2
+	const LAKEOFRAGE_GYARADOS
+	const LAKEOFRAGE_SUPER_NERD2
+	const LAKEOFRAGE_POKE_BALL1
+	const LAKEOFRAGE_POKE_BALL2
+
 LakeofRage_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -27,11 +41,11 @@
 .Wesley
 	checkcode VAR_WEEKDAY
 	if_equal WEDNESDAY, .WesleyAppears
-	disappear $b
+	disappear LAKEOFRAGE_SUPER_NERD2
 	return
 
 .WesleyAppears
-	appear $b
+	appear LAKEOFRAGE_SUPER_NERD2
 	return
 
 LanceScript_0x70022:
@@ -49,8 +63,8 @@
 	waitbutton
 	closetext
 	playsound SFX_WARP_TO
-	applymovement $2, MovementData_0x70155
-	disappear $2
+	applymovement LAKEOFRAGE_LANCE, MovementData_0x70155
+	disappear LAKEOFRAGE_LANCE
 	clearevent EVENT_MAHOGANY_MART_LANCE_AND_DRAGONITE
 	setevent EVENT_DECIDED_TO_HELP_LANCE
 	domaptrigger MAHOGANY_MART_1F, $1
@@ -81,7 +95,7 @@
 	writecode VAR_BATTLETYPE, BATTLETYPE_SHINY
 	startbattle
 	if_equal $1, UnknownScript_0x7007a
-	disappear $a
+	disappear LAKEOFRAGE_GYARADOS
 UnknownScript_0x7007a:
 	returnafterbattle
 	loadfont
@@ -93,7 +107,7 @@
 	itemnotify
 	closetext
 	dotrigger $0
-	appear $2
+	appear LAKEOFRAGE_LANCE
 	end
 
 GrampsScript_0x7008e:
--- a/maps/LakeofRageHiddenPowerHouse.asm
+++ b/maps/LakeofRageHiddenPowerHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const LAKEOFRAGEHIDDENPOWERHOUSE_FISHER
+
 LakeofRageHiddenPowerHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/LakeofRageMagikarpHouse.asm
+++ b/maps/LakeofRageMagikarpHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const LAKEOFRAGEMAGIKARPHOUSE_FISHING_GURU
+
 LakeofRageMagikarpHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/LancesRoom.asm
+++ b/maps/LancesRoom.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const LANCESROOM_LANCE
+	const LANCESROOM_TEACHER
+	const LANCESROOM_OAK
+
 LancesRoom_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -52,7 +57,7 @@
 	special Special_RotatePalettesRightMusic
 	applymovement PLAYER, MovementData_0x180f3c
 LanceScript_0x180e7b:
-	spriteface $2, LEFT
+	spriteface LANCESROOM_LANCE, LEFT
 	loadfont
 	writetext UnknownText_0x180f67
 	waitbutton
@@ -75,56 +80,56 @@
 	setevent EVENT_LANCES_ROOM_ENTRANCE_CLOSED
 	musicfadeout MUSIC_BEAUTY_ENCOUNTER, $10
 	pause 30
-	showemote EMOTE_SHOCK, $2, 15
-	spriteface $2, DOWN
+	showemote EMOTE_SHOCK, LANCESROOM_LANCE, 15
+	spriteface LANCESROOM_LANCE, DOWN
 	pause 10
 	spriteface PLAYER, DOWN
-	appear $3
-	applymovement $3, MovementData_0x180f41
+	appear LANCESROOM_TEACHER
+	applymovement LANCESROOM_TEACHER, MovementData_0x180f41
 	loadfont
 	writetext UnknownText_0x1811dd
 	waitbutton
 	closetext
-	appear $4
-	applymovement $4, MovementData_0x180f46
-	follow $3, $4
-	applymovement $3, MovementData_0x180f49
+	appear LANCESROOM_OAK
+	applymovement LANCESROOM_OAK, MovementData_0x180f46
+	follow LANCESROOM_TEACHER, LANCESROOM_OAK
+	applymovement LANCESROOM_TEACHER, MovementData_0x180f49
 	stopfollow
-	spriteface $4, UP
-	spriteface $2, LEFT
+	spriteface LANCESROOM_OAK, UP
+	spriteface LANCESROOM_LANCE, LEFT
 	loadfont
 	writetext UnknownText_0x18121b
 	waitbutton
 	closetext
-	applymovement $3, MovementData_0x180f4c
+	applymovement LANCESROOM_TEACHER, MovementData_0x180f4c
 	spriteface PLAYER, LEFT
 	loadfont
 	writetext UnknownText_0x18134b
 	waitbutton
 	closetext
-	applymovement $2, MovementData_0x180f4f
+	applymovement LANCESROOM_LANCE, MovementData_0x180f4f
 	spriteface PLAYER, UP
 	loadfont
 	writetext UnknownText_0x18137b
 	waitbutton
 	closetext
-	follow $2, PLAYER
-	spriteface $3, UP
-	spriteface $4, UP
-	applymovement $2, MovementData_0x180f53
+	follow LANCESROOM_LANCE, PLAYER
+	spriteface LANCESROOM_TEACHER, UP
+	spriteface LANCESROOM_OAK, UP
+	applymovement LANCESROOM_LANCE, MovementData_0x180f53
 	stopfollow
 	playsound SFX_EXIT_BUILDING
-	disappear $2
+	disappear LANCESROOM_LANCE
 	applymovement PLAYER, MovementData_0x180f55
 	playsound SFX_EXIT_BUILDING
 	disappear PLAYER
-	applymovement $3, MovementData_0x180f57
-	showemote EMOTE_SHOCK, $3, 15
+	applymovement LANCESROOM_TEACHER, MovementData_0x180f57
+	showemote EMOTE_SHOCK, LANCESROOM_TEACHER, 15
 	loadfont
 	writetext UnknownText_0x1813c5
 	pause 30
 	closetext
-	applymovement $3, MovementData_0x180f5b
+	applymovement LANCESROOM_TEACHER, MovementData_0x180f5b
 	special FadeOutPalettes
 	pause 15
 	warpfacing UP, HALL_OF_FAME, $4, $d
--- a/maps/LavRadioTower1F.asm
+++ b/maps/LavRadioTower1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const LAVRADIOTOWER1F_RECEPTIONIST
+	const LAVRADIOTOWER1F_OFFICER
+	const LAVRADIOTOWER1F_SUPER_NERD1
+	const LAVRADIOTOWER1F_GENTLEMAN
+	const LAVRADIOTOWER1F_SUPER_NERD2
+
 LavRadioTower1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/LavenderMart.asm
+++ b/maps/LavenderMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const LAVENDERMART_CLERK
+	const LAVENDERMART_POKEFAN_M
+	const LAVENDERMART_ROCKER
+
 LavenderMart_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/LavenderNameRater.asm
+++ b/maps/LavenderNameRater.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const LAVENDERNAMERATER_GENTLEMAN
+
 LavenderNameRater_MapScriptHeader:
 .MapTriggers:
 	db 1
--- a/maps/LavenderPokeCenter1F.asm
+++ b/maps/LavenderPokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const LAVENDERPOKECENTER1F_NURSE
+	const LAVENDERPOKECENTER1F_GENTLEMAN
+	const LAVENDERPOKECENTER1F_TEACHER
+	const LAVENDERPOKECENTER1F_YOUNGSTER
+
 LavenderPokeCenter1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/LavenderPokeCenter2FBeta.asm
+++ b/maps/LavenderPokeCenter2FBeta.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 LavenderPokeCenter2FBeta_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/LavenderTown.asm
+++ b/maps/LavenderTown.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const LAVENDERTOWN_POKEFAN_M
+	const LAVENDERTOWN_TEACHER
+	const LAVENDERTOWN_GRAMPS
+	const LAVENDERTOWN_YOUNGSTER
+
 LavenderTown_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/LavenderTownSpeechHouse.asm
+++ b/maps/LavenderTownSpeechHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const LAVENDERTOWNSPEECHHOUSE_POKEFAN_F
+
 LavenderTownSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/MahoganyGym.asm
+++ b/maps/MahoganyGym.asm
@@ -1,3 +1,12 @@
+const_value set 2
+	const MAHOGANYGYM_PRYCE
+	const MAHOGANYGYM_BUENA1
+	const MAHOGANYGYM_ROCKER1
+	const MAHOGANYGYM_BUENA2
+	const MAHOGANYGYM_ROCKER2
+	const MAHOGANYGYM_ROCKER3
+	const MAHOGANYGYM_GYM_GUY
+
 MahoganyGym_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/MahoganyMart1F.asm
+++ b/maps/MahoganyMart1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const MAHOGANYMART1F_PHARMACIST
+	const MAHOGANYMART1F_BLACK_BELT
+	const MAHOGANYMART1F_LANCE
+	const MAHOGANYMART1F_DRAGON
+	const MAHOGANYMART1F_GRANNY
+
 MahoganyMart1F_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -67,38 +74,38 @@
 	pause 15
 	closetext
 	playsound SFX_TACKLE
-	applymovement $5, MovementData_0x6c3f6
-	applymovement $3, MovementData_0x6c3fb
+	applymovement MAHOGANYMART1F_DRAGON, MovementData_0x6c3f6
+	applymovement MAHOGANYMART1F_BLACK_BELT, MovementData_0x6c3fb
 	pause 15
-	disappear $5
+	disappear MAHOGANYMART1F_DRAGON
 	pause 15
-	applymovement $4, MovementData_0x6c407
+	applymovement MAHOGANYMART1F_LANCE, MovementData_0x6c407
 	loadfont
 	writetext UnknownText_0x6c549
 	waitbutton
 	closetext
-	follow $4, PLAYER
-	applymovement $4, MovementData_0x6c40a
-	applymovement $2, MovementData_0x6c403
-	applymovement $4, MovementData_0x6c40e
+	follow MAHOGANYMART1F_LANCE, PLAYER
+	applymovement MAHOGANYMART1F_LANCE, MovementData_0x6c40a
+	applymovement MAHOGANYMART1F_PHARMACIST, MovementData_0x6c403
+	applymovement MAHOGANYMART1F_LANCE, MovementData_0x6c40e
 	stopfollow
 	loadfont
 	writetext UnknownText_0x6c59e
 	waitbutton
-	showemote EMOTE_SHOCK, $2, 10
+	showemote EMOTE_SHOCK, MAHOGANYMART1F_PHARMACIST, 10
 	playsound SFX_FAINT
 	changeblock $6, $2, $1e
 	reloadmappart
 	closetext
 	setevent EVENT_UNCOVERED_STAIRCASE_IN_MAHOGANY_MART
-	spriteface $4, LEFT
+	spriteface MAHOGANYMART1F_LANCE, LEFT
 	loadfont
 	writetext UnknownText_0x6c5ba
 	waitbutton
 	closetext
-	applymovement $4, MovementData_0x6c412
+	applymovement MAHOGANYMART1F_LANCE, MovementData_0x6c412
 	playsound SFX_EXIT_BUILDING
-	disappear $4
+	disappear MAHOGANYMART1F_LANCE
 	dotrigger $0
 	waitsfx
 	end
--- a/maps/MahoganyPokeCenter1F.asm
+++ b/maps/MahoganyPokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const MAHOGANYPOKECENTER1F_NURSE
+	const MAHOGANYPOKECENTER1F_POKEFAN_M
+	const MAHOGANYPOKECENTER1F_YOUNGSTER
+	const MAHOGANYPOKECENTER1F_COOLTRAINER_F
+
 MahoganyPokeCenter1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/MahoganyRedGyaradosSpeechHouse.asm
+++ b/maps/MahoganyRedGyaradosSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const MAHOGANYREDGYARADOSSPEECHHOUSE_BLACK_BELT
+	const MAHOGANYREDGYARADOSSPEECHHOUSE_TEACHER
+
 MahoganyRedGyaradosSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/MahoganyTown.asm
+++ b/maps/MahoganyTown.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const MAHOGANYTOWN_POKEFAN_M
+	const MAHOGANYTOWN_GRAMPS
+	const MAHOGANYTOWN_FISHER
+	const MAHOGANYTOWN_LASS
+
 MahoganyTown_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -23,14 +29,14 @@
 	return
 
 UnknownScript_0x190013:
-	showemote EMOTE_SHOCK, $2, 15
-	applymovement $2, MovementData_0x1900a9
-	follow PLAYER, $2
+	showemote EMOTE_SHOCK, MAHOGANYTOWN_POKEFAN_M, 15
+	applymovement MAHOGANYTOWN_POKEFAN_M, MovementData_0x1900a9
+	follow PLAYER, MAHOGANYTOWN_POKEFAN_M
 	applymovement PLAYER, MovementData_0x1900a7
 	stopfollow
 	spriteface PLAYER, RIGHT
 	scall UnknownScript_0x19002f
-	applymovement $2, MovementData_0x1900ad
+	applymovement MAHOGANYTOWN_POKEFAN_M, MovementData_0x1900ad
 	end
 
 PokefanMScript_0x19002e:
--- a/maps/ManiasHouse.asm
+++ b/maps/ManiasHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const MANIASHOUSE_ROCKER
+
 ManiasHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/MobileBattleRoom.asm
+++ b/maps/MobileBattleRoom.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 MobileBattleRoom_MapScriptHeader:
 .MapTriggers:
 	db 2
--- a/maps/MobileTradeRoomMobile.asm
+++ b/maps/MobileTradeRoomMobile.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 MobileTradeRoomMobile_MapScriptHeader:
 .MapTriggers:
 	db 2
--- a/maps/MountMoon.asm
+++ b/maps/MountMoon.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const MOUNTMOON_SILVER
+
 MountMoon_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -21,7 +24,7 @@
 	showemote EMOTE_SHOCK, PLAYER, 15
 	special Special_RotatePalettesRightMusic
 	pause 15
-	applymovement $2, MovementData_0x740f9
+	applymovement MOUNTMOON_SILVER, MovementData_0x740f9
 	playmusic MUSIC_RIVAL_ENCOUNTER
 	loadfont
 	writetext UnknownText_0x74105
@@ -63,8 +66,8 @@
 	writetext UnknownText_0x741fa
 	waitbutton
 	closetext
-	applymovement $2, MovementData_0x740fd
-	disappear $2
+	applymovement MOUNTMOON_SILVER, MovementData_0x740fd
+	disappear MOUNTMOON_SILVER
 	dotrigger $1
 	setevent EVENT_BEAT_RIVAL_IN_MT_MOON
 	playmapmusic
--- a/maps/MountMoonGiftShop.asm
+++ b/maps/MountMoonGiftShop.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const MOUNTMOONGIFTSHOP_GRAMPS1
+	const MOUNTMOONGIFTSHOP_GRAMPS2
+	const MOUNTMOONGIFTSHOP_LASS1
+	const MOUNTMOONGIFTSHOP_LASS2
+
 MountMoonGiftShop_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/MountMoonSquare.asm
+++ b/maps/MountMoonSquare.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const MOUNTMOONSQUARE_FAIRY1
+	const MOUNTMOONSQUARE_FAIRY2
+	const MOUNTMOONSQUARE_ROCK
+
 MountMoonSquare_MapScriptHeader:
 .MapTriggers:
 	db 1
@@ -22,7 +27,7 @@
 	return
 
 UnknownScript_0x77097:
-	disappear $4
+	disappear MOUNTMOONSQUARE_ROCK
 	return
 
 UnknownScript_0x7709a:
@@ -32,41 +37,41 @@
 	if_not_equal MONDAY, .NoDancing
 	checknite
 	iffalse .NoDancing
-	appear $2
-	appear $3
+	appear MOUNTMOONSQUARE_FAIRY1
+	appear MOUNTMOONSQUARE_FAIRY2
 	applymovement PLAYER, MovementData_0x77121
 	pause 15
-	appear $4
-	spriteface $2, RIGHT
+	appear MOUNTMOONSQUARE_ROCK
+	spriteface MOUNTMOONSQUARE_FAIRY1, RIGHT
 	cry CLEFAIRY
 	waitsfx
 	pause 30
-	follow $2, $3
+	follow MOUNTMOONSQUARE_FAIRY1, MOUNTMOONSQUARE_FAIRY2
 	cry CLEFAIRY
-	applymovement $2, MovementData_0x77123
+	applymovement MOUNTMOONSQUARE_FAIRY1, MovementData_0x77123
 	cry CLEFAIRY
-	applymovement $2, MovementData_0x77126
+	applymovement MOUNTMOONSQUARE_FAIRY1, MovementData_0x77126
 	cry CLEFAIRY
-	applymovement $2, MovementData_0x77128
+	applymovement MOUNTMOONSQUARE_FAIRY1, MovementData_0x77128
 	cry CLEFAIRY
-	applymovement $2, MovementData_0x7712b
+	applymovement MOUNTMOONSQUARE_FAIRY1, MovementData_0x7712b
 	cry CLEFAIRY
-	applymovement $2, MovementData_0x7712d
+	applymovement MOUNTMOONSQUARE_FAIRY1, MovementData_0x7712d
 	stopfollow
-	applymovement $3, MovementData_0x77130
-	follow $2, $3
-	applymovement $2, MovementData_0x77132
+	applymovement MOUNTMOONSQUARE_FAIRY2, MovementData_0x77130
+	follow MOUNTMOONSQUARE_FAIRY1, MOUNTMOONSQUARE_FAIRY2
+	applymovement MOUNTMOONSQUARE_FAIRY1, MovementData_0x77132
 	stopfollow
-	spriteface $2, DOWN
+	spriteface MOUNTMOONSQUARE_FAIRY1, DOWN
 	pause 10
-	showemote EMOTE_SHOCK, $2, 15
-	spriteface $2, DOWN
+	showemote EMOTE_SHOCK, MOUNTMOONSQUARE_FAIRY1, 15
+	spriteface MOUNTMOONSQUARE_FAIRY1, DOWN
 	cry CLEFAIRY
 	pause 15
-	follow $2, $3
-	applymovement $2, MovementData_0x77134
-	disappear $2
-	disappear $3
+	follow MOUNTMOONSQUARE_FAIRY1, MOUNTMOONSQUARE_FAIRY2
+	applymovement MOUNTMOONSQUARE_FAIRY1, MovementData_0x77134
+	disappear MOUNTMOONSQUARE_FAIRY1
+	disappear MOUNTMOONSQUARE_FAIRY2
 	stopfollow
 	clearevent EVENT_MOUNT_MOON_SQUARE_HIDDEN_MOON_STONE
 	setflag ENGINE_MT_MOON_SQUARE_CLEFAIRY
--- a/maps/MountMortar1FInside.asm
+++ b/maps/MountMortar1FInside.asm
@@ -1,3 +1,15 @@
+const_value set 2
+	const MOUNTMORTAR1FINSIDE_BOULDER
+	const MOUNTMORTAR1FINSIDE_POKE_BALL1
+	const MOUNTMORTAR1FINSIDE_POKE_BALL2
+	const MOUNTMORTAR1FINSIDE_POKE_BALL3
+	const MOUNTMORTAR1FINSIDE_POKE_BALL4
+	const MOUNTMORTAR1FINSIDE_POKE_BALL5
+	const MOUNTMORTAR1FINSIDE_SUPER_NERD1
+	const MOUNTMORTAR1FINSIDE_SUPER_NERD2
+	const MOUNTMORTAR1FINSIDE_POKE_BALL6
+	const MOUNTMORTAR1FINSIDE_POKE_BALL7
+
 MountMortar1FInside_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/MountMortar1FOutside.asm
+++ b/maps/MountMortar1FOutside.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const MOUNTMORTAR1FOUTSIDE_POKE_BALL1
+	const MOUNTMORTAR1FOUTSIDE_POKE_BALL2
+
 MountMortar1FOutside_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/MountMortar2FInside.asm
+++ b/maps/MountMortar2FInside.asm
@@ -1,3 +1,12 @@
+const_value set 2
+	const MOUNTMORTAR2FINSIDE_POKE_BALL1
+	const MOUNTMORTAR2FINSIDE_POKE_BALL2
+	const MOUNTMORTAR2FINSIDE_POKE_BALL3
+	const MOUNTMORTAR2FINSIDE_POKE_BALL4
+	const MOUNTMORTAR2FINSIDE_POKE_BALL5
+	const MOUNTMORTAR2FINSIDE_POKE_BALL6
+	const MOUNTMORTAR2FINSIDE_SUPER_NERD
+
 MountMortar2FInside_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/MountMortarB1F.asm
+++ b/maps/MountMortarB1F.asm
@@ -1,3 +1,12 @@
+const_value set 2
+	const MOUNTMORTARB1F_POKE_BALL1
+	const MOUNTMORTARB1F_POKE_BALL2
+	const MOUNTMORTARB1F_BOULDER
+	const MOUNTMORTARB1F_BLACK_BELT
+	const MOUNTMORTARB1F_POKE_BALL3
+	const MOUNTMORTARB1F_POKE_BALL4
+	const MOUNTMORTARB1F_POKE_BALL5
+
 MountMortarB1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/MoveDeletersHouse.asm
+++ b/maps/MoveDeletersHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const MOVEDELETERSHOUSE_SUPER_NERD
+
 MoveDeletersHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/MrFujisHouse.asm
+++ b/maps/MrFujisHouse.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const MRFUJISHOUSE_SUPER_NERD
+	const MRFUJISHOUSE_LASS
+	const MRFUJISHOUSE_RHYDON
+	const MRFUJISHOUSE_GROWLITHE
+	const MRFUJISHOUSE_MOLTRES
+
 MrFujisHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/MrPokemonsHouse.asm
+++ b/maps/MrPokemonsHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const MRPOKEMONSHOUSE_GENTLEMAN
+	const MRPOKEMONSHOUSE_OAK
+
 MrPokemonsHouse_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -17,8 +21,8 @@
 	end
 
 UnknownScript_0x196e56:
-	showemote EMOTE_SHOCK, $2, 15
-	spriteface $2, DOWN
+	showemote EMOTE_SHOCK, MRPOKEMONSHOUSE_GENTLEMAN, 15
+	spriteface MRPOKEMONSHOUSE_GENTLEMAN, DOWN
 	loadfont
 	writetext UnknownText_0x196f66
 	waitbutton
@@ -37,11 +41,11 @@
 	blackoutmod CHERRYGROVE_CITY
 	writetext UnknownText_0x196feb
 	keeptextopen
-	spriteface $2, RIGHT
+	spriteface MRPOKEMONSHOUSE_GENTLEMAN, RIGHT
 	writetext UnknownText_0x197092
 	keeptextopen
-	spriteface $2, DOWN
-	spriteface $3, LEFT
+	spriteface MRPOKEMONSHOUSE_GENTLEMAN, DOWN
+	spriteface MRPOKEMONSHOUSE_OAK, LEFT
 	writetext UnknownText_0x1970b7
 	waitbutton
 	closetext
@@ -83,7 +87,7 @@
 
 UnknownScript_0x196ec9:
 	playmusic MUSIC_PROF_OAK
-	applymovement $3, MovementData_0x196f5d
+	applymovement MRPOKEMONSHOUSE_OAK, MovementData_0x196f5d
 	spriteface PLAYER, RIGHT
 	loadfont
 	writetext UnknownText_0x197185
@@ -97,9 +101,9 @@
 	waitbutton
 	closetext
 	spriteface PLAYER, DOWN
-	applymovement $3, MovementData_0x196f61
+	applymovement MRPOKEMONSHOUSE_OAK, MovementData_0x196f61
 	playsound SFX_EXIT_BUILDING
-	disappear $3
+	disappear MRPOKEMONSHOUSE_OAK
 	waitsfx
 	special RestartMapMusic
 	pause 15
--- a/maps/MrPsychicsHouse.asm
+++ b/maps/MrPsychicsHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const MRPSYCHICSHOUSE_FISHING_GURU
+
 MrPsychicsHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/NationalPark.asm
+++ b/maps/NationalPark.asm
@@ -1,3 +1,19 @@
+const_value set 2
+	const NATIONALPARK_LASS1
+	const NATIONALPARK_POKEFAN_F1
+	const NATIONALPARK_TEACHER1
+	const NATIONALPARK_YOUNGSTER1
+	const NATIONALPARK_YOUNGSTER2
+	const NATIONALPARK_TEACHER2
+	const NATIONALPARK_GROWLITHE
+	const NATIONALPARK_YOUNGSTER3
+	const NATIONALPARK_POKEFAN_F2
+	const NATIONALPARK_POKEFAN_M
+	const NATIONALPARK_LASS2
+	const NATIONALPARK_POKE_BALL1
+	const NATIONALPARK_GAMEBOY_KID
+	const NATIONALPARK_POKE_BALL2
+
 NationalPark_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -52,7 +68,7 @@
 	writetext UnknownText_0x5c42a
 	waitbutton
 	closetext
-	spriteface $e, DOWN
+	spriteface NATIONALPARK_GAMEBOY_KID, DOWN
 	end
 
 TrainerSchoolboyJack1:
--- a/maps/NationalParkBugContest.asm
+++ b/maps/NationalParkBugContest.asm
@@ -1,3 +1,17 @@
+const_value set 2
+	const NATIONALPARKBUGCONTEST_YOUNGSTER1
+	const NATIONALPARKBUGCONTEST_YOUNGSTER2
+	const NATIONALPARKBUGCONTEST_ROCKER
+	const NATIONALPARKBUGCONTEST_POKEFAN_M
+	const NATIONALPARKBUGCONTEST_YOUNGSTER3
+	const NATIONALPARKBUGCONTEST_YOUNGSTER4
+	const NATIONALPARKBUGCONTEST_LASS
+	const NATIONALPARKBUGCONTEST_YOUNGSTER5
+	const NATIONALPARKBUGCONTEST_YOUNGSTER6
+	const NATIONALPARKBUGCONTEST_YOUNGSTER7
+	const NATIONALPARKBUGCONTEST_POKE_BALL1
+	const NATIONALPARKBUGCONTEST_POKE_BALL2
+
 NationalParkBugContest_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/NewBarkTown.asm
+++ b/maps/NewBarkTown.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const NEWBARKTOWN_TEACHER
+	const NEWBARKTOWN_FISHER
+	const NEWBARKTOWN_SILVER
+
 NewBarkTown_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -25,19 +30,19 @@
 
 UnknownScript_0x1a8016:
 	playmusic MUSIC_MOM
-	spriteface $2, LEFT
+	spriteface NEWBARKTOWN_TEACHER, LEFT
 	loadfont
 	writetext UnknownText_0x1a8134
 	waitbutton
 	closetext
 	spriteface PLAYER, RIGHT
-	applymovement $2, MovementData_0x1a80d4
+	applymovement NEWBARKTOWN_TEACHER, MovementData_0x1a80d4
 	loadfont
 	writetext UnknownText_0x1a813e
 	waitbutton
 	closetext
-	follow $2, PLAYER
-	applymovement $2, MovementData_0x1a80e0
+	follow NEWBARKTOWN_TEACHER, PLAYER
+	applymovement NEWBARKTOWN_TEACHER, MovementData_0x1a80e0
 	stopfollow
 	loadfont
 	writetext UnknownText_0x1a815e
@@ -48,20 +53,20 @@
 
 UnknownScript_0x1a8041:
 	playmusic MUSIC_MOM
-	spriteface $2, LEFT
+	spriteface NEWBARKTOWN_TEACHER, LEFT
 	loadfont
 	writetext UnknownText_0x1a8134
 	waitbutton
 	closetext
 	spriteface PLAYER, RIGHT
-	applymovement $2, MovementData_0x1a80d9
+	applymovement NEWBARKTOWN_TEACHER, MovementData_0x1a80d9
 	spriteface PLAYER, UP
 	loadfont
 	writetext UnknownText_0x1a813e
 	waitbutton
 	closetext
-	follow $2, PLAYER
-	applymovement $2, MovementData_0x1a80e6
+	follow NEWBARKTOWN_TEACHER, PLAYER
+	applymovement NEWBARKTOWN_TEACHER, MovementData_0x1a80e6
 	stopfollow
 	loadfont
 	writetext UnknownText_0x1a815e
@@ -110,20 +115,20 @@
 	writetext UnknownText_0x1a82a6
 	waitbutton
 	closetext
-	spriteface $4, LEFT
+	spriteface NEWBARKTOWN_SILVER, LEFT
 	loadfont
 	writetext UnknownText_0x1a82cd
 	waitbutton
 	closetext
-	follow PLAYER, $4
+	follow PLAYER, NEWBARKTOWN_SILVER
 	applymovement PLAYER, MovementData_0x1a80ed
 	stopfollow
 	pause 5
-	spriteface $4, DOWN
+	spriteface NEWBARKTOWN_SILVER, DOWN
 	pause 5
 	playsound SFX_TACKLE
 	applymovement PLAYER, MovementData_0x1a80f0
-	applymovement $4, MovementData_0x1a80f5
+	applymovement NEWBARKTOWN_SILVER, MovementData_0x1a80f5
 	end
 
 MapNewBarkTownSignpost0Script:
--- a/maps/OaksLab.asm
+++ b/maps/OaksLab.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const OAKSLAB_OAK
+	const OAKSLAB_SCIENTIST1
+	const OAKSLAB_SCIENTIST2
+	const OAKSLAB_SCIENTIST3
+
 OaksLab_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/OlivineCafe.asm
+++ b/maps/OlivineCafe.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const OLIVINECAFE_SAILOR1
+	const OLIVINECAFE_FISHING_GURU
+	const OLIVINECAFE_SAILOR2
+
 OlivineCafe_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/OlivineCity.asm
+++ b/maps/OlivineCity.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const OLIVINECITY_SAILOR1
+	const OLIVINECITY_STANDING_YOUNGSTER
+	const OLIVINECITY_SAILOR2
+	const OLIVINECITY_OLIVINE_RIVAL
+
 OlivineCity_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -28,9 +34,9 @@
 	special Special_RotatePalettesRightMusic
 	pause 15
 	playsound SFX_ENTER_DOOR
-	appear $5
+	appear OLIVINECITY_OLIVINE_RIVAL
 	waitsfx
-	applymovement $5, MovementData_0x1a88d2
+	applymovement OLIVINECITY_OLIVINE_RIVAL, MovementData_0x1a88d2
 	playmusic MUSIC_RIVAL_ENCOUNTER
 	loadfont
 	writetext UnknownText_0x1a88fa
@@ -38,9 +44,9 @@
 	closetext
 	applymovement PLAYER, MovementData_0x1a88f4
 	spriteface PLAYER, RIGHT
-	applymovement $5, MovementData_0x1a88db
+	applymovement OLIVINECITY_OLIVINE_RIVAL, MovementData_0x1a88db
 	dotrigger $1
-	disappear $5
+	disappear OLIVINECITY_OLIVINE_RIVAL
 	special RestartMapMusic
 	variablesprite SPRITE_OLIVINE_RIVAL, SPRITE_SWIMMER_GUY
 	special RunCallback_04
@@ -52,9 +58,9 @@
 	special Special_RotatePalettesRightMusic
 	pause 15
 	playsound SFX_ENTER_DOOR
-	appear $5
+	appear OLIVINECITY_OLIVINE_RIVAL
 	waitsfx
-	applymovement $5, MovementData_0x1a88d6
+	applymovement OLIVINECITY_OLIVINE_RIVAL, MovementData_0x1a88d6
 	playmusic MUSIC_RIVAL_ENCOUNTER
 	loadfont
 	writetext UnknownText_0x1a88fa
@@ -62,8 +68,8 @@
 	closetext
 	applymovement PLAYER, MovementData_0x1a88f7
 	spriteface PLAYER, RIGHT
-	applymovement $5, MovementData_0x1a88e8
-	disappear $5
+	applymovement OLIVINECITY_OLIVINE_RIVAL, MovementData_0x1a88e8
+	disappear OLIVINECITY_OLIVINE_RIVAL
 	dotrigger $1
 	special RestartMapMusic
 	variablesprite SPRITE_OLIVINE_RIVAL, SPRITE_SWIMMER_GUY
--- a/maps/OlivineGoodRodHouse.asm
+++ b/maps/OlivineGoodRodHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const OLIVINEGOODRODHOUSE_FISHING_GURU
+
 OlivineGoodRodHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/OlivineGym.asm
+++ b/maps/OlivineGym.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const OLIVINEGYM_JASMINE
+	const OLIVINEGYM_GYM_GUY
+
 OlivineGym_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/OlivineHouseBeta.asm
+++ b/maps/OlivineHouseBeta.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const OLIVINEHOUSEBETA_TEACHER
+	const OLIVINEHOUSEBETA_RHYDON
+
 OlivineHouseBeta_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/OlivineLighthouse1F.asm
+++ b/maps/OlivineLighthouse1F.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const OLIVINELIGHTHOUSE1F_SAILOR
+	const OLIVINELIGHTHOUSE1F_POKEFAN_F
+
 OlivineLighthouse1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/OlivineLighthouse2F.asm
+++ b/maps/OlivineLighthouse2F.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const OLIVINELIGHTHOUSE2F_SAILOR
+	const OLIVINELIGHTHOUSE2F_GENTLEMAN
+
 OlivineLighthouse2F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/OlivineLighthouse3F.asm
+++ b/maps/OlivineLighthouse3F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const OLIVINELIGHTHOUSE3F_SAILOR
+	const OLIVINELIGHTHOUSE3F_GENTLEMAN
+	const OLIVINELIGHTHOUSE3F_YOUNGSTER
+	const OLIVINELIGHTHOUSE3F_POKE_BALL
+
 OlivineLighthouse3F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/OlivineLighthouse4F.asm
+++ b/maps/OlivineLighthouse4F.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const OLIVINELIGHTHOUSE4F_SAILOR
+	const OLIVINELIGHTHOUSE4F_LASS
+
 OlivineLighthouse4F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/OlivineLighthouse5F.asm
+++ b/maps/OlivineLighthouse5F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const OLIVINELIGHTHOUSE5F_SAILOR
+	const OLIVINELIGHTHOUSE5F_YOUNGSTER
+	const OLIVINELIGHTHOUSE5F_POKE_BALL1
+	const OLIVINELIGHTHOUSE5F_POKE_BALL2
+	const OLIVINELIGHTHOUSE5F_POKE_BALL3
+
 OlivineLighthouse5F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/OlivineLighthouse6F.asm
+++ b/maps/OlivineLighthouse6F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const OLIVINELIGHTHOUSE6F_JASMINE
+	const OLIVINELIGHTHOUSE6F_MONSTER
+	const OLIVINELIGHTHOUSE6F_POKE_BALL
+
 OlivineLighthouse6F_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -31,9 +36,9 @@
 	writetext UnknownText_0x60dea
 	waitbutton
 	closetext
-	spriteface $2, RIGHT
+	spriteface OLIVINELIGHTHOUSE6F_JASMINE, RIGHT
 	pause 15
-	spriteface $3, LEFT
+	spriteface OLIVINELIGHTHOUSE6F_MONSTER, LEFT
 	loadfont
 	playmusic MUSIC_HEAL
 	writetext UnknownText_0x60e44
@@ -49,13 +54,13 @@
 	writetext UnknownText_0x60f3d
 	waitbutton
 	closetext
-	spriteface $3, RIGHT
+	spriteface OLIVINELIGHTHOUSE6F_MONSTER, RIGHT
 	pause 10
-	spriteface $3, LEFT
+	spriteface OLIVINELIGHTHOUSE6F_MONSTER, LEFT
 	pause 10
-	spriteface $3, RIGHT
+	spriteface OLIVINELIGHTHOUSE6F_MONSTER, RIGHT
 	pause 10
-	spriteface $3, LEFT
+	spriteface OLIVINELIGHTHOUSE6F_MONSTER, LEFT
 	pause 10
 	faceplayer
 	loadfont
@@ -67,18 +72,18 @@
 	checkcode VAR_FACING
 	if_equal $0, UnknownScript_0x60c17
 	if_equal $3, UnknownScript_0x60c1e
-	applymovement $2, MovementData_0x60c68
-	disappear $2
+	applymovement OLIVINELIGHTHOUSE6F_JASMINE, MovementData_0x60c68
+	disappear OLIVINELIGHTHOUSE6F_JASMINE
 	end
 
 UnknownScript_0x60c17:
-	applymovement $2, MovementData_0x60c70
-	disappear $2
+	applymovement OLIVINELIGHTHOUSE6F_JASMINE, MovementData_0x60c70
+	disappear OLIVINELIGHTHOUSE6F_JASMINE
 	end
 
 UnknownScript_0x60c1e:
-	applymovement $2, MovementData_0x60c79
-	disappear $2
+	applymovement OLIVINELIGHTHOUSE6F_JASMINE, MovementData_0x60c79
+	disappear OLIVINELIGHTHOUSE6F_JASMINE
 	end
 
 UnknownScript_0x60c25:
@@ -85,9 +90,9 @@
 	writetext UnknownText_0x60edf
 	waitbutton
 	closetext
-	spriteface $2, RIGHT
+	spriteface OLIVINELIGHTHOUSE6F_JASMINE, RIGHT
 	pause 15
-	spriteface $3, LEFT
+	spriteface OLIVINELIGHTHOUSE6F_MONSTER, LEFT
 	loadfont
 	writetext UnknownText_0x60ef1
 	waitbutton
--- a/maps/OlivineMart.asm
+++ b/maps/OlivineMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const OLIVINEMART_CLERK
+	const OLIVINEMART_COOLTRAINER_F
+	const OLIVINEMART_LASS
+
 OlivineMart_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/OlivinePokeCenter1F.asm
+++ b/maps/OlivinePokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const OLIVINEPOKECENTER1F_NURSE
+	const OLIVINEPOKECENTER1F_FISHING_GURU
+	const OLIVINEPOKECENTER1F_FISHER
+	const OLIVINEPOKECENTER1F_TEACHER
+
 OlivinePokeCenter1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/OlivinePort.asm
+++ b/maps/OlivinePort.asm
@@ -1,3 +1,12 @@
+const_value set 2
+	const OLIVINEPORT_SAILOR1
+	const OLIVINEPORT_SAILOR2
+	const OLIVINEPORT_SAILOR3
+	const OLIVINEPORT_FISHING_GURU1
+	const OLIVINEPORT_FISHING_GURU2
+	const OLIVINEPORT_YOUNGSTER
+	const OLIVINEPORT_COOLTRAINER_F
+
 OlivinePort_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -18,7 +27,7 @@
 
 UnknownScript_0x748b1:
 	applymovement PLAYER, MovementData_0x74a32
-	appear $2
+	appear OLIVINEPORT_SAILOR1
 	dotrigger $0
 	setevent EVENT_GAVE_KURT_APRICORNS
 	blackoutmod OLIVINE_CITY
@@ -32,10 +41,10 @@
 	writetext UnknownText_0x74a55
 	waitbutton
 	closetext
-	spriteface $2, DOWN
+	spriteface OLIVINEPORT_SAILOR1, DOWN
 	pause 10
 	playsound SFX_EXIT_BUILDING
-	disappear $2
+	disappear OLIVINEPORT_SAILOR1
 	waitsfx
 	applymovement PLAYER, MovementData_0x74a30
 	playsound SFX_EXIT_BUILDING
@@ -56,7 +65,7 @@
 	clearevent EVENT_BEAT_BLACKBELT_WAI
 UnknownScript_0x7490a:
 	clearevent EVENT_FAST_SHIP_DESTINATION_OLIVINE
-	appear $2
+	appear OLIVINEPORT_SAILOR1
 	domaptrigger FAST_SHIP_1F, $1
 	warp FAST_SHIP_1F, $19, $1
 	end
@@ -68,7 +77,7 @@
 	end
 
 UnknownScript_0x7491f:
-	spriteface $4, RIGHT
+	spriteface OLIVINEPORT_SAILOR3, RIGHT
 	checkevent EVENT_GAVE_KURT_APRICORNS
 	iftrue UnknownScript_0x7498b
 	checkevent EVENT_RECEIVED_BALLS_FROM_KURT
@@ -196,7 +205,7 @@
 	writetext UnknownText_0x74bf4
 	waitbutton
 	closetext
-	spriteface $5, UP
+	spriteface OLIVINEPORT_FISHING_GURU1, UP
 	end
 
 FishingGuruScript_0x74a0c:
@@ -205,7 +214,7 @@
 	writetext UnknownText_0x74c35
 	waitbutton
 	closetext
-	spriteface $6, UP
+	spriteface OLIVINEPORT_FISHING_GURU2, UP
 	end
 
 YoungsterScript_0x74a17:
@@ -214,7 +223,7 @@
 	writetext UnknownText_0x74c76
 	waitbutton
 	closetext
-	spriteface $7, DOWN
+	spriteface OLIVINEPORT_YOUNGSTER, DOWN
 	end
 
 CooltrainerFScript_0x74a22:
@@ -223,7 +232,7 @@
 	writetext UnknownText_0x74ca2
 	waitbutton
 	closetext
-	spriteface $8, DOWN
+	spriteface OLIVINEPORT_COOLTRAINER_F, DOWN
 	end
 
 MapOlivinePortSignpostItem0:
--- a/maps/OlivinePortPassage.asm
+++ b/maps/OlivinePortPassage.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const OLIVINEPORTPASSAGE_POKEFAN_M
+
 OlivinePortPassage_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/OlivinePunishmentSpeechHouse.asm
+++ b/maps/OlivinePunishmentSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const OLIVINEPUNISHMENTSPEECHHOUSE_POKEFAN_M
+	const OLIVINEPUNISHMENTSPEECHHOUSE_LASS
+
 OlivinePunishmentSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/OlivineVoltorbHouse.asm
+++ b/maps/OlivineVoltorbHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const OLIVINEVOLTORBHOUSE_FISHING_GURU
+
 OlivineVoltorbHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/PalletTown.asm
+++ b/maps/PalletTown.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const PALLETTOWN_TEACHER
+	const PALLETTOWN_FISHER
+
 PalletTown_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/PewterCity.asm
+++ b/maps/PewterCity.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const PEWTERCITY_COOLTRAINER_F
+	const PEWTERCITY_BUG_CATCHER
+	const PEWTERCITY_GRAMPS
+	const PEWTERCITY_FRUIT_TREE1
+	const PEWTERCITY_FRUIT_TREE2
+
 PewterCity_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/PewterGym.asm
+++ b/maps/PewterGym.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const PEWTERGYM_BROCK
+	const PEWTERGYM_YOUNGSTER
+	const PEWTERGYM_GYM_GUY
+
 PewterGym_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/PewterMart.asm
+++ b/maps/PewterMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const PEWTERMART_CLERK
+	const PEWTERMART_YOUNGSTER
+	const PEWTERMART_SUPER_NERD
+
 PewterMart_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/PewterNidoranSpeechHouse.asm
+++ b/maps/PewterNidoranSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const PEWTERNIDORANSPEECHHOUSE_SUPER_NERD
+	const PEWTERNIDORANSPEECHHOUSE_GROWLITHE
+
 PewterNidoranSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/PewterPokeCEnter2FBeta.asm
+++ b/maps/PewterPokeCEnter2FBeta.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 PewterPokeCEnter2FBeta_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/PewterPokeCenter1F.asm
+++ b/maps/PewterPokeCenter1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const PEWTERPOKECENTER1F_NURSE
+	const PEWTERPOKECENTER1F_TEACHER
+	const PEWTERPOKECENTER1F_JIGGLYPUFF
+	const PEWTERPOKECENTER1F_BUG_CATCHER
+	const PEWTERPOKECENTER1F_POKEFAN_M
+
 PewterPokeCenter1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/PewterSnoozeSpeechHouse.asm
+++ b/maps/PewterSnoozeSpeechHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const PEWTERSNOOZESPEECHHOUSE_GRAMPS
+
 PewterSnoozeSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/PokeCenter2F.asm
+++ b/maps/PokeCenter2F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const POKECENTER2F_LINK_RECEPTIONIST1
+	const POKECENTER2F_LINK_RECEPTIONIST2
+	const POKECENTER2F_LINK_RECEPTIONIST3
+	const POKECENTER2F_OFFICER
+
 PokeCenter2F_MapScriptHeader:
 .MapTriggers:
 	db 6
@@ -45,7 +51,7 @@
 	end
 
 PokeCenter2F_AppearMysteryGiftDeliveryGuy:
-	appear $5
+	appear POKECENTER2F_OFFICER
 	setevent EVENT_RECEIVED_BALLS_FROM_KURT
 	end
 
@@ -384,9 +390,9 @@
 	end
 
 Script_WalkOutOfMobileTradeRoom:
-	applymovement $2, MovementData_0x192d0b
+	applymovement POKECENTER2F_LINK_RECEPTIONIST1, MovementData_0x192d0b
 	applymovement PLAYER, MovementData_0x192d0f
-	applymovement $2, MovementData_0x192d14
+	applymovement POKECENTER2F_LINK_RECEPTIONIST1, MovementData_0x192d14
 	end
 
 Script_LeftCableColosseum:
@@ -404,9 +410,9 @@
 	end
 
 Script_WalkOutOfMobileBattleRoom:
-	applymovement $3, MovementData_0x192d0b
+	applymovement POKECENTER2F_LINK_RECEPTIONIST2, MovementData_0x192d0b
 	applymovement PLAYER, MovementData_0x192d0f
-	applymovement $3, MovementData_0x192d14
+	applymovement POKECENTER2F_LINK_RECEPTIONIST2, MovementData_0x192d14
 	end
 
 PokeCenter2F_CheckGender:
@@ -447,13 +453,13 @@
 Script_CleanUpFemaleFlagAfterTrade:
 	checkflag ENGINE_KRIS_IN_CABLE_CLUB
 	iftrue .Female
-	applymovement $2, MovementData_0x192d04
+	applymovement POKECENTER2F_LINK_RECEPTIONIST1, MovementData_0x192d04
 	applymovement PLAYER, MovementData_0x192cf5
-	applymovement $2, MovementData_0x192cfe
+	applymovement POKECENTER2F_LINK_RECEPTIONIST1, MovementData_0x192cfe
 	end
 
 .Female:
-	applymovement $2, MovementData_0x192d04
+	applymovement POKECENTER2F_LINK_RECEPTIONIST1, MovementData_0x192d04
 	applymovement PLAYER, MovementData_0x192d28
 	clearflag ENGINE_KRIS_IN_CABLE_CLUB
 	playsound SFX_TINGLE
@@ -463,19 +469,19 @@
 	applymovement PLAYER, MovementData_0x192d1c
 	special ReplaceKrisSprite
 	applymovement PLAYER, MovementData_0x192d2a
-	applymovement $2, MovementData_0x192cfe
+	applymovement POKECENTER2F_LINK_RECEPTIONIST1, MovementData_0x192cfe
 	end
 
 Script_CleanUpFemaleFlagAfterBattle:
 	checkflag ENGINE_KRIS_IN_CABLE_CLUB
 	iftrue .Female
-	applymovement $3, MovementData_0x192d04
+	applymovement POKECENTER2F_LINK_RECEPTIONIST2, MovementData_0x192d04
 	applymovement PLAYER, MovementData_0x192cf5
-	applymovement $3, MovementData_0x192cfe
+	applymovement POKECENTER2F_LINK_RECEPTIONIST2, MovementData_0x192cfe
 	end
 
 .Female:
-	applymovement $3, MovementData_0x192d04
+	applymovement POKECENTER2F_LINK_RECEPTIONIST2, MovementData_0x192d04
 	applymovement PLAYER, MovementData_0x192d28
 	clearflag ENGINE_KRIS_IN_CABLE_CLUB
 	playsound SFX_TINGLE
@@ -485,7 +491,7 @@
 	applymovement PLAYER, MovementData_0x192d1c
 	special ReplaceKrisSprite
 	applymovement PLAYER, MovementData_0x192d2a
-	applymovement $3, MovementData_0x192cfe
+	applymovement POKECENTER2F_LINK_RECEPTIONIST2, MovementData_0x192cfe
 	end
 
 TimeCapsuleScript_CheckPlayerGender:
@@ -542,7 +548,7 @@
 	writebyte (1 << 7) | (PAL_OW_RED << 4)
 	special Special_SetPlayerPalette
 	applymovement PLAYER, MovementData_0x192d22
-	faceperson PLAYER, $4
+	faceperson PLAYER, POKECENTER2F_LINK_RECEPTIONIST3
 	setflag ENGINE_KRIS_IN_CABLE_CLUB
 	special ReplaceKrisSprite
 	loadfont
@@ -557,13 +563,13 @@
 	special Special_AbortLink
 	checkflag ENGINE_KRIS_IN_CABLE_CLUB
 	iftrue .Female
-	applymovement $4, MovementData_0x192d08
+	applymovement POKECENTER2F_LINK_RECEPTIONIST3, MovementData_0x192d08
 	applymovement PLAYER, MovementData_0x192cf9
-	applymovement $4, MovementData_0x192d01
+	applymovement POKECENTER2F_LINK_RECEPTIONIST3, MovementData_0x192d01
 	jump .Done
 
 .Female:
-	applymovement $4, MovementData_0x192d08
+	applymovement POKECENTER2F_LINK_RECEPTIONIST3, MovementData_0x192d08
 	applymovement PLAYER, MovementData_0x192cfc
 	clearflag ENGINE_KRIS_IN_CABLE_CLUB
 	playsound SFX_TINGLE
@@ -573,7 +579,7 @@
 	applymovement PLAYER, MovementData_0x192d1c
 	special ReplaceKrisSprite
 	applymovement PLAYER, MovementData_0x192cfc
-	applymovement $4, MovementData_0x192d01
+	applymovement POKECENTER2F_LINK_RECEPTIONIST3, MovementData_0x192d01
 .Done:
 	dotrigger $0
 	domaptrigger TIME_CAPSULE, $0
--- a/maps/PokeSeersHouse.asm
+++ b/maps/PokeSeersHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const POKESEERSHOUSE_GRANNY
+
 PokeSeersHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/PokemonFanClub.asm
+++ b/maps/PokemonFanClub.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const POKEMONFANCLUB_GENTLEMAN
+	const POKEMONFANCLUB_RECEPTIONIST
+	const POKEMONFANCLUB_FISHER
+	const POKEMONFANCLUB_TEACHER
+	const POKEMONFANCLUB_FAIRY
+	const POKEMONFANCLUB_ODDISH
+
 PokemonFanClub_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -71,7 +79,7 @@
 	waitsfx
 	giveitem LOST_ITEM
 	iffalse UnknownScript_0x191865
-	disappear $6
+	disappear POKEMONFANCLUB_FAIRY
 	writetext UnknownText_0x191d0a
 	playsound SFX_KEY_ITEM
 	waitsfx
--- a/maps/PowerPlant.asm
+++ b/maps/PowerPlant.asm
@@ -1,3 +1,12 @@
+const_value set 2
+	const POWERPLANT_OFFICER1
+	const POWERPLANT_GYM_GUY1
+	const POWERPLANT_GYM_GUY2
+	const POWERPLANT_OFFICER2
+	const POWERPLANT_GYM_GUY3
+	const POWERPLANT_FISHER
+	const POWERPLANT_GYM_GUY4
+
 PowerPlant_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -17,17 +26,17 @@
 
 UnknownScript_0x188dc5:
 	playsound SFX_CALL
-	showemote EMOTE_SHOCK, $2, 15
+	showemote EMOTE_SHOCK, POWERPLANT_OFFICER1, 15
 	waitsfx
 	pause 30
-	applymovement $2, MovementData_0x188ed5
-	spriteface $3, DOWN
-	spriteface $4, DOWN
+	applymovement POWERPLANT_OFFICER1, MovementData_0x188ed5
+	spriteface POWERPLANT_GYM_GUY1, DOWN
+	spriteface POWERPLANT_GYM_GUY2, DOWN
 	loadfont
 	writetext UnknownText_0x188f22
 	waitbutton
 	closetext
-	spriteface $2, LEFT
+	spriteface POWERPLANT_OFFICER1, LEFT
 	spriteface PLAYER, RIGHT
 	loadfont
 	writetext UnknownText_0x188f7f
@@ -34,7 +43,7 @@
 	waitbutton
 	closetext
 	spriteface PLAYER, DOWN
-	applymovement $2, MovementData_0x188eda
+	applymovement POWERPLANT_OFFICER1, MovementData_0x188eda
 	dotrigger $0
 	end
 
--- a/maps/RadioTower1F.asm
+++ b/maps/RadioTower1F.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const RADIOTOWER1F_RECEPTIONIST
+	const RADIOTOWER1F_LASS
+	const RADIOTOWER1F_YOUNGSTER
+	const RADIOTOWER1F_ROCKET
+	const RADIOTOWER1F_GENTLEMAN
+	const RADIOTOWER1F_COOLTRAINER_F
+
 RadioTower1F_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -36,7 +44,7 @@
 	writetext UnknownText_0x5cf3a
 	keeptextopen
 	closetext
-	applymovement $6, MovementData_0x5ce71
+	applymovement RADIOTOWER1F_GENTLEMAN, MovementData_0x5ce71
 	loadfont
 	writetext UnknownText_0x5cf5a
 	keeptextopen
@@ -47,7 +55,7 @@
 	keeptextopen
 	special Special_CheckForLuckyNumberWinners
 	closetext
-	applymovement $6, MovementData_0x5ce74
+	applymovement RADIOTOWER1F_GENTLEMAN, MovementData_0x5ce74
 	loadfont
 	if_equal 1, .FirstPlace
 	if_equal 2, .SecondPlace
--- a/maps/RadioTower2F.asm
+++ b/maps/RadioTower2F.asm
@@ -1,3 +1,16 @@
+const_value set 2
+	const RADIOTOWER2F_SUPER_NERD
+	const RADIOTOWER2F_TEACHER
+	const RADIOTOWER2F_ROCKET1
+	const RADIOTOWER2F_ROCKET2
+	const RADIOTOWER2F_ROCKET3
+	const RADIOTOWER2F_ROCKET_GIRL
+	const RADIOTOWER2F_BLACK_BELT1
+	const RADIOTOWER2F_BLACK_BELT2
+	const RADIOTOWER2F_JIGGLYPUFF
+	const RADIOTOWER2F_BUENA
+	const RADIOTOWER2F_RECEPTIONIST
+
 RadioTower2F_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -109,7 +122,7 @@
 	writetext UnknownText_0x5de84
 	waitbutton
 	closetext
-	spriteface $b, RIGHT
+	spriteface RADIOTOWER2F_BUENA, RIGHT
 	checkcode VAR_FACING
 	if_not_equal $3, UnknownScript_0x5d7be
 	applymovement PLAYER, MovementData_0x5d921
@@ -119,7 +132,7 @@
 	writetext UnknownText_0x5dedd
 	waitbutton
 	closetext
-	spriteface $b, DOWN
+	spriteface RADIOTOWER2F_BUENA, DOWN
 	refreshscreen $0
 	special SpecialBuenasPassword
 	closetext
@@ -135,7 +148,7 @@
 	playsound SFX_TRANSACTION
 	setflag ENGINE_BUENAS_PASSWORD_2
 	pause 20
-	spriteface $b, RIGHT
+	spriteface RADIOTOWER2F_BUENA, RIGHT
 	loadfont
 	writetext UnknownText_0x5e054
 	waitbutton
@@ -161,7 +174,7 @@
 	checkevent EVENT_BUENA_OFFERED_HER_PHONE_NUMBER
 	iftrue UnknownScript_0x5d8cc
 UnknownScript_0x5d81a:
-	spriteface $b, RIGHT
+	spriteface RADIOTOWER2F_BUENA, RIGHT
 	end
 
 UnknownScript_0x5d81e:
@@ -168,7 +181,7 @@
 	writetext UnknownText_0x5df29
 	waitbutton
 	closetext
-	spriteface $b, RIGHT
+	spriteface RADIOTOWER2F_BUENA, RIGHT
 	special Special_RotatePalettesRightMusic
 	pause 20
 	special RestartMapMusic
@@ -183,7 +196,7 @@
 	checkevent EVENT_BUENA_OFFERED_HER_PHONE_NUMBER
 	iftrue UnknownScript_0x5d8cc
 UnknownScript_0x5d83f:
-	spriteface $b, RIGHT
+	spriteface RADIOTOWER2F_BUENA, RIGHT
 	pause 10
 	end
 
@@ -193,13 +206,13 @@
 	writetext UnknownText_0x5e01c
 	waitbutton
 	closetext
-	spriteface $b, RIGHT
+	spriteface RADIOTOWER2F_BUENA, RIGHT
 	pause 20
 	loadfont
 	writetext UnknownText_0x5e054
 	waitbutton
 	closetext
-	spriteface $b, RIGHT
+	spriteface RADIOTOWER2F_BUENA, RIGHT
 	special Special_RotatePalettesRightMusic
 	pause 20
 	special RestartMapMusic
@@ -220,7 +233,7 @@
 	checkevent EVENT_BUENA_OFFERED_HER_PHONE_NUMBER_NO_BLUE_CARD
 	iftrue UnknownScript_0x5d8cc
 UnknownScript_0x5d87b:
-	spriteface $b, RIGHT
+	spriteface RADIOTOWER2F_BUENA, RIGHT
 	end
 
 UnknownScript_0x5d87f:
@@ -232,7 +245,7 @@
 	checkevent EVENT_BUENA_OFFERED_HER_PHONE_NUMBER_NO_BLUE_CARD
 	iftrue UnknownScript_0x5d8cc
 UnknownScript_0x5d88f:
-	spriteface $b, RIGHT
+	spriteface RADIOTOWER2F_BUENA, RIGHT
 	end
 
 UnknownScript_0x5d893:
@@ -250,13 +263,13 @@
 	checkcellnum PHONE_BUENA
 	iftrue UnknownScript_0x5d8fe
 	pause 20
-	spriteface $b, DOWN
+	spriteface RADIOTOWER2F_BUENA, DOWN
 	pause 15
 	spriteface PLAYER, UP
 	pause 15
 	checkevent EVENT_BUENA_OFFERED_HER_PHONE_NUMBER_NO_BLUE_CARD
 	iftrue UnknownScript_0x5d8cc
-	showemote EMOTE_SHOCK, $b, 15
+	showemote EMOTE_SHOCK, RADIOTOWER2F_BUENA, 15
 	setevent EVENT_BUENA_OFFERED_HER_PHONE_NUMBER_NO_BLUE_CARD
 	setevent EVENT_BUENA_OFFERED_HER_PHONE_NUMBER
 	loadfont
@@ -277,7 +290,7 @@
 	writetext UnknownText_0x5e310
 	waitbutton
 	closetext
-	spriteface $b, RIGHT
+	spriteface RADIOTOWER2F_BUENA, RIGHT
 	addcellnum PHONE_BUENA
 	end
 
@@ -285,7 +298,7 @@
 	writetext UnknownText_0x5e33c
 	waitbutton
 	closetext
-	spriteface $b, RIGHT
+	spriteface RADIOTOWER2F_BUENA, RIGHT
 	end
 
 UnknownScript_0x5d8f6:
@@ -292,7 +305,7 @@
 	writetext UnknownText_0x5e35e
 	waitbutton
 	closetext
-	spriteface $b, RIGHT
+	spriteface RADIOTOWER2F_BUENA, RIGHT
 UnknownScript_0x5d8fe:
 	end
 
--- a/maps/RadioTower3F.asm
+++ b/maps/RadioTower3F.asm
@@ -1,3 +1,12 @@
+const_value set 2
+	const RADIOTOWER3F_SUPER_NERD
+	const RADIOTOWER3F_GYM_GUY
+	const RADIOTOWER3F_COOLTRAINER_F
+	const RADIOTOWER3F_ROCKET1
+	const RADIOTOWER3F_ROCKET2
+	const RADIOTOWER3F_ROCKET3
+	const RADIOTOWER3F_SCIENTIST
+
 RadioTower3F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/RadioTower4F.asm
+++ b/maps/RadioTower4F.asm
@@ -1,3 +1,12 @@
+const_value set 2
+	const RADIOTOWER4F_FISHER
+	const RADIOTOWER4F_TEACHER
+	const RADIOTOWER4F_GROWLITHE
+	const RADIOTOWER4F_ROCKET1
+	const RADIOTOWER4F_ROCKET2
+	const RADIOTOWER4F_ROCKET_GIRL
+	const RADIOTOWER4F_SCIENTIST
+
 RadioTower4F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/RadioTower5F.asm
+++ b/maps/RadioTower5F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const RADIOTOWER5F_GENTLEMAN
+	const RADIOTOWER5F_ROCKET
+	const RADIOTOWER5F_ROCKET_GIRL
+	const RADIOTOWER5F_ROCKER
+	const RADIOTOWER5F_POKE_BALL
+
 RadioTower5F_MapScriptHeader:
 .MapTriggers:
 	db 3
@@ -20,13 +27,13 @@
 	end
 
 UnknownScript_0x60011:
-	spriteface $2, UP
-	showemote EMOTE_SHOCK, $2, 15
+	spriteface RADIOTOWER5F_GENTLEMAN, UP
+	showemote EMOTE_SHOCK, RADIOTOWER5F_GENTLEMAN, 15
 	loadfont
 	writetext UnknownText_0x60128
 	waitbutton
 	closetext
-	applymovement $2, MovementData_0x60109
+	applymovement RADIOTOWER5F_GENTLEMAN, MovementData_0x60109
 	playmusic MUSIC_ROCKET_ENCOUNTER
 	loadfont
 	writetext UnknownText_0x60147
@@ -76,7 +83,7 @@
 UnknownScript_0x6006e:
 	applymovement PLAYER, MovementData_0x60125
 	playmusic MUSIC_ROCKET_ENCOUNTER
-	spriteface $3, RIGHT
+	spriteface RADIOTOWER5F_ROCKET, RIGHT
 	loadfont
 	writetext UnknownText_0x603d1
 	waitbutton
@@ -92,8 +99,8 @@
 	closetext
 	special Special_FadeBlackQuickly
 	special Special_ReloadSpritesNoPalettes
-	disappear $3
-	disappear $4
+	disappear RADIOTOWER5F_ROCKET
+	disappear RADIOTOWER5F_ROCKET_GIRL
 	pause 15
 	special Special_FadeInQuickly
 	setevent EVENT_BEAT_ROCKET_EXECUTIVEM_1
@@ -109,10 +116,10 @@
 	setevent EVENT_BLACKTHORN_CITY_SUPER_NERD_BLOCKS_GYM
 	clearevent EVENT_BLACKTHORN_CITY_SUPER_NERD_DOES_NOT_BLOCK_GYM
 	special PlayMapMusic
-	disappear $2
-	moveperson $2, $c, $0
-	appear $2
-	applymovement $2, MovementData_0x6010f
+	disappear RADIOTOWER5F_GENTLEMAN
+	moveperson RADIOTOWER5F_GENTLEMAN, $c, $0
+	appear RADIOTOWER5F_GENTLEMAN
+	applymovement RADIOTOWER5F_GENTLEMAN, MovementData_0x6010f
 	spriteface PLAYER, RIGHT
 	loadfont
 	writetext UnknownText_0x605b2
@@ -128,9 +135,9 @@
 	jump UnknownScript_0x600f1
 
 UnknownScript_0x600f1:
-	applymovement $2, MovementData_0x6011a
+	applymovement RADIOTOWER5F_GENTLEMAN, MovementData_0x6011a
 	playsound SFX_EXIT_BUILDING
-	disappear $2
+	disappear RADIOTOWER5F_GENTLEMAN
 	end
 
 Ben:
--- a/maps/RedsHouse1F.asm
+++ b/maps/RedsHouse1F.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const REDSHOUSE1F_REDS_MOM
+
 RedsHouse1F_MapScriptHeader:
 .MapTriggers:
 	db 1
--- a/maps/RedsHouse2F.asm
+++ b/maps/RedsHouse2F.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 RedsHouse2F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/RockTunnel1F.asm
+++ b/maps/RockTunnel1F.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const ROCKTUNNEL1F_POKE_BALL1
+	const ROCKTUNNEL1F_POKE_BALL2
+
 RockTunnel1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/RockTunnelB1F.asm
+++ b/maps/RockTunnelB1F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const ROCKTUNNELB1F_POKE_BALL1
+	const ROCKTUNNELB1F_POKE_BALL2
+	const ROCKTUNNELB1F_POKE_BALL3
+
 RockTunnelB1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route1.asm
+++ b/maps/Route1.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const ROUTE1_YOUNGSTER
+	const ROUTE1_COOLTRAINER_F
+	const ROUTE1_FRUIT_TREE
+
 Route1_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route10North.asm
+++ b/maps/Route10North.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 Route10North_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route10PokeCenter1F.asm
+++ b/maps/Route10PokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const ROUTE10POKECENTER1F_NURSE
+	const ROUTE10POKECENTER1F_GENTLEMAN
+	const ROUTE10POKECENTER1F_GYM_GUY
+	const ROUTE10POKECENTER1F_COOLTRAINER_F
+
 Route10PokeCenter1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route10PokeCenter2FBeta.asm
+++ b/maps/Route10PokeCenter2FBeta.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 Route10PokeCenter2FBeta_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route10South.asm
+++ b/maps/Route10South.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const ROUTE10SOUTH_POKEFAN_M1
+	const ROUTE10SOUTH_POKEFAN_M2
+
 Route10South_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route11.asm
+++ b/maps/Route11.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const ROUTE11_YOUNGSTER1
+	const ROUTE11_YOUNGSTER2
+	const ROUTE11_YOUNGSTER3
+	const ROUTE11_YOUNGSTER4
+	const ROUTE11_FRUIT_TREE
+
 Route11_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route12.asm
+++ b/maps/Route12.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const ROUTE12_FISHER1
+	const ROUTE12_FISHER2
+	const ROUTE12_FISHER3
+	const ROUTE12_FISHER4
+	const ROUTE12_POKE_BALL1
+	const ROUTE12_POKE_BALL2
+
 Route12_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route12SuperRodHouse.asm
+++ b/maps/Route12SuperRodHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const ROUTE12SUPERRODHOUSE_FISHING_GURU
+
 Route12SuperRodHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route13.asm
+++ b/maps/Route13.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const ROUTE13_YOUNGSTER1
+	const ROUTE13_YOUNGSTER2
+	const ROUTE13_POKEFAN_M1
+	const ROUTE13_POKEFAN_M2
+	const ROUTE13_POKEFAN_M3
+
 Route13_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route14.asm
+++ b/maps/Route14.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const ROUTE14_POKEFAN_M1
+	const ROUTE14_YOUNGSTER
+	const ROUTE14_POKEFAN_M2
+	const ROUTE14_TEACHER
+
 Route14_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route15.asm
+++ b/maps/Route15.asm
@@ -1,3 +1,12 @@
+const_value set 2
+	const ROUTE15_YOUNGSTER1
+	const ROUTE15_YOUNGSTER2
+	const ROUTE15_YOUNGSTER3
+	const ROUTE15_YOUNGSTER4
+	const ROUTE15_TEACHER1
+	const ROUTE15_TEACHER2
+	const ROUTE15_POKE_BALL
+
 Route15_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route15FuchsiaGate.asm
+++ b/maps/Route15FuchsiaGate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const ROUTE15FUCHSIAGATE_OFFICER
+
 Route15FuchsiaGate_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route16.asm
+++ b/maps/Route16.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 Route16_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route16FuchsiaSpeechHouse.asm
+++ b/maps/Route16FuchsiaSpeechHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const ROUTE16FUCHSIASPEECHHOUSE_SUPER_NERD
+
 Route16FuchsiaSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route16Gate.asm
+++ b/maps/Route16Gate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const ROUTE16GATE_OFFICER
+
 Route16Gate_MapScriptHeader:
 .MapTriggers:
 	db 1
@@ -20,7 +23,7 @@
 	end
 
 UnknownScript_0x733f3:
-	showemote EMOTE_SHOCK, $2, 15
+	showemote EMOTE_SHOCK, ROUTE16GATE_OFFICER, 15
 	spriteface PLAYER, UP
 	loadfont
 	writetext UnknownText_0x73496
--- a/maps/Route17.asm
+++ b/maps/Route17.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const ROUTE17_BIKER1
+	const ROUTE17_BIKER2
+	const ROUTE17_BIKER3
+	const ROUTE17_BIKER4
+
 Route17_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route1718Gate.asm
+++ b/maps/Route1718Gate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const ROUTE1718GATE_OFFICER
+
 Route1718Gate_MapScriptHeader:
 .MapTriggers:
 	db 1
@@ -20,7 +23,7 @@
 	end
 
 UnknownScript_0x73617:
-	showemote EMOTE_SHOCK, $2, 15
+	showemote EMOTE_SHOCK, ROUTE1718GATE_OFFICER, 15
 	spriteface PLAYER, UP
 	loadfont
 	writetext UnknownText_0x7364d
--- a/maps/Route18.asm
+++ b/maps/Route18.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const ROUTE18_YOUNGSTER1
+	const ROUTE18_YOUNGSTER2
+
 Route18_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route19.asm
+++ b/maps/Route19.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const ROUTE19_SWIMMER_GIRL
+	const ROUTE19_SWIMMER_GUY1
+	const ROUTE19_SWIMMER_GUY2
+	const ROUTE19_SWIMMER_GUY3
+	const ROUTE19_FISHER1
+	const ROUTE19_FISHER2
+
 Route19_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route19FuchsiaGate.asm
+++ b/maps/Route19FuchsiaGate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const ROUTE19FUCHSIAGATE_OFFICER
+
 Route19FuchsiaGate_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route2.asm
+++ b/maps/Route2.asm
@@ -1,3 +1,13 @@
+const_value set 2
+	const ROUTE2_BUG_CATCHER1
+	const ROUTE2_BUG_CATCHER2
+	const ROUTE2_BUG_CATCHER3
+	const ROUTE2_POKE_BALL1
+	const ROUTE2_POKE_BALL2
+	const ROUTE2_POKE_BALL3
+	const ROUTE2_POKE_BALL4
+	const ROUTE2_FRUIT_TREE
+
 Route2_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route20.asm
+++ b/maps/Route20.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const ROUTE20_SWIMMER_GIRL1
+	const ROUTE20_SWIMMER_GIRL2
+	const ROUTE20_SWIMMER_GUY
+
 Route20_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route21.asm
+++ b/maps/Route21.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const ROUTE21_SWIMMER_GIRL
+	const ROUTE21_SWIMMER_GUY
+	const ROUTE21_FISHER
+
 Route21_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route22.asm
+++ b/maps/Route22.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 Route22_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route23.asm
+++ b/maps/Route23.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 Route23_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route24.asm
+++ b/maps/Route24.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const ROUTE24_ROCKET
+
 Route24_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -27,7 +30,7 @@
 	closetext
 	special Special_FadeBlackQuickly
 	special Special_ReloadSpritesNoPalettes
-	disappear $2
+	disappear ROUTE24_ROCKET
 	pause 25
 	special Special_FadeInQuickly
 	playmapmusic
--- a/maps/Route25.asm
+++ b/maps/Route25.asm
@@ -1,3 +1,16 @@
+const_value set 2
+	const ROUTE25_MISTY
+	const ROUTE25_COOLTRAINER_M1
+	const ROUTE25_YOUNGSTER1
+	const ROUTE25_LASS1
+	const ROUTE25_YOUNGSTER2
+	const ROUTE25_LASS2
+	const ROUTE25_YOUNGSTER3
+	const ROUTE25_LASS3
+	const ROUTE25_SUPER_NERD
+	const ROUTE25_COOLTRAINER_M2
+	const ROUTE25_POKE_BALL
+
 Route25_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -16,26 +29,26 @@
 	end
 
 UnknownScript_0x19eea0:
-	showemote EMOTE_HEART, $2, 15
+	showemote EMOTE_HEART, ROUTE25_MISTY, 15
 	pause 30
-	showemote EMOTE_SHOCK, $3, 10
-	spriteface $2, DOWN
-	applymovement $3, MovementData_0x19efe8
-	disappear $3
+	showemote EMOTE_SHOCK, ROUTE25_COOLTRAINER_M1, 10
+	spriteface ROUTE25_MISTY, DOWN
+	applymovement ROUTE25_COOLTRAINER_M1, MovementData_0x19efe8
+	disappear ROUTE25_COOLTRAINER_M1
 	pause 15
 	playmusic MUSIC_BEAUTY_ENCOUNTER
-	spriteface $2, UP
+	spriteface ROUTE25_MISTY, UP
 	pause 10
-	applymovement $2, MovementData_0x19efed
+	applymovement ROUTE25_MISTY, MovementData_0x19efed
 	loadfont
 	writetext UnknownText_0x19f006
 	waitbutton
 	closetext
 	spriteface PLAYER, DOWN
-	applymovement $2, MovementData_0x19effa
+	applymovement ROUTE25_MISTY, MovementData_0x19effa
 	spriteface PLAYER, LEFT
-	applymovement $2, MovementData_0x19f000
-	disappear $2
+	applymovement ROUTE25_MISTY, MovementData_0x19f000
+	disappear ROUTE25_MISTY
 	clearevent EVENT_TRAINERS_IN_CERULEAN_GYM
 	dotrigger $0
 	special RestartMapMusic
@@ -42,26 +55,26 @@
 	end
 
 UnknownScript_0x19eee0:
-	showemote EMOTE_HEART, $2, 15
+	showemote EMOTE_HEART, ROUTE25_MISTY, 15
 	pause 30
-	showemote EMOTE_SHOCK, $3, 10
-	spriteface $2, DOWN
-	applymovement $3, MovementData_0x19efea
-	disappear $3
+	showemote EMOTE_SHOCK, ROUTE25_COOLTRAINER_M1, 10
+	spriteface ROUTE25_MISTY, DOWN
+	applymovement ROUTE25_COOLTRAINER_M1, MovementData_0x19efea
+	disappear ROUTE25_COOLTRAINER_M1
 	pause 15
 	playmusic MUSIC_BEAUTY_ENCOUNTER
-	spriteface $2, UP
+	spriteface ROUTE25_MISTY, UP
 	pause 10
-	applymovement $2, MovementData_0x19eff4
+	applymovement ROUTE25_MISTY, MovementData_0x19eff4
 	loadfont
 	writetext UnknownText_0x19f006
 	waitbutton
 	closetext
 	spriteface PLAYER, UP
-	applymovement $2, MovementData_0x19effd
+	applymovement ROUTE25_MISTY, MovementData_0x19effd
 	spriteface PLAYER, LEFT
-	applymovement $2, MovementData_0x19f000
-	disappear $2
+	applymovement ROUTE25_MISTY, MovementData_0x19f000
+	disappear ROUTE25_MISTY
 	clearevent EVENT_TRAINERS_IN_CERULEAN_GYM
 	dotrigger $0
 	special RestartMapMusic
--- a/maps/Route26.asm
+++ b/maps/Route26.asm
@@ -1,3 +1,13 @@
+const_value set 2
+	const ROUTE26_COOLTRAINER_M1
+	const ROUTE26_COOLTRAINER_M2
+	const ROUTE26_COOLTRAINER_F1
+	const ROUTE26_COOLTRAINER_F2
+	const ROUTE26_YOUNGSTER
+	const ROUTE26_FISHER
+	const ROUTE26_FRUIT_TREE
+	const ROUTE26_POKE_BALL
+
 Route26_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route26DayofWeekSiblingsHouse.asm
+++ b/maps/Route26DayofWeekSiblingsHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const ROUTE26DAYOFWEEKSIBLINGSHOUSE_POKEDEX
+
 Route26DayofWeekSiblingsHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route26HealSpeechHouse.asm
+++ b/maps/Route26HealSpeechHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const ROUTE26HEALSPEECHHOUSE_TEACHER
+
 Route26HealSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route27.asm
+++ b/maps/Route27.asm
@@ -1,3 +1,14 @@
+const_value set 2
+	const ROUTE27_COOLTRAINER_M1
+	const ROUTE27_COOLTRAINER_M2
+	const ROUTE27_COOLTRAINER_F1
+	const ROUTE27_COOLTRAINER_F2
+	const ROUTE27_YOUNGSTER1
+	const ROUTE27_YOUNGSTER2
+	const ROUTE27_POKE_BALL1
+	const ROUTE27_POKE_BALL2
+	const ROUTE27_FISHER
+
 Route27_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -16,15 +27,15 @@
 	end
 
 UnknownScript_0x1a0873:
-	spriteface $a, LEFT
-	showemote EMOTE_SHOCK, $a, 15
-	applymovement $a, MovementData_0x1a0a66
+	spriteface ROUTE27_FISHER, LEFT
+	showemote EMOTE_SHOCK, ROUTE27_FISHER, 15
+	applymovement ROUTE27_FISHER, MovementData_0x1a0a66
 	jump UnknownScript_0x1a088c
 
 UnknownScript_0x1a0881:
-	spriteface $a, LEFT
-	showemote EMOTE_SHOCK, $a, 15
-	applymovement $a, MovementData_0x1a0a69
+	spriteface ROUTE27_FISHER, LEFT
+	showemote EMOTE_SHOCK, ROUTE27_FISHER, 15
+	applymovement ROUTE27_FISHER, MovementData_0x1a0a69
 UnknownScript_0x1a088c:
 	spriteface PLAYER, RIGHT
 	loadfont
--- a/maps/Route27SandstormHouse.asm
+++ b/maps/Route27SandstormHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const ROUTE27SANDSTORMHOUSE_GRANNY
+
 Route27SandstormHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route28.asm
+++ b/maps/Route28.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 Route28_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route28FamousSpeechHouse.asm
+++ b/maps/Route28FamousSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const ROUTE28FAMOUSSPEECHHOUSE_COOLTRAINER_F
+	const ROUTE28FAMOUSSPEECHHOUSE_MOLTRES
+
 Route28FamousSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 1
--- a/maps/Route29.asm
+++ b/maps/Route29.asm
@@ -1,3 +1,13 @@
+const_value set 2
+	const ROUTE29_COOLTRAINER_M1
+	const ROUTE29_YOUNGSTER
+	const ROUTE29_TEACHER1
+	const ROUTE29_FRUIT_TREE
+	const ROUTE29_FISHER
+	const ROUTE29_COOLTRAINER_M2
+	const ROUTE29_TEACHER2
+	const ROUTE29_POKE_BALL
+
 Route29_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -24,19 +34,19 @@
 	iftrue .DoesTuscanyAppear
 
 .TuscanyDisappears
-	disappear $8
+	disappear ROUTE29_TEACHER2
 	return
 
 .DoesTuscanyAppear
 	checkcode VAR_WEEKDAY
 	if_not_equal TUESDAY, .TuscanyDisappears
-	appear $8
+	appear ROUTE29_TEACHER2
 	return
 
 UnknownScript_0x1a0f6d:
-	spriteface $2, UP
-	showemote EMOTE_SHOCK, $2, 15
-	applymovement $2, MovementData_0x1a108d
+	spriteface ROUTE29_COOLTRAINER_M1, UP
+	showemote EMOTE_SHOCK, ROUTE29_COOLTRAINER_M1, 15
+	applymovement ROUTE29_COOLTRAINER_M1, MovementData_0x1a108d
 	spriteface PLAYER, LEFT
 	setevent EVENT_DUDE_TALKED_TO_YOU
 	loadfont
@@ -44,12 +54,12 @@
 	yesorno
 	iffalse UnknownScript_0x1a0fd9
 	closetext
-	follow $2, PLAYER
-	applymovement $2, MovementData_0x1a109a
+	follow ROUTE29_COOLTRAINER_M1, PLAYER
+	applymovement ROUTE29_COOLTRAINER_M1, MovementData_0x1a109a
 	stopfollow
 	scriptedpokedata RATTATA, 5
 	catchtutorial BATTLETYPE_TUTORIAL
-	spriteface $2, UP
+	spriteface ROUTE29_COOLTRAINER_M1, UP
 	loadfont
 	writetext UnknownText_0x1a114d
 	waitbutton
@@ -59,9 +69,9 @@
 	end
 
 UnknownScript_0x1a0fa3:
-	spriteface $2, UP
-	showemote EMOTE_SHOCK, $2, 15
-	applymovement $2, MovementData_0x1a1094
+	spriteface ROUTE29_COOLTRAINER_M1, UP
+	showemote EMOTE_SHOCK, ROUTE29_COOLTRAINER_M1, 15
+	applymovement ROUTE29_COOLTRAINER_M1, MovementData_0x1a1094
 	spriteface PLAYER, LEFT
 	setevent EVENT_DUDE_TALKED_TO_YOU
 	loadfont
@@ -69,12 +79,12 @@
 	yesorno
 	iffalse UnknownScript_0x1a0fe5
 	closetext
-	follow $2, PLAYER
-	applymovement $2, MovementData_0x1a10a1
+	follow ROUTE29_COOLTRAINER_M1, PLAYER
+	applymovement ROUTE29_COOLTRAINER_M1, MovementData_0x1a10a1
 	stopfollow
 	scriptedpokedata RATTATA, 5
 	catchtutorial BATTLETYPE_TUTORIAL
-	spriteface $2, UP
+	spriteface ROUTE29_COOLTRAINER_M1, UP
 	loadfont
 	writetext UnknownText_0x1a114d
 	waitbutton
@@ -87,7 +97,7 @@
 	writetext UnknownText_0x1a1197
 	waitbutton
 	closetext
-	applymovement $2, MovementData_0x1a109a
+	applymovement ROUTE29_COOLTRAINER_M1, MovementData_0x1a109a
 	dotrigger $0
 	end
 
@@ -95,7 +105,7 @@
 	writetext UnknownText_0x1a1197
 	waitbutton
 	closetext
-	applymovement $2, MovementData_0x1a10a1
+	applymovement ROUTE29_COOLTRAINER_M1, MovementData_0x1a10a1
 	dotrigger $0
 	end
 
--- a/maps/Route2946Gate.asm
+++ b/maps/Route2946Gate.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const ROUTE2946GATE_OFFICER
+	const ROUTE2946GATE_YOUNGSTER
+
 Route2946Gate_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route2Gate.asm
+++ b/maps/Route2Gate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const ROUTE2GATE_SCIENTIST
+
 Route2Gate_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route2NuggetSpeechHouse.asm
+++ b/maps/Route2NuggetSpeechHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const ROUTE2NUGGETSPEECHHOUSE_FISHER
+
 Route2NuggetSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route3.asm
+++ b/maps/Route3.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const ROUTE3_FISHER1
+	const ROUTE3_YOUNGSTER1
+	const ROUTE3_YOUNGSTER2
+	const ROUTE3_FISHER2
+
 Route3_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route30.asm
+++ b/maps/Route30.asm
@@ -1,3 +1,16 @@
+const_value set 2
+	const ROUTE30_YOUNGSTER1
+	const ROUTE30_YOUNGSTER2
+	const ROUTE30_YOUNGSTER3
+	const ROUTE30_BUG_CATCHER
+	const ROUTE30_YOUNGSTER4
+	const ROUTE30_MONSTER1
+	const ROUTE30_MONSTER2
+	const ROUTE30_FRUIT_TREE1
+	const ROUTE30_FRUIT_TREE2
+	const ROUTE30_COOLTRAINER_F
+	const ROUTE30_POKE_BALL
+
 Route30_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -13,15 +26,15 @@
 	pause 30
 	closetext
 	playsound SFX_TACKLE
-	applymovement $8, MovementData_0x1a17fe
+	applymovement ROUTE30_MONSTER2, MovementData_0x1a17fe
 	loadfont
 	faceplayer
 	writetext UnknownText_0x1a181c
 	waitbutton
-	spriteface $2, UP
+	spriteface ROUTE30_YOUNGSTER1, UP
 	closetext
 	playsound SFX_TACKLE
-	applymovement $7, MovementData_0x1a1802
+	applymovement ROUTE30_MONSTER1, MovementData_0x1a1802
 	special RestartMapMusic
 	end
 
--- a/maps/Route30BerrySpeechHouse.asm
+++ b/maps/Route30BerrySpeechHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const ROUTE30BERRYSPEECHHOUSE_POKEFAN_M
+
 Route30BerrySpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route31.asm
+++ b/maps/Route31.asm
@@ -1,3 +1,12 @@
+const_value set 2
+	const ROUTE31_FISHER
+	const ROUTE31_YOUNGSTER
+	const ROUTE31_BUG_CATCHER
+	const ROUTE31_COOLTRAINER_M
+	const ROUTE31_FRUIT_TREE
+	const ROUTE31_POKE_BALL1
+	const ROUTE31_POKE_BALL2
+
 Route31_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route31VioletGate.asm
+++ b/maps/Route31VioletGate.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const ROUTE31VIOLETGATE_OFFICER
+	const ROUTE31VIOLETGATE_COOLTRAINER_F
+
 Route31VioletGate_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route32.asm
+++ b/maps/Route32.asm
@@ -1,3 +1,19 @@
+const_value set 2
+	const ROUTE32_FISHER1
+	const ROUTE32_FISHER2
+	const ROUTE32_FISHER3
+	const ROUTE32_YOUNGSTER1
+	const ROUTE32_YOUNGSTER2
+	const ROUTE32_YOUNGSTER3
+	const ROUTE32_LASS1
+	const ROUTE32_COOLTRAINER_M
+	const ROUTE32_YOUNGSTER4
+	const ROUTE32_FISHER4
+	const ROUTE32_POKE_BALL1
+	const ROUTE32_FISHER5
+	const ROUTE32_LASS2
+	const ROUTE32_POKE_BALL2
+
 Route32_MapScriptHeader:
 .MapTriggers:
 	db 3
@@ -26,11 +42,11 @@
 FriedaCallback:
 	checkcode VAR_WEEKDAY
 	if_equal FRIDAY, .FriedaAppears
-	disappear $e
+	disappear ROUTE32_LASS2
 	return
 
 .FriedaAppears
-	appear $e
+	appear ROUTE32_LASS2
 	return
 
 CooltrainerMScript_0x19046f:
@@ -76,19 +92,19 @@
 	end
 
 UnknownScript_0x1904ab:
-	spriteface $9, LEFT
+	spriteface ROUTE32_COOLTRAINER_M, LEFT
 	spriteface PLAYER, RIGHT
 	loadfont
 	writetext UnknownText_0x190790
 	waitbutton
 	closetext
-	follow PLAYER, $9
+	follow PLAYER, ROUTE32_COOLTRAINER_M
 	applymovement PLAYER, MovementData_0x190789
 	stopfollow
 	spriteface PLAYER, DOWN
 	scall UnknownScript_0x190470
-	applymovement $9, MovementData_0x19078c
-	applymovement $9, MovementData_0x19078e
+	applymovement ROUTE32_COOLTRAINER_M, MovementData_0x19078c
+	applymovement ROUTE32_COOLTRAINER_M, MovementData_0x19078e
 	end
 
 FisherScript_0x1904ce:
@@ -109,7 +125,7 @@
 	end
 
 UnknownScript_0x1904e9:
-	spriteface $b, DOWN
+	spriteface ROUTE32_FISHER4, DOWN
 	spriteface PLAYER, UP
 	jump UnknownScript_0x1904f3
 
--- a/maps/Route32PokeCenter1F.asm
+++ b/maps/Route32PokeCenter1F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const ROUTE32POKECENTER1F_NURSE
+	const ROUTE32POKECENTER1F_FISHING_GURU
+	const ROUTE32POKECENTER1F_COOLTRAINER_F
+
 Route32PokeCenter1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route32RuinsofAlphGate.asm
+++ b/maps/Route32RuinsofAlphGate.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const ROUTE32RUINSOFALPHGATE_OFFICER
+	const ROUTE32RUINSOFALPHGATE_POKEFAN_M
+	const ROUTE32RUINSOFALPHGATE_YOUNGSTER
+
 Route32RuinsofAlphGate_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route33.asm
+++ b/maps/Route33.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const ROUTE33_POKEFAN_M
+	const ROUTE33_LASS
+	const ROUTE33_FRUIT_TREE
+
 Route33_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route34.asm
+++ b/maps/Route34.asm
@@ -1,3 +1,18 @@
+const_value set 2
+	const ROUTE34_YOUNGSTER1
+	const ROUTE34_YOUNGSTER2
+	const ROUTE34_YOUNGSTER3
+	const ROUTE34_LASS
+	const ROUTE34_OFFICER
+	const ROUTE34_POKEFAN_M
+	const ROUTE34_GRAMPS
+	const ROUTE34_DAYCARE_MON_1
+	const ROUTE34_DAYCARE_MON_2
+	const ROUTE34_COOLTRAINER_F1
+	const ROUTE34_COOLTRAINER_F2
+	const ROUTE34_COOLTRAINER_F3
+	const ROUTE34_POKE_BALL
+
 Route34_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -51,16 +66,16 @@
 	clearflag ENGINE_DAYCARE_MONS_ARE_COMPATIBLE
 	checkcode VAR_FACING
 	if_equal $3, UnknownScript_0x7805b
-	applymovement $8, MovementData_0x78333
+	applymovement ROUTE34_GRAMPS, MovementData_0x78333
 	playsound SFX_ENTER_DOOR
-	disappear $8
+	disappear ROUTE34_GRAMPS
 UnknownScript_0x7805a:
 	end
 
 UnknownScript_0x7805b:
-	applymovement $8, MovementData_0x78337
+	applymovement ROUTE34_GRAMPS, MovementData_0x78337
 	playsound SFX_ENTER_DOOR
-	disappear $8
+	disappear ROUTE34_GRAMPS
 	end
 
 DaycareMon1Script_0x78065:
--- a/maps/Route34IlexForestGate.asm
+++ b/maps/Route34IlexForestGate.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const ROUTE34ILEXFORESTGATE_TEACHER1
+	const ROUTE34ILEXFORESTGATE_BUTTERFREE
+	const ROUTE34ILEXFORESTGATE_LASS
+	const ROUTE34ILEXFORESTGATE_TEACHER2
+
 Route34IlexForestGate_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -12,22 +18,22 @@
 UnknownScript_0x62d2d:
 	checkevent EVENT_FOREST_IS_RESTLESS
 	iffalse UnknownScript_0x62d38
-	disappear $2
-	appear $5
+	disappear ROUTE34ILEXFORESTGATE_TEACHER1
+	appear ROUTE34ILEXFORESTGATE_TEACHER2
 	return
 
 UnknownScript_0x62d38:
-	disappear $5
-	appear $2
+	disappear ROUTE34ILEXFORESTGATE_TEACHER2
+	appear ROUTE34ILEXFORESTGATE_TEACHER1
 	return
 
 UnknownScript_0x62d3d:
 	checkevent EVENT_FOREST_IS_RESTLESS
 	iffalse UnknownScript_0x62d62
-	showemote EMOTE_SHOCK, $5, 20
-	spriteface $5, LEFT
+	showemote EMOTE_SHOCK, ROUTE34ILEXFORESTGATE_TEACHER2, 20
+	spriteface ROUTE34ILEXFORESTGATE_TEACHER2, LEFT
 	spriteface PLAYER, RIGHT
-	follow PLAYER, $5
+	follow PLAYER, ROUTE34ILEXFORESTGATE_TEACHER2
 	applymovement PLAYER, MovementData_0x62d97
 	stopfollow
 	spriteface PLAYER, DOWN
@@ -35,7 +41,7 @@
 	writetext UnknownText_0x62e41
 	waitbutton
 	closetext
-	applymovement $5, MovementData_0x62d9a
+	applymovement ROUTE34ILEXFORESTGATE_TEACHER2, MovementData_0x62d9a
 UnknownScript_0x62d62:
 	end
 
--- a/maps/Route35.asm
+++ b/maps/Route35.asm
@@ -1,3 +1,16 @@
+const_value set 2
+	const ROUTE35_YOUNGSTER1
+	const ROUTE35_YOUNGSTER2
+	const ROUTE35_LASS1
+	const ROUTE35_LASS2
+	const ROUTE35_YOUNGSTER3
+	const ROUTE35_FISHER
+	const ROUTE35_BUG_CATCHER
+	const ROUTE35_SUPER_NERD
+	const ROUTE35_OFFICER
+	const ROUTE35_FRUIT_TREE
+	const ROUTE35_POKE_BALL
+
 Route35_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route35Goldenrodgate.asm
+++ b/maps/Route35Goldenrodgate.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const ROUTE35GOLDENRODGATE_OFFICER
+	const ROUTE35GOLDENRODGATE_POKEFAN_F
+	const ROUTE35GOLDENRODGATE_FISHER
+
 Route35Goldenrodgate_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route35NationalParkgate.asm
+++ b/maps/Route35NationalParkgate.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const ROUTE35NATIONALPARKGATE_OFFICER1
+	const ROUTE35NATIONALPARKGATE_YOUNGSTER
+	const ROUTE35NATIONALPARKGATE_OFFICER2
+
 Route35NationalParkgate_MapScriptHeader:
 .MapTriggers:
 	db 3
@@ -43,20 +48,20 @@
 	if_equal SATURDAY, Route35NationalParkgate_IsContestDay
 	checkflag ENGINE_BUG_CONTEST_TIMER
 	iftrue Route35NationalParkgate_Yes
-	disappear $2
-	appear $3
-	appear $4
+	disappear ROUTE35NATIONALPARKGATE_OFFICER1
+	appear ROUTE35NATIONALPARKGATE_YOUNGSTER
+	appear ROUTE35NATIONALPARKGATE_OFFICER2
 	return
 
 Route35NationalParkgate_IsContestDay:
-	appear $2
-	disappear $3
-	disappear $4
+	appear ROUTE35NATIONALPARKGATE_OFFICER1
+	disappear ROUTE35NATIONALPARKGATE_YOUNGSTER
+	disappear ROUTE35NATIONALPARKGATE_OFFICER2
 	return
 
 Route35NationalParkGate_LeavingContestEarly:
 	applymovement PLAYER, MovementData_0x6a2e2
-	spriteface $2, RIGHT
+	spriteface ROUTE35NATIONALPARKGATE_OFFICER1, RIGHT
 	loadfont
 	checkcode VAR_CONTESTMINUTES
 	addvar $1
--- a/maps/Route36.asm
+++ b/maps/Route36.asm
@@ -1,3 +1,14 @@
+const_value set 2
+	const ROUTE36_YOUNGSTER1
+	const ROUTE36_YOUNGSTER2
+	const ROUTE36_WEIRD_TREE
+	const ROUTE36_LASS1
+	const ROUTE36_FISHER
+	const ROUTE36_FRUIT_TREE
+	const ROUTE36_YOUNGSTER3
+	const ROUTE36_LASS2
+	const ROUTE36_SUICUNE
+
 Route36_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -22,11 +33,11 @@
 ArthurCallback:
 	checkcode VAR_WEEKDAY
 	if_equal THURSDAY, .ArthurAppears
-	disappear $8
+	disappear ROUTE36_YOUNGSTER3
 	return
 
 .ArthurAppears
-	appear $8
+	appear ROUTE36_YOUNGSTER3
 	return
 
 UnknownScript_0x19401b:
@@ -34,8 +45,8 @@
 	pause 15
 	playsound SFX_WARP_FROM
 	spriteface PLAYER, UP
-	applymovement $a, MovementData_0x194262
-	disappear $a
+	applymovement ROUTE36_SUICUNE, MovementData_0x194262
+	disappear ROUTE36_SUICUNE
 	spriteface PLAYER, DOWN
 	pause 10
 	dotrigger $0
@@ -48,7 +59,7 @@
 	iftrue UnknownScript_0x19404a
 	waitsfx
 	playsound SFX_SANDSTORM
-	applymovement $4, MovementData_0x194249
+	applymovement ROUTE36_WEIRD_TREE, MovementData_0x194249
 	end
 
 UnknownScript_0x19404a:
@@ -66,7 +77,7 @@
 	closetext
 	waitsfx
 	playsound SFX_SANDSTORM
-	applymovement $4, MovementData_0x194249
+	applymovement ROUTE36_WEIRD_TREE, MovementData_0x194249
 	loadfont
 	writetext UnknownText_0x1942aa
 	waitbutton
@@ -75,7 +86,7 @@
 	startbattle
 	setevent EVENT_FOUGHT_SUDOWOODO
 	if_equal $2, UnknownScript_0x19407b
-	disappear $4
+	disappear ROUTE36_WEIRD_TREE
 	variablesprite SPRITE_WEIRD_TREE, SPRITE_TWIN
 	returnafterbattle
 	end
@@ -86,8 +97,8 @@
 
 UnknownScript_0x19407b:
 	returnafterbattle
-	applymovement $4, MovementData_0x19424b
-	disappear $4
+	applymovement ROUTE36_WEIRD_TREE, MovementData_0x19424b
+	disappear ROUTE36_WEIRD_TREE
 	variablesprite SPRITE_WEIRD_TREE, SPRITE_TWIN
 	special RunCallback_04
 	special RefreshSprites
@@ -105,13 +116,13 @@
 	clearevent EVENT_FLORIA_AT_FLOWER_SHOP
 	checkcode VAR_FACING
 	if_equal $1, UnknownScript_0x1940ac
-	applymovement $9, MovementData_0x19424e
-	disappear $9
+	applymovement ROUTE36_LASS2, MovementData_0x19424e
+	disappear ROUTE36_LASS2
 	end
 
 UnknownScript_0x1940ac:
-	applymovement $9, MovementData_0x194258
-	disappear $9
+	applymovement ROUTE36_LASS2, MovementData_0x194258
+	disappear ROUTE36_LASS2
 	end
 
 UnknownScript_0x1940b3:
--- a/maps/Route36NationalParkgate.asm
+++ b/maps/Route36NationalParkgate.asm
@@ -1,3 +1,17 @@
+const_value set 2
+	const ROUTE36NATIONALPARKGATE_OFFICER1
+	const ROUTE36NATIONALPARKGATE_YOUNGSTER1
+	const ROUTE36NATIONALPARKGATE_YOUNGSTER2
+	const ROUTE36NATIONALPARKGATE_ROCKER
+	const ROUTE36NATIONALPARKGATE_POKEFAN_M
+	const ROUTE36NATIONALPARKGATE_YOUNGSTER3
+	const ROUTE36NATIONALPARKGATE_YOUNGSTER4
+	const ROUTE36NATIONALPARKGATE_LASS
+	const ROUTE36NATIONALPARKGATE_YOUNGSTER5
+	const ROUTE36NATIONALPARKGATE_YOUNGSTER6
+	const ROUTE36NATIONALPARKGATE_YOUNGSTER7
+	const ROUTE36NATIONALPARKGATE_OFFICER2
+
 Route36NationalParkgate_MapScriptHeader:
 .MapTriggers:
 	db 3
@@ -45,13 +59,13 @@
 	if_equal SATURDAY, .SetContestOfficer
 	checkflag ENGINE_BUG_CONTEST_TIMER
 	iftrue .SetContestOfficer
-	disappear $2
-	appear $d
+	disappear ROUTE36NATIONALPARKGATE_OFFICER1
+	appear ROUTE36NATIONALPARKGATE_OFFICER2
 	return
 
 .SetContestOfficer:
-	appear $2
-	disappear $d
+	appear ROUTE36NATIONALPARKGATE_OFFICER1
+	disappear ROUTE36NATIONALPARKGATE_OFFICER2
 .Return:
 	return
 
@@ -70,8 +84,8 @@
 	special Special_FadeBlackQuickly
 	special Special_ReloadSpritesNoPalettes
 	scall .CopyContestants
-	disappear $2
-	appear $d
+	disappear ROUTE36NATIONALPARKGATE_OFFICER1
+	appear ROUTE36NATIONALPARKGATE_OFFICER2
 	applymovement PLAYER, MovementData_0x6add1
 	pause 15
 	special Special_FadeInQuickly
@@ -91,43 +105,43 @@
 .CopyContestants:
 	checkevent EVENT_BUG_CATCHING_CONTESTANT_1A
 	iftrue .Not1
-	appear $3
+	appear ROUTE36NATIONALPARKGATE_YOUNGSTER1
 .Not1:
 	checkevent EVENT_BUG_CATCHING_CONTESTANT_2A
 	iftrue .Not2
-	appear $4
+	appear ROUTE36NATIONALPARKGATE_YOUNGSTER2
 .Not2:
 	checkevent EVENT_BUG_CATCHING_CONTESTANT_3A
 	iftrue .Not3
-	appear $5
+	appear ROUTE36NATIONALPARKGATE_ROCKER
 .Not3:
 	checkevent EVENT_BUG_CATCHING_CONTESTANT_4A
 	iftrue .Not4
-	appear $6
+	appear ROUTE36NATIONALPARKGATE_POKEFAN_M
 .Not4:
 	checkevent EVENT_BUG_CATCHING_CONTESTANT_5A
 	iftrue .Not5
-	appear $7
+	appear ROUTE36NATIONALPARKGATE_YOUNGSTER3
 .Not5:
 	checkevent EVENT_BUG_CATCHING_CONTESTANT_6A
 	iftrue .Not6
-	appear $8
+	appear ROUTE36NATIONALPARKGATE_YOUNGSTER4
 .Not6:
 	checkevent EVENT_BUG_CATCHING_CONTESTANT_7A
 	iftrue .Not7
-	appear $9
+	appear ROUTE36NATIONALPARKGATE_LASS
 .Not7:
 	checkevent EVENT_BUG_CATCHING_CONTESTANT_8A
 	iftrue .Not8
-	appear $a
+	appear ROUTE36NATIONALPARKGATE_YOUNGSTER5
 .Not8:
 	checkevent EVENT_BUG_CATCHING_CONTESTANT_9A
 	iftrue .Not9
-	appear $b
+	appear ROUTE36NATIONALPARKGATE_YOUNGSTER6
 .Not9:
 	checkevent EVENT_BUG_CATCHING_CONTESTANT_10A
 	iftrue .Not10
-	appear $c
+	appear ROUTE36NATIONALPARKGATE_YOUNGSTER7
 .Not10:
 	special UpdateSprites
 	end
--- a/maps/Route36RuinsofAlphgate.asm
+++ b/maps/Route36RuinsofAlphgate.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const ROUTE36RUINSOFALPHGATE_OFFICER
+	const ROUTE36RUINSOFALPHGATE_GRAMPS
+
 Route36RuinsofAlphgate_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route37.asm
+++ b/maps/Route37.asm
@@ -1,3 +1,12 @@
+const_value set 2
+	const ROUTE37_WEIRD_TREE1
+	const ROUTE37_WEIRD_TREE2
+	const ROUTE37_YOUNGSTER
+	const ROUTE37_FRUIT_TREE1
+	const ROUTE37_BUG_CATCHER
+	const ROUTE37_FRUIT_TREE2
+	const ROUTE37_FRUIT_TREE3
+
 Route37_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -12,11 +21,11 @@
 SunnyCallback:
 	checkcode VAR_WEEKDAY
 	if_equal SUNDAY, .SunnyAppears
-	disappear $6
+	disappear ROUTE37_BUG_CATCHER
 	return
 
 .SunnyAppears
-	appear $6
+	appear ROUTE37_BUG_CATCHER
 	return
 
 TrainerTwinsAnnandanne1:
--- a/maps/Route38.asm
+++ b/maps/Route38.asm
@@ -1,3 +1,12 @@
+const_value set 2
+	const ROUTE38_STANDING_YOUNGSTER1
+	const ROUTE38_LASS
+	const ROUTE38_STANDING_YOUNGSTER2
+	const ROUTE38_BUENA1
+	const ROUTE38_SAILOR
+	const ROUTE38_FRUIT_TREE
+	const ROUTE38_BUENA2
+
 Route38_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route38EcruteakGate.asm
+++ b/maps/Route38EcruteakGate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const ROUTE38ECRUTEAKGATE_OFFICER
+
 Route38EcruteakGate_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route39.asm
+++ b/maps/Route39.asm
@@ -1,3 +1,15 @@
+const_value set 2
+	const ROUTE39_SAILOR
+	const ROUTE39_POKEFAN_M
+	const ROUTE39_POKEFAN_F1
+	const ROUTE39_TAUROS1
+	const ROUTE39_TAUROS2
+	const ROUTE39_TAUROS3
+	const ROUTE39_TAUROS4
+	const ROUTE39_STANDING_YOUNGSTER
+	const ROUTE39_FRUIT_TREE
+	const ROUTE39_POKEFAN_F2
+
 Route39_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route39Barn.asm
+++ b/maps/Route39Barn.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const ROUTE39BARN_TWIN1
+	const ROUTE39BARN_TWIN2
+	const ROUTE39BARN_TAUROS
+
 Route39Barn_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -13,7 +18,7 @@
 	writetext Text_MoomooIsSick
 	waitbutton
 	closetext
-	spriteface $2, RIGHT
+	spriteface ROUTE39BARN_TWIN1, RIGHT
 	end
 
 .FeedingMooMoo:
@@ -20,7 +25,7 @@
 	writetext Text_WereFeedingMoomoo
 	waitbutton
 	closetext
-	spriteface $2, RIGHT
+	spriteface ROUTE39BARN_TWIN1, RIGHT
 	end
 
 TwinScript_0x9cc90:
@@ -31,7 +36,7 @@
 	writetext Text_MoomooIsSick
 	waitbutton
 	closetext
-	spriteface $3, LEFT
+	spriteface ROUTE39BARN_TWIN2, LEFT
 	end
 
 .FeedingMooMoo:
@@ -38,7 +43,7 @@
 	writetext Text_WereFeedingMoomoo
 	waitbutton
 	closetext
-	spriteface $3, LEFT
+	spriteface ROUTE39BARN_TWIN2, LEFT
 	end
 
 TaurosScript_0x9ccaa:
--- a/maps/Route39Farmhouse.asm
+++ b/maps/Route39Farmhouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const ROUTE39FARMHOUSE_POKEFAN_M
+	const ROUTE39FARMHOUSE_POKEFAN_F
+
 Route39Farmhouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route4.asm
+++ b/maps/Route4.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const ROUTE4_YOUNGSTER
+	const ROUTE4_LASS1
+	const ROUTE4_LASS2
+	const ROUTE4_POKE_BALL
+
 Route4_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route40.asm
+++ b/maps/Route40.asm
@@ -1,3 +1,17 @@
+const_value set 2
+	const ROUTE40_OLIVINE_RIVAL1
+	const ROUTE40_OLIVINE_RIVAL2
+	const ROUTE40_SWIMMER_GIRL1
+	const ROUTE40_SWIMMER_GIRL2
+	const ROUTE40_ROCK1
+	const ROUTE40_ROCK2
+	const ROUTE40_ROCK3
+	const ROUTE40_LASS1
+	const ROUTE40_BUENA
+	const ROUTE40_POKEFAN_M
+	const ROUTE40_LASS2
+	const ROUTE40_STANDING_YOUNGSTER
+
 Route40_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -13,11 +27,11 @@
 	clearevent EVENT_BATTLE_TOWER_OUTSIDE_SAILOR
 	checkcode VAR_WEEKDAY
 	if_equal MONDAY, .MonicaAppears
-	disappear $a
+	disappear ROUTE40_BUENA
 	return
 
 .MonicaAppears
-	appear $a
+	appear ROUTE40_BUENA
 	return
 
 TrainerSwimmerfElaine:
--- a/maps/Route40BattleTowerGate.asm
+++ b/maps/Route40BattleTowerGate.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const ROUTE40BATTLETOWERGATE_ROCKER
+	const ROUTE40BATTLETOWERGATE_TWIN
+
 Route40BattleTowerGate_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route41.asm
+++ b/maps/Route41.asm
@@ -1,3 +1,15 @@
+const_value set 2
+	const ROUTE41_OLIVINE_RIVAL1
+	const ROUTE41_OLIVINE_RIVAL2
+	const ROUTE41_OLIVINE_RIVAL3
+	const ROUTE41_OLIVINE_RIVAL4
+	const ROUTE41_OLIVINE_RIVAL5
+	const ROUTE41_SWIMMER_GIRL1
+	const ROUTE41_SWIMMER_GIRL2
+	const ROUTE41_SWIMMER_GIRL3
+	const ROUTE41_SWIMMER_GIRL4
+	const ROUTE41_SWIMMER_GIRL5
+
 Route41_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route42.asm
+++ b/maps/Route42.asm
@@ -1,3 +1,14 @@
+const_value set 2
+	const ROUTE42_FISHER
+	const ROUTE42_POKEFAN_M
+	const ROUTE42_SUPER_NERD
+	const ROUTE42_FRUIT_TREE1
+	const ROUTE42_FRUIT_TREE2
+	const ROUTE42_FRUIT_TREE3
+	const ROUTE42_POKE_BALL1
+	const ROUTE42_POKE_BALL2
+	const ROUTE42_SUICUNE
+
 Route42_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -19,8 +30,8 @@
 	showemote EMOTE_SHOCK, PLAYER, 15
 	pause 15
 	playsound SFX_WARP_FROM
-	applymovement $a, MovementData_0x1a9356
-	disappear $a
+	applymovement ROUTE42_SUICUNE, MovementData_0x1a9356
+	disappear ROUTE42_SUICUNE
 	pause 10
 	dotrigger $0
 	clearevent EVENT_SAW_SUICUNE_ON_ROUTE_36
--- a/maps/Route42EcruteakGate.asm
+++ b/maps/Route42EcruteakGate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const ROUTE42ECRUTEAKGATE_OFFICER
+
 Route42EcruteakGate_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route43.asm
+++ b/maps/Route43.asm
@@ -1,3 +1,13 @@
+const_value set 2
+	const ROUTE43_SUPER_NERD1
+	const ROUTE43_SUPER_NERD2
+	const ROUTE43_SUPER_NERD3
+	const ROUTE43_FISHER
+	const ROUTE43_LASS
+	const ROUTE43_YOUNGSTER
+	const ROUTE43_FRUIT_TREE
+	const ROUTE43_POKE_BALL
+
 Route43_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route43Gate.asm
+++ b/maps/Route43Gate.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const ROUTE43GATE_OFFICER
+	const ROUTE43GATE_ROCKET1
+	const ROUTE43GATE_ROCKET2
+
 Route43Gate_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -40,11 +45,11 @@
 
 UnknownScript_0x19abea:
 	applymovement PLAYER, MovementData_0x19aca2
-	showemote EMOTE_SHOCK, $4, 15
-	applymovement $4, MovementData_0x19acbb
-	spriteface $3, UP
-	showemote EMOTE_SHOCK, $3, 15
-	applymovement $3, MovementData_0x19aca4
+	showemote EMOTE_SHOCK, ROUTE43GATE_ROCKET2, 15
+	applymovement ROUTE43GATE_ROCKET2, MovementData_0x19acbb
+	spriteface ROUTE43GATE_ROCKET1, UP
+	showemote EMOTE_SHOCK, ROUTE43GATE_ROCKET1, 15
+	applymovement ROUTE43GATE_ROCKET1, MovementData_0x19aca4
 	loadfont
 	writetext UnknownText_0x19acd2
 	keeptextopen
@@ -65,18 +70,18 @@
 UnknownScript_0x19ac28:
 	keeptextopen
 	closetext
-	applymovement $3, MovementData_0x19acaa
-	applymovement $4, MovementData_0x19acc1
+	applymovement ROUTE43GATE_ROCKET1, MovementData_0x19acaa
+	applymovement ROUTE43GATE_ROCKET2, MovementData_0x19acc1
 	dotrigger $1
 	special RestartMapMusic
 	end
 
 UnknownScript_0x19ac38:
-	showemote EMOTE_SHOCK, $3, 15
-	applymovement $3, MovementData_0x19acaf
-	spriteface $4, DOWN
-	showemote EMOTE_SHOCK, $4, 15
-	applymovement $4, MovementData_0x19acc7
+	showemote EMOTE_SHOCK, ROUTE43GATE_ROCKET1, 15
+	applymovement ROUTE43GATE_ROCKET1, MovementData_0x19acaf
+	spriteface ROUTE43GATE_ROCKET2, DOWN
+	showemote EMOTE_SHOCK, ROUTE43GATE_ROCKET2, 15
+	applymovement ROUTE43GATE_ROCKET2, MovementData_0x19acc7
 	loadfont
 	writetext UnknownText_0x19acd2
 	keeptextopen
@@ -97,8 +102,8 @@
 UnknownScript_0x19ac72:
 	keeptextopen
 	closetext
-	applymovement $4, MovementData_0x19accd
-	applymovement $3, MovementData_0x19acb5
+	applymovement ROUTE43GATE_ROCKET2, MovementData_0x19accd
+	applymovement ROUTE43GATE_ROCKET1, MovementData_0x19acb5
 	dotrigger $1
 	special RestartMapMusic
 	end
--- a/maps/Route43MahoganyGate.asm
+++ b/maps/Route43MahoganyGate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const ROUTE43MAHOGANYGATE_OFFICER
+
 Route43MahoganyGate_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route44.asm
+++ b/maps/Route44.asm
@@ -1,3 +1,16 @@
+const_value set 2
+	const ROUTE44_FISHER1
+	const ROUTE44_FISHER2
+	const ROUTE44_YOUNGSTER1
+	const ROUTE44_SUPER_NERD
+	const ROUTE44_YOUNGSTER2
+	const ROUTE44_COOLTRAINER_M
+	const ROUTE44_COOLTRAINER_F
+	const ROUTE44_FRUIT_TREE
+	const ROUTE44_POKE_BALL1
+	const ROUTE44_POKE_BALL2
+	const ROUTE44_POKE_BALL3
+
 Route44_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route45.asm
+++ b/maps/Route45.asm
@@ -1,3 +1,18 @@
+const_value set 2
+	const ROUTE45_POKEFAN_M1
+	const ROUTE45_POKEFAN_M2
+	const ROUTE45_POKEFAN_M3
+	const ROUTE45_POKEFAN_M4
+	const ROUTE45_BLACK_BELT
+	const ROUTE45_COOLTRAINER_M
+	const ROUTE45_COOLTRAINER_F
+	const ROUTE45_FRUIT_TREE
+	const ROUTE45_POKE_BALL1
+	const ROUTE45_POKE_BALL2
+	const ROUTE45_POKE_BALL3
+	const ROUTE45_POKE_BALL4
+	const ROUTE45_YOUNGSTER
+
 Route45_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route46.asm
+++ b/maps/Route46.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const ROUTE46_POKEFAN_M
+	const ROUTE46_YOUNGSTER
+	const ROUTE46_LASS
+	const ROUTE46_FRUIT_TREE1
+	const ROUTE46_FRUIT_TREE2
+	const ROUTE46_POKE_BALL
+
 Route46_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route5.asm
+++ b/maps/Route5.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const ROUTE5_POKEFAN_M
+
 Route5_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route5CleanseTagSpeechHouse.asm
+++ b/maps/Route5CleanseTagSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const ROUTE5CLEANSETAGSPEECHHOUSE_GRANNY
+	const ROUTE5CLEANSETAGSPEECHHOUSE_TEACHER
+
 Route5CleanseTagSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route5SaffronCityGate.asm
+++ b/maps/Route5SaffronCityGate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const ROUTE5SAFFRONCITYGATE_OFFICER
+
 Route5SaffronCityGate_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route5UndergroundEntrance.asm
+++ b/maps/Route5UndergroundEntrance.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const ROUTE5UNDERGROUNDENTRANCE_TEACHER
+
 Route5UndergroundEntrance_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route6.asm
+++ b/maps/Route6.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const ROUTE6_POKEFAN_M1
+	const ROUTE6_POKEFAN_M2
+	const ROUTE6_POKEFAN_M3
+
 Route6_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route6SaffronGate.asm
+++ b/maps/Route6SaffronGate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const ROUTE6SAFFRONGATE_OFFICER
+
 Route6SaffronGate_MapScriptHeader:
 .MapTriggers:
 	db 1
--- a/maps/Route6UndergroundEntrance.asm
+++ b/maps/Route6UndergroundEntrance.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 Route6UndergroundEntrance_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route7.asm
+++ b/maps/Route7.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 Route7_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route7SaffronGate.asm
+++ b/maps/Route7SaffronGate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const ROUTE7SAFFRONGATE_OFFICER
+
 Route7SaffronGate_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route8.asm
+++ b/maps/Route8.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const ROUTE8_BIKER1
+	const ROUTE8_BIKER2
+	const ROUTE8_BIKER3
+	const ROUTE8_SUPER_NERD1
+	const ROUTE8_SUPER_NERD2
+	const ROUTE8_FRUIT_TREE
+
 Route8_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route8SaffronGate.asm
+++ b/maps/Route8SaffronGate.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const ROUTE8SAFFRONGATE_OFFICER
+
 Route8SaffronGate_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/Route9.asm
+++ b/maps/Route9.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const ROUTE9_YOUNGSTER1
+	const ROUTE9_LASS1
+	const ROUTE9_YOUNGSTER2
+	const ROUTE9_LASS2
+	const ROUTE9_POKEFAN_M1
+	const ROUTE9_POKEFAN_M2
+
 Route9_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/RuinsofAlphAerodactylChamber.asm
+++ b/maps/RuinsofAlphAerodactylChamber.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 RuinsofAlphAerodactylChamber_MapScriptHeader:
 .MapTriggers:
 	db 2
--- a/maps/RuinsofAlphAerodactylItemRoom.asm
+++ b/maps/RuinsofAlphAerodactylItemRoom.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const RUINSOFALPHAERODACTYLITEMROOM_POKE_BALL1
+	const RUINSOFALPHAERODACTYLITEMROOM_POKE_BALL2
+	const RUINSOFALPHAERODACTYLITEMROOM_POKE_BALL3
+	const RUINSOFALPHAERODACTYLITEMROOM_POKE_BALL4
+
 RuinsofAlphAerodactylItemRoom_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/RuinsofAlphAerodactylWordRoom.asm
+++ b/maps/RuinsofAlphAerodactylWordRoom.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 RuinsofAlphAerodactylWordRoom_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/RuinsofAlphHoOhChamber.asm
+++ b/maps/RuinsofAlphHoOhChamber.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 RuinsofAlphHoOhChamber_MapScriptHeader:
 .MapTriggers:
 	db 2
--- a/maps/RuinsofAlphHoOhItemRoom.asm
+++ b/maps/RuinsofAlphHoOhItemRoom.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const RUINSOFALPHHOOHITEMROOM_POKE_BALL1
+	const RUINSOFALPHHOOHITEMROOM_POKE_BALL2
+	const RUINSOFALPHHOOHITEMROOM_POKE_BALL3
+	const RUINSOFALPHHOOHITEMROOM_POKE_BALL4
+
 RuinsofAlphHoOhItemRoom_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/RuinsofAlphHoOhWordRoom.asm
+++ b/maps/RuinsofAlphHoOhWordRoom.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 RuinsofAlphHoOhWordRoom_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/RuinsofAlphInnerChamber.asm
+++ b/maps/RuinsofAlphInnerChamber.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const RUINSOFALPHINNERCHAMBER_FISHER
+	const RUINSOFALPHINNERCHAMBER_TEACHER
+	const RUINSOFALPHINNERCHAMBER_GRAMPS
+
 RuinsofAlphInnerChamber_MapScriptHeader:
 .MapTriggers:
 	db 2
--- a/maps/RuinsofAlphKabutoChamber.asm
+++ b/maps/RuinsofAlphKabutoChamber.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const RUINSOFALPHKABUTOCHAMBER_RECEPTIONIST
+	const RUINSOFALPHKABUTOCHAMBER_SCIENTIST
+
 RuinsofAlphKabutoChamber_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -100,7 +104,7 @@
 	writetext UnknownText_0x588f5
 	waitbutton
 	closetext
-	spriteface $3, UP
+	spriteface RUINSOFALPHKABUTOCHAMBER_SCIENTIST, UP
 	end
 
 UnknownScript_0x587c9:
--- a/maps/RuinsofAlphKabutoItemRoom.asm
+++ b/maps/RuinsofAlphKabutoItemRoom.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const RUINSOFALPHKABUTOITEMROOM_POKE_BALL1
+	const RUINSOFALPHKABUTOITEMROOM_POKE_BALL2
+	const RUINSOFALPHKABUTOITEMROOM_POKE_BALL3
+	const RUINSOFALPHKABUTOITEMROOM_POKE_BALL4
+
 RuinsofAlphKabutoItemRoom_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/RuinsofAlphKabutoWordRoom.asm
+++ b/maps/RuinsofAlphKabutoWordRoom.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 RuinsofAlphKabutoWordRoom_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/RuinsofAlphOmanyteChamber.asm
+++ b/maps/RuinsofAlphOmanyteChamber.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 RuinsofAlphOmanyteChamber_MapScriptHeader:
 .MapTriggers:
 	db 2
--- a/maps/RuinsofAlphOmanyteItemRoom.asm
+++ b/maps/RuinsofAlphOmanyteItemRoom.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const RUINSOFALPHOMANYTEITEMROOM_POKE_BALL1
+	const RUINSOFALPHOMANYTEITEMROOM_POKE_BALL2
+	const RUINSOFALPHOMANYTEITEMROOM_POKE_BALL3
+	const RUINSOFALPHOMANYTEITEMROOM_POKE_BALL4
+
 RuinsofAlphOmanyteItemRoom_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/RuinsofAlphOmanyteWordRoom.asm
+++ b/maps/RuinsofAlphOmanyteWordRoom.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 RuinsofAlphOmanyteWordRoom_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/RuinsofAlphOutside.asm
+++ b/maps/RuinsofAlphOutside.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const RUINSOFALPHOUTSIDE_YOUNGSTER1
+	const RUINSOFALPHOUTSIDE_SCIENTIST
+	const RUINSOFALPHOUTSIDE_FISHER
+	const RUINSOFALPHOUTSIDE_YOUNGSTER2
+	const RUINSOFALPHOUTSIDE_YOUNGSTER3
+
 RuinsofAlphOutside_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -32,22 +39,22 @@
 	jump UnknownScript_0x5802c
 
 UnknownScript_0x58027:
-	appear $3
+	appear RUINSOFALPHOUTSIDE_SCIENTIST
 	dotrigger $1
 	return
 
 UnknownScript_0x5802c:
-	disappear $3
+	disappear RUINSOFALPHOUTSIDE_SCIENTIST
 	dotrigger $0
 	return
 
 UnknownScript_0x58031:
-	spriteface $3, UP
+	spriteface RUINSOFALPHOUTSIDE_SCIENTIST, UP
 	spriteface PLAYER, DOWN
 	jump UnknownScript_0x58044
 
 UnknownScript_0x5803a:
-	spriteface $3, LEFT
+	spriteface RUINSOFALPHOUTSIDE_SCIENTIST, LEFT
 	spriteface PLAYER, RIGHT
 	jump UnknownScript_0x58044
 
@@ -59,9 +66,9 @@
 	waitbutton
 	closetext
 	playmusic MUSIC_SHOW_ME_AROUND
-	follow $3, PLAYER
-	applymovement $3, MovementData_0x580ba
-	disappear $3
+	follow RUINSOFALPHOUTSIDE_SCIENTIST, PLAYER
+	applymovement RUINSOFALPHOUTSIDE_SCIENTIST, MovementData_0x580ba
+	disappear RUINSOFALPHOUTSIDE_SCIENTIST
 	stopfollow
 	applymovement PLAYER, MovementData_0x580c5
 	domaptrigger RUINS_OF_ALPH_RESEARCH_CENTER, $1
@@ -96,7 +103,7 @@
 	writetext UnknownText_0x5848e
 	waitbutton
 	closetext
-	spriteface $6, UP
+	spriteface RUINSOFALPHOUTSIDE_YOUNGSTER3, UP
 	end
 
 TrainerPsychicNathan:
--- a/maps/RuinsofAlphResearchCenter.asm
+++ b/maps/RuinsofAlphResearchCenter.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const RUINSOFALPHRESEARCHCENTER_SCIENTIST1
+	const RUINSOFALPHRESEARCHCENTER_SCIENTIST2
+	const RUINSOFALPHRESEARCHCENTER_SCIENTIST3
+
 RuinsofAlphResearchCenter_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -26,12 +31,12 @@
 	return
 
 UnknownScript_0x5918b:
-	moveperson $4, $3, $7
-	appear $4
+	moveperson RUINSOFALPHRESEARCHCENTER_SCIENTIST3, $3, $7
+	appear RUINSOFALPHRESEARCHCENTER_SCIENTIST3
 	return
 
 UnknownScript_0x59192:
-	applymovement $4, MovementData_0x5926f
+	applymovement RUINSOFALPHRESEARCHCENTER_SCIENTIST3, MovementData_0x5926f
 	playsound SFX_BOOT_PC
 	pause 60
 	playsound SFX_SWITCH_POKEMON
@@ -40,12 +45,12 @@
 	pause 30
 	playsound SFX_TRANSACTION
 	pause 30
-	spriteface $4, DOWN
+	spriteface RUINSOFALPHRESEARCHCENTER_SCIENTIST3, DOWN
 	loadfont
 	writetext UnknownText_0x59278
 	waitbutton
 	closetext
-	applymovement $4, MovementData_0x59274
+	applymovement RUINSOFALPHRESEARCHCENTER_SCIENTIST3, MovementData_0x59274
 	loadfont
 	writetext UnknownText_0x592fa
 	playsound SFX_ITEM
@@ -54,7 +59,7 @@
 	writetext UnknownText_0x59311
 	waitbutton
 	closetext
-	applymovement $4, MovementData_0x59276
+	applymovement RUINSOFALPHRESEARCHCENTER_SCIENTIST3, MovementData_0x59276
 	dotrigger $0
 	special RestartMapMusic
 	end
--- a/maps/SafariZoneBeta.asm
+++ b/maps/SafariZoneBeta.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 SafariZoneBeta_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/SafariZoneFuchsiaGateBeta.asm
+++ b/maps/SafariZoneFuchsiaGateBeta.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 SafariZoneFuchsiaGateBeta_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/SafariZoneMainOffice.asm
+++ b/maps/SafariZoneMainOffice.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 SafariZoneMainOffice_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/SafariZoneWardensHome.asm
+++ b/maps/SafariZoneWardensHome.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const SAFARIZONEWARDENSHOME_LASS
+
 SafariZoneWardensHome_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/SaffronCity.asm
+++ b/maps/SaffronCity.asm
@@ -1,3 +1,13 @@
+const_value set 2
+	const SAFFRONCITY_LASS1
+	const SAFFRONCITY_POKEFAN_M
+	const SAFFRONCITY_COOLTRAINER_M
+	const SAFFRONCITY_COOLTRAINER_F
+	const SAFFRONCITY_FISHER
+	const SAFFRONCITY_YOUNGSTER1
+	const SAFFRONCITY_YOUNGSTER2
+	const SAFFRONCITY_LASS2
+
 SaffronCity_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/SaffronGym.asm
+++ b/maps/SaffronGym.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const SAFFRONGYM_SABRINA
+	const SAFFRONGYM_GRANNY1
+	const SAFFRONGYM_YOUNGSTER1
+	const SAFFRONGYM_GRANNY2
+	const SAFFRONGYM_YOUNGSTER2
+	const SAFFRONGYM_GYM_GUY
+
 SaffronGym_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/SaffronMart.asm
+++ b/maps/SaffronMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const SAFFRONMART_CLERK
+	const SAFFRONMART_COOLTRAINER_M
+	const SAFFRONMART_COOLTRAINER_F
+
 SaffronMart_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/SaffronPokeCenter1F.asm
+++ b/maps/SaffronPokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const SAFFRONPOKECENTER1F_NURSE
+	const SAFFRONPOKECENTER1F_TEACHER
+	const SAFFRONPOKECENTER1F_FISHER
+	const SAFFRONPOKECENTER1F_YOUNGSTER
+
 SaffronPokeCenter1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/SaffronPokeCenter2FBeta.asm
+++ b/maps/SaffronPokeCenter2FBeta.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 SaffronPokeCenter2FBeta_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/SaffronTrainStation.asm
+++ b/maps/SaffronTrainStation.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const SAFFRONTRAINSTATION_OFFICER
+	const SAFFRONTRAINSTATION_GYM_GUY
+	const SAFFRONTRAINSTATION_TEACHER
+	const SAFFRONTRAINSTATION_LASS
+
 SaffronTrainStation_MapScriptHeader:
 .MapTriggers:
 	db 1
@@ -30,7 +36,7 @@
 	writetext UnknownText_0x18a917
 	waitbutton
 	closetext
-	applymovement $2, MovementData_0x18a88f
+	applymovement SAFFRONTRAINSTATION_OFFICER, MovementData_0x18a88f
 	applymovement PLAYER, MovementData_0x18a898
 	writebyte $1
 	special Special_MagnetTrain
@@ -57,9 +63,9 @@
 	end
 
 Script_ArriveFromGoldenrod:
-	applymovement $2, MovementData_0x18a88f
+	applymovement SAFFRONTRAINSTATION_OFFICER, MovementData_0x18a88f
 	applymovement PLAYER, MovementData_0x18a8a1
-	applymovement $2, MovementData_0x18a894
+	applymovement SAFFRONTRAINSTATION_OFFICER, MovementData_0x18a894
 	loadfont
 	writetext UnknownText_0x18a993
 	waitbutton
--- a/maps/SeafoamGym.asm
+++ b/maps/SeafoamGym.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const SEAFOAMGYM_BLAINE
+	const SEAFOAMGYM_GYM_GUY
+
 SeafoamGym_MapScriptHeader:
 .MapTriggers:
 	db 1
@@ -23,7 +27,7 @@
 	scriptedtrainerdata BLAINE, 1
 	startbattle
 	iftrue .ReturnAfterBattle
-	appear $3
+	appear SEAFOAMGYM_GYM_GUY
 .ReturnAfterBattle
 	returnafterbattle
 	setevent EVENT_BEAT_BLAINE
--- a/maps/SilphCo1F.asm
+++ b/maps/SilphCo1F.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const SILPHCO1F_RECEPTIONIST
+	const SILPHCO1F_OFFICER
+
 SilphCo1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/SilverCaveItemRooms.asm
+++ b/maps/SilverCaveItemRooms.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const SILVERCAVEITEMROOMS_POKE_BALL1
+	const SILVERCAVEITEMROOMS_POKE_BALL2
+
 SilverCaveItemRooms_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/SilverCaveOutside.asm
+++ b/maps/SilverCaveOutside.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 SilverCaveOutside_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/SilverCavePokeCenter1F.asm
+++ b/maps/SilverCavePokeCenter1F.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const SILVERCAVEPOKECENTER1F_NURSE
+	const SILVERCAVEPOKECENTER1F_GRANNY
+
 SilverCavePokeCenter1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/SilverCaveRoom1.asm
+++ b/maps/SilverCaveRoom1.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const SILVERCAVEROOM1_POKE_BALL1
+	const SILVERCAVEROOM1_POKE_BALL2
+	const SILVERCAVEROOM1_POKE_BALL3
+	const SILVERCAVEROOM1_POKE_BALL4
+
 SilverCaveRoom1_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/SilverCaveRoom2.asm
+++ b/maps/SilverCaveRoom2.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const SILVERCAVEROOM2_POKE_BALL1
+	const SILVERCAVEROOM2_POKE_BALL2
+	const SILVERCAVEROOM2_POKE_BALL3
+
 SilverCaveRoom2_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/SilverCaveRoom3.asm
+++ b/maps/SilverCaveRoom3.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const SILVERCAVEROOM3_RED
+
 SilverCaveRoom3_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -24,7 +27,7 @@
 	closetext
 	special Special_FadeBlackQuickly
 	special Special_ReloadSpritesNoPalettes
-	disappear $2
+	disappear SILVERCAVEROOM3_RED
 	pause 15
 	special Special_FadeInQuickly
 	pause 30
--- a/maps/SlowpokeWellB1F.asm
+++ b/maps/SlowpokeWellB1F.asm
@@ -1,3 +1,14 @@
+const_value set 2
+	const SLOWPOKEWELLB1F_ROCKET1
+	const SLOWPOKEWELLB1F_ROCKET2
+	const SLOWPOKEWELLB1F_ROCKET3
+	const SLOWPOKEWELLB1F_ROCKET_GIRL
+	const SLOWPOKEWELLB1F_SLOWPOKE1
+	const SLOWPOKEWELLB1F_SLOWPOKE2
+	const SLOWPOKEWELLB1F_KURT
+	const SLOWPOKEWELLB1F_BOULDER
+	const SLOWPOKEWELLB1F_POKE_BALL
+
 SlowpokeWellB1F_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -29,16 +40,16 @@
 	closetext
 	special Special_FadeBlackQuickly
 	special Special_ReloadSpritesNoPalettes
-	disappear $2
-	disappear $3
-	disappear $4
-	disappear $5
+	disappear SLOWPOKEWELLB1F_ROCKET1
+	disappear SLOWPOKEWELLB1F_ROCKET2
+	disappear SLOWPOKEWELLB1F_ROCKET3
+	disappear SLOWPOKEWELLB1F_ROCKET_GIRL
 	pause 15
 	special Special_FadeInQuickly
-	disappear $8
-	moveperson $8, $b, $6
-	appear $8
-	applymovement $8, KurtSlowpokeWellVictoryMovementData
+	disappear SLOWPOKEWELLB1F_KURT
+	moveperson SLOWPOKEWELLB1F_KURT, $b, $6
+	appear SLOWPOKEWELLB1F_KURT
+	applymovement SLOWPOKEWELLB1F_KURT, KurtSlowpokeWellVictoryMovementData
 	spriteface PLAYER, RIGHT
 	loadfont
 	writetext KurtLeaveSlowpokeWellText
--- a/maps/SlowpokeWellB2F.asm
+++ b/maps/SlowpokeWellB2F.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const SLOWPOKEWELLB2F_GYM_GUY
+	const SLOWPOKEWELLB2F_POKE_BALL
+
 SlowpokeWellB2F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/SoulHouse.asm
+++ b/maps/SoulHouse.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const SOULHOUSE_GRAMPS
+	const SOULHOUSE_TEACHER
+	const SOULHOUSE_LASS
+	const SOULHOUSE_GRANNY
+
 SoulHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/SproutTower1F.asm
+++ b/maps/SproutTower1F.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const SPROUTTOWER1F_SAGE1
+	const SPROUTTOWER1F_SAGE2
+	const SPROUTTOWER1F_GRANNY
+	const SPROUTTOWER1F_TEACHER
+	const SPROUTTOWER1F_SAGE3
+	const SPROUTTOWER1F_POKE_BALL
+
 SproutTower1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/SproutTower2F.asm
+++ b/maps/SproutTower2F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const SPROUTTOWER2F_SAGE1
+	const SPROUTTOWER2F_SAGE2
+	const SPROUTTOWER2F_POKE_BALL
+
 SproutTower2F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/SproutTower3F.asm
+++ b/maps/SproutTower3F.asm
@@ -1,3 +1,12 @@
+const_value set 2
+	const SPROUTTOWER3F_SAGE1
+	const SPROUTTOWER3F_SAGE2
+	const SPROUTTOWER3F_SAGE3
+	const SPROUTTOWER3F_SAGE4
+	const SPROUTTOWER3F_POKE_BALL1
+	const SPROUTTOWER3F_POKE_BALL2
+	const SPROUTTOWER3F_SILVER
+
 SproutTower3F_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -27,21 +36,21 @@
 	playsound SFX_ELEVATOR
 	earthquake 79
 	applymovement PLAYER, MovementData_0x184a1d
-	applymovement $8, MovementData_0x184a22
+	applymovement SPROUTTOWER3F_SILVER, MovementData_0x184a22
 	loadfont
 	writetext UnknownText_0x184a27
 	waitbutton
 	closetext
-	showemote EMOTE_SHOCK, $8, 15
-	spriteface $8, DOWN
+	showemote EMOTE_SHOCK, SPROUTTOWER3F_SILVER, 15
+	spriteface SPROUTTOWER3F_SILVER, DOWN
 	pause 15
-	applymovement $8, MovementData_0x184a24
+	applymovement SPROUTTOWER3F_SILVER, MovementData_0x184a24
 	playmusic MUSIC_RIVAL_ENCOUNTER
 	loadfont
 	writetext UnknownText_0x184aec
 	waitbutton
 	closetext
-	spriteface $8, UP
+	spriteface SPROUTTOWER3F_SILVER, UP
 	loadfont
 	writetext UnknownText_0x184bc8
 	pause 15
@@ -49,7 +58,7 @@
 	playsound SFX_WARP_TO
 	special Special_FadeBlackQuickly
 	special Special_ReloadSpritesNoPalettes
-	disappear $8
+	disappear SPROUTTOWER3F_SILVER
 	waitsfx
 	special Special_FadeInQuickly
 	dotrigger $1
--- a/maps/TeamRocketBaseB1F.asm
+++ b/maps/TeamRocketBaseB1F.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const TEAMROCKETBASEB1F_ROCKET1
+	const TEAMROCKETBASEB1F_ROCKET2
+	const TEAMROCKETBASEB1F_SCIENTIST
+	const TEAMROCKETBASEB1F_POKE_BALL1
+	const TEAMROCKETBASEB1F_POKE_BALL2
+	const TEAMROCKETBASEB1F_POKE_BALL3
+
 TeamRocketBaseB1F_MapScriptHeader:
 .MapTriggers:
 	db 1
@@ -16,7 +24,7 @@
 	end
 
 UnknownScript_0x6c65b:
-	disappear $2
+	disappear TEAMROCKETBASEB1F_ROCKET1
 	return
 
 SecurityCamera1a:
@@ -27,18 +35,18 @@
 	iftrue NoSecurityCamera
 	showemote EMOTE_SHOCK, PLAYER, 15
 	playmusic MUSIC_ROCKET_ENCOUNTER
-	moveperson $2, $13, $2
-	appear $2
+	moveperson TEAMROCKETBASEB1F_ROCKET1, $13, $2
+	appear TEAMROCKETBASEB1F_ROCKET1
 	spriteface PLAYER, LEFT
-	applymovement $2, SecurityCameraMovement1
+	applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
 	scall TrainerCameraGrunt1
 	if_equal $1, NoSecurityCamera
 	scall PlaySecurityCameraSounds
 	showemote EMOTE_SHOCK, PLAYER, 15
 	playmusic MUSIC_ROCKET_ENCOUNTER
-	moveperson $2, $13, $2
-	appear $2
-	applymovement $2, SecurityCameraMovement1
+	moveperson TEAMROCKETBASEB1F_ROCKET1, $13, $2
+	appear TEAMROCKETBASEB1F_ROCKET1
+	applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
 	scall TrainerCameraGrunt2
 	if_equal $1, NoSecurityCamera
 	setevent EVENT_SECURITY_CAMERA_1
@@ -52,18 +60,18 @@
 	iftrue NoSecurityCamera
 	showemote EMOTE_SHOCK, PLAYER, 15
 	playmusic MUSIC_ROCKET_ENCOUNTER
-	moveperson $2, $13, $3
-	appear $2
+	moveperson TEAMROCKETBASEB1F_ROCKET1, $13, $3
+	appear TEAMROCKETBASEB1F_ROCKET1
 	spriteface PLAYER, LEFT
-	applymovement $2, SecurityCameraMovement1
+	applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
 	scall TrainerCameraGrunt1
 	if_equal $1, NoSecurityCamera
 	scall PlaySecurityCameraSounds
 	showemote EMOTE_SHOCK, PLAYER, 15
 	playmusic MUSIC_ROCKET_ENCOUNTER
-	moveperson $2, $13, $3
-	appear $2
-	applymovement $2, SecurityCameraMovement1
+	moveperson TEAMROCKETBASEB1F_ROCKET1, $13, $3
+	appear TEAMROCKETBASEB1F_ROCKET1
+	applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
 	scall TrainerCameraGrunt2
 	if_equal $1, NoSecurityCamera
 	setevent EVENT_SECURITY_CAMERA_1
@@ -77,10 +85,10 @@
 	iftrue NoSecurityCamera
 	showemote EMOTE_SHOCK, PLAYER, 15
 	playmusic MUSIC_ROCKET_ENCOUNTER
-	moveperson $2, $4, $7
-	appear $2
+	moveperson TEAMROCKETBASEB1F_ROCKET1, $4, $7
+	appear TEAMROCKETBASEB1F_ROCKET1
 	spriteface PLAYER, LEFT
-	applymovement $2, SecurityCameraMovement2
+	applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement2
 	scall TrainerCameraGrunt1
 	if_equal $1, NoSecurityCamera
 	scall PlaySecurityCameraSounds
@@ -87,9 +95,9 @@
 	showemote EMOTE_SHOCK, PLAYER, 15
 	playmusic MUSIC_ROCKET_ENCOUNTER
 	spriteface PLAYER, RIGHT
-	moveperson $2, $c, $5
-	appear $2
-	applymovement $2, SecurityCameraMovement3
+	moveperson TEAMROCKETBASEB1F_ROCKET1, $c, $5
+	appear TEAMROCKETBASEB1F_ROCKET1
+	applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement3
 	scall TrainerCameraGrunt2
 	if_equal $1, NoSecurityCamera
 	setevent EVENT_SECURITY_CAMERA_2
@@ -103,10 +111,10 @@
 	iftrue NoSecurityCamera
 	showemote EMOTE_SHOCK, PLAYER, 15
 	playmusic MUSIC_ROCKET_ENCOUNTER
-	moveperson $2, $4, $8
-	appear $2
+	moveperson TEAMROCKETBASEB1F_ROCKET1, $4, $8
+	appear TEAMROCKETBASEB1F_ROCKET1
 	spriteface PLAYER, LEFT
-	applymovement $2, SecurityCameraMovement4
+	applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement4
 	scall TrainerCameraGrunt1
 	if_equal $1, NoSecurityCamera
 	scall PlaySecurityCameraSounds
@@ -113,9 +121,9 @@
 	showemote EMOTE_SHOCK, PLAYER, 15
 	playmusic MUSIC_ROCKET_ENCOUNTER
 	spriteface PLAYER, RIGHT
-	moveperson $2, $c, $5
-	appear $2
-	applymovement $2, SecurityCameraMovement5
+	moveperson TEAMROCKETBASEB1F_ROCKET1, $c, $5
+	appear TEAMROCKETBASEB1F_ROCKET1
+	applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement5
 	scall TrainerCameraGrunt2
 	if_equal $1, NoSecurityCamera
 	setevent EVENT_SECURITY_CAMERA_2
@@ -129,10 +137,10 @@
 	iftrue NoSecurityCamera
 	showemote EMOTE_SHOCK, PLAYER, 15
 	playmusic MUSIC_ROCKET_ENCOUNTER
-	moveperson $2, $13, $6
-	appear $2
+	moveperson TEAMROCKETBASEB1F_ROCKET1, $13, $6
+	appear TEAMROCKETBASEB1F_ROCKET1
 	spriteface PLAYER, LEFT
-	applymovement $2, SecurityCameraMovement1
+	applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
 	scall TrainerCameraGrunt1
 	if_equal $1, NoSecurityCamera
 	scall PlaySecurityCameraSounds
@@ -139,9 +147,9 @@
 	showemote EMOTE_SHOCK, PLAYER, 15
 	playmusic MUSIC_ROCKET_ENCOUNTER
 	spriteface PLAYER, RIGHT
-	moveperson $2, $19, $b
-	appear $2
-	applymovement $2, SecurityCameraMovement6
+	moveperson TEAMROCKETBASEB1F_ROCKET1, $19, $b
+	appear TEAMROCKETBASEB1F_ROCKET1
+	applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement6
 	scall TrainerCameraGrunt2
 	if_equal $1, NoSecurityCamera
 	setevent EVENT_SECURITY_CAMERA_3
@@ -155,10 +163,10 @@
 	iftrue NoSecurityCamera
 	showemote EMOTE_SHOCK, PLAYER, 15
 	playmusic MUSIC_ROCKET_ENCOUNTER
-	moveperson $2, $13, $7
-	appear $2
+	moveperson TEAMROCKETBASEB1F_ROCKET1, $13, $7
+	appear TEAMROCKETBASEB1F_ROCKET1
 	spriteface PLAYER, LEFT
-	applymovement $2, SecurityCameraMovement1
+	applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
 	scall TrainerCameraGrunt1
 	if_equal $1, NoSecurityCamera
 	scall PlaySecurityCameraSounds
@@ -165,9 +173,9 @@
 	showemote EMOTE_SHOCK, PLAYER, 15
 	playmusic MUSIC_ROCKET_ENCOUNTER
 	spriteface PLAYER, RIGHT
-	moveperson $2, $19, $c
-	appear $2
-	applymovement $2, SecurityCameraMovement7
+	moveperson TEAMROCKETBASEB1F_ROCKET1, $19, $c
+	appear TEAMROCKETBASEB1F_ROCKET1
+	applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement7
 	scall TrainerCameraGrunt2
 	if_equal $1, NoSecurityCamera
 	setevent EVENT_SECURITY_CAMERA_3
@@ -181,10 +189,10 @@
 	iftrue NoSecurityCamera
 	showemote EMOTE_SHOCK, PLAYER, 15
 	playmusic MUSIC_ROCKET_ENCOUNTER
-	moveperson $2, $11, $10
-	appear $2
+	moveperson TEAMROCKETBASEB1F_ROCKET1, $11, $10
+	appear TEAMROCKETBASEB1F_ROCKET1
 	spriteface PLAYER, LEFT
-	applymovement $2, SecurityCameraMovement1
+	applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
 	scall TrainerCameraGrunt1
 	if_equal $1, NoSecurityCamera
 	scall PlaySecurityCameraSounds
@@ -191,9 +199,9 @@
 	showemote EMOTE_SHOCK, PLAYER, 15
 	playmusic MUSIC_ROCKET_ENCOUNTER
 	spriteface PLAYER, RIGHT
-	moveperson $2, $19, $b
-	appear $2
-	applymovement $2, SecurityCameraMovement8
+	moveperson TEAMROCKETBASEB1F_ROCKET1, $19, $b
+	appear TEAMROCKETBASEB1F_ROCKET1
+	applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement8
 	scall TrainerCameraGrunt2
 	if_equal $1, NoSecurityCamera
 	setevent EVENT_SECURITY_CAMERA_4
@@ -207,10 +215,10 @@
 	iftrue NoSecurityCamera
 	showemote EMOTE_SHOCK, PLAYER, 15
 	playmusic MUSIC_ROCKET_ENCOUNTER
-	moveperson $2, $3, $10
-	appear $2
+	moveperson TEAMROCKETBASEB1F_ROCKET1, $3, $10
+	appear TEAMROCKETBASEB1F_ROCKET1
 	spriteface PLAYER, LEFT
-	applymovement $2, SecurityCameraMovement1
+	applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
 	scall TrainerCameraGrunt1
 	if_equal $1, NoSecurityCamera
 	scall PlaySecurityCameraSounds
@@ -217,9 +225,9 @@
 	showemote EMOTE_SHOCK, PLAYER, 15
 	playmusic MUSIC_ROCKET_ENCOUNTER
 	spriteface PLAYER, RIGHT
-	moveperson $2, $e, $10
-	appear $2
-	applymovement $2, SecurityCameraMovement9
+	moveperson TEAMROCKETBASEB1F_ROCKET1, $e, $10
+	appear TEAMROCKETBASEB1F_ROCKET1
+	applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement9
 	scall TrainerCameraGrunt2
 	if_equal $1, NoSecurityCamera
 	setevent EVENT_SECURITY_CAMERA_5
@@ -237,7 +245,7 @@
 	setlasttalked $2
 	scriptedtrainerdata GRUNTM, 20
 	startbattle
-	disappear $2
+	disappear TEAMROCKETBASEB1F_ROCKET1
 	returnafterbattle
 	end
 
@@ -250,7 +258,7 @@
 	setlasttalked $2
 	scriptedtrainerdata GRUNTM, 21
 	startbattle
-	disappear $2
+	disappear TEAMROCKETBASEB1F_ROCKET1
 	returnafterbattle
 	end
 
--- a/maps/TeamRocketBaseB2F.asm
+++ b/maps/TeamRocketBaseB2F.asm
@@ -1,3 +1,19 @@
+const_value set 2
+	const TEAMROCKETBASEB2F_ROCKET1
+	const TEAMROCKETBASEB2F_ROCKET_GIRL
+	const TEAMROCKETBASEB2F_LANCE
+	const TEAMROCKETBASEB2F_DRAGON
+	const TEAMROCKETBASEB2F_VOLTORB1
+	const TEAMROCKETBASEB2F_VOLTORB2
+	const TEAMROCKETBASEB2F_VOLTORB3
+	const TEAMROCKETBASEB2F_VOLTORB4
+	const TEAMROCKETBASEB2F_VOLTORB5
+	const TEAMROCKETBASEB2F_VOLTORB6
+	const TEAMROCKETBASEB2F_ROCKET2
+	const TEAMROCKETBASEB2F_ROCKET3
+	const TEAMROCKETBASEB2F_ROCKET4
+	const TEAMROCKETBASEB2F_POKE_BALL
+
 TeamRocketBaseB2F_MapScriptHeader:
 .MapTriggers:
 	db 4
@@ -37,17 +53,17 @@
 	return
 
 UnknownScript_0x6cf95:
-	moveperson $4, $9, $d
+	moveperson TEAMROCKETBASEB2F_LANCE, $9, $d
 	jump UnknownScript_0x6cfac
 
 UnknownScript_0x6cf9c:
-	moveperson $3, $15, $10
-	moveperson $2, $15, $10
-	moveperson $5, $a, $d
-	moveperson $4, $a, $d
+	moveperson TEAMROCKETBASEB2F_ROCKET_GIRL, $15, $10
+	moveperson TEAMROCKETBASEB2F_ROCKET1, $15, $10
+	moveperson TEAMROCKETBASEB2F_DRAGON, $a, $d
+	moveperson TEAMROCKETBASEB2F_LANCE, $a, $d
 UnknownScript_0x6cfac:
-	appear $3
-	appear $2
+	appear TEAMROCKETBASEB2F_ROCKET_GIRL
+	appear TEAMROCKETBASEB2F_ROCKET1
 	loadfont
 	writetext UnknownText_0x6d2ad
 	waitbutton
@@ -56,39 +72,39 @@
 	showemote EMOTE_SHOCK, PLAYER, 15
 	applymovement PLAYER, MovementData_0x6d21f
 	playmusic MUSIC_ROCKET_ENCOUNTER
-	applymovement $3, MovementData_0x6d224
+	applymovement TEAMROCKETBASEB2F_ROCKET_GIRL, MovementData_0x6d224
 	spriteface PLAYER, UP
-	applymovement $2, MovementData_0x6d22f
+	applymovement TEAMROCKETBASEB2F_ROCKET1, MovementData_0x6d22f
 	loadfont
 	writetext UnknownText_0x6d2c3
 	waitbutton
 	closetext
 	cry DRAGONITE
-	spriteface $3, LEFT
+	spriteface TEAMROCKETBASEB2F_ROCKET_GIRL, LEFT
 	spriteface PLAYER, LEFT
-	appear $5
-	applymovement $5, MovementData_0x6d236
-	applymovement $3, MovementData_0x6d23b
-	applymovement $2, MovementData_0x6d24c
-	appear $4
-	applymovement $4, MovementData_0x6d244
+	appear TEAMROCKETBASEB2F_DRAGON
+	applymovement TEAMROCKETBASEB2F_DRAGON, MovementData_0x6d236
+	applymovement TEAMROCKETBASEB2F_ROCKET_GIRL, MovementData_0x6d23b
+	applymovement TEAMROCKETBASEB2F_ROCKET1, MovementData_0x6d24c
+	appear TEAMROCKETBASEB2F_LANCE
+	applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d244
 	loadfont
 	writetext UnknownText_0x6d38c
 	waitbutton
 	closetext
 	spriteface PLAYER, RIGHT
-	applymovement $3, MovementData_0x6d241
+	applymovement TEAMROCKETBASEB2F_ROCKET_GIRL, MovementData_0x6d241
 	loadfont
 	writetext UnknownText_0x6d3bd
 	waitbutton
 	closetext
-	applymovement $2, MovementData_0x6d24a
-	applymovement $3, MovementData_0x6d248
+	applymovement TEAMROCKETBASEB2F_ROCKET1, MovementData_0x6d24a
+	applymovement TEAMROCKETBASEB2F_ROCKET_GIRL, MovementData_0x6d248
 	winlosstext UnknownText_0x6d45c, 0
 	setlasttalked $3
 	scriptedtrainerdata EXECUTIVEF, 2
 	startbattle
-	disappear $5
+	disappear TEAMROCKETBASEB2F_DRAGON
 	setevent EVENT_TEAM_ROCKET_BASE_B2F_EXECUTIVE
 	setevent EVENT_TEAM_ROCKET_BASE_B2F_GRUNT_WITH_EXECUTIVE
 	setevent EVENT_TEAM_ROCKET_BASE_B2F_LANCE
@@ -100,36 +116,36 @@
 	closetext
 	special Special_FadeBlackQuickly
 	special Special_ReloadSpritesNoPalettes
-	disappear $2
-	disappear $3
-	disappear $c
-	disappear $d
-	disappear $e
+	disappear TEAMROCKETBASEB2F_ROCKET1
+	disappear TEAMROCKETBASEB2F_ROCKET_GIRL
+	disappear TEAMROCKETBASEB2F_ROCKET2
+	disappear TEAMROCKETBASEB2F_ROCKET3
+	disappear TEAMROCKETBASEB2F_ROCKET4
 	pause 15
 	special Special_FadeInQuickly
 	dotrigger $2
 	clearevent EVENT_TEAM_ROCKET_BASE_B2F_LANCE
-	spriteface $4, DOWN
+	spriteface TEAMROCKETBASEB2F_LANCE, DOWN
 	loadfont
 	writetext UnknownText_0x6d5d8
 	waitbutton
 	closetext
-	applymovement $4, MovementData_0x6d250
+	applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d250
 	spriteface PLAYER, UP
 	loadfont
 	writetext UnknownText_0x6d64e
 	waitbutton
 	closetext
-	follow $4, PLAYER
-	applymovement $4, MovementData_0x6d254
+	follow TEAMROCKETBASEB2F_LANCE, PLAYER
+	applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d254
 	stopfollow
-	applymovement $4, MovementData_0x6d258
+	applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d258
 	loadfont
 	writetext UnknownText_0x6d6cf
 	waitbutton
 	closetext
-	applymovement $4, MovementData_0x6d267
-	disappear $4
+	applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d267
+	disappear TEAMROCKETBASEB2F_LANCE
 
 UnknownScript_0x6d075:
 	applymovement PLAYER, MovementData_0x6d271
@@ -149,7 +165,7 @@
 
 UnknownScript_0x6d08b:
 	spriteface PLAYER, RIGHT
-	spriteface $4, LEFT
+	spriteface TEAMROCKETBASEB2F_LANCE, LEFT
 UnknownScript_0x6d091:
 	loadfont
 	writetext UnknownText_0x6da97
@@ -168,13 +184,13 @@
 	setevent EVENT_LANCE_HEALED_YOU_IN_TEAM_ROCKET_BASE
 	checkcode VAR_FACING
 	if_equal RIGHT, UnknownScript_0x6d0be
-	applymovement $4, MovementData_0x6d212
-	disappear $4
+	applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d212
+	disappear TEAMROCKETBASEB2F_LANCE
 	end
 
 UnknownScript_0x6d0be:
-	applymovement $4, MovementData_0x6d219
-	disappear $4
+	applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d219
+	disappear TEAMROCKETBASEB2F_LANCE
 	end
 
 TrainerGruntM17:
@@ -215,8 +231,8 @@
 	scriptedpokedata ELECTRODE, 23
 	startbattle
 	iftrue UnknownScript_0x6d182
-	disappear $6
-	disappear $9
+	disappear TEAMROCKETBASEB2F_VOLTORB1
+	disappear TEAMROCKETBASEB2F_VOLTORB4
 	checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_1
 	iffalse UnknownScript_0x6d182
 	checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_2
@@ -233,8 +249,8 @@
 	scriptedpokedata ELECTRODE, 23
 	startbattle
 	iftrue UnknownScript_0x6d182
-	disappear $7
-	disappear $a
+	disappear TEAMROCKETBASEB2F_VOLTORB2
+	disappear TEAMROCKETBASEB2F_VOLTORB5
 	checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_1
 	iffalse UnknownScript_0x6d182
 	checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_2
@@ -251,8 +267,8 @@
 	scriptedpokedata ELECTRODE, 23
 	startbattle
 	iftrue UnknownScript_0x6d182
-	disappear $8
-	disappear $b
+	disappear TEAMROCKETBASEB2F_VOLTORB3
+	disappear TEAMROCKETBASEB2F_VOLTORB6
 	checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_1
 	iffalse UnknownScript_0x6d182
 	checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_2
@@ -269,9 +285,9 @@
 	end
 
 UnknownScript_0x6d184:
-	moveperson $4, $12, $6
-	appear $4
-	applymovement $4, MovementData_0x6d27a
+	moveperson TEAMROCKETBASEB2F_LANCE, $12, $6
+	appear TEAMROCKETBASEB2F_LANCE
+	applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d27a
 	spriteface PLAYER, RIGHT
 	loadfont
 	writetext UnknownText_0x6d809
@@ -281,14 +297,14 @@
 	writetext UnknownText_0x6d8f8
 	waitbutton
 	closetext
-	spriteface $4, DOWN
+	spriteface TEAMROCKETBASEB2F_LANCE, DOWN
 	loadfont
 	writetext UnknownText_0x6d994
 	waitbutton
 	closetext
 	spriteface PLAYER, DOWN
-	applymovement $4, MovementData_0x6d283
-	disappear $4
+	applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d283
+	disappear TEAMROCKETBASEB2F_LANCE
 	setevent EVENT_CLEARED_ROCKET_HIDEOUT
 	clearflag ENGINE_ROCKET_SIGNAL_ON_CH20
 	setevent EVENT_ROUTE_43_GATE_ROCKETS
--- a/maps/TeamRocketBaseB3F.asm
+++ b/maps/TeamRocketBaseB3F.asm
@@ -1,3 +1,19 @@
+const_value set 2
+	const TEAMROCKETBASEB3F_LANCE
+	const TEAMROCKETBASEB3F_ROCKET1
+	const TEAMROCKETBASEB3F_MOLTRES
+	const TEAMROCKETBASEB3F_ROCKET_GIRL
+	const TEAMROCKETBASEB3F_ROCKET2
+	const TEAMROCKETBASEB3F_SCIENTIST1
+	const TEAMROCKETBASEB3F_SCIENTIST2
+	const TEAMROCKETBASEB3F_ROCKET3
+	const TEAMROCKETBASEB3F_SILVER
+	const TEAMROCKETBASEB3F_POKE_BALL1
+	const TEAMROCKETBASEB3F_POKE_BALL2
+	const TEAMROCKETBASEB3F_POKE_BALL3
+	const TEAMROCKETBASEB3F_POKE_BALL4
+	const TEAMROCKETBASEB3F_POKE_BALL5
+
 TeamRocketBaseB3F_MapScriptHeader:
 .MapTriggers:
 	db 4
@@ -40,15 +56,15 @@
 LanceScript_0x6dffc:
 	spriteface PLAYER, LEFT
 	pause 5
-	spriteface $4, RIGHT
+	spriteface TEAMROCKETBASEB3F_MOLTRES, RIGHT
 	pause 20
-	applymovement $2, MovementData_0x6e12a
+	applymovement TEAMROCKETBASEB3F_LANCE, MovementData_0x6e12a
 	loadfont
 	writetext UnknownText_0x6e179
 	waitbutton
 	closetext
-	applymovement $2, MovementData_0x6e12c
-	disappear $2
+	applymovement TEAMROCKETBASEB3F_LANCE, MovementData_0x6e12c
+	disappear TEAMROCKETBASEB3F_LANCE
 	dotrigger $1
 	end
 
@@ -56,8 +72,8 @@
 	spriteface PLAYER, LEFT
 	showemote EMOTE_SHOCK, PLAYER, 15
 	special Special_RotatePalettesRightMusic
-	appear $a
-	applymovement $a, MovementData_0x6e164
+	appear TEAMROCKETBASEB3F_SILVER
+	applymovement TEAMROCKETBASEB3F_SILVER, MovementData_0x6e164
 	spriteface PLAYER, LEFT
 	playmusic MUSIC_RIVAL_ENCOUNTER
 	loadfont
@@ -66,8 +82,8 @@
 	closetext
 	playsound SFX_TACKLE
 	applymovement PLAYER, MovementData_0x6e175
-	applymovement $a, MovementData_0x6e16d
-	disappear $a
+	applymovement TEAMROCKETBASEB3F_SILVER, MovementData_0x6e16d
+	disappear TEAMROCKETBASEB3F_SILVER
 	dotrigger $2
 	special RestartMapMusic
 	end
@@ -83,14 +99,14 @@
 	applymovement PLAYER, MovementData_0x6e13a
 UnknownScript_0x6e056:
 	pause 30
-	showemote EMOTE_SHOCK, $3, 15
+	showemote EMOTE_SHOCK, TEAMROCKETBASEB3F_ROCKET1, 15
 	playmusic MUSIC_ROCKET_ENCOUNTER
-	spriteface $3, DOWN
+	spriteface TEAMROCKETBASEB3F_ROCKET1, DOWN
 	loadfont
 	writetext UnknownText_0x6e400
 	waitbutton
 	closetext
-	applymovement $3, MovementData_0x6e142
+	applymovement TEAMROCKETBASEB3F_ROCKET1, MovementData_0x6e142
 	winlosstext UnknownText_0x6e511, 0
 	setlasttalked $3
 	scriptedtrainerdata EXECUTIVEM, 4
@@ -101,10 +117,10 @@
 	writetext UnknownText_0x6e548
 	waitbutton
 	closetext
-	applymovement $3, MovementData_0x6e144
+	applymovement TEAMROCKETBASEB3F_ROCKET1, MovementData_0x6e144
 	playsound SFX_TACKLE
-	applymovement $3, MovementData_0x6e147
-	disappear $3
+	applymovement TEAMROCKETBASEB3F_ROCKET1, MovementData_0x6e147
+	disappear TEAMROCKETBASEB3F_ROCKET1
 	dotrigger $3
 	end
 
--- a/maps/TimeCapsule.asm
+++ b/maps/TimeCapsule.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const TIMECAPSULE_CHRIS1
+	const TIMECAPSULE_CHRIS2
+
 TimeCapsule_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -23,13 +27,13 @@
 TimeCapsule_SetWhichChris:
 	special Special_CableClubCheckWhichChris
 	iffalse .Chris2
-	disappear $3
-	appear $2
+	disappear TIMECAPSULE_CHRIS2
+	appear TIMECAPSULE_CHRIS1
 	return
 
 .Chris2:
-	disappear $2
-	appear $3
+	disappear TIMECAPSULE_CHRIS1
+	appear TIMECAPSULE_CHRIS2
 	return
 
 TimeCapsule_Initialize:
--- a/maps/TinTower1F.asm
+++ b/maps/TinTower1F.asm
@@ -1,3 +1,15 @@
+const_value set 2
+	const TINTOWER1F_SUICUNE
+	const TINTOWER1F_RAIKOU
+	const TINTOWER1F_ENTEI
+	const TINTOWER1F_SUPER_NERD
+	const TINTOWER1F_SAGE1
+	const TINTOWER1F_SAGE2
+	const TINTOWER1F_SAGE3
+	const TINTOWER1F_SAGE4
+	const TINTOWER1F_SAGE5
+	const TINTOWER1F_SAGE6
+
 TinTower1F_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -34,7 +46,7 @@
 UnknownScript_0x185047:
 	checkevent EVENT_FOUGHT_HO_OH
 	iffalse UnknownScript_0x18504f
-	appear $5
+	appear TINTOWER1F_SUPER_NERD
 UnknownScript_0x18504f:
 	return
 
@@ -41,31 +53,31 @@
 UnknownScript_0x185050:
 	checkevent EVENT_FOUGHT_SUICUNE
 	iftrue UnknownScript_0x185077
-	appear $2
+	appear TINTOWER1F_SUICUNE
 	writebyte RAIKOU
 	special SpecialMonCheck
 	iftrue UnknownScript_0x185065
-	appear $3
+	appear TINTOWER1F_RAIKOU
 	jump UnknownScript_0x185067
 
 UnknownScript_0x185065:
-	disappear $3
+	disappear TINTOWER1F_RAIKOU
 UnknownScript_0x185067:
 	writebyte ENTEI
 	special SpecialMonCheck
 	iftrue UnknownScript_0x185074
-	appear $4
+	appear TINTOWER1F_ENTEI
 	jump UnknownScript_0x185076
 
 UnknownScript_0x185074:
-	disappear $4
+	disappear TINTOWER1F_ENTEI
 UnknownScript_0x185076:
 	return
 
 UnknownScript_0x185077:
-	disappear $2
-	disappear $3
-	disappear $4
+	disappear TINTOWER1F_SUICUNE
+	disappear TINTOWER1F_RAIKOU
+	disappear TINTOWER1F_ENTEI
 	clearevent EVENT_TIN_TOWER_1F_WISE_TRIO_1
 	setevent EVENT_TIN_TOWER_1F_WISE_TRIO_2
 	return
@@ -83,13 +95,13 @@
 	writebyte RAIKOU
 	special SpecialMonCheck
 	iftrue UnknownScript_0x1850b6
-	applymovement $3, MovementData_0x1851d0
+	applymovement TINTOWER1F_RAIKOU, MovementData_0x1851d0
 	spriteface PLAYER, LEFT
 	cry RAIKOU
 	pause 10
 	playsound SFX_WARP_FROM
-	applymovement $3, MovementData_0x1851d4
-	disappear $3
+	applymovement TINTOWER1F_RAIKOU, MovementData_0x1851d4
+	disappear TINTOWER1F_RAIKOU
 	playsound SFX_EXIT_BUILDING
 	waitsfx
 UnknownScript_0x1850b6:
@@ -96,13 +108,13 @@
 	writebyte ENTEI
 	special SpecialMonCheck
 	iftrue UnknownScript_0x1850d7
-	applymovement $4, MovementData_0x1851da
+	applymovement TINTOWER1F_ENTEI, MovementData_0x1851da
 	spriteface PLAYER, RIGHT
 	cry ENTEI
 	pause 10
 	playsound SFX_WARP_FROM
-	applymovement $4, MovementData_0x1851de
-	disappear $4
+	applymovement TINTOWER1F_ENTEI, MovementData_0x1851de
+	disappear TINTOWER1F_ENTEI
 	playsound SFX_EXIT_BUILDING
 	waitsfx
 UnknownScript_0x1850d7:
@@ -109,7 +121,7 @@
 	spriteface PLAYER, UP
 	pause 10
 	applymovement PLAYER, MovementData_0x1851e8
-	applymovement $2, MovementData_0x1851e4
+	applymovement TINTOWER1F_SUICUNE, MovementData_0x1851e4
 	cry SUICUNE
 	pause 20
 	scriptedpokedata SUICUNE, 40
@@ -116,7 +128,7 @@
 	writecode VAR_BATTLETYPE, BATTLETYPE_SUICUNE
 	startbattle
 	reloadmapmusic
-	disappear $2
+	disappear TINTOWER1F_SUICUNE
 	setevent EVENT_FOUGHT_SUICUNE
 	setevent EVENT_SAW_SUICUNE_ON_ROUTE_42
 	domaptrigger ROUTE_42, $0
@@ -131,32 +143,32 @@
 	spriteface PLAYER, DOWN
 	playmusic MUSIC_MYSTICALMAN_ENCOUNTER
 	playsound SFX_ENTER_DOOR
-	moveperson $5, $a, $f
-	appear $5
-	applymovement $5, MovementData_0x1851ec
+	moveperson TINTOWER1F_SUPER_NERD, $a, $f
+	appear TINTOWER1F_SUPER_NERD
+	applymovement TINTOWER1F_SUPER_NERD, MovementData_0x1851ec
 	playsound SFX_ENTER_DOOR
-	moveperson $6, $9, $f
-	appear $6
-	applymovement $6, MovementData_0x1851f5
+	moveperson TINTOWER1F_SAGE1, $9, $f
+	appear TINTOWER1F_SAGE1
+	applymovement TINTOWER1F_SAGE1, MovementData_0x1851f5
 	playsound SFX_ENTER_DOOR
-	moveperson $7, $9, $f
-	appear $7
-	applymovement $7, MovementData_0x1851fb
+	moveperson TINTOWER1F_SAGE2, $9, $f
+	appear TINTOWER1F_SAGE2
+	applymovement TINTOWER1F_SAGE2, MovementData_0x1851fb
 	playsound SFX_ENTER_DOOR
-	moveperson $8, $9, $f
-	appear $8
-	applymovement $8, MovementData_0x1851fe
-	moveperson $6, $7, $d
-	moveperson $7, $9, $d
-	moveperson $8, $b, $d
+	moveperson TINTOWER1F_SAGE3, $9, $f
+	appear TINTOWER1F_SAGE3
+	applymovement TINTOWER1F_SAGE3, MovementData_0x1851fe
+	moveperson TINTOWER1F_SAGE1, $7, $d
+	moveperson TINTOWER1F_SAGE2, $9, $d
+	moveperson TINTOWER1F_SAGE3, $b, $d
 	spriteface PLAYER, RIGHT
 	loadfont
 	writetext UnknownText_0x185203
 	waitbutton
 	closetext
-	applymovement $5, MovementData_0x1851f1
+	applymovement TINTOWER1F_SUPER_NERD, MovementData_0x1851f1
 	playsound SFX_EXIT_BUILDING
-	disappear $5
+	disappear TINTOWER1F_SUPER_NERD
 	waitsfx
 	special Special_RotatePalettesRightMusic
 	pause 20
--- a/maps/TinTower2F.asm
+++ b/maps/TinTower2F.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 TinTower2F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/TinTower3F.asm
+++ b/maps/TinTower3F.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const TINTOWER3F_POKE_BALL
+
 TinTower3F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/TinTower4F.asm
+++ b/maps/TinTower4F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const TINTOWER4F_POKE_BALL1
+	const TINTOWER4F_POKE_BALL2
+	const TINTOWER4F_POKE_BALL3
+
 TinTower4F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/TinTower5F.asm
+++ b/maps/TinTower5F.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const TINTOWER5F_POKE_BALL
+
 TinTower5F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/TinTower6F.asm
+++ b/maps/TinTower6F.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const TINTOWER6F_POKE_BALL
+
 TinTower6F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/TinTower7F.asm
+++ b/maps/TinTower7F.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const TINTOWER7F_POKE_BALL
+
 TinTower7F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/TinTower8F.asm
+++ b/maps/TinTower8F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const TINTOWER8F_POKE_BALL1
+	const TINTOWER8F_POKE_BALL2
+	const TINTOWER8F_POKE_BALL3
+
 TinTower8F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/TinTower9F.asm
+++ b/maps/TinTower9F.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const TINTOWER9F_POKE_BALL
+
 TinTower9F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/TinTowerRoof.asm
+++ b/maps/TinTowerRoof.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const TINTOWERROOF_HO_OH
+
 TinTowerRoof_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -17,11 +20,11 @@
 	jump UnknownScript_0x77241
 
 UnknownScript_0x7723e:
-	appear $2
+	appear TINTOWERROOF_HO_OH
 	return
 
 UnknownScript_0x77241:
-	disappear $2
+	disappear TINTOWERROOF_HO_OH
 	return
 
 HoOhScript_0x77244:
@@ -35,7 +38,7 @@
 	writecode VAR_BATTLETYPE, BATTLETYPE_FORCEITEM
 	scriptedpokedata HO_OH, 60
 	startbattle
-	disappear $2
+	disappear TINTOWERROOF_HO_OH
 	returnafterbattle
 	setevent EVENT_SET_WHEN_FOUGHT_HO_OH
 	end
--- a/maps/TohjoFalls.asm
+++ b/maps/TohjoFalls.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const TOHJOFALLS_POKE_BALL
+
 TohjoFalls_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/TradeCenter.asm
+++ b/maps/TradeCenter.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const TRADECENTER_CHRIS1
+	const TRADECENTER_CHRIS2
+
 TradeCenter_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -23,13 +27,13 @@
 TradeCenter_SetWhichChris:
 	special Special_CableClubCheckWhichChris
 	iffalse .Chris2
-	disappear $3
-	appear $2
+	disappear TRADECENTER_CHRIS2
+	appear TRADECENTER_CHRIS1
 	return
 
 .Chris2:
-	disappear $2
-	appear $3
+	disappear TRADECENTER_CHRIS1
+	appear TRADECENTER_CHRIS2
 	return
 
 TradeCenter_Initialize:
--- a/maps/TrainerHouse1F.asm
+++ b/maps/TrainerHouse1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const TRAINERHOUSE1F_RECEPTIONIST
+	const TRAINERHOUSE1F_COOLTRAINER_M
+	const TRAINERHOUSE1F_COOLTRAINER_F
+	const TRAINERHOUSE1F_YOUNGSTER
+	const TRAINERHOUSE1F_GENTLEMAN
+
 TrainerHouse1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/TrainerHouseB1F.asm
+++ b/maps/TrainerHouseB1F.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const TRAINERHOUSEB1F_RECEPTIONIST
+	const TRAINERHOUSEB1F_CHRIS
+
 TrainerHouseB1F_MapScriptHeader:
 .MapTriggers:
 	db 1
--- a/maps/Underground.asm
+++ b/maps/Underground.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 Underground_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/UndergroundPathSwitchRoomEntrances.asm
+++ b/maps/UndergroundPathSwitchRoomEntrances.asm
@@ -1,3 +1,16 @@
+const_value set 2
+	const UNDERGROUNDPATHSWITCHROOMENTRANCES_PHARMACIST1
+	const UNDERGROUNDPATHSWITCHROOMENTRANCES_PHARMACIST2
+	const UNDERGROUNDPATHSWITCHROOMENTRANCES_ROCKET1
+	const UNDERGROUNDPATHSWITCHROOMENTRANCES_ROCKET2
+	const UNDERGROUNDPATHSWITCHROOMENTRANCES_ROCKET3
+	const UNDERGROUNDPATHSWITCHROOMENTRANCES_ROCKET_GIRL
+	const UNDERGROUNDPATHSWITCHROOMENTRANCES_TEACHER
+	const UNDERGROUNDPATHSWITCHROOMENTRANCES_SUPER_NERD
+	const UNDERGROUNDPATHSWITCHROOMENTRANCES_POKE_BALL1
+	const UNDERGROUNDPATHSWITCHROOMENTRANCES_POKE_BALL2
+	const UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
+
 UndergroundPathSwitchRoomEntrances_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -83,14 +96,14 @@
 	special Special_RotatePalettesRightMusic
 	pause 15
 	playsound SFX_EXIT_BUILDING
-	appear $c
+	appear UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
 	waitsfx
-	applymovement $c, MovementData_0x7ce87
+	applymovement UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER, MovementData_0x7ce87
 	spriteface PLAYER, RIGHT
 	scall UnknownScript_0x7cad4
-	applymovement $c, MovementData_0x7ce92
+	applymovement UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER, MovementData_0x7ce92
 	playsound SFX_EXIT_BUILDING
-	disappear $c
+	disappear UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
 	dotrigger $1
 	waitsfx
 	playmapmusic
@@ -102,14 +115,14 @@
 	special Special_RotatePalettesRightMusic
 	pause 15
 	playsound SFX_EXIT_BUILDING
-	appear $c
+	appear UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
 	waitsfx
-	applymovement $c, MovementData_0x7ce8c
+	applymovement UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER, MovementData_0x7ce8c
 	spriteface PLAYER, RIGHT
 	scall UnknownScript_0x7cad4
-	applymovement $c, MovementData_0x7ce97
+	applymovement UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER, MovementData_0x7ce97
 	playsound SFX_EXIT_BUILDING
-	disappear $c
+	disappear UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
 	dotrigger $1
 	waitsfx
 	playmapmusic
--- a/maps/UndergroundWarehouse.asm
+++ b/maps/UndergroundWarehouse.asm
@@ -1,3 +1,12 @@
+const_value set 2
+	const UNDERGROUNDWAREHOUSE_ROCKET1
+	const UNDERGROUNDWAREHOUSE_ROCKET2
+	const UNDERGROUNDWAREHOUSE_ROCKET3
+	const UNDERGROUNDWAREHOUSE_GENTLEMAN
+	const UNDERGROUNDWAREHOUSE_POKE_BALL1
+	const UNDERGROUNDWAREHOUSE_POKE_BALL2
+	const UNDERGROUNDWAREHOUSE_POKE_BALL3
+
 UndergroundWarehouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/UnionCave1F.asm
+++ b/maps/UnionCave1F.asm
@@ -1,3 +1,14 @@
+const_value set 2
+	const UNIONCAVE1F_POKEFAN_M1
+	const UNIONCAVE1F_SUPER_NERD
+	const UNIONCAVE1F_POKEFAN_M2
+	const UNIONCAVE1F_FISHER1
+	const UNIONCAVE1F_FISHER2
+	const UNIONCAVE1F_POKE_BALL1
+	const UNIONCAVE1F_POKE_BALL2
+	const UNIONCAVE1F_POKE_BALL3
+	const UNIONCAVE1F_POKE_BALL4
+
 UnionCave1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/UnionCaveB1F.asm
+++ b/maps/UnionCaveB1F.asm
@@ -1,3 +1,12 @@
+const_value set 2
+	const UNIONCAVEB1F_POKEFAN_M1
+	const UNIONCAVEB1F_POKEFAN_M2
+	const UNIONCAVEB1F_SUPER_NERD1
+	const UNIONCAVEB1F_SUPER_NERD2
+	const UNIONCAVEB1F_POKE_BALL1
+	const UNIONCAVEB1F_BOULDER
+	const UNIONCAVEB1F_POKE_BALL2
+
 UnionCaveB1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/UnionCaveB2F.asm
+++ b/maps/UnionCaveB2F.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const UNIONCAVEB2F_ROCKER
+	const UNIONCAVEB2F_COOLTRAINER_F1
+	const UNIONCAVEB2F_COOLTRAINER_F2
+	const UNIONCAVEB2F_POKE_BALL1
+	const UNIONCAVEB2F_POKE_BALL2
+	const UNIONCAVEB2F_SURF
+
 UnionCaveB2F_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -15,11 +23,11 @@
 	checkcode VAR_WEEKDAY
 	if_equal FRIDAY, UnknownScript_0x5a31c
 UnknownScript_0x5a319:
-	disappear $7
+	disappear UNIONCAVEB2F_SURF
 	return
 
 UnknownScript_0x5a31c:
-	appear $7
+	appear UNIONCAVEB2F_SURF
 	return
 
 SurfScript_0x5a31f:
@@ -27,7 +35,7 @@
 	cry LAPRAS
 	scriptedpokedata LAPRAS, 20
 	startbattle
-	disappear $7
+	disappear UNIONCAVEB2F_SURF
 	setflag ENGINE_UNION_CAVE_LAPRAS
 	returnafterbattle
 	end
--- a/maps/VermilionCity.asm
+++ b/maps/VermilionCity.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const VERMILIONCITY_TEACHER
+	const VERMILIONCITY_GRAMPS
+	const VERMILIONCITY_MACHOP
+	const VERMILIONCITY_SUPER_NERD
+	const VERMILIONCITY_BIG_SNORLAX
+	const VERMILIONCITY_POKEFAN_M
+
 VermilionCity_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -51,7 +59,7 @@
 	writecode VAR_BATTLETYPE, BATTLETYPE_FORCEITEM
 	scriptedpokedata SNORLAX, 50
 	startbattle
-	disappear $6
+	disappear VERMILIONCITY_BIG_SNORLAX
 	setevent EVENT_FOUGHT_SNORLAX
 	returnafterbattle
 	end
--- a/maps/VermilionGym.asm
+++ b/maps/VermilionGym.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const VERMILIONGYM_SURGE
+	const VERMILIONGYM_GENTLEMAN
+	const VERMILIONGYM_ROCKER
+	const VERMILIONGYM_SUPER_NERD
+	const VERMILIONGYM_GYM_GUY
+
 VermilionGym_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/VermilionHouseDiglettsCaveSpeechHouse.asm
+++ b/maps/VermilionHouseDiglettsCaveSpeechHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const VERMILIONHOUSEDIGLETTSCAVESPEECHHOUSE_GENTLEMAN
+
 VermilionHouseDiglettsCaveSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/VermilionHouseFishingSpeechHouse.asm
+++ b/maps/VermilionHouseFishingSpeechHouse.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const VERMILIONHOUSEFISHINGSPEECHHOUSE_FISHING_GURU
+
 VermilionHouseFishingSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/VermilionMagnetTrainSpeechHouse.asm
+++ b/maps/VermilionMagnetTrainSpeechHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const VERMILIONMAGNETTRAINSPEECHHOUSE_POKEFAN_F
+	const VERMILIONMAGNETTRAINSPEECHHOUSE_YOUNGSTER
+
 VermilionMagnetTrainSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/VermilionMart.asm
+++ b/maps/VermilionMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const VERMILIONMART_CLERK
+	const VERMILIONMART_SUPER_NERD
+	const VERMILIONMART_BUENA
+
 VermilionMart_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/VermilionPokeCenter1F.asm
+++ b/maps/VermilionPokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const VERMILIONPOKECENTER1F_NURSE
+	const VERMILIONPOKECENTER1F_FISHING_GURU
+	const VERMILIONPOKECENTER1F_SAILOR
+	const VERMILIONPOKECENTER1F_BUG_CATCHER
+
 VermilionPokeCenter1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/VermilionPokeCenter2FBeta.asm
+++ b/maps/VermilionPokeCenter2FBeta.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 VermilionPokeCenter2FBeta_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/VermilionPort.asm
+++ b/maps/VermilionPort.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const VERMILIONPORT_SAILOR1
+	const VERMILIONPORT_SAILOR2
+	const VERMILIONPORT_SUPER_NERD
+
 VermilionPort_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -25,7 +30,7 @@
 
 UnknownScript_0x74da6:
 	applymovement PLAYER, MovementData_0x74ef3
-	appear $2
+	appear VERMILIONPORT_SAILOR1
 	dotrigger $0
 	setevent EVENT_FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN_TWIN_1
 	setevent EVENT_FAST_SHIP_CABINS_SE_SSE_GENTLEMAN
@@ -44,10 +49,10 @@
 	writetext UnknownText_0x74f06
 	waitbutton
 	closetext
-	spriteface $2, DOWN
+	spriteface VERMILIONPORT_SAILOR1, DOWN
 	pause 10
 	playsound SFX_EXIT_BUILDING
-	disappear $2
+	disappear VERMILIONPORT_SAILOR1
 	waitsfx
 	applymovement PLAYER, MovementData_0x74ef1
 	playsound SFX_EXIT_BUILDING
@@ -66,7 +71,7 @@
 	clearevent EVENT_BEAT_SCHOOLBOY_NATE
 	clearevent EVENT_BEAT_SCHOOLBOY_RICKY
 	setevent EVENT_FAST_SHIP_DESTINATION_OLIVINE
-	appear $2
+	appear VERMILIONPORT_SAILOR1
 	domaptrigger FAST_SHIP_1F, $1
 	warp FAST_SHIP_1F, $19, $1
 	end
@@ -78,7 +83,7 @@
 	end
 
 UnknownScript_0x74e20:
-	spriteface $3, RIGHT
+	spriteface VERMILIONPORT_SAILOR2, RIGHT
 	checkevent EVENT_GAVE_KURT_APRICORNS
 	iftrue UnknownScript_0x74e86
 	checkevent EVENT_RECEIVED_BALLS_FROM_KURT
--- a/maps/VermilionPortPassage.asm
+++ b/maps/VermilionPortPassage.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const VERMILIONPORTPASSAGE_TEACHER
+
 VermilionPortPassage_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/VictoryRoad.asm
+++ b/maps/VictoryRoad.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const VICTORYROAD_SILVER
+	const VICTORYROAD_POKE_BALL1
+	const VICTORYROAD_POKE_BALL2
+	const VICTORYROAD_POKE_BALL3
+	const VICTORYROAD_POKE_BALL4
+	const VICTORYROAD_POKE_BALL5
+
 VictoryRoad_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -16,16 +24,16 @@
 	end
 
 UnknownScript_0x74492:
-	moveperson $2, $12, $b
+	moveperson VICTORYROAD_SILVER, $12, $b
 	spriteface PLAYER, DOWN
 	showemote EMOTE_SHOCK, PLAYER, 15
 	special Special_RotatePalettesRightMusic
 	pause 15
-	appear $2
-	applymovement $2, MovementData_0x74539
+	appear VICTORYROAD_SILVER
+	applymovement VICTORYROAD_SILVER, MovementData_0x74539
 	scall UnknownScript_0x744d4
-	applymovement $2, MovementData_0x7454c
-	disappear $2
+	applymovement VICTORYROAD_SILVER, MovementData_0x7454c
+	disappear VICTORYROAD_SILVER
 	dotrigger $1
 	playmapmusic
 	end
@@ -35,11 +43,11 @@
 	showemote EMOTE_SHOCK, PLAYER, 15
 	special Special_RotatePalettesRightMusic
 	pause 15
-	appear $2
-	applymovement $2, MovementData_0x74542
+	appear VICTORYROAD_SILVER
+	applymovement VICTORYROAD_SILVER, MovementData_0x74542
 	scall UnknownScript_0x744d4
-	applymovement $2, MovementData_0x74555
-	disappear $2
+	applymovement VICTORYROAD_SILVER, MovementData_0x74555
+	disappear VICTORYROAD_SILVER
 	dotrigger $1
 	playmapmusic
 	end
--- a/maps/VictoryRoadGate.asm
+++ b/maps/VictoryRoadGate.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const VICTORYROADGATE_OFFICER
+	const VICTORYROADGATE_BLACK_BELT1
+	const VICTORYROADGATE_BLACK_BELT2
+
 VictoryRoadGate_MapScriptHeader:
 .MapTriggers:
 	db 2
--- a/maps/VioletCity.asm
+++ b/maps/VioletCity.asm
@@ -1,3 +1,13 @@
+const_value set 2
+	const VIOLETCITY_FISHER
+	const VIOLETCITY_LASS
+	const VIOLETCITY_SUPER_NERD
+	const VIOLETCITY_GRAMPS
+	const VIOLETCITY_YOUNGSTER
+	const VIOLETCITY_FRUIT_TREE
+	const VIOLETCITY_POKE_BALL1
+	const VIOLETCITY_POKE_BALL2
+
 VioletCity_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -13,7 +23,7 @@
 	return
 
 FisherScript_0x1a83bb:
-	applymovement $2, MovementData_0x1a8465
+	applymovement VIOLETCITY_FISHER, MovementData_0x1a8465
 	faceplayer
 	loadfont
 	writetext UnknownText_0x1a8473
@@ -32,10 +42,10 @@
 	waitbutton
 	closetext
 	playmusic MUSIC_SHOW_ME_AROUND
-	follow $2, PLAYER
-	applymovement $2, MovementData_0x1a842a
+	follow VIOLETCITY_FISHER, PLAYER
+	applymovement VIOLETCITY_FISHER, MovementData_0x1a842a
 	spriteface PLAYER, UP
-	applymovement $2, MovementData_0x1a8465
+	applymovement VIOLETCITY_FISHER, MovementData_0x1a8465
 	stopfollow
 	special RestartMapMusic
 	loadfont
@@ -42,10 +52,10 @@
 	writetext UnknownText_0x1a84f9
 	waitbutton
 	closetext
-	applymovement $2, MovementData_0x1a8465
-	applymovement $2, MovementData_0x1a8463
+	applymovement VIOLETCITY_FISHER, MovementData_0x1a8465
+	applymovement VIOLETCITY_FISHER, MovementData_0x1a8463
 	playsound SFX_ENTER_DOOR
-	disappear $2
+	disappear VIOLETCITY_FISHER
 	clearevent EVENT_EARLS_ACADEMY_EARL
 	waitsfx
 	end
--- a/maps/VioletGym.asm
+++ b/maps/VioletGym.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const VIOLETGYM_FALKNER
+	const VIOLETGYM_YOUNGSTER1
+	const VIOLETGYM_YOUNGSTER2
+	const VIOLETGYM_GYM_GUY
+
 VioletGym_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/VioletMart.asm
+++ b/maps/VioletMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const VIOLETMART_CLERK
+	const VIOLETMART_GRANNY
+	const VIOLETMART_COOLTRAINER_M
+
 VioletMart_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/VioletNicknameSpeechHouse.asm
+++ b/maps/VioletNicknameSpeechHouse.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const VIOLETNICKNAMESPEECHHOUSE_TEACHER
+	const VIOLETNICKNAMESPEECHHOUSE_LASS
+	const VIOLETNICKNAMESPEECHHOUSE_BIRD
+
 VioletNicknameSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/VioletOnixTradeHouse.asm
+++ b/maps/VioletOnixTradeHouse.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const VIOLETONIXTRADEHOUSE_POKEFAN_M
+	const VIOLETONIXTRADEHOUSE_YOUNGSTER
+
 VioletOnixTradeHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/VioletPokeCenter1F.asm
+++ b/maps/VioletPokeCenter1F.asm
@@ -1,3 +1,10 @@
+const_value set 2
+	const VIOLETPOKECENTER1F_NURSE
+	const VIOLETPOKECENTER1F_GAMEBOY_KID
+	const VIOLETPOKECENTER1F_GENTLEMAN
+	const VIOLETPOKECENTER1F_YOUNGSTER
+	const VIOLETPOKECENTER1F_SCIENTIST
+
 VioletPokeCenter1F_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -32,18 +39,18 @@
 	checkcode VAR_FACING
 	if_equal $1, .UnknownScript_0x69511
 	spriteface PLAYER, DOWN
-	applymovement $6, MovementData_0x69549
+	applymovement VIOLETPOKECENTER1F_SCIENTIST, MovementData_0x69549
 	playsound SFX_EXIT_BUILDING
-	disappear $6
+	disappear VIOLETPOKECENTER1F_SCIENTIST
 	waitsfx
 	end
 
 .UnknownScript_0x69511
-	applymovement $6, MovementData_0x6954e
+	applymovement VIOLETPOKECENTER1F_SCIENTIST, MovementData_0x6954e
 	spriteface PLAYER, DOWN
-	applymovement $6, MovementData_0x69551
+	applymovement VIOLETPOKECENTER1F_SCIENTIST, MovementData_0x69551
 	playsound SFX_EXIT_BUILDING
-	disappear $6
+	disappear VIOLETPOKECENTER1F_SCIENTIST
 	waitsfx
 	end
 
--- a/maps/ViridianCity.asm
+++ b/maps/ViridianCity.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const VIRIDIANCITY_GRAMPS1
+	const VIRIDIANCITY_GRAMPS2
+	const VIRIDIANCITY_FISHER
+	const VIRIDIANCITY_YOUNGSTER
+
 ViridianCity_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/ViridianGym.asm
+++ b/maps/ViridianGym.asm
@@ -1,3 +1,7 @@
+const_value set 2
+	const VIRIDIANGYM_BLUE
+	const VIRIDIANGYM_GYM_GUY
+
 ViridianGym_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/ViridianMart.asm
+++ b/maps/ViridianMart.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const VIRIDIANMART_CLERK
+	const VIRIDIANMART_LASS
+	const VIRIDIANMART_COOLTRAINER_M
+
 ViridianMart_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/ViridianNicknameSpeechHouse.asm
+++ b/maps/ViridianNicknameSpeechHouse.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const VIRIDIANNICKNAMESPEECHHOUSE_POKEFAN_M
+	const VIRIDIANNICKNAMESPEECHHOUSE_LASS
+	const VIRIDIANNICKNAMESPEECHHOUSE_MOLTRES
+	const VIRIDIANNICKNAMESPEECHHOUSE_GROWLITHE
+
 ViridianNicknameSpeechHouse_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/ViridianPokeCenter1F.asm
+++ b/maps/ViridianPokeCenter1F.asm
@@ -1,3 +1,9 @@
+const_value set 2
+	const VIRIDIANPOKECENTER1F_NURSE
+	const VIRIDIANPOKECENTER1F_COOLTRAINER_M
+	const VIRIDIANPOKECENTER1F_COOLTRAINER_F
+	const VIRIDIANPOKECENTER1F_BUG_CATCHER
+
 ViridianPokeCenter1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/ViridianPokeCenter2FBeta.asm
+++ b/maps/ViridianPokeCenter2FBeta.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 ViridianPokeCenter2FBeta_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/WarehouseEntrance.asm
+++ b/maps/WarehouseEntrance.asm
@@ -1,3 +1,14 @@
+const_value set 2
+	const WAREHOUSEENTRANCE_SUPER_NERD1
+	const WAREHOUSEENTRANCE_SUPER_NERD2
+	const WAREHOUSEENTRANCE_SUPER_NERD3
+	const WAREHOUSEENTRANCE_SUPER_NERD4
+	const WAREHOUSEENTRANCE_POKE_BALL
+	const WAREHOUSEENTRANCE_GRAMPS
+	const WAREHOUSEENTRANCE_SUPER_NERD5
+	const WAREHOUSEENTRANCE_SUPER_NERD6
+	const WAREHOUSEENTRANCE_GRANNY
+
 WarehouseEntrance_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -52,56 +63,56 @@
 	if_equal SATURDAY, .Saturday
 
 .Sunday:
-	disappear $7
-	disappear $8
-	appear $9
-	appear $a
+	disappear WAREHOUSEENTRANCE_GRAMPS
+	disappear WAREHOUSEENTRANCE_SUPER_NERD5
+	appear WAREHOUSEENTRANCE_SUPER_NERD6
+	appear WAREHOUSEENTRANCE_GRANNY
 	return
 
 .Monday:
-	disappear $7
+	disappear WAREHOUSEENTRANCE_GRAMPS
 	checkmorn
 	iffalse .NotMondayMorning
-	appear $7
+	appear WAREHOUSEENTRANCE_GRAMPS
 .NotMondayMorning:
-	disappear $8
-	disappear $9
-	disappear $a
+	disappear WAREHOUSEENTRANCE_SUPER_NERD5
+	disappear WAREHOUSEENTRANCE_SUPER_NERD6
+	disappear WAREHOUSEENTRANCE_GRANNY
 	return
 
 .Tuesday:
-	disappear $7
-	appear $8
-	disappear $9
-	disappear $a
+	disappear WAREHOUSEENTRANCE_GRAMPS
+	appear WAREHOUSEENTRANCE_SUPER_NERD5
+	disappear WAREHOUSEENTRANCE_SUPER_NERD6
+	disappear WAREHOUSEENTRANCE_GRANNY
 	return
 
 .Wednesday:
-	disappear $7
-	disappear $8
-	appear $9
-	disappear $a
+	disappear WAREHOUSEENTRANCE_GRAMPS
+	disappear WAREHOUSEENTRANCE_SUPER_NERD5
+	appear WAREHOUSEENTRANCE_SUPER_NERD6
+	disappear WAREHOUSEENTRANCE_GRANNY
 	return
 
 .Thursday:
-	disappear $7
-	appear $8
-	disappear $9
-	disappear $a
+	disappear WAREHOUSEENTRANCE_GRAMPS
+	appear WAREHOUSEENTRANCE_SUPER_NERD5
+	disappear WAREHOUSEENTRANCE_SUPER_NERD6
+	disappear WAREHOUSEENTRANCE_GRANNY
 	return
 
 .Friday:
-	disappear $7
-	disappear $8
-	appear $9
-	disappear $a
+	disappear WAREHOUSEENTRANCE_GRAMPS
+	disappear WAREHOUSEENTRANCE_SUPER_NERD5
+	appear WAREHOUSEENTRANCE_SUPER_NERD6
+	disappear WAREHOUSEENTRANCE_GRANNY
 	return
 
 .Saturday:
-	disappear $7
-	appear $8
-	disappear $9
-	appear $a
+	disappear WAREHOUSEENTRANCE_GRAMPS
+	appear WAREHOUSEENTRANCE_SUPER_NERD5
+	disappear WAREHOUSEENTRANCE_SUPER_NERD6
+	appear WAREHOUSEENTRANCE_GRANNY
 	return
 
 TrainerSupernerdEric:
--- a/maps/WhirlIslandB1F.asm
+++ b/maps/WhirlIslandB1F.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const WHIRLISLANDB1F_POKE_BALL1
+	const WHIRLISLANDB1F_POKE_BALL2
+	const WHIRLISLANDB1F_POKE_BALL3
+	const WHIRLISLANDB1F_POKE_BALL4
+	const WHIRLISLANDB1F_POKE_BALL5
+	const WHIRLISLANDB1F_BOULDER
+
 WhirlIslandB1F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/WhirlIslandB2F.asm
+++ b/maps/WhirlIslandB2F.asm
@@ -1,3 +1,8 @@
+const_value set 2
+	const WHIRLISLANDB2F_POKE_BALL1
+	const WHIRLISLANDB2F_POKE_BALL2
+	const WHIRLISLANDB2F_POKE_BALL3
+
 WhirlIslandB2F_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/WhirlIslandCave.asm
+++ b/maps/WhirlIslandCave.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 WhirlIslandCave_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/WhirlIslandLugiaChamber.asm
+++ b/maps/WhirlIslandLugiaChamber.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const WHIRLISLANDLUGIACHAMBER_LUGIA
+
 WhirlIslandLugiaChamber_MapScriptHeader:
 .MapTriggers:
 	db 0
@@ -17,11 +20,11 @@
 	jump UnknownScript_0x18c515
 
 UnknownScript_0x18c512:
-	appear $2
+	appear WHIRLISLANDLUGIACHAMBER_LUGIA
 	return
 
 UnknownScript_0x18c515:
-	disappear $2
+	disappear WHIRLISLANDLUGIACHAMBER_LUGIA
 	return
 
 LugiaScript_0x18c518:
@@ -35,7 +38,7 @@
 	writecode VAR_BATTLETYPE, BATTLETYPE_FORCEITEM
 	scriptedpokedata LUGIA, 60
 	startbattle
-	disappear $2
+	disappear WHIRLISLANDLUGIACHAMBER_LUGIA
 	returnafterbattle
 	end
 
--- a/maps/WhirlIslandNE.asm
+++ b/maps/WhirlIslandNE.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const WHIRLISLANDNE_POKE_BALL
+
 WhirlIslandNE_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/WhirlIslandNW.asm
+++ b/maps/WhirlIslandNW.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 WhirlIslandNW_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/WhirlIslandSE.asm
+++ b/maps/WhirlIslandSE.asm
@@ -1,3 +1,5 @@
+const_value set 2
+
 WhirlIslandSE_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/WhirlIslandSW.asm
+++ b/maps/WhirlIslandSW.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const WHIRLISLANDSW_POKE_BALL
+
 WhirlIslandSW_MapScriptHeader:
 .MapTriggers:
 	db 0
--- a/maps/WillsRoom.asm
+++ b/maps/WillsRoom.asm
@@ -1,3 +1,6 @@
+const_value set 2
+	const WILLSROOM_WILL
+
 WillsRoom_MapScriptHeader:
 .MapTriggers:
 	db 2
--- a/maps/WiseTriosRoom.asm
+++ b/maps/WiseTriosRoom.asm
@@ -1,3 +1,11 @@
+const_value set 2
+	const WISETRIOSROOM_SAGE1
+	const WISETRIOSROOM_SAGE2
+	const WISETRIOSROOM_SAGE3
+	const WISETRIOSROOM_SAGE4
+	const WISETRIOSROOM_SAGE5
+	const WISETRIOSROOM_SAGE6
+
 WiseTriosRoom_MapScriptHeader:
 .MapTriggers:
 	db 2
@@ -50,10 +58,10 @@
 	jumptextfaceplayer UnknownText_0x987af
 
 UnknownScript_0x985a3:
-	spriteface $4, UP
+	spriteface WISETRIOSROOM_SAGE3, UP
 	spriteface PLAYER, DOWN
-	showemote EMOTE_SHOCK, $4, 20
-	follow PLAYER, $4
+	showemote EMOTE_SHOCK, WISETRIOSROOM_SAGE3, 20
+	follow PLAYER, WISETRIOSROOM_SAGE3
 	applymovement PLAYER, MovementData_0x98622
 	stopfollow
 	spriteface PLAYER, RIGHT
@@ -61,8 +69,8 @@
 	writetext UnknownText_0x98712
 	waitbutton
 	closetext
-	applymovement $4, MovementData_0x98625
-	spriteface $4, LEFT
+	applymovement WISETRIOSROOM_SAGE3, MovementData_0x98625
+	spriteface WISETRIOSROOM_SAGE3, LEFT
 	end
 
 TrainerSageGaku:
@@ -92,7 +100,7 @@
 	checkevent EVENT_KOJI_ALLOWS_YOU_PASSAGE_TO_TIN_TOWER
 	iftrue UnknownScript_0x9861b
 	pause 10
-	showemote EMOTE_SHOCK, $7, 20
+	showemote EMOTE_SHOCK, WISETRIOSROOM_SAGE6, 20
 	loadfont
 	writetext UnknownText_0x98c6c
 	keeptextopen
@@ -99,8 +107,8 @@
 	writetext UnknownText_0x98cac
 	waitbutton
 	closetext
-	applymovement $7, MovementData_0x98628
-	spriteface $7, UP
+	applymovement WISETRIOSROOM_SAGE6, MovementData_0x98628
+	spriteface WISETRIOSROOM_SAGE6, UP
 	setevent EVENT_KOJI_ALLOWS_YOU_PASSAGE_TO_TIN_TOWER
 	dotrigger $1
 	end