shithub: pokecrystal

Download patch

ref: 7f68db68ad384c5cfb5d01cf74f5bc5cd7c5050e
parent: 5b7fc7b0fabec8461c9931cc31a15bf0b28cfe86
author: PikalaxALT <PikalaxALT@gmail.com>
date: Wed Dec 9 06:38:40 EST 2015

underground switches, town map

--- a/engine/billspc.asm
+++ b/engine/billspc.asm
@@ -2293,7 +2293,7 @@
 	ld a, $e4
 	call DmgToCgbBGPals
 	ld a, $fc
-	call Functioncf8
+	call DmgToCgbObjPal0
 	ret
 
 Functione33df: ; e33df (38:73df)
--- a/engine/card_flip.asm
+++ b/engine/card_flip.asm
@@ -1756,7 +1756,7 @@
 	ld a, $e4
 	call DmgToCgbBGPals
 	ld a, $24
-	call Functioncf8
+	call DmgToCgbObjPal0
 	xor a
 	ld [wd0ec], a
 	call DelayFrame
--- a/engine/compose_mail.asm
+++ b/engine/compose_mail.asm
@@ -57,7 +57,7 @@
 	ld a, %11100100
 	call DmgToCgbBGPals
 	ld a, %11100100
-	call Functioncf8
+	call DmgToCgbObjPal0
 	call Function11be0
 	ld hl, wc6d0
 	ld e, [hl]
--- a/engine/dummy_game.asm
+++ b/engine/dummy_game.asm
@@ -39,7 +39,7 @@
 	ld a, $e4
 	call DmgToCgbBGPals
 	ld a, $e0
-	call Functioncf8
+	call DmgToCgbObjPal0
 	ret
 
 Functione1ebb: ; e1ebb (38:5ebb)
--- a/engine/healmachineanim.asm
+++ b/engine/healmachineanim.asm
@@ -13,7 +13,7 @@
 	ld [Buffer2], a
 	call .DoJumptableFunctions
 	ld a, [Buffer2]
-	call Functiond24
+	call DmgToCgbObjPal1
 	ret
 ; 1233e
 
--- a/engine/more_phone_scripts.asm
+++ b/engine/more_phone_scripts.asm
@@ -1,8 +1,8 @@
 UnknownScript_0xa0000:
 	special RandomPhoneMon
-	farscall UnknownScript_0xbde3f
-	if_equal $0, UnknownScript_0xa0013
-	farscall UnknownScript_0xbe51e
+	farscall PhoneScript_Random2
+	if_equal 0, UnknownScript_0xa0013
+	farscall PhoneScript_Generic_Male
 	farjump UnknownScript_0xa003e
 
 UnknownScript_0xa0013:
@@ -10,9 +10,9 @@
 
 UnknownScript_0xa0017:
 	special RandomPhoneMon
-	farscall UnknownScript_0xbde3f
-	if_equal $0, UnknownScript_0xa002a
-	farscall UnknownScript_0xbe5d0
+	farscall PhoneScript_Random2
+	if_equal 0, UnknownScript_0xa002a
+	farscall PhoneScript_Generic_Female
 	farjump UnknownScript_0xa0055
 
 UnknownScript_0xa002a:
@@ -28,10 +28,10 @@
 
 UnknownScript_0xa003e:
 	special RandomPhoneWildMon
-	farscall UnknownScript_0xbde3f
-	if_equal $0, UnknownScript_0xa0051
+	farscall PhoneScript_Random2
+	if_equal 0, UnknownScript_0xa0051
 	farscall UnknownScript_0xa017a
-	farjump UnknownScript_0xa0484
+	farjump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0051:
 	farjump UnknownScript_0xa006c
@@ -38,10 +38,10 @@
 
 UnknownScript_0xa0055:
 	special RandomPhoneWildMon
-	farscall UnknownScript_0xbde3f
-	if_equal $0, UnknownScript_0xa0068
+	farscall PhoneScript_Random2
+	if_equal 0, UnknownScript_0xa0068
 	farscall UnknownScript_0xa0226
-	farjump UnknownScript_0xa053a
+	farjump PhoneScript_HangupText_Female
 
 UnknownScript_0xa0068:
 	farjump UnknownScript_0xa0074
@@ -48,11 +48,11 @@
 
 UnknownScript_0xa006c:
 	farscall UnknownScript_0xa0278
-	farjump UnknownScript_0xa0484
+	farjump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0074:
 	farscall UnknownScript_0xa0324
-	farjump UnknownScript_0xa053a
+	farjump PhoneScript_HangupText_Female
 
 UnknownScript_0xa007c:
 	checkcode VAR_CALLERID
@@ -523,14 +523,14 @@
 	end
 
 UnknownScript_0xa0376:
-	farscall UnknownScript_0xa0386
-	farjump UnknownScript_0xa0484
+	farscall PhoneScript_RematchText_Male
+	farjump PhoneScript_HangupText_Male
 
 UnknownScript_0xa037e:
-	farscall UnknownScript_0xa0432
-	farjump UnknownScript_0xa053a
+	farscall PhoneScript_RematchText_Female
+	farjump PhoneScript_HangupText_Female
 
-UnknownScript_0xa0386:
+PhoneScript_RematchText_Male:
 	checkcode VAR_CALLERID
 	if_equal PHONE_SCHOOLBOY_JACK, .Jack
 	if_equal PHONE_SAILOR_HUEY, .Huey
@@ -635,7 +635,7 @@
 	buttonsound
 	end
 
-UnknownScript_0xa0432:
+PhoneScript_RematchText_Female:
 	checkcode VAR_CALLERID
 	if_equal PHONE_COOLTRAINERF_BETH, .Beth
 	if_equal PHONE_COOLTRAINERF_REENA, .Reena
@@ -688,7 +688,7 @@
 	farwritetext UnknownText_0x66796
 	end
 
-UnknownScript_0xa0484:
+PhoneScript_HangupText_Male:
 	checkcode VAR_CALLERID
 	if_equal PHONE_SCHOOLBOY_JACK, .Jack
 	if_equal PHONE_SAILOR_HUEY, .Huey
@@ -791,7 +791,7 @@
 	farwritetext UnknownText_0x670eb
 	end
 
-UnknownScript_0xa053a:
+PhoneScript_HangupText_Female:
 	checkcode VAR_CALLERID
 	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
 	if_equal PHONE_COOLTRAINERF_BETH, .Beth
@@ -840,7 +840,7 @@
 	farjump UnknownScript_0xa0000
 
 UnknownScript_0xa058e:
-	farjump UnknownScript_0xa0484
+	farjump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0592:
 	scall UnknownScript_0xa05a0
@@ -848,7 +848,7 @@
 	farjump UnknownScript_0xa0017
 
 UnknownScript_0xa059c:
-	farjump UnknownScript_0xa053a
+	farjump PhoneScript_HangupText_Female
 
 UnknownScript_0xa05a0:
 	special RandomPhoneRareWildMon
@@ -862,37 +862,37 @@
 .Wade:
 	farwritetext UnknownText_0x1759f7
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 .Derek:
 	farwritetext UnknownText_0x65c66
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa05be:
 	farwritetext UnknownText_0x64032
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa05c6:
 	farwritetext UnknownText_0x177378
 	buttonsound
-	jump UnknownScript_0xa053a
+	jump PhoneScript_HangupText_Female
 
 UnknownScript_0xa05ce:
 	farwritetext UnknownText_0x64b5f
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa05d6:
 	farwritetext UnknownText_0x175dd9
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa05de:
 	farwritetext UnknownText_0x176c61
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa05e6:
 	checkcode VAR_CALLERID
@@ -953,270 +953,270 @@
 UnknownScript_0xa0644:
 	farwritetext UnknownText_0x176feb
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa064c:
 	farwritetext UnknownText_0x66dc5
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0654:
-	random $b
-	if_equal $0, UnknownScript_0xa0682
-	if_equal $1, UnknownScript_0xa068a
-	if_equal $2, UnknownScript_0xa0692
-	if_equal $3, UnknownScript_0xa069a
-	if_equal $4, UnknownScript_0xa06a2
-	if_equal $5, UnknownScript_0xa06aa
-	if_equal $6, UnknownScript_0xa06b2
-	if_equal $7, UnknownScript_0xa06ba
-	if_equal $8, UnknownScript_0xa06c2
-	if_equal $9, UnknownScript_0xa06ca
-	if_equal $a, UnknownScript_0xa06d2
+	random 11
+	if_equal  0, UnknownScript_0xa0682
+	if_equal  1, UnknownScript_0xa068a
+	if_equal  2, UnknownScript_0xa0692
+	if_equal  3, UnknownScript_0xa069a
+	if_equal  4, UnknownScript_0xa06a2
+	if_equal  5, UnknownScript_0xa06aa
+	if_equal  6, UnknownScript_0xa06b2
+	if_equal  7, UnknownScript_0xa06ba
+	if_equal  8, UnknownScript_0xa06c2
+	if_equal  9, UnknownScript_0xa06ca
+	if_equal 10, UnknownScript_0xa06d2
 
 UnknownScript_0xa0682:
 	farwritetext UnknownText_0x174261
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa068a:
 	farwritetext UnknownText_0x17429d
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0692:
 	farwritetext UnknownText_0x1742ee
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa069a:
 	farwritetext UnknownText_0x174340
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa06a2:
 	farwritetext UnknownText_0x174391
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa06aa:
 	farwritetext UnknownText_0x1743e3
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa06b2:
 	farwritetext UnknownText_0x174433
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa06ba:
 	farwritetext UnknownText_0x174485
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa06c2:
 	farwritetext UnknownText_0x1744d6
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa06ca:
 	farwritetext UnknownText_0x174522
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa06d2:
 	farwritetext UnknownText_0x174571
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa06da:
-	random $a
-	if_equal $0, UnknownScript_0xa0704
-	if_equal $1, UnknownScript_0xa070c
-	if_equal $2, UnknownScript_0xa0714
-	if_equal $3, UnknownScript_0xa071c
-	if_equal $4, UnknownScript_0xa0724
-	if_equal $5, UnknownScript_0xa072c
-	if_equal $6, UnknownScript_0xa0734
-	if_equal $7, UnknownScript_0xa073c
-	if_equal $8, UnknownScript_0xa0744
-	if_equal $9, UnknownScript_0xa074c
+	random 10
+	if_equal 0, UnknownScript_0xa0704
+	if_equal 1, UnknownScript_0xa070c
+	if_equal 2, UnknownScript_0xa0714
+	if_equal 3, UnknownScript_0xa071c
+	if_equal 4, UnknownScript_0xa0724
+	if_equal 5, UnknownScript_0xa072c
+	if_equal 6, UnknownScript_0xa0734
+	if_equal 7, UnknownScript_0xa073c
+	if_equal 8, UnknownScript_0xa0744
+	if_equal 9, UnknownScript_0xa074c
 
 UnknownScript_0xa0704:
 	farwritetext UnknownText_0x176223
 	buttonsound
-	jump UnknownScript_0xa053a
+	jump PhoneScript_HangupText_Female
 
 UnknownScript_0xa070c:
 	farwritetext UnknownText_0x1762c3
 	buttonsound
-	jump UnknownScript_0xa053a
+	jump PhoneScript_HangupText_Female
 
 UnknownScript_0xa0714:
 	farwritetext UnknownText_0x17638a
 	buttonsound
-	jump UnknownScript_0xa053a
+	jump PhoneScript_HangupText_Female
 
 UnknownScript_0xa071c:
 	farwritetext UnknownText_0x176424
 	buttonsound
-	jump UnknownScript_0xa053a
+	jump PhoneScript_HangupText_Female
 
 UnknownScript_0xa0724:
 	farwritetext UnknownText_0x1764eb
 	buttonsound
-	jump UnknownScript_0xa053a
+	jump PhoneScript_HangupText_Female
 
 UnknownScript_0xa072c:
 	farwritetext UnknownText_0x176599
 	buttonsound
-	jump UnknownScript_0xa053a
+	jump PhoneScript_HangupText_Female
 
 UnknownScript_0xa0734:
 	farwritetext UnknownText_0x1766ac
 	buttonsound
-	jump UnknownScript_0xa053a
+	jump PhoneScript_HangupText_Female
 
 UnknownScript_0xa073c:
 	farwritetext UnknownText_0x17674f
 	buttonsound
-	jump UnknownScript_0xa053a
+	jump PhoneScript_HangupText_Female
 
 UnknownScript_0xa0744:
 	farwritetext UnknownText_0x176816
 	buttonsound
-	jump UnknownScript_0xa053a
+	jump PhoneScript_HangupText_Female
 
 UnknownScript_0xa074c:
 	farwritetext UnknownText_0x17686d
 	buttonsound
-	jump UnknownScript_0xa053a
+	jump PhoneScript_HangupText_Female
 
 UnknownScript_0xa0754:
-	random $a
-	if_equal $0, UnknownScript_0xa077e
-	if_equal $1, UnknownScript_0xa0786
-	if_equal $2, UnknownScript_0xa078e
-	if_equal $3, UnknownScript_0xa0796
-	if_equal $4, UnknownScript_0xa079e
-	if_equal $5, UnknownScript_0xa07a6
-	if_equal $6, UnknownScript_0xa07ae
-	if_equal $7, UnknownScript_0xa07b6
-	if_equal $8, UnknownScript_0xa07be
-	if_equal $9, UnknownScript_0xa07c6
+	random 10
+	if_equal 0, UnknownScript_0xa077e
+	if_equal 1, UnknownScript_0xa0786
+	if_equal 2, UnknownScript_0xa078e
+	if_equal 3, UnknownScript_0xa0796
+	if_equal 4, UnknownScript_0xa079e
+	if_equal 5, UnknownScript_0xa07a6
+	if_equal 6, UnknownScript_0xa07ae
+	if_equal 7, UnknownScript_0xa07b6
+	if_equal 8, UnknownScript_0xa07be
+	if_equal 9, UnknownScript_0xa07c6
 
 UnknownScript_0xa077e:
 	farwritetext UnknownText_0x65481
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0786:
 	farwritetext UnknownText_0x654ea
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa078e:
 	farwritetext UnknownText_0x65555
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0796:
 	farwritetext UnknownText_0x655c7
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa079e:
 	farwritetext UnknownText_0x65628
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa07a6:
 	farwritetext UnknownText_0x6569b
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa07ae:
 	farwritetext UnknownText_0x6574a
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa07b6:
 	farwritetext UnknownText_0x65810
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa07be:
 	farwritetext UnknownText_0x658c6
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa07c6:
 	farwritetext UnknownText_0x65969
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa07ce:
-	random $a
-	if_equal $0, UnknownScript_0xa07f8
-	if_equal $1, UnknownScript_0xa0800
-	if_equal $2, UnknownScript_0xa0808
-	if_equal $3, UnknownScript_0xa0810
-	if_equal $4, UnknownScript_0xa0818
-	if_equal $5, UnknownScript_0xa0820
-	if_equal $6, UnknownScript_0xa0828
-	if_equal $7, UnknownScript_0xa0830
-	if_equal $8, UnknownScript_0xa0838
-	if_equal $9, UnknownScript_0xa0840
+	random 10
+	if_equal 0, UnknownScript_0xa07f8
+	if_equal 1, UnknownScript_0xa0800
+	if_equal 2, UnknownScript_0xa0808
+	if_equal 3, UnknownScript_0xa0810
+	if_equal 4, UnknownScript_0xa0818
+	if_equal 5, UnknownScript_0xa0820
+	if_equal 6, UnknownScript_0xa0828
+	if_equal 7, UnknownScript_0xa0830
+	if_equal 8, UnknownScript_0xa0838
+	if_equal 9, UnknownScript_0xa0840
 
 UnknownScript_0xa07f8:
 	farwritetext UnknownText_0x662bc
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0800:
 	farwritetext UnknownText_0x662fc
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0808:
 	farwritetext UnknownText_0x66335
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0810:
 	farwritetext UnknownText_0x66366
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0818:
 	farwritetext UnknownText_0x663a1
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0820:
 	farwritetext UnknownText_0x663e6
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0828:
 	farwritetext UnknownText_0x66421
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0830:
 	farwritetext UnknownText_0x6645f
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0838:
 	farwritetext UnknownText_0x6649b
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0840:
 	farwritetext UnknownText_0x664dd
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0848:
 	checkevent EVENT_OPENED_MT_SILVER
@@ -1245,231 +1245,231 @@
 	iftrue UnknownScript_0xa0898
 	farwritetext UnknownText_0x646a3
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0898:
 	farwritetext UnknownText_0x64099
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa08a0:
 	farwritetext UnknownText_0x640e6
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa08a8:
 	farwritetext UnknownText_0x6416d
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa08b0:
 	farwritetext UnknownText_0x641e8
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa08b8:
 	farwritetext UnknownText_0x64247
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa08c0:
 	farwritetext UnknownText_0x642bb
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa08c8:
 	farwritetext UnknownText_0x643d4
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa08d0:
 	farwritetext UnknownText_0x64448
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa08d8:
 	farwritetext UnknownText_0x6455b
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa08e0:
 	farwritetext UnknownText_0x645ff
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa08e8:
 	farwritetext UnknownText_0x646df
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa08f0:
 	farwritetext UnknownText_0x647d8
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa08f8:
 	farwritetext UnknownText_0x1745c2
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0900:
 	farwritetext UnknownText_0x17485b
 	buttonsound
-	jump UnknownScript_0xa053a
+	jump PhoneScript_HangupText_Female
 
 UnknownScript_0xa0908:
 	farwritetext UnknownText_0x17496b
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0910:
 	farwritetext UnknownText_0x174c29
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0918:
 	farwritetext UnknownText_0x174ec5
 	buttonsound
-	jump UnknownScript_0xa053a
+	jump PhoneScript_HangupText_Female
 
 UnknownScript_0xa0920:
 	farwritetext UnknownText_0x17519b
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0928:
 	farwritetext UnknownText_0x17549b
 	buttonsound
-	jump UnknownScript_0xa053a
+	jump PhoneScript_HangupText_Female
 
 UnknownScript_0xa0930:
 	farwritetext UnknownText_0x17571d
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0938:
 	farwritetext UnknownText_0x175abe
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0940:
 	farwritetext UnknownText_0x175eaf
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0948:
 	farwritetext UnknownText_0x1768b0
 	buttonsound
-	jump UnknownScript_0xa053a
+	jump PhoneScript_HangupText_Female
 
 UnknownScript_0xa0950:
 	farwritetext UnknownText_0x176d32
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0958:
 	farwritetext UnknownText_0x1770fb
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0960:
 	farwritetext UnknownText_0x177465
 	buttonsound
-	jump UnknownScript_0xa053a
+	jump PhoneScript_HangupText_Female
 
 UnknownScript_0xa0968:
 	farwritetext UnknownText_0x64bc6
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0970:
 	farwritetext UnknownText_0x64e90
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0978:
 	farwritetext UnknownText_0x65161
 	buttonsound
-	jump UnknownScript_0xa053a
+	jump PhoneScript_HangupText_Female
 
 UnknownScript_0xa0980:
 	farwritetext UnknownText_0x65a23
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0988:
 	farwritetext UnknownText_0x65d5c
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0990:
 	farwritetext UnknownText_0x65ff2
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0998:
 	farwritetext UnknownText_0x6651e
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa09a0:
 	farwritetext UnknownText_0x66882
 	buttonsound
-	jump UnknownScript_0xa053a
+	jump PhoneScript_HangupText_Female
 
 UnknownScript_0xa09a8:
 	farwritetext UnknownText_0x66aa5
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa09b0:
 	farwritetext UnknownText_0x66ca7
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa09b8:
 	farwritetext UnknownText_0x67106
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa09c0:
 	farwritetext UnknownText_0x67294
 	buttonsound
-	jump UnknownScript_0xa053a
+	jump PhoneScript_HangupText_Female
 
 UnknownScript_0xa09c8:
-	random $3
-	if_equal $0, UnknownScript_0xa09d6
-	if_equal $1, UnknownScript_0xa09de
-	if_equal $2, UnknownScript_0xa09e6
+	random 3
+	if_equal 0, UnknownScript_0xa09d6
+	if_equal 1, UnknownScript_0xa09de
+	if_equal 2, UnknownScript_0xa09e6
 
 UnknownScript_0xa09d6:
 	farwritetext UnknownText_0x64846
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa09de:
 	farwritetext UnknownText_0x64881
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa09e6:
 	farwritetext UnknownText_0x648dc
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa09ee:
 	checkcode VAR_KENJI_BREAK
-	if_equal $2, UnknownScript_0xa0a00
-	if_equal $1, UnknownScript_0xa0a08
+	if_equal 2, UnknownScript_0xa0a00
+	if_equal 1, UnknownScript_0xa0a08
 	farwritetext UnknownText_0x66e17
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0a00:
 	farwritetext UnknownText_0x66e67
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0a08:
 	checkmorn
@@ -1479,17 +1479,17 @@
 	setevent EVENT_KENJI_ON_BREAK
 	farwritetext UnknownText_0x66f11
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0a1d:
 	farwritetext UnknownText_0x66ed3
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0a25:
 	farwritetext UnknownText_0x66f52
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0a2d:
 	farwritetext UnknownText_0x174638
@@ -1590,52 +1590,52 @@
 UnknownScript_0xa0aa5:
 	farwritetext UnknownText_0x174895
 	buttonsound
-	jump UnknownScript_0xa053a
+	jump PhoneScript_HangupText_Female
 
 UnknownScript_0xa0aad:
 	farwritetext UnknownText_0x17529c
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0ab5:
 	farwritetext UnknownText_0x175b6d
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0abd:
 	farwritetext UnknownText_0x17750e
 	buttonsound
-	jump UnknownScript_0xa053a
+	jump PhoneScript_HangupText_Female
 
 UnknownScript_0xa0ac5:
 	farwritetext UnknownText_0x64f1a
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0acd:
 	farwritetext UnknownText_0x6520f
 	buttonsound
-	jump UnknownScript_0xa053a
+	jump PhoneScript_HangupText_Female
 
 UnknownScript_0xa0ad5:
 	farwritetext UnknownText_0x65da6
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0add:
 	farwritetext UnknownText_0x66087
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0ae5:
 	farwritetext UnknownText_0x6691d
 	buttonsound
-	jump UnknownScript_0xa053a
+	jump PhoneScript_HangupText_Female
 
 UnknownScript_0xa0aed:
 	farwritetext UnknownText_0x66d45
 	buttonsound
-	jump UnknownScript_0xa0484
+	jump PhoneScript_HangupText_Male
 
 UnknownScript_0xa0af5:
 	farwritetext UnknownText_0x175f70
--- a/engine/phone_scripts.asm
+++ b/engine/phone_scripts.asm
@@ -1,3 +1,6 @@
+SWARM_DUNSPARCE EQU 0
+SWARM_YANMA     EQU 1
+
 UnusedPhoneScript: ; 0xbcea5
 	farwritetext UnusedPhoneText
 	end
@@ -53,13 +56,13 @@
 	jump UnknownScript_0xbcf37
 
 .violet ; 0xbcf15
-	displaylocation SPROUT_TOWER, 1
+	landmarktotext SPROUT_TOWER, 1
 	jump UnknownScript_0xbcedf
 .azalea ; 0xbcf1b
-	displaylocation SLOWPOKE_WELL, 1
+	landmarktotext SLOWPOKE_WELL, 1
 	jump UnknownScript_0xbcedf
 .goldenrod ; 0xbcf21
-	displaylocation RADIO_TOWER, 1
+	landmarktotext RADIO_TOWER, 1
 	jump UnknownScript_0xbcedf
 
 UnknownScript_0xbcf27: ; 0xbcf27
@@ -302,7 +305,7 @@
 	trainertotext SCHOOLBOY, JACK1, $0
 	checkflag ENGINE_JACK
 	iftrue UnknownScript_0xbd0f3
-	farscall UnknownScript_0xbde4e
+	farscall PhoneScript_AnswerPhone_Male
 	checkflag ENGINE_JACK_MONDAY_MORNING
 	iftrue UnknownScript_0xbd0ef
 	checkcode VAR_WEEKDAY
@@ -314,23 +317,23 @@
 	farjump UnknownScript_0xa08f8
 
 UnknownScript_0xbd0f3:
-	displaylocation NATIONAL_PARK, $2
+	landmarktotext NATIONAL_PARK, $2
 	farjump UnknownScript_0xa0a2d
 
 JackPhoneScript2:
 	trainertotext SCHOOLBOY, JACK1, $0
-	farscall UnknownScript_0xbe1b6
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_GreetPhone_Male
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbd13b
 	checkflag ENGINE_JACK
 	iftrue UnknownScript_0xbd11e
 	checkflag ENGINE_JACK_MONDAY_MORNING
 	iftrue UnknownScript_0xbd11e
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbd12d
 
 UnknownScript_0xbd11e:
-	farscall UnknownScript_0xbde42
+	farscall PhoneScript_Random3
 	if_equal $0, UnknownScript_0xbd137
 	farjump UnknownScript_0xa0000
 
@@ -338,7 +341,7 @@
 	setflag ENGINE_JACK_MONDAY_MORNING
 
 UnknownScript_0xbd12d:
-	displaylocation NATIONAL_PARK, $2
+	landmarktotext NATIONAL_PARK, $2
 	setflag ENGINE_JACK
 	farjump UnknownScript_0xa0376
 
@@ -352,21 +355,21 @@
 
 BeverlyPhoneScript1:
 	trainertotext POKEFANF, BEVERLY1, $0
-	farscall UnknownScript_0xbe0b6
+	farscall PhoneScript_AnswerPhone_Female
 	checkflag ENGINE_BEVERLY_HAS_NUGGET
 	iftrue UnknownScript_0xbd151
 	farjump UnknownScript_0xa0900
 
 UnknownScript_0xbd151:
-	displaylocation NATIONAL_PARK, $2
+	landmarktotext NATIONAL_PARK, $2
 	farjump UnknownScript_0xa0aa5
 
 BeverlyPhoneScript2:
 	trainertotext POKEFANF, BEVERLY1, $0
-	farscall UnknownScript_0xbe41e
+	farscall PhoneScript_GreetPhone_Female
 	checkflag ENGINE_BEVERLY_HAS_NUGGET
 	iftrue UnknownScript_0xbd16e
-	farscall UnknownScript_0xbde45
+	farscall PhoneScript_Random4
 	if_equal $0, UnknownScript_0xbd172
 
 UnknownScript_0xbd16e:
@@ -374,7 +377,7 @@
 
 UnknownScript_0xbd172:
 	setflag ENGINE_BEVERLY_HAS_NUGGET
-	displaylocation NATIONAL_PARK, $2
+	landmarktotext NATIONAL_PARK, $2
 	farjump UnknownScript_0xa061e
 
 ; Huey
@@ -383,7 +386,7 @@
 	trainertotext SAILOR, HUEY1, $0
 	checkflag ENGINE_HUEY
 	iftrue UnknownScript_0xbd1a2
-	farscall UnknownScript_0xbde4e
+	farscall PhoneScript_AnswerPhone_Male
 	checkflag ENGINE_HUEY_WEDNESDAY_NIGHT
 	iftrue UnknownScript_0xbd19b
 	checkcode VAR_WEEKDAY
@@ -396,28 +399,28 @@
 	farjump UnknownScript_0xa0908
 
 UnknownScript_0xbd1a2:
-	displaylocation LIGHTHOUSE, $2
+	landmarktotext LIGHTHOUSE, $2
 	farjump UnknownScript_0xa0a32
 
 HueyPhoneScript2:
 	trainertotext SAILOR, HUEY1, $0
-	farscall UnknownScript_0xbe1b6
+	farscall PhoneScript_GreetPhone_Male
 	checkflag ENGINE_HUEY
 	iftrue UnknownScript_0xbd1c9
 	checkflag ENGINE_HUEY_WEDNESDAY_NIGHT
 	iftrue UnknownScript_0xbd1c9
-	farscall UnknownScript_0xbde42
+	farscall PhoneScript_Random3
 	if_equal $0, UnknownScript_0xbd1d0
 	if_equal $1, UnknownScript_0xbd1d0
 
 UnknownScript_0xbd1c9:
-	farjump UnknownScript_0xbe622
+	farjump PhoneScript_MonFlavorText
 
 UnknownScript_0xbd1cd:
 	setflag ENGINE_HUEY_WEDNESDAY_NIGHT
 
 UnknownScript_0xbd1d0:
-	displaylocation LIGHTHOUSE, $2
+	landmarktotext LIGHTHOUSE, $2
 	setflag ENGINE_HUEY
 	farjump UnknownScript_0xa0376
 
@@ -427,7 +430,7 @@
 	trainertotext COOLTRAINERM, GAVEN3, $0
 	checkflag ENGINE_GAVEN
 	iftrue UnknownScript_0xbd1fd
-	farscall UnknownScript_0xbde4e
+	farscall PhoneScript_AnswerPhone_Male
 	checkflag ENGINE_GAVEN_THURSDAY_MORNING
 	iftrue UnknownScript_0xbd1f9
 	checkcode VAR_WEEKDAY
@@ -439,21 +442,21 @@
 	farjump UnknownScript_0xa0910
 
 UnknownScript_0xbd1fd:
-	displaylocation ROUTE_26, $2
+	landmarktotext ROUTE_26, $2
 	farjump UnknownScript_0xa0a37
 
 GavenPhoneScript2:
 	trainertotext COOLTRAINERM, GAVEN3, $0
-	farscall UnknownScript_0xbe1b6
+	farscall PhoneScript_GreetPhone_Male
 	checkflag ENGINE_GAVEN
 	iftrue UnknownScript_0xbd220
 	checkflag ENGINE_GAVEN_THURSDAY_MORNING
 	iftrue UnknownScript_0xbd220
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbd22f
 
 UnknownScript_0xbd220:
-	farscall UnknownScript_0xbde42
+	farscall PhoneScript_Random3
 	if_equal $0, UnknownScript_0xbd239
 	farjump UnknownScript_0xa0000
 
@@ -461,7 +464,7 @@
 	setflag ENGINE_GAVEN_THURSDAY_MORNING
 
 UnknownScript_0xbd22f:
-	displaylocation ROUTE_26, $2
+	landmarktotext ROUTE_26, $2
 	setflag ENGINE_GAVEN
 	farjump UnknownScript_0xa0376
 
