shithub: pokecrystal

Download patch

ref: d787c66374df60fceb34fa5860c34bf56e476cbe
parent: 878092004956418bfd77bfdb9fc9dd7f640f80d2
parent: c51968f0de6b8420c141dde27339e82a42837c5b
author: yenatch <yenatch@gmail.com>
date: Sat Dec 23 12:20:21 EST 2017

Merge pull request #420 from surskitty/master

Partial Phone Script Labels

--- a/constants/engine_flags.asm
+++ b/constants/engine_flags.asm
@@ -179,7 +179,7 @@
 	const ENGINE_BRENT_MONDAY_MORNING
 	const ENGINE_TIFFANY_TUESDAY_AFTERNOON
 	const ENGINE_VANCE_WEDNESDAY_NIGHT
-	const ENGINE_WILTON_THRUSDAY_MORNING
+	const ENGINE_WILTON_THURSDAY_MORNING
 	const ENGINE_PARRY_FRIDAY_AFTERNOON
 	const ENGINE_ERIN_SATURDAY_NIGHT
 ; wPlayerSpriteSetupFlags
--- a/engine/buena_phone_scripts.asm
+++ /dev/null
@@ -1,170 +1,0 @@
-BuenaPhoneScript1:
-	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
-	iftrue BuenaPhoneScript_Rocket
-	checkcode VAR_HOUR
-	if_greater_than 17, BuenaPhoneScript_AfterMidnight1
-	scall BuenaPhoneScript_CheckTimeOfDay1
-	jump BuenaPhoneScript_Random1
-
-BuenaPhoneScript2:
-	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
-	iftrue BuenaPhoneScript_Rocket
-	scall BuenaPhoneScript_CheckTimeOfDay2
-	jump BuenaPhoneScript_Random2
-
-BuenaPhoneScript_CheckTimeOfDay1:
-	checkmorn
-	iftrue .morn
-	checkday
-	iftrue .day
-	writetext UnknownText_0xa0d42
-	buttonsound
-	end
-
-.morn
-	writetext UnknownText_0xa0c28
-	buttonsound
-	end
-
-.day
-	writetext UnknownText_0xa0c72
-	buttonsound
-	end
-
-BuenaPhoneScript_AfterMidnight1:
-	writetext UnknownText_0xa0caf
-	end
-
-BuenaPhoneScript_CheckTimeOfDay2:
-	checkcode VAR_HOUR
-	if_greater_than 17, BuenaPhoneScript_AfterMidnight2
-	checkmorn
-	iftrue .morn
-	checkday
-	iftrue .day
-	writetext UnknownText_0xa0e29
-	buttonsound
-	end
-
-.morn
-	writetext UnknownText_0xa0d96
-	buttonsound
-	end
-
-.day
-	writetext UnknownText_0xa0dcf
-	buttonsound
-	end
-
-BuenaPhoneScript_AfterMidnight2:
-	writetext UnknownText_0xa0e01
-	buttonsound
-	end
-
-BuenaPhoneScript_Rocket:
-	writetext UnknownText_0xa0e5e
-	end
-
-BuenaPhoneScript_Random2:
-	checkevent EVENT_BEAT_ELITE_FOUR
-	iftrue .PostE4
-	random 11
-	jump .Jumptable
-
-.PostE4:
-	random 14
-
-.Jumptable:
-	if_equal 0, .zero
-	if_equal 1, .one
-	if_equal 2, .two
-	if_equal 3, .three
-	if_equal 4, .four
-	if_equal 5, .five
-	if_equal 6, .six
-	if_equal 7, .seven
-	if_equal 8, .eight
-	if_equal 9, .nine
-	if_equal 10, .ten
-	if_equal 11, .eleven
-	if_equal 12, .twelve
-	if_equal 13, .thirteen
-
-.zero
-	writetext UnknownText_0xa0efb
-	jump .finish
-
-.one
-	writetext UnknownText_0xa0fcf
-	jump .finish
-
-.two
-	writetext UnknownText_0xa109d
-	jump .finish
-
-.three
-	writetext UnknownText_0xa1143
-	jump .finish
-
-.four
-	writetext UnknownText_0xa1244
-	jump .finish
-
-.five
-	writetext UnknownText_0xa1318
-	jump .finish
-
-.six
-	writetext UnknownText_0xa13d8
-	jump .finish
-
-.seven
-	writetext UnknownText_0xa1488
-	jump .finish
-
-.eight
-	writetext UnknownText_0xa15de
-	jump .finish
-
-.nine
-	writetext UnknownText_0xa1717
-	jump .finish
-
-.ten
-	writetext UnknownText_0xa183d
-	jump .finish
-
-.eleven
-	writetext UnknownText_0xa19b1
-	jump .finish
-
-.twelve
-	writetext UnknownText_0xa1ac0
-	jump .finish
-
-.thirteen
-	writetext UnknownText_0xa1bed
-
-.finish
-	end
-
-BuenaPhoneScript_Random1:
-	random 3
-	if_equal 0, .zero
-	if_equal 1, .one
-	if_equal 2, .two
-
-.zero
-	writetext UnknownText_0xa1c88
-	end
-
-.one
-	writetext UnknownText_0xa1d5f
-	end
-
-.two
-	writetext UnknownText_0xa1e2f
-	end
-; a0c28
-
-INCLUDE "text/phone/buena.asm"
--- a/engine/more_phone_scripts.asm
+++ /dev/null
@@ -1,1660 +1,0 @@
-UnknownScript_0xa0000:
-	special RandomPhoneMon
-	farscall PhoneScript_Random2
-	if_equal 0, UnknownScript_0xa0013
-	farscall PhoneScript_Generic_Male
-	farjump UnknownScript_0xa003e
-
-UnknownScript_0xa0013:
-	farjump UnknownScript_0xa002e
-
-UnknownScript_0xa0017:
-	special RandomPhoneMon
-	farscall PhoneScript_Random2
-	if_equal 0, UnknownScript_0xa002a
-	farscall PhoneScript_Generic_Female
-	farjump UnknownScript_0xa0055
-
-UnknownScript_0xa002a:
-	farjump UnknownScript_0xa0036
-
-UnknownScript_0xa002e:
-	farscall UnknownScript_0xa007c
-	farjump UnknownScript_0xa003e
-
-UnknownScript_0xa0036:
-	farscall UnknownScript_0xa0128
-	farjump UnknownScript_0xa0055
-
-UnknownScript_0xa003e:
-	special RandomPhoneWildMon
-	farscall PhoneScript_Random2
-	if_equal 0, UnknownScript_0xa0051
-	farscall UnknownScript_0xa017a
-	farjump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0051:
-	farjump UnknownScript_0xa006c
-
-UnknownScript_0xa0055:
-	special RandomPhoneWildMon
-	farscall PhoneScript_Random2
-	if_equal 0, UnknownScript_0xa0068
-	farscall UnknownScript_0xa0226
-	farjump PhoneScript_HangupText_Female
-
-UnknownScript_0xa0068:
-	farjump UnknownScript_0xa0074
-
-UnknownScript_0xa006c:
-	farscall UnknownScript_0xa0278
-	farjump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0074:
-	farscall UnknownScript_0xa0324
-	farjump PhoneScript_HangupText_Female
-
-UnknownScript_0xa007c:
-	checkcode VAR_CALLERID
-	if_equal PHONE_SCHOOLBOY_JACK, .Jack
-	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
-	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
-	if_equal PHONE_YOUNGSTER_JOEY, .Joey
-	if_equal PHONE_BUG_CATCHER_WADE, .Wade
-	if_equal PHONE_FISHER_RALPH, .Ralph
-	if_equal PHONE_HIKER_ANTHONY, .Anthony
-	if_equal PHONE_CAMPER_TODD, .Todd
-	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
-	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
-	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
-	if_equal PHONE_POKEFANM_DEREK, .Derek
-	if_equal PHONE_FISHER_TULLY, .Tully
-	if_equal PHONE_POKEMANIAC_BRENT, .Brent
-	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
-	if_equal PHONE_FISHER_WILTON, .Wilton
-	if_equal PHONE_HIKER_PARRY, .Parry
-
-.Jack:
-	farwritetext UnknownText_0x1740c0
-	buttonsound
-	end
-
-.Gaven:
-	farwritetext UnknownText_0x174a24
-	buttonsound
-	end
-
-.Jose:
-	farwritetext UnknownText_0x174f2f
-	buttonsound
-	end
-
-.Joey:
-	farwritetext UnknownText_0x175530
-	buttonsound
-	end
-
-.Wade:
-	farwritetext UnknownText_0x1757d4
-	buttonsound
-	end
-
-.Ralph:
-	farwritetext UnknownText_0x175bc4
-	buttonsound
-	end
-
-.Anthony:
-	farwritetext UnknownText_0x176a2f
-	buttonsound
-	end
-
-.Todd:
-	farwritetext UnknownText_0x176e5d
-	buttonsound
-	end
-
-.Arnie:
-	farwritetext UnknownText_0x649dc
-	buttonsound
-	end
-
-.Alan:
-	farwritetext UnknownText_0x64cbd
-	buttonsound
-	end
-
-.Chad:
-	farwritetext UnknownText_0x65271
-	buttonsound
-	end
-
-.Derek:
-	farwritetext UnknownText_0x65ab2
-	buttonsound
-	end
-
-.Tully:
-	farwritetext UnknownText_0x65de4
-	buttonsound
-	end
-
-.Brent:
-	farwritetext UnknownText_0x660be
-	buttonsound
-	end
-
-.Vance:
-	farwritetext UnknownText_0x66980
-	buttonsound
-	end
-
-.Wilton:
-	farwritetext UnknownText_0x66afc
-	buttonsound
-	end
-
-.Parry:
-	farwritetext UnknownText_0x66f9f
-	buttonsound
-	end
-
-UnknownScript_0xa0128:
-	checkcode VAR_CALLERID
-	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
-	if_equal PHONE_COOLTRAINERF_BETH, .Beth
-	if_equal PHONE_COOLTRAINERF_REENA, .Reena
-	if_equal PHONE_PICNICKER_LIZ, .Liz
-	if_equal PHONE_PICNICKER_GINA, .Gina
-	if_equal PHONE_LASS_DANA, .Dana
-	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
-	if_equal PHONE_PICNICKER_ERIN, .Erin
-
-.Beverly:
-	farwritetext UnknownText_0x174688
-	buttonsound
-	end
-
-.Beth:
-	farwritetext UnknownText_0x174c7f
-	buttonsound
-	end
-
-.Reena:
-	farwritetext UnknownText_0x1752f5
-	buttonsound
-	end
-
-.Liz:
-	farwritetext UnknownText_0x175fda
-	buttonsound
-	end
-
-.Gina:
-	farwritetext UnknownText_0x1771fd
-	buttonsound
-	end
-
-.Dana:
-	farwritetext UnknownText_0x64f74
-	buttonsound
-	end
-
-.Tiffany:
-	farwritetext UnknownText_0x665ad
-	buttonsound
-	end
-
-.Erin:
-	farwritetext UnknownText_0x6717a
-	buttonsound
-	end
-
-UnknownScript_0xa017a:
-	checkcode VAR_CALLERID
-	if_equal PHONE_SCHOOLBOY_JACK, .Jack
-	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
-	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
-	if_equal PHONE_YOUNGSTER_JOEY, .Joey
-	if_equal PHONE_BUG_CATCHER_WADE, .Wade
-	if_equal PHONE_FISHER_RALPH, .Ralph
-	if_equal PHONE_HIKER_ANTHONY, .Anthony
-	if_equal PHONE_CAMPER_TODD, .Todd
-	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
-	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
-	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
-	if_equal PHONE_POKEFANM_DEREK, .Derek
-	if_equal PHONE_FISHER_TULLY, .Tully
-	if_equal PHONE_POKEMANIAC_BRENT, .Brent
-	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
-	if_equal PHONE_FISHER_WILTON, .Wilton
-	if_equal PHONE_HIKER_PARRY, .Parry
-
-.Jack:
-	farwritetext UnknownText_0x174106
-	buttonsound
-	end
-
-.Gaven:
-	farwritetext UnknownText_0x174a80
-	buttonsound
-	end
-
-.Jose:
-	farwritetext UnknownText_0x174f90
-	buttonsound
-	end
-
-.Joey:
-	farwritetext UnknownText_0x175591
-	buttonsound
-	end
-
-.Wade:
-	farwritetext UnknownText_0x175869
-	buttonsound
-	end
-
-.Ralph:
-	farwritetext UnknownText_0x175c24
-	buttonsound
-	end
-
-.Anthony:
-	farwritetext UnknownText_0x176aef
-	buttonsound
-	end
-
-.Todd:
-	farwritetext UnknownText_0x176e9c
-	buttonsound
-	end
-
-.Arnie:
-	farwritetext UnknownText_0x64a13
-	buttonsound
-	end
-
-.Alan:
-	farwritetext UnknownText_0x64cf3
-	buttonsound
-	end
-
-.Chad:
-	farwritetext UnknownText_0x65318
-	buttonsound
-	end
-
-.Derek:
-	farwritetext UnknownText_0x65b29
-	buttonsound
-	end
-
-.Tully:
-	farwritetext UnknownText_0x65e42
-	buttonsound
-	end
-
-.Brent:
-	farwritetext UnknownText_0x6613c
-	buttonsound
-	end
-
-.Vance:
-	farwritetext UnknownText_0x669b2
-	buttonsound
-	end
-
-.Wilton:
-	farwritetext UnknownText_0x66b3e
-	buttonsound
-	end
-
-.Parry:
-	farwritetext UnknownText_0x66fc0
-	buttonsound
-	end
-
-UnknownScript_0xa0226:
-	checkcode VAR_CALLERID
-	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
-	if_equal PHONE_COOLTRAINERF_BETH, .Beth
-	if_equal PHONE_COOLTRAINERF_REENA, .Reena
-	if_equal PHONE_PICNICKER_LIZ, .Liz
-	if_equal PHONE_PICNICKER_GINA, .Gina
-	if_equal PHONE_LASS_DANA, .Dana
-	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
-	if_equal PHONE_PICNICKER_ERIN, .Erin
-
-.Beverly:
-	farwritetext UnknownText_0x1746c3
-	buttonsound
-	end
-
-.Beth:
-	farwritetext UnknownText_0x174cf6
-	buttonsound
-	end
-
-.Reena:
-	farwritetext UnknownText_0x17536b
-	buttonsound
-	end
-
-.Liz:
-	farwritetext UnknownText_0x17602d
-	buttonsound
-	end
-
-.Gina:
-	farwritetext UnknownText_0x177237
-	buttonsound
-	end
-
-.Dana:
-	farwritetext UnknownText_0x64fb2
-	buttonsound
-	end
-
-.Tiffany:
-	farwritetext UnknownText_0x66605
-	buttonsound
-	end
-
-.Erin:
-	farwritetext UnknownText_0x671a4
-	buttonsound
-	end
-
-UnknownScript_0xa0278:
-	checkcode VAR_CALLERID
-	if_equal PHONE_SCHOOLBOY_JACK, .Jack
-	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
-	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
-	if_equal PHONE_YOUNGSTER_JOEY, .Joey
-	if_equal PHONE_BUG_CATCHER_WADE, .Wade
-	if_equal PHONE_FISHER_RALPH, .Ralph
-	if_equal PHONE_HIKER_ANTHONY, .Anthony
-	if_equal PHONE_CAMPER_TODD, .Todd
-	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
-	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
-	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
-	if_equal PHONE_POKEFANM_DEREK, .Derek
-	if_equal PHONE_FISHER_TULLY, .Tully
-	if_equal PHONE_POKEMANIAC_BRENT, .Brent
-	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
-	if_equal PHONE_FISHER_WILTON, .Wilton
-	if_equal PHONE_HIKER_PARRY, .Parry
-
-.Jack:
-	farwritetext UnknownText_0x174165
-	buttonsound
-	end
-
-.Gaven:
-	farwritetext UnknownText_0x174b2d
-	buttonsound
-	end
-
-.Jose:
-	farwritetext UnknownText_0x174ffd
-	buttonsound
-	end
-
-.Joey:
-	farwritetext UnknownText_0x175611
-	buttonsound
-	end
-
-.Wade:
-	farwritetext UnknownText_0x1758e4
-	buttonsound
-	end
-
-.Ralph:
-	farwritetext UnknownText_0x175c9f
-	buttonsound
-	end
-
-.Anthony:
-	farwritetext UnknownText_0x176b45
-	buttonsound
-	end
-
-.Todd:
-	farwritetext UnknownText_0x176eee
-	buttonsound
-	end
-
-.Arnie:
-	farwritetext UnknownText_0x64a71
-	buttonsound
-	end
-
-.Alan:
-	farwritetext UnknownText_0x64d4f
-	buttonsound
-	end
-
-.Chad:
-	farwritetext UnknownText_0x65399
-	buttonsound
-	end
-
-.Derek:
-	farwritetext UnknownText_0x65bc8
-	buttonsound
-	end
-
-.Tully:
-	farwritetext UnknownText_0x65eac
-	buttonsound
-	end
-
-.Brent:
-	farwritetext UnknownText_0x6618c
-	buttonsound
-	end
-
-.Vance:
-	farwritetext UnknownText_0x669ed
-	buttonsound
-	end
-
-.Wilton:
-	farwritetext UnknownText_0x66b8f
-	buttonsound
-	end
-
-.Parry:
-	farwritetext UnknownText_0x67001
-	buttonsound
-	end
-
-UnknownScript_0xa0324:
-	checkcode VAR_CALLERID
-	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
-	if_equal PHONE_COOLTRAINERF_BETH, .Beth
-	if_equal PHONE_COOLTRAINERF_REENA, .Reena
-	if_equal PHONE_PICNICKER_LIZ, .Liz
-	if_equal PHONE_PICNICKER_GINA, .Gina
-	if_equal PHONE_LASS_DANA, .Dana
-	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
-	if_equal PHONE_PICNICKER_ERIN, .Erin
-
-.Beverly:
-	farwritetext UnknownText_0x174734
-	buttonsound
-	end
-
-.Beth:
-	farwritetext UnknownText_0x174d86
-	buttonsound
-	end
-
-.Reena:
-	farwritetext UnknownText_0x1753c5
-	buttonsound
-	end
-
-.Liz:
-	farwritetext UnknownText_0x176095
-	buttonsound
-	end
-
-.Gina:
-	farwritetext UnknownText_0x177297
-	buttonsound
-	end
-
-.Dana:
-	farwritetext UnknownText_0x6501c
-	buttonsound
-	end
-
-.Tiffany:
-	farwritetext UnknownText_0x66688
-	buttonsound
-	end
-
-.Erin:
-	farwritetext UnknownText_0x671eb
-	buttonsound
-	end
-
-UnknownScript_0xa0376:
-	farscall PhoneScript_RematchText_Male
-	farjump PhoneScript_HangupText_Male
-
-UnknownScript_0xa037e:
-	farscall PhoneScript_RematchText_Female
-	farjump PhoneScript_HangupText_Female
-
-PhoneScript_RematchText_Male:
-	checkcode VAR_CALLERID
-	if_equal PHONE_SCHOOLBOY_JACK, .Jack
-	if_equal PHONE_SAILOR_HUEY, .Huey
-	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
-	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
-	if_equal PHONE_YOUNGSTER_JOEY, .Joey
-	if_equal PHONE_BUG_CATCHER_WADE, .Wade
-	if_equal PHONE_FISHER_RALPH, .Ralph
-	if_equal PHONE_HIKER_ANTHONY, .Anthony
-	if_equal PHONE_CAMPER_TODD, .Todd
-	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
-	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
-	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
-	if_equal PHONE_FISHER_TULLY, .Tully
-	if_equal PHONE_POKEMANIAC_BRENT, .Brent
-	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
-	if_equal PHONE_FISHER_WILTON, .Wilton
-	if_equal PHONE_HIKER_PARRY, .Parry
-
-.Jack:
-	farwritetext UnknownText_0x1741e1
-	buttonsound
-	end
-
-.Huey:
-	farwritetext UnknownText_0x1748ea
-	buttonsound
-	end
-
-.Gaven:
-	farwritetext UnknownText_0x174bc5
-	buttonsound
-	end
-
-.Jose:
-	farwritetext UnknownText_0x17507d
-	buttonsound
-	end
-
-.Joey:
-	farwritetext UnknownText_0x175693
-	buttonsound
-	end
-
-.Wade:
-	farwritetext UnknownText_0x175976
-	buttonsound
-	end
-
-.Ralph:
-	farwritetext UnknownText_0x175d40
-	buttonsound
-	end
-
-.Anthony:
-	farwritetext UnknownText_0x176bee
-	buttonsound
-	end
-
-.Todd:
-	farwritetext UnknownText_0x176f60
-	buttonsound
-	end
-
-.Arnie:
-	farwritetext UnknownText_0x64ada
-	buttonsound
-	end
-
-.Alan:
-	farwritetext UnknownText_0x64da4
-	buttonsound
-	end
-
-.Chad:
-	farwritetext UnknownText_0x65419
-	buttonsound
-	end
-
-.Tully:
-	farwritetext UnknownText_0x65f17
-	buttonsound
-	end
-
-.Brent:
-	farwritetext UnknownText_0x66214
-	buttonsound
-	end
-
-.Vance:
-	farwritetext UnknownText_0x66a3a
-	buttonsound
-	end
-
-.Wilton:
-	farwritetext UnknownText_0x66bf3
-	buttonsound
-	end
-
-.Parry:
-	farwritetext UnknownText_0x67096
-	buttonsound
-	end
-
-PhoneScript_RematchText_Female:
-	checkcode VAR_CALLERID
-	if_equal PHONE_COOLTRAINERF_BETH, .Beth
-	if_equal PHONE_COOLTRAINERF_REENA, .Reena
-	if_equal PHONE_PICNICKER_LIZ, .Liz
-	if_equal PHONE_PICNICKER_GINA, .Gina
-	if_equal PHONE_LASS_DANA, .Dana
-	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
-	if_equal PHONE_PICNICKER_ERIN, .Erin
-
-.Beth:
-	farwritetext UnknownText_0x174e4e
-	buttonsound
-	end
-
-.Reena:
-	farwritetext UnknownText_0x17543a
-	buttonsound
-	end
-
-.Liz:
-	farwritetext UnknownText_0x17610a
-	buttonsound
-	end
-
-.Gina:
-	farwritetext UnknownText_0x1772e2
-	buttonsound
-	end
-
-.Dana:
-	farwritetext UnknownText_0x65091
-	buttonsound
-	end
-
-.Tiffany:
-	farwritetext UnknownText_0x66730
-	buttonsound
-	end
-
-.Erin:
-	farwritetext UnknownText_0x6722e
-	buttonsound
-	end
-
-UnknownScript_0xa047a:
-	farwritetext UnknownText_0x1761a7
-	end
-
-UnknownScript_0xa047f:
-	farwritetext UnknownText_0x66796
-	end
-
-PhoneScript_HangupText_Male:
-	checkcode VAR_CALLERID
-	if_equal PHONE_SCHOOLBOY_JACK, .Jack
-	if_equal PHONE_SAILOR_HUEY, .Huey
-	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
-	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
-	if_equal PHONE_YOUNGSTER_JOEY, .Joey
-	if_equal PHONE_BUG_CATCHER_WADE, .Wade
-	if_equal PHONE_FISHER_RALPH, .Ralph
-	if_equal PHONE_HIKER_ANTHONY, .Anthony
-	if_equal PHONE_CAMPER_TODD, .Todd
-	if_equal PHONE_JUGGLER_IRWIN, .Irwin
-	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
-	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
-	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
-	if_equal PHONE_POKEFANM_DEREK, .Derek
-	if_equal PHONE_FISHER_TULLY, .Tully
-	if_equal PHONE_POKEMANIAC_BRENT, .Brent
-	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
-	if_equal PHONE_FISHER_WILTON, .Wilton
-	if_equal PHONE_BLACKBELT_KENJI, .Kenji
-	if_equal PHONE_HIKER_PARRY, .Parry
-
-.Jack:
-	farwritetext UnknownText_0x174251
-	end
-
-.Huey:
-	farwritetext UnknownText_0x174962
-	end
-
-.Gaven:
-	farwritetext UnknownText_0x174c0e
-	end
-
-.Jose:
-	farwritetext UnknownText_0x175106
-	end
-
-.Joey:
-	farwritetext UnknownText_0x17570a
-	end
-
-.Wade:
-	farwritetext UnknownText_0x1759e7
-	end
-
-.Ralph:
-	farwritetext UnknownText_0x175db7
-	end
-
-.Anthony:
-	farwritetext UnknownText_0x176c47
-	end
-
-.Todd:
-	farwritetext UnknownText_0x176fdb
-	end
-
-.Irwin:
-	farwritetext UnknownText_0x64000
-	end
-
-.Arnie:
-	farwritetext UnknownText_0x64b48
-	end
-
-.Alan:
-	farwritetext UnknownText_0x64e1f
-	end
-
-.Chad:
-	farwritetext UnknownText_0x65471
-	end
-
-.Derek:
-	farwritetext UnknownText_0x65c4e
-	end
-
-.Tully:
-	farwritetext UnknownText_0x65f6e
-	end
-
-.Brent:
-	farwritetext UnknownText_0x662a9
-	end
-
-.Vance:
-	farwritetext UnknownText_0x66a93
-	end
-
-.Wilton:
-	farwritetext UnknownText_0x66c58
-	end
-
-.Kenji:
-	farwritetext UnknownText_0x66dab
-	end
-
-.Parry:
-	farwritetext UnknownText_0x670eb
-	end
-
-PhoneScript_HangupText_Female:
-	checkcode VAR_CALLERID
-	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
-	if_equal PHONE_COOLTRAINERF_BETH, .Beth
-	if_equal PHONE_COOLTRAINERF_REENA, .Reena
-	if_equal PHONE_PICNICKER_LIZ, .Liz
-	if_equal PHONE_PICNICKER_GINA, .Gina
-	if_equal PHONE_LASS_DANA, .Dana
-	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
-	if_equal PHONE_PICNICKER_ERIN, .Erin
-
-.Beverly:
-	farwritetext UnknownText_0x1747ac
-	end
-
-.Beth:
-	farwritetext UnknownText_0x174eb7
-	end
-
-.Reena:
-	farwritetext UnknownText_0x175488
-	end
-
-.Liz:
-	farwritetext UnknownText_0x17620a
-	end
-
-.Gina:
-	farwritetext UnknownText_0x177361
-	end
-
-.Dana:
-	farwritetext UnknownText_0x650e2
-	end
-
-.Tiffany:
-	farwritetext UnknownText_0x667f7
-	end
-
-.Erin:
-	farwritetext UnknownText_0x67281
-	end
-
-UnknownScript_0xa0584:
-	scall UnknownScript_0xa05a0
-	iffalse UnknownScript_0xa058e
-	farjump UnknownScript_0xa0000
-
-UnknownScript_0xa058e:
-	farjump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0592:
-	scall UnknownScript_0xa05a0
-	iffalse UnknownScript_0xa059c
-	farjump UnknownScript_0xa0017
-
-UnknownScript_0xa059c:
-	farjump PhoneScript_HangupText_Female
-
-UnknownScript_0xa05a0:
-	special RandomPhoneRareWildMon
-	end
-
-UnknownScript_0xa05a4:
-	checkcode VAR_CALLERID
-	if_equal PHONE_BUG_CATCHER_WADE, .Wade
-	if_equal PHONE_POKEFANM_DEREK, .Derek
-
-.Wade:
-	farwritetext UnknownText_0x1759f7
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-.Derek:
-	farwritetext UnknownText_0x65c66
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa05be:
-	farwritetext UnknownText_0x64032
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa05c6:
-	farwritetext UnknownText_0x177378
-	buttonsound
-	jump PhoneScript_HangupText_Female
-
-UnknownScript_0xa05ce:
-	farwritetext UnknownText_0x64b5f
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa05d6:
-	farwritetext UnknownText_0x175dd9
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa05de:
-	farwritetext UnknownText_0x176c61
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa05e6:
-	checkcode VAR_CALLERID
-	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
-	if_equal PHONE_BUG_CATCHER_WADE, .Wade
-	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
-	if_equal PHONE_POKEFANM_DEREK, .Derek
-	if_equal PHONE_FISHER_TULLY, .Tully
-	if_equal PHONE_FISHER_WILTON, .Wilton
-
-.Jose:
-	farwritetext UnknownText_0x175116
-	end
-
-.Wade:
-	farwritetext UnknownText_0x175a60
-	end
-
-.Alan:
-	farwritetext UnknownText_0x64e2f
-	end
-
-.Derek:
-	farwritetext UnknownText_0x65cf9
-	end
-
-.Tully:
-	farwritetext UnknownText_0x65f88
-	end
-
-.Wilton:
-	farwritetext UnknownText_0x66c6b
-	end
-
-UnknownScript_0xa061e:
-	checkcode VAR_CALLERID
-	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
-	if_equal PHONE_PICNICKER_GINA, .Gina
-	if_equal PHONE_LASS_DANA, .Dana
-	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
-
-.Beverly:
-	farwritetext UnknownText_0x1747cc
-	end
-
-.Gina:
-	farwritetext UnknownText_0x1773e7
-	end
-
-.Dana:
-	farwritetext UnknownText_0x650ec
-	end
-
-.Tiffany:
-	farwritetext UnknownText_0x66801
-	end
-
-UnknownScript_0xa0644:
-	farwritetext UnknownText_0x176feb
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa064c:
-	farwritetext UnknownText_0x66dc5
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0654:
-	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 PhoneScript_HangupText_Male
-
-UnknownScript_0xa068a:
-	farwritetext UnknownText_0x17429d
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0692:
-	farwritetext UnknownText_0x1742ee
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa069a:
-	farwritetext UnknownText_0x174340
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa06a2:
-	farwritetext UnknownText_0x174391
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa06aa:
-	farwritetext UnknownText_0x1743e3
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa06b2:
-	farwritetext UnknownText_0x174433
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa06ba:
-	farwritetext UnknownText_0x174485
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa06c2:
-	farwritetext UnknownText_0x1744d6
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa06ca:
-	farwritetext UnknownText_0x174522
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa06d2:
-	farwritetext UnknownText_0x174571
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa06da:
-	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 PhoneScript_HangupText_Female
-
-UnknownScript_0xa070c:
-	farwritetext UnknownText_0x1762c3
-	buttonsound
-	jump PhoneScript_HangupText_Female
-
-UnknownScript_0xa0714:
-	farwritetext UnknownText_0x17638a
-	buttonsound
-	jump PhoneScript_HangupText_Female
-
-UnknownScript_0xa071c:
-	farwritetext UnknownText_0x176424
-	buttonsound
-	jump PhoneScript_HangupText_Female
-
-UnknownScript_0xa0724:
-	farwritetext UnknownText_0x1764eb
-	buttonsound
-	jump PhoneScript_HangupText_Female
-
-UnknownScript_0xa072c:
-	farwritetext UnknownText_0x176599
-	buttonsound
-	jump PhoneScript_HangupText_Female
-
-UnknownScript_0xa0734:
-	farwritetext UnknownText_0x1766ac
-	buttonsound
-	jump PhoneScript_HangupText_Female
-
-UnknownScript_0xa073c:
-	farwritetext UnknownText_0x17674f
-	buttonsound
-	jump PhoneScript_HangupText_Female
-
-UnknownScript_0xa0744:
-	farwritetext UnknownText_0x176816
-	buttonsound
-	jump PhoneScript_HangupText_Female
-
-UnknownScript_0xa074c:
-	farwritetext UnknownText_0x17686d
-	buttonsound
-	jump PhoneScript_HangupText_Female
-
-UnknownScript_0xa0754:
-	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 PhoneScript_HangupText_Male
-
-UnknownScript_0xa0786:
-	farwritetext UnknownText_0x654ea
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa078e:
-	farwritetext UnknownText_0x65555
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0796:
-	farwritetext UnknownText_0x655c7
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa079e:
-	farwritetext UnknownText_0x65628
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa07a6:
-	farwritetext UnknownText_0x6569b
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa07ae:
-	farwritetext UnknownText_0x6574a
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa07b6:
-	farwritetext UnknownText_0x65810
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa07be:
-	farwritetext UnknownText_0x658c6
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa07c6:
-	farwritetext UnknownText_0x65969
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa07ce:
-	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 PhoneScript_HangupText_Male
-
-UnknownScript_0xa0800:
-	farwritetext UnknownText_0x662fc
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0808:
-	farwritetext UnknownText_0x66335
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0810:
-	farwritetext UnknownText_0x66366
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0818:
-	farwritetext UnknownText_0x663a1
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0820:
-	farwritetext UnknownText_0x663e6
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0828:
-	farwritetext UnknownText_0x66421
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0830:
-	farwritetext UnknownText_0x6645f
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0838:
-	farwritetext UnknownText_0x6649b
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0840:
-	farwritetext UnknownText_0x664dd
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0848:
-	checkevent EVENT_OPENED_MT_SILVER
-	iftrue UnknownScript_0xa08e0
-	checkevent EVENT_FOUGHT_SNORLAX
-	iftrue UnknownScript_0xa08d8
-	checkevent EVENT_GOT_PASS_FROM_COPYCAT
-	iftrue UnknownScript_0xa08d0
-	checkflag ENGINE_MARSHBADGE
-	iftrue UnknownScript_0xa08f0
-	checkflag ENGINE_FLYPOINT_VERMILION
-	iftrue UnknownScript_0xa08c8
-	checkevent EVENT_BEAT_ELITE_FOUR
-	iftrue UnknownScript_0xa08c0
-	checkflag ENGINE_RISINGBADGE
-	iftrue UnknownScript_0xa08b8
-	checkevent EVENT_CLEARED_RADIO_TOWER
-	iftrue UnknownScript_0xa08b0
-	checkevent EVENT_CLEARED_ROCKET_HIDEOUT
-	iftrue UnknownScript_0xa08a8
-	checkevent EVENT_JASMINE_RETURNED_TO_GYM
-	iftrue UnknownScript_0xa08a0
-	checkflag ENGINE_FOGBADGE
-	iftrue UnknownScript_0xa08e8
-	checkflag ENGINE_PLAINBADGE
-	iftrue UnknownScript_0xa0898
-	farwritetext UnknownText_0x646a3
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0898:
-	farwritetext UnknownText_0x64099
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa08a0:
-	farwritetext UnknownText_0x640e6
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa08a8:
-	farwritetext UnknownText_0x6416d
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa08b0:
-	farwritetext UnknownText_0x641e8
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa08b8:
-	farwritetext UnknownText_0x64247
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa08c0:
-	farwritetext UnknownText_0x642bb
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa08c8:
-	farwritetext UnknownText_0x643d4
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa08d0:
-	farwritetext UnknownText_0x64448
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa08d8:
-	farwritetext UnknownText_0x6455b
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa08e0:
-	farwritetext UnknownText_0x645ff
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa08e8:
-	farwritetext UnknownText_0x646df
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa08f0:
-	farwritetext UnknownText_0x647d8
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa08f8:
-	farwritetext UnknownText_0x1745c2
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0900:
-	farwritetext UnknownText_0x17485b
-	buttonsound
-	jump PhoneScript_HangupText_Female
-
-UnknownScript_0xa0908:
-	farwritetext UnknownText_0x17496b
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0910:
-	farwritetext UnknownText_0x174c29
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0918:
-	farwritetext UnknownText_0x174ec5
-	buttonsound
-	jump PhoneScript_HangupText_Female
-
-UnknownScript_0xa0920:
-	farwritetext UnknownText_0x17519b
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0928:
-	farwritetext UnknownText_0x17549b
-	buttonsound
-	jump PhoneScript_HangupText_Female
-
-UnknownScript_0xa0930:
-	farwritetext UnknownText_0x17571d
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0938:
-	farwritetext UnknownText_0x175abe
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0940:
-	farwritetext UnknownText_0x175eaf
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0948:
-	farwritetext UnknownText_0x1768b0
-	buttonsound
-	jump PhoneScript_HangupText_Female
-
-UnknownScript_0xa0950:
-	farwritetext UnknownText_0x176d32
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0958:
-	farwritetext UnknownText_0x1770fb
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0960:
-	farwritetext UnknownText_0x177465
-	buttonsound
-	jump PhoneScript_HangupText_Female
-
-UnknownScript_0xa0968:
-	farwritetext UnknownText_0x64bc6
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0970:
-	farwritetext UnknownText_0x64e90
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0978:
-	farwritetext UnknownText_0x65161
-	buttonsound
-	jump PhoneScript_HangupText_Female
-
-UnknownScript_0xa0980:
-	farwritetext UnknownText_0x65a23
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0988:
-	farwritetext UnknownText_0x65d5c
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0990:
-	farwritetext UnknownText_0x65ff2
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0998:
-	farwritetext UnknownText_0x6651e
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa09a0:
-	farwritetext UnknownText_0x66882
-	buttonsound
-	jump PhoneScript_HangupText_Female
-
-UnknownScript_0xa09a8:
-	farwritetext UnknownText_0x66aa5
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa09b0:
-	farwritetext UnknownText_0x66ca7
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa09b8:
-	farwritetext UnknownText_0x67106
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa09c0:
-	farwritetext UnknownText_0x67294
-	buttonsound
-	jump PhoneScript_HangupText_Female
-
-UnknownScript_0xa09c8:
-	random 3
-	if_equal 0, UnknownScript_0xa09d6
-	if_equal 1, UnknownScript_0xa09de
-	if_equal 2, UnknownScript_0xa09e6
-
-UnknownScript_0xa09d6:
-	farwritetext UnknownText_0x64846
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa09de:
-	farwritetext UnknownText_0x64881
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa09e6:
-	farwritetext UnknownText_0x648dc
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa09ee:
-	checkcode VAR_KENJI_BREAK
-	if_equal 2, UnknownScript_0xa0a00
-	if_equal 1, UnknownScript_0xa0a08
-	farwritetext UnknownText_0x66e17
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0a00:
-	farwritetext UnknownText_0x66e67
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0a08:
-	checkmorn
-	iftrue UnknownScript_0xa0a1d
-	checknite
-	iftrue UnknownScript_0xa0a25
-	setevent EVENT_KENJI_ON_BREAK
-	farwritetext UnknownText_0x66f11
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0a1d:
-	farwritetext UnknownText_0x66ed3
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0a25:
-	farwritetext UnknownText_0x66f52
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0a2d:
-	farwritetext UnknownText_0x174638
-	end
-
-UnknownScript_0xa0a32:
-	farwritetext UnknownText_0x1749c7
-	end
-
-UnknownScript_0xa0a37:
-	farwritetext UnknownText_0x174c49
-	end
-
-UnknownScript_0xa0a3c:
-	farwritetext UnknownText_0x174ee2
-	end
-
-UnknownScript_0xa0a41:
-	farwritetext UnknownText_0x17520a
-	end
-
-UnknownScript_0xa0a46:
-	farwritetext UnknownText_0x1754e5
-	end
-
-UnknownScript_0xa0a4b:
-	farwritetext UnknownText_0x175786
-	end
-
-UnknownScript_0xa0a50:
-	farwritetext UnknownText_0x175b1e
-	end
-
-UnknownScript_0xa0a55:
-	farwritetext UnknownText_0x175f11
-	end
-
-UnknownScript_0xa0a5a:
-	farwritetext UnknownText_0x1769da
-	end
-
-UnknownScript_0xa0a5f:
-	farwritetext UnknownText_0x176d85
-	end
-
-UnknownScript_0xa0a64:
-	farwritetext UnknownText_0x177138
-	end
-
-UnknownScript_0xa0a69:
-	farwritetext UnknownText_0x1774c1
-	end
-
-UnknownScript_0xa0a6e:
-	farwritetext UnknownText_0x64c13
-	end
-
-UnknownScript_0xa0a73:
-	farwritetext UnknownText_0x64ed4
-	end
-
-UnknownScript_0xa0a78:
-	farwritetext UnknownText_0x651bf
-	end
-
-UnknownScript_0xa0a7d:
-	farwritetext UnknownText_0x65a63
-	end
-
-UnknownScript_0xa0a82:
-	farwritetext UnknownText_0x66043
-	end
-
-UnknownScript_0xa0a87:
-	farwritetext UnknownText_0x66579
-	end
-
-UnknownScript_0xa0a8c:
-	farwritetext UnknownText_0x668a3
-	end
-
-UnknownScript_0xa0a91:
-	farwritetext UnknownText_0x66ad1
-	end
-
-UnknownScript_0xa0a96:
-	farwritetext UnknownText_0x66cf7
-	end
-
-UnknownScript_0xa0a9b:
-	farwritetext UnknownText_0x6712a
-	end
-
-UnknownScript_0xa0aa0:
-	farwritetext UnknownText_0x672d5
-	end
-
-UnknownScript_0xa0aa5:
-	farwritetext UnknownText_0x174895
-	buttonsound
-	jump PhoneScript_HangupText_Female
-
-UnknownScript_0xa0aad:
-	farwritetext UnknownText_0x17529c
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0ab5:
-	farwritetext UnknownText_0x175b6d
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0abd:
-	farwritetext UnknownText_0x17750e
-	buttonsound
-	jump PhoneScript_HangupText_Female
-
-UnknownScript_0xa0ac5:
-	farwritetext UnknownText_0x64f1a
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0acd:
-	farwritetext UnknownText_0x6520f
-	buttonsound
-	jump PhoneScript_HangupText_Female
-
-UnknownScript_0xa0ad5:
-	farwritetext UnknownText_0x65da6
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0add:
-	farwritetext UnknownText_0x66087
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0ae5:
-	farwritetext UnknownText_0x6691d
-	buttonsound
-	jump PhoneScript_HangupText_Female
-
-UnknownScript_0xa0aed:
-	farwritetext UnknownText_0x66d45
-	buttonsound
-	jump PhoneScript_HangupText_Male
-
-UnknownScript_0xa0af5:
-	farwritetext UnknownText_0x175f70
-	end
-
-UnknownScript_0xa0afa:
-	farwritetext UnknownText_0x176dd1
-	end
-
-UnknownScript_0xa0aff:
-	farwritetext UnknownText_0x64c5a
-	end
-
-UnknownScript_0xa0b04:
-	farwritetext UnknownText_0x17717c
-	end
-
-BikeShopPhoneScript:
-	farwritetext UnknownText_0x174000
-	clearflag ENGINE_BIKE_SHOP_CALL_ENABLED
-	specialphonecall SPECIALCALL_NONE
-	end
--- a/engine/phone.asm
+++ /dev/null
@@ -1,800 +1,0 @@
-AddPhoneNumber:: ; 90000
-	call _CheckCellNum
-	jr c, .cant_add
-	call Phone_FindOpenSlot
-	jr nc, .cant_add
-	ld [hl], c
-	xor a
-	ret
-
-.cant_add
-	scf
-	ret
-; 9000f
-
-
-DelCellNum:: ; 9000f
-	call _CheckCellNum
-	jr nc, .not_in_list
-	xor a
-	ld [hl], a
-	ret
-
-.not_in_list
-	scf
-	ret
-; 90019
-
-CheckCellNum:: ; 90019
-	jp _CheckCellNum ; wtf
-; 9001c
-
-_CheckCellNum: ; 9001c
-	ld hl, wPhoneList
-	ld b, CONTACT_LIST_SIZE
-.loop
-	ld a, [hli]
-	cp c
-	jr z, .got_it
-	dec b
-	jr nz, .loop
-	xor a
-	ret
-
-.got_it
-	dec hl
-	scf
-	ret
-; 9002d
-
-Phone_FindOpenSlot: ; 9002d
-	call GetRemainingSpaceInPhoneList
-	ld b, a
-	ld hl, wPhoneList
-.loop
-	ld a, [hli]
-	and a
-	jr z, .FoundOpenSpace
-	dec b
-	jr nz, .loop
-	xor a
-	ret
-
-.FoundOpenSpace:
-	dec hl
-	scf
-	ret
-; 90040
-
-GetRemainingSpaceInPhoneList: ; 90040
-	xor a
-	ld [Buffer1], a
-	ld hl, PermanentNumbers
-.loop
-	ld a, [hli]
-	cp -1
-	jr z, .done
-	cp c
-	jr z, .elm_or_mom
-	push bc
-	push hl
-	ld c, a
-	call _CheckCellNum
-	jr c, .elm_or_mom_in_list
-	ld hl, Buffer1
-	inc [hl]
-
-.elm_or_mom_in_list
-	pop hl
-	pop bc
-
-.elm_or_mom
-	jr .loop
-
-.done
-	ld a, CONTACT_LIST_SIZE
-	ld hl, Buffer1
-	sub [hl]
-	ret
-; 90066
-
-PermanentNumbers: ; 90066
-	db PHONECONTACT_MOM, PHONECONTACT_ELM, -1
-; 90069
-
-
-FarPlaceString: ; 90069
-	ld a, [hROMBank]
-	push af
-	ld a, b
-	rst Bankswitch
-
-	call PlaceString
-
-	pop af
-	rst Bankswitch
-	ret
-; 90074
-
-
-CheckPhoneCall:: ; 90074 (24:4074)
-; Check if the phone is ringing in the overworld.
-
-	call CheckStandingOnEntrance
-	jr z, .no_call
-
-	call .timecheck
-	nop
-	jr nc, .no_call
-
-	call Random
-	ld b, a
-	and 50 percent
-	cp b
-	jr nz, .no_call
-
-	call GetMapHeaderPhoneServiceNybble
-	and a
-	jr nz, .no_call
-
-	call GetAvailableCallers
-	call ChooseRandomCaller
-	jr nc, .no_call
-
-	ld e, a
-	call LoadCallerScript
-	ld a, BANK(Script_ReceivePhoneCall)
-	ld hl, Script_ReceivePhoneCall
-	call CallScript
-	scf
-	ret
-
-.no_call
-	xor a
-	ret
-
-.timecheck ; 900a6 (24:40a6)
-	callba CheckReceiveCallTimer
-	ret
-
-CheckPhoneContactTimeOfDay: ; 900ad (24:40ad)
-	push hl
-	push bc
-	push de
-	push af
-
-	callba CheckTime
-	pop af
-	and MORN | DAY | NITE
-	and c
-
-	pop de
-	pop bc
-	pop hl
-	ret
-
-ChooseRandomCaller: ; 900bf (24:40bf)
-; If no one is available to call, don't return anything.
-	ld a, [EngineBuffer3]
-	and a
-	jr z, .NothingToSample
-
-; Sample a random number between 0 and 31.
-	ld c, a
-	call Random
-	ld a, [hRandomAdd]
-	swap a
-	and $1f
-; Compute that number modulo the number of available callers.
-	call SimpleDivide
-; Return the caller ID you just sampled.
-	ld c, a
-	ld b, 0
-	ld hl, EngineBuffer4
-	add hl, bc
-	ld a, [hl]
-	scf
-	ret
-
-.NothingToSample:
-	xor a
-	ret
-
-GetAvailableCallers: ; 900de (24:40de)
-	callba CheckTime
-	ld a, c
-	ld [EngineBuffer1], a
-	ld hl, EngineBuffer3
-	ld bc, 11
-	xor a
-	call ByteFill
-	ld de, wPhoneList
-	ld a, CONTACT_LIST_SIZE
-
-.loop
-	ld [EngineBuffer2], a
-	ld a, [de]
-	and a
-	jr z, .not_good_for_call
-	ld hl, PhoneContacts + PHONE_CONTACT_SCRIPT2_TIME
-	ld bc, PHONE_TABLE_WIDTH
-	call AddNTimes
-	ld a, [EngineBuffer1]
-	and [hl]
-	jr z, .not_good_for_call
-	ld bc, PHONE_CONTACT_MAP_GROUP - PHONE_CONTACT_SCRIPT2_TIME
-	add hl, bc
-	ld a, [MapGroup]
-	cp [hl]
-	jr nz, .different_map
-	inc hl
-	ld a, [MapNumber]
-	cp [hl]
-	jr z, .not_good_for_call
-.different_map
-	ld a, [EngineBuffer3]
-	ld c, a
-	ld b, $0
-	inc a
-	ld [EngineBuffer3], a
-	ld hl, EngineBuffer4
-	add hl, bc
-	ld a, [de]
-	ld [hl], a
-.not_good_for_call
-	inc de
-	ld a, [EngineBuffer2]
-	dec a
-	jr nz, .loop
-	ret
-
-CheckSpecialPhoneCall:: ; 90136 (24:4136)
-	ld a, [wSpecialPhoneCallID]
-	and a
-	jr z, .NoPhoneCall
-
-	dec a
-	ld c, a
-	ld b, 0
-	ld hl, SpecialPhoneCallList
-	ld a, 6
-	call AddNTimes
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	call _hl_
-	jr nc, .NoPhoneCall
-
-	call .DoSpecialPhoneCall
-	inc hl
-	inc hl
-	ld a, [hli]
-	ld e, a
-	push hl
-	call LoadCallerScript
-	pop hl
-	ld de, wPhoneScriptPointer
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hli]
-	ld [de], a
-	ld a, BANK(.script)
-	ld hl, .script
-	call CallScript
-	scf
-	ret
-.NoPhoneCall:
-	xor a
-	ret
-; 90173 (24:4173)
-
-.script ; 0x90173
-	pause 30
-	jump Script_ReceivePhoneCall
-; 0x90178
-
-.DoSpecialPhoneCall: ; 90178 (24:4178)
-	ld a, [wSpecialPhoneCallID]
-	dec a
-	ld c, a
-	ld b, 0
-	ld hl, SpecialPhoneCallList
-	ld a, 6
-	call AddNTimes
-	ret
-
-SpecialCallOnlyWhenOutside: ; 90188
-	ld a, [wPermission]
-	cp TOWN
-	jr z, .outside
-	cp ROUTE
-	jr z, .outside
-	xor a
-	ret
-
-.outside
-	scf
-	ret
-
-SpecialCallWhereverYouAre: ; 90197
-	scf
-	ret
-
-Function90199: ; 90199 (24:4199)
-	; Don't do the call if you're in a link communication
-	ld a, [wLinkMode]
-	and a
-	jr nz, .OutOfArea
-	; If you're in an area without phone service, don't do the call
-	call GetMapHeaderPhoneServiceNybble
-	and a
-	jr nz, .OutOfArea
-	; If the person can't take a call at that time, don't do the call
-	ld a, b
-	ld [wCurrentCaller], a
-	ld hl, PhoneContacts
-	ld bc, PHONE_TABLE_WIDTH
-	call AddNTimes
-	ld d, h
-	ld e, l
-	ld hl, PHONE_CONTACT_SCRIPT1_TIME
-	add hl, de
-	ld a, [hl]
-	call CheckPhoneContactTimeOfDay
-	jr z, .OutOfArea
-	; If we're in the same map as the person we're calling,
-	; use the "Just talk to that person" script.
-	ld hl, PHONE_CONTACT_MAP_GROUP
-	add hl, de
-	ld a, [MapGroup]
-	cp [hl]
-	jr nz, .GetPhoneScript
-	ld hl, PHONE_CONTACT_MAP_NUMBER
-	add hl, de
-	ld a, [MapNumber]
-	cp [hl]
-	jr nz, .GetPhoneScript
-	ld b, BANK(PhoneScript_JustTalkToThem)
-	ld hl, PhoneScript_JustTalkToThem
-	jr .DoPhoneCall
-
-.GetPhoneScript:
-	ld hl, PHONE_CONTACT_SCRIPT1_BANK
-	add hl, de
-	ld b, [hl]
-	ld hl, PHONE_CONTACT_SCRIPT1_ADDR_LO
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jr .DoPhoneCall
-
-.OutOfArea:
-	ld b, BANK(UnknownScript_0x90209)
-	ld de, UnknownScript_0x90209
-	call ExecuteCallbackScript
-	ret
-
-.DoPhoneCall:
-	ld a, b
-	ld [PhoneScriptBank], a
-	ld a, l
-	ld [PhoneCaller], a
-	ld a, h
-	ld [PhoneCaller + 1], a
-	ld b, BANK(UnknownScript_0x90205)
-	ld de, UnknownScript_0x90205
-	call ExecuteCallbackScript
-	ret
-; 90205 (24:4205)
-
-UnknownScript_0x90205: ; 0x90205
-	ptcall wd002
-	return
-; 0x90209
-
-UnknownScript_0x90209: ; 0x90209
-	scall UnknownScript_0x90657
-	return
-; 0x9020d
-
-LoadCallerScript: ; 9020d (24:420d)
-	nop
-	nop
-	ld a, e
-	ld [wCurrentCaller], a
-	and a
-	jr nz, .actualcaller
-	ld a, BANK(WrongNumber)
-	ld hl, WrongNumber
-	jr .proceed
-
-.actualcaller
-	ld hl, PhoneContacts
-	ld bc, 12
-	ld a, e
-	call AddNTimes
-	ld a, BANK(PhoneContacts)
-.proceed
-	ld de, EngineBuffer2
-	ld bc, 12
-	call FarCopyBytes
-	ret
-; 90233 (24:4233)
-
-WrongNumber: ; 90233
-	db TRAINER_NONE, PHONE_00
-	dba .script
-.script
-	writetext .text
-	end
-.text
-	; Huh? Sorry, wrong number!
-	text_jump UnknownText_0x1c5565
-	db "@"
-; 90241
-
-Script_ReceivePhoneCall: ; 0x90241
-	refreshscreen $0
-	callasm RingTwice_StartCall
-	ptcall wPhoneScriptPointer
-	waitbutton
-	callasm HangUp
-	closetext
-	callasm InitCallReceiveDelay
-	end
-; 0x90255
-
-Script_SpecialBillCall:: ; 0x90255
-	callasm .LoadBillScript
-	jump Script_ReceivePhoneCall
-
-.LoadBillScript:
-	ld e, PHONE_BILL
-	jp LoadCallerScript
-; 90261
-
-UnknownScript_0x90261: ; 0x90261
-	callasm .LoadElmScript
-	pause 30
-	jump Script_ReceivePhoneCall
-
-.LoadElmScript:
-	ld e, PHONE_ELM
-	jp LoadCallerScript
-; 9026f
-
-RingTwice_StartCall: ; 9026f
-	call .Ring
-	call .Ring
-	callba TrainerRankings_PhoneCalls
-	ret
-; 9027c
-
-.Ring: ; 9027c (24:427c)
-	call Phone_StartRinging
-	call Phone_Wait20Frames
-	call Phone_CallerTextboxWithName
-	call Phone_Wait20Frames
-	call Phone_CallerTextbox
-	call Phone_Wait20Frames
-	call Phone_CallerTextboxWithName
-	ret
-
-Phone_CallerTextboxWithName: ; 90292 (24:4292)
-	ld a, [wCurrentCaller]
-	ld b, a
-	call Function90363
-	ret
-
-PhoneCall:: ; 9029a
-	ld a, b
-	ld [PhoneScriptBank], a
-	ld a, e
-	ld [PhoneCaller], a
-	ld a, d
-	ld [PhoneCaller + 1], a
-	call Phone_FirstOfTwoRings
-	call Phone_FirstOfTwoRings
-	callba TrainerRankings_PhoneCalls
-	ret
-; 902b3
-
-Phone_FirstOfTwoRings: ; 902b3
-	call Phone_StartRinging
-	call Phone_Wait20Frames
-	call Phone_CallerTextboxWithName2
-	call Phone_Wait20Frames
-	call Phone_CallerTextbox
-	call Phone_Wait20Frames
-	call Phone_CallerTextboxWithName2
-	ret
-; 902c9
-
-Phone_CallerTextboxWithName2: ; 902c9
-	call Phone_CallerTextbox
-	hlcoord 1, 2
-	ld [hl], "<PHONE>"
-	inc hl
-	inc hl
-	ld a, [PhoneScriptBank]
-	ld b, a
-	ld a, [PhoneCaller]
-	ld e, a
-	ld a, [PhoneCaller + 1]
-	ld d, a
-	call FarPlaceString
-	ret
-; 902e3
-
-
-Phone_NoSignal: ; 902e3 (24:42e3)
-	ld de, SFX_NO_SIGNAL
-	call PlaySFX
-	jr Phone_CallEnd
-
-HangUp:: ; 902eb
-	call HangUp_Beep
-	call HangUp_Wait20Frames
-Phone_CallEnd:
-	call HangUp_BoopOn
-	call HangUp_Wait20Frames
-	call HangUp_BoopOff
-	call HangUp_Wait20Frames
-	call HangUp_BoopOn
-	call HangUp_Wait20Frames
-	call HangUp_BoopOff
-	call HangUp_Wait20Frames
-	call HangUp_BoopOn
-	call HangUp_Wait20Frames
-	call HangUp_BoopOff
-	call HangUp_Wait20Frames
-	ret
-; 90316
-
-Function90316: ; 90316
-	ld de, SFX_SHUT_DOWN_PC
-	call PlaySFX
-	ret
-; 9031d
-
-HangUp_Beep: ; 9031d
-	ld hl, UnknownText_0x9032a
-	call PrintText
-	ld de, SFX_HANG_UP
-	call PlaySFX
-	ret
-; 9032a
-
-UnknownText_0x9032a: ; 9032a
-	text_jump UnknownText_0x1c5580
-	db "@"
-; 9032f
-
-
-HangUp_BoopOn: ; 9032f
-	ld hl, UnknownText_0x90336
-	call PrintText
-	ret
-; 90336
-
-UnknownText_0x90336: ; 0x90336
-	text_jump UnknownText_0x1c5588
-	db "@"
-; 0x9033b
-
-
-HangUp_BoopOff: ; 9033b
-	call SpeechTextBox
-	ret
-; 9033f
-
-Phone_StartRinging: ; 9033f
-	call WaitSFX
-	ld de, SFX_CALL
-	call PlaySFX
-	call Phone_CallerTextbox
-	call UpdateSprites
-	callba PhoneRing_LoadEDTile
-	ret
-; 90355
-
-HangUp_Wait20Frames: ; 90355
-	jr Phone_Wait20Frames
-
-Phone_Wait20Frames
-	ld c, 20
-	call DelayFrames
-	callba PhoneRing_LoadEDTile
-	ret
-; 90363
-
-
-Function90363: ; 90363 (24:4363)
-	push bc
-	call Phone_CallerTextbox
-	hlcoord 1, 1
-	ld [hl], "<PHONE>"
-	inc hl
-	inc hl
-	ld d, h
-	ld e, l
-	pop bc
-	call Function90380
-	ret
-
-
-Phone_CallerTextbox: ; 90375
-	hlcoord 0, 0
-	ld b, 2
-	ld c, SCREEN_WIDTH - 2
-	call TextBox
-	ret
-; 90380
-
-
-Function90380: ; 90380 (24:4380)
-	ld h, d
-	ld l, e
-	ld a, b
-	call GetCallerTrainerClass
-	call GetCallerName
-	ret
-
-CheckCanDeletePhoneNumber: ; 9038a (24:438a)
-	ld a, c
-	call GetCallerTrainerClass
-	ld a, c
-	; and a
-	ret nz
-	ld a, b
-	cp PHONECONTACT_MOM
-	ret z
-	cp PHONECONTACT_ELM
-	ret z
-	ld c, $1
-	ret
-
-GetCallerTrainerClass: ; 9039a
-	push hl
-	ld hl, PhoneContacts + PHONE_CONTACT_TRAINER_CLASS
-	ld bc, PHONE_TABLE_WIDTH
-	call AddNTimes
-	ld a, [hli]
-	ld b, [hl]
-	ld c, a
-	pop hl
-	ret
-; 903a9
-
-
-GetCallerName: ; 903a9 (24:43a9)
-	ld a, c
-	and a
-	jr z, .NotTrainer
-
-	call Phone_GetTrainerName
-	push hl
-	push bc
-	call PlaceString
-	ld a, ":"
-	ld [bc], a
-	pop bc
-	pop hl
-	ld de, SCREEN_WIDTH + 3
-	add hl, de
-	call Phone_GetTrainerClassName
-	call PlaceString
-	ret
-
-.NotTrainer:
-	push hl
-	ld c, b
-	ld b, 0
-	ld hl, NonTrainerCallerNames
-	add hl, bc
-	add hl, bc
-	ld a, [hli]
-	ld e, a
-	ld d, [hl]
-	pop hl
-	call PlaceString
-	ret
-; 903d6 (24:43d6)
-
-NonTrainerCallerNames: ; 903d6
-	dw .none
-	dw .mom
-	dw .bikeshop
-	dw .bill
-	dw .elm
-	dw .buena
-
-.none db "----------@"
-.mom db "MOM:@"
-.bill db "BILL:@"
-.elm db "PROF.ELM:@"
-.bikeshop db "BIKE SHOP:@"
-.buena db "BUENA:", $22, "   DISC JOCKEY@"
-; 90423
-
-Phone_GetTrainerName: ; 90423 (24:4423)
-	push hl
-	push bc
-	callba GetTrainerName
-	pop bc
-	pop hl
-	ret
-
-Phone_GetTrainerClassName: ; 9042e (24:442e)
-	push hl
-	push bc
-	callba GetTrainerClassName
-	pop bc
-	pop hl
-	ret
-
-GetCallerLocation: ; 90439
-	ld a, [wCurrentCaller]
-	call GetCallerTrainerClass
-	ld d, c
-	ld e, b
-	push de
-	ld a, [wCurrentCaller]
-	ld hl, PhoneContacts + PHONE_CONTACT_MAP_GROUP
-	ld bc, PHONE_TABLE_WIDTH
-	call AddNTimes
-	ld b, [hl]
-	inc hl
-	ld c, [hl]
-	push bc
-	call GetWorldMapLocation
-	ld e, a
-	callba GetLandmarkName
-	pop bc
-	pop de
-	ret
-; 9045f
-
-
-INCLUDE "data/phone_contacts.asm"
-
-INCLUDE "data/phone_special.asm"
-
-
-UnknownScript_0x90657: ; 0x90657
-	writetext UnknownText_0x9065b
-	end
-; 0x9065b
-
-UnknownText_0x9065b: ; 0x9065b
-	; That number is out of the area.
-	text_jump UnknownText_0x1c558b
-	db "@"
-; 0x90660
-
-PhoneScript_JustTalkToThem: ; 0x90660
-	writetext UnknownText_0x90664
-	end
-; 0x90664
-
-UnknownText_0x90664: ; 0x90664
-	; Just go talk to that person!
-	text_jump UnknownText_0x1c55ac
-	db "@"
-; 0x90669
-
-UnknownScript_0x90669: ; 0x90669
-	writetext UnknownText_0x9066d
-	end
-; 0x9066d
-
-UnknownText_0x9066d: ; 0x9066d
-	; Thank you!
-	text_jump UnknownText_0x1c55ca
-	db "@"
-; 0x90672
--- /dev/null
+++ b/engine/phone/buenas_password.asm
@@ -1,0 +1,170 @@
+BuenaPhoneScript1:
+	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
+	iftrue BuenaPhoneScript_Rocket
+	checkcode VAR_HOUR
+	if_greater_than 17, BuenaPhoneScript_AfterMidnight1
+	scall BuenaPhoneScript_CheckTimeOfDay1
+	jump BuenaPhoneScript_Random1
+
+BuenaPhoneScript2:
+	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
+	iftrue BuenaPhoneScript_Rocket
+	scall BuenaPhoneScript_CheckTimeOfDay2
+	jump BuenaPhoneScript_Random2
+
+BuenaPhoneScript_CheckTimeOfDay1:
+	checkmorn
+	iftrue .morn
+	checkday
+	iftrue .day
+	writetext UnknownText_0xa0d42
+	buttonsound
+	end
+
+.morn
+	writetext UnknownText_0xa0c28
+	buttonsound
+	end
+
+.day
+	writetext UnknownText_0xa0c72
+	buttonsound
+	end
+
+BuenaPhoneScript_AfterMidnight1:
+	writetext UnknownText_0xa0caf
+	end
+
+BuenaPhoneScript_CheckTimeOfDay2:
+	checkcode VAR_HOUR
+	if_greater_than 17, BuenaPhoneScript_AfterMidnight2
+	checkmorn
+	iftrue .morn
+	checkday
+	iftrue .day
+	writetext UnknownText_0xa0e29
+	buttonsound
+	end
+
+.morn
+	writetext UnknownText_0xa0d96
+	buttonsound
+	end
+
+.day
+	writetext UnknownText_0xa0dcf
+	buttonsound
+	end
+
+BuenaPhoneScript_AfterMidnight2:
+	writetext UnknownText_0xa0e01
+	buttonsound
+	end
+
+BuenaPhoneScript_Rocket:
+	writetext UnknownText_0xa0e5e
+	end
+
+BuenaPhoneScript_Random2:
+	checkevent EVENT_BEAT_ELITE_FOUR
+	iftrue .PostE4
+	random 11
+	jump .Jumptable
+
+.PostE4:
+	random 14
+
+.Jumptable:
+	if_equal 0, .zero
+	if_equal 1, .one
+	if_equal 2, .two
+	if_equal 3, .three
+	if_equal 4, .four
+	if_equal 5, .five
+	if_equal 6, .six
+	if_equal 7, .seven
+	if_equal 8, .eight
+	if_equal 9, .nine
+	if_equal 10, .ten
+	if_equal 11, .eleven
+	if_equal 12, .twelve
+	if_equal 13, .thirteen
+
+.zero
+	writetext UnknownText_0xa0efb
+	jump .finish
+
+.one
+	writetext UnknownText_0xa0fcf
+	jump .finish
+
+.two
+	writetext UnknownText_0xa109d
+	jump .finish
+
+.three
+	writetext UnknownText_0xa1143
+	jump .finish
+
+.four
+	writetext UnknownText_0xa1244
+	jump .finish
+
+.five
+	writetext UnknownText_0xa1318
+	jump .finish
+
+.six
+	writetext UnknownText_0xa13d8
+	jump .finish
+
+.seven
+	writetext UnknownText_0xa1488
+	jump .finish
+
+.eight
+	writetext UnknownText_0xa15de
+	jump .finish
+
+.nine
+	writetext UnknownText_0xa1717
+	jump .finish
+
+.ten
+	writetext UnknownText_0xa183d
+	jump .finish
+
+.eleven
+	writetext UnknownText_0xa19b1
+	jump .finish
+
+.twelve
+	writetext UnknownText_0xa1ac0
+	jump .finish
+
+.thirteen
+	writetext UnknownText_0xa1bed
+
+.finish
+	end
+
+BuenaPhoneScript_Random1:
+	random 3
+	if_equal 0, .zero
+	if_equal 1, .one
+	if_equal 2, .two
+
+.zero
+	writetext UnknownText_0xa1c88
+	end
+
+.one
+	writetext UnknownText_0xa1d5f
+	end
+
+.two
+	writetext UnknownText_0xa1e2f
+	end
+; a0c28
+
+INCLUDE "text/phone/buena.asm"
--- /dev/null
+++ b/engine/phone/generic_calls.asm
@@ -1,0 +1,1266 @@
+PhoneScript_Random2:
+	random 2
+	end
+
+PhoneScript_Random3:
+	random 3
+	end
+
+PhoneScript_Random4:
+	random 4
+	end
+
+PhoneScript_Random5:
+	random 5
+	end
+
+PhoneScript_Random11:
+	random 11
+	end
+
+PhoneScript_AnswerPhone_Male:
+	checkday
+	iftrue PhoneScript_AnswerPhone_Male_Day
+	checknite
+	iftrue PhoneScript_AnswerPhone_Male_Nite
+	checkcode VAR_CALLERID
+	if_equal PHONE_SCHOOLBOY_JACK, .Jack
+	if_equal PHONE_SAILOR_HUEY, .Huey
+	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
+	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
+	if_equal PHONE_YOUNGSTER_JOEY, .Joey
+	if_equal PHONE_BUG_CATCHER_WADE, .Wade
+	if_equal PHONE_FISHER_RALPH, .Ralph
+	if_equal PHONE_HIKER_ANTHONY, .Anthony
+	if_equal PHONE_CAMPER_TODD, .Todd
+	if_equal PHONE_JUGGLER_IRWIN, .Irwin
+	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
+	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
+	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
+	if_equal PHONE_POKEFANM_DEREK, .Derek
+	if_equal PHONE_FISHER_TULLY, .Tully
+	if_equal PHONE_POKEMANIAC_BRENT, .Brent
+	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
+	if_equal PHONE_FISHER_WILTON, .Wilton
+	if_equal PHONE_BLACKBELT_KENJI, .Kenji
+	if_equal PHONE_HIKER_PARRY, .Parry
+
+.Jack:
+	farwritetext UnknownText_0x1b4dc5
+	buttonsound
+	end
+
+.Huey:
+	farwritetext UnknownText_0x1b5073
+	buttonsound
+	end
+
+.Gaven:
+	farwritetext UnknownText_0x1b5270
+	buttonsound
+	end
+
+.Jose:
+	farwritetext UnknownText_0x1b55ae
+	buttonsound
+	end
+
+.Joey:
+	farwritetext UnknownText_0x1b589a
+	buttonsound
+	end
+
+.Wade:
+	farwritetext UnknownText_0x1b5a3b
+	buttonsound
+	end
+
+.Ralph:
+	farwritetext UnknownText_0x1b5c10
+	buttonsound
+	end
+
+.Anthony:
+	farwritetext UnknownText_0x1b5f7a
+	buttonsound
+	end
+
+.Todd:
+	farwritetext UnknownText_0x1b60f5
+	buttonsound
+	end
+
+.Irwin:
+	farwritetext UnknownText_0x1b638c
+	buttonsound
+	end
+
+.Arnie:
+	farwritetext UnknownText_0x1b6454
+	buttonsound
+	end
+
+.Alan:
+	farwritetext UnknownText_0x1b659d
+	buttonsound
+	end
+
+.Chad:
+	farwritetext UnknownText_0x1b67e2
+	buttonsound
+	end
+
+.Derek:
+	farwritetext UnknownText_0x1b69a8
+	buttonsound
+	end
+
+.Tully:
+	farwritetext UnknownText_0x1b6b39
+	buttonsound
+	end
+
+.Brent:
+	farwritetext UnknownText_0x1b6c96
+	buttonsound
+	end
+
+.Vance:
+	farwritetext UnknownText_0x1b7019
+	buttonsound
+	end
+
+.Wilton:
+	farwritetext UnknownText_0x1b71d5
+	buttonsound
+	end
+
+.Kenji:
+	farwritetext UnknownText_0x1b730b
+	buttonsound
+	end
+
+.Parry:
+	farwritetext UnknownText_0x1b73c7
+	buttonsound
+	end
+
+PhoneScript_AnswerPhone_Male_Day:
+	checkcode VAR_CALLERID
+	if_equal PHONE_SCHOOLBOY_JACK, .Jack
+	if_equal PHONE_SAILOR_HUEY, .Huey
+	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
+	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
+	if_equal PHONE_YOUNGSTER_JOEY, .Joey
+	if_equal PHONE_BUG_CATCHER_WADE, .Wade
+	if_equal PHONE_FISHER_RALPH, .Ralph
+	if_equal PHONE_HIKER_ANTHONY, .Anthony
+	if_equal PHONE_CAMPER_TODD, .Todd
+	if_equal PHONE_JUGGLER_IRWIN, .Irwin
+	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
+	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
+	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
+	if_equal PHONE_POKEFANM_DEREK, .Derek
+	if_equal PHONE_FISHER_TULLY, .Tully
+	if_equal PHONE_POKEMANIAC_BRENT, .Brent
+	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
+	if_equal PHONE_FISHER_WILTON, .Wilton
+	if_equal PHONE_BLACKBELT_KENJI, .Kenji
+	if_equal PHONE_HIKER_PARRY, .Parry
+
+.Jack:
+	farwritetext UnknownText_0x1b4ded
+	buttonsound
+	end
+
+.Huey:
+	farwritetext UnknownText_0x1b509b
+	buttonsound
+	end
+
+.Gaven:
+	farwritetext UnknownText_0x1b52a5
+	buttonsound
+	end
+
+.Jose:
+	farwritetext UnknownText_0x1b55da
+	buttonsound
+	end
+
+.Joey:
+	farwritetext UnknownText_0x1b58c2
+	buttonsound
+	end
+
+.Wade:
+	farwritetext UnknownText_0x1b5a74
+	buttonsound
+	end
+
+.Ralph:
+	farwritetext UnknownText_0x1b5c63
+	buttonsound
+	end
+
+.Anthony:
+	farwritetext UnknownText_0x1b5f9e
+	buttonsound
+	end
+
+.Todd:
+	farwritetext UnknownText_0x1b611b
+	buttonsound
+	end
+
+.Irwin:
+	farwritetext UnknownText_0x1b63a8
+	buttonsound
+	end
+
+.Arnie:
+	farwritetext UnknownText_0x1b647e
+	buttonsound
+	end
+
+.Alan:
+	farwritetext UnknownText_0x1b65c7
+	buttonsound
+	end
+
+.Chad:
+	farwritetext UnknownText_0x1b680e
+	buttonsound
+	end
+
+.Derek:
+	farwritetext UnknownText_0x1b69d2
+	buttonsound
+	end
+
+.Tully:
+	farwritetext UnknownText_0x1b6b65
+	buttonsound
+	end
+
+.Brent:
+	farwritetext UnknownText_0x1b6cc6
+	buttonsound
+	end
+
+.Vance:
+	farwritetext UnknownText_0x1b7057
+	buttonsound
+	end
+
+.Wilton:
+	farwritetext UnknownText_0x1b71fc
+	buttonsound
+	end
+
+.Kenji:
+	farwritetext UnknownText_0x1b7331
+	buttonsound
+	end
+
+.Parry:
+	farwritetext UnknownText_0x1b73ef
+	buttonsound
+	end
+
+PhoneScript_AnswerPhone_Male_Nite:
+	checkcode VAR_CALLERID
+	if_equal PHONE_SCHOOLBOY_JACK, .Jack
+	if_equal PHONE_SAILOR_HUEY, .Huey
+	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
+	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
+	if_equal PHONE_YOUNGSTER_JOEY, .Joey
+	if_equal PHONE_BUG_CATCHER_WADE, .Wade
+	if_equal PHONE_FISHER_RALPH, .Ralph
+	if_equal PHONE_HIKER_ANTHONY, .Anthony
+	if_equal PHONE_CAMPER_TODD, .Todd
+	if_equal PHONE_JUGGLER_IRWIN, .Irwin
+	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
+	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
+	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
+	if_equal PHONE_POKEFANM_DEREK, .Derek
+	if_equal PHONE_FISHER_TULLY, .Tully
+	if_equal PHONE_POKEMANIAC_BRENT, .Brent
+	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
+	if_equal PHONE_FISHER_WILTON, .Wilton
+	if_equal PHONE_BLACKBELT_KENJI, .Kenji
+	if_equal PHONE_HIKER_PARRY, .Parry
+
+.Jack:
+	farwritetext UnknownText_0x1b4e16
+	buttonsound
+	end
+
+.Huey:
+	farwritetext UnknownText_0x1b50c2
+	buttonsound
+	end
+
+.Gaven:
+	farwritetext UnknownText_0x1b52cc
+	buttonsound
+	end
+
+.Jose:
+	farwritetext UnknownText_0x1b55fc
+	buttonsound
+	end
+
+.Joey:
+	farwritetext UnknownText_0x1b58ea
+	buttonsound
+	end
+
+.Wade:
+	farwritetext UnknownText_0x1b5a9f
+	buttonsound
+	end
+
+.Ralph:
+	farwritetext UnknownText_0x1b5cb6
+	buttonsound
+	end
+
+.Anthony:
+	farwritetext UnknownText_0x1b5fc9
+	buttonsound
+	end
+
+.Todd:
+	farwritetext UnknownText_0x1b6149
+	buttonsound
+	end
+
+.Irwin:
+	farwritetext UnknownText_0x1b63c4
+	buttonsound
+	end
+
+.Arnie:
+	farwritetext UnknownText_0x1b64a8
+	buttonsound
+	end
+
+.Alan:
+	farwritetext UnknownText_0x1b65e3
+	buttonsound
+	end
+
+.Chad:
+	farwritetext UnknownText_0x1b6836
+	buttonsound
+	end
+
+.Derek:
+	farwritetext UnknownText_0x1b69f8
+	buttonsound
+	end
+
+.Tully:
+	farwritetext UnknownText_0x1b6b92
+	buttonsound
+	end
+
+.Brent:
+	farwritetext UnknownText_0x1b6cf6
+	buttonsound
+	end
+
+.Vance:
+	farwritetext UnknownText_0x1b7092
+	buttonsound
+	end
+
+.Wilton:
+	farwritetext UnknownText_0x1b722a
+	buttonsound
+	end
+
+.Kenji:
+	farwritetext UnknownText_0x1b7357
+	buttonsound
+	end
+
+.Parry:
+	farwritetext UnknownText_0x1b7417
+	buttonsound
+	end
+
+PhoneScript_AnswerPhone_Female:
+	checkday
+	iftrue PhoneScript_AnswerPhone_Female_Day
+	checknite
+	iftrue PhoneScript_AnswerPhone_Female_Nite
+	checkcode VAR_CALLERID
+	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
+	if_equal PHONE_COOLTRAINERF_BETH, .Beth
+	if_equal PHONE_COOLTRAINERF_REENA, .Reena
+	if_equal PHONE_PICNICKER_LIZ, .Liz
+	if_equal PHONE_PICNICKER_GINA, .Gina
+	if_equal PHONE_LASS_DANA, .Dana
+	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
+	if_equal PHONE_PICNICKER_ERIN, .Erin
+
+.Beverly:
+	farwritetext UnknownText_0x1b4f21
+	buttonsound
+	end
+
+.Beth:
+	farwritetext UnknownText_0x1b53f7
+	buttonsound
+	end
+
+.Reena:
+	farwritetext UnknownText_0x1b5702
+	buttonsound
+	end
+
+.Liz:
+	farwritetext UnknownText_0x1b5d9f
+	buttonsound
+	end
+
+.Gina:
+	farwritetext UnknownText_0x1b626a
+	buttonsound
+	end
+
+.Dana:
+	farwritetext UnknownText_0x1b66c8
+	buttonsound
+	end
+
+.Tiffany:
+	farwritetext UnknownText_0x1b6e7c
+	buttonsound
+	end
+
+.Erin:
+	farwritetext UnknownText_0x1b751a
+	buttonsound
+	end
+
+PhoneScript_AnswerPhone_Female_Day:
+	checkcode VAR_CALLERID
+	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
+	if_equal PHONE_COOLTRAINERF_BETH, .Beth
+	if_equal PHONE_COOLTRAINERF_REENA, .Reena
+	if_equal PHONE_PICNICKER_LIZ, .Liz
+	if_equal PHONE_PICNICKER_GINA, .Gina
+	if_equal PHONE_LASS_DANA, .Dana
+	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
+	if_equal PHONE_PICNICKER_ERIN, .Erin
+
+.Beverly:
+	farwritetext UnknownText_0x1b4f4d
+	buttonsound
+	end
+
+.Beth:
+	farwritetext UnknownText_0x1b5424
+	buttonsound
+	end
+
+.Reena:
+	farwritetext UnknownText_0x1b572e
+	buttonsound
+	end
+
+.Liz:
+	farwritetext UnknownText_0x1b5dcc
+	buttonsound
+	end
+
+.Gina:
+	farwritetext UnknownText_0x1b6296
+	buttonsound
+	end
+
+.Dana:
+	farwritetext UnknownText_0x1b66ec
+	buttonsound
+	end
+
+.Tiffany:
+	farwritetext UnknownText_0x1b6ea6
+	buttonsound
+	end
+
+.Erin:
+	farwritetext UnknownText_0x1b7548
+	buttonsound
+	end
+
+PhoneScript_AnswerPhone_Female_Nite:
+	checkcode VAR_CALLERID
+	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
+	if_equal PHONE_COOLTRAINERF_BETH, .Beth
+	if_equal PHONE_COOLTRAINERF_REENA, .Reena
+	if_equal PHONE_PICNICKER_LIZ, .Liz
+	if_equal PHONE_PICNICKER_GINA, .Gina
+	if_equal PHONE_LASS_DANA, .Dana
+	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
+	if_equal PHONE_PICNICKER_ERIN, .Erin
+
+.Beverly:
+	farwritetext UnknownText_0x1b4f75
+	buttonsound
+	end
+
+.Beth:
+	farwritetext UnknownText_0x1b5446
+	buttonsound
+	end
+
+.Reena:
+	farwritetext UnknownText_0x1b575a
+	buttonsound
+	end
+
+.Liz:
+	farwritetext UnknownText_0x1b5df8
+	buttonsound
+	end
+
+.Gina:
+	farwritetext UnknownText_0x1b62c5
+	buttonsound
+	end
+
+.Dana:
+	farwritetext UnknownText_0x1b6713
+	buttonsound
+	end
+
+.Tiffany:
+	farwritetext UnknownText_0x1b6ec9
+	buttonsound
+	end
+
+.Erin:
+	farwritetext UnknownText_0x1b756f
+	buttonsound
+	end
+
+PhoneScript_GreetPhone_Male:
+	checkday
+	iftrue PhoneScript_GreetPhone_Male_Day
+	checknite
+	iftrue PhoneScript_GreetPhone_Male_Nite
+	checkcode VAR_CALLERID
+	if_equal PHONE_SCHOOLBOY_JACK, .Jack
+	if_equal PHONE_SAILOR_HUEY, .Huey
+	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
+	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
+	if_equal PHONE_YOUNGSTER_JOEY, .Joey
+	if_equal PHONE_BUG_CATCHER_WADE, .Wade
+	if_equal PHONE_FISHER_RALPH, .Ralph
+	if_equal PHONE_HIKER_ANTHONY, .Anthony
+	if_equal PHONE_CAMPER_TODD, .Todd
+	if_equal PHONE_JUGGLER_IRWIN, .Irwin
+	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
+	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
+	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
+	if_equal PHONE_POKEFANM_DEREK, .Derek
+	if_equal PHONE_FISHER_TULLY, .Tully
+	if_equal PHONE_POKEMANIAC_BRENT, .Brent
+	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
+	if_equal PHONE_FISHER_WILTON, .Wilton
+	if_equal PHONE_BLACKBELT_KENJI, .Kenji
+	if_equal PHONE_HIKER_PARRY, .Parry
+
+.Jack:
+	farwritetext UnknownText_0x1b4e3e
+	buttonsound
+	end
+
+.Huey:
+	farwritetext UnknownText_0x1b50e9
+	buttonsound
+	end
+
+.Gaven:
+	farwritetext UnknownText_0x1b5301
+	buttonsound
+	end
+
+.Jose:
+	farwritetext UnknownText_0x1b5628
+	buttonsound
+	end
+
+.Joey:
+	farwritetext UnknownText_0x1b5912
+	buttonsound
+	end
+
+.Wade:
+	farwritetext UnknownText_0x1b5ad8
+	buttonsound
+	end
+
+.Ralph:
+	farwritetext UnknownText_0x1b5d09
+	buttonsound
+	end
+
+.Anthony:
+	farwritetext UnknownText_0x1b5ff6
+	buttonsound
+	end
+
+.Todd:
+	farwritetext UnknownText_0x1b616e
+	buttonsound
+	end
+
+.Irwin:
+	farwritetext UnknownText_0x1b63e3
+	buttonsound
+	end
+
+.Arnie:
+	farwritetext UnknownText_0x1b64d2
+	buttonsound
+	end
+
+.Alan:
+	farwritetext UnknownText_0x1b660d
+	buttonsound
+	end
+
+.Chad:
+	farwritetext UnknownText_0x1b6862
+	buttonsound
+	end
+
+.Derek:
+	farwritetext UnknownText_0x1b6a22
+	buttonsound
+	end
+
+.Tully:
+	farwritetext UnknownText_0x1b6bb9
+	buttonsound
+	end
+
+.Brent:
+	farwritetext UnknownText_0x1b6d26
+	buttonsound
+	end
+
+.Vance:
+	farwritetext UnknownText_0x1b70e7
+	buttonsound
+	end
+
+.Wilton:
+	farwritetext UnknownText_0x1b725c
+	buttonsound
+	end
+
+.Kenji:
+	farwritetext UnknownText_0x1b737f
+	buttonsound
+	end
+
+.Parry:
+	farwritetext UnknownText_0x1b743f
+	buttonsound
+	end
+
+PhoneScript_GreetPhone_Male_Day:
+	checkcode VAR_CALLERID
+	if_equal PHONE_SCHOOLBOY_JACK, .Jack
+	if_equal PHONE_SAILOR_HUEY, .Huey
+	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
+	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
+	if_equal PHONE_YOUNGSTER_JOEY, .Joey
+	if_equal PHONE_BUG_CATCHER_WADE, .Wade
+	if_equal PHONE_FISHER_RALPH, .Ralph
+	if_equal PHONE_HIKER_ANTHONY, .Anthony
+	if_equal PHONE_CAMPER_TODD, .Todd
+	if_equal PHONE_JUGGLER_IRWIN, .Irwin
+	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
+	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
+	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
+	if_equal PHONE_POKEFANM_DEREK, .Derek
+	if_equal PHONE_FISHER_TULLY, .Tully
+	if_equal PHONE_POKEMANIAC_BRENT, .Brent
+	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
+	if_equal PHONE_FISHER_WILTON, .Wilton
+	if_equal PHONE_BLACKBELT_KENJI, .Kenji
+	if_equal PHONE_HIKER_PARRY, .Parry
+
+.Jack:
+	farwritetext UnknownText_0x1b4e72
+	buttonsound
+	end
+
+.Huey:
+	farwritetext UnknownText_0x1b511a
+	buttonsound
+	end
+
+.Gaven:
+	farwritetext UnknownText_0x1b5335
+	buttonsound
+	end
+
+.Jose:
+	farwritetext UnknownText_0x1b564c
+	buttonsound
+	end
+
+.Joey:
+	farwritetext UnknownText_0x1b5948
+	buttonsound
+	end
+
+.Wade:
+	farwritetext UnknownText_0x1b5b0b
+	buttonsound
+	end
+
+.Ralph:
+	farwritetext UnknownText_0x1b5d21
+	buttonsound
+	end
+
+.Anthony:
+	farwritetext UnknownText_0x1b6017
+	buttonsound
+	end
+
+.Todd:
+	farwritetext UnknownText_0x1b618f
+	buttonsound
+	end
+
+.Irwin:
+	farwritetext UnknownText_0x1b6407
+	buttonsound
+	end
+
+.Arnie:
+	farwritetext UnknownText_0x1b6506
+	buttonsound
+	end
+
+.Alan:
+	farwritetext UnknownText_0x1b6624
+	buttonsound
+	end
+
+.Chad:
+	farwritetext UnknownText_0x1b6890
+	buttonsound
+	end
+
+.Derek:
+	farwritetext UnknownText_0x1b6a56
+	buttonsound
+	end
+
+.Tully:
+	farwritetext UnknownText_0x1b6bef
+	buttonsound
+	end
+
+.Brent:
+	farwritetext UnknownText_0x1b6d57
+	buttonsound
+	end
+
+.Vance:
+	farwritetext UnknownText_0x1b7112
+	buttonsound
+	end
+
+.Wilton:
+	farwritetext UnknownText_0x1b7283
+	buttonsound
+	end
+
+.Kenji:
+	farwritetext UnknownText_0x1b7397
+	buttonsound
+	end
+
+.Parry:
+	farwritetext UnknownText_0x1b746f
+	buttonsound
+	end
+
+PhoneScript_GreetPhone_Male_Nite:
+	checkcode VAR_CALLERID
+	if_equal PHONE_SCHOOLBOY_JACK, .Jack
+	if_equal PHONE_SAILOR_HUEY, .Huey
+	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
+	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
+	if_equal PHONE_YOUNGSTER_JOEY, .Joey
+	if_equal PHONE_BUG_CATCHER_WADE, .Wade
+	if_equal PHONE_FISHER_RALPH, .Ralph
+	if_equal PHONE_HIKER_ANTHONY, .Anthony
+	if_equal PHONE_CAMPER_TODD, .Todd
+	if_equal PHONE_JUGGLER_IRWIN, .Irwin
+	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
+	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
+	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
+	if_equal PHONE_POKEFANM_DEREK, .Derek
+	if_equal PHONE_FISHER_TULLY, .Tully
+	if_equal PHONE_POKEMANIAC_BRENT, .Brent
+	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
+	if_equal PHONE_FISHER_WILTON, .Wilton
+	if_equal PHONE_BLACKBELT_KENJI, .Kenji
+	if_equal PHONE_HIKER_PARRY, .Parry
+
+.Jack:
+	farwritetext UnknownText_0x1b4e9e
+	buttonsound
+	end
+
+.Huey:
+	farwritetext UnknownText_0x1b5154
+	buttonsound
+	end
+
+.Gaven:
+	farwritetext UnknownText_0x1b535f
+	buttonsound
+	end
+
+.Jose:
+	farwritetext UnknownText_0x1b5670
+	buttonsound
+	end
+
+.Joey:
+	farwritetext UnknownText_0x1b597c
+	buttonsound
+	end
+
+.Wade:
+	farwritetext UnknownText_0x1b5b37
+	buttonsound
+	end
+
+.Ralph:
+	farwritetext UnknownText_0x1b5d39
+	buttonsound
+	end
+
+.Anthony:
+	farwritetext UnknownText_0x1b6041
+	buttonsound
+	end
+
+.Todd:
+	farwritetext UnknownText_0x1b61bd
+	buttonsound
+	end
+
+.Irwin:
+	farwritetext UnknownText_0x1b642c
+	buttonsound
+	end
+
+.Arnie:
+	farwritetext UnknownText_0x1b6539
+	buttonsound
+	end
+
+.Alan:
+	farwritetext UnknownText_0x1b663b
+	buttonsound
+	end
+
+.Chad:
+	farwritetext UnknownText_0x1b68ba
+	buttonsound
+	end
+
+.Derek:
+	farwritetext UnknownText_0x1b6a8b
+	buttonsound
+	end
+
+.Tully:
+	farwritetext UnknownText_0x1b6c23
+	buttonsound
+	end
+
+.Brent:
+	farwritetext UnknownText_0x1b6d88
+	buttonsound
+	end
+
+.Vance:
+	farwritetext UnknownText_0x1b7132
+	buttonsound
+	end
+
+.Wilton:
+	farwritetext UnknownText_0x1b72a5
+	buttonsound
+	end
+
+.Kenji:
+	farwritetext UnknownText_0x1b73af
+	buttonsound
+	end
+
+.Parry:
+	farwritetext UnknownText_0x1b749b
+	buttonsound
+	end
+
+PhoneScript_GreetPhone_Female:
+	checkday
+	iftrue PhoneScript_GreetPhone_Female_Day
+	checknite
+	iftrue PhoneScript_GreetPhone_Female_Nite
+	checkcode VAR_CALLERID
+	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
+	if_equal PHONE_COOLTRAINERF_BETH, .Beth
+	if_equal PHONE_COOLTRAINERF_REENA, .Reena
+	if_equal PHONE_PICNICKER_LIZ, .Liz
+	if_equal PHONE_PICNICKER_GINA, .Gina
+	if_equal PHONE_LASS_DANA, .Dana
+	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
+	if_equal PHONE_PICNICKER_ERIN, .Erin
+
+.Beverly:
+	farwritetext UnknownText_0x1b4fa1
+	buttonsound
+	end
+
+.Beth:
+	farwritetext UnknownText_0x1b5472
+	buttonsound
+	end
+
+.Reena:
+	farwritetext UnknownText_0x1b5786
+	buttonsound
+	end
+
+.Liz:
+	farwritetext UnknownText_0x1b5e25
+	buttonsound
+	end
+
+.Gina:
+	farwritetext UnknownText_0x1b62f1
+	buttonsound
+	end
+
+.Dana:
+	farwritetext UnknownText_0x1b6738
+	buttonsound
+	end
+
+.Tiffany:
+	farwritetext UnknownText_0x1b6ef3
+	buttonsound
+	end
+
+.Erin:
+	farwritetext UnknownText_0x1b758f
+	buttonsound
+	end
+
+PhoneScript_GreetPhone_Female_Day:
+	checkcode VAR_CALLERID
+	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
+	if_equal PHONE_COOLTRAINERF_BETH, .Beth
+	if_equal PHONE_COOLTRAINERF_REENA, .Reena
+	if_equal PHONE_PICNICKER_LIZ, .Liz
+	if_equal PHONE_PICNICKER_GINA, .Gina
+	if_equal PHONE_LASS_DANA, .Dana
+	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
+	if_equal PHONE_PICNICKER_ERIN, .Erin
+
+.Beverly:
+	farwritetext UnknownText_0x1b4fda
+	buttonsound
+	end
+
+.Beth:
+	farwritetext UnknownText_0x1b54a6
+	buttonsound
+	end
+
+.Reena:
+	farwritetext UnknownText_0x1b57b7
+	buttonsound
+	end
+
+.Liz:
+	farwritetext UnknownText_0x1b5e59
+	buttonsound
+	end
+
+.Gina:
+	farwritetext UnknownText_0x1b630e
+	buttonsound
+	end
+
+.Dana:
+	farwritetext UnknownText_0x1b6757
+	buttonsound
+	end
+
+.Tiffany:
+	farwritetext UnknownText_0x1b6f1c
+	buttonsound
+	end
+
+.Erin:
+	farwritetext UnknownText_0x1b75ac
+	buttonsound
+	end
+
+PhoneScript_GreetPhone_Female_Nite:
+	checkcode VAR_CALLERID
+	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
+	if_equal PHONE_COOLTRAINERF_BETH, .Beth
+	if_equal PHONE_COOLTRAINERF_REENA, .Reena
+	if_equal PHONE_PICNICKER_LIZ, .Liz
+	if_equal PHONE_PICNICKER_GINA, .Gina
+	if_equal PHONE_LASS_DANA, .Dana
+	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
+	if_equal PHONE_PICNICKER_ERIN, .Erin
+
+.Beverly:
+	farwritetext UnknownText_0x1b5004
+	buttonsound
+	end
+
+.Beth:
+	farwritetext UnknownText_0x1b54d4
+	buttonsound
+	end
+
+.Reena:
+	farwritetext UnknownText_0x1b57e8
+	buttonsound
+	end
+
+.Liz:
+	farwritetext UnknownText_0x1b5e8e
+	buttonsound
+	end
+
+.Gina:
+	farwritetext UnknownText_0x1b6331
+	buttonsound
+	end
+
+.Dana:
+	farwritetext UnknownText_0x1b6776
+	buttonsound
+	end
+
+.Tiffany:
+	farwritetext UnknownText_0x1b6f37
+	buttonsound
+	end
+
+.Erin:
+	farwritetext UnknownText_0x1b75c9
+	buttonsound
+	end
+
+PhoneScript_Generic_Male:
+	checkcode VAR_CALLERID
+	if_equal PHONE_SCHOOLBOY_JACK, .Jack
+	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
+	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
+	if_equal PHONE_YOUNGSTER_JOEY, .Joey
+	if_equal PHONE_BUG_CATCHER_WADE, .Wade
+	if_equal PHONE_FISHER_RALPH, .Ralph
+	if_equal PHONE_HIKER_ANTHONY, .Anthony
+	if_equal PHONE_CAMPER_TODD, .Todd
+	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
+	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
+	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
+	if_equal PHONE_POKEFANM_DEREK, .Derek
+	if_equal PHONE_FISHER_TULLY, .Tully
+	if_equal PHONE_POKEMANIAC_BRENT, .Brent
+	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
+	if_equal PHONE_FISHER_WILTON, .Wilton
+	if_equal PHONE_HIKER_PARRY, .Parry
+
+.Jack:
+	farwritetext UnknownText_0x1b4ecd
+	buttonsound
+	end
+
+.Unknown:
+	farwritetext UnknownText_0x1b518b
+	buttonsound
+	end
+
+.Gaven:
+	farwritetext UnknownText_0x1b5393
+	buttonsound
+	end
+
+.Jose:
+	farwritetext UnknownText_0x1b5694
+	buttonsound
+	end
+
+.Joey:
+	farwritetext UnknownText_0x1b59b2
+	buttonsound
+	end
+
+.Wade:
+	farwritetext UnknownText_0x1b5b68
+	buttonsound
+	end
+
+.Ralph:
+	farwritetext UnknownText_0x1b5d51
+	buttonsound
+	end
+
+.Anthony:
+	farwritetext UnknownText_0x1b606f
+	buttonsound
+	end
+
+.Todd:
+	farwritetext UnknownText_0x1b61f2
+	buttonsound
+	end
+
+.Arnie:
+	farwritetext UnknownText_0x1b656c
+	buttonsound
+	end
+
+.Alan:
+	farwritetext UnknownText_0x1b6652
+	buttonsound
+	end
+
+.Chad:
+	farwritetext UnknownText_0x1b68e8
+	buttonsound
+	end
+
+.Derek:
+	farwritetext UnknownText_0x1b6ac2
+	buttonsound
+	end
+
+.Tully:
+	farwritetext UnknownText_0x1b6c56
+	buttonsound
+	end
+
+.Brent:
+	farwritetext UnknownText_0x1b6db9
+	buttonsound
+	end
+
+.Vance:
+	farwritetext UnknownText_0x1b7161
+	buttonsound
+	end
+
+.Wilton:
+	farwritetext UnknownText_0x1b72d0
+	buttonsound
+	end
+
+.Parry:
+	farwritetext UnknownText_0x1b74c8
+	buttonsound
+	end
+
+PhoneScript_Generic_Female:
+	checkcode VAR_CALLERID
+	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
+	if_equal PHONE_COOLTRAINERF_BETH, .Beth
+	if_equal PHONE_COOLTRAINERF_REENA, .Reena
+	if_equal PHONE_PICNICKER_LIZ, .Liz
+	if_equal PHONE_PICNICKER_GINA, .Gina
+	if_equal PHONE_LASS_DANA, .Dana
+	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
+	if_equal PHONE_PICNICKER_ERIN, .Erin
+
+.Beverly:
+	farwritetext UnknownText_0x1b502b
+	buttonsound
+	end
+
+.Beth:
+	farwritetext UnknownText_0x1b5510
+	buttonsound
+	end
+
+.Reena:
+	farwritetext UnknownText_0x1b5819
+	buttonsound
+	end
+
+.Liz:
+	farwritetext UnknownText_0x1b5ebe
+	buttonsound
+	end
+
+.Gina:
+	farwritetext UnknownText_0x1b6352
+	buttonsound
+	end
+
+.Dana:
+	farwritetext UnknownText_0x1b6795
+	buttonsound
+	end
+
+.Tiffany:
+	farwritetext UnknownText_0x1b6f60
+	buttonsound
+	end
+
+.Erin:
+	farwritetext UnknownText_0x1b75e5
+	buttonsound
+	end
+
+PhoneScript_MonFlavorText:
+	special RandomPhoneMon
+	farscall PhoneScript_Random2
+	if_equal $0, .TooEnergetic
+	farwritetext UnknownText_0x1b518b
+	buttonsound
+	farjump PhoneScript_HangupText_Male
+
+.TooEnergetic:
+	farjump .unnecessary
+
+.unnecessary
+	farwritetext UnknownText_0x1b522b
+	buttonsound
+	farjump PhoneScript_HangupText_Male
+; be643
+
+
+GrandmaString: db "Grandma@"
+GrandpaString: db "Grandpa@"
+MomString: db "Mom@"
+DadString: db "Dad@"
+SisterString: db "Sister@"
+BrotherString: db "Brother@"
+
--- /dev/null
+++ b/engine/phone/phone.asm
@@ -1,0 +1,800 @@
+AddPhoneNumber:: ; 90000
+	call _CheckCellNum
+	jr c, .cant_add
+	call Phone_FindOpenSlot
+	jr nc, .cant_add
+	ld [hl], c
+	xor a
+	ret
+
+.cant_add
+	scf
+	ret
+; 9000f
+
+
+DelCellNum:: ; 9000f
+	call _CheckCellNum
+	jr nc, .not_in_list
+	xor a
+	ld [hl], a
+	ret
+
+.not_in_list
+	scf
+	ret
+; 90019
+
+CheckCellNum:: ; 90019
+	jp _CheckCellNum ; wtf
+; 9001c
+
+_CheckCellNum: ; 9001c
+	ld hl, wPhoneList
+	ld b, CONTACT_LIST_SIZE
+.loop
+	ld a, [hli]
+	cp c
+	jr z, .got_it
+	dec b
+	jr nz, .loop
+	xor a
+	ret
+
+.got_it
+	dec hl
+	scf
+	ret
+; 9002d
+
+Phone_FindOpenSlot: ; 9002d
+	call GetRemainingSpaceInPhoneList
+	ld b, a
+	ld hl, wPhoneList
+.loop
+	ld a, [hli]
+	and a
+	jr z, .FoundOpenSpace
+	dec b
+	jr nz, .loop
+	xor a
+	ret
+
+.FoundOpenSpace:
+	dec hl
+	scf
+	ret
+; 90040
+
+GetRemainingSpaceInPhoneList: ; 90040
+	xor a
+	ld [Buffer1], a
+	ld hl, PermanentNumbers
+.loop
+	ld a, [hli]
+	cp -1
+	jr z, .done
+	cp c
+	jr z, .elm_or_mom
+	push bc
+	push hl
+	ld c, a
+	call _CheckCellNum
+	jr c, .elm_or_mom_in_list
+	ld hl, Buffer1
+	inc [hl]
+
+.elm_or_mom_in_list
+	pop hl
+	pop bc
+
+.elm_or_mom
+	jr .loop
+
+.done
+	ld a, CONTACT_LIST_SIZE
+	ld hl, Buffer1
+	sub [hl]
+	ret
+; 90066
+
+PermanentNumbers: ; 90066
+	db PHONECONTACT_MOM, PHONECONTACT_ELM, -1
+; 90069
+
+
+FarPlaceString: ; 90069
+	ld a, [hROMBank]
+	push af
+	ld a, b
+	rst Bankswitch
+
+	call PlaceString
+
+	pop af
+	rst Bankswitch
+	ret
+; 90074
+
+
+CheckPhoneCall:: ; 90074 (24:4074)
+; Check if the phone is ringing in the overworld.
+
+	call CheckStandingOnEntrance
+	jr z, .no_call
+
+	call .timecheck
+	nop
+	jr nc, .no_call
+
+	call Random
+	ld b, a
+	and 50 percent
+	cp b
+	jr nz, .no_call
+
+	call GetMapHeaderPhoneServiceNybble
+	and a
+	jr nz, .no_call
+
+	call GetAvailableCallers
+	call ChooseRandomCaller
+	jr nc, .no_call
+
+	ld e, a
+	call LoadCallerScript
+	ld a, BANK(Script_ReceivePhoneCall)
+	ld hl, Script_ReceivePhoneCall
+	call CallScript
+	scf
+	ret
+
+.no_call
+	xor a
+	ret
+
+.timecheck ; 900a6 (24:40a6)
+	callba CheckReceiveCallTimer
+	ret
+
+CheckPhoneContactTimeOfDay: ; 900ad (24:40ad)
+	push hl
+	push bc
+	push de
+	push af
+
+	callba CheckTime
+	pop af
+	and MORN | DAY | NITE
+	and c
+
+	pop de
+	pop bc
+	pop hl
+	ret
+
+ChooseRandomCaller: ; 900bf (24:40bf)
+; If no one is available to call, don't return anything.
+	ld a, [EngineBuffer3]
+	and a
+	jr z, .NothingToSample
+
+; Sample a random number between 0 and 31.
+	ld c, a
+	call Random
+	ld a, [hRandomAdd]
+	swap a
+	and $1f
+; Compute that number modulo the number of available callers.
+	call SimpleDivide
+; Return the caller ID you just sampled.
+	ld c, a
+	ld b, 0
+	ld hl, EngineBuffer4
+	add hl, bc
+	ld a, [hl]
+	scf
+	ret
+
+.NothingToSample:
+	xor a
+	ret
+
+GetAvailableCallers: ; 900de (24:40de)
+	callba CheckTime
+	ld a, c
+	ld [EngineBuffer1], a
+	ld hl, EngineBuffer3
+	ld bc, 11
+	xor a
+	call ByteFill
+	ld de, wPhoneList
+	ld a, CONTACT_LIST_SIZE
+
+.loop
+	ld [EngineBuffer2], a
+	ld a, [de]
+	and a
+	jr z, .not_good_for_call
+	ld hl, PhoneContacts + PHONE_CONTACT_SCRIPT2_TIME
+	ld bc, PHONE_TABLE_WIDTH
+	call AddNTimes
+	ld a, [EngineBuffer1]
+	and [hl]
+	jr z, .not_good_for_call
+	ld bc, PHONE_CONTACT_MAP_GROUP - PHONE_CONTACT_SCRIPT2_TIME
+	add hl, bc
+	ld a, [MapGroup]
+	cp [hl]
+	jr nz, .different_map
+	inc hl
+	ld a, [MapNumber]
+	cp [hl]
+	jr z, .not_good_for_call
+.different_map
+	ld a, [EngineBuffer3]
+	ld c, a
+	ld b, $0
+	inc a
+	ld [EngineBuffer3], a
+	ld hl, EngineBuffer4
+	add hl, bc
+	ld a, [de]
+	ld [hl], a
+.not_good_for_call
+	inc de
+	ld a, [EngineBuffer2]
+	dec a
+	jr nz, .loop
+	ret
+
+CheckSpecialPhoneCall:: ; 90136 (24:4136)
+	ld a, [wSpecialPhoneCallID]
+	and a
+	jr z, .NoPhoneCall
+
+	dec a
+	ld c, a
+	ld b, 0
+	ld hl, SpecialPhoneCallList
+	ld a, 6
+	call AddNTimes
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	call _hl_
+	jr nc, .NoPhoneCall
+
+	call .DoSpecialPhoneCall
+	inc hl
+	inc hl
+	ld a, [hli]
+	ld e, a
+	push hl
+	call LoadCallerScript
+	pop hl
+	ld de, wPhoneScriptPointer
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hli]
+	ld [de], a
+	ld a, BANK(.script)
+	ld hl, .script
+	call CallScript
+	scf
+	ret
+.NoPhoneCall:
+	xor a
+	ret
+; 90173 (24:4173)
+
+.script ; 0x90173
+	pause 30
+	jump Script_ReceivePhoneCall
+; 0x90178
+
+.DoSpecialPhoneCall: ; 90178 (24:4178)
+	ld a, [wSpecialPhoneCallID]
+	dec a
+	ld c, a
+	ld b, 0
+	ld hl, SpecialPhoneCallList
+	ld a, 6
+	call AddNTimes
+	ret
+
+SpecialCallOnlyWhenOutside: ; 90188
+	ld a, [wPermission]
+	cp TOWN
+	jr z, .outside
+	cp ROUTE
+	jr z, .outside
+	xor a
+	ret
+
+.outside
+	scf
+	ret
+
+SpecialCallWhereverYouAre: ; 90197
+	scf
+	ret
+
+Function90199: ; 90199 (24:4199)
+	; Don't do the call if you're in a link communication
+	ld a, [wLinkMode]
+	and a
+	jr nz, .OutOfArea
+	; If you're in an area without phone service, don't do the call
+	call GetMapHeaderPhoneServiceNybble
+	and a
+	jr nz, .OutOfArea
+	; If the person can't take a call at that time, don't do the call
+	ld a, b
+	ld [wCurrentCaller], a
+	ld hl, PhoneContacts
+	ld bc, PHONE_TABLE_WIDTH
+	call AddNTimes
+	ld d, h
+	ld e, l
+	ld hl, PHONE_CONTACT_SCRIPT1_TIME
+	add hl, de
+	ld a, [hl]
+	call CheckPhoneContactTimeOfDay
+	jr z, .OutOfArea
+	; If we're in the same map as the person we're calling,
+	; use the "Just talk to that person" script.
+	ld hl, PHONE_CONTACT_MAP_GROUP
+	add hl, de
+	ld a, [MapGroup]
+	cp [hl]
+	jr nz, .GetPhoneScript
+	ld hl, PHONE_CONTACT_MAP_NUMBER
+	add hl, de
+	ld a, [MapNumber]
+	cp [hl]
+	jr nz, .GetPhoneScript
+	ld b, BANK(PhoneScript_JustTalkToThem)
+	ld hl, PhoneScript_JustTalkToThem
+	jr .DoPhoneCall
+
+.GetPhoneScript:
+	ld hl, PHONE_CONTACT_SCRIPT1_BANK
+	add hl, de
+	ld b, [hl]
+	ld hl, PHONE_CONTACT_SCRIPT1_ADDR_LO
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jr .DoPhoneCall
+
+.OutOfArea:
+	ld b, BANK(UnknownScript_0x90209)
+	ld de, UnknownScript_0x90209
+	call ExecuteCallbackScript
+	ret
+
+.DoPhoneCall:
+	ld a, b
+	ld [PhoneScriptBank], a
+	ld a, l
+	ld [PhoneCaller], a
+	ld a, h
+	ld [PhoneCaller + 1], a
+	ld b, BANK(UnknownScript_0x90205)
+	ld de, UnknownScript_0x90205
+	call ExecuteCallbackScript
+	ret
+; 90205 (24:4205)
+
+UnknownScript_0x90205: ; 0x90205
+	ptcall wd002
+	return
+; 0x90209
+
+UnknownScript_0x90209: ; 0x90209
+	scall UnknownScript_0x90657
+	return
+; 0x9020d
+
+LoadCallerScript: ; 9020d (24:420d)
+	nop
+	nop
+	ld a, e
+	ld [wCurrentCaller], a
+	and a
+	jr nz, .actualcaller
+	ld a, BANK(WrongNumber)
+	ld hl, WrongNumber
+	jr .proceed
+
+.actualcaller
+	ld hl, PhoneContacts
+	ld bc, 12
+	ld a, e
+	call AddNTimes
+	ld a, BANK(PhoneContacts)
+.proceed
+	ld de, EngineBuffer2
+	ld bc, 12
+	call FarCopyBytes
+	ret
+; 90233 (24:4233)
+
+WrongNumber: ; 90233
+	db TRAINER_NONE, PHONE_00
+	dba .script
+.script
+	writetext .text
+	end
+.text
+	; Huh? Sorry, wrong number!
+	text_jump UnknownText_0x1c5565
+	db "@"
+; 90241
+
+Script_ReceivePhoneCall: ; 0x90241
+	refreshscreen $0
+	callasm RingTwice_StartCall
+	ptcall wPhoneScriptPointer
+	waitbutton
+	callasm HangUp
+	closetext
+	callasm InitCallReceiveDelay
+	end
+; 0x90255
+
+Script_SpecialBillCall:: ; 0x90255
+	callasm .LoadBillScript
+	jump Script_ReceivePhoneCall
+
+.LoadBillScript:
+	ld e, PHONE_BILL
+	jp LoadCallerScript
+; 90261
+
+UnknownScript_0x90261: ; 0x90261
+	callasm .LoadElmScript
+	pause 30
+	jump Script_ReceivePhoneCall
+
+.LoadElmScript:
+	ld e, PHONE_ELM
+	jp LoadCallerScript
+; 9026f
+
+RingTwice_StartCall: ; 9026f
+	call .Ring
+	call .Ring
+	callba TrainerRankings_PhoneCalls
+	ret
+; 9027c
+
+.Ring: ; 9027c (24:427c)
+	call Phone_StartRinging
+	call Phone_Wait20Frames
+	call Phone_CallerTextboxWithName
+	call Phone_Wait20Frames
+	call Phone_CallerTextbox
+	call Phone_Wait20Frames
+	call Phone_CallerTextboxWithName
+	ret
+
+Phone_CallerTextboxWithName: ; 90292 (24:4292)
+	ld a, [wCurrentCaller]
+	ld b, a
+	call Function90363
+	ret
+
+PhoneCall:: ; 9029a
+	ld a, b
+	ld [PhoneScriptBank], a
+	ld a, e
+	ld [PhoneCaller], a
+	ld a, d
+	ld [PhoneCaller + 1], a
+	call Phone_FirstOfTwoRings
+	call Phone_FirstOfTwoRings
+	callba TrainerRankings_PhoneCalls
+	ret
+; 902b3
+
+Phone_FirstOfTwoRings: ; 902b3
+	call Phone_StartRinging
+	call Phone_Wait20Frames
+	call Phone_CallerTextboxWithName2
+	call Phone_Wait20Frames
+	call Phone_CallerTextbox
+	call Phone_Wait20Frames
+	call Phone_CallerTextboxWithName2
+	ret
+; 902c9
+
+Phone_CallerTextboxWithName2: ; 902c9
+	call Phone_CallerTextbox
+	hlcoord 1, 2
+	ld [hl], "<PHONE>"
+	inc hl
+	inc hl
+	ld a, [PhoneScriptBank]
+	ld b, a
+	ld a, [PhoneCaller]
+	ld e, a
+	ld a, [PhoneCaller + 1]
+	ld d, a
+	call FarPlaceString
+	ret
+; 902e3
+
+
+Phone_NoSignal: ; 902e3 (24:42e3)
+	ld de, SFX_NO_SIGNAL
+	call PlaySFX
+	jr Phone_CallEnd
+
+HangUp:: ; 902eb
+	call HangUp_Beep
+	call HangUp_Wait20Frames
+Phone_CallEnd:
+	call HangUp_BoopOn
+	call HangUp_Wait20Frames
+	call HangUp_BoopOff
+	call HangUp_Wait20Frames
+	call HangUp_BoopOn
+	call HangUp_Wait20Frames
+	call HangUp_BoopOff
+	call HangUp_Wait20Frames
+	call HangUp_BoopOn
+	call HangUp_Wait20Frames
+	call HangUp_BoopOff
+	call HangUp_Wait20Frames
+	ret
+; 90316
+
+Function90316: ; 90316
+	ld de, SFX_SHUT_DOWN_PC
+	call PlaySFX
+	ret
+; 9031d
+
+HangUp_Beep: ; 9031d
+	ld hl, UnknownText_0x9032a
+	call PrintText
+	ld de, SFX_HANG_UP
+	call PlaySFX
+	ret
+; 9032a
+
+UnknownText_0x9032a: ; 9032a
+	text_jump UnknownText_0x1c5580
+	db "@"
+; 9032f
+
+
+HangUp_BoopOn: ; 9032f
+	ld hl, UnknownText_0x90336
+	call PrintText
+	ret
+; 90336
+
+UnknownText_0x90336: ; 0x90336
+	text_jump UnknownText_0x1c5588
+	db "@"
+; 0x9033b
+
+
+HangUp_BoopOff: ; 9033b
+	call SpeechTextBox
+	ret
+; 9033f
+
+Phone_StartRinging: ; 9033f
+	call WaitSFX
+	ld de, SFX_CALL
+	call PlaySFX
+	call Phone_CallerTextbox
+	call UpdateSprites
+	callba PhoneRing_LoadEDTile
+	ret
+; 90355
+
+HangUp_Wait20Frames: ; 90355
+	jr Phone_Wait20Frames
+
+Phone_Wait20Frames
+	ld c, 20
+	call DelayFrames
+	callba PhoneRing_LoadEDTile
+	ret
+; 90363
+
+
+Function90363: ; 90363 (24:4363)
+	push bc
+	call Phone_CallerTextbox
+	hlcoord 1, 1
+	ld [hl], "<PHONE>"
+	inc hl
+	inc hl
+	ld d, h
+	ld e, l
+	pop bc
+	call Function90380
+	ret
+
+
+Phone_CallerTextbox: ; 90375
+	hlcoord 0, 0
+	ld b, 2
+	ld c, SCREEN_WIDTH - 2
+	call TextBox
+	ret
+; 90380
+
+
+Function90380: ; 90380 (24:4380)
+	ld h, d
+	ld l, e
+	ld a, b
+	call GetCallerTrainerClass
+	call GetCallerName
+	ret
+
+CheckCanDeletePhoneNumber: ; 9038a (24:438a)
+	ld a, c
+	call GetCallerTrainerClass
+	ld a, c
+	; and a
+	ret nz
+	ld a, b
+	cp PHONECONTACT_MOM
+	ret z
+	cp PHONECONTACT_ELM
+	ret z
+	ld c, $1
+	ret
+
+GetCallerTrainerClass: ; 9039a
+	push hl
+	ld hl, PhoneContacts + PHONE_CONTACT_TRAINER_CLASS
+	ld bc, PHONE_TABLE_WIDTH
+	call AddNTimes
+	ld a, [hli]
+	ld b, [hl]
+	ld c, a
+	pop hl
+	ret
+; 903a9
+
+
+GetCallerName: ; 903a9 (24:43a9)
+	ld a, c
+	and a
+	jr z, .NotTrainer
+
+	call Phone_GetTrainerName
+	push hl
+	push bc
+	call PlaceString
+	ld a, ":"
+	ld [bc], a
+	pop bc
+	pop hl
+	ld de, SCREEN_WIDTH + 3
+	add hl, de
+	call Phone_GetTrainerClassName
+	call PlaceString
+	ret
+
+.NotTrainer:
+	push hl
+	ld c, b
+	ld b, 0
+	ld hl, NonTrainerCallerNames
+	add hl, bc
+	add hl, bc
+	ld a, [hli]
+	ld e, a
+	ld d, [hl]
+	pop hl
+	call PlaceString
+	ret
+; 903d6 (24:43d6)
+
+NonTrainerCallerNames: ; 903d6
+	dw .none
+	dw .mom
+	dw .bikeshop
+	dw .bill
+	dw .elm
+	dw .buena
+
+.none db "----------@"
+.mom db "MOM:@"
+.bill db "BILL:@"
+.elm db "PROF.ELM:@"
+.bikeshop db "BIKE SHOP:@"
+.buena db "BUENA:", $22, "   DISC JOCKEY@"
+; 90423
+
+Phone_GetTrainerName: ; 90423 (24:4423)
+	push hl
+	push bc
+	callba GetTrainerName
+	pop bc
+	pop hl
+	ret
+
+Phone_GetTrainerClassName: ; 9042e (24:442e)
+	push hl
+	push bc
+	callba GetTrainerClassName
+	pop bc
+	pop hl
+	ret
+
+GetCallerLocation: ; 90439
+	ld a, [wCurrentCaller]
+	call GetCallerTrainerClass
+	ld d, c
+	ld e, b
+	push de
+	ld a, [wCurrentCaller]
+	ld hl, PhoneContacts + PHONE_CONTACT_MAP_GROUP
+	ld bc, PHONE_TABLE_WIDTH
+	call AddNTimes
+	ld b, [hl]
+	inc hl
+	ld c, [hl]
+	push bc
+	call GetWorldMapLocation
+	ld e, a
+	callba GetLandmarkName
+	pop bc
+	pop de
+	ret
+; 9045f
+
+
+INCLUDE "data/phone_contacts.asm"
+
+INCLUDE "data/phone_special.asm"
+
+
+UnknownScript_0x90657: ; 0x90657
+	writetext UnknownText_0x9065b
+	end
+; 0x9065b
+
+UnknownText_0x9065b: ; 0x9065b
+	; That number is out of the area.
+	text_jump UnknownText_0x1c558b
+	db "@"
+; 0x90660
+
+PhoneScript_JustTalkToThem: ; 0x90660
+	writetext UnknownText_0x90664
+	end
+; 0x90664
+
+UnknownText_0x90664: ; 0x90664
+	; Just go talk to that person!
+	text_jump UnknownText_0x1c55ac
+	db "@"
+; 0x90669
+
+UnknownScript_0x90669: ; 0x90669
+	writetext UnknownText_0x9066d
+	end
+; 0x9066d
+
+UnknownText_0x9066d: ; 0x9066d
+	; Thank you!
+	text_jump UnknownText_0x1c55ca
+	db "@"
+; 0x90672
--- /dev/null
+++ b/engine/phone/phone_callers.asm
@@ -1,0 +1,961 @@
+Phone_GenericCall_Male:
+	special RandomPhoneMon
+	farscall PhoneScript_Random2
+	if_equal 0, .Bragging
+	farscall PhoneScript_Generic_Male
+	farjump Phone_FoundAMon_Male
+
+.Bragging:
+	farjump Phone_BraggingCall_Male
+
+Phone_GenericCall_Female:
+	special RandomPhoneMon
+	farscall PhoneScript_Random2
+	if_equal 0, .Bragging
+	farscall PhoneScript_Generic_Female
+	farjump Phone_FoundAMon_Female
+
+.Bragging:
+	farjump Phone_BraggingCall_Female
+
+Phone_BraggingCall_Male:
+	farscall Phone_WhosBragging_Male
+	farjump Phone_FoundAMon_Male
+
+Phone_BraggingCall_Female:
+	farscall Phone_WhosBragging_Female
+	farjump Phone_FoundAMon_Female
+
+Phone_FoundAMon_Male:
+	special RandomPhoneWildMon
+	farscall PhoneScript_Random2
+	if_equal 0, .GotAway
+	farscall Phone_WhoDefeatedMon_Male
+	farjump PhoneScript_HangupText_Male
+
+.GotAway:
+	farjump Phone_GotAwayCall_Male
+
+Phone_FoundAMon_Female:
+	special RandomPhoneWildMon
+	farscall PhoneScript_Random2
+	if_equal 0, .GotAway
+	farscall Phone_WhoDefeatedMon_Female
+	farjump PhoneScript_HangupText_Female
+
+.GotAway:
+	farjump Phone_GotAwayCall_Female
+
+Phone_GotAwayCall_Male:
+	farscall Phone_WhoLostAMon_Male
+	farjump PhoneScript_HangupText_Male
+
+Phone_GotAwayCall_Female:
+	farscall Phone_WhoLostAMon_Female
+	farjump PhoneScript_HangupText_Female
+
+Phone_WhosBragging_Male:
+	checkcode VAR_CALLERID
+	if_equal PHONE_SCHOOLBOY_JACK, .Jack
+	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
+	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
+	if_equal PHONE_YOUNGSTER_JOEY, .Joey
+	if_equal PHONE_BUG_CATCHER_WADE, .Wade
+	if_equal PHONE_FISHER_RALPH, .Ralph
+	if_equal PHONE_HIKER_ANTHONY, .Anthony
+	if_equal PHONE_CAMPER_TODD, .Todd
+	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
+	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
+	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
+	if_equal PHONE_POKEFANM_DEREK, .Derek
+	if_equal PHONE_FISHER_TULLY, .Tully
+	if_equal PHONE_POKEMANIAC_BRENT, .Brent
+	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
+	if_equal PHONE_FISHER_WILTON, .Wilton
+	if_equal PHONE_HIKER_PARRY, .Parry
+
+.Jack:
+	farwritetext JackIntelligenceText
+	buttonsound
+	end
+
+.Gaven:
+	farwritetext GavenGreaterText
+	buttonsound
+	end
+
+.Jose:
+	farwritetext JoseAromaText
+	buttonsound
+	end
+
+.Joey:
+	farwritetext JoeySharperText
+	buttonsound
+	end
+
+.Wade:
+	farwritetext WadeAreYouGrowingText
+	buttonsound
+	end
+
+.Ralph:
+	farwritetext RalphNeglectingKidsText
+	buttonsound
+	end
+
+.Anthony:
+	farwritetext AnthonyAteBerriesText
+	buttonsound
+	end
+
+.Todd:
+	farwritetext ToddLooksCuteLikeMeText
+	buttonsound
+	end
+
+.Arnie:
+	farwritetext ArnieLovesTheCuteText
+	buttonsound
+	end
+
+.Alan:
+	farwritetext AlanGettingStrongerText
+	buttonsound
+	end
+
+.Chad:
+	farwritetext ChadObservingWildText
+	buttonsound
+	end
+
+.Derek:
+	farwritetext DerekCheekPincherText
+	buttonsound
+	end
+
+.Tully:
+	farwritetext TullyGrownText
+	buttonsound
+	end
+
+.Brent:
+	farwritetext BrentRareTradeText
+	buttonsound
+	end
+
+.Vance:
+	farwritetext VanceLiftoffText
+	buttonsound
+	end
+
+.Wilton:
+	farwritetext WiltonGrownText
+	buttonsound
+	end
+
+.Parry:
+	farwritetext ParryNoMatchText
+	buttonsound
+	end
+
+Phone_WhosBragging_Female:
+	checkcode VAR_CALLERID
+	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
+	if_equal PHONE_COOLTRAINERF_BETH, .Beth
+	if_equal PHONE_COOLTRAINERF_REENA, .Reena
+	if_equal PHONE_PICNICKER_LIZ, .Liz
+	if_equal PHONE_PICNICKER_GINA, .Gina
+	if_equal PHONE_LASS_DANA, .Dana
+	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
+	if_equal PHONE_PICNICKER_ERIN, .Erin
+
+.Beverly:
+	farwritetext UnknownText_0x174688
+	buttonsound
+	end
+
+.Beth:
+	farwritetext UnknownText_0x174c7f
+	buttonsound
+	end
+
+.Reena:
+	farwritetext UnknownText_0x1752f5
+	buttonsound
+	end
+
+.Liz:
+	farwritetext UnknownText_0x175fda
+	buttonsound
+	end
+
+.Gina:
+	farwritetext UnknownText_0x1771fd
+	buttonsound
+	end
+
+.Dana:
+	farwritetext UnknownText_0x64f74
+	buttonsound
+	end
+
+.Tiffany:
+	farwritetext UnknownText_0x665ad
+	buttonsound
+	end
+
+.Erin:
+	farwritetext UnknownText_0x6717a
+	buttonsound
+	end
+
+Phone_WhoDefeatedMon_Male:
+	checkcode VAR_CALLERID
+	if_equal PHONE_SCHOOLBOY_JACK, .Jack
+	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
+	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
+	if_equal PHONE_YOUNGSTER_JOEY, .Joey
+	if_equal PHONE_BUG_CATCHER_WADE, .Wade
+	if_equal PHONE_FISHER_RALPH, .Ralph
+	if_equal PHONE_HIKER_ANTHONY, .Anthony
+	if_equal PHONE_CAMPER_TODD, .Todd
+	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
+	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
+	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
+	if_equal PHONE_POKEFANM_DEREK, .Derek
+	if_equal PHONE_FISHER_TULLY, .Tully
+	if_equal PHONE_POKEMANIAC_BRENT, .Brent
+	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
+	if_equal PHONE_FISHER_WILTON, .Wilton
+	if_equal PHONE_HIKER_PARRY, .Parry
+
+.Jack:
+	farwritetext JackDefeatedMonText
+	buttonsound
+	end
+
+.Gaven:
+	farwritetext UnknownText_0x174a80
+	buttonsound
+	end
+
+.Jose:
+	farwritetext UnknownText_0x174f90
+	buttonsound
+	end
+
+.Joey:
+	farwritetext UnknownText_0x175591
+	buttonsound
+	end
+
+.Wade:
+	farwritetext UnknownText_0x175869
+	buttonsound
+	end
+
+.Ralph:
+	farwritetext UnknownText_0x175c24
+	buttonsound
+	end
+
+.Anthony:
+	farwritetext UnknownText_0x176aef
+	buttonsound
+	end
+
+.Todd:
+	farwritetext UnknownText_0x176e9c
+	buttonsound
+	end
+
+.Arnie:
+	farwritetext UnknownText_0x64a13
+	buttonsound
+	end
+
+.Alan:
+	farwritetext UnknownText_0x64cf3
+	buttonsound
+	end
+
+.Chad:
+	farwritetext UnknownText_0x65318
+	buttonsound
+	end
+
+.Derek:
+	farwritetext UnknownText_0x65b29
+	buttonsound
+	end
+
+.Tully:
+	farwritetext UnknownText_0x65e42
+	buttonsound
+	end
+
+.Brent:
+	farwritetext UnknownText_0x6613c
+	buttonsound
+	end
+
+.Vance:
+	farwritetext UnknownText_0x669b2
+	buttonsound
+	end
+
+.Wilton:
+	farwritetext UnknownText_0x66b3e
+	buttonsound
+	end
+
+.Parry:
+	farwritetext UnknownText_0x66fc0
+	buttonsound
+	end
+
+Phone_WhoDefeatedMon_Female:
+	checkcode VAR_CALLERID
+	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
+	if_equal PHONE_COOLTRAINERF_BETH, .Beth
+	if_equal PHONE_COOLTRAINERF_REENA, .Reena
+	if_equal PHONE_PICNICKER_LIZ, .Liz
+	if_equal PHONE_PICNICKER_GINA, .Gina
+	if_equal PHONE_LASS_DANA, .Dana
+	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
+	if_equal PHONE_PICNICKER_ERIN, .Erin
+
+.Beverly:
+	farwritetext UnknownText_0x1746c3
+	buttonsound
+	end
+
+.Beth:
+	farwritetext UnknownText_0x174cf6
+	buttonsound
+	end
+
+.Reena:
+	farwritetext UnknownText_0x17536b
+	buttonsound
+	end
+
+.Liz:
+	farwritetext UnknownText_0x17602d
+	buttonsound
+	end
+
+.Gina:
+	farwritetext UnknownText_0x177237
+	buttonsound
+	end
+
+.Dana:
+	farwritetext UnknownText_0x64fb2
+	buttonsound
+	end
+
+.Tiffany:
+	farwritetext UnknownText_0x66605
+	buttonsound
+	end
+
+.Erin:
+	farwritetext UnknownText_0x671a4
+	buttonsound
+	end
+
+Phone_WhoLostAMon_Male:
+	checkcode VAR_CALLERID
+	if_equal PHONE_SCHOOLBOY_JACK, .Jack
+	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
+	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
+	if_equal PHONE_YOUNGSTER_JOEY, .Joey
+	if_equal PHONE_BUG_CATCHER_WADE, .Wade
+	if_equal PHONE_FISHER_RALPH, .Ralph
+	if_equal PHONE_HIKER_ANTHONY, .Anthony
+	if_equal PHONE_CAMPER_TODD, .Todd
+	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
+	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
+	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
+	if_equal PHONE_POKEFANM_DEREK, .Derek
+	if_equal PHONE_FISHER_TULLY, .Tully
+	if_equal PHONE_POKEMANIAC_BRENT, .Brent
+	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
+	if_equal PHONE_FISHER_WILTON, .Wilton
+	if_equal PHONE_HIKER_PARRY, .Parry
+
+.Jack:
+	farwritetext UnknownText_0x174165
+	buttonsound
+	end
+
+.Gaven:
+	farwritetext UnknownText_0x174b2d
+	buttonsound
+	end
+
+.Jose:
+	farwritetext UnknownText_0x174ffd
+	buttonsound
+	end
+
+.Joey:
+	farwritetext UnknownText_0x175611
+	buttonsound
+	end
+
+.Wade:
+	farwritetext UnknownText_0x1758e4
+	buttonsound
+	end
+
+.Ralph:
+	farwritetext UnknownText_0x175c9f
+	buttonsound
+	end
+
+.Anthony:
+	farwritetext UnknownText_0x176b45
+	buttonsound
+	end
+
+.Todd:
+	farwritetext UnknownText_0x176eee
+	buttonsound
+	end
+
+.Arnie:
+	farwritetext UnknownText_0x64a71
+	buttonsound
+	end
+
+.Alan:
+	farwritetext UnknownText_0x64d4f
+	buttonsound
+	end
+
+.Chad:
+	farwritetext UnknownText_0x65399
+	buttonsound
+	end
+
+.Derek:
+	farwritetext UnknownText_0x65bc8
+	buttonsound
+	end
+
+.Tully:
+	farwritetext UnknownText_0x65eac
+	buttonsound
+	end
+
+.Brent:
+	farwritetext UnknownText_0x6618c
+	buttonsound
+	end
+
+.Vance:
+	farwritetext UnknownText_0x669ed
+	buttonsound
+	end
+
+.Wilton:
+	farwritetext UnknownText_0x66b8f
+	buttonsound
+	end
+
+.Parry:
+	farwritetext UnknownText_0x67001
+	buttonsound
+	end
+
+Phone_WhoLostAMon_Female:
+	checkcode VAR_CALLERID
+	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
+	if_equal PHONE_COOLTRAINERF_BETH, .Beth
+	if_equal PHONE_COOLTRAINERF_REENA, .Reena
+	if_equal PHONE_PICNICKER_LIZ, .Liz
+	if_equal PHONE_PICNICKER_GINA, .Gina
+	if_equal PHONE_LASS_DANA, .Dana
+	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
+	if_equal PHONE_PICNICKER_ERIN, .Erin
+
+.Beverly:
+	farwritetext UnknownText_0x174734
+	buttonsound
+	end
+
+.Beth:
+	farwritetext UnknownText_0x174d86
+	buttonsound
+	end
+
+.Reena:
+	farwritetext UnknownText_0x1753c5
+	buttonsound
+	end
+
+.Liz:
+	farwritetext UnknownText_0x176095
+	buttonsound
+	end
+
+.Gina:
+	farwritetext UnknownText_0x177297
+	buttonsound
+	end
+
+.Dana:
+	farwritetext UnknownText_0x6501c
+	buttonsound
+	end
+
+.Tiffany:
+	farwritetext UnknownText_0x66688
+	buttonsound
+	end
+
+.Erin:
+	farwritetext UnknownText_0x671eb
+	buttonsound
+	end
+
+PhoneScript_WantsToBattle_Male:
+	farscall PhoneScript_RematchText_Male
+	farjump PhoneScript_HangupText_Male
+
+PhoneScript_WantsToBattle_Female:
+	farscall PhoneScript_RematchText_Female
+	farjump PhoneScript_HangupText_Female
+
+PhoneScript_RematchText_Male:
+	checkcode VAR_CALLERID
+	if_equal PHONE_SCHOOLBOY_JACK, .Jack
+	if_equal PHONE_SAILOR_HUEY, .Huey
+	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
+	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
+	if_equal PHONE_YOUNGSTER_JOEY, .Joey
+	if_equal PHONE_BUG_CATCHER_WADE, .Wade
+	if_equal PHONE_FISHER_RALPH, .Ralph
+	if_equal PHONE_HIKER_ANTHONY, .Anthony
+	if_equal PHONE_CAMPER_TODD, .Todd
+	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
+	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
+	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
+	if_equal PHONE_FISHER_TULLY, .Tully
+	if_equal PHONE_POKEMANIAC_BRENT, .Brent
+	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
+	if_equal PHONE_FISHER_WILTON, .Wilton
+	if_equal PHONE_HIKER_PARRY, .Parry
+
+.Jack:
+	farwritetext UnknownText_0x1741e1
+	buttonsound
+	end
+
+.Huey:
+	farwritetext UnknownText_0x1748ea
+	buttonsound
+	end
+
+.Gaven:
+	farwritetext UnknownText_0x174bc5
+	buttonsound
+	end
+
+.Jose:
+	farwritetext UnknownText_0x17507d
+	buttonsound
+	end
+
+.Joey:
+	farwritetext UnknownText_0x175693
+	buttonsound
+	end
+
+.Wade:
+	farwritetext UnknownText_0x175976
+	buttonsound
+	end
+
+.Ralph:
+	farwritetext UnknownText_0x175d40
+	buttonsound
+	end
+
+.Anthony:
+	farwritetext UnknownText_0x176bee
+	buttonsound
+	end
+
+.Todd:
+	farwritetext UnknownText_0x176f60
+	buttonsound
+	end
+
+.Arnie:
+	farwritetext UnknownText_0x64ada
+	buttonsound
+	end
+
+.Alan:
+	farwritetext UnknownText_0x64da4
+	buttonsound
+	end
+
+.Chad:
+	farwritetext UnknownText_0x65419
+	buttonsound
+	end
+
+.Tully:
+	farwritetext UnknownText_0x65f17
+	buttonsound
+	end
+
+.Brent:
+	farwritetext UnknownText_0x66214
+	buttonsound
+	end
+
+.Vance:
+	farwritetext UnknownText_0x66a3a
+	buttonsound
+	end
+
+.Wilton:
+	farwritetext UnknownText_0x66bf3
+	buttonsound
+	end
+
+.Parry:
+	farwritetext UnknownText_0x67096
+	buttonsound
+	end
+
+PhoneScript_RematchText_Female:
+	checkcode VAR_CALLERID
+	if_equal PHONE_COOLTRAINERF_BETH, .Beth
+	if_equal PHONE_COOLTRAINERF_REENA, .Reena
+	if_equal PHONE_PICNICKER_LIZ, .Liz
+	if_equal PHONE_PICNICKER_GINA, .Gina
+	if_equal PHONE_LASS_DANA, .Dana
+	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
+	if_equal PHONE_PICNICKER_ERIN, .Erin
+
+.Beth:
+	farwritetext UnknownText_0x174e4e
+	buttonsound
+	end
+
+.Reena:
+	farwritetext UnknownText_0x17543a
+	buttonsound
+	end
+
+.Liz:
+	farwritetext UnknownText_0x17610a
+	buttonsound
+	end
+
+.Gina:
+	farwritetext UnknownText_0x1772e2
+	buttonsound
+	end
+
+.Dana:
+	farwritetext UnknownText_0x65091
+	buttonsound
+	end
+
+.Tiffany:
+	farwritetext UnknownText_0x66730
+	buttonsound
+	end
+
+.Erin:
+	farwritetext UnknownText_0x6722e
+	buttonsound
+	end
+
+LizWrongNumberScript:
+	farwritetext LizHiTaniaText
+	end
+
+TiffanyItsAwful:
+	farwritetext TiffanyItsAwfulText
+	end
+
+PhoneScript_HangupText_Male:
+	checkcode VAR_CALLERID
+	if_equal PHONE_SCHOOLBOY_JACK, .Jack
+	if_equal PHONE_SAILOR_HUEY, .Huey
+	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
+	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
+	if_equal PHONE_YOUNGSTER_JOEY, .Joey
+	if_equal PHONE_BUG_CATCHER_WADE, .Wade
+	if_equal PHONE_FISHER_RALPH, .Ralph
+	if_equal PHONE_HIKER_ANTHONY, .Anthony
+	if_equal PHONE_CAMPER_TODD, .Todd
+	if_equal PHONE_JUGGLER_IRWIN, .Irwin
+	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
+	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
+	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
+	if_equal PHONE_POKEFANM_DEREK, .Derek
+	if_equal PHONE_FISHER_TULLY, .Tully
+	if_equal PHONE_POKEMANIAC_BRENT, .Brent
+	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
+	if_equal PHONE_FISHER_WILTON, .Wilton
+	if_equal PHONE_BLACKBELT_KENJI, .Kenji
+	if_equal PHONE_HIKER_PARRY, .Parry
+
+.Jack:
+	farwritetext UnknownText_0x174251
+	end
+
+.Huey:
+	farwritetext UnknownText_0x174962
+	end
+
+.Gaven:
+	farwritetext UnknownText_0x174c0e
+	end
+
+.Jose:
+	farwritetext UnknownText_0x175106
+	end
+
+.Joey:
+	farwritetext UnknownText_0x17570a
+	end
+
+.Wade:
+	farwritetext UnknownText_0x1759e7
+	end
+
+.Ralph:
+	farwritetext UnknownText_0x175db7
+	end
+
+.Anthony:
+	farwritetext UnknownText_0x176c47
+	end
+
+.Todd:
+	farwritetext UnknownText_0x176fdb
+	end
+
+.Irwin:
+	farwritetext UnknownText_0x64000
+	end
+
+.Arnie:
+	farwritetext UnknownText_0x64b48
+	end
+
+.Alan:
+	farwritetext UnknownText_0x64e1f
+	end
+
+.Chad:
+	farwritetext UnknownText_0x65471
+	end
+
+.Derek:
+	farwritetext UnknownText_0x65c4e
+	end
+
+.Tully:
+	farwritetext UnknownText_0x65f6e
+	end
+
+.Brent:
+	farwritetext UnknownText_0x662a9
+	end
+
+.Vance:
+	farwritetext UnknownText_0x66a93
+	end
+
+.Wilton:
+	farwritetext UnknownText_0x66c58
+	end
+
+.Kenji:
+	farwritetext UnknownText_0x66dab
+	end
+
+.Parry:
+	farwritetext UnknownText_0x670eb
+	end
+
+PhoneScript_HangupText_Female:
+	checkcode VAR_CALLERID
+	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
+	if_equal PHONE_COOLTRAINERF_BETH, .Beth
+	if_equal PHONE_COOLTRAINERF_REENA, .Reena
+	if_equal PHONE_PICNICKER_LIZ, .Liz
+	if_equal PHONE_PICNICKER_GINA, .Gina
+	if_equal PHONE_LASS_DANA, .Dana
+	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
+	if_equal PHONE_PICNICKER_ERIN, .Erin
+
+.Beverly:
+	farwritetext UnknownText_0x1747ac
+	end
+
+.Beth:
+	farwritetext UnknownText_0x174eb7
+	end
+
+.Reena:
+	farwritetext UnknownText_0x175488
+	end
+
+.Liz:
+	farwritetext UnknownText_0x17620a
+	end
+
+.Gina:
+	farwritetext UnknownText_0x177361
+	end
+
+.Dana:
+	farwritetext UnknownText_0x650e2
+	end
+
+.Tiffany:
+	farwritetext UnknownText_0x667f7
+	end
+
+.Erin:
+	farwritetext UnknownText_0x67281
+	end
+
+Phone_CheckIfUnseenRare_Male:
+	scall PhoneScriptRareWildMon
+	iffalse .HangUp
+	farjump Phone_GenericCall_Male
+
+.HangUp:
+	farjump PhoneScript_HangupText_Male
+
+Phone_CheckIfUnseenRare_Female:
+	scall PhoneScriptRareWildMon
+	iffalse .HangUp
+	farjump Phone_GenericCall_Female
+
+.HangUp:
+	farjump PhoneScript_HangupText_Female
+
+PhoneScriptRareWildMon:
+	special RandomUnseenWildMon
+	end
+
+PhoneScript_BugCatchingContest:
+	checkcode VAR_CALLERID
+	if_equal PHONE_BUG_CATCHER_WADE, .Wade
+	if_equal PHONE_POKEFANM_DEREK, .Derek
+
+.Wade:
+	farwritetext WadeBugCatchingContestText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Derek:
+	farwritetext DerekBugCatchingContestText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+IrwinRocketRumor:
+	farwritetext UnknownText_0x64032
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa05c6:
+	farwritetext UnknownText_0x177378
+	buttonsound
+	jump PhoneScript_HangupText_Female
+
+UnknownScript_0xa05ce:
+	farwritetext UnknownText_0x64b5f
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa05d6:
+	farwritetext UnknownText_0x175dd9
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa05de:
+	farwritetext UnknownText_0x176c61
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+PhoneScript_FoundItem_Male:
+	checkcode VAR_CALLERID
+	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
+	if_equal PHONE_BUG_CATCHER_WADE, .Wade
+	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
+	if_equal PHONE_POKEFANM_DEREK, .Derek
+	if_equal PHONE_FISHER_TULLY, .Tully
+	if_equal PHONE_FISHER_WILTON, .Wilton
+
+.Jose:
+	farwritetext JoseFoundSomethingText
+	end
+
+.Wade:
+	farwritetext WadeFoundBerryText
+	end
+
+.Alan:
+	farwritetext UnknownText_0x64e2f
+	end
+
+.Derek:
+	farwritetext UnknownText_0x65cf9
+	end
+
+.Tully:
+	farwritetext UnknownText_0x65f88
+	end
+
+.Wilton:
+	farwritetext UnknownText_0x66c6b
+	end
+
+PhoneScript_FoundItem_Female:
+	checkcode VAR_CALLERID
+	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
+	if_equal PHONE_PICNICKER_GINA, .Gina
+	if_equal PHONE_LASS_DANA, .Dana
+	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
+
+.Beverly:
+	farwritetext BeverlyFoundNuggetText
+	end
+
+.Gina:
+	farwritetext UnknownText_0x1773e7
+	end
+
+.Dana:
+	farwritetext UnknownText_0x650ec
+	end
+
+.Tiffany:
+	farwritetext UnknownText_0x66801
+	end
+
+UnknownScript_0xa0644:
+	farwritetext UnknownText_0x176feb
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+KenjiCallingPhoneScript:
+	farwritetext UnknownText_0x66dc5
+	buttonsound
+	jump PhoneScript_HangupText_Male
--- /dev/null
+++ b/engine/phone/phone_gossip.asm
@@ -1,0 +1,698 @@
+JackTriviaScript:
+	random 11
+	if_equal  0, .Thunder
+	if_equal  1, .Rollout
+	if_equal  2, .Solarbeam
+	if_equal  3, .Stomp
+	if_equal  4, .Gust
+	if_equal  5, .Twister
+	if_equal  6, .Earthquake
+	if_equal  7, .Magnitude
+	if_equal  8, .Sandstorm
+	if_equal  9, .SunnyDay
+	if_equal 10, .RainDance
+
+.Thunder:
+	farwritetext JackThunderTriviaText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Rollout:
+	farwritetext JackRolloutTriviaText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Solarbeam:
+	farwritetext JackSolarbeamTriviaText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Stomp:
+	farwritetext JackStompTriviaText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Gust:
+	farwritetext JackGustTriviaText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Twister:
+	farwritetext JackTwisterTriviaText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Earthquake:
+	farwritetext JackEarthquakeTriviaText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Magnitude:
+	farwritetext JackMagnitudeTriviaText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Sandstorm:
+	farwritetext JackSandstormTriviaText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.SunnyDay:
+	farwritetext JackSunnyDayTriviaText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.RainDance:
+	farwritetext JackRainDanceTriviaText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa06da:
+	random 10
+	if_equal 0, .RuinsOfAlph
+	if_equal 1, .Falkner
+	if_equal 2, .Earl
+	if_equal 3, .SurfPikachu
+	if_equal 4, .MooMooMilk
+	if_equal 5, .Salon
+	if_equal 6, .Whitney
+	if_equal 7, .BugCatchingContest
+	if_equal 8, .BeautifulMon
+	if_equal 9, .Forgot
+
+.RuinsOfAlph:
+	farwritetext UnknownText_0x176223
+	buttonsound
+	jump PhoneScript_HangupText_Female
+
+.Falkner:
+	farwritetext UnknownText_0x1762c3
+	buttonsound
+	jump PhoneScript_HangupText_Female
+
+.Earl:
+	farwritetext UnknownText_0x17638a
+	buttonsound
+	jump PhoneScript_HangupText_Female
+
+.SurfPikachu:
+	farwritetext UnknownText_0x176424
+	buttonsound
+	jump PhoneScript_HangupText_Female
+
+.MooMooMilk:
+	farwritetext UnknownText_0x1764eb
+	buttonsound
+	jump PhoneScript_HangupText_Female
+
+.Salon:
+	farwritetext UnknownText_0x176599
+	buttonsound
+	jump PhoneScript_HangupText_Female
+
+.Whitney:
+	farwritetext UnknownText_0x1766ac
+	buttonsound
+	jump PhoneScript_HangupText_Female
+
+.BugCatchingContest:
+	farwritetext UnknownText_0x17674f
+	buttonsound
+	jump PhoneScript_HangupText_Female
+
+.BeautifulMon:
+	farwritetext UnknownText_0x176816
+	buttonsound
+	jump PhoneScript_HangupText_Female
+
+.Forgot:
+	farwritetext UnknownText_0x17686d
+	buttonsound
+	jump PhoneScript_HangupText_Female
+
+ChadOakGossipScript:
+	random 10
+	if_equal 0, .Blue
+	if_equal 1, .Daisy
+	if_equal 2, .ProfElm
+	if_equal 3, .Dream
+	if_equal 4, .Kurt
+	if_equal 5, .League
+	if_equal 6, .RadioShow
+	if_equal 7, .Battling
+	if_equal 8, .DaisyTea
+	if_equal 9, .Traveled
+
+.Blue:
+	farwritetext ChadBlueGossipText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Daisy:
+	farwritetext ChadDaisyGossipText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.ProfElm:
+	farwritetext ChadProfElmGossipText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Dream:
+	farwritetext ChadDreamGossipText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Kurt:
+	farwritetext ChadKurtGossipText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.League:
+	farwritetext ChadLeagueGossipText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.RadioShow:
+	farwritetext ChadRadioShowGossipText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Battling:
+	farwritetext ChadBattlingGossipText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.DaisyTea:
+	farwritetext ChadDaisyTeaGossipText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Traveled:
+	farwritetext ChadTravelGossipText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+BrentBillTriviaScript:
+	random 10
+	if_equal 0, .Father
+	if_equal 1, .Grandpa
+	if_equal 2, .Goldenrod
+	if_equal 3, .Route25
+	if_equal 4, .Abra
+	if_equal 5, .Sister
+	if_equal 6, .Milk
+	if_equal 7, .Battling
+	if_equal 8, .FlowerShop
+	if_equal 9, .KimonoGirl
+
+.Father:
+	farwritetext UnknownText_0x662bc
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Grandpa:
+	farwritetext UnknownText_0x662fc
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Goldenrod:
+	farwritetext UnknownText_0x66335
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Route25:
+	farwritetext UnknownText_0x66366
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Abra:
+	farwritetext UnknownText_0x663a1
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Sister:
+	farwritetext UnknownText_0x663e6
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Milk:
+	farwritetext UnknownText_0x66421
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Battling:
+	farwritetext UnknownText_0x6645f
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.FlowerShop:
+	farwritetext UnknownText_0x6649b
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.KimonoGirl:
+	farwritetext UnknownText_0x664dd
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+IrwinRumorScript:
+	checkevent EVENT_OPENED_MT_SILVER
+	iftrue IrwinMtSilver
+	checkevent EVENT_FOUGHT_SNORLAX
+	iftrue IrwinSnorlax
+	checkevent EVENT_GOT_PASS_FROM_COPYCAT
+	iftrue IrwinTrainPass
+	checkflag ENGINE_MARSHBADGE
+	iftrue IrwinMarshBadge
+	checkflag ENGINE_FLYPOINT_VERMILION
+	iftrue IrwinVermilionCity
+	checkevent EVENT_BEAT_ELITE_FOUR
+	iftrue IrwinEliteFour
+	checkflag ENGINE_RISINGBADGE
+	iftrue IrwinRisingBadge
+	checkevent EVENT_CLEARED_RADIO_TOWER
+	iftrue IrwinRadioTower
+	checkevent EVENT_CLEARED_ROCKET_HIDEOUT
+	iftrue IrwinRocketHideout
+	checkevent EVENT_JASMINE_RETURNED_TO_GYM
+	iftrue IrwinJasmineReturned
+	checkflag ENGINE_FOGBADGE
+	iftrue IrwinFogBadge
+	checkflag ENGINE_PLAINBADGE
+	iftrue IrwinPlainBadge
+	farwritetext IrwinCalledRightAwayText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+IrwinPlainBadge:
+	farwritetext UnknownText_0x64099
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+IrwinJasmineReturned:
+	farwritetext UnknownText_0x640e6
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+IrwinRocketHideout:
+	farwritetext UnknownText_0x6416d
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+IrwinRadioTower:
+	farwritetext UnknownText_0x641e8
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+IrwinRisingBadge:
+	farwritetext UnknownText_0x64247
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+IrwinEliteFour:
+	farwritetext UnknownText_0x642bb
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+IrwinVermilionCity:
+	farwritetext UnknownText_0x643d4
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+IrwinTrainPass:
+	farwritetext UnknownText_0x64448
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+IrwinSnorlax:
+	farwritetext UnknownText_0x6455b
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+IrwinMtSilver:
+	farwritetext UnknownText_0x645ff
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+IrwinFogBadge:
+	farwritetext UnknownText_0x646df
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+IrwinMarshBadge:
+	farwritetext UnknownText_0x647d8
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+JackPhoneTips:
+	farwritetext UnknownText_0x1745c2
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa0900:
+	farwritetext UnknownText_0x17485b
+	buttonsound
+	jump PhoneScript_HangupText_Female
+
+UnknownScript_0xa0908:
+	farwritetext UnknownText_0x17496b
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa0910:
+	farwritetext UnknownText_0x174c29
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa0918:
+	farwritetext UnknownText_0x174ec5
+	buttonsound
+	jump PhoneScript_HangupText_Female
+
+UnknownScript_0xa0920:
+	farwritetext UnknownText_0x17519b
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa0928:
+	farwritetext UnknownText_0x17549b
+	buttonsound
+	jump PhoneScript_HangupText_Female
+
+UnknownScript_0xa0930:
+	farwritetext UnknownText_0x17571d
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa0938:
+	farwritetext UnknownText_0x175abe
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa0940:
+	farwritetext UnknownText_0x175eaf
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa0948:
+	farwritetext UnknownText_0x1768b0
+	buttonsound
+	jump PhoneScript_HangupText_Female
+
+UnknownScript_0xa0950:
+	farwritetext UnknownText_0x176d32
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa0958:
+	farwritetext UnknownText_0x1770fb
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa0960:
+	farwritetext UnknownText_0x177465
+	buttonsound
+	jump PhoneScript_HangupText_Female
+
+UnknownScript_0xa0968:
+	farwritetext UnknownText_0x64bc6
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa0970:
+	farwritetext UnknownText_0x64e90
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa0978:
+	farwritetext UnknownText_0x65161
+	buttonsound
+	jump PhoneScript_HangupText_Female
+
+UnknownScript_0xa0980:
+	farwritetext UnknownText_0x65a23
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa0988:
+	farwritetext UnknownText_0x65d5c
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa0990:
+	farwritetext UnknownText_0x65ff2
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa0998:
+	farwritetext UnknownText_0x6651e
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa09a0:
+	farwritetext UnknownText_0x66882
+	buttonsound
+	jump PhoneScript_HangupText_Female
+
+VanceLookingForward:
+	farwritetext VanceLookingForwardText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+WiltonHaventFoundAnything:
+	farwritetext WiltonHaventFoundAnythingText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+ParryBattleWithMe:
+	farwritetext ParryBattleWithMeText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+ErinWorkingHardScript:
+	farwritetext ErinWorkingHardText
+	buttonsound
+	jump PhoneScript_HangupText_Female
+
+UnknownScript_0xa09c8:
+	random 3
+	if_equal 0, UnknownScript_0xa09d6
+	if_equal 1, UnknownScript_0xa09de
+	if_equal 2, UnknownScript_0xa09e6
+
+UnknownScript_0xa09d6:
+	farwritetext UnknownText_0x64846
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa09de:
+	farwritetext UnknownText_0x64881
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa09e6:
+	farwritetext UnknownText_0x648dc
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+KenjiAnswerPhoneScript:
+	checkcode VAR_KENJI_BREAK
+	if_equal 2, .Training
+	if_equal 1, .OnBreak
+	farwritetext UnknownText_0x66e17
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Training:
+	farwritetext UnknownText_0x66e67
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.OnBreak:
+	checkmorn
+	iftrue .Morning
+	checknite
+	iftrue .Night
+	setevent EVENT_KENJI_ON_BREAK
+	farwritetext KenjiBreakText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Morning:
+	farwritetext UnknownText_0x66ed3
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+.Night:
+	farwritetext UnknownText_0x66f52
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+JackWantsBattleScript:
+	farwritetext UnknownText_0x174638
+	end
+
+HueyWantsBattleScript:
+	farwritetext UnknownText_0x1749c7
+	end
+
+UnknownScript_0xa0a37:
+	farwritetext UnknownText_0x174c49
+	end
+
+BethBattleReminderScript:
+	farwritetext BethForgetDealText
+	end
+
+UnknownScript_0xa0a41:
+	farwritetext UnknownText_0x17520a
+	end
+
+UnknownScript_0xa0a46:
+	farwritetext UnknownText_0x1754e5
+	end
+
+UnknownScript_0xa0a4b:
+	farwritetext UnknownText_0x175786
+	end
+
+UnknownScript_0xa0a50:
+	farwritetext UnknownText_0x175b1e
+	end
+
+UnknownScript_0xa0a55:
+	farwritetext UnknownText_0x175f11
+	end
+
+UnknownScript_0xa0a5a:
+	farwritetext UnknownText_0x1769da
+	end
+
+UnknownScript_0xa0a5f:
+	farwritetext UnknownText_0x176d85
+	end
+
+UnknownScript_0xa0a64:
+	farwritetext UnknownText_0x177138
+	end
+
+UnknownScript_0xa0a69:
+	farwritetext UnknownText_0x1774c1
+	end
+
+UnknownScript_0xa0a6e:
+	farwritetext UnknownText_0x64c13
+	end
+
+UnknownScript_0xa0a73:
+	farwritetext UnknownText_0x64ed4
+	end
+
+UnknownScript_0xa0a78:
+	farwritetext UnknownText_0x651bf
+	end
+
+UnknownScript_0xa0a7d:
+	farwritetext UnknownText_0x65a63
+	end
+
+UnknownScript_0xa0a82:
+	farwritetext UnknownText_0x66043
+	end
+
+UnknownScript_0xa0a87:
+	farwritetext UnknownText_0x66579
+	end
+
+UnknownScript_0xa0a8c:
+	farwritetext UnknownText_0x668a3
+	end
+
+VanceHurryHurry:
+	farwritetext VanceHurryHurryText
+	end
+
+WiltonNotBiting:
+	farwritetext WiltonNotBitingText
+	end
+
+ParryHaventYouGottenTo:
+	farwritetext ParryHaventYouGottenToText
+	end
+
+ErinComeBattleScript:
+	farwritetext ErinComeBattleText
+	end
+
+UnknownScript_0xa0aa5:
+	farwritetext UnknownText_0x174895
+	buttonsound
+	jump PhoneScript_HangupText_Female
+
+UnknownScript_0xa0aad:
+	farwritetext UnknownText_0x17529c
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa0ab5:
+	farwritetext UnknownText_0x175b6d
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa0abd:
+	farwritetext UnknownText_0x17750e
+	buttonsound
+	jump PhoneScript_HangupText_Female
+
+UnknownScript_0xa0ac5:
+	farwritetext UnknownText_0x64f1a
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa0acd:
+	farwritetext UnknownText_0x6520f
+	buttonsound
+	jump PhoneScript_HangupText_Female
+
+UnknownScript_0xa0ad5:
+	farwritetext UnknownText_0x65da6
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa0add:
+	farwritetext UnknownText_0x66087
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa0ae5:
+	farwritetext UnknownText_0x6691d
+	buttonsound
+	jump PhoneScript_HangupText_Female
+
+WiltonWantThis:
+	farwritetext WiltonWantThisText
+	buttonsound
+	jump PhoneScript_HangupText_Male
+
+UnknownScript_0xa0af5:
+	farwritetext UnknownText_0x175f70
+	end
+
+UnknownScript_0xa0afa:
+	farwritetext UnknownText_0x176dd1
+	end
+
+UnknownScript_0xa0aff:
+	farwritetext UnknownText_0x64c5a
+	end
+
+UnknownScript_0xa0b04:
+	farwritetext UnknownText_0x17717c
+	end
+
+BikeShopPhoneScript:
+	farwritetext UnknownText_0x174000
+	clearflag ENGINE_BIKE_SHOP_CALL_ENABLED
+	specialphonecall SPECIALCALL_NONE
+	end
--- /dev/null
+++ b/engine/phone/phone_scripts.asm
@@ -1,0 +1,1886 @@
+UnusedPhoneScript: ; 0xbcea5
+	farwritetext UnusedPhoneText
+	end
+
+; Mom
+
+MomPhoneScript: ; 0xbceaa
+	checkevent EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST
+	iftrue .bcec5
+	checkevent EVENT_DUDE_TALKED_TO_YOU
+	iftrue MomPhoneLectureScript
+	checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
+	iftrue MomPhoneNoGymQuestScript
+	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
+	iftrue MomPhoneNoPokedexScript
+	jump MomPhoneNoPokemonScript
+
+.bcec5 ; 0xbcec5
+	checkevent EVENT_IN_YOUR_ROOM
+	iftrue MomPhoneHangUpScript
+	farwritetext MomPhoneGreetingText
+	buttonsound
+	mapnametotext $0
+	checkcode VAR_ROOFPALETTE
+	if_equal $1, MomPhonePalette1
+	if_equal $2, MomPhonePalette2
+	jump MomPhoneOther
+
+MomPhoneLandmark: ; 0xbcedf
+	farwritetext MomPhoneLandmarkText
+	buttonsound
+	jump MomSavingMoney
+
+MomPhonePalette1: ; 0xbcee7
+	checkcode VAR_MAPGROUP
+	if_equal GROUP_NEW_BARK_TOWN, .newbark
+	if_equal GROUP_CHERRYGROVE_CITY, .cherrygrove
+	if_equal GROUP_VIOLET_CITY, .violet
+	if_equal GROUP_AZALEA_TOWN, .azalea
+	if_equal GROUP_GOLDENROD_CITY, .goldenrod
+	farwritetext MomPhoneGenericAreaText
+	buttonsound
+	jump MomSavingMoney
+
+.newbark ; 0xbcf05
+	farwritetext MomPhoneNewBarkText
+	buttonsound
+	jump MomSavingMoney
+
+.cherrygrove ; 0xbcf0d
+	farwritetext MomPhoneCherrygroveText
+	buttonsound
+	jump MomSavingMoney
+
+.violet ; 0xbcf15
+	landmarktotext SPROUT_TOWER, 1
+	jump MomPhoneLandmark
+.azalea ; 0xbcf1b
+	landmarktotext SLOWPOKE_WELL, 1
+	jump MomPhoneLandmark
+.goldenrod ; 0xbcf21
+	landmarktotext RADIO_TOWER, 1
+	jump MomPhoneLandmark
+
+MomPhonePalette2: ; 0xbcf27
+	farwritetext MomOtherAreaText
+	buttonsound
+	jump MomSavingMoney
+
+MomPhoneOther: ; 0xbcf2f
+	farwritetext MomDeterminedText
+	buttonsound
+	jump MomSavingMoney
+
+MomSavingMoney: ; 0xbcf37
+	checkflag ENGINE_MOM_SAVING_MONEY
+	iffalse MomIsNotSaving
+	checkmoney $1, 0
+	if_equal $0, MomSavingHasMoney
+	jump MomSavingButBroke
+
+MomIsNotSaving: ; 0xbcf49
+	checkmoney $1, 0
+	if_equal $0, MomHasMoney
+	jump MomHasNoMoney
+
+MomSavingHasMoney: ; 0xbcf55
+	readmoney $1, $0
+	farwritetext MomCheckBalanceText
+	yesorno
+	iftrue MomPhoneSaveMoneyScript
+	jump MomPhoneWontSaveMoneyScript
+
+MomSavingButBroke: ; 0xbcf63
+	farwritetext MomImportantToSaveText
+	yesorno
+	iftrue MomPhoneSaveMoneyScript
+	jump MomPhoneWontSaveMoneyScript
+
+MomHasNoMoney: ; 0xbcf6e
+	farwritetext MomYoureNotSavingText
+	yesorno
+	iftrue MomPhoneSaveMoneyScript
+	jump MomPhoneWontSaveMoneyScript
+
+MomHasMoney: ; 0xbcf79
+	readmoney $1, $0
+	farwritetext MomYouveSavedText
+	yesorno
+	iftrue MomPhoneSaveMoneyScript
+	jump MomPhoneWontSaveMoneyScript
+
+MomPhoneSaveMoneyScript: ; 0xbcf87
+	setflag ENGINE_MOM_SAVING_MONEY
+	farwritetext MomOKIllSaveText
+	buttonsound
+	jump MomPhoneHangUpScript
+
+MomPhoneWontSaveMoneyScript: ; 0xbcf92
+	clearflag ENGINE_MOM_SAVING_MONEY
+	farwritetext MomPhoneWontSaveMoneyText
+	buttonsound
+	jump MomPhoneHangUpScript
+
+MomPhoneHangUpScript: ; 0xbcf9d
+	farwritetext MomPhoneHangUpText
+	end
+
+MomPhoneNoPokemonScript: ; 0xbcfa2
+	farwritetext MomPhoneNoPokemonText
+	end
+
+MomPhoneNoPokedexScript: ; 0xbcfa7
+	farwritetext MomPhoneNoPokedexText
+	end
+
+MomPhoneNoGymQuestScript: ; 0xbcfac
+	farwritetext MomPhoneNoGymQuestText
+	end
+
+MomPhoneLectureScript: ; 0xbcfb1
+	setevent EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST
+	setflag ENGINE_DST
+	specialphonecall SPECIALCALL_NONE
+	farwritetext MomPhoneLectureText
+	yesorno
+	iftrue MomPhoneSaveMoneyScript
+	jump MomPhoneWontSaveMoneyScript
+
+; Bill
+
+BillPhoneScript1: ; 0xbcfc5
+	checkday
+	iftrue .daygreet
+	checknite
+	iftrue .nitegreet
+	farwritetext BillPhoneMornGreetingText
+	buttonsound
+	jump .main
+
+.daygreet ; 0xbcfd7
+	farwritetext BillPhoneDayGreetingText
+	buttonsound
+	jump .main
+
+.nitegreet ; 0xbcfdf
+	farwritetext BillPhoneNiteGreetingText
+	buttonsound
+	jump .main
+
+.main ; 0xbcfe7
+	farwritetext BillPhoneGeneriText
+	buttonsound
+	checkcode VAR_BOXSPACE
+	RAM2MEM $0
+	if_equal $0, .full
+	if_less_than $6, .nearlyfull
+	farwritetext BillPhoneNotFullText
+	end
+
+.nearlyfull ; 0xbcffd
+	farwritetext BillPhoneNearlyFullText
+	end
+
+.full ; 0xbd002
+	farwritetext BillPhoneFullText
+	end
+
+BillPhoneScript2: ; 0xbd007
+	farwritetext BillPhoneNewlyFullText
+	waitbutton
+	end
+
+; Elm
+
+ElmPhoneScript1: ; 0xbd00d
+	checkcode VAR_SPECIALPHONECALL
+	if_equal $1, .pokerus
+	checkevent EVENT_SHOWED_TOGEPI_TO_ELM
+	iftrue .discovery
+	checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE
+	iffalse .next
+	checkevent EVENT_TOGEPI_HATCHED
+	iftrue .egghatched
+.next
+	checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE
+	iftrue .eggunhatched
+	checkevent EVENT_ELMS_AIDE_IN_LAB
+	iftrue .assistant
+	checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
+	iftrue .checkingegg
+	checkevent EVENT_ELM_CALLED_ABOUT_STOLEN_POKEMON
+	iftrue .stolen
+	checkevent EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON
+	iftrue .sawmrpokemon
+	farwritetext ElmPhoneStartText
+	end
+
+.sawmrpokemon ; 0xbd048
+	farwritetext ElmPhoneSawMrPokemonText
+	end
+
+.stolen ; 0xbd04d
+	farwritetext ElmPhonePokemonStolenText
+	end
+
+.checkingegg ; 0xbd052
+	farwritetext ElmPhoneCheckingEggText
+	end
+
+.assistant ; 0xbd057
+	farwritetext ElmPhoneAssistantText
+	end
+
+.eggunhatched ; 0xbd05c
+	farwritetext ElmPhoneEggUnhatchedText
+	end
+
+.egghatched ; 0xbd061
+	farwritetext ElmPhoneEggHatchedText
+	setevent EVENT_TOLD_ELM_ABOUT_TOGEPI_OVER_THE_PHONE
+	end
+
+.discovery ; 0xbd069
+	random $2
+	if_equal $0, .nextdiscovery
+	farwritetext ElmPhoneDiscovery1Text
+	end
+
+.nextdiscovery ; 0xbd074
+	farwritetext ElmPhoneDiscovery2Text
+	end
+
+.pokerus ; 0xbd079
+	farwritetext ElmPhonePokerusText
+	specialphonecall SPECIALCALL_NONE
+	end
+
+ElmPhoneScript2: ; 0xbd081
+	checkcode VAR_SPECIALPHONECALL
+	if_equal $2, .disaster
+	if_equal $3, .assistant
+	if_equal $4, .rocket
+	if_equal $5, .gift
+	if_equal $8, .gift
+	farwritetext ElmPhonePokerusText
+	specialphonecall SPECIALCALL_NONE
+	end
+
+.disaster ; 0xbd09f
+	farwritetext ElmPhoneDisasterText
+	specialphonecall SPECIALCALL_NONE
+	setevent EVENT_ELM_CALLED_ABOUT_STOLEN_POKEMON
+	end
+
+.assistant ; 0xbd0aa
+	farwritetext ElmPhoneEggAssistantText
+	specialphonecall SPECIALCALL_NONE
+	clearevent EVENT_ELMS_AIDE_IN_VIOLET_POKEMON_CENTER
+	setevent EVENT_ELMS_AIDE_IN_LAB
+	end
+
+.rocket ; 0xbd0b8
+	farwritetext ElmPhoneRocketText
+	specialphonecall SPECIALCALL_NONE
+	end
+
+.gift ; 0xbd0c0
+	farwritetext ElmPhoneGiftText
+	specialphonecall SPECIALCALL_NONE
+	end
+
+.unused ; 0xbd0c8
+	farwritetext ElmPhoneUnusedText
+	specialphonecall SPECIALCALL_NONE
+	end
+; bd0d0
+
+; Jack
+
+JackPhoneScript1:
+	trainertotext SCHOOLBOY, JACK1, $0
+	checkflag ENGINE_JACK
+	iftrue .WantsBattle
+	farscall PhoneScript_AnswerPhone_Male
+	checkflag ENGINE_JACK_MONDAY_MORNING
+	iftrue .NotMonday
+	checkcode VAR_WEEKDAY
+	if_not_equal MONDAY, .NotMonday
+	checkmorn
+	iftrue JackMondayMorning
+
+.NotMonday:
+	farjump JackPhoneTips
+
+.WantsBattle:
+	landmarktotext NATIONAL_PARK, $2
+	farjump JackWantsBattleScript
+
+JackPhoneScript2:
+	trainertotext SCHOOLBOY, JACK1, $0
+	farscall PhoneScript_GreetPhone_Male
+	farscall PhoneScript_Random2
+	if_equal $0, JackBattleTrivia
+	checkflag ENGINE_JACK
+	iftrue .WaitingForBattle
+	checkflag ENGINE_JACK_MONDAY_MORNING
+	iftrue .WaitingForBattle
+	farscall PhoneScript_Random2
+	if_equal $0, JackWantsToBattle
+
+.WaitingForBattle:
+	farscall PhoneScript_Random3
+	if_equal $0, JackFindsRare
+	farjump Phone_GenericCall_Male
+
+JackMondayMorning:
+	setflag ENGINE_JACK_MONDAY_MORNING
+
+JackWantsToBattle:
+	landmarktotext NATIONAL_PARK, $2
+	setflag ENGINE_JACK
+	farjump PhoneScript_WantsToBattle_Male
+
+JackFindsRare:
+	farjump Phone_CheckIfUnseenRare_Male
+
+JackBattleTrivia:
+	farjump JackTriviaScript
+
+; Beverly
+
+BeverlyPhoneScript1:
+	trainertotext POKEFANF, BEVERLY1, $0
+	farscall PhoneScript_AnswerPhone_Female
+	checkflag ENGINE_BEVERLY_HAS_NUGGET
+	iftrue .HasNugget
+	farjump UnknownScript_0xa0900
+
+.HasNugget:
+	landmarktotext NATIONAL_PARK, $2
+	farjump UnknownScript_0xa0aa5
+
+BeverlyPhoneScript2:
+	trainertotext POKEFANF, BEVERLY1, $0
+	farscall PhoneScript_GreetPhone_Female
+	checkflag ENGINE_BEVERLY_HAS_NUGGET
+	iftrue .HasNugget
+	farscall PhoneScript_Random4
+	if_equal $0, .FoundNugget
+
+.HasNugget:
+	farjump Phone_GenericCall_Female
+
+.FoundNugget:
+	setflag ENGINE_BEVERLY_HAS_NUGGET
+	landmarktotext NATIONAL_PARK, $2
+	farjump PhoneScript_FoundItem_Female
+
+; Huey
+
+HueyPhoneScript1:
+	trainertotext SAILOR, HUEY1, $0
+	checkflag ENGINE_HUEY
+	iftrue .WantsBattle
+	farscall PhoneScript_AnswerPhone_Male
+	checkflag ENGINE_HUEY_WEDNESDAY_NIGHT
+	iftrue .NotWednesday
+	checkcode VAR_WEEKDAY
+	if_not_equal WEDNESDAY, .NotWednesday
+	checknite
+	iftrue HueyWednesdayNight
+
+.NotWednesday:
+	special RandomPhoneMon
+	farjump UnknownScript_0xa0908
+
+.WantsBattle:
+	landmarktotext LIGHTHOUSE, $2
+	farjump HueyWantsBattleScript
+
+HueyPhoneScript2:
+	trainertotext SAILOR, HUEY1, $0
+	farscall PhoneScript_GreetPhone_Male
+	checkflag ENGINE_HUEY
+	iftrue .Flavor
+	checkflag ENGINE_HUEY_WEDNESDAY_NIGHT
+	iftrue .Flavor
+	farscall PhoneScript_Random3
+	if_equal $0, HueyWantsBattle
+	if_equal $1, HueyWantsBattle
+
+.Flavor:
+	farjump PhoneScript_MonFlavorText
+
+HueyWednesdayNight:
+	setflag ENGINE_HUEY_WEDNESDAY_NIGHT
+
+HueyWantsBattle:
+	landmarktotext LIGHTHOUSE, $2
+	setflag ENGINE_HUEY
+	farjump PhoneScript_WantsToBattle_Male
+
+; Gaven
+
+GavenPhoneScript1:
+	trainertotext COOLTRAINERM, GAVEN3, $0
+	checkflag ENGINE_GAVEN
+	iftrue .WantsBattle
+	farscall PhoneScript_AnswerPhone_Male
+	checkflag ENGINE_GAVEN_THURSDAY_MORNING
+	iftrue .NotThursday
+	checkcode VAR_WEEKDAY
+	if_not_equal THURSDAY, .NotThursday
+	checkmorn
+	iftrue GavenThursdayMorning
+
+.NotThursday:
+	farjump UnknownScript_0xa0910
+
+.WantsBattle:
+	landmarktotext ROUTE_26, $2
+	farjump UnknownScript_0xa0a37
+
+GavenPhoneScript2:
+	trainertotext COOLTRAINERM, GAVEN3, $0
+	farscall PhoneScript_GreetPhone_Male
+	checkflag ENGINE_GAVEN
+	iftrue .WaitingForBattle
+	checkflag ENGINE_GAVEN_THURSDAY_MORNING
+	iftrue .WaitingForBattle
+	farscall PhoneScript_Random2
+	if_equal $0, GavenWantsRematch
+
+.WaitingForBattle:
+	farscall PhoneScript_Random3
+	if_equal $0, GavenFoundRare
+	farjump Phone_GenericCall_Male
+
+GavenThursdayMorning:
+	setflag ENGINE_GAVEN_THURSDAY_MORNING
+
+GavenWantsRematch:
+	landmarktotext ROUTE_26, $2
+	setflag ENGINE_GAVEN
+	farjump PhoneScript_WantsToBattle_Male
+
+GavenFoundRare:
+	farjump Phone_CheckIfUnseenRare_Male
+
+; Beth
+
+BethPhoneScript1:
+	trainertotext COOLTRAINERF, BETH1, $0
+	checkflag ENGINE_BETH
+	iftrue .WantsBattle
+	farscall PhoneScript_AnswerPhone_Female
+	checkflag ENGINE_BETH_FRIDAY_AFTERNOON
+	iftrue .NotFriday
+	checkcode VAR_WEEKDAY
+	if_not_equal FRIDAY, .NotFriday
+	checkday
+	iftrue BethFridayAfternoon
+
+.NotFriday:
+	farjump UnknownScript_0xa0918
+
+.WantsBattle:
+	landmarktotext ROUTE_26, $2
+	farjump BethBattleReminderScript
+
+BethPhoneScript2:
+	trainertotext COOLTRAINERF, BETH1, $0
+	farscall PhoneScript_GreetPhone_Female
+	checkflag ENGINE_BETH
+	iftrue .Generic
+	checkflag ENGINE_BETH_FRIDAY_AFTERNOON
+	iftrue .Generic
+	farscall PhoneScript_Random2
+	if_equal $0, BethWantsBattle
+
+.Generic:
+	farjump Phone_GenericCall_Female
+
+BethFridayAfternoon:
+	setflag ENGINE_BETH_FRIDAY_AFTERNOON
+
+BethWantsBattle:
+	landmarktotext ROUTE_26, $2
+	setflag ENGINE_BETH
+	farjump PhoneScript_WantsToBattle_Female
+
+; Jose
+
+JosePhoneScript1:
+	trainertotext BIRD_KEEPER, JOSE2, $0
+	checkflag ENGINE_JOSE
+	iftrue .WantsBattle
+	farscall PhoneScript_AnswerPhone_Male
+	checkflag ENGINE_JOSE_SATURDAY_NIGHT
+	iftrue .NotSaturday
+	checkflag ENGINE_JOSE_HAS_STAR_PIECE
+	iftrue .HasItem
+	checkcode VAR_WEEKDAY
+	if_not_equal SATURDAY, .NotSaturday
+	checknite
+	iftrue JoseSaturdayNight
+
+.NotSaturday:
+	farjump UnknownScript_0xa0920
+
+.WantsBattle:
+	landmarktotext ROUTE_27, $2
+	farjump UnknownScript_0xa0a41
+
+.HasItem:
+	landmarktotext ROUTE_27, $2
+	farjump UnknownScript_0xa0a41
+
+JosePhoneScript2:
+	trainertotext BIRD_KEEPER, JOSE2, $0
+	farscall PhoneScript_GreetPhone_Male
+	checkflag ENGINE_JOSE
+	iftrue .Generic
+	checkflag ENGINE_JOSE_SATURDAY_NIGHT
+	iftrue .Generic
+	checkflag ENGINE_JOSE_HAS_STAR_PIECE
+	iftrue .Generic
+	farscall PhoneScript_Random3
+	if_equal $0, JoseWantsBattle
+	farscall PhoneScript_Random3
+	if_equal $0, JoseHasStarPiece
+
+.Generic:
+	farscall PhoneScript_Random3
+	if_equal $0, JoseFoundRare
+	farjump Phone_GenericCall_Male
+
+JoseSaturdayNight:
+	setflag ENGINE_JOSE_SATURDAY_NIGHT
+
+JoseWantsBattle:
+	landmarktotext ROUTE_27, $2
+	setflag ENGINE_JOSE
+	farjump PhoneScript_WantsToBattle_Male
+
+JoseFoundRare:
+	farjump Phone_CheckIfUnseenRare_Male
+
+JoseHasStarPiece:
+	setflag ENGINE_JOSE_HAS_STAR_PIECE
+	landmarktotext ROUTE_27, $2
+	farjump PhoneScript_FoundItem_Male
+
+; Reena
+
+ReenaPhoneScript1:
+	trainertotext COOLTRAINERF, REENA1, $0
+	checkflag ENGINE_REENA
+	iftrue .WantsBattle
+	farscall PhoneScript_AnswerPhone_Female
+	checkflag ENGINE_REENA_SUNDAY_MORNING
+	iftrue .NotSunday
+	checkcode VAR_WEEKDAY
+	if_not_equal SUNDAY, .NotSunday
+	checkmorn
+	iftrue ReenaSundayMorning
+
+.NotSunday:
+	farjump UnknownScript_0xa0928
+
+.WantsBattle:
+	landmarktotext ROUTE_27, $2
+	farjump UnknownScript_0xa0a46
+
+ReenaPhoneScript2:
+	trainertotext COOLTRAINERF, REENA1, $0
+	farscall PhoneScript_GreetPhone_Female
+	checkflag ENGINE_REENA
+	iftrue .Generic
+	checkflag ENGINE_REENA_SUNDAY_MORNING
+	iftrue .Generic
+	farscall PhoneScript_Random2
+	if_equal $0, ReenaWantsBattle
+
+.Generic:
+	farjump Phone_GenericCall_Female
+
+ReenaSundayMorning:
+	setflag ENGINE_REENA_SUNDAY_MORNING
+
+ReenaWantsBattle:
+	landmarktotext ROUTE_27, $2
+	setflag ENGINE_REENA
+	farjump PhoneScript_WantsToBattle_Female
+
+; Joey
+
+JoeyPhoneScript1:
+	trainertotext YOUNGSTER, JOEY1, $0
+	checkflag ENGINE_JOEY
+	iftrue .WantsBattle
+	farscall PhoneScript_AnswerPhone_Male
+	checkflag ENGINE_JOEY_MONDAY_AFTERNOON
+	iftrue .NotMonday
+	checkcode VAR_WEEKDAY
+	if_not_equal MONDAY, .NotMonday
+	checkday
+	iftrue JoeyMondayAfternoon
+
+.NotMonday:
+	special RandomPhoneMon
+	farjump UnknownScript_0xa0930
+
+.WantsBattle:
+	landmarktotext ROUTE_30, $2
+	farjump UnknownScript_0xa0a4b
+
+JoeyPhoneScript2:
+	trainertotext YOUNGSTER, JOEY1, $0
+	farscall PhoneScript_GreetPhone_Male
+	checkflag ENGINE_JOEY
+	iftrue .Generic
+	checkflag ENGINE_JOEY_MONDAY_AFTERNOON
+	iftrue .Generic
+	farscall PhoneScript_Random3
+	if_equal $0, JoeyWantsBattle
+	if_equal $1, JoeyWantsBattle
+
+.Generic:
+	farjump Phone_GenericCall_Male
+
+JoeyMondayAfternoon:
+	setflag ENGINE_JOEY_MONDAY_AFTERNOON
+
+JoeyWantsBattle:
+	landmarktotext ROUTE_30, $2
+	setflag ENGINE_JOEY
+	farjump PhoneScript_WantsToBattle_Male
+
+; Wade
+
+WadePhoneScript1:
+	trainertotext BUG_CATCHER, WADE1, $0
+	checkflag ENGINE_WADE
+	iftrue WadeWantsBattle
+	farscall PhoneScript_AnswerPhone_Male
+	checkflag ENGINE_WADE_TUESDAY_NIGHT
+	iftrue .NotTuesday
+	checkflag ENGINE_WADE_HAS_ITEM
+	iftrue WadeHasItem
+	checkcode VAR_WEEKDAY
+	if_not_equal TUESDAY, .NotTuesday
+	checknite
+	iftrue WadeTuesdayNight
+
+.NotTuesday:
+	farscall PhoneScript_Random2
+	if_equal $0, .NoContest
+	checkflag ENGINE_DAILY_BUG_CONTEST
+	iftrue .NoContest
+	checkcode VAR_WEEKDAY
+	if_equal TUESDAY, WadeContestToday
+	if_equal THURSDAY, WadeContestToday
+	if_equal SATURDAY, WadeContestToday
+
+.NoContest:
+	farjump UnknownScript_0xa0938
+
+WadeContestToday:
+	farjump PhoneScript_BugCatchingContest
+
+WadeWantsBattle:
+	landmarktotext ROUTE_31, $2
+	farjump UnknownScript_0xa0a50
+
+WadeHasItem:
+	landmarktotext ROUTE_31, $2
+	farjump UnknownScript_0xa0ab5
+
+WadePhoneScript2:
+	trainertotext BUG_CATCHER, WADE1, $0
+	farscall PhoneScript_GreetPhone_Male
+	farscall PhoneScript_Random2
+	if_equal $0, .NoContest
+	checkflag ENGINE_DAILY_BUG_CONTEST
+	iftrue .NoContest
+	checkcode VAR_WEEKDAY
+	if_equal TUESDAY, Wade_ContestToday
+	if_equal THURSDAY, Wade_ContestToday
+	if_equal SATURDAY, Wade_ContestToday
+
+.NoContest:
+	checkflag ENGINE_WADE
+	iftrue .next
+	checkflag ENGINE_WADE_TUESDAY_NIGHT
+	iftrue .next
+	checkflag ENGINE_WADE_HAS_ITEM
+	iftrue .next
+	farscall PhoneScript_Random2
+	if_equal $0, WadeHasItem2
+	checkflag ENGINE_FLYPOINT_GOLDENROD
+	iffalse .next
+	farscall PhoneScript_Random2
+	if_equal $0, WadeWantsBattle2
+
+.next:
+	farscall PhoneScript_Random3
+	if_equal $0, WadeFoundRare
+	farjump Phone_GenericCall_Male
+
+Wade_ContestToday:
+	farjump PhoneScript_BugCatchingContest
+
+WadeTuesdayNight:
+	setflag ENGINE_WADE_TUESDAY_NIGHT
+
+WadeWantsBattle2:
+	landmarktotext ROUTE_31, $2
+	setflag ENGINE_WADE
+	farjump PhoneScript_WantsToBattle_Male
+
+WadeFoundRare:
+	farjump Phone_CheckIfUnseenRare_Male
+
+WadeHasItem2:
+	setflag ENGINE_WADE_HAS_ITEM
+	landmarktotext ROUTE_31, $2
+	clearevent EVENT_WADE_HAS_BERRY
+	clearevent EVENT_WADE_HAS_PSNCUREBERRY
+	clearevent EVENT_WADE_HAS_PRZCUREBERRY
+	clearevent EVENT_WADE_HAS_BITTER_BERRY
+	random $4
+	if_equal $0, .Berry
+	if_equal $1, .PsnCureBerry
+	if_equal $2, .PrzCureBerry
+	if_equal $3, .Bitterberry
+
+.Berry:
+	setevent EVENT_WADE_HAS_BERRY
+	jump .FoundBerry
+
+.PsnCureBerry:
+	setevent EVENT_WADE_HAS_PSNCUREBERRY
+	jump .FoundBerry
+
+.PrzCureBerry:
+	setevent EVENT_WADE_HAS_PRZCUREBERRY
+	jump .FoundBerry
+
+.Bitterberry:
+	setevent EVENT_WADE_HAS_BITTER_BERRY
+
+.FoundBerry:
+	farjump PhoneScript_FoundItem_Male
+
+; Ralph
+
+RalphPhoneScript1:
+	trainertotext FISHER, RALPH1, $0
+	checkflag ENGINE_RALPH
+	iftrue Ralph_Rematch
+	farscall PhoneScript_AnswerPhone_Male
+	checkflag ENGINE_RALPH_WEDNESDAY_MORNING
+	iftrue Ralph_CheckSwarm
+	checkcode VAR_WEEKDAY
+	if_not_equal WEDNESDAY, Ralph_CheckSwarm
+	checkmorn
+	iftrue Ralph_WednesdayMorning
+Ralph_CheckSwarm:
+	checkflag ENGINE_SPECIAL_WILDDATA
+	iftrue Ralph_ReportSwarm
+	farjump UnknownScript_0xa0940
+
+Ralph_Rematch:
+	landmarktotext ROUTE_32, $2
+	farjump UnknownScript_0xa0a55
+
+Ralph_ReportSwarm:
+	landmarktotext ROUTE_32, $2
+	farjump UnknownScript_0xa0af5
+
+RalphPhoneScript2:
+	trainertotext FISHER, RALPH1, $0
+	farscall PhoneScript_GreetPhone_Male
+	checkflag ENGINE_FLYPOINT_GOLDENROD
+	iffalse Ralph_CheckSwarm2
+	checkflag ENGINE_RALPH
+	iftrue Ralph_CheckSwarm2
+	checkflag ENGINE_RALPH_WEDNESDAY_MORNING
+	iftrue Ralph_CheckSwarm2
+	farscall PhoneScript_Random2
+	if_equal $0, Ralph_FightMe
+Ralph_CheckSwarm2:
+	farscall PhoneScript_Random5
+	if_equal $0, Ralph_SetUpSwarm
+	farjump Phone_GenericCall_Male
+
+Ralph_WednesdayMorning:
+	setflag ENGINE_RALPH_WEDNESDAY_MORNING
+Ralph_FightMe:
+	landmarktotext ROUTE_32, $2
+	setflag ENGINE_RALPH
+	farjump PhoneScript_WantsToBattle_Male
+
+Ralph_SetUpSwarm:
+	checkflag ENGINE_SPECIAL_WILDDATA
+	iftrue .Generic
+	setflag ENGINE_SPECIAL_WILDDATA
+	pokenamemem QWILFISH, $1
+	landmarktotext ROUTE_32, $2
+	writebyte FISHSWARM_QWILFISH
+	special Special_ActivateFishingSwarm
+	farjump UnknownScript_0xa05d6
+
+.Generic:
+	farjump Phone_GenericCall_Male
+
+; Liz
+
+LizPhoneScript1:
+	trainertotext PICNICKER, LIZ1, $0
+	checkflag ENGINE_LIZ
+	iftrue .WantsBattle
+	farscall PhoneScript_AnswerPhone_Female
+	checkflag ENGINE_LIZ_THURSDAY_AFTERNOON
+	iftrue .NotThursday
+	checkcode VAR_WEEKDAY
+	if_not_equal THURSDAY, .NotThursday
+	checkday
+	iftrue LizThursdayAfternoon
+
+.NotThursday:
+	special RandomPhoneMon
+	farjump UnknownScript_0xa0948
+
+.WantsBattle:
+	landmarktotext ROUTE_32, $2
+	farjump UnknownScript_0xa0a5a
+
+LizPhoneScript2:
+	trainertotext PICNICKER, LIZ1, $0
+	farscall PhoneScript_Random4
+	if_equal $0, LizWrongNumber
+	farscall PhoneScript_GreetPhone_Female
+	checkflag ENGINE_LIZ
+	iftrue .next
+	checkflag ENGINE_LIZ_THURSDAY_AFTERNOON
+	iftrue .next
+
+.next:
+	farscall PhoneScript_Random2
+	if_equal $0, LizGossip
+	checkflag ENGINE_FLYPOINT_GOLDENROD
+	iffalse .Generic
+	farscall PhoneScript_Random2
+	if_equal $0, LizWantsBattle
+
+.Generic:
+	farjump Phone_GenericCall_Female
+
+LizThursdayAfternoon:
+	setflag ENGINE_LIZ_THURSDAY_AFTERNOON
+
+LizWantsBattle:
+	landmarktotext ROUTE_32, $2
+	setflag ENGINE_LIZ
+	farjump PhoneScript_WantsToBattle_Female
+
+LizWrongNumber:
+	farjump LizWrongNumberScript
+
+LizGossip:
+	random $9
+	if_equal $0, .CoolTrainerM
+	if_equal $1, .Beauty
+	if_equal $2, .Grunt
+	if_equal $3, .Teacher
+	if_equal $4, .SwimmerF
+	if_equal $5, .KimonoGirl
+	if_equal $6, .Skier
+	if_equal $7, .Medium
+	if_equal $8, .PokefanM
+
+.CoolTrainerM:
+	trainerclassname COOLTRAINERM, $1
+	jump LizGossipScript
+
+.Beauty:
+	trainerclassname BEAUTY, $1
+	jump LizGossipScript
+
+.Grunt:
+	trainerclassname GRUNTM, $1
+	jump LizGossipScript
+
+.Teacher:
+	trainerclassname TEACHER, $1
+	jump LizGossipScript
+
+.SwimmerF:
+	trainerclassname SWIMMERF, $1
+	jump LizGossipScript
+
+.KimonoGirl:
+	trainerclassname KIMONO_GIRL, $1
+	jump LizGossipScript
+
+.Skier:
+	trainerclassname SKIER, $1
+	jump LizGossipScript
+
+.Medium:
+	trainerclassname MEDIUM, $1
+	jump LizGossipScript
+
+.PokefanM:
+	trainerclassname POKEFANM, $1
+	jump LizGossipScript
+
+LizGossipScript:
+	farjump UnknownScript_0xa06da
+
+; Anthony
+
+AnthonyPhoneScript1:
+	trainertotext HIKER, ANTHONY2, $0
+	checkflag ENGINE_ANTHONY
+	iftrue .WantsBattle
+	farscall PhoneScript_AnswerPhone_Male
+	checkflag ENGINE_ANTHONY_FRIDAY_NIGHT
+	iftrue .NotFriday
+	checkcode VAR_WEEKDAY
+	if_not_equal FRIDAY, .NotFriday
+	checknite
+	iftrue AnthonyFridayNight
+
+.NotFriday:
+	checkflag ENGINE_DUNSPARCE_SWARM
+	iftrue .AlreadySwarming
+	farjump UnknownScript_0xa0950
+
+.WantsBattle:
+	landmarktotext ROUTE_33, $2
+	farjump UnknownScript_0xa0a5f
+
+.AlreadySwarming:
+	landmarktotext ROUTE_33, $2
+	farjump UnknownScript_0xa0afa
+
+AnthonyPhoneScript2:
+	trainertotext HIKER, ANTHONY2, $0
+	farscall PhoneScript_GreetPhone_Male
+	checkflag ENGINE_FLYPOINT_GOLDENROD
+	iffalse .TriesSwarm
+	checkflag ENGINE_ANTHONY
+	iftrue .TriesSwarm
+	checkflag ENGINE_ANTHONY_FRIDAY_NIGHT
+	iftrue .TriesSwarm
+	farscall PhoneScript_Random2
+	if_equal $0, AnthonyWantsBattle
+
+.TriesSwarm:
+	farscall PhoneScript_Random5
+	if_equal $0, AnthonyTriesDunsparceSwarm
+	farjump Phone_GenericCall_Male
+
+AnthonyFridayNight:
+	setflag ENGINE_ANTHONY_FRIDAY_NIGHT
+
+AnthonyWantsBattle:
+	landmarktotext ROUTE_33, $2
+	setflag ENGINE_ANTHONY
+	farjump PhoneScript_WantsToBattle_Male
+
+AnthonyTriesDunsparceSwarm:
+	checkflag ENGINE_DUNSPARCE_SWARM
+	iftrue .Generic
+	setflag ENGINE_DUNSPARCE_SWARM
+	pokenamemem DUNSPARCE, $1
+	swarm SWARM_DUNSPARCE, DARK_CAVE_VIOLET_ENTRANCE
+	landmarktotext DARK_CAVE, $2
+	farjump UnknownScript_0xa05de
+
+.Generic:
+	farjump Phone_GenericCall_Male
+
+; Todd
+
+ToddPhoneScript1:
+	trainertotext CAMPER, TODD1, $0
+	checkflag ENGINE_TODD
+	iftrue .WantsBattle
+	farscall PhoneScript_AnswerPhone_Male
+	checkflag ENGINE_TODD_SATURDAY_MORNING
+	iftrue .NotSaturday
+	checkcode VAR_WEEKDAY
+	if_not_equal SATURDAY, .NotSaturday
+	checkmorn
+	iftrue ToddSaturdayMorning
+
+.NotSaturday:
+	checkflag ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON
+	iftrue .SaleOn
+	farjump UnknownScript_0xa0958
+
+.WantsBattle:
+	landmarktotext ROUTE_34, $2
+	farjump UnknownScript_0xa0a64
+
+.SaleOn:
+	farjump UnknownScript_0xa0b04
+
+ToddPhoneScript2:
+	trainertotext CAMPER, TODD1, $0
+	farscall PhoneScript_GreetPhone_Male
+	checkflag ENGINE_TODD
+	iftrue .TryForSale
+	checkflag ENGINE_TODD_SATURDAY_MORNING
+	iftrue .TryForSale
+	checkflag ENGINE_FLYPOINT_GOLDENROD
+	iffalse ToddNoGoldenrod
+	farscall PhoneScript_Random2
+	if_equal $0, ToddWantsBattle
+
+.TryForSale:
+	farscall PhoneScript_Random2
+	if_equal $0, ToddDeptStoreSale
+
+ToddNoGoldenrod:
+	farscall PhoneScript_Random3
+	if_equal $0, ToddFoundRare
+	farjump Phone_GenericCall_Male
+
+ToddSaturdayMorning:
+	setflag ENGINE_TODD_SATURDAY_MORNING
+
+ToddWantsBattle:
+	landmarktotext ROUTE_34, $2
+	setflag ENGINE_TODD
+	farjump PhoneScript_WantsToBattle_Male
+
+ToddFoundRare:
+	farjump Phone_CheckIfUnseenRare_Male
+
+ToddDeptStoreSale:
+	setflag ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON
+	farjump UnknownScript_0xa0644
+
+; Gina
+
+GinaPhoneScript1:
+	trainertotext PICNICKER, GINA1, $0
+	checkflag ENGINE_GINA
+	iftrue .WantsBattle
+	farscall PhoneScript_AnswerPhone_Female
+	checkflag ENGINE_GINA_SUNDAY_AFTERNOON
+	iftrue .NotSunday
+	checkflag ENGINE_GINA_HAS_LEAF_STONE
+	iftrue .HasLeafStone
+	checkcode VAR_WEEKDAY
+	if_not_equal SUNDAY, .NotSunday
+	checkday
+	iftrue GinaSundayDay
+
+.NotSunday:
+	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
+	iftrue .Rockets
+	farjump UnknownScript_0xa0960
+
+.Rockets:
+	farjump UnknownScript_0xa05c6
+
+.WantsBattle:
+	landmarktotext ROUTE_34, $2
+	farjump UnknownScript_0xa0a69
+
+.HasLeafStone:
+	landmarktotext ROUTE_34, $2
+	farjump UnknownScript_0xa0abd
+
+GinaPhoneScript2:
+	trainertotext PICNICKER, GINA1, $0
+	farscall PhoneScript_GreetPhone_Female
+	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
+	iftrue GinaRockets
+	checkflag ENGINE_GINA
+	iftrue .Generic
+	checkflag ENGINE_GINA_SUNDAY_AFTERNOON
+	iftrue .Generic
+	checkflag ENGINE_GINA_HAS_LEAF_STONE
+	iftrue .Generic
+	checkevent EVENT_GINA_GAVE_LEAF_STONE
+	iftrue .GaveLeafStone
+	farscall PhoneScript_Random2
+	if_equal $0, GinaHasLeafStone
+
+.GaveLeafStone:
+	farscall PhoneScript_Random11
+	if_equal $0, GinaHasLeafStone
+	checkflag ENGINE_FLYPOINT_GOLDENROD
+	iffalse .Generic
+	farscall PhoneScript_Random3
+	if_equal $0, GinaWantsBattle
+
+.Generic:
+	farjump Phone_GenericCall_Female
+
+GinaSundayDay:
+	setflag ENGINE_GINA_SUNDAY_AFTERNOON
+
+GinaWantsBattle:
+	landmarktotext ROUTE_34, $2
+	setflag ENGINE_GINA
+	farjump PhoneScript_WantsToBattle_Female
+
+GinaRockets:
+	farjump UnknownScript_0xa05c6
+
+GinaHasLeafStone:
+	setflag ENGINE_GINA_HAS_LEAF_STONE
+	landmarktotext ROUTE_34, $2
+	farjump PhoneScript_FoundItem_Female
+
+; Irwin
+
+IrwinPhoneScript1:
+	trainertotext JUGGLER, IRWIN1, $0
+	farscall PhoneScript_AnswerPhone_Male
+	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
+	iftrue .Rockets
+	farjump UnknownScript_0xa09c8
+
+.Rockets:
+	farjump IrwinRocketRumor
+
+IrwinPhoneScript2:
+	trainertotext JUGGLER, IRWIN1, $0
+	farscall PhoneScript_GreetPhone_Male
+	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
+	iftrue .Rockets
+	farjump IrwinRumorScript
+
+.Rockets:
+	farjump IrwinRocketRumor
+
+; Arnie
+
+ArniePhoneScript1:
+	trainertotext BUG_CATCHER, ARNIE1, $0
+	checkflag ENGINE_ARNIE
+	iftrue .WantsBattle
+	farscall PhoneScript_AnswerPhone_Male
+	checkflag ENGINE_ARNIE_TUESDAY_MORNING
+	iftrue .NotTuesday
+	checkcode VAR_WEEKDAY
+	if_not_equal TUESDAY, .NotTuesday
+	checkmorn
+	iftrue ArnieTuesdayMorning
+
+.NotTuesday:
+	checkflag ENGINE_YANMA_SWARM
+	iftrue .AlreadySwarming
+	farjump UnknownScript_0xa0968
+
+.WantsBattle:
+	landmarktotext ROUTE_35, $2
+	farjump UnknownScript_0xa0a6e
+
+.AlreadySwarming:
+	landmarktotext ROUTE_35, $2
+	farjump UnknownScript_0xa0aff
+
+ArniePhoneScript2:
+	trainertotext BUG_CATCHER, ARNIE1, $0
+	farscall PhoneScript_GreetPhone_Male
+	checkflag ENGINE_ARNIE
+	iftrue .Swarm
+	checkflag ENGINE_ARNIE_TUESDAY_MORNING
+	iftrue .Swarm
+	farscall PhoneScript_Random2
+	if_equal $0, ArnieWantsBattle
+
+.Swarm:
+	farscall PhoneScript_Random5
+	if_equal $0, ArnieYanmaSwarm
+	farscall PhoneScript_Random3
+	if_equal $0, ArnieFoundRare
+	farjump Phone_GenericCall_Male
+
+ArnieTuesdayMorning:
+	setflag ENGINE_ARNIE_TUESDAY_MORNING
+
+ArnieWantsBattle:
+	landmarktotext ROUTE_35, $2
+	setflag ENGINE_ARNIE
+	farjump PhoneScript_WantsToBattle_Male
+
+ArnieYanmaSwarm: ; start swarm
+	checkflag ENGINE_YANMA_SWARM
+	iftrue ArnieYanmaAlreadySwarming
+	setflag ENGINE_YANMA_SWARM
+	pokenamemem YANMA, $1
+	swarm SWARM_YANMA, ROUTE_35
+	landmarktotext ROUTE_35, $2
+	farjump UnknownScript_0xa05ce
+
+ArnieFoundRare:
+	farjump Phone_CheckIfUnseenRare_Male
+
+ArnieYanmaAlreadySwarming:
+	farjump Phone_GenericCall_Male
+
+; Alan
+
+AlanPhoneScript1:
+	trainertotext SCHOOLBOY, ALAN1, $0
+	checkflag ENGINE_ALAN
+	iftrue .WantsBattle
+	farscall PhoneScript_AnswerPhone_Male
+	checkflag ENGINE_ALAN_WEDNESDAY_AFTERNOON
+	iftrue .NotWednesday
+	checkflag ENGINE_ALAN_HAS_FIRE_STONE
+	iftrue .FireStone
+	checkcode VAR_WEEKDAY
+	if_not_equal WEDNESDAY, .NotWednesday
+	checkday
+	iftrue AlanWednesdayDay
+
+.NotWednesday:
+	farjump UnknownScript_0xa0970
+
+.WantsBattle:
+	landmarktotext ROUTE_36, $2
+	farjump UnknownScript_0xa0a73
+
+.FireStone:
+	landmarktotext ROUTE_36, $2
+	farjump UnknownScript_0xa0ac5
+
+AlanPhoneScript2:
+	trainertotext SCHOOLBOY, ALAN1, $0
+	farscall PhoneScript_GreetPhone_Male
+	checkflag ENGINE_ALAN
+	iftrue AlanGenericCall
+	checkflag ENGINE_ALAN_WEDNESDAY_AFTERNOON
+	iftrue AlanGenericCall
+	checkflag ENGINE_ALAN_HAS_FIRE_STONE
+	iftrue AlanGenericCall
+	farscall PhoneScript_Random3
+	if_equal $0, AlanWantsBattle
+	checkevent EVENT_ALAN_GAVE_FIRE_STONE
+	iftrue .FireStone
+	farscall PhoneScript_Random2
+	if_equal $0, AlanHasFireStone
+
+.FireStone:
+	farscall PhoneScript_Random11
+	if_equal $0, AlanHasFireStone
+
+AlanGenericCall:
+	farjump Phone_GenericCall_Male
+
+AlanWednesdayDay:
+	setflag ENGINE_ALAN_WEDNESDAY_AFTERNOON
+
+AlanWantsBattle:
+	landmarktotext ROUTE_36, $2
+	setflag ENGINE_ALAN
+	farjump PhoneScript_WantsToBattle_Male
+
+AlanHasFireStone:
+	setflag ENGINE_ALAN_HAS_FIRE_STONE
+	landmarktotext ROUTE_36, $2
+	farjump PhoneScript_FoundItem_Male
+
+; Dana
+
+DanaPhoneScript1:
+	trainertotext LASS, DANA1, $0
+	checkflag ENGINE_DANA
+	iftrue .WantsBattle
+	farscall PhoneScript_AnswerPhone_Female
+	checkflag ENGINE_DANA_THURSDAY_NIGHT
+	iftrue .NotThursday
+	checkflag ENGINE_DANA_HAS_THUNDERSTONE
+	iftrue .HasThunderstone
+	checkcode VAR_WEEKDAY
+	if_not_equal THURSDAY, .NotThursday
+	checknite
+	iftrue DanaThursdayNight
+
+.NotThursday:
+	farjump UnknownScript_0xa0978
+
+.WantsBattle:
+	landmarktotext ROUTE_38, $2
+	farjump UnknownScript_0xa0a78
+
+.HasThunderstone:
+	landmarktotext ROUTE_38, $2
+	farjump UnknownScript_0xa0acd
+
+DanaPhoneScript2:
+	trainertotext LASS, DANA1, $0
+	farscall PhoneScript_GreetPhone_Female
+	checkflag ENGINE_DANA
+	iftrue .Generic
+	checkflag ENGINE_DANA_THURSDAY_NIGHT
+	iftrue .Generic
+	checkflag ENGINE_DANA_HAS_THUNDERSTONE
+	iftrue .Generic
+	farscall PhoneScript_Random3
+	if_equal $0, DanaWantsBattle
+	checkevent EVENT_DANA_GAVE_THUNDERSTONE
+	iftrue .Thunderstone
+	farscall PhoneScript_Random2
+	if_equal $0, DanaHasThunderstone
+
+.Thunderstone:
+	farscall PhoneScript_Random11
+	if_equal $0, DanaHasThunderstone
+
+.Generic:
+	farscall PhoneScript_Random3
+	if_equal $0, DanaFoundRare
+	farjump Phone_GenericCall_Female
+
+DanaThursdayNight:
+	setflag ENGINE_DANA_THURSDAY_NIGHT
+
+DanaWantsBattle:
+	landmarktotext ROUTE_38, $2
+	setflag ENGINE_DANA
+	farjump PhoneScript_WantsToBattle_Female
+
+DanaFoundRare:
+	farjump Phone_CheckIfUnseenRare_Female
+
+DanaHasThunderstone:
+	setflag ENGINE_DANA_HAS_THUNDERSTONE
+	landmarktotext ROUTE_38, $2
+	farjump PhoneScript_FoundItem_Female
+
+; Chad
+
+ChadPhoneScript1:
+	trainertotext SCHOOLBOY, CHAD1, $0
+	checkflag ENGINE_CHAD
+	iftrue .WantsBattle
+	farscall PhoneScript_AnswerPhone_Male
+	checkflag ENGINE_CHAD_FRIDAY_MORNING
+	iftrue .NotFriday
+	checkcode VAR_WEEKDAY
+	if_not_equal FRIDAY, .NotFriday
+	checkmorn
+	iftrue ChadFridayMorning
+
+.NotFriday:
+	farjump UnknownScript_0xa0980
+
+.WantsBattle:
+	landmarktotext ROUTE_38, $2
+	farjump UnknownScript_0xa0a7d
+
+ChadPhoneScript2:
+	trainertotext SCHOOLBOY, CHAD1, $0
+	farscall PhoneScript_GreetPhone_Male
+	farscall PhoneScript_Random2
+	if_equal $0, ChadOakGossip
+	checkflag ENGINE_CHAD
+	iftrue .Generic
+	checkflag ENGINE_CHAD_FRIDAY_MORNING
+	iftrue .Generic
+	farscall PhoneScript_Random2
+	if_equal $0, ChadWantsBattle
+
+.Generic:
+	farscall PhoneScript_Random3
+	if_equal $0, ChadFoundRare
+	farjump Phone_GenericCall_Male
+
+ChadFridayMorning:
+	setflag ENGINE_CHAD_FRIDAY_MORNING
+
+ChadWantsBattle:
+	landmarktotext ROUTE_38, $2
+	setflag ENGINE_CHAD
+	farjump PhoneScript_WantsToBattle_Male
+
+ChadFoundRare:
+	farjump Phone_CheckIfUnseenRare_Male
+
+ChadOakGossip:
+	farjump ChadOakGossipScript
+
+DerekPhoneScript1:
+	trainertotext POKEFANM, DEREK1, $0
+	farscall PhoneScript_AnswerPhone_Male
+	checkflag ENGINE_DEREK_HAS_NUGGET
+	iftrue .Nugget
+	farscall PhoneScript_Random2
+	if_equal $0, .NoContest
+	checkflag ENGINE_DAILY_BUG_CONTEST
+	iftrue .NoContest
+	checkcode VAR_WEEKDAY
+	if_equal TUESDAY, .ContestToday
+	if_equal THURSDAY, .ContestToday
+	if_equal SATURDAY, .ContestToday
+
+.NoContest:
+	farjump UnknownScript_0xa0988
+
+.ContestToday:
+	farjump PhoneScript_BugCatchingContest
+
+.Nugget:
+	landmarktotext ROUTE_39, $2
+	farjump UnknownScript_0xa0ad5
+
+DerekPhoneScript2:
+	trainertotext POKEFANM, DEREK1, $0
+	farscall PhoneScript_GreetPhone_Male
+	farscall PhoneScript_Random2
+	if_equal $0, .NoContest
+	checkflag ENGINE_DAILY_BUG_CONTEST
+	iftrue .NoContest
+	checkcode VAR_WEEKDAY
+	if_equal TUESDAY, .ContestToday
+	if_equal THURSDAY, .ContestToday
+	if_equal SATURDAY, .ContestToday
+
+.NoContest:
+	farscall PhoneScript_Random4
+	if_equal $0, .Nugget
+	farjump Phone_GenericCall_Male
+
+.ContestToday:
+	farjump PhoneScript_BugCatchingContest
+
+.Nugget:
+	setflag ENGINE_DEREK_HAS_NUGGET
+	landmarktotext ROUTE_39, $2
+	farjump PhoneScript_FoundItem_Male
+
+TullyPhoneScript1:
+	trainertotext FISHER, TULLY1, $0
+	checkflag ENGINE_TULLY
+	iftrue .WantsBattle
+	farscall PhoneScript_AnswerPhone_Male
+	checkflag ENGINE_TULLY_SUNDAY_NIGHT
+	iftrue .NotSunday
+	checkflag ENGINE_TULLY_HAS_WATER_STONE
+	iftrue TullyHasWaterStone
+	checkcode VAR_WEEKDAY
+	if_not_equal SUNDAY, .NotSunday
+	checknite
+	iftrue TullySundayNight
+
+.NotSunday:
+	farjump UnknownScript_0xa0990
+
+.WantsBattle:
+	landmarktotext ROUTE_42, $2
+	farjump UnknownScript_0xa0a82
+
+TullyHasWaterStone:
+	landmarktotext ROUTE_42, $2
+	farjump UnknownScript_0xa0add
+
+TullyPhoneScript2:
+	trainertotext FISHER, TULLY1, $0
+	farscall PhoneScript_GreetPhone_Male
+	checkflag ENGINE_TULLY
+	iftrue .Generic
+	checkflag ENGINE_TULLY_SUNDAY_NIGHT
+	iftrue .Generic
+	checkflag ENGINE_TULLY_HAS_WATER_STONE
+	iftrue .Generic
+	farscall PhoneScript_Random3
+	if_equal $0, TullyWantsBattle
+	checkevent EVENT_TULLY_GAVE_WATER_STONE
+	iftrue .WaterStone
+	farscall PhoneScript_Random2
+	if_equal $0, TullyFoundWaterStone
+
+.WaterStone:
+	farscall PhoneScript_Random11
+	if_equal $0, TullyFoundWaterStone
+
+.Generic:
+	farjump Phone_GenericCall_Male
+
+TullySundayNight:
+	setflag ENGINE_TULLY_SUNDAY_NIGHT
+
+TullyWantsBattle:
+	landmarktotext ROUTE_42, $2
+	setflag ENGINE_TULLY
+	farjump PhoneScript_WantsToBattle_Male
+
+TullyFoundWaterStone:
+	setflag ENGINE_TULLY_HAS_WATER_STONE
+	landmarktotext ROUTE_42, $2
+	farjump PhoneScript_FoundItem_Male
+
+BrentPhoneScript1:
+	trainertotext POKEMANIAC, BRENT1, $0
+	checkflag ENGINE_BRENT
+	iftrue .WantsBattle
+	farscall PhoneScript_AnswerPhone_Male
+	checkflag ENGINE_BRENT_MONDAY_MORNING
+	iftrue .NotMonday
+	checkcode VAR_WEEKDAY
+	if_not_equal MONDAY, .NotMonday
+	checkmorn
+	iftrue BrentMondayMorning
+
+.NotMonday:
+	farjump UnknownScript_0xa0998
+
+.WantsBattle:
+	landmarktotext ROUTE_43, $2
+	farjump UnknownScript_0xa0a87
+
+BrentPhoneScript2:
+	trainertotext POKEMANIAC, BRENT1, $0
+	farscall PhoneScript_GreetPhone_Male
+	farscall PhoneScript_Random2
+	if_equal $0, BrentBillTrivia
+	checkflag ENGINE_BRENT
+	iftrue .Generic
+	checkflag ENGINE_BRENT_MONDAY_MORNING
+	iftrue .Generic
+	farscall PhoneScript_Random2
+	if_equal $0, BrentWantsBattle
+
+.Generic:
+	farjump Phone_GenericCall_Male
+
+BrentMondayMorning:
+	setflag ENGINE_BRENT_MONDAY_MORNING
+
+BrentWantsBattle:
+	landmarktotext ROUTE_43, $2
+	setflag ENGINE_BRENT
+	farjump PhoneScript_WantsToBattle_Male
+
+BrentBillTrivia:
+	farjump BrentBillTriviaScript
+
+TiffanyPhoneScript1:
+	trainertotext PICNICKER, TIFFANY3, $0
+	checkflag ENGINE_TIFFANY
+	iftrue .WantsBattle
+	farscall PhoneScript_AnswerPhone_Female
+	checkflag ENGINE_TIFFANY_TUESDAY_AFTERNOON
+	iftrue .NotTuesday
+	checkflag ENGINE_TIFFANY_HAS_PINK_BOW
+	iftrue .HasItem
+	checkcode VAR_WEEKDAY
+	if_not_equal TUESDAY, .NotTuesday
+	checkday
+	iftrue TiffanyTuesdayAfternoon
+
+.NotTuesday:
+	farjump UnknownScript_0xa09a0
+
+.WantsBattle:
+	landmarktotext ROUTE_43, $2
+	farjump UnknownScript_0xa0a8c
+
+.HasItem:
+	landmarktotext ROUTE_43, $2
+	farjump UnknownScript_0xa0ae5
+
+TiffanyPhoneScript2:
+	trainertotext PICNICKER, TIFFANY3, $0
+	farscall PhoneScript_Random4
+	if_equal $0, TiffanysFamilyMembers
+	farscall PhoneScript_GreetPhone_Female
+	checkflag ENGINE_TIFFANY
+	iftrue TiffanyGenericCall
+	checkflag ENGINE_TIFFANY_TUESDAY_AFTERNOON
+	iftrue TiffanyGenericCall
+	checkflag ENGINE_TIFFANY_HAS_PINK_BOW
+	iftrue TiffanyGenericCall
+	farscall PhoneScript_Random3
+	if_equal $0, TiffanyWantsBattle
+	checkevent EVENT_TIFFANY_GAVE_PINK_BOW
+	iftrue .PinkBow
+	farscall PhoneScript_Random2
+	if_equal $0, TiffanyHasPinkBow
+
+.PinkBow:
+	farscall PhoneScript_Random11
+	if_equal $0, TiffanyHasPinkBow
+
+TiffanyGenericCall:
+	farjump Phone_GenericCall_Female
+
+TiffanyTuesdayAfternoon:
+	setflag ENGINE_TIFFANY_TUESDAY_AFTERNOON
+
+TiffanyWantsBattle:
+	landmarktotext ROUTE_43, $2
+	setflag ENGINE_TIFFANY
+	farjump PhoneScript_WantsToBattle_Female
+
+TiffanysFamilyMembers:
+	random $6
+	if_equal $0, .Grandma
+	if_equal $1, .Grandpa
+	if_equal $2, .Mom
+	if_equal $3, .Dad
+	if_equal $4, .Sister
+	if_equal $5, .Brother
+
+.Grandma:
+	stringtotext GrandmaString, $1
+	jump TiffanysPoorClefairy
+
+.Grandpa:
+	stringtotext GrandpaString, $1
+	jump TiffanysPoorClefairy
+
+.Mom:
+	stringtotext MomString, $1
+	jump TiffanysPoorClefairy
+
+.Dad:
+	stringtotext DadString, $1
+	jump TiffanysPoorClefairy
+
+.Sister:
+	stringtotext SisterString, $1
+	jump TiffanysPoorClefairy
+
+.Brother:
+	stringtotext BrotherString, $1
+	jump TiffanysPoorClefairy
+
+TiffanysPoorClefairy:
+	farjump TiffanyItsAwful
+
+TiffanyHasPinkBow:
+	setflag ENGINE_TIFFANY_HAS_PINK_BOW
+	landmarktotext ROUTE_43, $2
+	farjump PhoneScript_FoundItem_Female
+
+; Vance
+
+VancePhoneScript1:
+	trainertotext BIRD_KEEPER, VANCE1, $0
+	checkflag ENGINE_VANCE
+	iftrue VanceWantsBattle
+	farscall PhoneScript_AnswerPhone_Male
+	checkflag ENGINE_VANCE_WEDNESDAY_NIGHT
+	iftrue .NotWednesday
+	checkcode VAR_WEEKDAY
+	if_not_equal WEDNESDAY, .NotWednesday
+	checknite
+	iftrue VanceWednesdayNight
+
+.NotWednesday:
+	farjump VanceLookingForward
+
+VanceWantsBattle:
+	landmarktotext ROUTE_44, $2
+	farjump VanceHurryHurry
+
+VancePhoneScript2:
+	trainertotext BIRD_KEEPER, VANCE1, $0
+	farscall PhoneScript_GreetPhone_Male
+	checkflag ENGINE_VANCE
+	iftrue .WantsBattle
+	checkflag ENGINE_VANCE_WEDNESDAY_NIGHT
+	iftrue .WantsBattle
+	farscall PhoneScript_Random3
+	if_equal $0, VanceWantsRematch
+	if_equal $1, VanceWantsRematch
+
+.WantsBattle:
+	farjump Phone_GenericCall_Male
+
+VanceWednesdayNight:
+	setflag ENGINE_VANCE_WEDNESDAY_NIGHT
+
+VanceWantsRematch:
+	landmarktotext ROUTE_44, $2
+	setflag ENGINE_VANCE
+	farjump PhoneScript_WantsToBattle_Male
+
+WiltonPhoneScript1:
+	trainertotext FISHER, WILTON1, $0
+	checkflag ENGINE_WILTON
+	iftrue .WantsBattle
+	farscall PhoneScript_AnswerPhone_Male
+	checkflag ENGINE_WILTON_THURSDAY_MORNING
+	iftrue .NotThursday
+	checkflag ENGINE_WILTON_HAS_ITEM
+	iftrue .HasItem
+	checkcode VAR_WEEKDAY
+	if_not_equal THURSDAY, .NotThursday
+	checkmorn
+	iftrue WiltonThursdayMorning
+
+.NotThursday:
+	farjump WiltonHaventFoundAnything
+
+.WantsBattle:
+	landmarktotext ROUTE_44, $2
+	farjump WiltonNotBiting
+
+.HasItem:
+	landmarktotext ROUTE_44, $2
+	farjump WiltonWantThis
+
+WiltonPhoneScript2:
+	trainertotext FISHER, WILTON1, $0
+	farscall PhoneScript_GreetPhone_Male
+	checkflag ENGINE_WILTON
+	iftrue .GenericCall
+	checkflag ENGINE_WILTON_THURSDAY_MORNING
+	iftrue .GenericCall
+	checkflag ENGINE_WILTON_HAS_ITEM
+	iftrue .GenericCall
+	farscall PhoneScript_Random2
+	if_equal $0, WiltonWantsBattle
+	farscall PhoneScript_Random2
+	if_equal $0, WiltonHasItem
+
+.GenericCall:
+	farjump Phone_GenericCall_Male
+
+WiltonThursdayMorning:
+	setflag ENGINE_WILTON_THURSDAY_MORNING
+
+WiltonWantsBattle:
+	landmarktotext ROUTE_44, $2
+	setflag ENGINE_WILTON
+	farjump PhoneScript_WantsToBattle_Male
+
+WiltonHasItem:
+	setflag ENGINE_WILTON_HAS_ITEM
+	landmarktotext ROUTE_44, $2
+	clearevent EVENT_WILTON_HAS_ULTRA_BALL
+	clearevent EVENT_WILTON_HAS_GREAT_BALL
+	clearevent EVENT_WILTON_HAS_POKE_BALL
+	random $5
+	if_equal $0, .UltraBall
+	random $3
+	if_equal $0, .GreatBall
+	jump .PokeBall
+
+.UltraBall:
+	setevent EVENT_WILTON_HAS_ULTRA_BALL
+	jump .FoundItem
+
+.GreatBall:
+	setevent EVENT_WILTON_HAS_GREAT_BALL
+	jump .FoundItem
+
+.PokeBall:
+	setevent EVENT_WILTON_HAS_POKE_BALL
+
+.FoundItem:
+	farjump PhoneScript_FoundItem_Male
+
+; Kenji
+
+KenjiPhoneScript1:
+	trainertotext BLACKBELT_T, KENJI3, $0
+	farscall PhoneScript_AnswerPhone_Male
+	farjump KenjiAnswerPhoneScript
+
+KenjiPhoneScript2:
+	trainertotext BLACKBELT_T, KENJI3, $0
+	farscall PhoneScript_GreetPhone_Male
+	farjump KenjiCallingPhoneScript
+
+; Parry
+
+ParryPhoneScript1:
+	trainertotext HIKER, PARRY1, $0
+	checkflag ENGINE_PARRY
+	iftrue .WantsBattle
+	farscall PhoneScript_AnswerPhone_Male
+	checkflag ENGINE_PARRY_FRIDAY_AFTERNOON
+	iftrue .WantsRematch
+	checkcode VAR_WEEKDAY
+	if_not_equal FRIDAY, .WantsRematch
+	checkday
+	iftrue ParryFridayDay
+
+.WantsRematch:
+	farjump ParryBattleWithMe
+
+.WantsBattle:
+	landmarktotext ROUTE_45, $2
+	farjump ParryHaventYouGottenTo
+
+ParryPhoneScript2:
+	trainertotext HIKER, PARRY1, $0
+	farscall PhoneScript_GreetPhone_Male
+	checkflag ENGINE_PARRY
+	iftrue .GenericCall
+	checkflag ENGINE_PARRY_FRIDAY_AFTERNOON
+	iftrue .GenericCall
+	farscall PhoneScript_Random2
+	if_equal $0, ParryWantsBattle
+	if_equal $1, ParryWantsBattle
+
+.GenericCall:
+	farjump Phone_GenericCall_Male
+
+ParryFridayDay:
+	setflag ENGINE_PARRY_FRIDAY_AFTERNOON
+
+ParryWantsBattle:
+	landmarktotext ROUTE_45, $2
+	setflag ENGINE_PARRY
+	farjump PhoneScript_WantsToBattle_Male
+
+; Erin
+
+ErinPhoneScript1:
+	trainertotext PICNICKER, ERIN1, $0
+	checkflag ENGINE_ERIN
+	iftrue .WantsBattle
+	farscall PhoneScript_AnswerPhone_Female
+	checkflag ENGINE_ERIN_SATURDAY_NIGHT
+	iftrue .NotSaturday
+	checkcode VAR_WEEKDAY
+	if_not_equal SATURDAY, .NotSaturday
+	checknite
+	iftrue ErinSaturdayNight
+
+.NotSaturday:
+	farjump ErinWorkingHardScript
+
+.WantsBattle:
+	landmarktotext ROUTE_46, $2
+	farjump ErinComeBattleScript
+
+ErinPhoneScript2:
+	trainertotext PICNICKER, ERIN1, $0
+	farscall PhoneScript_GreetPhone_Female
+	checkflag ENGINE_ERIN
+	iftrue .GenericCall
+	checkflag ENGINE_ERIN_SATURDAY_NIGHT
+	iftrue .GenericCall
+	farscall PhoneScript_Random3
+	if_equal $0, ErinWantsBattle
+	if_equal $1, ErinWantsBattle
+
+.GenericCall:
+	farjump Phone_GenericCall_Female
+
+ErinSaturdayNight:
+	setflag ENGINE_ERIN_SATURDAY_NIGHT
+
+ErinWantsBattle:
+	landmarktotext ROUTE_46, $2
+	setflag ENGINE_ERIN
+	farjump PhoneScript_WantsToBattle_Female
--- a/engine/phone_scripts.asm
+++ /dev/null
@@ -1,3153 +1,0 @@
-UnusedPhoneScript: ; 0xbcea5
-	farwritetext UnusedPhoneText
-	end
-
-; Mom
-
-MomPhoneScript: ; 0xbceaa
-	checkevent EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST
-	iftrue .bcec5
-	checkevent EVENT_DUDE_TALKED_TO_YOU
-	iftrue MomPhoneLectureScript
-	checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
-	iftrue MomPhoneNoGymQuestScript
-	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
-	iftrue MomPhoneNoPokedexScript
-	jump MomPhoneNoPokemonScript
-
-.bcec5 ; 0xbcec5
-	checkevent EVENT_IN_YOUR_ROOM
-	iftrue MomPhoneHangUpScript
-	farwritetext MomPhoneGreetingText
-	buttonsound
-	mapnametotext $0
-	checkcode VAR_ROOFPALETTE
-	if_equal $1, MomPhonePalette1
-	if_equal $2, MomPhonePalette2
-	jump UnknownScript_0xbcf2f
-
-MomPhoneLandmark: ; 0xbcedf
-	farwritetext MomPhoneLandmarkText
-	buttonsound
-	jump UnknownScript_0xbcf37
-
-MomPhonePalette1: ; 0xbcee7
-	checkcode VAR_MAPGROUP
-	if_equal GROUP_NEW_BARK_TOWN, .newbark
-	if_equal GROUP_CHERRYGROVE_CITY, .cherrygrove
-	if_equal GROUP_VIOLET_CITY, .violet
-	if_equal GROUP_AZALEA_TOWN, .azalea
-	if_equal GROUP_GOLDENROD_CITY, .goldenrod
-	farwritetext MomPhoneGenericAreaText
-	buttonsound
-	jump UnknownScript_0xbcf37
-
-.newbark ; 0xbcf05
-	farwritetext MomPhoneNewBarkText
-	buttonsound
-	jump UnknownScript_0xbcf37
-
-.cherrygrove ; 0xbcf0d
-	farwritetext MomPhoneCherrygroveText
-	buttonsound
-	jump UnknownScript_0xbcf37
-
-.violet ; 0xbcf15
-	landmarktotext SPROUT_TOWER, 1
-	jump MomPhoneLandmark
-.azalea ; 0xbcf1b
-	landmarktotext SLOWPOKE_WELL, 1
-	jump MomPhoneLandmark
-.goldenrod ; 0xbcf21
-	landmarktotext RADIO_TOWER, 1
-	jump MomPhoneLandmark
-
-MomPhonePalette2: ; 0xbcf27
-	farwritetext MomOtherAreaText
-	buttonsound
-	jump UnknownScript_0xbcf37
-
-UnknownScript_0xbcf2f: ; 0xbcf2f
-	farwritetext MomDeterminedText
-	buttonsound
-	jump UnknownScript_0xbcf37
-
-UnknownScript_0xbcf37: ; 0xbcf37
-	checkflag ENGINE_MOM_SAVING_MONEY
-	iffalse CheckIfMomHasMoney
-	checkmoney $1, 0
-	if_equal $0, UnknownScript_0xbcf55
-	jump UnknownScript_0xbcf63
-
-CheckIfMomHasMoney: ; 0xbcf49
-	checkmoney $1, 0
-	if_equal $0, MomHasMoney
-	jump MomHasNoMoney
-
-UnknownScript_0xbcf55: ; 0xbcf55
-	readmoney $1, $0
-	farwritetext MomCheckBalanceText
-	yesorno
-	iftrue MomPhoneSaveMoneyScript
-	jump MomPhoneWontSaveMoneyScript
-
-UnknownScript_0xbcf63: ; 0xbcf63
-	farwritetext UnknownText_0x1b41ea
-	yesorno
-	iftrue MomPhoneSaveMoneyScript
-	jump MomPhoneWontSaveMoneyScript
-
-MomHasNoMoney: ; 0xbcf6e
-	farwritetext UnknownText_0x1b420d
-	yesorno
-	iftrue MomPhoneSaveMoneyScript
-	jump MomPhoneWontSaveMoneyScript
-
-MomHasMoney: ; 0xbcf79
-	readmoney $1, $0
-	farwritetext UnknownText_0x1b4249
-	yesorno
-	iftrue MomPhoneSaveMoneyScript
-	jump MomPhoneWontSaveMoneyScript
-
-MomPhoneSaveMoneyScript: ; 0xbcf87
-	setflag ENGINE_MOM_SAVING_MONEY
-	farwritetext UnknownText_0x1b4289
-	buttonsound
-	jump MomPhoneHangUpScript
-
-MomPhoneWontSaveMoneyScript: ; 0xbcf92
-	clearflag ENGINE_MOM_SAVING_MONEY
-	farwritetext MomPhoneWontSaveMoneyText
-	buttonsound
-	jump MomPhoneHangUpScript
-
-MomPhoneHangUpScript: ; 0xbcf9d
-	farwritetext MomPhoneHangUpText
-	end
-
-MomPhoneNoPokemonScript: ; 0xbcfa2
-	farwritetext MomPhoneNoPokemonText
-	end
-
-MomPhoneNoPokedexScript: ; 0xbcfa7
-	farwritetext MomPhoneNoPokedexText
-	end
-
-MomPhoneNoGymQuestScript: ; 0xbcfac
-	farwritetext MomPhoneNoGymQuestText
-	end
-
-MomPhoneLectureScript: ; 0xbcfb1
-	setevent EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST
-	setflag ENGINE_DST
-	specialphonecall SPECIALCALL_NONE
-	farwritetext MomPhoneLectureText
-	yesorno
-	iftrue MomPhoneSaveMoneyScript
-	jump MomPhoneWontSaveMoneyScript
-
-; Bill
-
-BillPhoneScript1: ; 0xbcfc5
-	checkday
-	iftrue .daygreet
-	checknite
-	iftrue .nitegreet
-	farwritetext BillPhoneMornGreetingText
-	buttonsound
-	jump .main
-
-.daygreet ; 0xbcfd7
-	farwritetext BillPhoneDayGreetingText
-	buttonsound
-	jump .main
-
-.nitegreet ; 0xbcfdf
-	farwritetext BillPhoneNiteGreetingText
-	buttonsound
-	jump .main
-
-.main ; 0xbcfe7
-	farwritetext BillPhoneGeneriText
-	buttonsound
-	checkcode VAR_BOXSPACE
-	RAM2MEM $0
-	if_equal $0, .full
-	if_less_than $6, .nearlyfull
-	farwritetext BillPhoneNotFullText
-	end
-
-.nearlyfull ; 0xbcffd
-	farwritetext BillPhoneNearlyFullText
-	end
-
-.full ; 0xbd002
-	farwritetext BillPhoneFullText
-	end
-
-BillPhoneScript2: ; 0xbd007
-	farwritetext BillPhoneNewlyFullText
-	waitbutton
-	end
-
-; Elm
-
-ElmPhoneScript1: ; 0xbd00d
-	checkcode VAR_SPECIALPHONECALL
-	if_equal $1, .pokerus
-	checkevent EVENT_SHOWED_TOGEPI_TO_ELM
-	iftrue .discovery
-	checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE
-	iffalse .next
-	checkevent EVENT_TOGEPI_HATCHED
-	iftrue .egghatched
-.next
-	checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE
-	iftrue .eggunhatched
-	checkevent EVENT_ELMS_AIDE_IN_LAB
-	iftrue .assistant
-	checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
-	iftrue .checkingegg
-	checkevent EVENT_ELM_CALLED_ABOUT_STOLEN_POKEMON
-	iftrue .stolen
-	checkevent EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON
-	iftrue .sawmrpokemon
-	farwritetext ElmPhoneStartText
-	end
-
-.sawmrpokemon ; 0xbd048
-	farwritetext ElmPhoneSawMrPokemonText
-	end
-
-.stolen ; 0xbd04d
-	farwritetext ElmPhonePokemonStolenText
-	end
-
-.checkingegg ; 0xbd052
-	farwritetext ElmPhoneCheckingEggText
-	end
-
-.assistant ; 0xbd057
-	farwritetext ElmPhoneAssistantText
-	end
-
-.eggunhatched ; 0xbd05c
-	farwritetext ElmPhoneEggUnhatchedText
-	end
-
-.egghatched ; 0xbd061
-	farwritetext ElmPhoneEggHatchedText
-	setevent EVENT_TOLD_ELM_ABOUT_TOGEPI_OVER_THE_PHONE
-	end
-
-.discovery ; 0xbd069
-	random $2
-	if_equal $0, .nextdiscovery
-	farwritetext ElmPhoneDiscovery1Text
-	end
-
-.nextdiscovery ; 0xbd074
-	farwritetext ElmPhoneDiscovery2Text
-	end
-
-.pokerus ; 0xbd079
-	farwritetext ElmPhonePokerusText
-	specialphonecall SPECIALCALL_NONE
-	end
-
-ElmPhoneScript2: ; 0xbd081
-	checkcode VAR_SPECIALPHONECALL
-	if_equal $2, .disaster
-	if_equal $3, .assistant
-	if_equal $4, .rocket
-	if_equal $5, .gift
-	if_equal $8, .gift
-	farwritetext ElmPhonePokerusText
-	specialphonecall SPECIALCALL_NONE
-	end
-
-.disaster ; 0xbd09f
-	farwritetext ElmPhoneDisasterText
-	specialphonecall SPECIALCALL_NONE
-	setevent EVENT_ELM_CALLED_ABOUT_STOLEN_POKEMON
-	end
-
-.assistant ; 0xbd0aa
-	farwritetext ElmPhoneEggAssistantText
-	specialphonecall SPECIALCALL_NONE
-	clearevent EVENT_ELMS_AIDE_IN_VIOLET_POKEMON_CENTER
-	setevent EVENT_ELMS_AIDE_IN_LAB
-	end
-
-.rocket ; 0xbd0b8
-	farwritetext ElmPhoneRocketText
-	specialphonecall SPECIALCALL_NONE
-	end
-
-.gift ; 0xbd0c0
-	farwritetext ElmPhoneGiftText
-	specialphonecall SPECIALCALL_NONE
-	end
-
-.unused ; 0xbd0c8
-	farwritetext ElmPhoneUnusedText
-	specialphonecall SPECIALCALL_NONE
-	end
-; bd0d0
-
-; Jack
-
-JackPhoneScript1:
-	trainertotext SCHOOLBOY, JACK1, $0
-	checkflag ENGINE_JACK
-	iftrue UnknownScript_0xbd0f3
-	farscall PhoneScript_AnswerPhone_Male
-	checkflag ENGINE_JACK_MONDAY_MORNING
-	iftrue UnknownScript_0xbd0ef
-	checkcode VAR_WEEKDAY
-	if_not_equal MONDAY, UnknownScript_0xbd0ef
-	checkmorn
-	iftrue UnknownScript_0xbd12a
-
-UnknownScript_0xbd0ef:
-	farjump UnknownScript_0xa08f8
-
-UnknownScript_0xbd0f3:
-	landmarktotext NATIONAL_PARK, $2
-	farjump UnknownScript_0xa0a2d
-
-JackPhoneScript2:
-	trainertotext SCHOOLBOY, JACK1, $0
-	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 PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbd12d
-
-UnknownScript_0xbd11e:
-	farscall PhoneScript_Random3
-	if_equal $0, UnknownScript_0xbd137
-	farjump UnknownScript_0xa0000
-
-UnknownScript_0xbd12a:
-	setflag ENGINE_JACK_MONDAY_MORNING
-
-UnknownScript_0xbd12d:
-	landmarktotext NATIONAL_PARK, $2
-	setflag ENGINE_JACK
-	farjump UnknownScript_0xa0376
-
-UnknownScript_0xbd137:
-	farjump UnknownScript_0xa0584
-
-UnknownScript_0xbd13b:
-	farjump UnknownScript_0xa0654
-
-; Beverly
-
-BeverlyPhoneScript1:
-	trainertotext POKEFANF, BEVERLY1, $0
-	farscall PhoneScript_AnswerPhone_Female
-	checkflag ENGINE_BEVERLY_HAS_NUGGET
-	iftrue UnknownScript_0xbd151
-	farjump UnknownScript_0xa0900
-
-UnknownScript_0xbd151:
-	landmarktotext NATIONAL_PARK, $2
-	farjump UnknownScript_0xa0aa5
-
-BeverlyPhoneScript2:
-	trainertotext POKEFANF, BEVERLY1, $0
-	farscall PhoneScript_GreetPhone_Female
-	checkflag ENGINE_BEVERLY_HAS_NUGGET
-	iftrue UnknownScript_0xbd16e
-	farscall PhoneScript_Random4
-	if_equal $0, UnknownScript_0xbd172
-
-UnknownScript_0xbd16e:
-	farjump UnknownScript_0xa0017
-
-UnknownScript_0xbd172:
-	setflag ENGINE_BEVERLY_HAS_NUGGET
-	landmarktotext NATIONAL_PARK, $2
-	farjump UnknownScript_0xa061e
-
-; Huey
-
-HueyPhoneScript1:
-	trainertotext SAILOR, HUEY1, $0
-	checkflag ENGINE_HUEY
-	iftrue UnknownScript_0xbd1a2
-	farscall PhoneScript_AnswerPhone_Male
-	checkflag ENGINE_HUEY_WEDNESDAY_NIGHT
-	iftrue UnknownScript_0xbd19b
-	checkcode VAR_WEEKDAY
-	if_not_equal WEDNESDAY, UnknownScript_0xbd19b
-	checknite
-	iftrue UnknownScript_0xbd1cd
-
-UnknownScript_0xbd19b:
-	special RandomPhoneMon
-	farjump UnknownScript_0xa0908
-
-UnknownScript_0xbd1a2:
-	landmarktotext LIGHTHOUSE, $2
-	farjump UnknownScript_0xa0a32
-
-HueyPhoneScript2:
-	trainertotext SAILOR, HUEY1, $0
-	farscall PhoneScript_GreetPhone_Male
-	checkflag ENGINE_HUEY
-	iftrue UnknownScript_0xbd1c9
-	checkflag ENGINE_HUEY_WEDNESDAY_NIGHT
-	iftrue UnknownScript_0xbd1c9
-	farscall PhoneScript_Random3
-	if_equal $0, UnknownScript_0xbd1d0
-	if_equal $1, UnknownScript_0xbd1d0
-
-UnknownScript_0xbd1c9:
-	farjump PhoneScript_MonFlavorText
-
-UnknownScript_0xbd1cd:
-	setflag ENGINE_HUEY_WEDNESDAY_NIGHT
-
-UnknownScript_0xbd1d0:
-	landmarktotext LIGHTHOUSE, $2
-	setflag ENGINE_HUEY
-	farjump UnknownScript_0xa0376
-
-; Gaven
-
-GavenPhoneScript1:
-	trainertotext COOLTRAINERM, GAVEN3, $0
-	checkflag ENGINE_GAVEN
-	iftrue UnknownScript_0xbd1fd
-	farscall PhoneScript_AnswerPhone_Male
-	checkflag ENGINE_GAVEN_THURSDAY_MORNING
-	iftrue UnknownScript_0xbd1f9
-	checkcode VAR_WEEKDAY
-	if_not_equal THURSDAY, UnknownScript_0xbd1f9
-	checkmorn
-	iftrue UnknownScript_0xbd22c
-
-UnknownScript_0xbd1f9:
-	farjump UnknownScript_0xa0910
-
-UnknownScript_0xbd1fd:
-	landmarktotext ROUTE_26, $2
-	farjump UnknownScript_0xa0a37
-
-GavenPhoneScript2:
-	trainertotext COOLTRAINERM, GAVEN3, $0
-	farscall PhoneScript_GreetPhone_Male
-	checkflag ENGINE_GAVEN
-	iftrue UnknownScript_0xbd220
-	checkflag ENGINE_GAVEN_THURSDAY_MORNING
-	iftrue UnknownScript_0xbd220
-	farscall PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbd22f
-
-UnknownScript_0xbd220:
-	farscall PhoneScript_Random3
-	if_equal $0, UnknownScript_0xbd239
-	farjump UnknownScript_0xa0000
-
-UnknownScript_0xbd22c:
-	setflag ENGINE_GAVEN_THURSDAY_MORNING
-
-UnknownScript_0xbd22f:
-	landmarktotext ROUTE_26, $2
-	setflag ENGINE_GAVEN
-	farjump UnknownScript_0xa0376
-
-UnknownScript_0xbd239:
-	farjump UnknownScript_0xa0584
-
-; Beth
-
-BethPhoneScript1:
-	trainertotext COOLTRAINERF, BETH1, $0
-	checkflag ENGINE_BETH
-	iftrue UnknownScript_0xbd260
-	farscall PhoneScript_AnswerPhone_Female
-	checkflag ENGINE_BETH_FRIDAY_AFTERNOON
-	iftrue UnknownScript_0xbd25c
-	checkcode VAR_WEEKDAY
-	if_not_equal FRIDAY, UnknownScript_0xbd25c
-	checkday
-	iftrue UnknownScript_0xbd287
-
-UnknownScript_0xbd25c:
-	farjump UnknownScript_0xa0918
-
-UnknownScript_0xbd260:
-	landmarktotext ROUTE_26, $2
-	farjump UnknownScript_0xa0a3c
-
-BethPhoneScript2:
-	trainertotext COOLTRAINERF, BETH1, $0
-	farscall PhoneScript_GreetPhone_Female
-	checkflag ENGINE_BETH
-	iftrue UnknownScript_0xbd283
-	checkflag ENGINE_BETH_FRIDAY_AFTERNOON
-	iftrue UnknownScript_0xbd283
-	farscall PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbd28a
-
-UnknownScript_0xbd283:
-	farjump UnknownScript_0xa0017
-
-UnknownScript_0xbd287:
-	setflag ENGINE_BETH_FRIDAY_AFTERNOON
-
-UnknownScript_0xbd28a:
-	landmarktotext ROUTE_26, $2
-	setflag ENGINE_BETH
-	farjump UnknownScript_0xa037e
-
-; Jose
-
-JosePhoneScript1:
-	trainertotext BIRD_KEEPER, JOSE2, $0
-	checkflag ENGINE_JOSE
-	iftrue UnknownScript_0xbd2bd
-	farscall PhoneScript_AnswerPhone_Male
-	checkflag ENGINE_JOSE_SATURDAY_NIGHT
-	iftrue UnknownScript_0xbd2b9
-	checkflag ENGINE_JOSE_HAS_STAR_PIECE
-	iftrue UnknownScript_0xbd2c4
-	checkcode VAR_WEEKDAY
-	if_not_equal SATURDAY, UnknownScript_0xbd2b9
-	checknite
-	iftrue UnknownScript_0xbd301
-
-UnknownScript_0xbd2b9:
-	farjump UnknownScript_0xa0920
-
-UnknownScript_0xbd2bd:
-	landmarktotext ROUTE_27, $2
-	farjump UnknownScript_0xa0a41
-
-UnknownScript_0xbd2c4:
-	landmarktotext ROUTE_27, $2
-	farjump UnknownScript_0xa0a41
-
-JosePhoneScript2:
-	trainertotext BIRD_KEEPER, JOSE2, $0
-	farscall PhoneScript_GreetPhone_Male
-	checkflag ENGINE_JOSE
-	iftrue UnknownScript_0xbd2f5
-	checkflag ENGINE_JOSE_SATURDAY_NIGHT
-	iftrue UnknownScript_0xbd2f5
-	checkflag ENGINE_JOSE_HAS_STAR_PIECE
-	iftrue UnknownScript_0xbd2f5
-	farscall PhoneScript_Random3
-	if_equal $0, UnknownScript_0xbd304
-	farscall PhoneScript_Random3
-	if_equal $0, UnknownScript_0xbd312
-
-UnknownScript_0xbd2f5:
-	farscall PhoneScript_Random3
-	if_equal $0, UnknownScript_0xbd30e
-	farjump UnknownScript_0xa0000
-
-UnknownScript_0xbd301:
-	setflag ENGINE_JOSE_SATURDAY_NIGHT
-
-UnknownScript_0xbd304:
-	landmarktotext ROUTE_27, $2
-	setflag ENGINE_JOSE
-	farjump UnknownScript_0xa0376
-
-UnknownScript_0xbd30e:
-	farjump UnknownScript_0xa0584
-
-UnknownScript_0xbd312:
-	setflag ENGINE_JOSE_HAS_STAR_PIECE
-	landmarktotext ROUTE_27, $2
-	farjump UnknownScript_0xa05e6
-
-; Reena
-
-ReenaPhoneScript1:
-	trainertotext COOLTRAINERF, REENA1, $0
-	checkflag ENGINE_REENA
-	iftrue UnknownScript_0xbd33f
-	farscall PhoneScript_AnswerPhone_Female
-	checkflag ENGINE_REENA_SUNDAY_MORNING
-	iftrue UnknownScript_0xbd33b
-	checkcode VAR_WEEKDAY
-	if_not_equal SUNDAY, UnknownScript_0xbd33b
-	checkmorn
-	iftrue UnknownScript_0xbd366
-
-UnknownScript_0xbd33b:
-	farjump UnknownScript_0xa0928
-
-UnknownScript_0xbd33f:
-	landmarktotext ROUTE_27, $2
-	farjump UnknownScript_0xa0a46
-
-ReenaPhoneScript2:
-	trainertotext COOLTRAINERF, REENA1, $0
-	farscall PhoneScript_GreetPhone_Female
-	checkflag ENGINE_REENA
-	iftrue UnknownScript_0xbd362
-	checkflag ENGINE_REENA_SUNDAY_MORNING
-	iftrue UnknownScript_0xbd362
-	farscall PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbd369
-
-UnknownScript_0xbd362:
-	farjump UnknownScript_0xa0017
-
-UnknownScript_0xbd366:
-	setflag ENGINE_REENA_SUNDAY_MORNING
-
-UnknownScript_0xbd369:
-	landmarktotext ROUTE_27, $2
-	setflag ENGINE_REENA
-	farjump UnknownScript_0xa037e
-
-; Joey
-
-JoeyPhoneScript1:
-	trainertotext YOUNGSTER, JOEY1, $0
-	checkflag ENGINE_JOEY
-	iftrue UnknownScript_0xbd399
-	farscall PhoneScript_AnswerPhone_Male
-	checkflag ENGINE_JOEY_MONDAY_AFTERNOON
-	iftrue UnknownScript_0xbd392
-	checkcode VAR_WEEKDAY
-	if_not_equal MONDAY, UnknownScript_0xbd392
-	checkday
-	iftrue UnknownScript_0xbd3c4
-
-UnknownScript_0xbd392:
-	special RandomPhoneMon
-	farjump UnknownScript_0xa0930
-
-UnknownScript_0xbd399:
-	landmarktotext ROUTE_30, $2
-	farjump UnknownScript_0xa0a4b
-
-JoeyPhoneScript2:
-	trainertotext YOUNGSTER, JOEY1, $0
-	farscall PhoneScript_GreetPhone_Male
-	checkflag ENGINE_JOEY
-	iftrue UnknownScript_0xbd3c0
-	checkflag ENGINE_JOEY_MONDAY_AFTERNOON
-	iftrue UnknownScript_0xbd3c0
-	farscall PhoneScript_Random3
-	if_equal $0, UnknownScript_0xbd3c7
-	if_equal $1, UnknownScript_0xbd3c7
-
-UnknownScript_0xbd3c0:
-	farjump UnknownScript_0xa0000
-
-UnknownScript_0xbd3c4:
-	setflag ENGINE_JOEY_MONDAY_AFTERNOON
-
-UnknownScript_0xbd3c7:
-	landmarktotext ROUTE_30, $2
-	setflag ENGINE_JOEY
-	farjump UnknownScript_0xa0376
-
-; Wade
-
-WadePhoneScript1:
-	trainertotext BUG_CATCHER, WADE1, $0
-	checkflag ENGINE_WADE
-	iftrue UnknownScript_0xbd41a
-	farscall PhoneScript_AnswerPhone_Male
-	checkflag ENGINE_WADE_TUESDAY_NIGHT
-	iftrue UnknownScript_0xbd3f6
-	checkflag ENGINE_WADE_HAS_ITEM
-	iftrue UnknownScript_0xbd421
-	checkcode VAR_WEEKDAY
-	if_not_equal TUESDAY, UnknownScript_0xbd3f6
-	checknite
-	iftrue UnknownScript_0xbd484
-
-UnknownScript_0xbd3f6:
-	farscall PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbd412
-	checkflag ENGINE_DAILY_BUG_CONTEST
-	iftrue UnknownScript_0xbd412
-	checkcode VAR_WEEKDAY
-	if_equal TUESDAY, UnknownScript_0xbd416
-	if_equal THURSDAY, UnknownScript_0xbd416
-	if_equal SATURDAY, UnknownScript_0xbd416
-
-UnknownScript_0xbd412:
-	farjump UnknownScript_0xa0938
-
-UnknownScript_0xbd416:
-	farjump UnknownScript_0xa05a4
-
-UnknownScript_0xbd41a:
-	landmarktotext ROUTE_31, $2
-	farjump UnknownScript_0xa0a50
-
-UnknownScript_0xbd421:
-	landmarktotext ROUTE_31, $2
-	farjump UnknownScript_0xa0ab5
-
-WadePhoneScript2:
-	trainertotext BUG_CATCHER, WADE1, $0
-	farscall PhoneScript_GreetPhone_Male
-	farscall PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbd44c
-	checkflag ENGINE_DAILY_BUG_CONTEST
-	iftrue UnknownScript_0xbd44c
-	checkcode VAR_WEEKDAY
-	if_equal TUESDAY, UnknownScript_0xbd480
-	if_equal THURSDAY, UnknownScript_0xbd480
-	if_equal SATURDAY, UnknownScript_0xbd480
-
-UnknownScript_0xbd44c:
-	checkflag ENGINE_WADE
-	iftrue UnknownScript_0xbd474
-	checkflag ENGINE_WADE_TUESDAY_NIGHT
-	iftrue UnknownScript_0xbd474
-	checkflag ENGINE_WADE_HAS_ITEM
-	iftrue UnknownScript_0xbd474
-	farscall PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbd495
-	checkflag ENGINE_FLYPOINT_GOLDENROD
-	iffalse UnknownScript_0xbd474
-	farscall PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbd487
-
-UnknownScript_0xbd474:
-	farscall PhoneScript_Random3
-	if_equal $0, UnknownScript_0xbd491
-	farjump UnknownScript_0xa0000
-
-UnknownScript_0xbd480:
-	farjump UnknownScript_0xa05a4
-
-UnknownScript_0xbd484:
-	setflag ENGINE_WADE_TUESDAY_NIGHT
-
-UnknownScript_0xbd487:
-	landmarktotext ROUTE_31, $2
-	setflag ENGINE_WADE
-	farjump UnknownScript_0xa0376
-
-UnknownScript_0xbd491:
-	farjump UnknownScript_0xa0584
-
-UnknownScript_0xbd495:
-	setflag ENGINE_WADE_HAS_ITEM
-	landmarktotext ROUTE_31, $2
-	clearevent EVENT_WADE_HAS_BERRY
-	clearevent EVENT_WADE_HAS_PSNCUREBERRY
-	clearevent EVENT_WADE_HAS_PRZCUREBERRY
-	clearevent EVENT_WADE_HAS_BITTER_BERRY
-	random $4
-	if_equal $0, UnknownScript_0xbd4b9
-	if_equal $1, UnknownScript_0xbd4bf
-	if_equal $2, UnknownScript_0xbd4c5
-	if_equal $3, UnknownScript_0xbd4cb
-
-UnknownScript_0xbd4b9:
-	setevent EVENT_WADE_HAS_BERRY
-	jump UnknownScript_0xbd4ce
-
-UnknownScript_0xbd4bf:
-	setevent EVENT_WADE_HAS_PSNCUREBERRY
-	jump UnknownScript_0xbd4ce
-
-UnknownScript_0xbd4c5:
-	setevent EVENT_WADE_HAS_PRZCUREBERRY
-	jump UnknownScript_0xbd4ce
-
-UnknownScript_0xbd4cb:
-	setevent EVENT_WADE_HAS_BITTER_BERRY
-
-UnknownScript_0xbd4ce:
-	farjump UnknownScript_0xa05e6
-
-; Ralph
-
-RalphPhoneScript1:
-	trainertotext FISHER, RALPH1, $0
-	checkflag ENGINE_RALPH
-	iftrue Ralph_Rematch
-	farscall PhoneScript_AnswerPhone_Male
-	checkflag ENGINE_RALPH_WEDNESDAY_MORNING
-	iftrue Ralph_CheckSwarm
-	checkcode VAR_WEEKDAY
-	if_not_equal WEDNESDAY, Ralph_CheckSwarm
-	checkmorn
-	iftrue Ralph_WednesdayMorning
-Ralph_CheckSwarm:
-	checkflag ENGINE_SPECIAL_WILDDATA
-	iftrue Ralph_ReportSwarm
-	farjump UnknownScript_0xa0940
-
-Ralph_Rematch:
-	landmarktotext ROUTE_32, $2
-	farjump UnknownScript_0xa0a55
-
-Ralph_ReportSwarm:
-	landmarktotext ROUTE_32, $2
-	farjump UnknownScript_0xa0af5
-
-RalphPhoneScript2:
-	trainertotext FISHER, RALPH1, $0
-	farscall PhoneScript_GreetPhone_Male
-	checkflag ENGINE_FLYPOINT_GOLDENROD
-	iffalse Ralph_CheckSwarm2
-	checkflag ENGINE_RALPH
-	iftrue Ralph_CheckSwarm2
-	checkflag ENGINE_RALPH_WEDNESDAY_MORNING
-	iftrue Ralph_CheckSwarm2
-	farscall PhoneScript_Random2
-	if_equal $0, Ralph_FightMe
-Ralph_CheckSwarm2:
-	farscall PhoneScript_Random5
-	if_equal $0, Ralph_SetUpSwarm
-	farjump UnknownScript_0xa0000
-
-Ralph_WednesdayMorning:
-	setflag ENGINE_RALPH_WEDNESDAY_MORNING
-Ralph_FightMe:
-	landmarktotext ROUTE_32, $2
-	setflag ENGINE_RALPH
-	farjump UnknownScript_0xa0376
-
-Ralph_SetUpSwarm:
-	checkflag ENGINE_SPECIAL_WILDDATA
-	iftrue UnknownScript_0xbd55c
-	setflag ENGINE_SPECIAL_WILDDATA
-	pokenamemem QWILFISH, $1
-	landmarktotext ROUTE_32, $2
-	writebyte FISHSWARM_QWILFISH
-	special Special_ActivateFishingSwarm
-	farjump UnknownScript_0xa05d6
-
-UnknownScript_0xbd55c:
-	farjump UnknownScript_0xa0000
-
-; Liz
-
-LizPhoneScript1:
-	trainertotext PICNICKER, LIZ1, $0
-	checkflag ENGINE_LIZ
-	iftrue UnknownScript_0xbd586
-	farscall PhoneScript_AnswerPhone_Female
-	checkflag ENGINE_LIZ_THURSDAY_AFTERNOON
-	iftrue UnknownScript_0xbd57f
-	checkcode VAR_WEEKDAY
-	if_not_equal THURSDAY, UnknownScript_0xbd57f
-	checkday
-	iftrue UnknownScript_0xbd5c3
-
-UnknownScript_0xbd57f:
-	special RandomPhoneMon
-	farjump UnknownScript_0xa0948
-
-UnknownScript_0xbd586:
-	landmarktotext ROUTE_32, $2
-	farjump UnknownScript_0xa0a5a
-
-LizPhoneScript2:
-	trainertotext PICNICKER, LIZ1, $0
-	farscall PhoneScript_Random4
-	if_equal $0, UnknownScript_0xbd5d0
-	farscall PhoneScript_GreetPhone_Female
-	checkflag ENGINE_LIZ
-	iftrue UnknownScript_0xbd5a9
-	checkflag ENGINE_LIZ_THURSDAY_AFTERNOON
-	iftrue UnknownScript_0xbd5a9
-
-UnknownScript_0xbd5a9:
-	farscall PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbd5d4
-	checkflag ENGINE_FLYPOINT_GOLDENROD
-	iffalse UnknownScript_0xbd5bf
-	farscall PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbd5c6
-
-UnknownScript_0xbd5bf:
-	farjump UnknownScript_0xa0017
-
-UnknownScript_0xbd5c3:
-	setflag ENGINE_LIZ_THURSDAY_AFTERNOON
-
-UnknownScript_0xbd5c6:
-	landmarktotext ROUTE_32, $2
-	setflag ENGINE_LIZ
-	farjump UnknownScript_0xa037e
-
-UnknownScript_0xbd5d0:
-	farjump UnknownScript_0xa047a
-
-UnknownScript_0xbd5d4:
-	random $9
-	if_equal $0, UnknownScript_0xbd5fa
-	if_equal $1, UnknownScript_0xbd600
-	if_equal $2, UnknownScript_0xbd606
-	if_equal $3, UnknownScript_0xbd60c
-	if_equal $4, UnknownScript_0xbd612
-	if_equal $5, UnknownScript_0xbd618
-	if_equal $6, UnknownScript_0xbd61e
-	if_equal $7, UnknownScript_0xbd624
-	if_equal $8, UnknownScript_0xbd62a
-
-UnknownScript_0xbd5fa:
-	trainerclassname COOLTRAINERM, $1
-	jump UnknownScript_0xbd630
-
-UnknownScript_0xbd600:
-	trainerclassname BEAUTY, $1
-	jump UnknownScript_0xbd630
-
-UnknownScript_0xbd606:
-	trainerclassname GRUNTM, $1
-	jump UnknownScript_0xbd630
-
-UnknownScript_0xbd60c:
-	trainerclassname TEACHER, $1
-	jump UnknownScript_0xbd630
-
-UnknownScript_0xbd612:
-	trainerclassname SWIMMERF, $1
-	jump UnknownScript_0xbd630
-
-UnknownScript_0xbd618:
-	trainerclassname KIMONO_GIRL, $1
-	jump UnknownScript_0xbd630
-
-UnknownScript_0xbd61e:
-	trainerclassname SKIER, $1
-	jump UnknownScript_0xbd630
-
-UnknownScript_0xbd624:
-	trainerclassname MEDIUM, $1
-	jump UnknownScript_0xbd630
-
-UnknownScript_0xbd62a:
-	trainerclassname POKEFANM, $1
-	jump UnknownScript_0xbd630
-
-UnknownScript_0xbd630:
-	farjump UnknownScript_0xa06da
-
-; Anthony
-
-AnthonyPhoneScript1:
-	trainertotext HIKER, ANTHONY2, $0
-	checkflag ENGINE_ANTHONY
-	iftrue UnknownScript_0xbd65d
-	farscall PhoneScript_AnswerPhone_Male
-	checkflag ENGINE_ANTHONY_FRIDAY_NIGHT
-	iftrue UnknownScript_0xbd653
-	checkcode VAR_WEEKDAY
-	if_not_equal FRIDAY, UnknownScript_0xbd653
-	checknite
-	iftrue UnknownScript_0xbd699
-
-UnknownScript_0xbd653:
-	checkflag ENGINE_DUNSPARCE_SWARM
-	iftrue UnknownScript_0xbd664
-	farjump UnknownScript_0xa0950
-
-UnknownScript_0xbd65d:
-	landmarktotext ROUTE_33, $2
-	farjump UnknownScript_0xa0a5f
-
-UnknownScript_0xbd664:
-	landmarktotext ROUTE_33, $2
-	farjump UnknownScript_0xa0afa
-
-AnthonyPhoneScript2:
-	trainertotext HIKER, ANTHONY2, $0
-	farscall PhoneScript_GreetPhone_Male
-	checkflag ENGINE_FLYPOINT_GOLDENROD
-	iffalse UnknownScript_0xbd68d
-	checkflag ENGINE_ANTHONY
-	iftrue UnknownScript_0xbd68d
-	checkflag ENGINE_ANTHONY_FRIDAY_NIGHT
-	iftrue UnknownScript_0xbd68d
-	farscall PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbd69c
-
-UnknownScript_0xbd68d:
-	farscall PhoneScript_Random5
-	if_equal $0, UnknownScript_0xbd6a6
-	farjump UnknownScript_0xa0000
-
-UnknownScript_0xbd699:
-	setflag ENGINE_ANTHONY_FRIDAY_NIGHT
-
-UnknownScript_0xbd69c:
-	landmarktotext ROUTE_33, $2
-	setflag ENGINE_ANTHONY
-	farjump UnknownScript_0xa0376
-
-UnknownScript_0xbd6a6:
-	checkflag ENGINE_DUNSPARCE_SWARM
-	iftrue UnknownScript_0xbd6bd
-	setflag ENGINE_DUNSPARCE_SWARM
-	pokenamemem DUNSPARCE, $1
-	swarm SWARM_DUNSPARCE, DARK_CAVE_VIOLET_ENTRANCE
-	landmarktotext DARK_CAVE, $2
-	farjump UnknownScript_0xa05de
-
-UnknownScript_0xbd6bd:
-	farjump UnknownScript_0xa0000
-
-; Todd
-
-ToddPhoneScript1:
-	trainertotext CAMPER, TODD1, $0
-	checkflag ENGINE_TODD
-	iftrue UnknownScript_0xbd6ea
-	farscall PhoneScript_AnswerPhone_Male
-	checkflag ENGINE_TODD_SATURDAY_MORNING
-	iftrue UnknownScript_0xbd6e0
-	checkcode VAR_WEEKDAY
-	if_not_equal SATURDAY, UnknownScript_0xbd6e0
-	checkmorn
-	iftrue UnknownScript_0xbd72b
-
-UnknownScript_0xbd6e0:
-	checkflag ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON
-	iftrue UnknownScript_0xbd6f1
-	farjump UnknownScript_0xa0958
-
-UnknownScript_0xbd6ea:
-	landmarktotext ROUTE_34, $2
-	farjump UnknownScript_0xa0a64
-
-UnknownScript_0xbd6f1:
-	farjump UnknownScript_0xa0b04
-
-ToddPhoneScript2:
-	trainertotext CAMPER, TODD1, $0
-	farscall PhoneScript_GreetPhone_Male
-	checkflag ENGINE_TODD
-	iftrue UnknownScript_0xbd717
-	checkflag ENGINE_TODD_SATURDAY_MORNING
-	iftrue UnknownScript_0xbd717
-	checkflag ENGINE_FLYPOINT_GOLDENROD
-	iffalse UnknownScript_0xbd71f
-	farscall PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbd72e
-
-UnknownScript_0xbd717:
-	farscall PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbd73c
-
-UnknownScript_0xbd71f:
-	farscall PhoneScript_Random3
-	if_equal $0, UnknownScript_0xbd738
-	farjump UnknownScript_0xa0000
-
-UnknownScript_0xbd72b:
-	setflag ENGINE_TODD_SATURDAY_MORNING
-
-UnknownScript_0xbd72e:
-	landmarktotext ROUTE_34, $2
-	setflag ENGINE_TODD
-	farjump UnknownScript_0xa0376
-
-UnknownScript_0xbd738:
-	farjump UnknownScript_0xa0584
-
-UnknownScript_0xbd73c:
-	setflag ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON
-	farjump UnknownScript_0xa0644
-
-; Gina
-
-GinaPhoneScript1:
-	trainertotext PICNICKER, GINA1, $0
-	checkflag ENGINE_GINA
-	iftrue UnknownScript_0xbd776
-	farscall PhoneScript_AnswerPhone_Female
-	checkflag ENGINE_GINA_SUNDAY_AFTERNOON
-	iftrue UnknownScript_0xbd768
-	checkflag ENGINE_GINA_HAS_LEAF_STONE
-	iftrue UnknownScript_0xbd77d
-	checkcode VAR_WEEKDAY
-	if_not_equal SUNDAY, UnknownScript_0xbd768
-	checkday
-	iftrue UnknownScript_0xbd7cc
-
-UnknownScript_0xbd768:
-	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
-	iftrue UnknownScript_0xbd772
-	farjump UnknownScript_0xa0960
-
-UnknownScript_0xbd772:
-	farjump UnknownScript_0xa05c6
-
-UnknownScript_0xbd776:
-	landmarktotext ROUTE_34, $2
-	farjump UnknownScript_0xa0a69
-
-UnknownScript_0xbd77d:
-	landmarktotext ROUTE_34, $2
-	farjump UnknownScript_0xa0abd
-
-GinaPhoneScript2:
-	trainertotext PICNICKER, GINA1, $0
-	farscall PhoneScript_GreetPhone_Female
-	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
-	iftrue UnknownScript_0xbd7d9
-	checkflag ENGINE_GINA
-	iftrue UnknownScript_0xbd7c8
-	checkflag ENGINE_GINA_SUNDAY_AFTERNOON
-	iftrue UnknownScript_0xbd7c8
-	checkflag ENGINE_GINA_HAS_LEAF_STONE
-	iftrue UnknownScript_0xbd7c8
-	checkevent EVENT_GINA_GAVE_LEAF_STONE
-	iftrue UnknownScript_0xbd7b2
-	farscall PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbd7dd
-
-UnknownScript_0xbd7b2:
-	farscall PhoneScript_Random11
-	if_equal $0, UnknownScript_0xbd7dd
-	checkflag ENGINE_FLYPOINT_GOLDENROD
-	iffalse UnknownScript_0xbd7c8
-	farscall PhoneScript_Random3
-	if_equal $0, UnknownScript_0xbd7cf
-
-UnknownScript_0xbd7c8:
-	farjump UnknownScript_0xa0017
-
-UnknownScript_0xbd7cc:
-	setflag ENGINE_GINA_SUNDAY_AFTERNOON
-
-UnknownScript_0xbd7cf:
-	landmarktotext ROUTE_34, $2
-	setflag ENGINE_GINA
-	farjump UnknownScript_0xa037e
-
-UnknownScript_0xbd7d9:
-	farjump UnknownScript_0xa05c6
-
-UnknownScript_0xbd7dd:
-	setflag ENGINE_GINA_HAS_LEAF_STONE
-	landmarktotext ROUTE_34, $2
-	farjump UnknownScript_0xa061e
-
-; Irwin
-
-IrwinPhoneScript1:
-	trainertotext JUGGLER, IRWIN1, $0
-	farscall PhoneScript_AnswerPhone_Male
-	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
-	iftrue UnknownScript_0xbd7f9
-	farjump UnknownScript_0xa09c8
-
-UnknownScript_0xbd7f9:
-	farjump UnknownScript_0xa05be
-
-IrwinPhoneScript2:
-	trainertotext JUGGLER, IRWIN1, $0
-	farscall PhoneScript_GreetPhone_Male
-	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
-	iftrue UnknownScript_0xbd80f
-	farjump UnknownScript_0xa0848
-
-UnknownScript_0xbd80f:
-	farjump UnknownScript_0xa05be
-
-; Arnie
-
-ArniePhoneScript1:
-	trainertotext BUG_CATCHER, ARNIE1, $0
-	checkflag ENGINE_ARNIE
-	iftrue UnknownScript_0xbd83c
-	farscall PhoneScript_AnswerPhone_Male
-	checkflag ENGINE_ARNIE_TUESDAY_MORNING
-	iftrue UnknownScript_0xbd832
-	checkcode VAR_WEEKDAY
-	if_not_equal TUESDAY, UnknownScript_0xbd832
-	checkmorn
-	iftrue UnknownScript_0xbd87a
-
-UnknownScript_0xbd832:
-	checkflag ENGINE_YANMA_SWARM
-	iftrue UnknownScript_0xbd843
-	farjump UnknownScript_0xa0968
-
-UnknownScript_0xbd83c:
-	landmarktotext ROUTE_35, $2
-	farjump UnknownScript_0xa0a6e
-
-UnknownScript_0xbd843:
-	landmarktotext ROUTE_35, $2
-	farjump UnknownScript_0xa0aff
-
-ArniePhoneScript2:
-	trainertotext BUG_CATCHER, ARNIE1, $0
-	farscall PhoneScript_GreetPhone_Male
-	checkflag ENGINE_ARNIE
-	iftrue UnknownScript_0xbd866
-	checkflag ENGINE_ARNIE_TUESDAY_MORNING
-	iftrue UnknownScript_0xbd866
-	farscall PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbd87d
-
-UnknownScript_0xbd866:
-	farscall PhoneScript_Random5
-	if_equal $0, UnknownScript_0xbd887
-	farscall PhoneScript_Random3
-	if_equal $0, UnknownScript_0xbd89e
-	farjump UnknownScript_0xa0000
-
-UnknownScript_0xbd87a:
-	setflag ENGINE_ARNIE_TUESDAY_MORNING
-
-UnknownScript_0xbd87d:
-	landmarktotext ROUTE_35, $2
-	setflag ENGINE_ARNIE
-	farjump UnknownScript_0xa0376
-
-UnknownScript_0xbd887: ; start swarm
-	checkflag ENGINE_YANMA_SWARM
-	iftrue UnknownScript_0xbd8a2
-	setflag ENGINE_YANMA_SWARM
-	pokenamemem YANMA, $1
-	swarm SWARM_YANMA, ROUTE_35
-	landmarktotext ROUTE_35, $2
-	farjump UnknownScript_0xa05ce
-
-UnknownScript_0xbd89e:
-	farjump UnknownScript_0xa0584
-
-UnknownScript_0xbd8a2:
-	farjump UnknownScript_0xa0000
-
-; Alan
-
-AlanPhoneScript1:
-	trainertotext SCHOOLBOY, ALAN1, $0
-	checkflag ENGINE_ALAN
-	iftrue UnknownScript_0xbd8cf
-	farscall PhoneScript_AnswerPhone_Male
-	checkflag ENGINE_ALAN_WEDNESDAY_AFTERNOON
-	iftrue UnknownScript_0xbd8cb
-	checkflag ENGINE_ALAN_HAS_FIRE_STONE
-	iftrue UnknownScript_0xbd8d6
-	checkcode VAR_WEEKDAY
-	if_not_equal WEDNESDAY, UnknownScript_0xbd8cb
-	checkday
-	iftrue UnknownScript_0xbd919
-
-UnknownScript_0xbd8cb:
-	farjump UnknownScript_0xa0970
-
-UnknownScript_0xbd8cf:
-	landmarktotext ROUTE_36, $2
-	farjump UnknownScript_0xa0a73
-
-UnknownScript_0xbd8d6:
-	landmarktotext ROUTE_36, $2
-	farjump UnknownScript_0xa0ac5
-
-AlanPhoneScript2:
-	trainertotext SCHOOLBOY, ALAN1, $0
-	farscall PhoneScript_GreetPhone_Male
-	checkflag ENGINE_ALAN
-	iftrue UnknownScript_0xbd915
-	checkflag ENGINE_ALAN_WEDNESDAY_AFTERNOON
-	iftrue UnknownScript_0xbd915
-	checkflag ENGINE_ALAN_HAS_FIRE_STONE
-	iftrue UnknownScript_0xbd915
-	farscall PhoneScript_Random3
-	if_equal $0, UnknownScript_0xbd91c
-	checkevent EVENT_ALAN_GAVE_FIRE_STONE
-	iftrue UnknownScript_0xbd90d
-	farscall PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbd926
-
-UnknownScript_0xbd90d:
-	farscall PhoneScript_Random11
-	if_equal $0, UnknownScript_0xbd926
-
-UnknownScript_0xbd915:
-	farjump UnknownScript_0xa0000
-
-UnknownScript_0xbd919:
-	setflag ENGINE_ALAN_WEDNESDAY_AFTERNOON
-
-UnknownScript_0xbd91c:
-	landmarktotext ROUTE_36, $2
-	setflag ENGINE_ALAN
-	farjump UnknownScript_0xa0376
-
-UnknownScript_0xbd926:
-	setflag ENGINE_ALAN_HAS_FIRE_STONE
-	landmarktotext ROUTE_36, $2
-	farjump UnknownScript_0xa05e6
-
-; Dana
-
-DanaPhoneScript1:
-	trainertotext LASS, DANA1, $0
-	checkflag ENGINE_DANA
-	iftrue UnknownScript_0xbd959
-	farscall PhoneScript_AnswerPhone_Female
-	checkflag ENGINE_DANA_THURSDAY_NIGHT
-	iftrue UnknownScript_0xbd955
-	checkflag ENGINE_DANA_HAS_THUNDERSTONE
-	iftrue UnknownScript_0xbd960
-	checkcode VAR_WEEKDAY
-	if_not_equal THURSDAY, UnknownScript_0xbd955
-	checknite
-	iftrue UnknownScript_0xbd9ab
-
-UnknownScript_0xbd955:
-	farjump UnknownScript_0xa0978
-
-UnknownScript_0xbd959:
-	landmarktotext ROUTE_38, $2
-	farjump UnknownScript_0xa0a78
-
-UnknownScript_0xbd960:
-	landmarktotext ROUTE_38, $2
-	farjump UnknownScript_0xa0acd
-
-DanaPhoneScript2:
-	trainertotext LASS, DANA1, $0
-	farscall PhoneScript_GreetPhone_Female
-	checkflag ENGINE_DANA
-	iftrue UnknownScript_0xbd99f
-	checkflag ENGINE_DANA_THURSDAY_NIGHT
-	iftrue UnknownScript_0xbd99f
-	checkflag ENGINE_DANA_HAS_THUNDERSTONE
-	iftrue UnknownScript_0xbd99f
-	farscall PhoneScript_Random3
-	if_equal $0, UnknownScript_0xbd9ae
-	checkevent EVENT_DANA_GAVE_THUNDERSTONE
-	iftrue UnknownScript_0xbd997
-	farscall PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbd9bc
-
-UnknownScript_0xbd997:
-	farscall PhoneScript_Random11
-	if_equal $0, UnknownScript_0xbd9bc
-
-UnknownScript_0xbd99f:
-	farscall PhoneScript_Random3
-	if_equal $0, UnknownScript_0xbd9b8
-	farjump UnknownScript_0xa0017
-
-UnknownScript_0xbd9ab:
-	setflag ENGINE_DANA_THURSDAY_NIGHT
-
-UnknownScript_0xbd9ae:
-	landmarktotext ROUTE_38, $2
-	setflag ENGINE_DANA
-	farjump UnknownScript_0xa037e
-
-UnknownScript_0xbd9b8:
-	farjump UnknownScript_0xa0592
-
-UnknownScript_0xbd9bc:
-	setflag ENGINE_DANA_HAS_THUNDERSTONE
-	landmarktotext ROUTE_38, $2
-	farjump UnknownScript_0xa061e
-
-; Chad
-
-ChadPhoneScript1:
-	trainertotext SCHOOLBOY, CHAD1, $0
-	checkflag ENGINE_CHAD
-	iftrue UnknownScript_0xbd9e9
-	farscall PhoneScript_AnswerPhone_Male
-	checkflag ENGINE_CHAD_FRIDAY_MORNING
-	iftrue UnknownScript_0xbd9e5
-	checkcode VAR_WEEKDAY
-	if_not_equal FRIDAY, UnknownScript_0xbd9e5
-	checkmorn
-	iftrue UnknownScript_0xbda20
-
-UnknownScript_0xbd9e5:
-	farjump UnknownScript_0xa0980
-
-UnknownScript_0xbd9e9:
-	landmarktotext ROUTE_38, $2
-	farjump UnknownScript_0xa0a7d
-
-ChadPhoneScript2:
-	trainertotext SCHOOLBOY, CHAD1, $0
-	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 PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbda23
-
-UnknownScript_0xbda14:
-	farscall PhoneScript_Random3
-	if_equal $0, UnknownScript_0xbda2d
-	farjump UnknownScript_0xa0000
-
-UnknownScript_0xbda20:
-	setflag ENGINE_CHAD_FRIDAY_MORNING
-
-UnknownScript_0xbda23:
-	landmarktotext ROUTE_38, $2
-	setflag ENGINE_CHAD
-	farjump UnknownScript_0xa0376
-
-UnknownScript_0xbda2d:
-	farjump UnknownScript_0xa0584
-
-UnknownScript_0xbda31:
-	farjump UnknownScript_0xa0754
-
-DerekPhoneScript1:
-	trainertotext POKEFANM, DEREK1, $0
-	farscall PhoneScript_AnswerPhone_Male
-	checkflag ENGINE_DEREK_HAS_NUGGET
-	iftrue UnknownScript_0xbda67
-	farscall PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbda5f
-	checkflag ENGINE_DAILY_BUG_CONTEST
-	iftrue UnknownScript_0xbda5f
-	checkcode VAR_WEEKDAY
-	if_equal TUESDAY, UnknownScript_0xbda63
-	if_equal THURSDAY, UnknownScript_0xbda63
-	if_equal SATURDAY, UnknownScript_0xbda63
-
-UnknownScript_0xbda5f:
-	farjump UnknownScript_0xa0988
-
-UnknownScript_0xbda63:
-	farjump UnknownScript_0xa05a4
-
-UnknownScript_0xbda67:
-	landmarktotext ROUTE_39, $2
-	farjump UnknownScript_0xa0ad5
-
-DerekPhoneScript2:
-	trainertotext POKEFANM, DEREK1, $0
-	farscall PhoneScript_GreetPhone_Male
-	farscall PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbda92
-	checkflag ENGINE_DAILY_BUG_CONTEST
-	iftrue UnknownScript_0xbda92
-	checkcode VAR_WEEKDAY
-	if_equal TUESDAY, UnknownScript_0xbda9e
-	if_equal THURSDAY, UnknownScript_0xbda9e
-	if_equal SATURDAY, UnknownScript_0xbda9e
-
-UnknownScript_0xbda92:
-	farscall PhoneScript_Random4
-	if_equal $0, UnknownScript_0xbdaa2
-	farjump UnknownScript_0xa0000
-
-UnknownScript_0xbda9e:
-	farjump UnknownScript_0xa05a4
-
-UnknownScript_0xbdaa2:
-	setflag ENGINE_DEREK_HAS_NUGGET
-	landmarktotext ROUTE_39, $2
-	farjump UnknownScript_0xa05e6
-
-TullyPhoneScript1:
-	trainertotext FISHER, TULLY1, $0
-	checkflag ENGINE_TULLY
-	iftrue UnknownScript_0xbdad5
-	farscall PhoneScript_AnswerPhone_Male
-	checkflag ENGINE_TULLY_SUNDAY_NIGHT
-	iftrue UnknownScript_0xbdad1
-	checkflag ENGINE_TULLY_HAS_WATER_STONE
-	iftrue UnknownScript_0xbdadc
-	checkcode VAR_WEEKDAY
-	if_not_equal SUNDAY, UnknownScript_0xbdad1
-	checknite
-	iftrue UnknownScript_0xbdb1f
-
-UnknownScript_0xbdad1:
-	farjump UnknownScript_0xa0990
-
-UnknownScript_0xbdad5:
-	landmarktotext ROUTE_42, $2
-	farjump UnknownScript_0xa0a82
-
-UnknownScript_0xbdadc:
-	landmarktotext ROUTE_42, $2
-	farjump UnknownScript_0xa0add
-
-TullyPhoneScript2:
-	trainertotext FISHER, TULLY1, $0
-	farscall PhoneScript_GreetPhone_Male
-	checkflag ENGINE_TULLY
-	iftrue UnknownScript_0xbdb1b
-	checkflag ENGINE_TULLY_SUNDAY_NIGHT
-	iftrue UnknownScript_0xbdb1b
-	checkflag ENGINE_TULLY_HAS_WATER_STONE
-	iftrue UnknownScript_0xbdb1b
-	farscall PhoneScript_Random3
-	if_equal $0, UnknownScript_0xbdb22
-	checkevent EVENT_TULLY_GAVE_WATER_STONE
-	iftrue UnknownScript_0xbdb13
-	farscall PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbdb2c
-
-UnknownScript_0xbdb13:
-	farscall PhoneScript_Random11
-	if_equal $0, UnknownScript_0xbdb2c
-
-UnknownScript_0xbdb1b:
-	farjump UnknownScript_0xa0000
-
-UnknownScript_0xbdb1f:
-	setflag ENGINE_TULLY_SUNDAY_NIGHT
-
-UnknownScript_0xbdb22:
-	landmarktotext ROUTE_42, $2
-	setflag ENGINE_TULLY
-	farjump UnknownScript_0xa0376
-
-UnknownScript_0xbdb2c:
-	setflag ENGINE_TULLY_HAS_WATER_STONE
-	landmarktotext ROUTE_42, $2
-	farjump UnknownScript_0xa05e6
-
-BrentPhoneScript1:
-	trainertotext POKEMANIAC, BRENT1, $0
-	checkflag ENGINE_BRENT
-	iftrue UnknownScript_0xbdb59
-	farscall PhoneScript_AnswerPhone_Male
-	checkflag ENGINE_BRENT_MONDAY_MORNING
-	iftrue UnknownScript_0xbdb55
-	checkcode VAR_WEEKDAY
-	if_not_equal MONDAY, UnknownScript_0xbdb55
-	checkmorn
-	iftrue UnknownScript_0xbdb88
-
-UnknownScript_0xbdb55:
-	farjump UnknownScript_0xa0998
-
-UnknownScript_0xbdb59:
-	landmarktotext ROUTE_43, $2
-	farjump UnknownScript_0xa0a87
-
-BrentPhoneScript2:
-	trainertotext POKEMANIAC, BRENT1, $0
-	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 PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbdb8b
-
-UnknownScript_0xbdb84:
-	farjump UnknownScript_0xa0000
-
-UnknownScript_0xbdb88:
-	setflag ENGINE_BRENT_MONDAY_MORNING
-
-UnknownScript_0xbdb8b:
-	landmarktotext ROUTE_43, $2
-	setflag ENGINE_BRENT
-	farjump UnknownScript_0xa0376
-
-UnknownScript_0xbdb95:
-	farjump UnknownScript_0xa07ce
-
-TiffanyPhoneScript1:
-	trainertotext PICNICKER, TIFFANY3, $0
-	checkflag ENGINE_TIFFANY
-	iftrue UnknownScript_0xbdbc2
-	farscall PhoneScript_AnswerPhone_Female
-	checkflag ENGINE_TIFFANY_TUESDAY_AFTERNOON
-	iftrue UnknownScript_0xbdbbe
-	checkflag ENGINE_TIFFANY_HAS_PINK_BOW
-	iftrue UnknownScript_0xbdbc9
-	checkcode VAR_WEEKDAY
-	if_not_equal TUESDAY, UnknownScript_0xbdbbe
-	checkday
-	iftrue UnknownScript_0xbdc14
-
-UnknownScript_0xbdbbe:
-	farjump UnknownScript_0xa09a0
-
-UnknownScript_0xbdbc2:
-	landmarktotext ROUTE_43, $2
-	farjump UnknownScript_0xa0a8c
-
-UnknownScript_0xbdbc9:
-	landmarktotext ROUTE_43, $2
-	farjump UnknownScript_0xa0ae5
-
-TiffanyPhoneScript2:
-	trainertotext PICNICKER, TIFFANY3, $0
-	farscall PhoneScript_Random4
-	if_equal $0, UnknownScript_0xbdc21
-	farscall PhoneScript_GreetPhone_Female
-	checkflag ENGINE_TIFFANY
-	iftrue UnknownScript_0xbdc10
-	checkflag ENGINE_TIFFANY_TUESDAY_AFTERNOON
-	iftrue UnknownScript_0xbdc10
-	checkflag ENGINE_TIFFANY_HAS_PINK_BOW
-	iftrue UnknownScript_0xbdc10
-	farscall PhoneScript_Random3
-	if_equal $0, UnknownScript_0xbdc17
-	checkevent EVENT_TIFFANY_GAVE_PINK_BOW
-	iftrue UnknownScript_0xbdc08
-	farscall PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbdc69
-
-UnknownScript_0xbdc08:
-	farscall PhoneScript_Random11
-	if_equal $0, UnknownScript_0xbdc69
-
-UnknownScript_0xbdc10:
-	farjump UnknownScript_0xa0017
-
-UnknownScript_0xbdc14:
-	setflag ENGINE_TIFFANY_TUESDAY_AFTERNOON
-
-UnknownScript_0xbdc17:
-	landmarktotext ROUTE_43, $2
-	setflag ENGINE_TIFFANY
-	farjump UnknownScript_0xa037e
-
-UnknownScript_0xbdc21:
-	random $6
-	if_equal $0, UnknownScript_0xbdc3b
-	if_equal $1, UnknownScript_0xbdc42
-	if_equal $2, UnknownScript_0xbdc49
-	if_equal $3, UnknownScript_0xbdc50
-	if_equal $4, UnknownScript_0xbdc57
-	if_equal $5, UnknownScript_0xbdc5e
-
-UnknownScript_0xbdc3b:
-	stringtotext String_be643, $1
-	jump UnknownScript_0xbdc65
-
-UnknownScript_0xbdc42:
-	stringtotext String_be64b, $1
-	jump UnknownScript_0xbdc65
-
-UnknownScript_0xbdc49:
-	stringtotext String_be653, $1
-	jump UnknownScript_0xbdc65
-
-UnknownScript_0xbdc50:
-	stringtotext String_be657, $1
-	jump UnknownScript_0xbdc65
-
-UnknownScript_0xbdc57:
-	stringtotext String_be65b, $1
-	jump UnknownScript_0xbdc65
-
-UnknownScript_0xbdc5e:
-	stringtotext String_be662, $1
-	jump UnknownScript_0xbdc65
-
-UnknownScript_0xbdc65:
-	farjump UnknownScript_0xa047f
-
-UnknownScript_0xbdc69:
-	setflag ENGINE_TIFFANY_HAS_PINK_BOW
-	landmarktotext ROUTE_43, $2
-	farjump UnknownScript_0xa061e
-
-; Vance
-
-VancePhoneScript1:
-	trainertotext BIRD_KEEPER, VANCE1, $0
-	checkflag ENGINE_VANCE
-	iftrue UnknownScript_0xbdc96
-	farscall PhoneScript_AnswerPhone_Male
-	checkflag ENGINE_VANCE_WEDNESDAY_NIGHT
-	iftrue UnknownScript_0xbdc92
-	checkcode VAR_WEEKDAY
-	if_not_equal WEDNESDAY, UnknownScript_0xbdc92
-	checknite
-	iftrue UnknownScript_0xbdcc1
-
-UnknownScript_0xbdc92:
-	farjump UnknownScript_0xa09a8
-
-UnknownScript_0xbdc96:
-	landmarktotext ROUTE_44, $2
-	farjump UnknownScript_0xa0a91
-
-VancePhoneScript2:
-	trainertotext BIRD_KEEPER, VANCE1, $0
-	farscall PhoneScript_GreetPhone_Male
-	checkflag ENGINE_VANCE
-	iftrue UnknownScript_0xbdcbd
-	checkflag ENGINE_VANCE_WEDNESDAY_NIGHT
-	iftrue UnknownScript_0xbdcbd
-	farscall PhoneScript_Random3
-	if_equal $0, UnknownScript_0xbdcc4
-	if_equal $1, UnknownScript_0xbdcc4
-
-UnknownScript_0xbdcbd:
-	farjump UnknownScript_0xa0000
-
-UnknownScript_0xbdcc1:
-	setflag ENGINE_VANCE_WEDNESDAY_NIGHT
-
-UnknownScript_0xbdcc4:
-	landmarktotext ROUTE_44, $2
-	setflag ENGINE_VANCE
-	farjump UnknownScript_0xa0376
-
-WiltonPhoneScript1:
-	trainertotext FISHER, WILTON1, $0
-	checkflag ENGINE_WILTON
-	iftrue UnknownScript_0xbdcf7
-	farscall PhoneScript_AnswerPhone_Male
-	checkflag ENGINE_WILTON_THRUSDAY_MORNING
-	iftrue UnknownScript_0xbdcf3
-	checkflag ENGINE_WILTON_HAS_ITEM
-	iftrue UnknownScript_0xbdcfe
-	checkcode VAR_WEEKDAY
-	if_not_equal THURSDAY, UnknownScript_0xbdcf3
-	checkmorn
-	iftrue UnknownScript_0xbdd33
-
-UnknownScript_0xbdcf3:
-	farjump UnknownScript_0xa09b0
-
-UnknownScript_0xbdcf7:
-	landmarktotext ROUTE_44, $2
-	farjump UnknownScript_0xa0a96
-
-UnknownScript_0xbdcfe:
-	landmarktotext ROUTE_44, $2
-	farjump UnknownScript_0xa0aed
-
-WiltonPhoneScript2:
-	trainertotext FISHER, WILTON1, $0
-	farscall PhoneScript_GreetPhone_Male
-	checkflag ENGINE_WILTON
-	iftrue UnknownScript_0xbdd2f
-	checkflag ENGINE_WILTON_THRUSDAY_MORNING
-	iftrue UnknownScript_0xbdd2f
-	checkflag ENGINE_WILTON_HAS_ITEM
-	iftrue UnknownScript_0xbdd2f
-	farscall PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbdd36
-	farscall PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbdd40
-
-UnknownScript_0xbdd2f:
-	farjump UnknownScript_0xa0000
-
-UnknownScript_0xbdd33:
-	setflag ENGINE_WILTON_THRUSDAY_MORNING
-
-UnknownScript_0xbdd36:
-	landmarktotext ROUTE_44, $2
-	setflag ENGINE_WILTON
-	farjump UnknownScript_0xa0376
-
-UnknownScript_0xbdd40:
-	setflag ENGINE_WILTON_HAS_ITEM
-	landmarktotext ROUTE_44, $2
-	clearevent EVENT_WILTON_HAS_ULTRA_BALL
-	clearevent EVENT_WILTON_HAS_GREAT_BALL
-	clearevent EVENT_WILTON_HAS_POKE_BALL
-	random $5
-	if_equal $0, UnknownScript_0xbdd5e
-	random $3
-	if_equal $0, UnknownScript_0xbdd64
-	jump UnknownScript_0xbdd6a
-
-UnknownScript_0xbdd5e:
-	setevent EVENT_WILTON_HAS_ULTRA_BALL
-	jump UnknownScript_0xbdd6d
-
-UnknownScript_0xbdd64:
-	setevent EVENT_WILTON_HAS_GREAT_BALL
-	jump UnknownScript_0xbdd6d
-
-UnknownScript_0xbdd6a:
-	setevent EVENT_WILTON_HAS_POKE_BALL
-
-UnknownScript_0xbdd6d:
-	farjump UnknownScript_0xa05e6
-
-; Kenji
-
-KenjiPhoneScript1:
-	trainertotext BLACKBELT_T, KENJI3, $0
-	farscall PhoneScript_AnswerPhone_Male
-	farjump UnknownScript_0xa09ee
-
-KenjiPhoneScript2:
-	trainertotext BLACKBELT_T, KENJI3, $0
-	farscall PhoneScript_GreetPhone_Male
-	farjump UnknownScript_0xa064c
-
-; Parry
-
-ParryPhoneScript1:
-	trainertotext HIKER, PARRY1, $0
-	checkflag ENGINE_PARRY
-	iftrue UnknownScript_0xbddac
-	farscall PhoneScript_AnswerPhone_Male
-	checkflag ENGINE_PARRY_FRIDAY_AFTERNOON
-	iftrue UnknownScript_0xbdda8
-	checkcode VAR_WEEKDAY
-	if_not_equal FRIDAY, UnknownScript_0xbdda8
-	checkday
-	iftrue UnknownScript_0xbddd7
-
-UnknownScript_0xbdda8:
-	farjump UnknownScript_0xa09b8
-
-UnknownScript_0xbddac:
-	landmarktotext ROUTE_45, $2
-	farjump UnknownScript_0xa0a9b
-
-ParryPhoneScript2:
-	trainertotext HIKER, PARRY1, $0
-	farscall PhoneScript_GreetPhone_Male
-	checkflag ENGINE_PARRY
-	iftrue UnknownScript_0xbddd3
-	checkflag ENGINE_PARRY_FRIDAY_AFTERNOON
-	iftrue UnknownScript_0xbddd3
-	farscall PhoneScript_Random2
-	if_equal $0, UnknownScript_0xbddda
-	if_equal $1, UnknownScript_0xbddda
-
-UnknownScript_0xbddd3:
-	farjump UnknownScript_0xa0000
-
-UnknownScript_0xbddd7:
-	setflag ENGINE_PARRY_FRIDAY_AFTERNOON
-
-UnknownScript_0xbddda:
-	landmarktotext ROUTE_45, $2
-	setflag ENGINE_PARRY
-	farjump UnknownScript_0xa0376
-
-; Erin
-
-ErinPhoneScript1:
-	trainertotext PICNICKER, ERIN1, $0
-	checkflag ENGINE_ERIN
-	iftrue UnknownScript_0xbde07
-	farscall PhoneScript_AnswerPhone_Female
-	checkflag ENGINE_ERIN_SATURDAY_NIGHT
-	iftrue UnknownScript_0xbde03
-	checkcode VAR_WEEKDAY
-	if_not_equal SATURDAY, UnknownScript_0xbde03
-	checknite
-	iftrue UnknownScript_0xbde32
-
-UnknownScript_0xbde03:
-	farjump UnknownScript_0xa09c0
-
-UnknownScript_0xbde07:
-	landmarktotext ROUTE_46, $2
-	farjump UnknownScript_0xa0aa0
-
-ErinPhoneScript2:
-	trainertotext PICNICKER, ERIN1, $0
-	farscall PhoneScript_GreetPhone_Female
-	checkflag ENGINE_ERIN
-	iftrue UnknownScript_0xbde2e
-	checkflag ENGINE_ERIN_SATURDAY_NIGHT
-	iftrue UnknownScript_0xbde2e
-	farscall PhoneScript_Random3
-	if_equal $0, UnknownScript_0xbde35
-	if_equal $1, UnknownScript_0xbde35
-
-UnknownScript_0xbde2e:
-	farjump UnknownScript_0xa0017
-
-UnknownScript_0xbde32:
-	setflag ENGINE_ERIN_SATURDAY_NIGHT
-
-UnknownScript_0xbde35:
-	landmarktotext ROUTE_46, $2
-	setflag ENGINE_ERIN
-	farjump UnknownScript_0xa037e
-
-PhoneScript_Random2:
-	random 2
-	end
-
-PhoneScript_Random3:
-	random 3
-	end
-
-PhoneScript_Random4:
-	random 4
-	end
-
-PhoneScript_Random5:
-	random 5
-	end
-
-PhoneScript_Random11:
-	random 11
-	end
-
-PhoneScript_AnswerPhone_Male:
-	checkday
-	iftrue PhoneScript_AnswerPhone_Male_Day
-	checknite
-	iftrue PhoneScript_AnswerPhone_Male_Nite
-	checkcode VAR_CALLERID
-	if_equal PHONE_SCHOOLBOY_JACK, .Jack
-	if_equal PHONE_SAILOR_HUEY, .Huey
-	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
-	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
-	if_equal PHONE_YOUNGSTER_JOEY, .Joey
-	if_equal PHONE_BUG_CATCHER_WADE, .Wade
-	if_equal PHONE_FISHER_RALPH, .Ralph
-	if_equal PHONE_HIKER_ANTHONY, .Anthony
-	if_equal PHONE_CAMPER_TODD, .Todd
-	if_equal PHONE_JUGGLER_IRWIN, .Irwin
-	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
-	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
-	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
-	if_equal PHONE_POKEFANM_DEREK, .Derek
-	if_equal PHONE_FISHER_TULLY, .Tully
-	if_equal PHONE_POKEMANIAC_BRENT, .Brent
-	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
-	if_equal PHONE_FISHER_WILTON, .Wilton
-	if_equal PHONE_BLACKBELT_KENJI, .Kenji
-	if_equal PHONE_HIKER_PARRY, .Parry
-
-.Jack:
-	farwritetext UnknownText_0x1b4dc5
-	buttonsound
-	end
-
-.Huey:
-	farwritetext UnknownText_0x1b5073
-	buttonsound
-	end
-
-.Gaven:
-	farwritetext UnknownText_0x1b5270
-	buttonsound
-	end
-
-.Jose:
-	farwritetext UnknownText_0x1b55ae
-	buttonsound
-	end
-
-.Joey:
-	farwritetext UnknownText_0x1b589a
-	buttonsound
-	end
-
-.Wade:
-	farwritetext UnknownText_0x1b5a3b
-	buttonsound
-	end
-
-.Ralph:
-	farwritetext UnknownText_0x1b5c10
-	buttonsound
-	end
-
-.Anthony:
-	farwritetext UnknownText_0x1b5f7a
-	buttonsound
-	end
-
-.Todd:
-	farwritetext UnknownText_0x1b60f5
-	buttonsound
-	end
-
-.Irwin:
-	farwritetext UnknownText_0x1b638c
-	buttonsound
-	end
-
-.Arnie:
-	farwritetext UnknownText_0x1b6454
-	buttonsound
-	end
-
-.Alan:
-	farwritetext UnknownText_0x1b659d
-	buttonsound
-	end
-
-.Chad:
-	farwritetext UnknownText_0x1b67e2
-	buttonsound
-	end
-
-.Derek:
-	farwritetext UnknownText_0x1b69a8
-	buttonsound
-	end
-
-.Tully:
-	farwritetext UnknownText_0x1b6b39
-	buttonsound
-	end
-
-.Brent:
-	farwritetext UnknownText_0x1b6c96
-	buttonsound
-	end
-
-.Vance:
-	farwritetext UnknownText_0x1b7019
-	buttonsound
-	end
-
-.Wilton:
-	farwritetext UnknownText_0x1b71d5
-	buttonsound
-	end
-
-.Kenji:
-	farwritetext UnknownText_0x1b730b
-	buttonsound
-	end
-
-.Parry:
-	farwritetext UnknownText_0x1b73c7
-	buttonsound
-	end
-
-PhoneScript_AnswerPhone_Male_Day:
-	checkcode VAR_CALLERID
-	if_equal PHONE_SCHOOLBOY_JACK, .Jack
-	if_equal PHONE_SAILOR_HUEY, .Huey
-	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
-	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
-	if_equal PHONE_YOUNGSTER_JOEY, .Joey
-	if_equal PHONE_BUG_CATCHER_WADE, .Wade
-	if_equal PHONE_FISHER_RALPH, .Ralph
-	if_equal PHONE_HIKER_ANTHONY, .Anthony
-	if_equal PHONE_CAMPER_TODD, .Todd
-	if_equal PHONE_JUGGLER_IRWIN, .Irwin
-	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
-	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
-	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
-	if_equal PHONE_POKEFANM_DEREK, .Derek
-	if_equal PHONE_FISHER_TULLY, .Tully
-	if_equal PHONE_POKEMANIAC_BRENT, .Brent
-	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
-	if_equal PHONE_FISHER_WILTON, .Wilton
-	if_equal PHONE_BLACKBELT_KENJI, .Kenji
-	if_equal PHONE_HIKER_PARRY, .Parry
-
-.Jack:
-	farwritetext UnknownText_0x1b4ded
-	buttonsound
-	end
-
-.Huey:
-	farwritetext UnknownText_0x1b509b
-	buttonsound
-	end
-
-.Gaven:
-	farwritetext UnknownText_0x1b52a5
-	buttonsound
-	end
-
-.Jose:
-	farwritetext UnknownText_0x1b55da
-	buttonsound
-	end
-
-.Joey:
-	farwritetext UnknownText_0x1b58c2
-	buttonsound
-	end
-
-.Wade:
-	farwritetext UnknownText_0x1b5a74
-	buttonsound
-	end
-
-.Ralph:
-	farwritetext UnknownText_0x1b5c63
-	buttonsound
-	end
-
-.Anthony:
-	farwritetext UnknownText_0x1b5f9e
-	buttonsound
-	end
-
-.Todd:
-	farwritetext UnknownText_0x1b611b
-	buttonsound
-	end
-
-.Irwin:
-	farwritetext UnknownText_0x1b63a8
-	buttonsound
-	end
-
-.Arnie:
-	farwritetext UnknownText_0x1b647e
-	buttonsound
-	end
-
-.Alan:
-	farwritetext UnknownText_0x1b65c7
-	buttonsound
-	end
-
-.Chad:
-	farwritetext UnknownText_0x1b680e
-	buttonsound
-	end
-
-.Derek:
-	farwritetext UnknownText_0x1b69d2
-	buttonsound
-	end
-
-.Tully:
-	farwritetext UnknownText_0x1b6b65
-	buttonsound
-	end
-
-.Brent:
-	farwritetext UnknownText_0x1b6cc6
-	buttonsound
-	end
-
-.Vance:
-	farwritetext UnknownText_0x1b7057
-	buttonsound
-	end
-
-.Wilton:
-	farwritetext UnknownText_0x1b71fc
-	buttonsound
-	end
-
-.Kenji:
-	farwritetext UnknownText_0x1b7331
-	buttonsound
-	end
-
-.Parry:
-	farwritetext UnknownText_0x1b73ef
-	buttonsound
-	end
-
-PhoneScript_AnswerPhone_Male_Nite:
-	checkcode VAR_CALLERID
-	if_equal PHONE_SCHOOLBOY_JACK, .Jack
-	if_equal PHONE_SAILOR_HUEY, .Huey
-	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
-	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
-	if_equal PHONE_YOUNGSTER_JOEY, .Joey
-	if_equal PHONE_BUG_CATCHER_WADE, .Wade
-	if_equal PHONE_FISHER_RALPH, .Ralph
-	if_equal PHONE_HIKER_ANTHONY, .Anthony
-	if_equal PHONE_CAMPER_TODD, .Todd
-	if_equal PHONE_JUGGLER_IRWIN, .Irwin
-	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
-	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
-	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
-	if_equal PHONE_POKEFANM_DEREK, .Derek
-	if_equal PHONE_FISHER_TULLY, .Tully
-	if_equal PHONE_POKEMANIAC_BRENT, .Brent
-	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
-	if_equal PHONE_FISHER_WILTON, .Wilton
-	if_equal PHONE_BLACKBELT_KENJI, .Kenji
-	if_equal PHONE_HIKER_PARRY, .Parry
-
-.Jack:
-	farwritetext UnknownText_0x1b4e16
-	buttonsound
-	end
-
-.Huey:
-	farwritetext UnknownText_0x1b50c2
-	buttonsound
-	end
-
-.Gaven:
-	farwritetext UnknownText_0x1b52cc
-	buttonsound
-	end
-
-.Jose:
-	farwritetext UnknownText_0x1b55fc
-	buttonsound
-	end
-
-.Joey:
-	farwritetext UnknownText_0x1b58ea
-	buttonsound
-	end
-
-.Wade:
-	farwritetext UnknownText_0x1b5a9f
-	buttonsound
-	end
-
-.Ralph:
-	farwritetext UnknownText_0x1b5cb6
-	buttonsound
-	end
-
-.Anthony:
-	farwritetext UnknownText_0x1b5fc9
-	buttonsound
-	end
-
-.Todd:
-	farwritetext UnknownText_0x1b6149
-	buttonsound
-	end
-
-.Irwin:
-	farwritetext UnknownText_0x1b63c4
-	buttonsound
-	end
-
-.Arnie:
-	farwritetext UnknownText_0x1b64a8
-	buttonsound
-	end
-
-.Alan:
-	farwritetext UnknownText_0x1b65e3
-	buttonsound
-	end
-
-.Chad:
-	farwritetext UnknownText_0x1b6836
-	buttonsound
-	end
-
-.Derek:
-	farwritetext UnknownText_0x1b69f8
-	buttonsound
-	end
-
-.Tully:
-	farwritetext UnknownText_0x1b6b92
-	buttonsound
-	end
-
-.Brent:
-	farwritetext UnknownText_0x1b6cf6
-	buttonsound
-	end
-
-.Vance:
-	farwritetext UnknownText_0x1b7092
-	buttonsound
-	end
-
-.Wilton:
-	farwritetext UnknownText_0x1b722a
-	buttonsound
-	end
-
-.Kenji:
-	farwritetext UnknownText_0x1b7357
-	buttonsound
-	end
-
-.Parry:
-	farwritetext UnknownText_0x1b7417
-	buttonsound
-	end
-
-PhoneScript_AnswerPhone_Female:
-	checkday
-	iftrue PhoneScript_AnswerPhone_Female_Day
-	checknite
-	iftrue PhoneScript_AnswerPhone_Female_Nite
-	checkcode VAR_CALLERID
-	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
-	if_equal PHONE_COOLTRAINERF_BETH, .Beth
-	if_equal PHONE_COOLTRAINERF_REENA, .Reena
-	if_equal PHONE_PICNICKER_LIZ, .Liz
-	if_equal PHONE_PICNICKER_GINA, .Gina
-	if_equal PHONE_LASS_DANA, .Dana
-	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
-	if_equal PHONE_PICNICKER_ERIN, .Erin
-
-.Beverly:
-	farwritetext UnknownText_0x1b4f21
-	buttonsound
-	end
-
-.Beth:
-	farwritetext UnknownText_0x1b53f7
-	buttonsound
-	end
-
-.Reena:
-	farwritetext UnknownText_0x1b5702
-	buttonsound
-	end
-
-.Liz:
-	farwritetext UnknownText_0x1b5d9f
-	buttonsound
-	end
-
-.Gina:
-	farwritetext UnknownText_0x1b626a
-	buttonsound
-	end
-
-.Dana:
-	farwritetext UnknownText_0x1b66c8
-	buttonsound
-	end
-
-.Tiffany:
-	farwritetext UnknownText_0x1b6e7c
-	buttonsound
-	end
-
-.Erin:
-	farwritetext UnknownText_0x1b751a
-	buttonsound
-	end
-
-PhoneScript_AnswerPhone_Female_Day:
-	checkcode VAR_CALLERID
-	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
-	if_equal PHONE_COOLTRAINERF_BETH, .Beth
-	if_equal PHONE_COOLTRAINERF_REENA, .Reena
-	if_equal PHONE_PICNICKER_LIZ, .Liz
-	if_equal PHONE_PICNICKER_GINA, .Gina
-	if_equal PHONE_LASS_DANA, .Dana
-	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
-	if_equal PHONE_PICNICKER_ERIN, .Erin
-
-.Beverly:
-	farwritetext UnknownText_0x1b4f4d
-	buttonsound
-	end
-
-.Beth:
-	farwritetext UnknownText_0x1b5424
-	buttonsound
-	end
-
-.Reena:
-	farwritetext UnknownText_0x1b572e
-	buttonsound
-	end
-
-.Liz:
-	farwritetext UnknownText_0x1b5dcc
-	buttonsound
-	end
-
-.Gina:
-	farwritetext UnknownText_0x1b6296
-	buttonsound
-	end
-
-.Dana:
-	farwritetext UnknownText_0x1b66ec
-	buttonsound
-	end
-
-.Tiffany:
-	farwritetext UnknownText_0x1b6ea6
-	buttonsound
-	end
-
-.Erin:
-	farwritetext UnknownText_0x1b7548
-	buttonsound
-	end
-
-PhoneScript_AnswerPhone_Female_Nite:
-	checkcode VAR_CALLERID
-	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
-	if_equal PHONE_COOLTRAINERF_BETH, .Beth
-	if_equal PHONE_COOLTRAINERF_REENA, .Reena
-	if_equal PHONE_PICNICKER_LIZ, .Liz
-	if_equal PHONE_PICNICKER_GINA, .Gina
-	if_equal PHONE_LASS_DANA, .Dana
-	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
-	if_equal PHONE_PICNICKER_ERIN, .Erin
-
-.Beverly:
-	farwritetext UnknownText_0x1b4f75
-	buttonsound
-	end
-
-.Beth:
-	farwritetext UnknownText_0x1b5446
-	buttonsound
-	end
-
-.Reena:
-	farwritetext UnknownText_0x1b575a
-	buttonsound
-	end
-
-.Liz:
-	farwritetext UnknownText_0x1b5df8
-	buttonsound
-	end
-
-.Gina:
-	farwritetext UnknownText_0x1b62c5
-	buttonsound
-	end
-
-.Dana:
-	farwritetext UnknownText_0x1b6713
-	buttonsound
-	end
-
-.Tiffany:
-	farwritetext UnknownText_0x1b6ec9
-	buttonsound
-	end
-
-.Erin:
-	farwritetext UnknownText_0x1b756f
-	buttonsound
-	end
-
-PhoneScript_GreetPhone_Male:
-	checkday
-	iftrue PhoneScript_GreetPhone_Male_Day
-	checknite
-	iftrue PhoneScript_GreetPhone_Male_Nite
-	checkcode VAR_CALLERID
-	if_equal PHONE_SCHOOLBOY_JACK, .Jack
-	if_equal PHONE_SAILOR_HUEY, .Huey
-	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
-	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
-	if_equal PHONE_YOUNGSTER_JOEY, .Joey
-	if_equal PHONE_BUG_CATCHER_WADE, .Wade
-	if_equal PHONE_FISHER_RALPH, .Ralph
-	if_equal PHONE_HIKER_ANTHONY, .Anthony
-	if_equal PHONE_CAMPER_TODD, .Todd
-	if_equal PHONE_JUGGLER_IRWIN, .Irwin
-	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
-	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
-	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
-	if_equal PHONE_POKEFANM_DEREK, .Derek
-	if_equal PHONE_FISHER_TULLY, .Tully
-	if_equal PHONE_POKEMANIAC_BRENT, .Brent
-	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
-	if_equal PHONE_FISHER_WILTON, .Wilton
-	if_equal PHONE_BLACKBELT_KENJI, .Kenji
-	if_equal PHONE_HIKER_PARRY, .Parry
-
-.Jack:
-	farwritetext UnknownText_0x1b4e3e
-	buttonsound
-	end
-
-.Huey:
-	farwritetext UnknownText_0x1b50e9
-	buttonsound
-	end
-
-.Gaven:
-	farwritetext UnknownText_0x1b5301
-	buttonsound
-	end
-
-.Jose:
-	farwritetext UnknownText_0x1b5628
-	buttonsound
-	end
-
-.Joey:
-	farwritetext UnknownText_0x1b5912
-	buttonsound
-	end
-
-.Wade:
-	farwritetext UnknownText_0x1b5ad8
-	buttonsound
-	end
-
-.Ralph:
-	farwritetext UnknownText_0x1b5d09
-	buttonsound
-	end
-
-.Anthony:
-	farwritetext UnknownText_0x1b5ff6
-	buttonsound
-	end
-
-.Todd:
-	farwritetext UnknownText_0x1b616e
-	buttonsound
-	end
-
-.Irwin:
-	farwritetext UnknownText_0x1b63e3
-	buttonsound
-	end
-
-.Arnie:
-	farwritetext UnknownText_0x1b64d2
-	buttonsound
-	end
-
-.Alan:
-	farwritetext UnknownText_0x1b660d
-	buttonsound
-	end
-
-.Chad:
-	farwritetext UnknownText_0x1b6862
-	buttonsound
-	end
-
-.Derek:
-	farwritetext UnknownText_0x1b6a22
-	buttonsound
-	end
-
-.Tully:
-	farwritetext UnknownText_0x1b6bb9
-	buttonsound
-	end
-
-.Brent:
-	farwritetext UnknownText_0x1b6d26
-	buttonsound
-	end
-
-.Vance:
-	farwritetext UnknownText_0x1b70e7
-	buttonsound
-	end
-
-.Wilton:
-	farwritetext UnknownText_0x1b725c
-	buttonsound
-	end
-
-.Kenji:
-	farwritetext UnknownText_0x1b737f
-	buttonsound
-	end
-
-.Parry:
-	farwritetext UnknownText_0x1b743f
-	buttonsound
-	end
-
-PhoneScript_GreetPhone_Male_Day:
-	checkcode VAR_CALLERID
-	if_equal PHONE_SCHOOLBOY_JACK, .Jack
-	if_equal PHONE_SAILOR_HUEY, .Huey
-	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
-	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
-	if_equal PHONE_YOUNGSTER_JOEY, .Joey
-	if_equal PHONE_BUG_CATCHER_WADE, .Wade
-	if_equal PHONE_FISHER_RALPH, .Ralph
-	if_equal PHONE_HIKER_ANTHONY, .Anthony
-	if_equal PHONE_CAMPER_TODD, .Todd
-	if_equal PHONE_JUGGLER_IRWIN, .Irwin
-	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
-	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
-	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
-	if_equal PHONE_POKEFANM_DEREK, .Derek
-	if_equal PHONE_FISHER_TULLY, .Tully
-	if_equal PHONE_POKEMANIAC_BRENT, .Brent
-	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
-	if_equal PHONE_FISHER_WILTON, .Wilton
-	if_equal PHONE_BLACKBELT_KENJI, .Kenji
-	if_equal PHONE_HIKER_PARRY, .Parry
-
-.Jack:
-	farwritetext UnknownText_0x1b4e72
-	buttonsound
-	end
-
-.Huey:
-	farwritetext UnknownText_0x1b511a
-	buttonsound
-	end
-
-.Gaven:
-	farwritetext UnknownText_0x1b5335
-	buttonsound
-	end
-
-.Jose:
-	farwritetext UnknownText_0x1b564c
-	buttonsound
-	end
-
-.Joey:
-	farwritetext UnknownText_0x1b5948
-	buttonsound
-	end
-
-.Wade:
-	farwritetext UnknownText_0x1b5b0b
-	buttonsound
-	end
-
-.Ralph:
-	farwritetext UnknownText_0x1b5d21
-	buttonsound
-	end
-
-.Anthony:
-	farwritetext UnknownText_0x1b6017
-	buttonsound
-	end
-
-.Todd:
-	farwritetext UnknownText_0x1b618f
-	buttonsound
-	end
-
-.Irwin:
-	farwritetext UnknownText_0x1b6407
-	buttonsound
-	end
-
-.Arnie:
-	farwritetext UnknownText_0x1b6506
-	buttonsound
-	end
-
-.Alan:
-	farwritetext UnknownText_0x1b6624
-	buttonsound
-	end
-
-.Chad:
-	farwritetext UnknownText_0x1b6890
-	buttonsound
-	end
-
-.Derek:
-	farwritetext UnknownText_0x1b6a56
-	buttonsound
-	end
-
-.Tully:
-	farwritetext UnknownText_0x1b6bef
-	buttonsound
-	end
-
-.Brent:
-	farwritetext UnknownText_0x1b6d57
-	buttonsound
-	end
-
-.Vance:
-	farwritetext UnknownText_0x1b7112
-	buttonsound
-	end
-
-.Wilton:
-	farwritetext UnknownText_0x1b7283
-	buttonsound
-	end
-
-.Kenji:
-	farwritetext UnknownText_0x1b7397
-	buttonsound
-	end
-
-.Parry:
-	farwritetext UnknownText_0x1b746f
-	buttonsound
-	end
-
-PhoneScript_GreetPhone_Male_Nite:
-	checkcode VAR_CALLERID
-	if_equal PHONE_SCHOOLBOY_JACK, .Jack
-	if_equal PHONE_SAILOR_HUEY, .Huey
-	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
-	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
-	if_equal PHONE_YOUNGSTER_JOEY, .Joey
-	if_equal PHONE_BUG_CATCHER_WADE, .Wade
-	if_equal PHONE_FISHER_RALPH, .Ralph
-	if_equal PHONE_HIKER_ANTHONY, .Anthony
-	if_equal PHONE_CAMPER_TODD, .Todd
-	if_equal PHONE_JUGGLER_IRWIN, .Irwin
-	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
-	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
-	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
-	if_equal PHONE_POKEFANM_DEREK, .Derek
-	if_equal PHONE_FISHER_TULLY, .Tully
-	if_equal PHONE_POKEMANIAC_BRENT, .Brent
-	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
-	if_equal PHONE_FISHER_WILTON, .Wilton
-	if_equal PHONE_BLACKBELT_KENJI, .Kenji
-	if_equal PHONE_HIKER_PARRY, .Parry
-
-.Jack:
-	farwritetext UnknownText_0x1b4e9e
-	buttonsound
-	end
-
-.Huey:
-	farwritetext UnknownText_0x1b5154
-	buttonsound
-	end
-
-.Gaven:
-	farwritetext UnknownText_0x1b535f
-	buttonsound
-	end
-
-.Jose:
-	farwritetext UnknownText_0x1b5670
-	buttonsound
-	end
-
-.Joey:
-	farwritetext UnknownText_0x1b597c
-	buttonsound
-	end
-
-.Wade:
-	farwritetext UnknownText_0x1b5b37
-	buttonsound
-	end
-
-.Ralph:
-	farwritetext UnknownText_0x1b5d39
-	buttonsound
-	end
-
-.Anthony:
-	farwritetext UnknownText_0x1b6041
-	buttonsound
-	end
-
-.Todd:
-	farwritetext UnknownText_0x1b61bd
-	buttonsound
-	end
-
-.Irwin:
-	farwritetext UnknownText_0x1b642c
-	buttonsound
-	end
-
-.Arnie:
-	farwritetext UnknownText_0x1b6539
-	buttonsound
-	end
-
-.Alan:
-	farwritetext UnknownText_0x1b663b
-	buttonsound
-	end
-
-.Chad:
-	farwritetext UnknownText_0x1b68ba
-	buttonsound
-	end
-
-.Derek:
-	farwritetext UnknownText_0x1b6a8b
-	buttonsound
-	end
-
-.Tully:
-	farwritetext UnknownText_0x1b6c23
-	buttonsound
-	end
-
-.Brent:
-	farwritetext UnknownText_0x1b6d88
-	buttonsound
-	end
-
-.Vance:
-	farwritetext UnknownText_0x1b7132
-	buttonsound
-	end
-
-.Wilton:
-	farwritetext UnknownText_0x1b72a5
-	buttonsound
-	end
-
-.Kenji:
-	farwritetext UnknownText_0x1b73af
-	buttonsound
-	end
-
-.Parry:
-	farwritetext UnknownText_0x1b749b
-	buttonsound
-	end
-
-PhoneScript_GreetPhone_Female:
-	checkday
-	iftrue PhoneScript_GreetPhone_Female_Day
-	checknite
-	iftrue PhoneScript_GreetPhone_Female_Nite
-	checkcode VAR_CALLERID
-	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
-	if_equal PHONE_COOLTRAINERF_BETH, .Beth
-	if_equal PHONE_COOLTRAINERF_REENA, .Reena
-	if_equal PHONE_PICNICKER_LIZ, .Liz
-	if_equal PHONE_PICNICKER_GINA, .Gina
-	if_equal PHONE_LASS_DANA, .Dana
-	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
-	if_equal PHONE_PICNICKER_ERIN, .Erin
-
-.Beverly:
-	farwritetext UnknownText_0x1b4fa1
-	buttonsound
-	end
-
-.Beth:
-	farwritetext UnknownText_0x1b5472
-	buttonsound
-	end
-
-.Reena:
-	farwritetext UnknownText_0x1b5786
-	buttonsound
-	end
-
-.Liz:
-	farwritetext UnknownText_0x1b5e25
-	buttonsound
-	end
-
-.Gina:
-	farwritetext UnknownText_0x1b62f1
-	buttonsound
-	end
-
-.Dana:
-	farwritetext UnknownText_0x1b6738
-	buttonsound
-	end
-
-.Tiffany:
-	farwritetext UnknownText_0x1b6ef3
-	buttonsound
-	end
-
-.Erin:
-	farwritetext UnknownText_0x1b758f
-	buttonsound
-	end
-
-PhoneScript_GreetPhone_Female_Day:
-	checkcode VAR_CALLERID
-	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
-	if_equal PHONE_COOLTRAINERF_BETH, .Beth
-	if_equal PHONE_COOLTRAINERF_REENA, .Reena
-	if_equal PHONE_PICNICKER_LIZ, .Liz
-	if_equal PHONE_PICNICKER_GINA, .Gina
-	if_equal PHONE_LASS_DANA, .Dana
-	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
-	if_equal PHONE_PICNICKER_ERIN, .Erin
-
-.Beverly:
-	farwritetext UnknownText_0x1b4fda
-	buttonsound
-	end
-
-.Beth:
-	farwritetext UnknownText_0x1b54a6
-	buttonsound
-	end
-
-.Reena:
-	farwritetext UnknownText_0x1b57b7
-	buttonsound
-	end
-
-.Liz:
-	farwritetext UnknownText_0x1b5e59
-	buttonsound
-	end
-
-.Gina:
-	farwritetext UnknownText_0x1b630e
-	buttonsound
-	end
-
-.Dana:
-	farwritetext UnknownText_0x1b6757
-	buttonsound
-	end
-
-.Tiffany:
-	farwritetext UnknownText_0x1b6f1c
-	buttonsound
-	end
-
-.Erin:
-	farwritetext UnknownText_0x1b75ac
-	buttonsound
-	end
-
-PhoneScript_GreetPhone_Female_Nite:
-	checkcode VAR_CALLERID
-	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
-	if_equal PHONE_COOLTRAINERF_BETH, .Beth
-	if_equal PHONE_COOLTRAINERF_REENA, .Reena
-	if_equal PHONE_PICNICKER_LIZ, .Liz
-	if_equal PHONE_PICNICKER_GINA, .Gina
-	if_equal PHONE_LASS_DANA, .Dana
-	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
-	if_equal PHONE_PICNICKER_ERIN, .Erin
-
-.Beverly:
-	farwritetext UnknownText_0x1b5004
-	buttonsound
-	end
-
-.Beth:
-	farwritetext UnknownText_0x1b54d4
-	buttonsound
-	end
-
-.Reena:
-	farwritetext UnknownText_0x1b57e8
-	buttonsound
-	end
-
-.Liz:
-	farwritetext UnknownText_0x1b5e8e
-	buttonsound
-	end
-
-.Gina:
-	farwritetext UnknownText_0x1b6331
-	buttonsound
-	end
-
-.Dana:
-	farwritetext UnknownText_0x1b6776
-	buttonsound
-	end
-
-.Tiffany:
-	farwritetext UnknownText_0x1b6f37
-	buttonsound
-	end
-
-.Erin:
-	farwritetext UnknownText_0x1b75c9
-	buttonsound
-	end
-
-PhoneScript_Generic_Male:
-	checkcode VAR_CALLERID
-	if_equal PHONE_SCHOOLBOY_JACK, .Jack
-	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven
-	if_equal PHONE_BIRDKEEPER_JOSE, .Jose
-	if_equal PHONE_YOUNGSTER_JOEY, .Joey
-	if_equal PHONE_BUG_CATCHER_WADE, .Wade
-	if_equal PHONE_FISHER_RALPH, .Ralph
-	if_equal PHONE_HIKER_ANTHONY, .Anthony
-	if_equal PHONE_CAMPER_TODD, .Todd
-	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie
-	if_equal PHONE_SCHOOLBOY_ALAN, .Alan
-	if_equal PHONE_SCHOOLBOY_CHAD, .Chad
-	if_equal PHONE_POKEFANM_DEREK, .Derek
-	if_equal PHONE_FISHER_TULLY, .Tully
-	if_equal PHONE_POKEMANIAC_BRENT, .Brent
-	if_equal PHONE_BIRDKEEPER_VANCE, .Vance
-	if_equal PHONE_FISHER_WILTON, .Wilton
-	if_equal PHONE_HIKER_PARRY, .Parry
-
-.Jack:
-	farwritetext UnknownText_0x1b4ecd
-	buttonsound
-	end
-
-.Unknown:
-	farwritetext UnknownText_0x1b518b
-	buttonsound
-	end
-
-.Gaven:
-	farwritetext UnknownText_0x1b5393
-	buttonsound
-	end
-
-.Jose:
-	farwritetext UnknownText_0x1b5694
-	buttonsound
-	end
-
-.Joey:
-	farwritetext UnknownText_0x1b59b2
-	buttonsound
-	end
-
-.Wade:
-	farwritetext UnknownText_0x1b5b68
-	buttonsound
-	end
-
-.Ralph:
-	farwritetext UnknownText_0x1b5d51
-	buttonsound
-	end
-
-.Anthony:
-	farwritetext UnknownText_0x1b606f
-	buttonsound
-	end
-
-.Todd:
-	farwritetext UnknownText_0x1b61f2
-	buttonsound
-	end
-
-.Arnie:
-	farwritetext UnknownText_0x1b656c
-	buttonsound
-	end
-
-.Alan:
-	farwritetext UnknownText_0x1b6652
-	buttonsound
-	end
-
-.Chad:
-	farwritetext UnknownText_0x1b68e8
-	buttonsound
-	end
-
-.Derek:
-	farwritetext UnknownText_0x1b6ac2
-	buttonsound
-	end
-
-.Tully:
-	farwritetext UnknownText_0x1b6c56
-	buttonsound
-	end
-
-.Brent:
-	farwritetext UnknownText_0x1b6db9
-	buttonsound
-	end
-
-.Vance:
-	farwritetext UnknownText_0x1b7161
-	buttonsound
-	end
-
-.Wilton:
-	farwritetext UnknownText_0x1b72d0
-	buttonsound
-	end
-
-.Parry:
-	farwritetext UnknownText_0x1b74c8
-	buttonsound
-	end
-
-PhoneScript_Generic_Female:
-	checkcode VAR_CALLERID
-	if_equal PHONE_POKEFAN_BEVERLY, .Beverly
-	if_equal PHONE_COOLTRAINERF_BETH, .Beth
-	if_equal PHONE_COOLTRAINERF_REENA, .Reena
-	if_equal PHONE_PICNICKER_LIZ, .Liz
-	if_equal PHONE_PICNICKER_GINA, .Gina
-	if_equal PHONE_LASS_DANA, .Dana
-	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany
-	if_equal PHONE_PICNICKER_ERIN, .Erin
-
-.Beverly:
-	farwritetext UnknownText_0x1b502b
-	buttonsound
-	end
-
-.Beth:
-	farwritetext UnknownText_0x1b5510
-	buttonsound
-	end
-
-.Reena:
-	farwritetext UnknownText_0x1b5819
-	buttonsound
-	end
-
-.Liz:
-	farwritetext UnknownText_0x1b5ebe
-	buttonsound
-	end
-
-.Gina:
-	farwritetext UnknownText_0x1b6352
-	buttonsound
-	end
-
-.Dana:
-	farwritetext UnknownText_0x1b6795
-	buttonsound
-	end
-
-.Tiffany:
-	farwritetext UnknownText_0x1b6f60
-	buttonsound
-	end
-
-.Erin:
-	farwritetext UnknownText_0x1b75e5
-	buttonsound
-	end
-
-PhoneScript_MonFlavorText:
-	special RandomPhoneMon
-	farscall PhoneScript_Random2
-	if_equal $0, .TooEnergetic
-	farwritetext UnknownText_0x1b518b
-	buttonsound
-	farjump PhoneScript_HangupText_Male
-
-.TooEnergetic:
-	farjump .unnecessary
-
-.unnecessary
-	farwritetext UnknownText_0x1b522b
-	buttonsound
-	farjump PhoneScript_HangupText_Male
-; be643
-
-
-String_be643: db "Grandma@"
-String_be64b: db "Grandpa@"
-String_be653: db "Mom@"
-String_be657: db "Dad@"
-String_be65b: db "Sister@"
-String_be662: db "Brother@"
-
--- a/engine/specials.asm
+++ b/engine/specials.asm
@@ -111,7 +111,7 @@
 	add_special Special_DisplayLinkRecord
 	add_special GetFirstPokemonHappiness
 	add_special CheckFirstMonIsEgg
-	add_special RandomPhoneRareWildMon
+	add_special RandomUnseenWildMon
 	add_special RandomPhoneWildMon
 	add_special RandomPhoneMon
 	add_special MapCallbackSprites_LoadUsedSpritesGFX
--- a/engine/wildmons.asm
+++ b/engine/wildmons.asm
@@ -802,8 +802,9 @@
 	ret
 ; 2a4ab
 
-RandomPhoneRareWildMon: ; 2a4ab
-; Related to the phone?
+; Finds a rare wild Pokemon in the route of the trainer calling, then checks if it's been Seen already.
+; The trainer will then tell you about the Pokemon if you haven't seen it.
+RandomUnseenWildMon: ; 2a4ab
 	callba GetCallerLocation
 	ld d, b
 	ld e, c
--- a/main.asm
+++ b/main.asm
@@ -762,7 +762,7 @@
 
 SECTION "bank24", ROMX
 
-INCLUDE "engine/phone.asm"
+INCLUDE "engine/phone/phone.asm"
 INCLUDE "engine/timeset.asm"
 INCLUDE "engine/pokegear.asm"
 INCLUDE "engine/fish.asm"
@@ -771,8 +771,9 @@
 
 SECTION "Phone Engine", ROMX
 
-INCLUDE "engine/more_phone_scripts.asm"
-INCLUDE "engine/buena_phone_scripts.asm"
+INCLUDE "engine/phone/phone_callers.asm"
+INCLUDE "engine/phone/phone_gossip.asm"
+INCLUDE "engine/phone/buenas_password.asm"
 
 
 SECTION "Phone Text", ROMX
@@ -806,7 +807,8 @@
 SECTION "bank2F", ROMX
 
 INCLUDE "engine/std_scripts.asm"
-INCLUDE "engine/phone_scripts.asm"
+INCLUDE "engine/phone/phone_scripts.asm"
+INCLUDE "engine/phone/generic_calls.asm"
 INCLUDE "engine/trainer_scripts.asm"
 
 
--- a/text/phone/extra.asm
+++ b/text/phone/extra.asm
@@ -205,7 +205,7 @@
 	done
 ; 0x646a3
 
-UnknownText_0x646a3: ; 0x646a3
+IrwinCalledRightAwayText: ; 0x646a3
 	text "Hehe, I called"
 	line "right away!"
 
@@ -307,7 +307,7 @@
 	done
 ; 0x649dc
 
-UnknownText_0x649dc: ; 0x649dc
+ArnieLovesTheCuteText: ; 0x649dc
 	text "I'm always with my"
 	line "@"
 	text_from_ram StringBuffer4
@@ -423,7 +423,7 @@
 	done
 ; 0x64cbd
 
-UnknownText_0x64cbd: ; 0x64cbd
+AlanGettingStrongerText: ; 0x64cbd
 	text "My @"
 	text_from_ram StringBuffer4
 	text "'s"
@@ -651,7 +651,7 @@
 	done
 ; 0x65271
 
-UnknownText_0x65271: ; 0x65271
+ChadObservingWildText: ; 0x65271
 	text "I recently began"
 	line "observing wild"
 	cont "@"
@@ -727,7 +727,7 @@
 	done
 ; 0x65481
 
-UnknownText_0x65481: ; 0x65481
+ChadBlueGossipText: ; 0x65481
 	text "Do you know BLUE?"
 
 	para "He's PROF.OAK's"
@@ -741,7 +741,7 @@
 	done
 ; 0x654ea
 
-UnknownText_0x654ea: ; 0x654ea
+ChadDaisyGossipText: ; 0x654ea
 	text "PROF.OAK has a"
 	line "granddaughter"
 	cont "named DAISY."
@@ -754,7 +754,7 @@
 	done
 ; 0x65555
 
-UnknownText_0x65555: ; 0x65555
+ChadProfElmGossipText: ; 0x65555
 	text "Everyone's talking"
 	line "about PROF.ELM."
 
@@ -767,7 +767,7 @@
 	done
 ; 0x655c7
 
-UnknownText_0x655c7: ; 0x655c7
+ChadDreamGossipText: ; 0x655c7
 	text "PROF.OAK's dream"
 	line "is to compile a"
 
@@ -780,7 +780,7 @@
 	done
 ; 0x65628
 
-UnknownText_0x65628: ; 0x65628
+ChadKurtGossipText: ; 0x65628
 	text "Do you know KURT,"
 	line "the BALL creator?"
 
@@ -793,7 +793,7 @@
 	done
 ; 0x6569b
 
-UnknownText_0x6569b: ; 0x6569b
+ChadLeagueGossipText: ; 0x6569b
 	text "#MON LEAGUE is"
 	line "the great gather-"
 	cont "ing place for all"
@@ -812,7 +812,7 @@
 	done
 ; 0x6574a
 
-UnknownText_0x6574a: ; 0x6574a
+ChadRadioShowGossipText: ; 0x6574a
 	text "PROF.OAK'S #MON"
 	line "TALK is a popular"
 	cont "radio show, right?"
@@ -832,7 +832,7 @@
 	done
 ; 0x65810
 
-UnknownText_0x65810: ; 0x65810
+ChadBattlingGossipText: ; 0x65810
 	text "PROF.OAK used to"
 	line "be a trainer a"
 	cont "long time ago."
@@ -851,7 +851,7 @@
 	done
 ; 0x658c6
 
-UnknownText_0x658c6: ; 0x658c6
+ChadDaisyTeaGossipText: ; 0x658c6
 	text "PROF.OAK has a"
 	line "granddaughter"
 	cont "named DAISY."
@@ -870,7 +870,7 @@
 	done
 ; 0x65969
 
-UnknownText_0x65969: ; 0x65969
+ChadTravelGossipText: ; 0x65969
 	text "Did you know?"
 	line "PROF.OAK traveled"
 
@@ -914,7 +914,7 @@
 	done
 ; 0x65ab2
 
-UnknownText_0x65ab2: ; 0x65ab2
+DerekCheekPincherText: ; 0x65ab2
 	text "Listen to this."
 	line "My @"
 	text_from_ram StringBuffer4
@@ -976,7 +976,7 @@
 	done
 ; 0x65c66
 
-UnknownText_0x65c66: ; 0x65c66
+DerekBugCatchingContestText: ; 0x65c66
 	text "Did you remember?"
 	line "The Bug-Catching"
 	cont "Contest is today."
@@ -1028,7 +1028,7 @@
 	done
 ; 0x65de4
 
-UnknownText_0x65de4: ; 0x65de4
+TullyGrownText: ; 0x65de4
 	text "My @"
 	text_from_ram StringBuffer4
 	text " has"
@@ -1142,7 +1142,7 @@
 	done
 ; 0x660be
 
-UnknownText_0x660be: ; 0x660be
+BrentRareTradeText: ; 0x660be
 	text "Oh yeah, I got an"
 	line "extremely rare"
 
@@ -1394,7 +1394,7 @@
 	done
 ; 0x66796
 
-UnknownText_0x66796: ; 0x66796
+TiffanyItsAwfulText: ; 0x66796
 	text_from_ram StringBuffer4
 	text "!"
 
@@ -1471,7 +1471,7 @@
 	done
 ; 0x66980
 
-UnknownText_0x66980: ; 0x66980
+VanceLiftoffText: ; 0x66980
 	text "My @"
 	text_from_ram StringBuffer4
 	text "'s"
@@ -1525,7 +1525,7 @@
 	done
 ; 0x66aa5
 
-UnknownText_0x66aa5: ; 0x66aa5
+VanceLookingForwardText: ; 0x66aa5
 	text "I'll be looking"
 	line "forward to our"
 	cont "next battle!"
@@ -1532,7 +1532,7 @@
 	done
 ; 0x66ad1
 
-UnknownText_0x66ad1: ; 0x66ad1
+VanceHurryHurryText: ; 0x66ad1
 	text "Oh, <PLAY_G>!"
 	line "Hurry, hurry!"
 
@@ -1543,7 +1543,7 @@
 	done
 ; 0x66afc
 
-UnknownText_0x66afc: ; 0x66afc
+WiltonGrownText: ; 0x66afc
 	text "My @"
 	text_from_ram StringBuffer4
 	text "'s"
@@ -1613,7 +1613,7 @@
 	done
 ; 0x66ca7
 
-UnknownText_0x66ca7: ; 0x66ca7
+WiltonHaventFoundAnythingText: ; 0x66ca7
 	text "Nah, I haven't"
 	line "found anything"
 
@@ -1625,7 +1625,7 @@
 	done
 ; 0x66cf7
 
-UnknownText_0x66cf7: ; 0x66cf7
+WiltonNotBitingText: ; 0x66cf7
 	text "Sigh…"
 	line "They're not biting"
 
@@ -1639,7 +1639,7 @@
 	done
 ; 0x66d45
 
-UnknownText_0x66d45: ; 0x66d45
+WiltonWantThisText: ; 0x66d45
 	text "Don't you want"
 	line "this item?"
 
@@ -1707,7 +1707,7 @@
 	done
 ; 0x66f11
 
-UnknownText_0x66f11: ; 0x66f11
+KenjiBreakText: ; 0x66f11
 	text "I'm taking a break"
 	line "on ROUTE 45!"
 
@@ -1727,7 +1727,7 @@
 	done
 ; 0x66f9f
 
-UnknownText_0x66f9f: ; 0x66f9f
+ParryNoMatchText: ; 0x66f9f
 	text "Nothing can match"
 	line "my @"
 	text_from_ram StringBuffer4
@@ -1786,13 +1786,13 @@
 	done
 ; 0x67106
 
-UnknownText_0x67106: ; 0x67106
+ParryBattleWithMeText: ; 0x67106
 	text "You'll battle with"
 	line "me again, right?"
 	done
 ; 0x6712a
 
-UnknownText_0x6712a: ; 0x6712a
+ParryHaventYouGottenToText: ; 0x6712a
 	text "Haven't you gotten"
 	line "to @"
 	text_from_ram StringBuffer5
@@ -1858,7 +1858,7 @@
 	done
 ; 0x67294
 
-UnknownText_0x67294: ; 0x67294
+ErinWorkingHardText: ; 0x67294
 	text "I'm working hard"
 	line "to raise my"
 	cont "#MON!"
@@ -1868,7 +1868,7 @@
 	done
 ; 0x672d5
 
-UnknownText_0x672d5: ; 0x672d5
+ErinComeBattleText: ; 0x672d5
 	text "Oh, <PLAY_G>!"
 	line "Come battle ERIN!"
 
--- a/text/phone/extra2.asm
+++ b/text/phone/extra2.asm
@@ -19,7 +19,7 @@
 	done
 ; 0x1740c0
 
-UnknownText_0x1740c0: ; 0x1740c0
+JackIntelligenceText: ; 0x1740c0
 	text "My @"
 	text_from_ram StringBuffer4
 	text "'s"
@@ -31,7 +31,7 @@
 	done
 ; 0x174106
 
-UnknownText_0x174106: ; 0x174106
+JackDefeatedMonText: ; 0x174106
 	text "The other day, I"
 	line "easily defeated a"
 	cont "@"
@@ -83,7 +83,7 @@
 	done
 ; 0x174261
 
-UnknownText_0x174261: ; 0x174261
+JackThunderTriviaText: ; 0x174261
 	text "Did you know?"
 
 	para "When it's raining,"
@@ -92,7 +92,7 @@
 	done
 ; 0x17429d
 
-UnknownText_0x17429d: ; 0x17429d
+JackRolloutTriviaText: ; 0x17429d
 	text "Did you know…?"
 
 	para "If you use DEFENSE"
@@ -103,7 +103,7 @@
 	done
 ; 0x1742ee
 
-UnknownText_0x1742ee: ; 0x1742ee
+JackSolarbeamTriviaText: ; 0x1742ee
 	text "Did you know…?"
 
 	para "If the sunlight is"
@@ -114,7 +114,7 @@
 	done
 ; 0x174340
 
-UnknownText_0x174340: ; 0x174340
+JackStompTriviaText: ; 0x174340
 	text "Did you know…?"
 
 	para "If the opponent"
@@ -125,7 +125,7 @@
 	done
 ; 0x174391
 
-UnknownText_0x174391: ; 0x174391
+JackGustTriviaText: ; 0x174391
 	text "Did you know…?"
 
 	para "If your opponent"
@@ -136,7 +136,7 @@
 	done
 ; 0x1743e3
 
-UnknownText_0x1743e3: ; 0x1743e3
+JackTwisterTriviaText: ; 0x1743e3
 	text "Did you know…?"
 
 	para "If your opponent"
@@ -147,7 +147,7 @@
 	done
 ; 0x174433
 
-UnknownText_0x174433: ; 0x174433
+JackEarthquakeTriviaText: ; 0x174433
 	text "Did you know…?"
 
 	para "If your opponent"
@@ -158,7 +158,7 @@
 	done
 ; 0x174485
 
-UnknownText_0x174485: ; 0x174485
+JackMagnitudeTriviaText: ; 0x174485
 	text "Did you know…?"
 
 	para "If your opponent"
@@ -169,7 +169,7 @@
 	done
 ; 0x1744d6
 
-UnknownText_0x1744d6: ; 0x1744d6
+JackSandstormTriviaText: ; 0x1744d6
 	text "Did you know…?"
 
 	para "The rock, ground"
@@ -180,7 +180,7 @@
 	done
 ; 0x174522
 
-UnknownText_0x174522: ; 0x174522
+JackSunnyDayTriviaText: ; 0x174522
 	text "Did you know…?"
 
 	para "If the sunlight is"
@@ -191,7 +191,7 @@
 	done
 ; 0x174571
 
-UnknownText_0x174571: ; 0x174571
+JackRainDanceTriviaText: ; 0x174571
 	text "Did you know…?"
 
 	para "When it's raining,"
@@ -278,7 +278,7 @@
 	done
 ; 0x1747cc
 
-UnknownText_0x1747cc: ; 0x1747cc
+BeverlyFoundNuggetText: ; 0x1747cc
 	text "My husband got"
 	line "some NUGGETS."
 
@@ -369,7 +369,7 @@
 	done
 ; 0x174a24
 
-UnknownText_0x174a24: ; 0x174a24
+GavenGreaterText: ; 0x174a24
 	text "My @"
 	text_from_ram StringBuffer4
 	text ""
@@ -552,7 +552,7 @@
 	done
 ; 0x174ee2
 
-UnknownText_0x174ee2: ; 0x174ee2
+BethForgetDealText: ; 0x174ee2
 	text "Um… <PLAY_G>?"
 	line "What's wrong?"
 
@@ -568,7 +568,7 @@
 	done
 ; 0x174f2f
 
-UnknownText_0x174f2f: ; 0x174f2f
+JoseAromaText: ; 0x174f2f
 	text "Hey listen, my"
 	line "@"
 	text_from_ram StringBuffer4
@@ -639,7 +639,7 @@
 	done
 ; 0x175116
 
-UnknownText_0x175116: ; 0x175116
+JoseFoundSomethingText: ; 0x175116
 	text "My FARFETCH'D had"
 	line "something pretty"
 	cont "in its beak."
@@ -804,7 +804,7 @@
 	done
 ; 0x175530
 
-UnknownText_0x175530: ; 0x175530
+JoeySharperText: ; 0x175530
 	text "My @"
 	text_from_ram StringBuffer4
 	text "'s"
@@ -903,7 +903,7 @@
 	done
 ; 0x1757d4
 
-UnknownText_0x1757d4: ; 0x1757d4
+WadeAreYouGrowingText: ; 0x1757d4
 	text "Are your #MON"
 	line "growing?"
 
@@ -981,7 +981,7 @@
 	done
 ; 0x1759f7
 
-UnknownText_0x1759f7: ; 0x1759f7
+WadeBugCatchingContestText: ; 0x1759f7
 	text "The Bug-Catching"
 	line "Contest is at the"
 
@@ -996,7 +996,7 @@
 	done
 ; 0x175a60
 
-UnknownText_0x175a60: ; 0x175a60
+WadeFoundBerryText: ; 0x175a60
 	text "I found all kinds"
 	line "of BERRIES. If you"
 
@@ -1050,7 +1050,7 @@
 	done
 ; 0x175bc4
 
-UnknownText_0x175bc4: ; 0x175bc4
+RalphNeglectingKidsText: ; 0x175bc4
 	text "I've been spending"
 	line "more time with my"
 
@@ -1260,7 +1260,7 @@
 	done
 ; 0x1761a7
 
-UnknownText_0x1761a7: ; 0x1761a7
+LizHiTaniaText: ; 0x1761a7
 	text "Hi, TANIA. How are"
 	line "you? This is LIZ."
 
@@ -1520,7 +1520,7 @@
 	done
 ; 0x176a2f
 
-UnknownText_0x176a2f: ; 0x176a2f
+AnthonyAteBerriesText: ; 0x176a2f
 	text "The other day, I"
 	line "was watching my"
 
@@ -1669,7 +1669,7 @@
 	done
 ; 0x176e5d
 
-UnknownText_0x176e5d: ; 0x176e5d
+ToddLooksCuteLikeMeText: ; 0x176e5d
 	text "My @"
 	text_from_ram StringBuffer4
 	text " is"
--- a/text/phone/mom.asm
+++ b/text/phone/mom.asm
@@ -81,12 +81,12 @@
 	line "keep on saving?"
 	done
 
-UnknownText_0x1b41ea: ; 0x1b41ea
+MomImportantToSaveText: ; 0x1b41ea
 	text "It's important to"
 	line "save your money."
 	done
 
-UnknownText_0x1b420d: ; 0x1b420d
+MomYoureNotSavingText: ; 0x1b420d
 	text "Oh, <PLAYER>,"
 	line "you're not saving"
 
@@ -94,7 +94,7 @@
 	line "you like to save?"
 	done
 
-UnknownText_0x1b4249: ; 0x1b4249
+MomYouveSavedText: ; 0x1b4249
 	text "By the way, you've"
 	line "saved up ¥@"
 	text_from_ram StringBuffer3
@@ -104,7 +104,7 @@
 	line "saving again?"
 	done
 
-UnknownText_0x1b4289: ; 0x1b4289
+MomOKIllSaveText: ; 0x1b4289
 	text "OK. I'll save your"
 	line "money."
 	done