@@ -474,7 +477,7 @@
 	trainertotext COOLTRAINERF, BETH1, $0
 	checkflag ENGINE_BETH
 	iftrue UnknownScript_0xbd260
-	farscall UnknownScript_0xbe0b6
+	farscall PhoneScript_AnswerPhone_Female
 	checkflag ENGINE_BETH_FRIDAY_AFTERNOON
 	iftrue UnknownScript_0xbd25c
 	checkcode VAR_WEEKDAY
@@ -486,17 +489,17 @@
 	farjump UnknownScript_0xa0918
 
 UnknownScript_0xbd260:
-	displaylocation ROUTE_26, $2
+	landmarktotext ROUTE_26, $2
 	farjump UnknownScript_0xa0a3c
 
 BethPhoneScript2:
 	trainertotext COOLTRAINERF, BETH1, $0
-	farscall UnknownScript_0xbe41e
+	farscall PhoneScript_GreetPhone_Female
 	checkflag ENGINE_BETH
 	iftrue UnknownScript_0xbd283
 	checkflag ENGINE_BETH_FRIDAY_AFTERNOON
 	iftrue UnknownScript_0xbd283
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbd28a
 
 UnknownScript_0xbd283:
@@ -506,7 +509,7 @@
 	setflag ENGINE_BETH_FRIDAY_AFTERNOON
 
 UnknownScript_0xbd28a:
-	displaylocation ROUTE_26, $2
+	landmarktotext ROUTE_26, $2
 	setflag ENGINE_BETH
 	farjump UnknownScript_0xa037e
 
@@ -516,7 +519,7 @@
 	trainertotext BIRD_KEEPER, JOSE2, $0
 	checkflag ENGINE_JOSE
 	iftrue UnknownScript_0xbd2bd
-	farscall UnknownScript_0xbde4e
+	farscall PhoneScript_AnswerPhone_Male
 	checkflag ENGINE_JOSE_SATURDAY_NIGHT
 	iftrue UnknownScript_0xbd2b9
 	checkflag ENGINE_JOSE_HAS_STAR_PIECE
@@ -530,16 +533,16 @@
 	farjump UnknownScript_0xa0920
 
 UnknownScript_0xbd2bd:
-	displaylocation ROUTE_27, $2
+	landmarktotext ROUTE_27, $2
 	farjump UnknownScript_0xa0a41
 
 UnknownScript_0xbd2c4:
-	displaylocation ROUTE_27, $2
+	landmarktotext ROUTE_27, $2
 	farjump UnknownScript_0xa0a41
 
 JosePhoneScript2:
 	trainertotext BIRD_KEEPER, JOSE2, $0
-	farscall UnknownScript_0xbe1b6
+	farscall PhoneScript_GreetPhone_Male
 	checkflag ENGINE_JOSE
 	iftrue UnknownScript_0xbd2f5
 	checkflag ENGINE_JOSE_SATURDAY_NIGHT
@@ -546,13 +549,13 @@
 	iftrue UnknownScript_0xbd2f5
 	checkflag ENGINE_JOSE_HAS_STAR_PIECE
 	iftrue UnknownScript_0xbd2f5
-	farscall UnknownScript_0xbde42
+	farscall PhoneScript_Random3
 	if_equal $0, UnknownScript_0xbd304
-	farscall UnknownScript_0xbde42
+	farscall PhoneScript_Random3
 	if_equal $0, UnknownScript_0xbd312
 
 UnknownScript_0xbd2f5:
-	farscall UnknownScript_0xbde42
+	farscall PhoneScript_Random3
 	if_equal $0, UnknownScript_0xbd30e
 	farjump UnknownScript_0xa0000
 
@@ -560,7 +563,7 @@
 	setflag ENGINE_JOSE_SATURDAY_NIGHT
 
 UnknownScript_0xbd304:
-	displaylocation ROUTE_27, $2
+	landmarktotext ROUTE_27, $2
 	setflag ENGINE_JOSE
 	farjump UnknownScript_0xa0376
 
@@ -569,7 +572,7 @@
 
 UnknownScript_0xbd312:
 	setflag ENGINE_JOSE_HAS_STAR_PIECE
-	displaylocation ROUTE_27, $2
+	landmarktotext ROUTE_27, $2
 	farjump UnknownScript_0xa05e6
 
 ; Reena
@@ -578,7 +581,7 @@
 	trainertotext COOLTRAINERF, REENA1, $0
 	checkflag ENGINE_REENA
 	iftrue UnknownScript_0xbd33f
-	farscall UnknownScript_0xbe0b6
+	farscall PhoneScript_AnswerPhone_Female
 	checkflag ENGINE_REENA_SUNDAY_MORNING
 	iftrue UnknownScript_0xbd33b
 	checkcode VAR_WEEKDAY
@@ -590,17 +593,17 @@
 	farjump UnknownScript_0xa0928
 
 UnknownScript_0xbd33f:
-	displaylocation ROUTE_27, $2
+	landmarktotext ROUTE_27, $2
 	farjump UnknownScript_0xa0a46
 
 ReenaPhoneScript2:
 	trainertotext COOLTRAINERF, REENA1, $0
-	farscall UnknownScript_0xbe41e
+	farscall PhoneScript_GreetPhone_Female
 	checkflag ENGINE_REENA
 	iftrue UnknownScript_0xbd362
 	checkflag ENGINE_REENA_SUNDAY_MORNING
 	iftrue UnknownScript_0xbd362
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbd369
 
 UnknownScript_0xbd362:
@@ -610,7 +613,7 @@
 	setflag ENGINE_REENA_SUNDAY_MORNING
 
 UnknownScript_0xbd369:
-	displaylocation ROUTE_27, $2
+	landmarktotext ROUTE_27, $2
 	setflag ENGINE_REENA
 	farjump UnknownScript_0xa037e
 
@@ -620,7 +623,7 @@
 	trainertotext YOUNGSTER, JOEY1, $0
 	checkflag ENGINE_JOEY
 	iftrue UnknownScript_0xbd399
-	farscall UnknownScript_0xbde4e
+	farscall PhoneScript_AnswerPhone_Male
 	checkflag ENGINE_JOEY_MONDAY_AFTERNOON
 	iftrue UnknownScript_0xbd392
 	checkcode VAR_WEEKDAY
@@ -633,17 +636,17 @@
 	farjump UnknownScript_0xa0930
 
 UnknownScript_0xbd399:
-	displaylocation ROUTE_30, $2
+	landmarktotext ROUTE_30, $2
 	farjump UnknownScript_0xa0a4b
 
 JoeyPhoneScript2:
 	trainertotext YOUNGSTER, JOEY1, $0
-	farscall UnknownScript_0xbe1b6
+	farscall PhoneScript_GreetPhone_Male
 	checkflag ENGINE_JOEY
 	iftrue UnknownScript_0xbd3c0
 	checkflag ENGINE_JOEY_MONDAY_AFTERNOON
 	iftrue UnknownScript_0xbd3c0
-	farscall UnknownScript_0xbde42
+	farscall PhoneScript_Random3
 	if_equal $0, UnknownScript_0xbd3c7
 	if_equal $1, UnknownScript_0xbd3c7
 
@@ -654,7 +657,7 @@
 	setflag ENGINE_JOEY_MONDAY_AFTERNOON
 
 UnknownScript_0xbd3c7:
-	displaylocation ROUTE_30, $2
+	landmarktotext ROUTE_30, $2
 	setflag ENGINE_JOEY
 	farjump UnknownScript_0xa0376
 
@@ -664,7 +667,7 @@
 	trainertotext BUG_CATCHER, WADE1, $0
 	checkflag ENGINE_WADE
 	iftrue UnknownScript_0xbd41a
-	farscall UnknownScript_0xbde4e
+	farscall PhoneScript_AnswerPhone_Male
 	checkflag ENGINE_WADE_TUESDAY_NIGHT
 	iftrue UnknownScript_0xbd3f6
 	checkflag ENGINE_WADE_HAS_ITEM
@@ -675,7 +678,7 @@
 	iftrue UnknownScript_0xbd484
 
 UnknownScript_0xbd3f6:
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbd412
 	checkflag ENGINE_DAILY_BUG_CONTEST
 	iftrue UnknownScript_0xbd412
@@ -691,17 +694,17 @@
 	farjump UnknownScript_0xa05a4
 
 UnknownScript_0xbd41a:
-	displaylocation ROUTE_31, $2
+	landmarktotext ROUTE_31, $2
 	farjump UnknownScript_0xa0a50
 
 UnknownScript_0xbd421:
-	displaylocation ROUTE_31, $2
+	landmarktotext ROUTE_31, $2
 	farjump UnknownScript_0xa0ab5
 
 WadePhoneScript2:
 	trainertotext BUG_CATCHER, WADE1, $0
-	farscall UnknownScript_0xbe1b6
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_GreetPhone_Male
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbd44c
 	checkflag ENGINE_DAILY_BUG_CONTEST
 	iftrue UnknownScript_0xbd44c
@@ -717,15 +720,15 @@
 	iftrue UnknownScript_0xbd474
 	checkflag ENGINE_WADE_HAS_ITEM
 	iftrue UnknownScript_0xbd474
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbd495
 	checkflag ENGINE_FLYPOINT_GOLDENROD
 	iffalse UnknownScript_0xbd474
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbd487
 
 UnknownScript_0xbd474:
-	farscall UnknownScript_0xbde42
+	farscall PhoneScript_Random3
 	if_equal $0, UnknownScript_0xbd491
 	farjump UnknownScript_0xa0000
 
@@ -736,7 +739,7 @@
 	setflag ENGINE_WADE_TUESDAY_NIGHT
 
 UnknownScript_0xbd487:
-	displaylocation ROUTE_31, $2
+	landmarktotext ROUTE_31, $2
 	setflag ENGINE_WADE
 	farjump UnknownScript_0xa0376
 
@@ -745,7 +748,7 @@
 
 UnknownScript_0xbd495:
 	setflag ENGINE_WADE_HAS_ITEM
-	displaylocation ROUTE_31, $2
+	landmarktotext ROUTE_31, $2
 	clearevent EVENT_WADE_HAS_BERRY
 	clearevent EVENT_WADE_HAS_PSNCUREBERRY
 	clearevent EVENT_WADE_HAS_PRZCUREBERRY
@@ -779,59 +782,56 @@
 RalphPhoneScript1:
 	trainertotext FISHER, RALPH1, $0
 	checkflag ENGINE_RALPH
-	iftrue UnknownScript_0xbd4fb
-	farscall UnknownScript_0xbde4e
+	iftrue Ralph_Rematch
+	farscall PhoneScript_AnswerPhone_Male
 	checkflag ENGINE_RALPH_WEDNESDAY_MORNING
-	iftrue UnknownScript_0xbd4f1
+	iftrue Ralph_CheckSwarm
 	checkcode VAR_WEEKDAY
-	if_not_equal WEDNESDAY, UnknownScript_0xbd4f1
+	if_not_equal WEDNESDAY, Ralph_CheckSwarm
 	checkmorn
-	iftrue UnknownScript_0xbd537
-
-UnknownScript_0xbd4f1:
+	iftrue Ralph_WednesdayMorning
+Ralph_CheckSwarm:
 	checkflag ENGINE_SPECIAL_WILDDATA
-	iftrue UnknownScript_0xbd502
+	iftrue Ralph_ReportSwarm
 	farjump UnknownScript_0xa0940
 
-UnknownScript_0xbd4fb:
-	displaylocation ROUTE_32, $2
+Ralph_Rematch:
+	landmarktotext ROUTE_32, $2
 	farjump UnknownScript_0xa0a55
 
-UnknownScript_0xbd502:
-	displaylocation ROUTE_32, $2
+Ralph_ReportSwarm:
+	landmarktotext ROUTE_32, $2
 	farjump UnknownScript_0xa0af5
 
 RalphPhoneScript2:
 	trainertotext FISHER, RALPH1, $0
-	farscall UnknownScript_0xbe1b6
+	farscall PhoneScript_GreetPhone_Male
 	checkflag ENGINE_FLYPOINT_GOLDENROD
-	iffalse UnknownScript_0xbd52b
+	iffalse Ralph_CheckSwarm2
 	checkflag ENGINE_RALPH
-	iftrue UnknownScript_0xbd52b
+	iftrue Ralph_CheckSwarm2
 	checkflag ENGINE_RALPH_WEDNESDAY_MORNING
-	iftrue UnknownScript_0xbd52b
-	farscall UnknownScript_0xbde3f
-	if_equal $0, UnknownScript_0xbd53a
-
-UnknownScript_0xbd52b:
-	farscall UnknownScript_0xbde48
-	if_equal $0, UnknownScript_0xbd544
+	iftrue Ralph_CheckSwarm2
+	farscall PhoneScript_Random2
+	if_equal $0, Ralph_FightMe
+Ralph_CheckSwarm2:
+	farscall PhoneScript_Random5
+	if_equal $0, Ralph_SetUpSwarm
 	farjump UnknownScript_0xa0000
 
-UnknownScript_0xbd537:
+Ralph_WednesdayMorning:
 	setflag ENGINE_RALPH_WEDNESDAY_MORNING
-
-UnknownScript_0xbd53a:
-	displaylocation ROUTE_32, $2
+Ralph_FightMe:
+	landmarktotext ROUTE_32, $2
 	setflag ENGINE_RALPH
 	farjump UnknownScript_0xa0376
 
-UnknownScript_0xbd544:
+Ralph_SetUpSwarm:
 	checkflag ENGINE_SPECIAL_WILDDATA
 	iftrue UnknownScript_0xbd55c
 	setflag ENGINE_SPECIAL_WILDDATA
 	pokenamemem QWILFISH, $1
-	displaylocation ROUTE_32, $2
+	landmarktotext ROUTE_32, $2
 	writebyte $1
 	special Special_ActivateFishingSwarm
 	farjump UnknownScript_0xa05d6
@@ -845,7 +845,7 @@
 	trainertotext PICNICKER, LIZ1, $0
 	checkflag ENGINE_LIZ
 	iftrue UnknownScript_0xbd586
-	farscall UnknownScript_0xbe0b6
+	farscall PhoneScript_AnswerPhone_Female
 	checkflag ENGINE_LIZ_THURSDAY_AFTERNOON
 	iftrue UnknownScript_0xbd57f
 	checkcode VAR_WEEKDAY
@@ -858,14 +858,14 @@
 	farjump UnknownScript_0xa0948
 
 UnknownScript_0xbd586:
-	displaylocation ROUTE_32, $2
+	landmarktotext ROUTE_32, $2
 	farjump UnknownScript_0xa0a5a
 
 LizPhoneScript2:
 	trainertotext PICNICKER, LIZ1, $0
-	farscall UnknownScript_0xbde45
+	farscall PhoneScript_Random4
 	if_equal $0, UnknownScript_0xbd5d0
-	farscall UnknownScript_0xbe41e
+	farscall PhoneScript_GreetPhone_Female
 	checkflag ENGINE_LIZ
 	iftrue UnknownScript_0xbd5a9
 	checkflag ENGINE_LIZ_THURSDAY_AFTERNOON
@@ -872,11 +872,11 @@
 	iftrue UnknownScript_0xbd5a9
 
 UnknownScript_0xbd5a9:
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbd5d4
 	checkflag ENGINE_FLYPOINT_GOLDENROD
 	iffalse UnknownScript_0xbd5bf
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbd5c6
 
 UnknownScript_0xbd5bf:
@@ -886,7 +886,7 @@
 	setflag ENGINE_LIZ_THURSDAY_AFTERNOON
 
 UnknownScript_0xbd5c6:
-	displaylocation ROUTE_32, $2
+	landmarktotext ROUTE_32, $2
 	setflag ENGINE_LIZ
 	farjump UnknownScript_0xa037e
 
@@ -950,7 +950,7 @@
 	trainertotext HIKER, ANTHONY2, $0
 	checkflag ENGINE_ANTHONY
 	iftrue UnknownScript_0xbd65d
-	farscall UnknownScript_0xbde4e
+	farscall PhoneScript_AnswerPhone_Male
 	checkflag ENGINE_ANTHONY_FRIDAY_NIGHT
 	iftrue UnknownScript_0xbd653
 	checkcode VAR_WEEKDAY
@@ -964,16 +964,16 @@
 	farjump UnknownScript_0xa0950
 
 UnknownScript_0xbd65d:
-	displaylocation ROUTE_33, $2
+	landmarktotext ROUTE_33, $2
 	farjump UnknownScript_0xa0a5f
 
 UnknownScript_0xbd664:
-	displaylocation ROUTE_33, $2
+	landmarktotext ROUTE_33, $2
 	farjump UnknownScript_0xa0afa
 
 AnthonyPhoneScript2:
 	trainertotext HIKER, ANTHONY2, $0
-	farscall UnknownScript_0xbe1b6
+	farscall PhoneScript_GreetPhone_Male
 	checkflag ENGINE_FLYPOINT_GOLDENROD
 	iffalse UnknownScript_0xbd68d
 	checkflag ENGINE_ANTHONY
@@ -980,11 +980,11 @@
 	iftrue UnknownScript_0xbd68d
 	checkflag ENGINE_ANTHONY_FRIDAY_NIGHT
 	iftrue UnknownScript_0xbd68d
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbd69c
 
 UnknownScript_0xbd68d:
-	farscall UnknownScript_0xbde48
+	farscall PhoneScript_Random5
 	if_equal $0, UnknownScript_0xbd6a6
 	farjump UnknownScript_0xa0000
 
@@ -992,7 +992,7 @@
 	setflag ENGINE_ANTHONY_FRIDAY_NIGHT
 
 UnknownScript_0xbd69c:
-	displaylocation ROUTE_33, $2
+	landmarktotext ROUTE_33, $2
 	setflag ENGINE_ANTHONY
 	farjump UnknownScript_0xa0376
 
@@ -1001,8 +1001,8 @@
 	iftrue UnknownScript_0xbd6bd
 	setflag ENGINE_DUNSPARCE_SWARM
 	pokenamemem DUNSPARCE, $1
-	loadwilddata $0, DARK_CAVE_VIOLET_ENTRANCE
-	displaylocation DARK_CAVE, $2
+	swarm SWARM_DUNSPARCE, DARK_CAVE_VIOLET_ENTRANCE
+	landmarktotext DARK_CAVE, $2
 	farjump UnknownScript_0xa05de
 
 UnknownScript_0xbd6bd:
@@ -1014,7 +1014,7 @@
 	trainertotext CAMPER, TODD1, $0
 	checkflag ENGINE_TODD
 	iftrue UnknownScript_0xbd6ea
-	farscall UnknownScript_0xbde4e
+	farscall PhoneScript_AnswerPhone_Male
 	checkflag ENGINE_TODD_SATURDAY_MORNING
 	iftrue UnknownScript_0xbd6e0
 	checkcode VAR_WEEKDAY
@@ -1028,7 +1028,7 @@
 	farjump UnknownScript_0xa0958
 
 UnknownScript_0xbd6ea:
-	displaylocation ROUTE_34, $2
+	landmarktotext ROUTE_34, $2
 	farjump UnknownScript_0xa0a64
 
 UnknownScript_0xbd6f1:
@@ -1036,7 +1036,7 @@
 
 ToddPhoneScript2:
 	trainertotext CAMPER, TODD1, $0
-	farscall UnknownScript_0xbe1b6
+	farscall PhoneScript_GreetPhone_Male
 	checkflag ENGINE_TODD
 	iftrue UnknownScript_0xbd717
 	checkflag ENGINE_TODD_SATURDAY_MORNING
@@ -1043,15 +1043,15 @@
 	iftrue UnknownScript_0xbd717
 	checkflag ENGINE_FLYPOINT_GOLDENROD
 	iffalse UnknownScript_0xbd71f
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbd72e
 
 UnknownScript_0xbd717:
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbd73c
 
 UnknownScript_0xbd71f:
-	farscall UnknownScript_0xbde42
+	farscall PhoneScript_Random3
 	if_equal $0, UnknownScript_0xbd738
 	farjump UnknownScript_0xa0000
 
@@ -1059,7 +1059,7 @@
 	setflag ENGINE_TODD_SATURDAY_MORNING
 
 UnknownScript_0xbd72e:
-	displaylocation ROUTE_34, $2
+	landmarktotext ROUTE_34, $2
 	setflag ENGINE_TODD
 	farjump UnknownScript_0xa0376
 
@@ -1076,7 +1076,7 @@
 	trainertotext PICNICKER, GINA1, $0
 	checkflag ENGINE_GINA
 	iftrue UnknownScript_0xbd776
-	farscall UnknownScript_0xbe0b6
+	farscall PhoneScript_AnswerPhone_Female
 	checkflag ENGINE_GINA_SUNDAY_AFTERNOON
 	iftrue UnknownScript_0xbd768
 	checkflag ENGINE_GINA_HAS_LEAF_STONE
@@ -1095,16 +1095,16 @@
 	farjump UnknownScript_0xa05c6
 
 UnknownScript_0xbd776:
-	displaylocation ROUTE_34, $2
+	landmarktotext ROUTE_34, $2
 	farjump UnknownScript_0xa0a69
 
 UnknownScript_0xbd77d:
-	displaylocation ROUTE_34, $2
+	landmarktotext ROUTE_34, $2
 	farjump UnknownScript_0xa0abd
 
 GinaPhoneScript2:
 	trainertotext PICNICKER, GINA1, $0
-	farscall UnknownScript_0xbe41e
+	farscall PhoneScript_GreetPhone_Female
 	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
 	iftrue UnknownScript_0xbd7d9
 	checkflag ENGINE_GINA
@@ -1115,15 +1115,15 @@
 	iftrue UnknownScript_0xbd7c8
 	checkevent EVENT_GINA_GAVE_LEAF_STONE
 	iftrue UnknownScript_0xbd7b2
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbd7dd
 
 UnknownScript_0xbd7b2:
-	farscall UnknownScript_0xbde4b
+	farscall PhoneScript_Random11
 	if_equal $0, UnknownScript_0xbd7dd
 	checkflag ENGINE_FLYPOINT_GOLDENROD
 	iffalse UnknownScript_0xbd7c8
-	farscall UnknownScript_0xbde42
+	farscall PhoneScript_Random3
 	if_equal $0, UnknownScript_0xbd7cf
 
 UnknownScript_0xbd7c8:
@@ -1133,7 +1133,7 @@
 	setflag ENGINE_GINA_SUNDAY_AFTERNOON
 
 UnknownScript_0xbd7cf:
-	displaylocation ROUTE_34, $2
+	landmarktotext ROUTE_34, $2
 	setflag ENGINE_GINA
 	farjump UnknownScript_0xa037e
 
@@ -1142,7 +1142,7 @@
 
 UnknownScript_0xbd7dd:
 	setflag ENGINE_GINA_HAS_LEAF_STONE
-	displaylocation ROUTE_34, $2
+	landmarktotext ROUTE_34, $2
 	farjump UnknownScript_0xa061e
 
 ; Irwin
@@ -1149,7 +1149,7 @@
 
 IrwinPhoneScript1:
 	trainertotext JUGGLER, IRWIN1, $0
-	farscall UnknownScript_0xbde4e
+	farscall PhoneScript_AnswerPhone_Male
 	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
 	iftrue UnknownScript_0xbd7f9
 	farjump UnknownScript_0xa09c8
@@ -1159,7 +1159,7 @@
 
 IrwinPhoneScript2:
 	trainertotext JUGGLER, IRWIN1, $0
-	farscall UnknownScript_0xbe1b6
+	farscall PhoneScript_GreetPhone_Male
 	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
 	iftrue UnknownScript_0xbd80f
 	farjump UnknownScript_0xa0848
@@ -1173,7 +1173,7 @@
 	trainertotext BUG_CATCHER, ARNIE1, $0
 	checkflag ENGINE_ARNIE
 	iftrue UnknownScript_0xbd83c
-	farscall UnknownScript_0xbde4e
+	farscall PhoneScript_AnswerPhone_Male
 	checkflag ENGINE_ARNIE_TUESDAY_MORNING
 	iftrue UnknownScript_0xbd832
 	checkcode VAR_WEEKDAY
@@ -1187,27 +1187,27 @@
 	farjump UnknownScript_0xa0968
 
 UnknownScript_0xbd83c:
-	displaylocation ROUTE_35, $2
+	landmarktotext ROUTE_35, $2
 	farjump UnknownScript_0xa0a6e
 
 UnknownScript_0xbd843:
-	displaylocation ROUTE_35, $2
+	landmarktotext ROUTE_35, $2
 	farjump UnknownScript_0xa0aff
 
 ArniePhoneScript2:
 	trainertotext BUG_CATCHER, ARNIE1, $0
-	farscall UnknownScript_0xbe1b6
+	farscall PhoneScript_GreetPhone_Male
 	checkflag ENGINE_ARNIE
 	iftrue UnknownScript_0xbd866
 	checkflag ENGINE_ARNIE_TUESDAY_MORNING
 	iftrue UnknownScript_0xbd866
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbd87d
 
 UnknownScript_0xbd866:
-	farscall UnknownScript_0xbde48
+	farscall PhoneScript_Random5
 	if_equal $0, UnknownScript_0xbd887
-	farscall UnknownScript_0xbde42
+	farscall PhoneScript_Random3
 	if_equal $0, UnknownScript_0xbd89e
 	farjump UnknownScript_0xa0000
 
@@ -1215,17 +1215,17 @@
 	setflag ENGINE_ARNIE_TUESDAY_MORNING
 
 UnknownScript_0xbd87d:
-	displaylocation ROUTE_35, $2
+	landmarktotext ROUTE_35, $2
 	setflag ENGINE_ARNIE
 	farjump UnknownScript_0xa0376
 
-UnknownScript_0xbd887:
+UnknownScript_0xbd887: ; start swarm
 	checkflag ENGINE_YANMA_SWARM
 	iftrue UnknownScript_0xbd8a2
 	setflag ENGINE_YANMA_SWARM
 	pokenamemem YANMA, $1
-	loadwilddata $1, ROUTE_35
-	displaylocation ROUTE_35, $2
+	swarm SWARM_YANMA, ROUTE_35
+	landmarktotext ROUTE_35, $2
 	farjump UnknownScript_0xa05ce
 
 UnknownScript_0xbd89e:
@@ -1240,7 +1240,7 @@
 	trainertotext SCHOOLBOY, ALAN1, $0
 	checkflag ENGINE_ALAN
 	iftrue UnknownScript_0xbd8cf
-	farscall UnknownScript_0xbde4e
+	farscall PhoneScript_AnswerPhone_Male
 	checkflag ENGINE_ALAN_WEDNESDAY_AFTERNOON
 	iftrue UnknownScript_0xbd8cb
 	checkflag ENGINE_ALAN_HAS_FIRE_STONE
@@ -1254,16 +1254,16 @@
 	farjump UnknownScript_0xa0970
 
 UnknownScript_0xbd8cf:
-	displaylocation ROUTE_36, $2
+	landmarktotext ROUTE_36, $2
 	farjump UnknownScript_0xa0a73
 
 UnknownScript_0xbd8d6:
-	displaylocation ROUTE_36, $2
+	landmarktotext ROUTE_36, $2
 	farjump UnknownScript_0xa0ac5
 
 AlanPhoneScript2:
 	trainertotext SCHOOLBOY, ALAN1, $0
-	farscall UnknownScript_0xbe1b6
+	farscall PhoneScript_GreetPhone_Male
 	checkflag ENGINE_ALAN
 	iftrue UnknownScript_0xbd915
 	checkflag ENGINE_ALAN_WEDNESDAY_AFTERNOON
@@ -1270,15 +1270,15 @@
 	iftrue UnknownScript_0xbd915
 	checkflag ENGINE_ALAN_HAS_FIRE_STONE
 	iftrue UnknownScript_0xbd915
-	farscall UnknownScript_0xbde42
+	farscall PhoneScript_Random3
 	if_equal $0, UnknownScript_0xbd91c
 	checkevent EVENT_ALAN_GAVE_FIRE_STONE
 	iftrue UnknownScript_0xbd90d
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbd926
 
 UnknownScript_0xbd90d:
-	farscall UnknownScript_0xbde4b
+	farscall PhoneScript_Random11
 	if_equal $0, UnknownScript_0xbd926
 
 UnknownScript_0xbd915:
@@ -1288,13 +1288,13 @@
 	setflag ENGINE_ALAN_WEDNESDAY_AFTERNOON
 
 UnknownScript_0xbd91c:
-	displaylocation ROUTE_36, $2
+	landmarktotext ROUTE_36, $2
 	setflag ENGINE_ALAN
 	farjump UnknownScript_0xa0376
 
 UnknownScript_0xbd926:
 	setflag ENGINE_ALAN_HAS_FIRE_STONE
-	displaylocation ROUTE_36, $2
+	landmarktotext ROUTE_36, $2
 	farjump UnknownScript_0xa05e6
 
 ; Dana
@@ -1303,7 +1303,7 @@
 	trainertotext LASS, DANA1, $0
 	checkflag ENGINE_DANA
 	iftrue UnknownScript_0xbd959
-	farscall UnknownScript_0xbe0b6
+	farscall PhoneScript_AnswerPhone_Female
 	checkflag ENGINE_DANA_THURSDAY_NIGHT
 	iftrue UnknownScript_0xbd955
 	checkflag ENGINE_DANA_HAS_THUNDERSTONE
@@ -1317,16 +1317,16 @@
 	farjump UnknownScript_0xa0978
 
 UnknownScript_0xbd959:
-	displaylocation ROUTE_38, $2
+	landmarktotext ROUTE_38, $2
 	farjump UnknownScript_0xa0a78
 
 UnknownScript_0xbd960:
-	displaylocation ROUTE_38, $2
+	landmarktotext ROUTE_38, $2
 	farjump UnknownScript_0xa0acd
 
 DanaPhoneScript2:
 	trainertotext LASS, DANA1, $0
-	farscall UnknownScript_0xbe41e
+	farscall PhoneScript_GreetPhone_Female
 	checkflag ENGINE_DANA
 	iftrue UnknownScript_0xbd99f
 	checkflag ENGINE_DANA_THURSDAY_NIGHT
@@ -1333,19 +1333,19 @@
 	iftrue UnknownScript_0xbd99f
 	checkflag ENGINE_DANA_HAS_THUNDERSTONE
 	iftrue UnknownScript_0xbd99f
-	farscall UnknownScript_0xbde42
+	farscall PhoneScript_Random3
 	if_equal $0, UnknownScript_0xbd9ae
 	checkevent EVENT_DANA_GAVE_THUNDERSTONE
 	iftrue UnknownScript_0xbd997
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbd9bc
 
 UnknownScript_0xbd997:
-	farscall UnknownScript_0xbde4b
+	farscall PhoneScript_Random11
 	if_equal $0, UnknownScript_0xbd9bc
 
 UnknownScript_0xbd99f:
-	farscall UnknownScript_0xbde42
+	farscall PhoneScript_Random3
 	if_equal $0, UnknownScript_0xbd9b8
 	farjump UnknownScript_0xa0017
 
@@ -1353,7 +1353,7 @@
 	setflag ENGINE_DANA_THURSDAY_NIGHT
 
 UnknownScript_0xbd9ae:
-	displaylocation ROUTE_38, $2
+	landmarktotext ROUTE_38, $2
 	setflag ENGINE_DANA
 	farjump UnknownScript_0xa037e
 
@@ -1362,7 +1362,7 @@
 
 UnknownScript_0xbd9bc:
 	setflag ENGINE_DANA_HAS_THUNDERSTONE
-	displaylocation ROUTE_38, $2
+	landmarktotext ROUTE_38, $2
 	farjump UnknownScript_0xa061e
 
 ; Chad
@@ -1371,7 +1371,7 @@
 	trainertotext SCHOOLBOY, CHAD1, $0
 	checkflag ENGINE_CHAD
 	iftrue UnknownScript_0xbd9e9
-	farscall UnknownScript_0xbde4e
+	farscall PhoneScript_AnswerPhone_Male
 	checkflag ENGINE_CHAD_FRIDAY_MORNING
 	iftrue UnknownScript_0xbd9e5
 	checkcode VAR_WEEKDAY
@@ -1383,23 +1383,23 @@
 	farjump UnknownScript_0xa0980
 
 UnknownScript_0xbd9e9:
-	displaylocation ROUTE_38, $2
+	landmarktotext ROUTE_38, $2
 	farjump UnknownScript_0xa0a7d
 
 ChadPhoneScript2:
 	trainertotext SCHOOLBOY, CHAD1, $0
-	farscall UnknownScript_0xbe1b6
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_GreetPhone_Male
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbda31
 	checkflag ENGINE_CHAD
 	iftrue UnknownScript_0xbda14
 	checkflag ENGINE_CHAD_FRIDAY_MORNING
 	iftrue UnknownScript_0xbda14
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbda23
 
 UnknownScript_0xbda14:
-	farscall UnknownScript_0xbde42
+	farscall PhoneScript_Random3
 	if_equal $0, UnknownScript_0xbda2d
 	farjump UnknownScript_0xa0000
 
@@ -1407,7 +1407,7 @@
 	setflag ENGINE_CHAD_FRIDAY_MORNING
 
 UnknownScript_0xbda23:
-	displaylocation ROUTE_38, $2
+	landmarktotext ROUTE_38, $2
 	setflag ENGINE_CHAD
 	farjump UnknownScript_0xa0376
 
@@ -1419,10 +1419,10 @@
 
 DerekPhoneScript1:
 	trainertotext POKEFANM, DEREK1, $0
-	farscall UnknownScript_0xbde4e
+	farscall PhoneScript_AnswerPhone_Male
 	checkflag ENGINE_DEREK_HAS_NUGGET
 	iftrue UnknownScript_0xbda67
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbda5f
 	checkflag ENGINE_DAILY_BUG_CONTEST
 	iftrue UnknownScript_0xbda5f
@@ -1438,13 +1438,13 @@
 	farjump UnknownScript_0xa05a4
 
 UnknownScript_0xbda67:
-	displaylocation ROUTE_39, $2
+	landmarktotext ROUTE_39, $2
 	farjump UnknownScript_0xa0ad5
 
 DerekPhoneScript2:
 	trainertotext POKEFANM, DEREK1, $0
-	farscall UnknownScript_0xbe1b6
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_GreetPhone_Male
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbda92
 	checkflag ENGINE_DAILY_BUG_CONTEST
 	iftrue UnknownScript_0xbda92
@@ -1454,7 +1454,7 @@
 	if_equal SATURDAY, UnknownScript_0xbda9e
 
 UnknownScript_0xbda92:
-	farscall UnknownScript_0xbde45
+	farscall PhoneScript_Random4
 	if_equal $0, UnknownScript_0xbdaa2
 	farjump UnknownScript_0xa0000
 
@@ -1463,7 +1463,7 @@
 
 UnknownScript_0xbdaa2:
 	setflag ENGINE_DEREK_HAS_NUGGET
-	displaylocation ROUTE_39, $2
+	landmarktotext ROUTE_39, $2
 	farjump UnknownScript_0xa05e6
 
 TullyPhoneScript1:
@@ -1470,7 +1470,7 @@
 	trainertotext FISHER, TULLY1, $0
 	checkflag ENGINE_TULLY
 	iftrue UnknownScript_0xbdad5
-	farscall UnknownScript_0xbde4e
+	farscall PhoneScript_AnswerPhone_Male
 	checkflag ENGINE_TULLY_SUNDAY_NIGHT
 	iftrue UnknownScript_0xbdad1
 	checkflag ENGINE_TULLY_HAS_WATER_STONE
@@ -1484,16 +1484,16 @@
 	farjump UnknownScript_0xa0990
 
 UnknownScript_0xbdad5:
-	displaylocation ROUTE_42, $2
+	landmarktotext ROUTE_42, $2
 	farjump UnknownScript_0xa0a82
 
 UnknownScript_0xbdadc:
-	displaylocation ROUTE_42, $2
+	landmarktotext ROUTE_42, $2
 	farjump UnknownScript_0xa0add
 
 TullyPhoneScript2:
 	trainertotext FISHER, TULLY1, $0
-	farscall UnknownScript_0xbe1b6
+	farscall PhoneScript_GreetPhone_Male
 	checkflag ENGINE_TULLY
 	iftrue UnknownScript_0xbdb1b
 	checkflag ENGINE_TULLY_SUNDAY_NIGHT
@@ -1500,15 +1500,15 @@
 	iftrue UnknownScript_0xbdb1b
 	checkflag ENGINE_TULLY_HAS_WATER_STONE
 	iftrue UnknownScript_0xbdb1b
-	farscall UnknownScript_0xbde42
+	farscall PhoneScript_Random3
 	if_equal $0, UnknownScript_0xbdb22
 	checkevent EVENT_TULLY_GAVE_WATER_STONE
 	iftrue UnknownScript_0xbdb13
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbdb2c
 
 UnknownScript_0xbdb13:
-	farscall UnknownScript_0xbde4b
+	farscall PhoneScript_Random11
 	if_equal $0, UnknownScript_0xbdb2c
 
 UnknownScript_0xbdb1b:
@@ -1518,13 +1518,13 @@
 	setflag ENGINE_TULLY_SUNDAY_NIGHT
 
 UnknownScript_0xbdb22:
-	displaylocation ROUTE_42, $2
+	landmarktotext ROUTE_42, $2
 	setflag ENGINE_TULLY
 	farjump UnknownScript_0xa0376
 
 UnknownScript_0xbdb2c:
 	setflag ENGINE_TULLY_HAS_WATER_STONE
-	displaylocation ROUTE_42, $2
+	landmarktotext ROUTE_42, $2
 	farjump UnknownScript_0xa05e6
 
 BrentPhoneScript1:
@@ -1531,7 +1531,7 @@
 	trainertotext POKEMANIAC, BRENT1, $0
 	checkflag ENGINE_BRENT
 	iftrue UnknownScript_0xbdb59
-	farscall UnknownScript_0xbde4e
+	farscall PhoneScript_AnswerPhone_Male
 	checkflag ENGINE_BRENT_MONDAY_MORNING
 	iftrue UnknownScript_0xbdb55
 	checkcode VAR_WEEKDAY
@@ -1543,19 +1543,19 @@
 	farjump UnknownScript_0xa0998
 
 UnknownScript_0xbdb59:
-	displaylocation ROUTE_43, $2
+	landmarktotext ROUTE_43, $2
 	farjump UnknownScript_0xa0a87
 
 BrentPhoneScript2:
 	trainertotext POKEMANIAC, BRENT1, $0
-	farscall UnknownScript_0xbe1b6
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_GreetPhone_Male
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbdb95
 	checkflag ENGINE_BRENT
 	iftrue UnknownScript_0xbdb84
 	checkflag ENGINE_BRENT_MONDAY_MORNING
 	iftrue UnknownScript_0xbdb84
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbdb8b
 
 UnknownScript_0xbdb84:
@@ -1565,7 +1565,7 @@
 	setflag ENGINE_BRENT_MONDAY_MORNING
 
 UnknownScript_0xbdb8b:
-	displaylocation ROUTE_43, $2
+	landmarktotext ROUTE_43, $2
 	setflag ENGINE_BRENT
 	farjump UnknownScript_0xa0376
 
@@ -1576,7 +1576,7 @@
 	trainertotext PICNICKER, TIFFANY3, $0
 	checkflag ENGINE_TIFFANY
 	iftrue UnknownScript_0xbdbc2
-	farscall UnknownScript_0xbe0b6
+	farscall PhoneScript_AnswerPhone_Female
 	checkflag ENGINE_TIFFANY_TUESDAY_AFTERNOON
 	iftrue UnknownScript_0xbdbbe
 	checkflag ENGINE_TIFFANY_HAS_PINK_BOW
@@ -1590,18 +1590,18 @@
 	farjump UnknownScript_0xa09a0
 
 UnknownScript_0xbdbc2:
-	displaylocation ROUTE_43, $2
+	landmarktotext ROUTE_43, $2
 	farjump UnknownScript_0xa0a8c
 
 UnknownScript_0xbdbc9:
-	displaylocation ROUTE_43, $2
+	landmarktotext ROUTE_43, $2
 	farjump UnknownScript_0xa0ae5
 
 TiffanyPhoneScript2:
 	trainertotext PICNICKER, TIFFANY3, $0
-	farscall UnknownScript_0xbde45
+	farscall PhoneScript_Random4
 	if_equal $0, UnknownScript_0xbdc21
-	farscall UnknownScript_0xbe41e
+	farscall PhoneScript_GreetPhone_Female
 	checkflag ENGINE_TIFFANY
 	iftrue UnknownScript_0xbdc10
 	checkflag ENGINE_TIFFANY_TUESDAY_AFTERNOON
@@ -1608,15 +1608,15 @@
 	iftrue UnknownScript_0xbdc10
 	checkflag ENGINE_TIFFANY_HAS_PINK_BOW
 	iftrue UnknownScript_0xbdc10
-	farscall UnknownScript_0xbde42
+	farscall PhoneScript_Random3
 	if_equal $0, UnknownScript_0xbdc17
 	checkevent EVENT_TIFFANY_GAVE_PINK_BOW
 	iftrue UnknownScript_0xbdc08
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbdc69
 
 UnknownScript_0xbdc08:
-	farscall UnknownScript_0xbde4b
+	farscall PhoneScript_Random11
 	if_equal $0, UnknownScript_0xbdc69
 
 UnknownScript_0xbdc10:
@@ -1626,7 +1626,7 @@
 	setflag ENGINE_TIFFANY_TUESDAY_AFTERNOON
 
 UnknownScript_0xbdc17:
-	displaylocation ROUTE_43, $2
+	landmarktotext ROUTE_43, $2
 	setflag ENGINE_TIFFANY
 	farjump UnknownScript_0xa037e
 
@@ -1668,7 +1668,7 @@
 
 UnknownScript_0xbdc69:
 	setflag ENGINE_TIFFANY_HAS_PINK_BOW
-	displaylocation ROUTE_43, $2
+	landmarktotext ROUTE_43, $2
 	farjump UnknownScript_0xa061e
 
 ; Vance
@@ -1677,7 +1677,7 @@
 	trainertotext BIRD_KEEPER, VANCE1, $0
 	checkflag ENGINE_VANCE
 	iftrue UnknownScript_0xbdc96
-	farscall UnknownScript_0xbde4e
+	farscall PhoneScript_AnswerPhone_Male
 	checkflag ENGINE_VANCE_WEDNESDAY_NIGHT
 	iftrue UnknownScript_0xbdc92
 	checkcode VAR_WEEKDAY
@@ -1689,17 +1689,17 @@
 	farjump UnknownScript_0xa09a8
 
 UnknownScript_0xbdc96:
-	displaylocation ROUTE_44, $2
+	landmarktotext ROUTE_44, $2
 	farjump UnknownScript_0xa0a91
 
 VancePhoneScript2:
 	trainertotext BIRD_KEEPER, VANCE1, $0
-	farscall UnknownScript_0xbe1b6
+	farscall PhoneScript_GreetPhone_Male
 	checkflag ENGINE_VANCE
 	iftrue UnknownScript_0xbdcbd
 	checkflag ENGINE_VANCE_WEDNESDAY_NIGHT
 	iftrue UnknownScript_0xbdcbd
-	farscall UnknownScript_0xbde42
+	farscall PhoneScript_Random3
 	if_equal $0, UnknownScript_0xbdcc4
 	if_equal $1, UnknownScript_0xbdcc4
 
@@ -1710,7 +1710,7 @@
 	setflag ENGINE_VANCE_WEDNESDAY_NIGHT
 
 UnknownScript_0xbdcc4:
-	displaylocation ROUTE_44, $2
+	landmarktotext ROUTE_44, $2
 	setflag ENGINE_VANCE
 	farjump UnknownScript_0xa0376
 
@@ -1718,7 +1718,7 @@
 	trainertotext FISHER, WILTON1, $0
 	checkflag ENGINE_WILTON
 	iftrue UnknownScript_0xbdcf7
-	farscall UnknownScript_0xbde4e
+	farscall PhoneScript_AnswerPhone_Male
 	checkflag ENGINE_WILTON_THRUSDAY_MORNING
 	iftrue UnknownScript_0xbdcf3
 	checkflag ENGINE_WILTON_HAS_ITEM
@@ -1732,16 +1732,16 @@
 	farjump UnknownScript_0xa09b0
 
 UnknownScript_0xbdcf7:
-	displaylocation ROUTE_44, $2
+	landmarktotext ROUTE_44, $2
 	farjump UnknownScript_0xa0a96
 
 UnknownScript_0xbdcfe:
-	displaylocation ROUTE_44, $2
+	landmarktotext ROUTE_44, $2
 	farjump UnknownScript_0xa0aed
 
 WiltonPhoneScript2:
 	trainertotext FISHER, WILTON1, $0
-	farscall UnknownScript_0xbe1b6
+	farscall PhoneScript_GreetPhone_Male
 	checkflag ENGINE_WILTON
 	iftrue UnknownScript_0xbdd2f
 	checkflag ENGINE_WILTON_THRUSDAY_MORNING
@@ -1748,9 +1748,9 @@
 	iftrue UnknownScript_0xbdd2f
 	checkflag ENGINE_WILTON_HAS_ITEM
 	iftrue UnknownScript_0xbdd2f
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbdd36
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbdd40
 
 UnknownScript_0xbdd2f:
@@ -1760,13 +1760,13 @@
 	setflag ENGINE_WILTON_THRUSDAY_MORNING
 
 UnknownScript_0xbdd36:
-	displaylocation ROUTE_44, $2
+	landmarktotext ROUTE_44, $2
 	setflag ENGINE_WILTON
 	farjump UnknownScript_0xa0376
 
 UnknownScript_0xbdd40:
 	setflag ENGINE_WILTON_HAS_ITEM
-	displaylocation ROUTE_44, $2
+	landmarktotext ROUTE_44, $2
 	clearevent EVENT_WILTON_HAS_ULTRA_BALL
 	clearevent EVENT_WILTON_HAS_GREAT_BALL
 	clearevent EVENT_WILTON_HAS_POKE_BALL
@@ -1794,12 +1794,12 @@
 
 KenjiPhoneScript1:
 	trainertotext BLACKBELT_T, KENJI3, $0
-	farscall UnknownScript_0xbde4e
+	farscall PhoneScript_AnswerPhone_Male
 	farjump UnknownScript_0xa09ee
 
 KenjiPhoneScript2:
 	trainertotext BLACKBELT_T, KENJI3, $0
-	farscall UnknownScript_0xbe1b6
+	farscall PhoneScript_GreetPhone_Male
 	farjump UnknownScript_0xa064c
 
 ; Parry
@@ -1808,7 +1808,7 @@
 	trainertotext HIKER, PARRY1, $0
 	checkflag ENGINE_PARRY
 	iftrue UnknownScript_0xbddac
-	farscall UnknownScript_0xbde4e
+	farscall PhoneScript_AnswerPhone_Male
 	checkflag ENGINE_PARRY_FRIDAY_AFTERNOON
 	iftrue UnknownScript_0xbdda8
 	checkcode VAR_WEEKDAY
@@ -1820,17 +1820,17 @@
 	farjump UnknownScript_0xa09b8
 
 UnknownScript_0xbddac:
-	displaylocation ROUTE_45, $2
+	landmarktotext ROUTE_45, $2
 	farjump UnknownScript_0xa0a9b
 
 ParryPhoneScript2:
 	trainertotext HIKER, PARRY1, $0
-	farscall UnknownScript_0xbe1b6
+	farscall PhoneScript_GreetPhone_Male
 	checkflag ENGINE_PARRY
 	iftrue UnknownScript_0xbddd3
 	checkflag ENGINE_PARRY_FRIDAY_AFTERNOON
 	iftrue UnknownScript_0xbddd3
-	farscall UnknownScript_0xbde3f
+	farscall PhoneScript_Random2
 	if_equal $0, UnknownScript_0xbddda
 	if_equal $1, UnknownScript_0xbddda
 
@@ -1841,7 +1841,7 @@
 	setflag ENGINE_PARRY_FRIDAY_AFTERNOON
 
 UnknownScript_0xbddda:
-	displaylocation ROUTE_45, $2
+	landmarktotext ROUTE_45, $2
 	setflag ENGINE_PARRY
 	farjump UnknownScript_0xa0376
 
@@ -1851,7 +1851,7 @@
 	trainertotext PICNICKER, ERIN1, $0
 	checkflag ENGINE_ERIN
 	iftrue UnknownScript_0xbde07
-	farscall UnknownScript_0xbe0b6
+	farscall PhoneScript_AnswerPhone_Female
 	checkflag ENGINE_ERIN_SATURDAY_NIGHT
 	iftrue UnknownScript_0xbde03
 	checkcode VAR_WEEKDAY
@@ -1863,17 +1863,17 @@
 	farjump UnknownScript_0xa09c0
 
 UnknownScript_0xbde07:
-	displaylocation ROUTE_46, $2
+	landmarktotext ROUTE_46, $2
 	farjump UnknownScript_0xa0aa0
 
 ErinPhoneScript2:
 	trainertotext PICNICKER, ERIN1, $0
-	farscall UnknownScript_0xbe41e
+	farscall PhoneScript_GreetPhone_Female
 	checkflag ENGINE_ERIN
 	iftrue UnknownScript_0xbde2e
 	checkflag ENGINE_ERIN_SATURDAY_NIGHT
 	iftrue UnknownScript_0xbde2e
-	farscall UnknownScript_0xbde42
+	farscall PhoneScript_Random3
 	if_equal $0, UnknownScript_0xbde35
 	if_equal $1, UnknownScript_0xbde35
 
@@ -1884,35 +1884,35 @@
 	setflag ENGINE_ERIN_SATURDAY_NIGHT
 
 UnknownScript_0xbde35:
-	displaylocation ROUTE_46, $2
+	landmarktotext ROUTE_46, $2
 	setflag ENGINE_ERIN
 	farjump UnknownScript_0xa037e
 
-UnknownScript_0xbde3f:
-	random $2
+PhoneScript_Random2:
+	random 2
 	end
 
-UnknownScript_0xbde42:
-	random $3
+PhoneScript_Random3:
+	random 3
 	end
 
-UnknownScript_0xbde45:
-	random $4
+PhoneScript_Random4:
+	random 4
 	end
 
-UnknownScript_0xbde48:
-	random $5
+PhoneScript_Random5:
+	random 5
 	end
 
-UnknownScript_0xbde4b:
-	random $b
+PhoneScript_Random11:
+	random 11
 	end
 
-UnknownScript_0xbde4e:
+PhoneScript_AnswerPhone_Male:
 	checkday
-	iftrue UnknownScript_0xbdf22
+	iftrue PhoneScript_AnswerPhone_Male_Day
 	checknite
-	iftrue UnknownScript_0xbdfec
+	iftrue PhoneScript_AnswerPhone_Male_Nite
 	checkcode VAR_CALLERID
 	if_equal PHONE_SCHOOLBOY_JACK, .Jack
 	if_equal PHONE_SAILOR_HUEY, .Huey
@@ -2035,7 +2035,7 @@
 	buttonsound
 	end
 
-UnknownScript_0xbdf22:
+PhoneScript_AnswerPhone_Male_Day:
 	checkcode VAR_CALLERID
 	if_equal PHONE_SCHOOLBOY_JACK, .Jack
 	if_equal PHONE_SAILOR_HUEY, .Huey
@@ -2158,7 +2158,7 @@
 	buttonsound
 	end
 
-UnknownScript_0xbdfec:
+PhoneScript_AnswerPhone_Male_Nite:
 	checkcode VAR_CALLERID
 	if_equal PHONE_SCHOOLBOY_JACK, .Jack
 	if_equal PHONE_SAILOR_HUEY, .Huey
@@ -2281,11 +2281,11 @@
 	buttonsound
 	end
 
-UnknownScript_0xbe0b6:
+PhoneScript_AnswerPhone_Female:
 	checkday
-	iftrue UnknownScript_0xbe112
+	iftrue PhoneScript_AnswerPhone_Female_Day
 	checknite
-	iftrue UnknownScript_0xbe164
+	iftrue PhoneScript_AnswerPhone_Female_Nite
 	checkcode VAR_CALLERID
 	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
 	if_equal PHONE_COOLTRAINERF_BETH, .Beth
@@ -2336,7 +2336,7 @@
 	buttonsound
 	end
 
-UnknownScript_0xbe112:
+PhoneScript_AnswerPhone_Female_Day:
 	checkcode VAR_CALLERID
 	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
 	if_equal PHONE_COOLTRAINERF_BETH, .Beth
@@ -2387,7 +2387,7 @@
 	buttonsound
 	end
 
-UnknownScript_0xbe164:
+PhoneScript_AnswerPhone_Female_Nite:
 	checkcode VAR_CALLERID
 	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
 	if_equal PHONE_COOLTRAINERF_BETH, .Beth
@@ -2438,11 +2438,11 @@
 	buttonsound
 	end
 
-UnknownScript_0xbe1b6:
+PhoneScript_GreetPhone_Male:
 	checkday
-	iftrue UnknownScript_0xbe28a
+	iftrue PhoneScript_GreetPhone_Male_Day
 	checknite
-	iftrue UnknownScript_0xbe354
+	iftrue PhoneScript_GreetPhone_Male_Nite
 	checkcode VAR_CALLERID
 	if_equal PHONE_SCHOOLBOY_JACK, .Jack
 	if_equal PHONE_SAILOR_HUEY, .Huey
@@ -2565,7 +2565,7 @@
 	buttonsound
 	end
 
-UnknownScript_0xbe28a:
+PhoneScript_GreetPhone_Male_Day:
 	checkcode VAR_CALLERID
 	if_equal PHONE_SCHOOLBOY_JACK, .Jack
 	if_equal PHONE_SAILOR_HUEY, .Huey
@@ -2688,7 +2688,7 @@
 	buttonsound
 	end
 
-UnknownScript_0xbe354:
+PhoneScript_GreetPhone_Male_Nite:
 	checkcode VAR_CALLERID
 	if_equal PHONE_SCHOOLBOY_JACK, .Jack
 	if_equal PHONE_SAILOR_HUEY, .Huey
@@ -2811,11 +2811,11 @@
 	buttonsound
 	end
 
-UnknownScript_0xbe41e:
+PhoneScript_GreetPhone_Female:
 	checkday
-	iftrue UnknownScript_0xbe47a
+	iftrue PhoneScript_GreetPhone_Female_Day
 	checknite
-	iftrue UnknownScript_0xbe4cc
+	iftrue PhoneScript_GreetPhone_Female_Nite
 	checkcode VAR_CALLERID
 	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
 	if_equal PHONE_COOLTRAINERF_BETH, .Beth
@@ -2866,7 +2866,7 @@
 	buttonsound
 	end
 
-UnknownScript_0xbe47a:
+PhoneScript_GreetPhone_Female_Day:
 	checkcode VAR_CALLERID
 	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
 	if_equal PHONE_COOLTRAINERF_BETH, .Beth
@@ -2917,7 +2917,7 @@
 	buttonsound
 	end
 
-UnknownScript_0xbe4cc:
+PhoneScript_GreetPhone_Female_Nite:
 	checkcode VAR_CALLERID
 	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
 	if_equal PHONE_COOLTRAINERF_BETH, .Beth
@@ -2968,7 +2968,7 @@
 	buttonsound
 	end
 
-UnknownScript_0xbe51e:
+PhoneScript_Generic_Male:
 	checkcode VAR_CALLERID
 	if_equal PHONE_SCHOOLBOY_JACK, .Jack
 	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
@@ -3078,7 +3078,7 @@
 	buttonsound
 	end
 
-UnknownScript_0xbe5d0:
+PhoneScript_Generic_Female:
 	checkcode VAR_CALLERID
 	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
 	if_equal PHONE_COOLTRAINERF_BETH, .Beth
@@ -3129,21 +3129,21 @@
 	buttonsound
 	end
 
-UnknownScript_0xbe622:
+PhoneScript_MonFlavorText:
 	special RandomPhoneMon
-	farscall UnknownScript_0xbde3f
-	if_equal $0, UnknownScript_0xbe636
+	farscall PhoneScript_Random2
+	if_equal $0, .TooEnergetic
 	farwritetext UnknownText_0x1b518b
 	buttonsound
-	farjump UnknownScript_0xa0484
+	farjump PhoneScript_HangupText_Male
 
-UnknownScript_0xbe636:
-	farjump UnknownScript_0xbe63a
+.TooEnergetic:
+	farjump .unnecessary
 
-UnknownScript_0xbe63a:
+.unnecessary:
 	farwritetext UnknownText_0x1b522b
 	buttonsound
-	farjump UnknownScript_0xa0484
+	farjump PhoneScript_HangupText_Male
 ; be643
 
 
--- a/engine/pokedex.asm
+++ b/engine/pokedex.asm
@@ -339,7 +339,7 @@
 	ret
 
 Function40258: ; 40258 (10:4258)
-	ld de, Unknown_402e8
+	ld de, DexEntryPage_JoypadCoords
 	call Function4135a
 	ld hl, hJoyPressed ; $ffa7
 	ld a, [hl]
@@ -355,7 +355,7 @@
 
 .a
 	ld a, [wc7d8]
-	ld hl, Jumptable_402f2
+	ld hl, DexEntryPage_Jumptable
 	call Pokedex_LoadPointer
 	jp [hl]
 
@@ -373,7 +373,7 @@
 	ret
 ; 40292 (10:4292)
 
-Function40292: ; 40292
+Pokedex_Page: ; 40292
 	ld a, [wPokedexStatus]
 	xor $1
 	ld [wPokedexStatus], a
@@ -410,7 +410,7 @@
 	ret
 ; 402e8 (10:42e8)
 
-Unknown_402e8: ; 402e8
+DexEntryPage_JoypadCoords: ; 402e8
 	db D_RIGHT | D_LEFT, 4
 	dwcoord 1, 17
 	dwcoord 6, 17
@@ -419,14 +419,14 @@
 
 ; 402f2
 
-Jumptable_402f2: ; 402f2
-	dw Function40292
-	dw Function402fa
-	dw Function40340
-	dw Function4034f
+DexEntryPage_Jumptable: ; 402f2
+	dw Pokedex_Page
+	dw .Area
+	dw .Cry
+	dw .Print
 ; 402fa
 
-Function402fa: ; 402fa
+.Area: ; 402fa
 	call Function41401
 	xor a
 	ld [hSCX], a
@@ -438,7 +438,7 @@
 	call Pokedex_GetMonAtCursorPosition
 	ld a, [wDexCurrentLocation]
 	ld e, a
-	predef Function91d11
+	predef _Area
 	call Function41401
 	call DelayFrame
 	xor a
@@ -458,7 +458,7 @@
 	ret
 ; 40340
 
-Function40340: ; 40340
+.Cry: ; 40340
 	call Pokedex_GetMonAtCursorPosition
 	ld a, [wd265]
 	call GetCryIndex
@@ -468,7 +468,7 @@
 	ret
 ; 4034f
 
-Function4034f: ; 4034f
+.Print: ; 4034f
 	call Function41415
 	xor a
 	ld [hSCX], a
@@ -2393,7 +2393,7 @@
 	ld a, $ff
 	call DmgToCgbBGPals
 	ld a, $ff
-	call Functioncf8
+	call DmgToCgbObjPal0
 	call DelayFrame
 	ret
 
@@ -2405,7 +2405,7 @@
 	ld a, $e4
 	call DmgToCgbBGPals
 	ld a, $e0
-	call Functioncf8
+	call DmgToCgbObjPal0
 	ret
 ; 41432
 
--- a/engine/pokegear.asm
+++ b/engine/pokegear.asm
@@ -60,7 +60,7 @@
 	ld [hWX], a
 	call Function90c4e
 	callba ClearSpriteAnims
-	call Function90d32
+	call InitPokegearModeIndicatorArrow
 	ld a, 8
 	call SkipMusic
 	ld a, $e3
@@ -85,8 +85,8 @@
 	ld a, [hCGB]
 	and a
 	ret z
-	ld a, $e4
-	call Functioncf8
+	ld a, %11100100
+	call DmgToCgbObjPal0
 	ret
 
 Function90c4e: ; 90c4e
@@ -121,6 +121,7 @@
 	ld l, e
 	ld a, b
 
+	; standing sprite
 	push af
 	ld de, VTiles0 tile $10
 	ld bc, 4 tiles
@@ -129,7 +130,8 @@
 
 	pop hl
 
-	ld de, $c0
+	; walking sprite
+	ld de, 12 tiles
 	add hl, de
 	ld de, VTiles0 tile $14
 	ld bc, 4 tiles
@@ -148,11 +150,11 @@
 INCBIN "gfx/misc/fast_ship.2bpp"
 ; 90d32
 
-Function90d32: ; 90d32 (24:4d32)
+InitPokegearModeIndicatorArrow: ; 90d32 (24:4d32)
 	depixel 4, 2, 4, 0
 	ld a, SPRITE_ANIM_INDEX_0D
 	call _InitSpriteAnimStruct
-	ld hl, $3
+	ld hl, SPRITEANIMSTRUCT_TILE_ID
 	add hl, bc
 	ld [hl], $0
 	ret
@@ -199,10 +201,10 @@
 	call GetWorldMapLocation
 
 	cp FAST_SHIP
-	jr z, .asm_90d95
+	jr z, .FastShip
 
 	cp SPECIAL_MAP
-	jr nz, .asm_90d8e
+	jr nz, .LoadLandmark
 
 	ld a, [BackupMapGroup]
 	ld b, a
@@ -210,12 +212,12 @@
 	ld c, a
 	call GetWorldMapLocation
 
-.asm_90d8e
+.LoadLandmark
 	ld [wc6d8], a
 	ld [wc6d7], a
 	ret
 
-.asm_90d95
+.FastShip
 	ld [wc6d8], a
 	ld a, NEW_BARK_TOWN
 	ld [wc6d7], a
@@ -670,7 +672,7 @@
 
 Function9106a: ; 9106a
 	push af
-	ld de, 0
+	depixel 0, 0
 	ld b, SPRITE_ANIM_INDEX_0A
 	ld a, [PlayerGender]
 	bit 0, a
@@ -680,7 +682,7 @@
 .asm_91079
 	ld a, b
 	call _InitSpriteAnimStruct
-	ld hl, $3
+	ld hl, SPRITEANIMSTRUCT_TILE_ID
 	add hl, bc
 	ld [hl], $10
 	pop af
@@ -688,10 +690,10 @@
 	push bc
 	callba GetLandmarkCoords
 	pop bc
-	ld hl, $4
+	ld hl, SPRITEANIMSTRUCT_XCOORD
 	add hl, bc
 	ld [hl], e
-	ld hl, $5
+	ld hl, SPRITEANIMSTRUCT_YCOORD
 	add hl, bc
 	ld [hl], d
 	ret
@@ -699,15 +701,15 @@
 
 Function91098: ; 91098
 	push af
-	ld de, 0
+	depixel 0, 0
 	ld a, SPRITE_ANIM_INDEX_0D
 	call _InitSpriteAnimStruct
-	ld hl, $3
+	ld hl, SPRITEANIMSTRUCT_TILE_ID
 	add hl, bc
 	ld [hl], $4
-	ld hl, $2
+	ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
 	add hl, bc
-	ld [hl], $0
+	ld [hl], SPRITE_ANIM_SEQ_00
 	pop af
 	push bc
 	call Function910d4
@@ -736,10 +738,10 @@
 	ld e, a
 	callba GetLandmarkCoords
 	pop bc
-	ld hl, $4
+	ld hl, SPRITEANIMSTRUCT_XCOORD
 	add hl, bc
 	ld [hl], e
-	ld hl, $5
+	ld hl, SPRITEANIMSTRUCT_YCOORD
 	add hl, bc
 	ld [hl], d
 	ret
@@ -765,7 +767,7 @@
 	depixel 4, 10, 4, 4
 	ld a, SPRITE_ANIM_INDEX_14
 	call _InitSpriteAnimStruct
-	ld hl, $3
+	ld hl, SPRITEANIMSTRUCT_TILE_ID
 	add hl, bc
 	ld [hl], $8
 	call _UpdateRadioStation
@@ -1925,12 +1927,12 @@
 	ld a, e
 	and a
 	jr nz, .kanto
-	call Function91ff2
+	call LoadTownMapGFX
 	call FillJohtoMap
 	ret
 
 .kanto
-	call Function91ff2
+	call LoadTownMapGFX
 	call FillKantoMap
 	ret
 ; 91af3
@@ -1946,13 +1948,13 @@
 	xor a
 	ld [hBGMapMode], a
 	callba ClearSpriteAnims
-	call Function91ff2
-	ld de, GFX_922e1
+	call LoadTownMapGFX
+	ld de, FlyMapLabelBorderGFX
 	ld hl, VTiles2 tile $30
-	lb bc, BANK(GFX_922e1), 6
+	lb bc, BANK(FlyMapLabelBorderGFX), 6
 	call Request1bpp
 	call FlyMap
-	call Function91c8f
+	call ret_91c8f
 	ld b, SCGB_02
 	call GetSGBLayout
 	call SetPalettes
@@ -2182,10 +2184,6 @@
 	const_def
 
 flypoint: MACRO
-; \1\@FLY   EQUS "FLY_\1"
-; \1\@SPAWN EQUS "SPAWN_\1"
-	; const \1\@FLY
-	; db \2, \1\@SPAWN
 	const FLY_\1
 	db \2, SPAWN_\1
 ENDM
@@ -2223,7 +2221,7 @@
 	db -1
 ; 91c8f
 
-Function91c8f: ; 91c8f
+ret_91c8f: ; 91c8f
 	ret
 ; 91c90
 
@@ -2344,7 +2342,8 @@
 	ret
 ; 91d11
 
-Function91d11: ; 91d11
+_Area: ; 91d11
+; e: Current landmark
 	ld a, [wd002]
 	push af
 	ld a, [wd003]
@@ -2357,25 +2356,24 @@
 	ld a, $1
 	ld [hInMenu], a
 
-	ld de, GFX_922d1
+	ld de, PokedexNestIconGFX
 	ld hl, VTiles0 tile $7f
-	lb bc, BANK(GFX_922d1), 1
-	call Request2bpp ; actually 1bpp
+	lb bc, BANK(PokedexNestIconGFX), 1
+	call Request2bpp
 
-	call Function91ed0
-
+	call .GetPlayerOrFastShipIcon
 	ld hl, VTiles0 tile $78
-	ld c, $4
+	ld c, 4
 	call Request2bpp
 
-	call Function91ff2
+	call LoadTownMapGFX
 	call FillKantoMap
-	call Function91de9
+	call .PlaceString_MonsNest
 	call TownMapPals
 	hlbgcoord 0, 0, VBGMap1
 	call TownMapBGUpdate
 	call FillJohtoMap
-	call Function91de9
+	call .PlaceString_MonsNest
 	call TownMapPals
 	hlbgcoord 0, 0
 	call TownMapBGUpdate
@@ -2384,8 +2382,8 @@
 	call SetPalettes
 	xor a
 	ld [hBGMapMode], a
-	xor a
-	call Function91e1e
+	xor a ; Johto
+	call .GetAndPlaceNest
 .loop
 	call JoyTextDelay
 	ld hl, hJoyPressed
@@ -2395,12 +2393,12 @@
 	ld a, [hJoypadDown]
 	and SELECT
 	jr nz, .select
-	call Function91d9b
-	call Function91dcd
+	call .LeftRightInput
+	call .BlinkNestIcons
 	jr .next
 
 .select
-	call Function91e5a
+	call .HideNestsShowPlayer
 
 .next
 	call DelayFrame
@@ -2415,16 +2413,16 @@
 	ret
 ; 91d9b
 
-Function91d9b: ; 91d9b
+.LeftRightInput: ; 91d9b
 	ld a, [hl]
-	and $20
-	jr nz, .asm_91da6
+	and D_LEFT
+	jr nz, .left
 	ld a, [hl]
-	and $10
-	jr nz, .asm_91db7
+	and D_RIGHT
+	jr nz, .right
 	ret
 
-.asm_91da6
+.left
 	ld a, [hWY]
 	cp $90
 	ret z
@@ -2431,11 +2429,11 @@
 	call ClearSprites
 	ld a, $90
 	ld [hWY], a
-	xor a
-	call Function91e1e
+	xor a ; Johto
+	call .GetAndPlaceNest
 	ret
 
-.asm_91db7
+.right
 	ld a, [StatusFlags]
 	bit 6, a ; hall of fame
 	ret z
@@ -2445,12 +2443,12 @@
 	call ClearSprites
 	xor a
 	ld [hWY], a
-	ld a, $1
-	call Function91e1e
+	ld a, 1 ; Kanto
+	call .GetAndPlaceNest
 	ret
 ; 91dcd
 
-Function91dcd: ; 91dcd
+.BlinkNestIcons: ; 91dcd
 	ld a, [hVBlankCounter]
 	ld e, a
 	and $f
@@ -2457,27 +2455,27 @@
 	ret nz
 	ld a, e
 	and $10
-	jr nz, .asm_91ddc
+	jr nz, .copy_sprites
 	call ClearSprites
 	ret
 
-.asm_91ddc
+.copy_sprites
 	hlcoord 0, 0
 	ld de, Sprites
-	ld bc, $a0
+	ld bc, SpritesEnd - Sprites
 	call CopyBytes
 	ret
 ; 91de9
 
-Function91de9: ; 91de9
+.PlaceString_MonsNest: ; 91de9
 	hlcoord 0, 0
 	ld bc, SCREEN_WIDTH
-	ld a, $7f
+	ld a, " "
 	call ByteFill
 	hlcoord 0, 1
 	ld a, $6
 	ld [hli], a
-	ld bc, SCREEN_HEIGHT
+	ld bc, SCREEN_WIDTH - 2
 	ld a, $7
 	call ByteFill
 	ld [hl], $17
@@ -2486,54 +2484,56 @@
 	call PlaceString
 	ld h, b
 	ld l, c
-	ld de, String_91e16
+	ld de, .String_SNest
 	call PlaceString
 	ret
 ; 91e16
 
-String_91e16:
+.String_SNest:
 	db "'S NEST@"
 ; 91e1e
 
-Function91e1e: ; 91e1e
+.GetAndPlaceNest: ; 91e1e
 	ld [wd003], a
 	ld e, a
-	callba Function2a01f
+	callba FindNest ; load nest landmarks into TileMap[0,0]
 	decoord 0, 0
 	ld hl, Sprites
-.asm_91e2e
+.nestloop
 	ld a, [de]
 	and a
-	jr z, .asm_91e4d
+	jr z, .done_nest
 	push de
 	ld e, a
 	push hl
 	callba GetLandmarkCoords
 	pop hl
+	; load into OAM
 	ld a, d
-	sub $4
+	sub 4
 	ld [hli], a
 	ld a, e
-	sub $4
+	sub 4
 	ld [hli], a
-	ld a, $7f
+	ld a, $7f ; nest icon in this context
 	ld [hli], a
 	xor a
 	ld [hli], a
+	; next
 	pop de
 	inc de
-	jr .asm_91e2e
+	jr .nestloop
 
-.asm_91e4d
+.done_nest
 	ld hl, Sprites
 	decoord 0, 0
-	ld bc, $a0
+	ld bc, SpritesEnd - Sprites
 	call CopyBytes
 	ret
 ; 91e5a
 
-Function91e5a: ; 91e5a
-	call Function91ea9
+.HideNestsShowPlayer: ; 91e5a
+	call .CheckPlayerLocation
 	ret c
 
 	ld a, [wd002]
@@ -2541,12 +2541,12 @@
 	callba GetLandmarkCoords
 	ld c, e
 	ld b, d
-	ld de, Unknown_91e9c
+	ld de, .PlayerOAM
 	ld hl, Sprites
-.asm_91e70
+.ShowPlayerLoop
 	ld a, [de]
 	cp $80
-	jr z, .asm_91e91
+	jr z, .copy
 
 	add b
 	ld [hli], a
@@ -2558,24 +2558,24 @@
 	inc de
 
 	ld a, [de]
-	add $78
+	add $78 ; where the player's sprite is loaded
 	ld [hli], a
 	inc de
 
 	push bc
-	ld c, 0
+	ld c, 0 ; RED
 	ld a, [PlayerGender]
 	bit 0, a
-	jr z, .asm_91e8c
-	inc c
-.asm_91e8c
+	jr z, .got_gender
+	inc c   ; BLUE
+.got_gender
 	ld a, c
 	ld [hli], a
 	pop bc
 
-	jr .asm_91e70
+	jr .ShowPlayerLoop
 
-.asm_91e91
+.copy
 	ld hl, Sprites + $10
 	ld bc, SpritesEnd - (Sprites + $10)
 	xor a
@@ -2583,15 +2583,18 @@
 	ret
 ; 91e9c
 
-Unknown_91e9c: ; 91e9c
-	db -8, -8,  0
-	db -8,  0,  1
-	db  0, -8,  2
-	db  0,  0,  3
+.PlayerOAM: ; 91e9c
+	db -1 * 8, -1 * 8,  0 ; top left
+	db -1 * 8,  0 * 8,  1 ; top right
+	db  0 * 8, -1 * 8,  2 ; bottom left
+	db  0 * 8,  0 * 8,  3 ; bottom right
 	db $80 ; terminator
 ; 91ea9
 
-Function91ea9: ; 91ea9
+.CheckPlayerLocation: ; 91ea9
+; Don't show the player's sprite if you're
+; not in the same region as what's currently
+; on the screen.
 	ld a, [wd002]
 	cp FAST_SHIP
 	jr z, .johto
@@ -2622,14 +2625,14 @@
 	ret
 ; 91ed0
 
-Function91ed0: ; 91ed0
+.GetPlayerOrFastShipIcon: ; 91ed0
 	ld a, [wd002]
 	cp FAST_SHIP
-	jr z, .asm_91ede
+	jr z, .FastShip
 	callba GetPlayerIcon
 	ret
 
-.asm_91ede
+.FastShip
 	ld de, FastShipGFX
 	ld b, BANK(FastShipGFX)
 	ret
@@ -2679,7 +2682,7 @@
 	hlcoord 0, 0
 .loop
 	ld a, [de]
-	cp $ff
+	cp -1
 	ret z
 	ld a, [de]
 	ld [hli], a
@@ -2692,7 +2695,7 @@
 
 	hlcoord 0, 0
 	decoord 0, 0, AttrMap
-	ld bc, 360
+	ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
 .loop
 ; Current tile
 	ld a, [hli]
@@ -2744,10 +2747,12 @@
 	ret
 
 TownMapPalMap:
-	db $11, $21, $22, $00, $11, $13, $54, $54, $11, $21, $22, $00
-	db $11, $10, $01, $00, $11, $21, $22, $00, $00, $00, $00, $00
-	db $00, $00, $44, $04, $00, $00, $00, $00, $33, $33, $33, $33
-	db $33, $33, $33, $03, $33, $33, $33, $33, $00, $00, $00, $00
+	dn 1, 1, 2, 1, 2, 2, 0, 0, 1, 1, 1, 3, 5, 4, 5, 4
+	dn 1, 1, 2, 1, 2, 2, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0
+	dn 1, 1, 2, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+	dn 0, 0, 0, 0, 4, 4, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0
+	dn 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3
+	dn 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0
 ; 91f7b
 
 TownMapMon: ; 91f7b
@@ -2767,16 +2772,16 @@
 	callba GetSpeciesIcon
 
 ; Animation/palette
-	ld de, 0
-	ld a, $0
+	depixel 0, 0
+	ld a, SPRITE_ANIM_INDEX_00
 	call _InitSpriteAnimStruct
 
-	ld hl, 3
+	ld hl, SPRITEANIMSTRUCT_TILE_ID
 	add hl, bc
-	ld [hl], 8
-	ld hl, 2
+	ld [hl], $8
+	ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
 	add hl, bc
-	ld [hl], 0
+	ld [hl], SPRITE_ANIM_SEQ_00
 	ret
 ; 91fa6
 
@@ -2802,17 +2807,17 @@
 	call Request2bpp
 
 ; Animation/palette
-	ld de, 0
-	ld b, $0a ; Male
+	depixel 0, 0
+	ld b, SPRITE_ANIM_INDEX_0A ; Male
 	ld a, [PlayerGender]
 	bit 0, a
-	jr z, .asm_91fd3
-	ld b, $1e ; Female
-.asm_91fd3
+	jr z, .got_gender
+	ld b, SPRITE_ANIM_INDEX_1E ; Female
+.got_gender
 	ld a, b
 	call _InitSpriteAnimStruct
 
-	ld hl, $3
+	ld hl, SPRITEANIMSTRUCT_TILE_ID
 	add hl, bc
 	ld [hl], $10
 
@@ -2822,16 +2827,16 @@
 	callba GetLandmarkCoords
 	pop bc
 
-	ld hl, 4
+	ld hl, SPRITEANIMSTRUCT_XCOORD
 	add hl, bc
 	ld [hl], e
-	ld hl, 5
+	ld hl, SPRITEANIMSTRUCT_YCOORD
 	add hl, bc
 	ld [hl], d
 	ret
 ; 0x91ff2
 
-Function91ff2: ; 91ff2
+LoadTownMapGFX: ; 91ff2
 	ld hl, TownMapGFX
 	ld de, VTiles2
 	lb bc, BANK(TownMapGFX), $30
@@ -2848,14 +2853,14 @@
 INCBIN "gfx/misc/kanto.bin"
 ; 922d1
 
+PokedexNestIconGFX: ; 922d1
+INCBIN "gfx/pokegear/dexmap_nest_icon.2bpp"
 
-GFX_922d1: ; 922d1
-INCBIN "gfx/unknown/0922d1.2bpp"
-GFX_922e1: ; 922e1
-INCBIN "gfx/unknown/0922e1.2bpp"
-GFX_92301: ; 92301
-INCBIN "gfx/unknown/092301.2bpp"
-Function92311: ; unreferenced
+FlyMapLabelBorderGFX: ; 922e1
+INCBIN "gfx/pokegear/flymap_label_border.2bpp"
+
+Function92311: ; 92311
+; unreferenced
 	xor a
 	ld [wd002], a
 	call ClearBGPalettes
@@ -2868,10 +2873,10 @@
 	xor a
 	ld [hBGMapMode], a
 	callba ClearSpriteAnims
-	call Function91ff2
-	ld de, GFX_922e1
+	call LoadTownMapGFX
+	ld de, FlyMapLabelBorderGFX
 	ld hl, VTiles2 tile $30
-	lb bc, BANK(GFX_922e1), 6
+	lb bc, BANK(FlyMapLabelBorderGFX), 6
 	call Request1bpp
 	call FillKantoMap
 	call TownMapBubble
@@ -2900,7 +2905,7 @@
 	ld a, [hl]
 	and A_BUTTON
 	jr nz, .pressedA
-	call Function923b8
+	call .HandleDPad
 	call GetMapCursorCoordinates
 	callba PlaySpriteAnimations
 	call DelayFrame
@@ -2935,36 +2940,36 @@
 	ret
 ; 923b8
 
-Function923b8: ; 923b8
+.HandleDPad: ; 923b8
 	ld hl, hJoyLast
 	ld a, [hl]
 	and D_DOWN | D_RIGHT
-	jr nz, .asm_923c6
+	jr nz, .down_right
 	ld a, [hl]
 	and D_UP | D_LEFT
-	jr nz, .asm_923d3
+	jr nz, .up_left
 	ret
 
-.asm_923c6
+.down_right
 	ld hl, wd002
 	ld a, [hl]
 	cp FLY_INDIGO
-	jr c, .asm_923d0
+	jr c, .okay_dr
 	ld [hl], -1
-.asm_923d0
+.okay_dr
 	inc [hl]
-	jr .asm_923dd
+	jr .continue
 
-.asm_923d3
+.up_left
 	ld hl, wd002
 	ld a, [hl]
 	and a
-	jr nz, .asm_923dc
+	jr nz, .okay_ul
 	ld [hl], FLY_INDIGO + 1
-.asm_923dc
+.okay_ul
 	dec [hl]
 
-.asm_923dd
+.continue
 	ld a, [wd002]
 	cp KANTO_FLYPOINT
 	jr c, .johto
@@ -2972,7 +2977,7 @@
 	call FillKantoMap
 	xor a
 	ld b, $9c
-	jr .asm_923f3
+	jr .finish
 
 .johto
 	call FillJohtoMap
@@ -2979,7 +2984,7 @@
 	ld a, $90
 	ld b, $98
 
-.asm_923f3
+.finish
 	ld [hWY], a
 	ld a, b
 	ld [hBGMapAddress + 1], a
--- a/engine/predef.asm
+++ b/engine/predef.asm
@@ -80,7 +80,7 @@
 	add_predef Predef2F
 	add_predef Function9853 ; $30
 	add_predef Predef_LoadSGBLayout
-	add_predef Function91d11
+	add_predef _Area
 	add_predef CheckContestMon
 	add_predef Predef_StartBattle
 	add_predef Predef35
--- a/engine/save.asm
+++ b/engine/save.asm
@@ -18,7 +18,7 @@
 
 .refused
 	call ExitMenu
-	call Functiond90
+	call ret_d90
 	callba SaveMenu_LoadEDTile
 	scf
 	ret
@@ -217,7 +217,7 @@
 	dec a
 	call WriteBackup
 	push af
-	call Functiond90
+	call ret_d90
 	pop af
 	and a
 	ret
--- a/engine/scripting.asm
+++ b/engine/scripting.asm
@@ -70,178 +70,178 @@
 
 
 ScriptCommandTable: ; 96cb1
-	dw Script_scall
-	dw Script_farscall
-	dw Script_ptcall
-	dw Script_jump
-	dw Script_farjump
-	dw Script_ptjump
-	dw Script_if_equal
-	dw Script_if_not_equal
-	dw Script_iffalse
-	dw Script_iftrue
-	dw Script_if_greater_than
-	dw Script_if_less_than
-	dw Script_jumpstd
-	dw Script_callstd
-	dw Script_callasm
-	dw Script_special
-	dw Script_ptcallasm
-	dw Script_checkmaptriggers
-	dw Script_domaptrigger
-	dw Script_checktriggers
-	dw Script_dotrigger
-	dw Script_writebyte
-	dw Script_addvar
-	dw Script_random
-	dw Script_checkver
-	dw Script_copybytetovar
-	dw Script_copyvartobyte
-	dw Script_loadvar
-	dw Script_checkcode
-	dw Script_writevarcode
-	dw Script_writecode
-	dw Script_giveitem
-	dw Script_takeitem
-	dw Script_checkitem
-	dw Script_givemoney
-	dw Script_takemoney
-	dw Script_checkmoney
-	dw Script_givecoins
-	dw Script_takecoins
-	dw Script_checkcoins
-	dw Script_addcellnum
-	dw Script_delcellnum
-	dw Script_checkcellnum
-	dw Script_checktime
-	dw Script_checkpoke
-	dw Script_givepoke
-	dw Script_giveegg
-	dw Script_givepokeitem
-	dw Script_checkpokeitem
-	dw Script_checkevent
-	dw Script_clearevent
-	dw Script_setevent
-	dw Script_checkflag
-	dw Script_clearflag
-	dw Script_setflag
-	dw Script_wildon
-	dw Script_wildoff
-	dw Script_xycompare
-	dw Script_warpmod
-	dw Script_blackoutmod
-	dw Script_warp
-	dw Script_readmoney
-	dw Script_readcoins
-	dw Script_RAM2MEM
-	dw Script_pokenamemem
-	dw Script_itemtotext
-	dw Script_mapnametotext
-	dw Script_trainertotext
-	dw Script_stringtotext
-	dw Script_itemnotify
-	dw Script_pocketisfull
-	dw Script_loadfont
-	dw Script_refreshscreen
-	dw Script_closetext
-	dw Script_loadbytec2cf
-	dw Script_farwritetext
-	dw Script_writetext
-	dw Script_repeattext
-	dw Script_yesorno
-	dw Script_loadmenudata
-	dw Script_writebackup
-	dw Script_jumptextfaceplayer
+	dw Script_scall                      ; 00
+	dw Script_farscall                   ; 01
+	dw Script_ptcall                     ; 02
+	dw Script_jump                       ; 03
+	dw Script_farjump                    ; 04
+	dw Script_ptjump                     ; 05
+	dw Script_if_equal                   ; 06
+	dw Script_if_not_equal               ; 07
+	dw Script_iffalse                    ; 08
+	dw Script_iftrue                     ; 09
+	dw Script_if_greater_than            ; 0a
+	dw Script_if_less_than               ; 0b
+	dw Script_jumpstd                    ; 0c
+	dw Script_callstd                    ; 0d
+	dw Script_callasm                    ; 0e
+	dw Script_special                    ; 0f
+	dw Script_ptcallasm                  ; 10
+	dw Script_checkmaptriggers           ; 11
+	dw Script_domaptrigger               ; 12
+	dw Script_checktriggers              ; 13
+	dw Script_dotrigger                  ; 14
+	dw Script_writebyte                  ; 15
+	dw Script_addvar                     ; 16
+	dw Script_random                     ; 17
+	dw Script_checkver                   ; 18
+	dw Script_copybytetovar              ; 19
+	dw Script_copyvartobyte              ; 1a
+	dw Script_loadvar                    ; 1b
+	dw Script_checkcode                  ; 1c
+	dw Script_writevarcode               ; 1d
+	dw Script_writecode                  ; 1e
+	dw Script_giveitem                   ; 1f
+	dw Script_takeitem                   ; 20
+	dw Script_checkitem                  ; 21
+	dw Script_givemoney                  ; 22
+	dw Script_takemoney                  ; 23
+	dw Script_checkmoney                 ; 24
+	dw Script_givecoins                  ; 25
+	dw Script_takecoins                  ; 26
+	dw Script_checkcoins                 ; 27
+	dw Script_addcellnum                 ; 28
+	dw Script_delcellnum                 ; 29
+	dw Script_checkcellnum               ; 2a
+	dw Script_checktime                  ; 2b
+	dw Script_checkpoke                  ; 2c
+	dw Script_givepoke                   ; 2d
+	dw Script_giveegg                    ; 2e
+	dw Script_givepokeitem               ; 2f
+	dw Script_checkpokeitem              ; 30
+	dw Script_checkevent                 ; 31
+	dw Script_clearevent                 ; 32
+	dw Script_setevent                   ; 33
+	dw Script_checkflag                  ; 34
+	dw Script_clearflag                  ; 35
+	dw Script_setflag                    ; 36
+	dw Script_wildon                     ; 37
+	dw Script_wildoff                    ; 38
+	dw Script_xycompare                  ; 39
+	dw Script_warpmod                    ; 3a
+	dw Script_blackoutmod                ; 3b
+	dw Script_warp                       ; 3c
+	dw Script_readmoney                  ; 3d
+	dw Script_readcoins                  ; 3e
+	dw Script_RAM2MEM                    ; 3f
+	dw Script_pokenamemem                ; 40
+	dw Script_itemtotext                 ; 41
+	dw Script_mapnametotext              ; 42
+	dw Script_trainertotext              ; 43
+	dw Script_stringtotext               ; 44
+	dw Script_itemnotify                 ; 45
+	dw Script_pocketisfull               ; 46
+	dw Script_loadfont                   ; 47
+	dw Script_refreshscreen              ; 48
+	dw Script_closetext                  ; 49
+	dw Script_loadbytec2cf               ; 4a
+	dw Script_farwritetext               ; 4b
+	dw Script_writetext                  ; 4c
+	dw Script_repeattext                 ; 4d
+	dw Script_yesorno                    ; 4e
+	dw Script_loadmenudata               ; 4f
+	dw Script_writebackup                ; 50
+	dw Script_jumptextfaceplayer         ; 51
 IF _CRYSTAL
-	dw Script_farjumptext
+	dw Script_farjumptext                ; 52
 ENDC
-	dw Script_jumptext
-	dw Script_waitbutton
-	dw Script_buttonsound
-	dw Script_pokepic
-	dw Script_closepokepic
-	dw Script_interpretmenu
-	dw Script_interpretmenu2
-	dw Script_loadpikachudata
-	dw Script_randomwildmon
-	dw Script_loadmemtrainer
-	dw Script_loadwildmon
-	dw Script_loadtrainer
-	dw Script_startbattle
-	dw Script_returnafterbattle
-	dw Script_catchtutorial
-	dw Script_trainertext
-	dw Script_trainerflagaction
-	dw Script_winlosstext
-	dw Script_scripttalkafter
-	dw Script_end_if_just_battled
-	dw Script_check_just_battled
-	dw Script_setlasttalked
-	dw Script_applymovement
-	dw Script_applymovement2
-	dw Script_faceplayer
-	dw Script_faceperson
-	dw Script_variablesprite
-	dw Script_disappear
-	dw Script_appear
-	dw Script_follow
-	dw Script_stopfollow
-	dw Script_moveperson
-	dw Script_writepersonxy
-	dw Script_loademote
-	dw Script_showemote
-	dw Script_spriteface
-	dw Script_follownotexact
-	dw Script_earthquake
-	dw Script_changemap
-	dw Script_changeblock
-	dw Script_reloadmap
-	dw Script_reloadmappart
-	dw Script_writecmdqueue
-	dw Script_delcmdqueue
-	dw Script_playmusic
-	dw Script_encountermusic
-	dw Script_musicfadeout
-	dw Script_playmapmusic
-	dw Script_reloadmapmusic
-	dw Script_cry
-	dw Script_playsound
-	dw Script_waitsfx
-	dw Script_warpsound
-	dw Script_specialsound
-	dw Script_passtoengine
-	dw Script_newloadmap
-	dw Script_pause
-	dw Script_deactivatefacing
-	dw Script_priorityjump
-	dw Script_warpcheck
-	dw Script_ptpriorityjump
-	dw Script_return
-	dw Script_end
-	dw Script_reloadandreturn
-	dw Script_resetfuncs
-	dw Script_pokemart
-	dw Script_elevator
-	dw Script_trade
-	dw Script_askforphonenumber
-	dw Script_phonecall
-	dw Script_hangup
-	dw Script_describedecoration
-	dw Script_fruittree
-	dw Script_specialphonecall
-	dw Script_checkphonecall
-	dw Script_verbosegiveitem
-	dw Script_verbosegiveitem2
-	dw Script_loadwilddata
-	dw Script_halloffame
-	dw Script_credits
-	dw Script_warpfacing
-	dw Script_battletowertext
-	dw Script_displaylocation
-	dw Script_trainerclassname
-	dw Script_name
-	dw Script_wait
-	dw Script_check_save
+	dw Script_jumptext                   ; 53
+	dw Script_waitbutton                 ; 54
+	dw Script_buttonsound                ; 55
+	dw Script_pokepic                    ; 56
+	dw Script_closepokepic               ; 57
+	dw Script_interpretmenu              ; 58
+	dw Script_interpretmenu2             ; 59
+	dw Script_loadpikachudata            ; 5a
+	dw Script_randomwildmon              ; 5b
+	dw Script_loadmemtrainer             ; 5c
+	dw Script_loadwildmon                ; 5d
+	dw Script_loadtrainer                ; 5e
+	dw Script_startbattle                ; 5f
+	dw Script_returnafterbattle          ; 60
+	dw Script_catchtutorial              ; 61
+	dw Script_trainertext                ; 62
+	dw Script_trainerflagaction          ; 63
+	dw Script_winlosstext                ; 64
+	dw Script_scripttalkafter            ; 65
+	dw Script_end_if_just_battled        ; 66
+	dw Script_check_just_battled         ; 67
+	dw Script_setlasttalked              ; 68
+	dw Script_applymovement              ; 69
+	dw Script_applymovement2             ; 6a
+	dw Script_faceplayer                 ; 6b
+	dw Script_faceperson                 ; 6c
+	dw Script_variablesprite             ; 6d
+	dw Script_disappear                  ; 6e
+	dw Script_appear                     ; 6f
+	dw Script_follow                     ; 70
+	dw Script_stopfollow                 ; 71
+	dw Script_moveperson                 ; 72
+	dw Script_writepersonxy              ; 73
+	dw Script_loademote                  ; 74
+	dw Script_showemote                  ; 75
+	dw Script_spriteface                 ; 76
+	dw Script_follownotexact             ; 77
+	dw Script_earthquake                 ; 78
+	dw Script_changemap                  ; 79
+	dw Script_changeblock                ; 7a
+	dw Script_reloadmap                  ; 7b
+	dw Script_reloadmappart              ; 7c
+	dw Script_writecmdqueue              ; 7d
+	dw Script_delcmdqueue                ; 7e
+	dw Script_playmusic                  ; 7f
+	dw Script_encountermusic             ; 80
+	dw Script_musicfadeout               ; 81
+	dw Script_playmapmusic               ; 82
+	dw Script_reloadmapmusic             ; 83
+	dw Script_cry                        ; 84
+	dw Script_playsound                  ; 85
+	dw Script_waitsfx                    ; 86
+	dw Script_warpsound                  ; 87
+	dw Script_specialsound               ; 88
+	dw Script_passtoengine               ; 89
+	dw Script_newloadmap                 ; 8a
+	dw Script_pause                      ; 8b
+	dw Script_deactivatefacing           ; 8c
+	dw Script_priorityjump               ; 8d
+	dw Script_warpcheck                  ; 8e
+	dw Script_ptpriorityjump             ; 8f
+	dw Script_return                     ; 90
+	dw Script_end                        ; 91
+	dw Script_reloadandreturn            ; 92
+	dw Script_end_all                    ; 93
+	dw Script_pokemart                   ; 94
+	dw Script_elevator                   ; 95
+	dw Script_trade                      ; 96
+	dw Script_askforphonenumber          ; 97
+	dw Script_phonecall                  ; 98
+	dw Script_hangup                     ; 99
+	dw Script_describedecoration         ; 9a
+	dw Script_fruittree                  ; 9b
+	dw Script_specialphonecall           ; 9c
+	dw Script_checkphonecall             ; 9d
+	dw Script_verbosegiveitem            ; 9e
+	dw Script_verbosegiveitem2           ; 9f
+	dw Script_swarm                      ; a0
+	dw Script_halloffame                 ; a1
+	dw Script_credits                    ; a2
+	dw Script_warpfacing                 ; a3
+	dw Script_battletowertext            ; a4
+	dw Script_landmarktotext             ; a5
+	dw Script_trainerclassname           ; a6
+	dw Script_name                       ; a7
+	dw Script_wait                       ; a8
+	dw Script_check_save                 ; a9
 ; 96e05
 
 StartScript: ; 96e05
@@ -836,7 +836,7 @@
 	jp ScriptJump
 ; 970fc
 
-Script_loadwilddata: ; 970fc
+Script_swarm: ; 970fc
 ; script command 0xa0
 ; parameters:
 ;     flag (SingleByteParam)
@@ -849,7 +849,7 @@
 	ld d, a
 	call GetScriptByte
 	ld e, a
-	callba LoadWildData
+	callba StoreSwarmMapIndices
 	ret
 ; 9710f
 
@@ -2186,7 +2186,7 @@
 	jp ConvertMemToText
 ; 97701
 
-Script_displaylocation: ; 97701
+Script_landmarktotext: ; 97701
 ; script command 0xa5
 ; parameters:
 ;     id (SingleByteParam)
@@ -3187,7 +3187,7 @@
 	ret
 ; 97bc0
 
-Script_resetfuncs: ; 97bc0
+Script_end_all: ; 97bc0
 ; script command 0x93
 
 	xor a
@@ -3219,7 +3219,7 @@
 
 	callba RedCredits
 DisplayCredits:
-	call Script_resetfuncs
+	call Script_end_all
 	ld a, $3
 	call LoadMapStatus
 	call StopScript
--- a/engine/specials.asm
+++ b/engine/specials.asm
@@ -498,22 +498,22 @@
 ; c403
 
 
-LoadWildData:: ; c403
+StoreSwarmMapIndices:: ; c403
 	ld a, c
 	and a
-	jr nz, .swarm_route35
+	jr nz, .yanma
 ; swarm dark cave violet entrance
 	ld a, d
-	ld [wdfcc], a
+	ld [wDunsparceMapGroup], a
 	ld a, e
-	ld [wdfcd], a
+	ld [wDunsparceMapNumber], a
 	ret
 
-.swarm_route35
+.yanma
 	ld a, d
-	ld [wdc5a], a
+	ld [wYanmaMapGroup], a
 	ld a, e
-	ld [wdc5b], a
+	ld [wYanmaMapNumber], a
 	ret
 ; c419
 
--- a/engine/startmenu.asm
+++ b/engine/startmenu.asm
@@ -146,7 +146,7 @@
 	call MenuFunc_1e7f
 	call .DrawBugContestStatus
 	call UpdateSprites
-	call Functiond90
+	call ret_d90
 	call Function2b5c
 	ret
 ; 126d3
--- a/engine/town_map.asm
+++ b/engine/town_map.asm
@@ -47,7 +47,7 @@
 	and a
 	jr z, .sgb
 	ld a, $e4
-	call Functioncf8
+	call DmgToCgbObjPal0
 	call DelayFrame
 
 .sgb
--- a/engine/trade/animation.asm
+++ b/engine/trade/animation.asm
@@ -371,7 +371,7 @@
 	ld a, $e4
 	call DmgToCgbBGPals
 	ld a, $d0
-	call Functioncf8
+	call DmgToCgbObjPal0
 	call NextTradeAnim
 	ld a, $5c
 	ld [wcf64], a
@@ -1088,7 +1088,7 @@
 
 TradeAnim_BulgeThroughTube: ; 29660
 	ld a, $e4
-	call Functioncf8
+	call DmgToCgbObjPal0
 	depixel 5, 11
 	ld a, SPRITE_ANIM_INDEX_10
 	call _InitSpriteAnimStruct
@@ -1379,7 +1379,7 @@
 	ld a, $f0
 
 .asm_297f6
-	call Functioncf8
+	call DmgToCgbObjPal0
 	ld a, $e4
 	call DmgToCgbBGPals
 	ret
--- a/engine/wildmons.asm
+++ b/engine/wildmons.asm
@@ -1,30 +1,34 @@
 LoadWildMonData: ; 29ff8
 	call _GrassWildmonLookup
 	jr c, .copy
-	ld hl, wd25a
+	ld hl, wMornEncounterRate
 	xor a
 	ld [hli], a
 	ld [hli], a
 	ld [hl], a
 	jr .done_copy
+
 .copy
 	inc hl
 	inc hl
-	ld de, wd25a
-	ld bc, $3
+	ld de, wMornEncounterRate
+	ld bc, 3
 	call CopyBytes
 .done_copy
 	call _WaterWildmonLookup
-	ld a, $0
+	ld a, 0
 	jr nc, .no_copy
 	inc hl
 	inc hl
 	ld a, [hl]
 .no_copy
-	ld [wd25d], a
+	ld [wWaterEncounterRate], a
 	ret
 
-Function2a01f: ; 2a01f
+FindNest: ; 2a01f
+; Parameters:
+; e: 0 = Johto, 1 = Kanto
+; wNamedObjectIndexBuffer: species
 	hlcoord 0, 0
 	ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
 	xor a
@@ -34,25 +38,24 @@
 	jr nz, .kanto
 	decoord 0, 0
 	ld hl, JohtoGrassWildMons
-	call Function2a052
+	call .FindGrass
 	ld hl, JohtoWaterWildMons
-	call Function2a06e
-	call Function2a0b7
-	call Function2a0cf
+	call .FindWater
+	call .RoamMon1
+	call .RoamMon2
 	ret
 
 .kanto
 	decoord 0, 0
 	ld hl, KantoGrassWildMons
-	call Function2a052
+	call .FindGrass
 	ld hl, KantoWaterWildMons
-	jp Function2a06e
+	jp .FindWater
 ; 2a052
 
-Function2a052: ; 2a052
-.loop
+.FindGrass: ; 2a052
 	ld a, [hl]
-	cp $ff
+	cp -1
 	ret z
 	push hl
 	ld a, [hli]
@@ -62,23 +65,22 @@
 rept 3
 	inc hl
 endr
-	ld a, $15
-	call Function2a088
-	jr nc, .next
+	ld a, NUM_WILDMONS_PER_AREA_TIME_OF_DAY * 3
+	call .SearchMapForMon
+	jr nc, .next_grass
 	ld [de], a
 	inc de
 
-.next
+.next_grass
 	pop hl
-	ld bc, $2f
+	ld bc, WILDMON_GRASS_STRUCTURE_LENGTH
 	add hl, bc
-	jr .loop
+	jr .FindGrass
 ; 2a06e
 
-Function2a06e: ; 2a06e
-.loop
+.FindWater: ; 2a06e
 	ld a, [hl]
-	cp $ff
+	cp -1
 	ret z
 	push hl
 	ld a, [hli]
@@ -86,24 +88,24 @@
 	ld a, [hli]
 	ld c, a
 	inc hl
-	ld a, $3
-	call Function2a088
-	jr nc, .next
+	ld a, 3
+	call .SearchMapForMon
+	jr nc, .next_water
 	ld [de], a
 	inc de
 
-.next
+.next_water
 	pop hl
-	ld bc, 9
+	ld bc, 3 * 3
 	add hl, bc
-	jr .loop
+	jr .FindWater
 ; 2a088
 
-Function2a088: ; 2a088
+.SearchMapForMon: ; 2a088
 	inc hl
-.loop
+.ScanMapLoop
 	push af
-	ld a, [wd265]
+	ld a, [wNamedObjectIndexBuffer]
 	cp [hl]
 	jr z, .found
 rept 2
@@ -111,44 +113,44 @@
 endr
 	pop af
 	dec a
-	jr nz, .loop
+	jr nz, .ScanMapLoop
 	and a
 	ret
 
 .found
 	pop af
-	jp Function2a09c
+	jp .AppendNest
 ; 2a09c
 
-Function2a09c: ; 2a09c
+.AppendNest: ; 2a09c
 	push de
 	call GetWorldMapLocation
 	ld c, a
 	hlcoord 0, 0
 	ld de, SCREEN_WIDTH * SCREEN_HEIGHT
-.loop
+.AppendNestLoop
 	ld a, [hli]
 	cp c
-	jr z, .found
+	jr z, .found_nest
 	dec de
 	ld a, e
 	or d
-	jr nz, .loop
+	jr nz, .AppendNestLoop
 	ld a, c
 	pop de
 	scf
 	ret
 
-.found
+.found_nest
 	pop de
 	and a
 	ret
 ; 2a0b7
 
-Function2a0b7: ; 2a0b7
+.RoamMon1: ; 2a0b7
 	ld a, [wRoamMon1Species]
 	ld b, a
-	ld a, [wd265]
+	ld a, [wNamedObjectIndexBuffer]
 	cp b
 	ret nz
 	ld a, [wRoamMon1MapGroup]
@@ -155,7 +157,7 @@
 	ld b, a
 	ld a, [wRoamMon1MapNumber]
 	ld c, a
-	call Function2a09c
+	call .AppendNest
 	ret nc
 	ld [de], a
 	inc de
@@ -162,10 +164,10 @@
 	ret
 ; 2a0cf
 
-Function2a0cf: ; 2a0cf
+.RoamMon2: ; 2a0cf
 	ld a, [wRoamMon2Species]
 	ld b, a
-	ld a, [wd265]
+	ld a, [wNamedObjectIndexBuffer]
 	cp b
 	ret nz
 	ld a, [wRoamMon2MapGroup]
@@ -172,7 +174,7 @@
 	ld b, a
 	ld a, [wRoamMon2MapNumber]
 	ld c, a
-	call Function2a09c
+	call .AppendNest
 	ret nc
 	ld [de], a
 	inc de
@@ -209,7 +211,7 @@
 ; 2a111
 
 GetMapEncounterRate: ; 2a111
-	ld hl, wd25a
+	ld hl, wMornEncounterRate
 	call CheckOnWater
 	ld a, 3
 	jr z, .ok
@@ -446,10 +448,10 @@
 	bit 2, [hl]
 	pop hl
 	jr z, .CheckYanma
-	ld a, [wdfcc]
+	ld a, [wDunsparceMapGroup]
 	cp d
 	jr nz, .CheckYanma
-	ld a, [wdfcd]
+	ld a, [wDunsparceMapNumber]
 	cp e
 	jr nz, .CheckYanma
 	call LookUpWildmonsForMapDE
@@ -463,10 +465,10 @@
 	bit 3, [hl]
 	pop hl
 	jr z, _NoSwarmWildmon
-	ld a, [wdc5a]
+	ld a, [wYanmaMapGroup]
 	cp d
 	jr nz, _NoSwarmWildmon
-	ld a, [wdc5b]
+	ld a, [wYanmaMapNumber]
 	cp e
 	jr nz, _NoSwarmWildmon
 	call LookUpWildmonsForMapDE
@@ -702,11 +704,11 @@
 rept 2
 	add hl, bc
 endr
-	ld a, [wdfe7]
+	ld a, [wRoamMons_LastMapGroup]
 	cp [hl]
 	jr nz, .done
 	inc hl
-	ld a, [wdfe6]
+	ld a, [wRoamMons_LastMapNumber]
 	cp [hl]
 	jr z, .update_loop
 	dec hl
@@ -787,14 +789,14 @@
 ; 2a3f6
 
 _BackUpMapIndices: ; 2a3f6
-	ld a, [wdfe4]
-	ld [wdfe6], a
-	ld a, [wdfe5]
-	ld [wdfe7], a
+	ld a, [wRoamMons_CurrentMapNumber]
+	ld [wRoamMons_LastMapNumber], a
+	ld a, [wRoamMons_CurrentMapGroup]
+	ld [wRoamMons_LastMapGroup], a
 	ld a, [MapNumber]
-	ld [wdfe4], a
+	ld [wRoamMons_CurrentMapNumber], a
 	ld a, [MapGroup]
-	ld [wdfe5], a
+	ld [wRoamMons_CurrentMapGroup], a
 	ret
 ; 2a40f
 
@@ -892,7 +894,7 @@
 	ld de, StringBuffer1
 	call CopyName1
 	ld a, c
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	ld hl, UnknownText_0x2a51a
 	call PrintText
@@ -945,7 +947,7 @@
 endr
 	inc hl
 	ld a, [hl]
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	ld hl, StringBuffer1
 	ld de, StringBuffer4
@@ -1029,7 +1031,7 @@
 	inc hl ; species
 	ld a, BANK(Trainers)
 	call GetFarByte
-	ld [wd265], a
+	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
 	ld hl, StringBuffer1
 	ld de, StringBuffer4
--- a/event/whiteout.asm
+++ b/event/whiteout.asm
@@ -20,7 +20,7 @@
 	farscall Script_AbortBugContest
 	special WarpToSpawnPoint
 	newloadmap MAPSETUP_WARP
-	resetfuncs
+	end_all
 
 .bug_contest
 	jumpstd bugcontestresultswarp
--- /dev/null
+++ b/gfx/pokegear/dexmap_nest_icon.2bpp
@@ -1,0 +1,1 @@
+BBff��������ZZ$$
\ No newline at end of file
binary files /dev/null b/gfx/pokegear/flymap_label_border.2bpp differ
--- a/gfx/unknown/0922d1.2bpp
+++ /dev/null
@@ -1,1 +1,0 @@
-BBff��������ZZ$$
\ No newline at end of file
binary files a/gfx/unknown/0922e1.2bpp /dev/null differ
binary files a/gfx/unknown/092301.2bpp /dev/null differ
--- a/home/map.asm
+++ b/home/map.asm
@@ -2019,7 +2019,7 @@
 	call Function2bae
 	call UpdateSprites
 	call Call_ExitMenu
-	call Functiond90
+	call ret_d90
 	jr Function2b5c
 ; 2b4d
 
@@ -2028,7 +2028,7 @@
 	call Call_ExitMenu
 	call Function2bae
 	call UpdateSprites
-	call Functiond90
+	call ret_d90
 Function2b5c:: ; 2b5c
 	ld b, SCGB_09
 	call GetSGBLayout
--- a/home/palettes.asm
+++ b/home/palettes.asm
@@ -35,10 +35,10 @@
 	ld c, rBGPD % $100
 	ld b, 4 ; NUM_PALS / 2
 .bgp
-	rept $10
+rept 2 palettes
 	ld a, [hli]
 	ld [$ff00+c], a
-	endr
+endr
 
 	dec b
 	jr nz, .bgp
@@ -48,13 +48,13 @@
 ; copy 8 pals to obpd
 	ld a, %10000000 ; auto increment, index 0
 	ld [rOBPI], a
-	ld c, rOBPD - rJOYP
+	ld c, rOBPD % $100
 	ld b, 4 ; NUM_PALS / 2
 .obp
-	rept $10
+rept 2 palettes
 	ld a, [hli]
 	ld [$ff00+c], a
-	endr
+endr
 
 	dec b
 	jr nz, .obp
@@ -163,14 +163,14 @@
 ; cf8
 
 
-Functioncf8:: ; cf8
+DmgToCgbObjPal0:: ; cf8
 	ld [rOBP0], a
 	push af
 
-; Don't need to be here if CGB
+; Don't need to be here if not CGB
 	ld a, [hCGB]
 	and a
-	jr z, .done
+	jr z, .dmg
 
 	push hl
 	push de
@@ -185,9 +185,9 @@
 	ld de, UnknOBPals
 	ld a, [rOBP0]
 	ld b, a
-	ld c, $1
+	ld c, 1
 	call CopyPals
-	ld a, $1
+	ld a, 1
 	ld [hCGBPalUpdate], a
 
 	pop af
@@ -197,39 +197,45 @@
 	pop de
 	pop hl
 
-.done
+.dmg
 	pop af
 	ret
 ; d24
 
-Functiond24:: ; d24
+DmgToCgbObjPal1:: ; d24
 	ld [rOBP1], a
 	push af
+
 	ld a, [hCGB]
 	and a
-	jr z, .asm_d4e
+	jr z, .dmg
+
 	push hl
 	push de
 	push bc
+
 	ld a, [rSVBK]
 	push af
-	ld a, $5
+	ld a, 5 ; gfx
 	ld [rSVBK], a
-	ld hl, OBPals + 8
-	ld de, UnknOBPals + 8
+
+	ld hl, OBPals + 1 palettes
+	ld de, UnknOBPals + 1 palettes
 	ld a, [rOBP1]
 	ld b, a
-	ld c, $1
+	ld c, 1
 	call CopyPals
-	ld a, $1
+	ld a, 1
 	ld [hCGBPalUpdate], a
+
 	pop af
 	ld [rSVBK], a
+
 	pop bc
 	pop de
 	pop hl
 
-.asm_d4e
+.dmg
 	pop af
 	ret
 ; d50
@@ -274,7 +280,7 @@
 	jr nz, .loop
 	
 ; de += 8 (next pal)
-	ld a, 8 ; NUM_PAL_COLORS * 2 ; bytes per pal
+	ld a, 1 palettes ; NUM_PAL_COLORS * 2 ; bytes per pal
 	add e
 	jr nc, .ok
 	inc d
@@ -308,7 +314,7 @@
 ; d90
 
 
-Functiond90:: ; d90
+ret_d90:: ; d90
 	ret
 ; d91
 
--- a/macros/event.asm
+++ b/macros/event.asm
@@ -9,8 +9,7 @@
 	enum farscall_command
 farscall: macro
 	db farscall_command
-	db BANK(\1)
-	dw \1
+	dba \1
 	endm
 
 	enum ptcall_command
@@ -28,8 +27,7 @@
 	enum farjump_command
 farjump: macro
 	db farjump_command
-	db BANK(\1)
-	dw \1
+	dba \1
 	endm
 
 	enum ptjump_command
@@ -93,8 +91,7 @@
 	enum callasm_command
 callasm: macro
 	db callasm_command
-	db BANK(\1)
-	dw \1
+	dba \1
 	endm
 
 
@@ -106,8 +103,7 @@
 
 add_special: MACRO
 \1Special::
-	db BANK(\1)
-	dw \1
+	dba \1
 ENDM
 
 
@@ -505,8 +501,7 @@
 	enum farwritetext_command
 farwritetext: macro
 	db farwritetext_command
-	db BANK(\1)
-	dw \1
+	dba \1
 	endm
 
 	enum writetext_command
@@ -548,8 +543,7 @@
 	enum farjumptext_command
 farjumptext: macro
 	db farjumptext_command
-	db BANK(\1)
-	dw \1
+	dba \1
 	endm
 ; ENDC
 
@@ -928,9 +922,9 @@
 	db \1 ; which_method
 	endm
 
-	enum resetfuncs_command
-resetfuncs: macro
-	db resetfuncs_command
+	enum end_all_command
+end_all: macro
+	db end_all_command
 	endm
 
 	enum pokemart_command
@@ -1010,9 +1004,9 @@
 	db \2 ; var
 	endm
 
-	enum loadwilddata_command
-loadwilddata: macro
-	db loadwilddata_command
+	enum swarm_command
+swarm: macro
+	db swarm_command
 	db \1 ; flag
 	map \2 ; map
 	endm
@@ -1042,9 +1036,9 @@
 	db \1 ; memory
 	endm
 
-	enum displaylocation_command
-displaylocation: macro
-	db displaylocation_command
+	enum landmarktotext_command
+landmarktotext: macro
+	db landmarktotext_command
 	db \1 ; id
 	db \2 ; memory
 	endm
--- a/maps/AzaleaTown.asm
+++ b/maps/AzaleaTown.asm
@@ -8,7 +8,7 @@
 	const AZALEATOWN_SLOWPOKE3
 	const AZALEATOWN_SLOWPOKE4
 	const AZALEATOWN_FRUIT_TREE
-	const AZALEATOWN_AZALEA_ROCKET2
+	const AZALEATOWN_SILVER
 	const AZALEATOWN_AZALEA_ROCKET3
 	const AZALEATOWN_KURT_OUTSIDE
 
@@ -41,13 +41,13 @@
 	return
 
 UnknownScript_0x198018:
-	moveperson AZALEATOWN_AZALEA_ROCKET2, $b, $b
+	moveperson AZALEATOWN_SILVER, $b, $b
 	spriteface PLAYER, RIGHT
 	showemote EMOTE_SHOCK, PLAYER, 15
 	special Special_FadeOutMusic
 	pause 15
-	appear AZALEATOWN_AZALEA_ROCKET2
-	applymovement AZALEATOWN_AZALEA_ROCKET2, MovementData_0x198134
+	appear AZALEATOWN_SILVER
+	applymovement AZALEATOWN_SILVER, MovementData_0x198134
 	spriteface PLAYER, DOWN
 	jump UnknownScript_0x198049
 
@@ -56,8 +56,8 @@
 	showemote EMOTE_SHOCK, PLAYER, 15
 	special Special_FadeOutMusic
 	pause 15
-	appear AZALEATOWN_AZALEA_ROCKET2
-	applymovement AZALEATOWN_AZALEA_ROCKET2, MovementData_0x19813c
+	appear AZALEATOWN_SILVER
+	applymovement AZALEATOWN_SILVER, MovementData_0x19813c
 	spriteface PLAYER, UP
 UnknownScript_0x198049:
 	playmusic MUSIC_RIVAL_ENCOUNTER
@@ -71,7 +71,7 @@
 	checkevent EVENT_GOT_CHIKORITA_FROM_ELM
 	iftrue UnknownScript_0x198081
 	winlosstext UnknownText_0x1981e6, UnknownText_0x19835b
-	setlasttalked $b
+	setlasttalked AZALEATOWN_SILVER
 	loadtrainer RIVAL1, RIVAL1_6
 	startbattle
 	reloadmapmusic
@@ -80,7 +80,7 @@
 
 UnknownScript_0x198071:
 	winlosstext UnknownText_0x1981e6, UnknownText_0x19835b
-	setlasttalked $b
+	setlasttalked AZALEATOWN_SILVER
 	loadtrainer RIVAL1, RIVAL1_4
 	startbattle
 	reloadmapmusic
@@ -89,7 +89,7 @@
 
 UnknownScript_0x198081:
 	winlosstext UnknownText_0x1981e6, UnknownText_0x19835b
-	setlasttalked $b
+	setlasttalked AZALEATOWN_SILVER
 	loadtrainer RIVAL1, RIVAL1_5
 	startbattle
 	reloadmapmusic
@@ -103,9 +103,9 @@
 	waitbutton
 	closetext
 	spriteface PLAYER, LEFT
-	applymovement AZALEATOWN_AZALEA_ROCKET2, MovementData_0x198144
+	applymovement AZALEATOWN_SILVER, MovementData_0x198144
 	playsound SFX_EXIT_BUILDING
-	disappear AZALEATOWN_AZALEA_ROCKET2
+	disappear AZALEATOWN_SILVER
 	dotrigger $0
 	waitsfx
 	playmapmusic
--- a/maps/BurnedTower1F.asm
+++ b/maps/BurnedTower1F.asm
@@ -72,7 +72,7 @@
 	checkevent EVENT_GOT_CHIKORITA_FROM_ELM
 	iftrue UnknownScript_0x185c70
 	winlosstext UnknownText_0x185d9b, UnknownText_0x185e2c
-	setlasttalked $4
+	setlasttalked BURNEDTOWER1F_SILVER
 	loadtrainer RIVAL1, RIVAL1_9
 	startbattle
 	reloadmapmusic
@@ -81,7 +81,7 @@
 
 UnknownScript_0x185c60:
 	winlosstext UnknownText_0x185d9b, UnknownText_0x185e2c
-	setlasttalked $4
+	setlasttalked BURNEDTOWER1F_SILVER
 	loadtrainer RIVAL1, RIVAL1_7
 	startbattle
 	reloadmapmusic
@@ -90,7 +90,7 @@
 
 UnknownScript_0x185c70:
 	winlosstext UnknownText_0x185d9b, UnknownText_0x185e2c
-	setlasttalked $4
+	setlasttalked BURNEDTOWER1F_SILVER
 	loadtrainer RIVAL1, RIVAL1_8
 	startbattle
 	reloadmapmusic
--- a/maps/CherrygroveCity.asm
+++ b/maps/CherrygroveCity.asm
@@ -125,7 +125,7 @@
 	checkevent EVENT_GOT_CHIKORITA_FROM_ELM
 	iftrue UnknownScript_0x19c104
 	winlosstext UnknownText_0x19c57f, UnknownText_0x19c5e6
-	setlasttalked $3
+	setlasttalked CHERRYGROVECITY_SILVER
 	loadtrainer RIVAL1, RIVAL1_3
 	writecode VAR_BATTLETYPE, BATTLETYPE_CANLOSE
 	startbattle
@@ -136,7 +136,7 @@
 
 UnknownScript_0x19c0ee:
 	winlosstext UnknownText_0x19c57f, UnknownText_0x19c5e6
-	setlasttalked $3
+	setlasttalked CHERRYGROVECITY_SILVER
 	loadtrainer RIVAL1, RIVAL1_1
 	writecode VAR_BATTLETYPE, BATTLETYPE_CANLOSE
 	startbattle
@@ -147,7 +147,7 @@
 
 UnknownScript_0x19c104:
 	winlosstext UnknownText_0x19c57f, UnknownText_0x19c5e6
-	setlasttalked $3
+	setlasttalked CHERRYGROVECITY_SILVER
 	loadtrainer RIVAL1, RIVAL1_2
 	writecode VAR_BATTLETYPE, BATTLETYPE_CANLOSE
 	startbattle
--- a/maps/CianwoodCity.asm
+++ b/maps/CianwoodCity.asm
@@ -9,7 +9,7 @@
 	const CIANWOODCITY_ROCK5
 	const CIANWOODCITY_ROCK6
 	const CIANWOODCITY_POKEFAN_F
-	const CIANWOODCITY_SUPER_NERD
+	const CIANWOODCITY_EUSINE
 	const CIANWOODCITY_SUICUNE
 
 CianwoodCity_MapScriptHeader:
@@ -37,7 +37,7 @@
 	setevent EVENT_EUSINE_IN_BURNED_TOWER
 	checkevent EVENT_FOUGHT_EUSINE
 	iffalse UnknownScript_0x1a001d
-	disappear CIANWOODCITY_SUPER_NERD
+	disappear CIANWOODCITY_EUSINE
 UnknownScript_0x1a001d:
 	return
 
@@ -60,14 +60,14 @@
 	iftrue .Done
 	setevent EVENT_FOUGHT_EUSINE
 	playmusic MUSIC_MYSTICALMAN_ENCOUNTER
-	appear CIANWOODCITY_SUPER_NERD
-	applymovement CIANWOODCITY_SUPER_NERD, MovementData_0x1a00e7
+	appear CIANWOODCITY_EUSINE
+	applymovement CIANWOODCITY_EUSINE, MovementData_0x1a00e7
 	loadfont
 	writetext UnknownText_0x1a0433
 	waitbutton
 	closetext
 	winlosstext UnknownText_0x1a05a1, 0
-	setlasttalked $c
+	setlasttalked CIANWOODCITY_EUSINE
 	loadtrainer MYSTICALMAN, EUSINE
 	startbattle
 	reloadmapmusic
@@ -77,8 +77,8 @@
 	writetext UnknownText_0x1a05c3
 	waitbutton
 	closetext
-	applymovement CIANWOODCITY_SUPER_NERD, MovementData_0x1a00ec
-	disappear CIANWOODCITY_SUPER_NERD
+	applymovement CIANWOODCITY_EUSINE, MovementData_0x1a00ec
+	disappear CIANWOODCITY_EUSINE
 	pause 20
 	special Special_FadeOutMusic
 	playmapmusic
--- a/maps/IndigoPlateauPokeCenter1F.asm
+++ b/maps/IndigoPlateauPokeCenter1F.asm
@@ -100,7 +100,7 @@
 	checkevent EVENT_GOT_CHIKORITA_FROM_ELM
 	iftrue UnknownScript_0x180103
 	winlosstext UnknownText_0x180295, UnknownText_0x1802fd
-	setlasttalked $5
+	setlasttalked INDIGOPLATEAUPOKECENTER1F_SILVER
 	loadtrainer RIVAL2, 6
 	startbattle
 	reloadmapmusic
@@ -109,7 +109,7 @@
 
 UnknownScript_0x1800f3:
 	winlosstext UnknownText_0x180295, UnknownText_0x1802fd
-	setlasttalked $5
+	setlasttalked INDIGOPLATEAUPOKECENTER1F_SILVER
 	loadtrainer RIVAL2, 4
 	startbattle
 	reloadmapmusic
@@ -118,7 +118,7 @@
 
 UnknownScript_0x180103:
 	winlosstext UnknownText_0x180295, UnknownText_0x1802fd
-	setlasttalked $5
+	setlasttalked INDIGOPLATEAUPOKECENTER1F_SILVER
 	loadtrainer RIVAL2, 5
 	startbattle
 	reloadmapmusic
--- a/maps/LancesRoom.asm
+++ b/maps/LancesRoom.asm
@@ -1,6 +1,6 @@
 const_value set 2
 	const LANCESROOM_LANCE
-	const LANCESROOM_TEACHER
+	const LANCESROOM_MARY
 	const LANCESROOM_OAK
 
 LancesRoom_MapScriptHeader:
@@ -63,7 +63,7 @@
 	waitbutton
 	closetext
 	winlosstext UnknownText_0x1810a4, 0
-	setlasttalked $2
+	setlasttalked LANCESROOM_LANCE
 	loadtrainer CHAMPION, LANCE
 	startbattle
 	reloadmapmusic
@@ -84,8 +84,8 @@
 	spriteface LANCESROOM_LANCE, DOWN
 	pause 10
 	spriteface PLAYER, DOWN
-	appear LANCESROOM_TEACHER
-	applymovement LANCESROOM_TEACHER, MovementData_0x180f41
+	appear LANCESROOM_MARY
+	applymovement LANCESROOM_MARY, MovementData_0x180f41
 	loadfont
 	writetext UnknownText_0x1811dd
 	waitbutton
@@ -92,8 +92,8 @@
 	closetext
 	appear LANCESROOM_OAK
 	applymovement LANCESROOM_OAK, MovementData_0x180f46
-	follow LANCESROOM_TEACHER, LANCESROOM_OAK
-	applymovement LANCESROOM_TEACHER, MovementData_0x180f49
+	follow LANCESROOM_MARY, LANCESROOM_OAK
+	applymovement LANCESROOM_MARY, MovementData_0x180f49
 	stopfollow
 	spriteface LANCESROOM_OAK, UP
 	spriteface LANCESROOM_LANCE, LEFT
@@ -101,7 +101,7 @@
 	writetext UnknownText_0x18121b
 	waitbutton
 	closetext
-	applymovement LANCESROOM_TEACHER, MovementData_0x180f4c
+	applymovement LANCESROOM_MARY, MovementData_0x180f4c
 	spriteface PLAYER, LEFT
 	loadfont
 	writetext UnknownText_0x18134b
@@ -114,7 +114,7 @@
 	waitbutton
 	closetext
 	follow LANCESROOM_LANCE, PLAYER
-	spriteface LANCESROOM_TEACHER, UP
+	spriteface LANCESROOM_MARY, UP
 	spriteface LANCESROOM_OAK, UP
 	applymovement LANCESROOM_LANCE, MovementData_0x180f53
 	stopfollow
@@ -123,13 +123,13 @@
 	applymovement PLAYER, MovementData_0x180f55
 	playsound SFX_EXIT_BUILDING
 	disappear PLAYER
-	applymovement LANCESROOM_TEACHER, MovementData_0x180f57
-	showemote EMOTE_SHOCK, LANCESROOM_TEACHER, 15
+	applymovement LANCESROOM_MARY, MovementData_0x180f57
+	showemote EMOTE_SHOCK, LANCESROOM_MARY, 15
 	loadfont
 	writetext UnknownText_0x1813c5
 	pause 30
 	closetext
-	applymovement LANCESROOM_TEACHER, MovementData_0x180f5b
+	applymovement LANCESROOM_MARY, MovementData_0x180f5b
 	special FadeOutPalettes
 	pause 15
 	warpfacing UP, HALL_OF_FAME, $4, $d
--- a/maps/MountMoon.asm
+++ b/maps/MountMoon.asm
@@ -6,67 +6,67 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x74089, 0
-	dw UnknownScript_0x7408d, 0
+	dw .Trigger0, 0
+	dw .Trigger1, 0
 
 .MapCallbacks:
 	db 0
 
-UnknownScript_0x74089:
-	priorityjump UnknownScript_0x7408e
+.Trigger0:
+	priorityjump .RivalBattle
 	end
 
-UnknownScript_0x7408d:
+.Trigger1:
 	end
 
-UnknownScript_0x7408e:
+.RivalBattle:
 	spriteface PLAYER, RIGHT
 	showemote EMOTE_SHOCK, PLAYER, 15
 	special Special_FadeOutMusic
 	pause 15
-	applymovement MOUNTMOON_SILVER, MovementData_0x740f9
+	applymovement MOUNTMOON_SILVER, MountMoonSilverMovementBefore
 	playmusic MUSIC_RIVAL_ENCOUNTER
 	loadfont
-	writetext UnknownText_0x74105
+	writetext MountMoonSilverTextBefore
 	waitbutton
 	closetext
 	checkevent EVENT_GOT_TOTODILE_FROM_ELM
-	iftrue UnknownScript_0x740c3
+	iftrue .Totodile
 	checkevent EVENT_GOT_CHIKORITA_FROM_ELM
-	iftrue UnknownScript_0x740d3
-	winlosstext UnknownText_0x7419d, UnknownText_0x742e0
-	setlasttalked $2
+	iftrue .Chikorita
+	winlosstext MountMoonSilverTextWin, MountMoonSilverTextLoss
+	setlasttalked MOUNTMOON_SILVER
 	loadtrainer RIVAL2, 3
 	startbattle
 	reloadmapmusic
 	returnafterbattle
-	jump UnknownScript_0x740e3
+	jump .FinishBattle
 
-UnknownScript_0x740c3:
-	winlosstext UnknownText_0x7419d, UnknownText_0x742e0
-	setlasttalked $2
+.Totodile:
+	winlosstext MountMoonSilverTextWin, MountMoonSilverTextLoss
+	setlasttalked MOUNTMOON_SILVER
 	loadtrainer RIVAL2, 1
 	startbattle
 	reloadmapmusic
 	returnafterbattle
-	jump UnknownScript_0x740e3
+	jump .FinishBattle
 
-UnknownScript_0x740d3:
-	winlosstext UnknownText_0x7419d, UnknownText_0x742e0
-	setlasttalked $2
+.Chikorita:
+	winlosstext MountMoonSilverTextWin, MountMoonSilverTextLoss
+	setlasttalked MOUNTMOON_SILVER
 	loadtrainer RIVAL2, 2
 	startbattle
 	reloadmapmusic
 	returnafterbattle
-	jump UnknownScript_0x740e3
+	jump .FinishBattle
 
-UnknownScript_0x740e3:
+.FinishBattle:
 	playmusic MUSIC_RIVAL_AFTER
 	loadfont
-	writetext UnknownText_0x741fa
+	writetext MountMoonSilverTextAfter
 	waitbutton
 	closetext
-	applymovement MOUNTMOON_SILVER, MovementData_0x740fd
+	applymovement MOUNTMOON_SILVER, MountMoonSilverMovementAfter
 	disappear MOUNTMOON_SILVER
 	dotrigger $1
 	setevent EVENT_BEAT_RIVAL_IN_MT_MOON
@@ -73,13 +73,13 @@
 	playmapmusic
 	end
 
-MovementData_0x740f9:
+MountMoonSilverMovementBefore:
 	step_left
 	step_left
 	step_left
 	step_end
 
-MovementData_0x740fd:
+MountMoonSilverMovementAfter:
 	step_right
 	step_right
 	step_down
@@ -89,7 +89,7 @@
 	step_down
 	step_end
 
-UnknownText_0x74105:
+MountMoonSilverTextBefore:
 	text "<......> <......> <......>"
 
 	para "It's been a while,"
@@ -109,7 +109,7 @@
 	line "show you!"
 	done
 
-UnknownText_0x7419d:
+MountMoonSilverTextWin:
 	text "<......> <......> <......>"
 
 	para "I thought I raised"
@@ -122,7 +122,7 @@
 	line "wasn't enough…"
 	done
 
-UnknownText_0x741fa:
+MountMoonSilverTextAfter:
 	text "<......> <......> <......>"
 
 	para "…You won, fair"
@@ -148,7 +148,7 @@
 	line "beating you."
 	done
 
-UnknownText_0x742e0:
+MountMoonSilverTextLoss:
 	text "<......> <......> <......>"
 
 	para "I've repaid my"
--- a/maps/RadioTower5F.asm
+++ b/maps/RadioTower5F.asm
@@ -1,5 +1,5 @@
 const_value set 2
-	const RADIOTOWER5F_GENTLEMAN
+	const RADIOTOWER5F_DIRECTOR
 	const RADIOTOWER5F_ROCKET
 	const RADIOTOWER5F_ROCKET_GIRL
 	const RADIOTOWER5F_ROCKER
@@ -10,42 +10,42 @@
 	db 3
 
 	; triggers
-	dw UnknownScript_0x6000e, 0
-	dw UnknownScript_0x6000f, 0
-	dw UnknownScript_0x60010, 0
+	dw .Trigger0, 0
+	dw .Trigger1, 0
+	dw .Trigger2, 0
 
 .MapCallbacks:
 	db 0
 
-UnknownScript_0x6000e:
+.Trigger0:
 	end
 
-UnknownScript_0x6000f:
+.Trigger1:
 	end
 
-UnknownScript_0x60010:
+.Trigger2:
 	end
 
-UnknownScript_0x60011:
-	spriteface RADIOTOWER5F_GENTLEMAN, UP
-	showemote EMOTE_SHOCK, RADIOTOWER5F_GENTLEMAN, 15
+FakeDirectorScript:
+	spriteface RADIOTOWER5F_DIRECTOR, UP
+	showemote EMOTE_SHOCK, RADIOTOWER5F_DIRECTOR, 15
 	loadfont
-	writetext UnknownText_0x60128
+	writetext FakeDirectorTextBefore1
 	waitbutton
 	closetext
-	applymovement RADIOTOWER5F_GENTLEMAN, MovementData_0x60109
+	applymovement RADIOTOWER5F_DIRECTOR, FakeDirectorMovement
 	playmusic MUSIC_ROCKET_ENCOUNTER
 	loadfont
-	writetext UnknownText_0x60147
+	writetext FakeDirectorTextBefore2
 	waitbutton
 	closetext
-	winlosstext UnknownText_0x60223, 0
-	setlasttalked $2
+	winlosstext FakeDirectorWinText, 0
+	setlasttalked RADIOTOWER5F_DIRECTOR
 	loadtrainer EXECUTIVEM, 3
 	startbattle
 	returnafterbattle
 	loadfont
-	writetext UnknownText_0x60246
+	writetext FakeDirectorTextAfter
 	buttonsound
 	verbosegiveitem BASEMENT_KEY
 	closetext
@@ -57,14 +57,14 @@
 	faceplayer
 	loadfont
 	checkevent EVENT_CLEARED_RADIO_TOWER
-	iftrue UnknownScript_0x60054
-	writetext UnknownText_0x60246
+	iftrue .TrueDirector
+	writetext FakeDirectorTextAfter
 	waitbutton
 	closetext
 	end
 
-UnknownScript_0x60054:
-	writetext UnknownText_0x60824
+.TrueDirector:
+	writetext RadioTower5FDirectorText
 	waitbutton
 	closetext
 	end
@@ -75,26 +75,26 @@
 Executivef1Script:
 	end_if_just_battled
 	loadfont
-	writetext UnknownText_0x60358
+	writetext Executivef1AfterText
 	waitbutton
 	closetext
 	end
 
-UnknownScript_0x6006e:
+RadioTower5FRocketBossTrigger:
 	applymovement PLAYER, MovementData_0x60125
 	playmusic MUSIC_ROCKET_ENCOUNTER
 	spriteface RADIOTOWER5F_ROCKET, RIGHT
 	loadfont
-	writetext UnknownText_0x603d1
+	writetext RadioTower5FRocketBossBeforeText
 	waitbutton
 	closetext
-	winlosstext UnknownText_0x604f3, 0
-	setlasttalked $3
+	winlosstext RadioTower5FRocketBossWinText, 0
+	setlasttalked RADIOTOWER5F_ROCKET
 	loadtrainer EXECUTIVEM, 1
 	startbattle
 	returnafterbattle
 	loadfont
-	writetext UnknownText_0x6050e
+	writetext RadioTower5FRocketBossAfterText
 	waitbutton
 	closetext
 	special Special_FadeBlackQuickly
@@ -116,16 +116,16 @@
 	setevent EVENT_BLACKTHORN_CITY_SUPER_NERD_BLOCKS_GYM
 	clearevent EVENT_BLACKTHORN_CITY_SUPER_NERD_DOES_NOT_BLOCK_GYM
 	special PlayMapMusic
-	disappear RADIOTOWER5F_GENTLEMAN
-	moveperson RADIOTOWER5F_GENTLEMAN, $c, $0
-	appear RADIOTOWER5F_GENTLEMAN
-	applymovement RADIOTOWER5F_GENTLEMAN, MovementData_0x6010f
+	disappear RADIOTOWER5F_DIRECTOR
+	moveperson RADIOTOWER5F_DIRECTOR, $c, $0
+	appear RADIOTOWER5F_DIRECTOR
+	applymovement RADIOTOWER5F_DIRECTOR, RadioTower5FDirectorWalksIn
 	spriteface PLAYER, RIGHT
 	loadfont
-	writetext UnknownText_0x605b2
+	writetext RadioTower5FDirectorThankYouText
 	buttonsound
 	verbosegiveitem CLEAR_BELL
-	writetext UnknownText_0x6062c
+	writetext RadioTower5FDirectorDescribeClearBellText
 	waitbutton
 	closetext
 	dotrigger $2
@@ -132,12 +132,12 @@
 	domaptrigger ECRUTEAK_HOUSE, $0
 	setevent EVENT_GOT_CLEAR_BELL
 	setevent EVENT_TEAM_ROCKET_DISBANDED
-	jump UnknownScript_0x600f1
+	jump .UselessJump
 
-UnknownScript_0x600f1:
-	applymovement RADIOTOWER5F_GENTLEMAN, MovementData_0x6011a
+.UselessJump:
+	applymovement RADIOTOWER5F_DIRECTOR, RadioTower5FDirectorWalksOut
 	playsound SFX_EXIT_BUILDING
-	disappear RADIOTOWER5F_GENTLEMAN
+	disappear RADIOTOWER5F_DIRECTOR
 	end
 
 Ben:
@@ -147,15 +147,15 @@
 	db ULTRA_BALL, 1
 
 MapRadioTower5FSignpost0Script:
-	jumptext UnknownText_0x608e0
+	jumptext SignpostRadioTower5FOffice
 
 MapRadioTower5FSignpost2Script:
-	jumptext UnknownText_0x608f9
+	jumptext SignpostRadioTower5FStudio
 
 RadioTower5FBookshelf:
 	jumpstd magazinebookshelf
 
-MovementData_0x60109:
+FakeDirectorMovement:
 	step_left
 	step_left
 	step_left
@@ -163,7 +163,7 @@
 	step_up
 	step_end
 
-MovementData_0x6010f:
+RadioTower5FDirectorWalksIn:
 	step_down
 	step_down
 	step_right
@@ -176,7 +176,7 @@
 	step_left
 	step_end
 
-MovementData_0x6011a:
+RadioTower5FDirectorWalksOut:
 	step_right
 	step_up
 	step_up
@@ -194,12 +194,12 @@
 	step_left
 	step_end
 
-UnknownText_0x60128:
+FakeDirectorTextBefore1:
 	text "Y-you! You came to"
 	line "rescue me?"
 	done
 
-UnknownText_0x60147:
+FakeDirectorTextBefore2:
 	text "Is that what you"
 	line "were expecting?"
 
@@ -221,12 +221,12 @@
 	cont "you can beat me!"
 	done
 
-UnknownText_0x60223:
+FakeDirectorWinText:
 	text "OK, OK. I'll tell"
 	line "you where he is."
 	done
 
-UnknownText_0x60246:
+FakeDirectorTextAfter:
 	text "We stashed the"
 	line "real DIRECTOR in"
 
@@ -258,7 +258,7 @@
 	line "I still lost…"
 	done
 
-UnknownText_0x60358:
+Executivef1AfterText:
 	text "<PLAYER>, isn't it?"
 
 	para "A brat like you"
@@ -272,7 +272,7 @@
 	cont "your power."
 	done
 
-UnknownText_0x603d1:
+RadioTower5FRocketBossBeforeText:
 	text "Oh? You managed to"
 	line "get this far?"
 
@@ -301,12 +301,12 @@
 	cont "our plans."
 	done
 
-UnknownText_0x604f3:
+RadioTower5FRocketBossWinText:
 	text "No! Forgive me,"
 	line "GIOVANNI!"
 	done
 
-UnknownText_0x6050e:
+RadioTower5FRocketBossAfterText:
 	text "How could this be?"
 
 	para "Our dreams have"
@@ -324,7 +324,7 @@
 	para "Farewell."
 	done
 
-UnknownText_0x605b2:
+RadioTower5FDirectorThankYouText:
 	text "DIRECTOR: <PLAY_G>,"
 	line "thank you!"
 
@@ -339,7 +339,7 @@
 	cont "take this."
 	done
 
-UnknownText_0x6062c:
+RadioTower5FDirectorDescribeClearBellText:
 	text "There used to be a"
 	line "tower right here"
 	cont "in GOLDENROD CITY."
@@ -390,7 +390,7 @@
 	line "my OFFICE."
 	done
 
-UnknownText_0x60824:
+RadioTower5FDirectorText:
 	text "DIRECTOR: Hello,"
 	line "<PLAY_G>!"
 
@@ -413,12 +413,12 @@
 	line "to our music?"
 	done
 
-UnknownText_0x608e0:
+SignpostRadioTower5FOffice:
 	text "5F DIRECTOR'S"
 	line "   OFFICE"
 	done
 
-UnknownText_0x608f9:
+SignpostRadioTower5FStudio:
 	text "5F STUDIO 1"
 	done
 
@@ -433,8 +433,8 @@
 
 .XYTriggers:
 	db 2
-	xy_trigger 0, $3, $0, $0, UnknownScript_0x60011, $0, $0
-	xy_trigger 1, $5, $10, $0, UnknownScript_0x6006e, $0, $0
+	xy_trigger 0, $3, $0, $0, FakeDirectorScript, $0, $0
+	xy_trigger 1, $5, $10, $0, RadioTower5FRocketBossTrigger, $0, $0
 
 .Signposts:
 	db 5
--- a/maps/TeamRocketBaseB1F.asm
+++ b/maps/TeamRocketBaseB1F.asm
@@ -11,7 +11,7 @@
 	db 1
 
 	; triggers
-	dw UnknownScript_0x6c65a, 0
+	dw .Trigger1, 0
 
 .MapCallbacks:
 	db 1
@@ -18,12 +18,12 @@
 
 	; callbacks
 
-	dbw 2, UnknownScript_0x6c65b
+	dbw 2, .Callback1
 
-UnknownScript_0x6c65a:
+.Trigger1:
 	end
 
-UnknownScript_0x6c65b:
+.Callback1:
 	disappear TEAMROCKETBASEB1F_ROCKET1
 	return
 
@@ -242,7 +242,7 @@
 	waitbutton
 	closetext
 	winlosstext CameraGrunt1BeatenText, 0
-	setlasttalked $2
+	setlasttalked TEAMROCKETBASEB1F_ROCKET1
 	loadtrainer GRUNTM, 20
 	startbattle
 	disappear TEAMROCKETBASEB1F_ROCKET1
@@ -255,7 +255,7 @@
 	waitbutton
 	closetext
 	winlosstext CameraGrunt2BeatenText, 0
-	setlasttalked $2
+	setlasttalked TEAMROCKETBASEB1F_ROCKET1
 	loadtrainer GRUNTM, 21
 	startbattle
 	disappear TEAMROCKETBASEB1F_ROCKET1
@@ -456,7 +456,7 @@
 	special FadeOutPalettes
 	cry VOLTORB
 	special FadeInPalettes
-	setlasttalked $ff
+	setlasttalked -1
 	writecode VAR_BATTLETYPE, BATTLETYPE_TRAP
 	loadwildmon VOLTORB, 23
 	startbattle
@@ -466,7 +466,7 @@
 	special FadeOutPalettes
 	cry GEODUDE
 	special FadeInPalettes
-	setlasttalked $ff
+	setlasttalked -1
 	writecode VAR_BATTLETYPE, BATTLETYPE_TRAP
 	loadwildmon GEODUDE, 21
 	startbattle
@@ -476,7 +476,7 @@
 	special FadeOutPalettes
 	cry KOFFING
 	special FadeInPalettes
-	setlasttalked $ff
+	setlasttalked -1
 	writecode VAR_BATTLETYPE, BATTLETYPE_TRAP
 	loadwildmon KOFFING, 21
 	startbattle
--- a/maps/TeamRocketBaseB2F.asm
+++ b/maps/TeamRocketBaseB2F.asm
@@ -101,7 +101,7 @@
 	applymovement TEAMROCKETBASEB2F_ROCKET1, MovementData_0x6d24a
 	applymovement TEAMROCKETBASEB2F_ROCKET_GIRL, MovementData_0x6d248
 	winlosstext UnknownText_0x6d45c, 0
-	setlasttalked $3
+	setlasttalked TEAMROCKETBASEB2F_ROCKET_GIRL
 	loadtrainer EXECUTIVEF, 2
 	startbattle
 	disappear TEAMROCKETBASEB2F_DRAGON
--- a/maps/TeamRocketBaseB3F.asm
+++ b/maps/TeamRocketBaseB3F.asm
@@ -108,7 +108,7 @@
 	closetext
 	applymovement TEAMROCKETBASEB3F_ROCKET1, MovementData_0x6e142
 	winlosstext UnknownText_0x6e511, 0
-	setlasttalked $3
+	setlasttalked TEAMROCKETBASEB3F_ROCKET1
 	loadtrainer EXECUTIVEM, 4
 	startbattle
 	returnafterbattle
--- a/maps/TrainerHouseB1F.asm
+++ b/maps/TrainerHouseB1F.asm
@@ -7,76 +7,76 @@
 	db 1
 
 	; triggers
-	dw UnknownScript_0x9b38a, 0
+	dw Trigger0, 0
 
 .MapCallbacks:
 	db 0
 
-UnknownScript_0x9b38a:
+Trigger0:
 	end
 
-UnknownScript_0x9b38b:
+TrainerHouseReceptionistScript:
 	spriteface PLAYER, UP
 	loadfont
 	checkflag ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY
-	iftrue UnknownScript_0x9b3f7
-	writetext UnknownText_0x9b420
+	iftrue .FoughtTooManyTimes
+	writetext TrainerHouseB1FIntroText
 	buttonsound
 	special SpecialTrainerHouse
-	iffalse UnknownScript_0x9b3a6
+	iffalse .GetCal3Name
 	trainertotext CAL, CAL2, $0
-	jump UnknownScript_0x9b3aa
+	jump .GotName
 
-UnknownScript_0x9b3a6:
+.GetCal3Name:
 	trainertotext CAL, CAL3, $0
-UnknownScript_0x9b3aa:
-	writetext UnknownText_0x9b46a
+.GotName:
+	writetext TrainerHouseB1FYourOpponentIsText
 	buttonsound
-	writetext UnknownText_0x9b487
+	writetext TrainerHouseB1FAskWantToBattleText
 	yesorno
-	iffalse UnknownScript_0x9b3ed
+	iffalse .Declined
 	setflag ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY
-	writetext UnknownText_0x9b4a2
+	writetext TrainerHouseB1FGoRightInText
 	waitbutton
 	closetext
-	applymovement PLAYER, MovementData_0x9b401
+	applymovement PLAYER, Movement_EnterTrainerHouseBattleRoom
 	loadfont
-	writetext UnknownText_0x9b587
+	writetext TrainerHouseB1FCalBeforeText
 	waitbutton
 	closetext
 	special SpecialTrainerHouse
-	iffalse UnknownScript_0x9b3dc
-	winlosstext UnknownText_0x9b578, 0
-	setlasttalked $3
+	iffalse .NoSpecialBattle
+	winlosstext TrainerHouseB1FCalBeatenText, 0
+	setlasttalked TRAINERHOUSEB1F_CHRIS
 	loadtrainer CAL, CAL2
 	startbattle
 	returnafterbattle
-	iffalse UnknownScript_0x9b3e8
-UnknownScript_0x9b3dc:
-	winlosstext UnknownText_0x9b578, 0
-	setlasttalked $3
+	iffalse .End
+.NoSpecialBattle:
+	winlosstext TrainerHouseB1FCalBeatenText, 0
+	setlasttalked TRAINERHOUSEB1F_CHRIS
 	loadtrainer CAL, CAL3
 	startbattle
 	returnafterbattle
-UnknownScript_0x9b3e8:
-	applymovement PLAYER, MovementData_0x9b40f
+.End:
+	applymovement PLAYER, Movement_ExitTrainerHouseBattleRoom
 	end
 
-UnknownScript_0x9b3ed:
-	writetext UnknownText_0x9b4d6
+.Declined:
+	writetext TrainerHouseB1FPleaseComeAgainText
 	waitbutton
 	closetext
-	applymovement PLAYER, MovementData_0x9b41d
+	applymovement PLAYER, Movement_TrainerHouseTurnBack
 	end
 
-UnknownScript_0x9b3f7:
-	writetext UnknownText_0x9b51d
+.FoughtTooManyTimes:
+	writetext TrainerHouseB1FSecondChallengeDeniedText
 	waitbutton
 	closetext
-	applymovement PLAYER, MovementData_0x9b41d
+	applymovement PLAYER, Movement_TrainerHouseTurnBack
 	end
 
-MovementData_0x9b401:
+Movement_EnterTrainerHouseBattleRoom:
 	step_left
 	step_left
 	step_left
@@ -92,7 +92,7 @@
 	turn_head_right
 	step_end
 
-MovementData_0x9b40f:
+Movement_ExitTrainerHouseBattleRoom:
 	step_up
 	step_up
 	step_up
@@ -108,12 +108,12 @@
 	step_right
 	step_end
 
-MovementData_0x9b41d:
+Movement_TrainerHouseTurnBack:
 	step_right
 	turn_head_left
 	step_end
 
-UnknownText_0x9b420:
+TrainerHouseB1FIntroText:
 	text "Hi. Welcome to our"
 	line "TRAINING HALL."
 
@@ -122,18 +122,18 @@
 	cont "day."
 	done
 
-UnknownText_0x9b46a:
+TrainerHouseB1FYourOpponentIsText:
 	text_from_ram StringBuffer3
 	text " is your"
 	line "opponent today."
 	done
 
-UnknownText_0x9b487:
+TrainerHouseB1FAskWantToBattleText:
 	text "Would you like to"
 	line "battle?"
 	done
 
-UnknownText_0x9b4a2:
+TrainerHouseB1FGoRightInText:
 	text "Please go right"
 	line "through."
 
@@ -141,7 +141,7 @@
 	line "right away."
 	done
 
-UnknownText_0x9b4d6:
+TrainerHouseB1FPleaseComeAgainText:
 	text "Sorry. Only those"
 	line "trainers who will"
 
@@ -149,7 +149,7 @@
 	line "allowed to go in."
 	done
 
-UnknownText_0x9b51d:
+TrainerHouseB1FSecondChallengeDeniedText:
 	text "I'm sorry."
 	line "This would be your"
 
@@ -160,12 +160,12 @@
 	line "a day."
 	done
 
-UnknownText_0x9b578:
+TrainerHouseB1FCalBeatenText:
 	text "I lost…"
 	line "Darn…"
 	done
 
-UnknownText_0x9b587:
+TrainerHouseB1FCalBeforeText:
 	text "I traveled out"
 	line "here just so I"
 	cont "could battle you."
@@ -181,7 +181,7 @@
 
 .XYTriggers:
 	db 1
-	xy_trigger 0, $3, $7, $0, UnknownScript_0x9b38b, $0, $0
+	xy_trigger 0, $3, $7, $0, TrainerHouseReceptionistScript, $0, $0
 
 .Signposts:
 	db 0
--- a/maps/UndergroundPathSwitchRoomEntrances.asm
+++ b/maps/UndergroundPathSwitchRoomEntrances.asm
@@ -1,3 +1,30 @@
+UNDERGROUND_DOOR_CLOSED1 EQU $2a
+UNDERGROUND_DOOR_CLOSED2 EQU $3e
+UNDERGROUND_DOOR_CLOSED3 EQU $3f
+UNDERGROUND_DOOR_OPEN1   EQU $2d
+UNDERGROUND_DOOR_OPEN2   EQU $3d
+
+UGDOOR_1  EQU $1006
+UGDOOR_2  EQU $0a06
+UGDOOR_3  EQU $0206
+UGDOOR_4  EQU $020a
+UGDOOR_5  EQU $0a0a
+UGDOOR_6  EQU $100a
+UGDOOR_7  EQU $0c06
+UGDOOR_8  EQU $0c08
+UGDOOR_9  EQU $0606
+UGDOOR_10 EQU $0608
+UGDOOR_11 EQU $0c0a
+UGDOOR_12 EQU $0c0c
+UGDOOR_13 EQU $060a
+UGDOOR_14 EQU $060c
+UGDOOR_15 EQU $120a
+UGDOOR_16 EQU $120c
+
+doorstate: macro
+	changeblock UGDOOR_\1 / $100, UGDOOR_\1 % $100, UNDERGROUND_DOOR_\2
+endm
+
 const_value set 2
 	const UNDERGROUNDPATHSWITCHROOMENTRANCES_PHARMACIST1
 	const UNDERGROUNDPATHSWITCHROOMENTRANCES_PHARMACIST2
@@ -16,8 +43,8 @@
 	db 2
 
 	; triggers
-	dw UnknownScript_0x7c9f5, 0
-	dw UnknownScript_0x7c9f6, 0
+	dw .Trigger0, 0
+	dw .Trigger1, 0
 
 .MapCallbacks:
 	db 1
@@ -24,73 +51,73 @@
 
 	; callbacks
 
-	dbw 1, UnknownScript_0x7c9f7
+	dbw 1, .UpdateDoorPositions
 
-UnknownScript_0x7c9f5:
+.Trigger0:
 	end
 
-UnknownScript_0x7c9f6:
+.Trigger1:
 	end
 
-UnknownScript_0x7c9f7:
+.UpdateDoorPositions:
 	checkevent EVENT_SWITCH_4
-	iffalse UnknownScript_0x7ca01
-	changeblock $10, $6, $2d
-UnknownScript_0x7ca01:
+	iffalse .false4
+	doorstate 1, OPEN1
+.false4:
 	checkevent EVENT_SWITCH_5
-	iffalse UnknownScript_0x7ca0b
-	changeblock $a, $6, $2d
-UnknownScript_0x7ca0b:
+	iffalse .false5
+	doorstate 2, OPEN1
+.false5:
 	checkevent EVENT_SWITCH_6
-	iffalse UnknownScript_0x7ca15
-	changeblock $2, $6, $2d
-UnknownScript_0x7ca15:
+	iffalse .false6
+	doorstate 3, OPEN1
+.false6:
 	checkevent EVENT_SWITCH_7
-	iffalse UnknownScript_0x7ca1f
-	changeblock $2, $a, $2d
-UnknownScript_0x7ca1f:
+	iffalse .false7
+	doorstate 4, OPEN1
+.false7:
 	checkevent EVENT_SWITCH_8
-	iffalse UnknownScript_0x7ca29
-	changeblock $a, $a, $2d
-UnknownScript_0x7ca29:
+	iffalse .false8
+	doorstate 5, OPEN1
+.false8:
 	checkevent EVENT_SWITCH_9
-	iffalse UnknownScript_0x7ca33
-	changeblock $10, $a, $2d
-UnknownScript_0x7ca33:
+	iffalse .false9
+	doorstate 6, OPEN1
+.false9:
 	checkevent EVENT_SWITCH_10
-	iffalse UnknownScript_0x7ca41
-	changeblock $c, $6, $2a
-	changeblock $c, $8, $2d
-UnknownScript_0x7ca41:
+	iffalse .false10
+	doorstate 7, CLOSED1
+	doorstate 8, OPEN1
+.false10:
 	checkevent EVENT_SWITCH_11
-	iffalse UnknownScript_0x7ca4f
-	changeblock $6, $6, $2a
-	changeblock $6, $8, $2d
-UnknownScript_0x7ca4f:
+	iffalse .false11
+	doorstate 9, CLOSED1
+	doorstate 10, OPEN1
+.false11:
 	checkevent EVENT_SWITCH_12
-	iffalse UnknownScript_0x7ca5d
-	changeblock $c, $a, $2a
-	changeblock $c, $c, $2d
-UnknownScript_0x7ca5d:
+	iffalse .false12
+	doorstate 11, CLOSED1
+	doorstate 12, OPEN1
+.false12:
 	checkevent EVENT_SWITCH_13
-	iffalse UnknownScript_0x7ca6b
-	changeblock $6, $a, $2a
-	changeblock $6, $c, $2d
-UnknownScript_0x7ca6b:
+	iffalse .false13
+	doorstate 13, CLOSED1
+	doorstate 14, OPEN1
+.false13:
 	checkevent EVENT_SWITCH_14
-	iffalse UnknownScript_0x7ca79
-	changeblock $12, $a, $2a
-	changeblock $12, $c, $2d
-UnknownScript_0x7ca79:
+	iffalse .false14
+	doorstate 15, CLOSED1
+	doorstate 16, OPEN1
+.false14:
 	return
 
 SuperNerdScript_0x7ca7a:
-	jumptextfaceplayer UnknownText_0x7d176
+	jumptextfaceplayer UndergroundPathSwitchRoomEntrances_SuperNerdText
 
 TeacherScript_0x7ca7d:
-	jumptextfaceplayer UnknownText_0x7d1d0
+	jumptextfaceplayer UndergroundPathSwitchRoomEntrances_TeacherText
 
-UnknownScript_0x7ca80:
+UndergroundSilverTrigger1:
 	spriteface PLAYER, RIGHT
 	showemote EMOTE_SHOCK, PLAYER, 15
 	special Special_FadeOutMusic
@@ -98,18 +125,18 @@
 	playsound SFX_EXIT_BUILDING
 	appear UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
 	waitsfx
-	applymovement UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER, MovementData_0x7ce87
+	applymovement UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER, UndergroundSilverApproachMovement1
 	spriteface PLAYER, RIGHT
-	scall UnknownScript_0x7cad4
-	applymovement UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER, MovementData_0x7ce92
+	scall UndergroundSilverBattleScript
+	applymovement UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER, UndergroundSilverRetreatMovement1
 	playsound SFX_EXIT_BUILDING
 	disappear UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
-	dotrigger $1
+	dotrigger 1
 	waitsfx
 	playmapmusic
 	end
 
-UnknownScript_0x7caaa:
+UndergroundSilverTrigger2:
 	spriteface PLAYER, RIGHT
 	showemote EMOTE_SHOCK, PLAYER, 15
 	special Special_FadeOutMusic
@@ -117,63 +144,63 @@
 	playsound SFX_EXIT_BUILDING
 	appear UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
 	waitsfx
-	applymovement UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER, MovementData_0x7ce8c
+	applymovement UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER, UndergroundSilverApproachMovement2
 	spriteface PLAYER, RIGHT
-	scall UnknownScript_0x7cad4
-	applymovement UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER, MovementData_0x7ce97
+	scall UndergroundSilverBattleScript
+	applymovement UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER, UndergroundSilverRetreatMovement2
 	playsound SFX_EXIT_BUILDING
 	disappear UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
-	dotrigger $1
+	dotrigger 1
 	waitsfx
 	playmapmusic
 	end
 
-UnknownScript_0x7cad4:
+UndergroundSilverBattleScript:
 	checkevent EVENT_RIVAL_BURNED_TOWER
-	iftrue UnknownScript_0x7cae1
+	iftrue .Continue
 	setevent EVENT_RIVAL_BURNED_TOWER
-	domaptrigger BURNED_TOWER_1F, $1
-UnknownScript_0x7cae1:
+	domaptrigger BURNED_TOWER_1F, 1
+.Continue:
 	playmusic MUSIC_RIVAL_ENCOUNTER
 	loadfont
-	writetext UnknownText_0x7ce9d
+	writetext UndergroundSilverBeforeText
 	waitbutton
 	closetext
 	setevent EVENT_RIVAL_UNDERGROUND_PATH
 	checkevent EVENT_GOT_TOTODILE_FROM_ELM
-	iftrue UnknownScript_0x7cb09
+	iftrue .Totodile
 	checkevent EVENT_GOT_CHIKORITA_FROM_ELM
-	iftrue UnknownScript_0x7cb19
-	winlosstext UnknownText_0x7cf5d, UnknownText_0x7d102
-	setlasttalked $c
+	iftrue .Chikorita
+	winlosstext UndergroundSilverWinText, UndergroundSilverLossText
+	setlasttalked UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
 	loadtrainer RIVAL1, RIVAL1_12
 	startbattle
 	reloadmapmusic
 	returnafterbattle
-	jump UnknownScript_0x7cb29
+	jump .FinishRivalBattle
 
-UnknownScript_0x7cb09:
-	winlosstext UnknownText_0x7cf5d, UnknownText_0x7d102
-	setlasttalked $c
+.Totodile:
+	winlosstext UndergroundSilverWinText, UndergroundSilverLossText
+	setlasttalked UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
 	loadtrainer RIVAL1, RIVAL1_10
 	startbattle
 	reloadmapmusic
 	returnafterbattle
-	jump UnknownScript_0x7cb29
+	jump .FinishRivalBattle
 
-UnknownScript_0x7cb19:
-	winlosstext UnknownText_0x7cf5d, UnknownText_0x7d102
-	setlasttalked $c
+.Chikorita:
+	winlosstext UndergroundSilverWinText, UndergroundSilverLossText
+	setlasttalked UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
 	loadtrainer RIVAL1, RIVAL1_11
 	startbattle
 	reloadmapmusic
 	returnafterbattle
-	jump UnknownScript_0x7cb29
+	jump .FinishRivalBattle
 
-UnknownScript_0x7cb29:
+.FinishRivalBattle:
 	playmusic MUSIC_RIVAL_AFTER
 	loadfont
-	writetext UnknownText_0x7cfc2
+	writetext UndergroundSilverAfterText
 	waitbutton
 	closetext
 	end
@@ -184,7 +211,7 @@
 GruntM11Script:
 	end_if_just_battled
 	loadfont
-	writetext UnknownText_0x7d290
+	writetext GruntM11AfterText
 	waitbutton
 	closetext
 	end
@@ -195,7 +222,7 @@
 GruntM25Script:
 	end_if_just_battled
 	loadfont
-	writetext UnknownText_0x7d347
+	writetext GruntM25AfterText
 	waitbutton
 	closetext
 	end
@@ -206,7 +233,7 @@
 BurglarDuncanScript:
 	end_if_just_battled
 	loadfont
-	writetext UnknownText_0x7d3cf
+	writetext BurglarDuncanAfterText
 	waitbutton
 	closetext
 	end
@@ -217,7 +244,7 @@
 BurglarEddieScript:
 	end_if_just_battled
 	loadfont
-	writetext UnknownText_0x7d45b
+	writetext BurglarEddieAfterText
 	waitbutton
 	closetext
 	end
@@ -228,7 +255,7 @@
 GruntM13Script:
 	end_if_just_battled
 	loadfont
-	writetext UnknownText_0x7d51f
+	writetext GruntM13AfterText
 	waitbutton
 	closetext
 	end
@@ -239,360 +266,360 @@
 GruntF3Script:
 	end_if_just_battled
 	loadfont
-	writetext UnknownText_0x7d5e6
+	writetext GruntF3AfterText
 	waitbutton
 	closetext
 	end
 
-MapUndergroundPathSwitchRoomEntrancesSignpost0Script:
+Switch1Script:
 	loadfont
-	writetext UnknownText_0x7d554
+	writetext SwitchRoomText_Switch1
 	buttonsound
 	checkevent EVENT_SWITCH_1
-	iftrue UnknownScript_0x7cbcb
-	writetext UnknownText_0x7d617
+	iftrue .On
+	writetext SwitchRoomText_OffTurnOn
 	yesorno
-	iffalse UnknownScript_0x7cc8b
+	iffalse UndergroundPathSwitchRoomEntrances_DontToggle
 	copybytetovar UndergroundSwitchPositions
-	addvar $1
+	addvar 1
 	copyvartobyte UndergroundSwitchPositions
 	setevent EVENT_SWITCH_1
-	jump UnknownScript_0x7cc8d
+	jump UndergroundPathSwitchRoomEntrances_UpdateDoors
 
-UnknownScript_0x7cbcb:
-	writetext UnknownText_0x7d62d
+.On:
+	writetext SwitchRoomText_OnTurnOff
 	yesorno
-	iffalse UnknownScript_0x7cc8b
+	iffalse UndergroundPathSwitchRoomEntrances_DontToggle
 	copybytetovar UndergroundSwitchPositions
 	addvar -1
 	copyvartobyte UndergroundSwitchPositions
 	clearevent EVENT_SWITCH_1
-	jump UnknownScript_0x7cc8d
+	jump UndergroundPathSwitchRoomEntrances_UpdateDoors
 
-MapUndergroundPathSwitchRoomEntrancesSignpost1Script:
+Switch2Script:
 	loadfont
-	writetext UnknownText_0x7d643
+	writetext SwitchRoomText_Switch2
 	buttonsound
 	checkevent EVENT_SWITCH_2
-	iftrue UnknownScript_0x7cc00
-	writetext UnknownText_0x7d617
+	iftrue .On
+	writetext SwitchRoomText_OffTurnOn
 	yesorno
-	iffalse UnknownScript_0x7cc8b
+	iffalse UndergroundPathSwitchRoomEntrances_DontToggle
 	copybytetovar UndergroundSwitchPositions
-	addvar $2
+	addvar 2
 	copyvartobyte UndergroundSwitchPositions
 	setevent EVENT_SWITCH_2
-	jump UnknownScript_0x7cc8d
+	jump UndergroundPathSwitchRoomEntrances_UpdateDoors
 
-UnknownScript_0x7cc00:
-	writetext UnknownText_0x7d62d
+.On:
+	writetext SwitchRoomText_OnTurnOff
 	yesorno
-	iffalse UnknownScript_0x7cc8b
+	iffalse UndergroundPathSwitchRoomEntrances_DontToggle
 	copybytetovar UndergroundSwitchPositions
 	addvar -2
 	copyvartobyte UndergroundSwitchPositions
 	clearevent EVENT_SWITCH_2
-	jump UnknownScript_0x7cc8d
+	jump UndergroundPathSwitchRoomEntrances_UpdateDoors
 
-MapUndergroundPathSwitchRoomEntrancesSignpost2Script:
+Switch3Script:
 	loadfont
-	writetext UnknownText_0x7d65a
+	writetext SwitchRoomText_Switch3
 	buttonsound
 	checkevent EVENT_SWITCH_3
-	iftrue UnknownScript_0x7cc35
-	writetext UnknownText_0x7d617
+	iftrue .On
+	writetext SwitchRoomText_OffTurnOn
 	yesorno
-	iffalse UnknownScript_0x7cc8b
+	iffalse UndergroundPathSwitchRoomEntrances_DontToggle
 	copybytetovar UndergroundSwitchPositions
-	addvar $3
+	addvar 3
 	copyvartobyte UndergroundSwitchPositions
 	setevent EVENT_SWITCH_3
-	jump UnknownScript_0x7cc8d
+	jump UndergroundPathSwitchRoomEntrances_UpdateDoors
 
-UnknownScript_0x7cc35:
-	writetext UnknownText_0x7d62d
+.On:
+	writetext SwitchRoomText_OnTurnOff
 	yesorno
-	iffalse UnknownScript_0x7cc8b
+	iffalse UndergroundPathSwitchRoomEntrances_DontToggle
 	copybytetovar UndergroundSwitchPositions
 	addvar -3
 	copyvartobyte UndergroundSwitchPositions
 	clearevent EVENT_SWITCH_3
-	jump UnknownScript_0x7cc8d
+	jump UndergroundPathSwitchRoomEntrances_UpdateDoors
 
-MapUndergroundPathSwitchRoomEntrancesSignpost3Script:
+EmergencySwitchScript:
 	loadfont
-	writetext UnknownText_0x7d671
+	writetext SwitchRoomText_Emergency
 	buttonsound
 	checkevent EVENT_EMERGENCY_SWITCH
-	iftrue UnknownScript_0x7cc70
-	writetext UnknownText_0x7d617
+	iftrue .On
+	writetext SwitchRoomText_OffTurnOn
 	yesorno
-	iffalse UnknownScript_0x7cc8b
-	writebyte $7
+	iffalse UndergroundPathSwitchRoomEntrances_DontToggle
+	writebyte 7
 	copyvartobyte UndergroundSwitchPositions
 	setevent EVENT_EMERGENCY_SWITCH
 	setevent EVENT_SWITCH_1
 	setevent EVENT_SWITCH_2
 	setevent EVENT_SWITCH_3
-	jump UnknownScript_0x7cc8d
+	jump UndergroundPathSwitchRoomEntrances_UpdateDoors
 
-UnknownScript_0x7cc70:
-	writetext UnknownText_0x7d62d
+.On:
+	writetext SwitchRoomText_OnTurnOff
 	yesorno
-	iffalse UnknownScript_0x7cc8b
-	writebyte $0
+	iffalse UndergroundPathSwitchRoomEntrances_DontToggle
+	writebyte 0
 	copyvartobyte UndergroundSwitchPositions
 	clearevent EVENT_EMERGENCY_SWITCH
 	clearevent EVENT_SWITCH_1
 	clearevent EVENT_SWITCH_2
 	clearevent EVENT_SWITCH_3
-	jump UnknownScript_0x7cc8d
+	jump UndergroundPathSwitchRoomEntrances_UpdateDoors
 
-UnknownScript_0x7cc8b:
+UndergroundPathSwitchRoomEntrances_DontToggle:
 	closetext
 	end
 
-UnknownScript_0x7cc8d:
+UndergroundPathSwitchRoomEntrances_UpdateDoors:
 	copybytetovar UndergroundSwitchPositions
-	if_equal $0, UnknownScript_0x7ccb0
-	if_equal $1, UnknownScript_0x7ccd7
-	if_equal $2, UnknownScript_0x7ccf2
-	if_equal $3, UnknownScript_0x7cd0d
-	if_equal $4, UnknownScript_0x7cd28
-	if_equal $5, UnknownScript_0x7cd43
-	if_equal $6, UnknownScript_0x7cd5e
-	if_equal $7, UnknownScript_0x7cd79
-UnknownScript_0x7ccb0:
+	if_equal 0, .Position0
+	if_equal 1, .Position1
+	if_equal 2, .Position2
+	if_equal 3, .Position3
+	if_equal 4, .Position4
+	if_equal 5, .Position5
+	if_equal 6, .Position6
+	if_equal 7, .EmergencyPosition
+.Position0:
 	playsound SFX_ENTER_DOOR
-	scall UnknownScript_0x7ce11
-	scall UnknownScript_0x7ce19
-	scall UnknownScript_0x7ce21
-	scall UnknownScript_0x7ce29
-	scall UnknownScript_0x7ce31
-	scall UnknownScript_0x7ce39
-	scall UnknownScript_0x7ce41
-	scall UnknownScript_0x7ce4d
-	scall UnknownScript_0x7ce59
-	scall UnknownScript_0x7ce65
-	scall UnknownScript_0x7ce71
+	scall .Clear4
+	scall .Clear5
+	scall .Clear6
+	scall .Clear7
+	scall .Clear8
+	scall .Clear9
+	scall .Clear10
+	scall .Clear11
+	scall .Clear12
+	scall .Clear13
+	scall .Clear14
 	reloadmappart
 	closetext
 	end
 
-UnknownScript_0x7ccd7:
+.Position1:
 	playsound SFX_ENTER_DOOR
-	scall UnknownScript_0x7cda5
-	scall UnknownScript_0x7cdd5
-	scall UnknownScript_0x7cdf9
-	scall UnknownScript_0x7ce39
-	scall UnknownScript_0x7ce4d
-	scall UnknownScript_0x7ce59
-	scall UnknownScript_0x7ce71
+	scall .Set4
+	scall .Set10
+	scall .Set13
+	scall .Clear9
+	scall .Clear11
+	scall .Clear12
+	scall .Clear14
 	reloadmappart
 	closetext
 	end
 
-UnknownScript_0x7ccf2:
+.Position2:
 	playsound SFX_ENTER_DOOR
-	scall UnknownScript_0x7cdad
-	scall UnknownScript_0x7cde1
-	scall UnknownScript_0x7cded
-	scall UnknownScript_0x7ce31
-	scall UnknownScript_0x7ce41
-	scall UnknownScript_0x7ce65
-	scall UnknownScript_0x7ce71
+	scall .Set5
+	scall .Set11
+	scall .Set12
+	scall .Clear8
+	scall .Clear10
+	scall .Clear13
+	scall .Clear14
 	reloadmappart
 	closetext
 	end
 
-UnknownScript_0x7cd0d:
+.Position3:
 	playsound SFX_ENTER_DOOR
-	scall UnknownScript_0x7cdb5
-	scall UnknownScript_0x7cdd5
-	scall UnknownScript_0x7cdf9
-	scall UnknownScript_0x7ce29
-	scall UnknownScript_0x7ce4d
-	scall UnknownScript_0x7ce59
-	scall UnknownScript_0x7ce71
+	scall .Set6
+	scall .Set10
+	scall .Set13
+	scall .Clear7
+	scall .Clear11
+	scall .Clear12
+	scall .Clear14
 	reloadmappart
 	closetext
 	end
 
-UnknownScript_0x7cd28:
+.Position4:
 	playsound SFX_ENTER_DOOR
-	scall UnknownScript_0x7cdbd
-	scall UnknownScript_0x7cde1
-	scall UnknownScript_0x7cded
-	scall UnknownScript_0x7ce21
-	scall UnknownScript_0x7ce41
-	scall UnknownScript_0x7ce65
-	scall UnknownScript_0x7ce71
+	scall .Set7
+	scall .Set11
+	scall .Set12
+	scall .Clear6
+	scall .Clear10
+	scall .Clear13
+	scall .Clear14
 	reloadmappart
 	closetext
 	end
 
-UnknownScript_0x7cd43:
+.Position5:
 	playsound SFX_ENTER_DOOR
-	scall UnknownScript_0x7cdc5
-	scall UnknownScript_0x7cdd5
-	scall UnknownScript_0x7cdf9
-	scall UnknownScript_0x7ce19
-	scall UnknownScript_0x7ce4d
-	scall UnknownScript_0x7ce59
-	scall UnknownScript_0x7ce71
+	scall .Set8
+	scall .Set10
+	scall .Set13
+	scall .Clear5
+	scall .Clear11
+	scall .Clear12
+	scall .Clear14
 	reloadmappart
 	closetext
 	end
 
-UnknownScript_0x7cd5e:
+.Position6:
 	playsound SFX_ENTER_DOOR
-	scall UnknownScript_0x7cdcd
-	scall UnknownScript_0x7cde1
-	scall UnknownScript_0x7cded
-	scall UnknownScript_0x7ce05
-	scall UnknownScript_0x7ce11
-	scall UnknownScript_0x7ce41
-	scall UnknownScript_0x7ce65
+	scall .Set9
+	scall .Set11
+	scall .Set12
+	scall .Set14
+	scall .Clear4
+	scall .Clear10
+	scall .Clear13
 	reloadmappart
 	closetext
 	end
 
-UnknownScript_0x7cd79:
+.EmergencyPosition:
 	playsound SFX_ENTER_DOOR
-	scall UnknownScript_0x7ce11
-	scall UnknownScript_0x7ce19
-	scall UnknownScript_0x7cdb5
-	scall UnknownScript_0x7ce29
-	scall UnknownScript_0x7cdc5
-	scall UnknownScript_0x7cdcd
-	scall UnknownScript_0x7ce41
-	scall UnknownScript_0x7cde1
-	scall UnknownScript_0x7cded
-	scall UnknownScript_0x7ce65
-	scall UnknownScript_0x7ce05
+	scall .Clear4
+	scall .Clear5
+	scall .Set6
+	scall .Clear7
+	scall .Set8
+	scall .Set9
+	scall .Clear10
+	scall .Set11
+	scall .Set12
+	scall .Clear13
+	scall .Set14
 	reloadmappart
 	closetext
-	writebyte $6
+	writebyte 6
 	copyvartobyte UndergroundSwitchPositions
 	end
 
-UnknownScript_0x7cda5:
-	changeblock $10, $6, $2d
+.Set4:
+	doorstate 1, OPEN1
 	setevent EVENT_SWITCH_4
 	end
 
-UnknownScript_0x7cdad:
-	changeblock $a, $6, $2d
+.Set5:
+	doorstate 2, OPEN1
 	setevent EVENT_SWITCH_5
 	end
 
-UnknownScript_0x7cdb5:
-	changeblock $2, $6, $2d
+.Set6:
+	doorstate 3, OPEN1
 	setevent EVENT_SWITCH_6
 	end
 
-UnknownScript_0x7cdbd:
-	changeblock $2, $a, $2d
+.Set7:
+	doorstate 4, OPEN1
 	setevent EVENT_SWITCH_7
 	end
 
-UnknownScript_0x7cdc5:
-	changeblock $a, $a, $2d
+.Set8:
+	doorstate 5, OPEN1
 	setevent EVENT_SWITCH_8
 	end
 
-UnknownScript_0x7cdcd:
-	changeblock $10, $a, $2d
+.Set9:
+	doorstate 6, OPEN1
 	setevent EVENT_SWITCH_9
 	end
 
-UnknownScript_0x7cdd5:
-	changeblock $c, $6, $2a
-	changeblock $c, $8, $2d
+.Set10:
+	doorstate 7, CLOSED1
+	doorstate 8, OPEN1
 	setevent EVENT_SWITCH_10
 	end
 
-UnknownScript_0x7cde1:
-	changeblock $6, $6, $2a
-	changeblock $6, $8, $2d
+.Set11:
+	doorstate 9, CLOSED1
+	doorstate 10, OPEN1
 	setevent EVENT_SWITCH_11
 	end
 
-UnknownScript_0x7cded:
-	changeblock $c, $a, $2a
-	changeblock $c, $c, $2d
+.Set12:
+	doorstate 11, CLOSED1
+	doorstate 12, OPEN1
 	setevent EVENT_SWITCH_12
 	end
 
-UnknownScript_0x7cdf9:
-	changeblock $6, $a, $2a
-	changeblock $6, $c, $2d
+.Set13:
+	doorstate 13, CLOSED1
+	doorstate 14, OPEN1
 	setevent EVENT_SWITCH_13
 	end
 
-UnknownScript_0x7ce05:
-	changeblock $12, $a, $2a
-	changeblock $12, $c, $2d
+.Set14:
+	doorstate 15, CLOSED1
+	doorstate 16, OPEN1
 	setevent EVENT_SWITCH_14
 	end
 
-UnknownScript_0x7ce11:
-	changeblock $10, $6, $3e
+.Clear4:
+	doorstate 1, CLOSED2
 	clearevent EVENT_SWITCH_4
 	end
 
-UnknownScript_0x7ce19:
-	changeblock $a, $6, $3e
+.Clear5:
+	doorstate 2, CLOSED2
 	clearevent EVENT_SWITCH_5
 	end
 
-UnknownScript_0x7ce21:
-	changeblock $2, $6, $3e
+.Clear6:
+	doorstate 3, CLOSED2
 	clearevent EVENT_SWITCH_6
 	end
 
-UnknownScript_0x7ce29:
-	changeblock $2, $a, $3e
+.Clear7:
+	doorstate 4, CLOSED2
 	clearevent EVENT_SWITCH_7
 	end
 
-UnknownScript_0x7ce31:
-	changeblock $a, $a, $3e
+.Clear8:
+	doorstate 5, CLOSED2
 	clearevent EVENT_SWITCH_8
 	end
 
-UnknownScript_0x7ce39:
-	changeblock $10, $a, $3e
+.Clear9:
+	doorstate 6, CLOSED2
 	clearevent EVENT_SWITCH_9
 	end
 
-UnknownScript_0x7ce41:
-	changeblock $c, $6, $3f
-	changeblock $c, $8, $3d
+.Clear10:
+	doorstate 7, CLOSED3
+	doorstate 8, OPEN2
 	clearevent EVENT_SWITCH_10
 	end
 
-UnknownScript_0x7ce4d:
-	changeblock $6, $6, $3f
-	changeblock $6, $8, $3d
+.Clear11:
+	doorstate 9, CLOSED3
+	doorstate 10, OPEN2
 	clearevent EVENT_SWITCH_11
 	end
 
-UnknownScript_0x7ce59:
-	changeblock $c, $a, $3f
-	changeblock $c, $c, $3d
+.Clear12:
+	doorstate 11, CLOSED3
+	doorstate 12, OPEN2
 	clearevent EVENT_SWITCH_12
 	end
 
-UnknownScript_0x7ce65:
-	changeblock $6, $a, $3f
-	changeblock $6, $c, $3d
+.Clear13:
+	doorstate 13, CLOSED3
+	doorstate 14, OPEN2
 	clearevent EVENT_SWITCH_13
 	end
 
-UnknownScript_0x7ce71:
-	changeblock $12, $a, $3f
-	changeblock $12, $c, $3d
+.Clear14:
+	doorstate 15, CLOSED3
+	doorstate 16, OPEN2
 	clearevent EVENT_SWITCH_14
 	end
 
@@ -610,7 +637,7 @@
 	dwb EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_HIDDEN_REVIVE, REVIVE
 	
 
-MovementData_0x7ce87:
+UndergroundSilverApproachMovement1:
 	step_down
 	step_left
 	step_left
@@ -617,7 +644,7 @@
 	step_left
 	step_end
 
-MovementData_0x7ce8c:
+UndergroundSilverApproachMovement2:
 	step_down
 	step_down
 	step_left
@@ -625,7 +652,7 @@
 	step_left
 	step_end
 
-MovementData_0x7ce92:
+UndergroundSilverRetreatMovement1:
 	step_right
 	step_right
 	step_right
@@ -632,7 +659,7 @@
 	step_up
 	step_end
 
-MovementData_0x7ce97:
+UndergroundSilverRetreatMovement2:
 	step_right
 	step_right
 	step_right
@@ -640,7 +667,7 @@
 	step_up
 	step_end
 
-UnknownText_0x7ce9d:
+UndergroundSilverBeforeText:
 	text "Hold it!"
 
 	para "I saw you, so I"
@@ -663,7 +690,7 @@
 	line "debts!"
 	done
 
-UnknownText_0x7cf5d:
+UndergroundSilverWinText:
 	text "…Why…"
 	line "Why do I lose?"
 
@@ -676,7 +703,7 @@
 	para "So why do I lose?"
 	done
 
-UnknownText_0x7cfc2:
+UndergroundSilverAfterText:
 	text "…I don't under-"
 	line "stand…"
 
@@ -712,7 +739,7 @@
 	line "#MON trainer!"
 	done
 
-UnknownText_0x7d102:
+UndergroundSilverLossText:
 	text "Humph. This is my"
 	line "real power, wimp."
 
@@ -724,7 +751,7 @@
 	cont "under my heels."
 	done
 
-UnknownText_0x7d176:
+UndergroundPathSwitchRoomEntrances_SuperNerdText:
 	text "I was challenged"
 	line "to a battle down-"
 	cont "stairs."
@@ -734,7 +761,7 @@
 	cont "better be careful."
 	done
 
-UnknownText_0x7d1d0:
+UndergroundPathSwitchRoomEntrances_TeacherText:
 	text "There are some"
 	line "shops downstairs…"
 
@@ -758,7 +785,7 @@
 	line "by indecision!"
 	done
 
-UnknownText_0x7d290:
+GruntM11AfterText:
 	text "I'm confused too…"
 	line "The switch on the"
 
@@ -782,7 +809,7 @@
 	line "I blew it."
 	done
 
-UnknownText_0x7d347:
+GruntM25AfterText:
 	text "All right. A hint!"
 
 	para "Change the order"
@@ -802,7 +829,7 @@
 	text "Mercy!"
 	done
 
-UnknownText_0x7d3cf:
+BurglarDuncanAfterText:
 	text "Steal and sell!"
 	line "That's basic in"
 	cont "crime, kid!"
@@ -821,7 +848,7 @@
 	text "Over the top!"
 	done
 
-UnknownText_0x7d45b:
+BurglarEddieAfterText:
 	text "UNDERGROUND WARE-"
 	line "HOUSE?"
 
@@ -846,13 +873,13 @@
 	line "you're cool, huh?"
 	done
 
-UnknownText_0x7d51f:
+GruntM13AfterText:
 	text "You must have ice"
 	line "in your veins to"
 	cont "dis TEAM ROCKET."
 	done
 
-UnknownText_0x7d554:
+SwitchRoomText_Switch1:
 	text "It's labeled"
 	line "SWITCH 1."
 	done
@@ -873,33 +900,33 @@
 	text "How could you?"
 	done
 
-UnknownText_0x7d5e6:
+GruntF3AfterText:
 	text "Go wherever you'd"
 	line "like! Get lost!"
 	cont "See if I care!"
 	done
 
-UnknownText_0x7d617:
+SwitchRoomText_OffTurnOn:
 	text "It's OFF."
 	line "Turn it ON?"
 	done
 
-UnknownText_0x7d62d:
+SwitchRoomText_OnTurnOff:
 	text "It's ON."
 	line "Turn it OFF?"
 	done
 
-UnknownText_0x7d643:
+SwitchRoomText_Switch2:
 	text "It's labeled"
 	line "SWITCH 2."
 	done
 
-UnknownText_0x7d65a:
+SwitchRoomText_Switch3:
 	text "It's labeled"
 	line "SWITCH 3."
 	done
 
-UnknownText_0x7d671:
+SwitchRoomText_Emergency:
 	text "It's labeled"
 	line "EMERGENCY."
 	done
@@ -922,15 +949,15 @@
 
 .XYTriggers:
 	db 2
-	xy_trigger 0, $4, $13, $0, UnknownScript_0x7ca80, $0, $0
-	xy_trigger 0, $5, $13, $0, UnknownScript_0x7caaa, $0, $0
+	xy_trigger 0, $4, $13, $0, UndergroundSilverTrigger1, $0, 0
+	xy_trigger 0, $5, $13, $0, UndergroundSilverTrigger2, $0, 0
 
 .Signposts:
 	db 6
-	signpost 1, 16, SIGNPOST_READ, MapUndergroundPathSwitchRoomEntrancesSignpost0Script
-	signpost 1, 10, SIGNPOST_READ, MapUndergroundPathSwitchRoomEntrancesSignpost1Script
-	signpost 1, 2, SIGNPOST_READ, MapUndergroundPathSwitchRoomEntrancesSignpost2Script
-	signpost 11, 20, SIGNPOST_READ, MapUndergroundPathSwitchRoomEntrancesSignpost3Script
+	signpost 1, 16, SIGNPOST_READ, Switch1Script
+	signpost 1, 10, SIGNPOST_READ, Switch2Script
+	signpost 1, 2, SIGNPOST_READ, Switch3Script
+	signpost 11, 20, SIGNPOST_READ, EmergencySwitchScript
 	signpost 9, 8, SIGNPOST_ITEM, MapUndergroundPathSwitchRoomEntrancesSignpostItem4
 	signpost 8, 1, SIGNPOST_ITEM, MapUndergroundPathSwitchRoomEntrancesSignpostItem5
 
--- a/maps/VictoryRoad.asm
+++ b/maps/VictoryRoad.asm
@@ -65,7 +65,7 @@
 	checkevent EVENT_GOT_CHIKORITA_FROM_ELM
 	iftrue UnknownScript_0x7450f
 	winlosstext UnknownText_0x7463d, UnknownText_0x747aa
-	setlasttalked $2
+	setlasttalked VICTORYROAD_SILVER
 	loadtrainer RIVAL1, RIVAL1_15
 	startbattle
 	reloadmapmusic
@@ -74,7 +74,7 @@
 
 UnknownScript_0x744ff:
 	winlosstext UnknownText_0x7463d, UnknownText_0x747aa
-	setlasttalked $2
+	setlasttalked VICTORYROAD_SILVER
 	loadtrainer RIVAL1, RIVAL1_13
 	startbattle
 	reloadmapmusic
@@ -83,7 +83,7 @@
 
 UnknownScript_0x7450f:
 	winlosstext UnknownText_0x7463d, UnknownText_0x747aa
-	setlasttalked $2
+	setlasttalked VICTORYROAD_SILVER
 	loadtrainer RIVAL1, RIVAL1_14
 	startbattle
 	reloadmapmusic
--- a/misc/mobile_42.asm
+++ b/misc/mobile_42.asm
@@ -1181,7 +1181,7 @@
 	sla a
 	sla a
 	call DmgToCgbBGPals
-	call Functioncf8
+	call DmgToCgbObjPal0
 	ld c, $4
 	call DelayFrames
 	jr .asm_10893d
@@ -1189,7 +1189,7 @@
 .asm_108953
 	xor a
 	call DmgToCgbBGPals
-	call Functioncf8
+	call DmgToCgbObjPal0
 	call Function1082b7
 	ret
 ; 10895e
@@ -1446,7 +1446,7 @@
 	pop af
 	ld [rSVBK], a
 	ld a, $e4
-	call Functioncf8
+	call DmgToCgbObjPal0
 	ld a, $e4
 	call DmgToCgbBGPals
 	call DelayFrame
--- a/misc/mobile_46.asm
+++ b/misc/mobile_46.asm
@@ -5694,7 +5694,7 @@
 	call Call_ExitMenu
 	callba MobileFunc_106462
 	callba Function106464
-	call Functiond90
+	call ret_d90
 	callba Function2b5c
 	call UpdateSprites
 	ret
@@ -6030,7 +6030,7 @@
 	ld de, String_11ae40
 	call PlaceString
 	hlcoord 10, 10, AttrMap
-	ld bc, $0808
+	lb bc, 8, 8
 	call Function11afd6
 	callba ReloadMapPart
 	call Function11ad8a
@@ -6346,20 +6346,20 @@
 ; 11afd6
 
 Function11afd6: ; 11afd6
-	ld de, $0014
+	ld de, SCREEN_WIDTH
 	ld a, $3
-.asm_11afdb
+.row
 	push bc
 	push hl
-.asm_11afdd
+.col
 	ld [hli], a
 	dec c
-	jr nz, .asm_11afdd
+	jr nz, .col
 	pop hl
 	add hl, de
 	pop bc
 	dec b
-	jr nz, .asm_11afdb
+	jr nz, .row
 	ret
 ; 11afe8
 
@@ -6416,55 +6416,55 @@
 	push hl
 	push af
 	ld c, $1
-.asm_11b041
+.loop
 	ld a, [hli]
-	cp $ef
-	jr z, .asm_11b051
-	cp $f5
-	jr z, .asm_11b051
-	cp $50
-	jr z, .asm_11b055
+	cp "♂"
+	jr z, .gender
+	cp "♀"
+	jr z, .gender
+	cp "@"
+	jr z, .done
 	inc c
-	jr .asm_11b041
+	jr .loop
 
-.asm_11b051
+.gender
 	dec hl
-	ld a, $50
+	ld a, "@"
 	ld [hli], a
 
-.asm_11b055
+.done
 	dec hl
 	push hl
-	ld e, $4
-	ld d, $0
+	ld e, 4
+	ld d, 0
 	add hl, de
 	ld e, l
 	ld d, h
 	pop hl
-.asm_11b05f
+.loop2
 	ld a, [hld]
 	ld [de], a
 	dec de
 	dec c
-	jr nz, .asm_11b05f
+	jr nz, .loop2
 	pop af
 	pop de
 	cp $1
-	jr nz, .asm_11b070
-	ld hl, String_11b07a
-	jr .asm_11b073
+	jr nz, .female
+	ld hl, .MaleString
+	jr .got_string
 
-.asm_11b070
-	ld hl, String_11b07e
+.female
+	ld hl, .FemaleString
 
-.asm_11b073
-	ld bc, 4
+.got_string
+	ld bc, 4 ; string length
 	call CopyBytes
 	ret
 ; 11b07a
 
-String_11b07a: db "ォスの "
-String_11b07e: db "メスの "
+.MaleString: db "ォスの "
+.FemaleString: db "メスの "
 
 Function11b082: ; 11b082
 	call Function11b242
@@ -6488,36 +6488,38 @@
 	ld a, [wc7d0]
 	ld e, a
 	ld d, $0
-	ld hl, $c6d0
+	ld hl, wc6d0
 	add hl, de
 	ld e, l
 	ld d, h
 	hlcoord 11, 2
 	ld a, [wc7d3]
-.asm_11b0b9
+.loop
 	push af
 	ld a, [de]
 	ld [wd265], a
 	push de
 	push hl
-	call Function11b0cf
+	call .PlaceMonNameOrPlaceholderString
 	pop hl
-	ld de, $0028
+	ld de, 2 * SCREEN_WIDTH
 	add hl, de
 	pop de
 	inc de
 	pop af
 	dec a
-	jr nz, .asm_11b0b9
+	jr nz, .loop
 	ret
 ; 11b0cf
 
-Function11b0cf: ; 11b0cf
+.PlaceMonNameOrPlaceholderString: ; 11b0cf
 	and a
 	ret z
-	call Function11b0ec
+
+	call .CheckSeenFlag
 	ret c
-	call Function11b0e1
+
+	call .SetCaughtFlag
 	push hl
 	call GetPokemonName
 	pop hl
@@ -6525,29 +6527,30 @@
 	ret
 ; 11b0e1
 
-Function11b0e1: ; 11b0e1
-	call Function11b21e
-	jr nz, .asm_11b0e8
+.SetCaughtFlag: ; 11b0e1
+	call CheckCaughtMemMon
+	jr nz, .okay
 	inc hl
 	ret
 
-.asm_11b0e8
+.okay
 	ld a, $1
 	ld [hli], a
 	ret
 ; 11b0ec
 
-Function11b0ec: ; 11b0ec
-	call Function11b22a
+.CheckSeenFlag: ; 11b0ec
+	call CheckSeenMemMon
 	ret nz
+
 	inc hl
-	ld de, String_11b0f9
+	ld de, .EmptySlot
 	call PlaceString
 	scf
 	ret
 ; 11b0f9
 
-String_11b0f9: ; 11b0f9
+.EmptySlot: ; 11b0f9
 	db "ーーーーー@"
 ; 11b0ff
 
@@ -6583,7 +6586,7 @@
 
 .asm_11b131
 	call Function11b20b
-	call Function11b22a
+	call CheckSeenMemMon
 	jr z, .asm_11b13d
 	ld a, $1
 	jr .asm_11b148
@@ -6767,7 +6770,7 @@
 	ret
 ; 11b21e
 
-Function11b21e: ; 11b21e
+CheckCaughtMemMon: ; 11b21e
 	push de
 	push hl
 	ld a, [wd265]
@@ -6778,7 +6781,7 @@
 	ret
 ; 11b22a
 
-Function11b22a: ; 11b22a
+CheckSeenMemMon: ; 11b22a
 	push de
 	push hl
 	ld a, [wd265]
@@ -6849,7 +6852,7 @@
 Function11b279: ; 11b279
 	ld a, [wd265]
 	ld [CurSpecies], a
-	call Function11b22a
+	call CheckSeenMemMon
 	jr z, .asm_11b28f
 	call GetBaseData
 	ld a, [BaseGender]
@@ -6872,7 +6875,7 @@
 	ld de, String_11b308
 	call PlaceString
 	call Function11b20b
-	call Function11b22a
+	call CheckSeenMemMon
 	jr z, .asm_11b2d1
 	ld a, [$c608]
 	ld c, a
@@ -6946,106 +6949,106 @@
 ; 11b31b
 
 Function11b31b: ; 11b31b
-	ld hl, Unknown_11b350
+	ld hl, .Coords
 	ld a, [wJumptableIndex]
-	cp $2
-	jr c, .asm_11b349
+	cp 2
+	jr c, .tilemap_1
 	ld a, [wc7d1]
-	cp $4
-	jr nc, .asm_11b344
-	cp $3
-	jr c, .asm_11b349
+	cp 4
+	jr nc, .tilemap_3
+	cp 3
+	jr c, .tilemap_1
 	ld a, [wJumptableIndex]
-	cp $2
-	jr z, .asm_11b349
-	cp $3
-	jr z, .asm_11b349
-	cp $6
-	jr z, .asm_11b349
+	cp 2
+	jr z, .tilemap_1
+	cp 3
+	jr z, .tilemap_1
+	cp 6
+	jr z, .tilemap_1
 
-	ld bc, Unknown_11b37b
-	jr .asm_11b34c
+	ld bc, .Tilemap2
+	jr .load_sprites
 
-.asm_11b344
-	ld bc, Unknown_11b389
-	jr .asm_11b34c
+.tilemap_3
+	ld bc, .Tilemap3
+	jr .load_sprites
 
-.asm_11b349
-	ld bc, Unknown_11b36d
+.tilemap_1
+	ld bc, .Tilemap1
 
-.asm_11b34c
+.load_sprites
 	call Function11b397
 	ret
 ; 11b350
 
-Unknown_11b350:
-	dbpixel 3, 11, 2, 6
-	dbpixel 3, 12, 2, 6
-	dbpixel 3, 13, 2, 6
-	dbpixel 3, 14, 2, 6
-	dbpixel 3, 15, 2, 6
-	dbpixel 3, 16, 2, 6
-	dbpixel 3, 17, 2, 6
-	dbpixel 4, 11, 2, 6
-	dbpixel 4, 12, 2, 6
-	dbpixel 4, 13, 2, 6
-	dbpixel 4, 14, 2, 6
-	dbpixel 4, 15, 2, 6
-	dbpixel 4, 16, 2, 6
-	dbpixel 4, 17, 2, 6
+.Coords:
+	dbpixel 3, 11, 2, 6 ;  0
+	dbpixel 3, 12, 2, 6 ;  1
+	dbpixel 3, 13, 2, 6 ;  2
+	dbpixel 3, 14, 2, 6 ;  3
+	dbpixel 3, 15, 2, 6 ;  4
+	dbpixel 3, 16, 2, 6 ;  5
+	dbpixel 3, 17, 2, 6 ;  6
+	dbpixel 4, 11, 2, 6 ;  7
+	dbpixel 4, 12, 2, 6 ;  8
+	dbpixel 4, 13, 2, 6 ;  9
+	dbpixel 4, 14, 2, 6 ; 10
+	dbpixel 4, 15, 2, 6 ; 11
+	dbpixel 4, 16, 2, 6 ; 12
+	dbpixel 4, 17, 2, 6 ; 13
 	db -1
 
-Unknown_11b36d:
-	db $30
-	db $31
-	db $31
-	db $31
-	db $31
-	db $31
-	db $32
-	db $40
-	db $41
-	db $41
-	db $41
-	db $41
-	db $41
-	db $42
+.Tilemap1: ; vtiles
+	db $30 ;  0
+	db $31 ;  1
+	db $31 ;  2
+	db $31 ;  3
+	db $31 ;  4
+	db $31 ;  5
+	db $32 ;  6
+	db $40 ;  7
+	db $41 ;  8
+	db $41 ;  9
+	db $41 ; 10
+	db $41 ; 11
+	db $41 ; 12
+	db $42 ; 13
 
-Unknown_11b37b:
-	db $30
-	db $31
-	db $31
-	db $39
-	db $39
-	db $39
-	db $39
-	db $40
-	db $41
-	db $41
-	db $39
-	db $39
-	db $39
-	db $39
+.Tilemap2: ; vtiles
+	db $30 ;  0
+	db $31 ;  1
+	db $31 ;  2
+	db $39 ;  3
+	db $39 ;  4
+	db $39 ;  5
+	db $39 ;  6
+	db $40 ;  7
+	db $41 ;  8
+	db $41 ;  9
+	db $39 ; 10
+	db $39 ; 11
+	db $39 ; 12
+	db $39 ; 13
 
-Unknown_11b389:
-	db $39
-	db $39
-	db $39
-	db $39
-	db $39
-	db $39
-	db $39
-	db $39
-	db $39
-	db $39
-	db $39
-	db $39
-	db $39
-	db $39
+.Tilemap3: ; vtiles
+	db $39 ;  0
+	db $39 ;  1
+	db $39 ;  2
+	db $39 ;  3
+	db $39 ;  4
+	db $39 ;  5
+	db $39 ;  6
+	db $39 ;  7
+	db $39 ;  8
+	db $39 ;  9
+	db $39 ; 10
+	db $39 ; 11
+	db $39 ; 12
+	db $39 ; 13
 
 Function11b397: ; 11b397
 	ld de, Sprites
-.asm_11b39a
+.loop
 	ld a, [hl]
 	cp $ff
 	ret z
@@ -7065,16 +7068,17 @@
 	inc bc
 	ld [de], a
 	inc de
-	ld a, $5
+	ld a, $5 ; OBPal 5
 	ld [de], a
 	inc de
-	jr .asm_11b39a
+	jr .loop
 ; 11b3b6
 
 Function11b3b6: ; 11b3b6
-.asm_11b3b6
+; unreferenced
+.loop
 	ld a, [hl]
-	cp $ff
+	cp -1
 	ret z
 	ld a, [wcd4d]
 	and $7
@@ -7098,11 +7102,11 @@
 	ld a, $5
 	ld [de], a
 	inc de
-	jr .asm_11b3b6
+	jr .loop
 ; 11b3d9
 
 Function11b3d9: ; 11b3d9
-	ld de, Sprites + $70
+	ld de, Sprites + 28 * 4
 	push de
 	ld a, [wc7d2]
 	dec a
@@ -7111,19 +7115,19 @@
 	ld hl, wc7d0
 	add [hl]
 	cp e
-	jr z, .asm_11b40d
+	jr z, .skip
 	ld hl, 0
-	ld bc, $0070
+	ld bc, $70
 	call AddNTimes
 	ld e, l
 	ld d, h
-	ld b, $0
+	ld b, 0
 	ld a, d
 	or e
-	jr z, .asm_11b40f
+	jr z, .load_sprites
 	ld a, [wc7d2]
 	ld c, a
-.asm_11b401
+.loop1
 	ld a, e
 	sub c
 	ld e, a
@@ -7130,32 +7134,32 @@
 	ld a, d
 	sbc $0
 	ld d, a
-	jr c, .asm_11b40f
+	jr c, .load_sprites
 	inc b
-	jr .asm_11b401
+	jr .loop1
 
-.asm_11b40d
-	ld b, $70
+.skip
+	ld b, 14 * 8
 
-.asm_11b40f
-	ld a, $15
+.load_sprites
+	ld a, 2 * 8 + 5
 	add b
 	pop hl
 	ld [hli], a
 	cp $41
-	jr c, .asm_11b42b
+	jr c, .version1
 	ld a, [wJumptableIndex]
-	cp $4
-	jr z, .asm_11b43b
-	cp $5
-	jr z, .asm_11b43b
-	cp $7
-	jr z, .asm_11b43b
-	cp $8
-	jr z, .asm_11b43b
+	cp 4
+	jr z, .version2
+	cp 5
+	jr z, .version2
+	cp 7
+	jr z, .version2
+	cp 8
+	jr z, .version2
 
-.asm_11b42b
-	ld a, $9b
+.version1
+	ld a, 19 * 8 + 3
 	ld [hli], a
 	ld a, [wcd4c]
 	add $3c
@@ -7165,8 +7169,8 @@
 	ld [hl], a
 	ret
 
-.asm_11b43b
-	ld a, $9b
+.version2
+	ld a, 19 * 8 + 3
 	ld [hli], a
 	ld a, $39
 	ld [hli], a
@@ -7192,12 +7196,12 @@
 ; 11b45c
 
 Function11b45c: ; 11b45c
-.asm_11b45c
+.loop
 	call Function11b46a
 	call DelayFrame
 	ld a, [wJumptableIndex]
-	cp $4
-	jr nz, .asm_11b45c
+	cp 4
+	jr nz, .loop
 	ret
 ; 11b46a
 
@@ -7220,14 +7224,14 @@
 	dw Function11b570
 	dw Function11b5c0
 	dw Function11b5e0
-	dw Function11b5e7
+	dw Function11b5e7 ; unused
 ; 11b483
 
 Function11b483: ; 11b483
 	call Function11b538
 	ld hl, PlayerName
-	ld a, $5
-.asm_11b48b
+	ld a, $5 ; Japanese Name Length
+.loop1
 	push af
 	ld a, [hli]
 	ld [bc], a
@@ -7235,23 +7239,24 @@
 	pop af
 	dec a
 	and a
-	jr nz, .asm_11b48b
-	ld de, $0030
+	jr nz, .loop1
+
+	ld de, PARTYMON_STRUCT_LENGTH
 	ld hl, PartyMon1Species
 	ld a, [wcd82]
 	dec a
 	push af
-.asm_11b49f
+.loop2
 	and a
-	jr z, .asm_11b4a6
+	jr z, .okay
 	add hl, de
 	dec a
-	jr .asm_11b49f
+	jr .loop2
 
-.asm_11b4a6
+.okay
 	push bc
-	ld a, $30
-.asm_11b4a9
+	ld a, PARTYMON_STRUCT_LENGTH
+.loop3
 	push af
 	ld a, [hli]
 	ld [bc], a
@@ -7259,24 +7264,25 @@
 	pop af
 	dec a
 	and a
-	jr nz, .asm_11b4a9
+	jr nz, .loop3
+
 	pop de
 	push bc
 	ld a, [de]
 	ld [CurSpecies], a
 	call GetBaseData
-	ld hl, $001f
+	ld hl, MON_LEVEL
 	add hl, de
 	ld a, [hl]
 	ld [CurPartyLevel], a
-	ld hl, $0024
+	ld hl, MON_MAXHP
 	add hl, de
 	push hl
-	ld hl, $000a
+	ld hl, MON_EXP + 2
 	add hl, de
 	pop de
 	push de
-	ld b, $1
+	ld b, OTPARTYMON
 	predef CalcPkmnStats
 	pop de
 	ld h, d
@@ -7290,20 +7296,20 @@
 	ld a, [de]
 	ld [hl], a
 	pop bc
-	ld de, $000b
+	ld de, NAME_LENGTH
 	ld hl, PartyMonOT
 	pop af
 	push af
-.asm_11b4e8
+.loop4
 	and a
-	jr z, .asm_11b4ef
+	jr z, .okay2
 	add hl, de
 	dec a
-	jr .asm_11b4e8
+	jr .loop4
 
-.asm_11b4ef
-	ld a, $a
-.asm_11b4f1
+.okay2
+	ld a, NAME_LENGTH - 1
+.loop5
 	push af
 	ld a, [hli]
 	ld [bc], a
@@ -7311,21 +7317,21 @@
 	pop af
 	dec a
 	and a
-	jr nz, .asm_11b4f1
-	ld de, $000b
+	jr nz, .loop5
+	ld de, NAME_LENGTH
 	ld hl, PartyMonNicknames
 	pop af
 	push af
-.asm_11b502
+.loop6
 	and a
-	jr z, .asm_11b509
+	jr z, .okay3
 	add hl, de
 	dec a
-	jr .asm_11b502
+	jr .loop6
 
-.asm_11b509
-	ld a, $a
-.asm_11b50b
+.okay3
+	ld a, NAME_LENGTH - 1
+.loop7
 	push af
 	ld a, [hli]
 	ld [bc], a
@@ -7333,22 +7339,22 @@
 	pop af
 	dec a
 	and a
-	jr nz, .asm_11b50b
-	ld de, $002f
-	ld hl, $a600
+	jr nz, .loop7
+	ld de, MAIL_STRUCT_LENGTH
+	ld hl, sPartyMail
 	pop af
-.asm_11b51b
+.loop8
 	and a
-	jr z, .asm_11b522
+	jr z, .okay4
 	add hl, de
 	dec a
-	jr .asm_11b51b
+	jr .loop8
 
-.asm_11b522
-	ld a, $0
+.okay4
+	ld a, $0 ; BANK(sPartyMail)
 	call GetSRAMBank
-	ld a, $2f
-.asm_11b529
+	ld a, MAIL_STRUCT_LENGTH
+.loop9
 	push af
 	ld a, [hli]
 	ld [bc], a
@@ -7356,38 +7362,45 @@
 	pop af
 	dec a
 	and a
-	jr nz, .asm_11b529
+	jr nz, .loop9
 	call CloseSRAM
 	jp Function11ad8a
 ; 11b538
 
 Function11b538: ; 11b538
-	ld bc, BattleMonNick + 5
+	ld bc, wc626
 	ld a, [PlayerID]
 	ld [wcd2a], a
 	ld [bc], a
 	inc bc
+
 	ld a, [PlayerID + 1]
 	ld [wcd2b], a
 	ld [bc], a
 	inc bc
+
 	ld a, [wSecretID]
 	ld [wcd2c], a
 	ld [bc], a
 	inc bc
+
 	ld a, [wSecretID + 1]
 	ld [wcd2d], a
 	ld [bc], a
 	inc bc
+
 	ld a, [wcd2e]
 	ld [bc], a
 	inc bc
+
 	ld a, [wcd2f]
 	ld [bc], a
 	inc bc
+
 	ld a, [wcd30]
 	ld [bc], a
 	inc bc
+
 	ld a, [wd265]
 	ld [bc], a
 	inc bc
@@ -7398,11 +7411,11 @@
 	call Function118007
 	ld a, [ScriptVar]
 	and a
-	jr nz, .asm_11b57f
+	jr nz, .exit
 	call Function11b585
 	jp Function11ad8a
 
-.asm_11b57f
+.exit
 	ld a, $4
 	ld [wJumptableIndex], a
 	ret
@@ -7413,7 +7426,7 @@
 	ld [rSVBK], a
 	ld hl, w3_d800
 	ld de, $c608
-	ld bc, $008f
+	ld bc, w3_d88f - w3_d800
 	call CopyBytes
 	ld a, $1
 	ld [rSVBK], a
@@ -7424,7 +7437,7 @@
 	ld [de], a
 	inc de
 	ld hl, $c608
-	ld bc, $008f
+	ld bc, w3_d88f - w3_d800
 	call CopyBytes
 	push de
 	pop hl
@@ -7445,7 +7458,7 @@
 	dec a
 	ld [CurPartyMon], a
 	xor a
-	ld [wd10b], a
+	ld [wPokemonWithdrawDepositParameter], a
 	callba Functione039
 	callba Function170807
 	callba Function14a58
--- a/wram.asm
+++ b/wram.asm
@@ -561,6 +561,8 @@
 	ds -5
 wInitHourBuffer:: ds 5
 BattleMonNick:: ds PKMN_NAME_LENGTH ; c621
+	ds -6
+wc626:: ds 6
 
 BattleMon:: battle_struct BattleMon ; c62c
 
@@ -2170,8 +2172,10 @@
 	ds 2
 
 	ds 2
-wd25a:: ds 3
-wd25d:: ds 1
+wMornEncounterRate::  ds 1
+wDayEncounterRate::   ds 1
+wNiteEncounterRate::  ds 1
+wWaterEncounterRate:: ds 1
 wListMoves_MoveIndicesBuffer:: ds 4
 wPutativeTMHMMove:: ds 1
 wd263:: ds 1
@@ -2792,8 +2796,8 @@
 wDailyPhoneItemFlags:: ds 4
 wDailyPhoneTimeOfDayFlags:: ds 4
 wKenjiBreakTimer:: ds 2 ; Kenji
-wdc5a:: ds 1
-wdc5b:: ds 1
+wYanmaMapGroup:: ds 1
+wYanmaMapNumber:: ds 1
 wdc5c:: ds 3
 wdc5f:: ds 1
 wdc60:: ds 19
@@ -2944,8 +2948,8 @@
 wdf9c::
 wContestMon:: party_struct wContestMon ; df9c
 
-wdfcc:: ds 1
-wdfcd:: ds 1
+wDunsparceMapGroup:: ds 1
+wDunsparceMapNumber:: ds 1
 wFishingSwarmFlag:: ds 1
 
 roam_struct: MACRO
@@ -2961,10 +2965,10 @@
 wRoamMon2:: roam_struct wRoamMon2 ; dfd6
 wRoamMon3:: roam_struct wRoamMon3 ; dfdd
 
-wdfe4:: ds 1
-wdfe5:: ds 1
-wdfe6:: ds 1
-wdfe7:: ds 1
+wRoamMons_CurrentMapNumber:: ds 1
+wRoamMons_CurrentMapGroup:: ds 1
+wRoamMons_LastMapNumber:: ds 1
+wRoamMons_LastMapGroup:: ds 1
 wBestMagikarpLengthFeet:: ds 1
 wBestMagikarpLengthInches:: ds 1
 wMagikarpRecordHoldersName:: ds NAME_LENGTH
@@ -3042,7 +3046,8 @@
 
 wBTChoiceOfLvlGroup::
 w3_d800:: ds $69
-w3_d869:: ds $2c
+w3_d869:: ds $26
+w3_d88f:: ds 6
 w3_d895:: ds $36b
 w3_dc00:: ds $168
 w3_dd68:: ds $294