shithub: pokecrystal

Download patch

ref: 0eb0c40ba7be54862364e6cd3a77cc605a4ada16
parent: b8dcccd0da7d7eda8f4e480aeb4f87d08d7461b4
author: PikalaxALT <[email protected]>
date: Sun Nov 29 17:29:45 EST 2015

buttonsound

--- a/engine/breeding/egg.asm
+++ b/engine/breeding/egg.asm
@@ -875,7 +875,7 @@
 	ld a, [wDaycareLady]
 	bit 0, a
 	jr z, Function1745f
-	call KeepTextOpen
+	call ButtonSound
 	ld hl, wBreedMon2Nick
 	call Function1746c
 	jp PrintText
@@ -888,7 +888,7 @@
 	ld a, [wDaycareMan]
 	bit 0, a
 	jr z, Function1745f
-	call KeepTextOpen
+	call ButtonSound
 	ld hl, wBreedMon1Nick
 	call Function1746c
 	jp PrintText
--- a/engine/buena_phone_scripts.asm
+++ b/engine/buena_phone_scripts.asm
@@ -18,17 +18,17 @@
 	checkday
 	iftrue .day
 	writetext UnknownText_0xa0d42
-	keeptextopen
+	buttonsound
 	end
 
 .morn:
 	writetext UnknownText_0xa0c28
-	keeptextopen
+	buttonsound
 	end
 
 .day:
 	writetext UnknownText_0xa0c72
-	keeptextopen
+	buttonsound
 	end
 
 BuenaPhoneScript_AfterMidnight1:
@@ -43,22 +43,22 @@
 	checkday
 	iftrue .day
 	writetext UnknownText_0xa0e29
-	keeptextopen
+	buttonsound
 	end
 
 .morn:
 	writetext UnknownText_0xa0d96
-	keeptextopen
+	buttonsound
 	end
 
 .day:
 	writetext UnknownText_0xa0dcf
-	keeptextopen
+	buttonsound
 	end
 
 BuenaPhoneScript_AfterMidnight2:
 	writetext UnknownText_0xa0e01
-	keeptextopen
+	buttonsound
 	end
 
 BuenaPhoneScript_Rocket:
--- a/engine/fruit_trees.asm
+++ b/engine/fruit_trees.asm
@@ -4,7 +4,7 @@
 	copybytetovar CurFruit
 	itemtotext $0, $0
 	writetext FruitBearingTreeText
-	keeptextopen
+	buttonsound
 	callasm TryResetFruitTrees
 	callasm CheckFruitTree
 	iffalse .fruit
@@ -17,7 +17,7 @@
 	copybytetovar CurFruit
 	giveitem ITEM_FROM_MEM
 	iffalse .packisfull
-	keeptextopen
+	buttonsound
 	writetext ObtainedFruitText
 	callasm PickedFruitTree
 	specialsound
@@ -25,7 +25,7 @@
 	jump .end
 
 .packisfull
-	keeptextopen
+	buttonsound
 	writetext FruitPackIsFullText
 	waitbutton
 
--- a/engine/more_phone_scripts.asm
+++ b/engine/more_phone_scripts.asm
@@ -76,87 +76,87 @@
 
 .Jack:
 	farwritetext UnknownText_0x1740c0
-	keeptextopen
+	buttonsound
 	end
 
 .Gaven:
 	farwritetext UnknownText_0x174a24
-	keeptextopen
+	buttonsound
 	end
 
 .Jose:
 	farwritetext UnknownText_0x174f2f
-	keeptextopen
+	buttonsound
 	end
 
 .Joey:
 	farwritetext UnknownText_0x175530
-	keeptextopen
+	buttonsound
 	end
 
 .Wade:
 	farwritetext UnknownText_0x1757d4
-	keeptextopen
+	buttonsound
 	end
 
 .Ralph:
 	farwritetext UnknownText_0x175bc4
-	keeptextopen
+	buttonsound
 	end
 
 .Anthony:
 	farwritetext UnknownText_0x176a2f
-	keeptextopen
+	buttonsound
 	end
 
 .Todd:
 	farwritetext UnknownText_0x176e5d
-	keeptextopen
+	buttonsound
 	end
 
 .Arnie:
 	farwritetext UnknownText_0x649dc
-	keeptextopen
+	buttonsound
 	end
 
 .Alan:
 	farwritetext UnknownText_0x64cbd
-	keeptextopen
+	buttonsound
 	end
 
 .Chad:
 	farwritetext UnknownText_0x65271
-	keeptextopen
+	buttonsound
 	end
 
 .Derek:
 	farwritetext UnknownText_0x65ab2
-	keeptextopen
+	buttonsound
 	end
 
 .Tully:
 	farwritetext UnknownText_0x65de4
-	keeptextopen
+	buttonsound
 	end
 
 .Brent:
 	farwritetext UnknownText_0x660be
-	keeptextopen
+	buttonsound
 	end
 
 .Vance:
 	farwritetext UnknownText_0x66980
-	keeptextopen
+	buttonsound
 	end
 
 .Wilton:
 	farwritetext UnknownText_0x66afc
-	keeptextopen
+	buttonsound
 	end
 
 .Parry:
 	farwritetext UnknownText_0x66f9f
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0xa0128:
@@ -172,42 +172,42 @@
 
 .Beverly:
 	farwritetext UnknownText_0x174688
-	keeptextopen
+	buttonsound
 	end
 
 .Beth:
 	farwritetext UnknownText_0x174c7f
-	keeptextopen
+	buttonsound
 	end
 
 .Reena:
 	farwritetext UnknownText_0x1752f5
-	keeptextopen
+	buttonsound
 	end
 
 .Liz:
 	farwritetext UnknownText_0x175fda
-	keeptextopen
+	buttonsound
 	end
 
 .Gina:
 	farwritetext UnknownText_0x1771fd
-	keeptextopen
+	buttonsound
 	end
 
 .Dana:
 	farwritetext UnknownText_0x64f74
-	keeptextopen
+	buttonsound
 	end
 
 .Tiffany:
 	farwritetext UnknownText_0x665ad
-	keeptextopen
+	buttonsound
 	end
 
 .Erin:
 	farwritetext UnknownText_0x6717a
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0xa017a:
@@ -232,87 +232,87 @@
 
 .Jack:
 	farwritetext UnknownText_0x174106
-	keeptextopen
+	buttonsound
 	end
 
 .Gaven:
 	farwritetext UnknownText_0x174a80
-	keeptextopen
+	buttonsound
 	end
 
 .Jose:
 	farwritetext UnknownText_0x174f90
-	keeptextopen
+	buttonsound
 	end
 
 .Joey:
 	farwritetext UnknownText_0x175591
-	keeptextopen
+	buttonsound
 	end
 
 .Wade:
 	farwritetext UnknownText_0x175869
-	keeptextopen
+	buttonsound
 	end
 
 .Ralph:
 	farwritetext UnknownText_0x175c24
-	keeptextopen
+	buttonsound
 	end
 
 .Anthony:
 	farwritetext UnknownText_0x176aef
-	keeptextopen
+	buttonsound
 	end
 
 .Todd:
 	farwritetext UnknownText_0x176e9c
-	keeptextopen
+	buttonsound
 	end
 
 .Arnie:
 	farwritetext UnknownText_0x64a13
-	keeptextopen
+	buttonsound
 	end
 
 .Alan:
 	farwritetext UnknownText_0x64cf3
-	keeptextopen
+	buttonsound
 	end
 
 .Chad:
 	farwritetext UnknownText_0x65318
-	keeptextopen
+	buttonsound
 	end
 
 .Derek:
 	farwritetext UnknownText_0x65b29
-	keeptextopen
+	buttonsound
 	end
 
 .Tully:
 	farwritetext UnknownText_0x65e42
-	keeptextopen
+	buttonsound
 	end
 
 .Brent:
 	farwritetext UnknownText_0x6613c
-	keeptextopen
+	buttonsound
 	end
 
 .Vance:
 	farwritetext UnknownText_0x669b2
-	keeptextopen
+	buttonsound
 	end
 
 .Wilton:
 	farwritetext UnknownText_0x66b3e
-	keeptextopen
+	buttonsound
 	end
 
 .Parry:
 	farwritetext UnknownText_0x66fc0
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0xa0226:
@@ -328,42 +328,42 @@
 
 .Beverly:
 	farwritetext UnknownText_0x1746c3
-	keeptextopen
+	buttonsound
 	end
 
 .Beth:
 	farwritetext UnknownText_0x174cf6
-	keeptextopen
+	buttonsound
 	end
 
 .Reena:
 	farwritetext UnknownText_0x17536b
-	keeptextopen
+	buttonsound
 	end
 
 .Liz:
 	farwritetext UnknownText_0x17602d
-	keeptextopen
+	buttonsound
 	end
 
 .Gina:
 	farwritetext UnknownText_0x177237
-	keeptextopen
+	buttonsound
 	end
 
 .Dana:
 	farwritetext UnknownText_0x64fb2
-	keeptextopen
+	buttonsound
 	end
 
 .Tiffany:
 	farwritetext UnknownText_0x66605
-	keeptextopen
+	buttonsound
 	end
 
 .Erin:
 	farwritetext UnknownText_0x671a4
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0xa0278:
@@ -388,87 +388,87 @@
 
 .Jack:
 	farwritetext UnknownText_0x174165
-	keeptextopen
+	buttonsound
 	end
 
 .Gaven:
 	farwritetext UnknownText_0x174b2d
-	keeptextopen
+	buttonsound
 	end
 
 .Jose:
 	farwritetext UnknownText_0x174ffd
-	keeptextopen
+	buttonsound
 	end
 
 .Joey:
 	farwritetext UnknownText_0x175611
-	keeptextopen
+	buttonsound
 	end
 
 .Wade:
 	farwritetext UnknownText_0x1758e4
-	keeptextopen
+	buttonsound
 	end
 
 .Ralph:
 	farwritetext UnknownText_0x175c9f
-	keeptextopen
+	buttonsound
 	end
 
 .Anthony:
 	farwritetext UnknownText_0x176b45
-	keeptextopen
+	buttonsound
 	end
 
 .Todd:
 	farwritetext UnknownText_0x176eee
-	keeptextopen
+	buttonsound
 	end
 
 .Arnie:
 	farwritetext UnknownText_0x64a71
-	keeptextopen
+	buttonsound
 	end
 
 .Alan:
 	farwritetext UnknownText_0x64d4f
-	keeptextopen
+	buttonsound
 	end
 
 .Chad:
 	farwritetext UnknownText_0x65399
-	keeptextopen
+	buttonsound
 	end
 
 .Derek:
 	farwritetext UnknownText_0x65bc8
-	keeptextopen
+	buttonsound
 	end
 
 .Tully:
 	farwritetext UnknownText_0x65eac
-	keeptextopen
+	buttonsound
 	end
 
 .Brent:
 	farwritetext UnknownText_0x6618c
-	keeptextopen
+	buttonsound
 	end
 
 .Vance:
 	farwritetext UnknownText_0x669ed
-	keeptextopen
+	buttonsound
 	end
 
 .Wilton:
 	farwritetext UnknownText_0x66b8f
-	keeptextopen
+	buttonsound
 	end
 
 .Parry:
 	farwritetext UnknownText_0x67001
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0xa0324:
@@ -484,42 +484,42 @@
 
 .Beverly:
 	farwritetext UnknownText_0x174734
-	keeptextopen
+	buttonsound
 	end
 
 .Beth:
 	farwritetext UnknownText_0x174d86
-	keeptextopen
+	buttonsound
 	end
 
 .Reena:
 	farwritetext UnknownText_0x1753c5
-	keeptextopen
+	buttonsound
 	end
 
 .Liz:
 	farwritetext UnknownText_0x176095
-	keeptextopen
+	buttonsound
 	end
 
 .Gina:
 	farwritetext UnknownText_0x177297
-	keeptextopen
+	buttonsound
 	end
 
 .Dana:
 	farwritetext UnknownText_0x6501c
-	keeptextopen
+	buttonsound
 	end
 
 .Tiffany:
 	farwritetext UnknownText_0x66688
-	keeptextopen
+	buttonsound
 	end
 
 .Erin:
 	farwritetext UnknownText_0x671eb
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0xa0376:
@@ -552,87 +552,87 @@
 
 .Jack:
 	farwritetext UnknownText_0x1741e1
-	keeptextopen
+	buttonsound
 	end
 
 .Huey:
 	farwritetext UnknownText_0x1748ea
-	keeptextopen
+	buttonsound
 	end
 
 .Gaven:
 	farwritetext UnknownText_0x174bc5
-	keeptextopen
+	buttonsound
 	end
 
 .Jose:
 	farwritetext UnknownText_0x17507d
-	keeptextopen
+	buttonsound
 	end
 
 .Joey:
 	farwritetext UnknownText_0x175693
-	keeptextopen
+	buttonsound
 	end
 
 .Wade:
 	farwritetext UnknownText_0x175976
-	keeptextopen
+	buttonsound
 	end
 
 .Ralph:
 	farwritetext UnknownText_0x175d40
-	keeptextopen
+	buttonsound
 	end
 
 .Anthony:
 	farwritetext UnknownText_0x176bee
-	keeptextopen
+	buttonsound
 	end
 
 .Todd:
 	farwritetext UnknownText_0x176f60
-	keeptextopen
+	buttonsound
 	end
 
 .Arnie:
 	farwritetext UnknownText_0x64ada
-	keeptextopen
+	buttonsound
 	end
 
 .Alan:
 	farwritetext UnknownText_0x64da4
-	keeptextopen
+	buttonsound
 	end
 
 .Chad:
 	farwritetext UnknownText_0x65419
-	keeptextopen
+	buttonsound
 	end
 
 .Tully:
 	farwritetext UnknownText_0x65f17
-	keeptextopen
+	buttonsound
 	end
 
 .Brent:
 	farwritetext UnknownText_0x66214
-	keeptextopen
+	buttonsound
 	end
 
 .Vance:
 	farwritetext UnknownText_0x66a3a
-	keeptextopen
+	buttonsound
 	end
 
 .Wilton:
 	farwritetext UnknownText_0x66bf3
-	keeptextopen
+	buttonsound
 	end
 
 .Parry:
 	farwritetext UnknownText_0x67096
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0xa0432:
@@ -647,37 +647,37 @@
 
 .Beth:
 	farwritetext UnknownText_0x174e4e
-	keeptextopen
+	buttonsound
 	end
 
 .Reena:
 	farwritetext UnknownText_0x17543a
-	keeptextopen
+	buttonsound
 	end
 
 .Liz:
 	farwritetext UnknownText_0x17610a
-	keeptextopen
+	buttonsound
 	end
 
 .Gina:
 	farwritetext UnknownText_0x1772e2
-	keeptextopen
+	buttonsound
 	end
 
 .Dana:
 	farwritetext UnknownText_0x65091
-	keeptextopen
+	buttonsound
 	end
 
 .Tiffany:
 	farwritetext UnknownText_0x66730
-	keeptextopen
+	buttonsound
 	end
 
 .Erin:
 	farwritetext UnknownText_0x6722e
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0xa047a:
@@ -861,37 +861,37 @@
 
 .Wade:
 	farwritetext UnknownText_0x1759f7
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 .Derek:
 	farwritetext UnknownText_0x65c66
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa05be:
 	farwritetext UnknownText_0x64032
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa05c6:
 	farwritetext UnknownText_0x177378
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa053a
 
 UnknownScript_0xa05ce:
 	farwritetext UnknownText_0x64b5f
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa05d6:
 	farwritetext UnknownText_0x175dd9
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa05de:
 	farwritetext UnknownText_0x176c61
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa05e6:
@@ -952,12 +952,12 @@
 
 UnknownScript_0xa0644:
 	farwritetext UnknownText_0x176feb
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa064c:
 	farwritetext UnknownText_0x66dc5
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0654:
@@ -976,57 +976,57 @@
 
 UnknownScript_0xa0682:
 	farwritetext UnknownText_0x174261
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa068a:
 	farwritetext UnknownText_0x17429d
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0692:
 	farwritetext UnknownText_0x1742ee
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa069a:
 	farwritetext UnknownText_0x174340
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa06a2:
 	farwritetext UnknownText_0x174391
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa06aa:
 	farwritetext UnknownText_0x1743e3
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa06b2:
 	farwritetext UnknownText_0x174433
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa06ba:
 	farwritetext UnknownText_0x174485
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa06c2:
 	farwritetext UnknownText_0x1744d6
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa06ca:
 	farwritetext UnknownText_0x174522
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa06d2:
 	farwritetext UnknownText_0x174571
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa06da:
@@ -1044,52 +1044,52 @@
 
 UnknownScript_0xa0704:
 	farwritetext UnknownText_0x176223
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa053a
 
 UnknownScript_0xa070c:
 	farwritetext UnknownText_0x1762c3
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa053a
 
 UnknownScript_0xa0714:
 	farwritetext UnknownText_0x17638a
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa053a
 
 UnknownScript_0xa071c:
 	farwritetext UnknownText_0x176424
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa053a
 
 UnknownScript_0xa0724:
 	farwritetext UnknownText_0x1764eb
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa053a
 
 UnknownScript_0xa072c:
 	farwritetext UnknownText_0x176599
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa053a
 
 UnknownScript_0xa0734:
 	farwritetext UnknownText_0x1766ac
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa053a
 
 UnknownScript_0xa073c:
 	farwritetext UnknownText_0x17674f
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa053a
 
 UnknownScript_0xa0744:
 	farwritetext UnknownText_0x176816
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa053a
 
 UnknownScript_0xa074c:
 	farwritetext UnknownText_0x17686d
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa053a
 
 UnknownScript_0xa0754:
@@ -1107,52 +1107,52 @@
 
 UnknownScript_0xa077e:
 	farwritetext UnknownText_0x65481
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0786:
 	farwritetext UnknownText_0x654ea
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa078e:
 	farwritetext UnknownText_0x65555
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0796:
 	farwritetext UnknownText_0x655c7
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa079e:
 	farwritetext UnknownText_0x65628
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa07a6:
 	farwritetext UnknownText_0x6569b
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa07ae:
 	farwritetext UnknownText_0x6574a
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa07b6:
 	farwritetext UnknownText_0x65810
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa07be:
 	farwritetext UnknownText_0x658c6
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa07c6:
 	farwritetext UnknownText_0x65969
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa07ce:
@@ -1170,52 +1170,52 @@
 
 UnknownScript_0xa07f8:
 	farwritetext UnknownText_0x662bc
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0800:
 	farwritetext UnknownText_0x662fc
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0808:
 	farwritetext UnknownText_0x66335
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0810:
 	farwritetext UnknownText_0x66366
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0818:
 	farwritetext UnknownText_0x663a1
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0820:
 	farwritetext UnknownText_0x663e6
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0828:
 	farwritetext UnknownText_0x66421
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0830:
 	farwritetext UnknownText_0x6645f
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0838:
 	farwritetext UnknownText_0x6649b
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0840:
 	farwritetext UnknownText_0x664dd
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0848:
@@ -1244,197 +1244,197 @@
 	checkflag ENGINE_PLAINBADGE
 	iftrue UnknownScript_0xa0898
 	farwritetext UnknownText_0x646a3
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0898:
 	farwritetext UnknownText_0x64099
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa08a0:
 	farwritetext UnknownText_0x640e6
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa08a8:
 	farwritetext UnknownText_0x6416d
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa08b0:
 	farwritetext UnknownText_0x641e8
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa08b8:
 	farwritetext UnknownText_0x64247
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa08c0:
 	farwritetext UnknownText_0x642bb
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa08c8:
 	farwritetext UnknownText_0x643d4
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa08d0:
 	farwritetext UnknownText_0x64448
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa08d8:
 	farwritetext UnknownText_0x6455b
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa08e0:
 	farwritetext UnknownText_0x645ff
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa08e8:
 	farwritetext UnknownText_0x646df
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa08f0:
 	farwritetext UnknownText_0x647d8
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa08f8:
 	farwritetext UnknownText_0x1745c2
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0900:
 	farwritetext UnknownText_0x17485b
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa053a
 
 UnknownScript_0xa0908:
 	farwritetext UnknownText_0x17496b
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0910:
 	farwritetext UnknownText_0x174c29
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0918:
 	farwritetext UnknownText_0x174ec5
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa053a
 
 UnknownScript_0xa0920:
 	farwritetext UnknownText_0x17519b
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0928:
 	farwritetext UnknownText_0x17549b
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa053a
 
 UnknownScript_0xa0930:
 	farwritetext UnknownText_0x17571d
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0938:
 	farwritetext UnknownText_0x175abe
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0940:
 	farwritetext UnknownText_0x175eaf
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0948:
 	farwritetext UnknownText_0x1768b0
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa053a
 
 UnknownScript_0xa0950:
 	farwritetext UnknownText_0x176d32
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0958:
 	farwritetext UnknownText_0x1770fb
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0960:
 	farwritetext UnknownText_0x177465
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa053a
 
 UnknownScript_0xa0968:
 	farwritetext UnknownText_0x64bc6
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0970:
 	farwritetext UnknownText_0x64e90
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0978:
 	farwritetext UnknownText_0x65161
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa053a
 
 UnknownScript_0xa0980:
 	farwritetext UnknownText_0x65a23
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0988:
 	farwritetext UnknownText_0x65d5c
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0990:
 	farwritetext UnknownText_0x65ff2
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0998:
 	farwritetext UnknownText_0x6651e
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa09a0:
 	farwritetext UnknownText_0x66882
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa053a
 
 UnknownScript_0xa09a8:
 	farwritetext UnknownText_0x66aa5
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa09b0:
 	farwritetext UnknownText_0x66ca7
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa09b8:
 	farwritetext UnknownText_0x67106
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa09c0:
 	farwritetext UnknownText_0x67294
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa053a
 
 UnknownScript_0xa09c8:
@@ -1445,17 +1445,17 @@
 
 UnknownScript_0xa09d6:
 	farwritetext UnknownText_0x64846
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa09de:
 	farwritetext UnknownText_0x64881
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa09e6:
 	farwritetext UnknownText_0x648dc
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa09ee:
@@ -1463,12 +1463,12 @@
 	if_equal $2, UnknownScript_0xa0a00
 	if_equal $1, UnknownScript_0xa0a08
 	farwritetext UnknownText_0x66e17
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0a00:
 	farwritetext UnknownText_0x66e67
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0a08:
@@ -1478,17 +1478,17 @@
 	iftrue UnknownScript_0xa0a25
 	setevent EVENT_KENJI_ON_BREAK
 	farwritetext UnknownText_0x66f11
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0a1d:
 	farwritetext UnknownText_0x66ed3
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0a25:
 	farwritetext UnknownText_0x66f52
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0a2d:
@@ -1589,52 +1589,52 @@
 
 UnknownScript_0xa0aa5:
 	farwritetext UnknownText_0x174895
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa053a
 
 UnknownScript_0xa0aad:
 	farwritetext UnknownText_0x17529c
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0ab5:
 	farwritetext UnknownText_0x175b6d
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0abd:
 	farwritetext UnknownText_0x17750e
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa053a
 
 UnknownScript_0xa0ac5:
 	farwritetext UnknownText_0x64f1a
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0acd:
 	farwritetext UnknownText_0x6520f
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa053a
 
 UnknownScript_0xa0ad5:
 	farwritetext UnknownText_0x65da6
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0add:
 	farwritetext UnknownText_0x66087
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0ae5:
 	farwritetext UnknownText_0x6691d
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa053a
 
 UnknownScript_0xa0aed:
 	farwritetext UnknownText_0x66d45
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xa0484
 
 UnknownScript_0xa0af5:
--- a/engine/phone_scripts.asm
+++ b/engine/phone_scripts.asm
@@ -19,7 +19,7 @@
 	checkevent EVENT_IN_YOUR_ROOM
 	iftrue MomPhoneHangUpScript
 	farwritetext MomPhoneGreetingText
-	keeptextopen
+	buttonsound
 	mapnametotext $0
 	checkcode VAR_ROOFPALETTE
 	if_equal $1, UnknownScript_0xbcee7
@@ -28,7 +28,7 @@
 
 UnknownScript_0xbcedf: ; 0xbcedf
 	farwritetext UnknownText_0x1b4021
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xbcf37
 
 UnknownScript_0xbcee7: ; 0xbcee7
@@ -39,17 +39,17 @@
 	if_equal GROUP_AZALEA_TOWN, .azalea
 	if_equal GROUP_GOLDENROD_CITY, .goldenrod
 	farwritetext MomPhoneGenericAreaText
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xbcf37
 
 .newbark ; 0xbcf05
 	farwritetext MomPhoneNewBarkText
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xbcf37
 
 .cherrygrove ; 0xbcf0d
 	farwritetext MomPhoneCherrygroveText
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xbcf37
 
 .violet ; 0xbcf15
@@ -64,12 +64,12 @@
 
 UnknownScript_0xbcf27: ; 0xbcf27
 	farwritetext UnknownText_0x1b411c
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xbcf37
 
 UnknownScript_0xbcf2f: ; 0xbcf2f
 	farwritetext UnknownText_0x1b4150
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0xbcf37
 
 UnknownScript_0xbcf37: ; 0xbcf37
@@ -113,13 +113,13 @@
 MomPhoneSaveMoneyScript: ; 0xbcf87
 	setflag ENGINE_MOM_SAVING_MONEY
 	farwritetext UnknownText_0x1b4289
-	keeptextopen
+	buttonsound
 	jump MomPhoneHangUpScript
 
 MomPhoneWontSaveMoneyScript: ; 0xbcf92
 	clearflag ENGINE_MOM_SAVING_MONEY
 	farwritetext MomPhoneWontSaveMoneyText
-	keeptextopen
+	buttonsound
 	jump MomPhoneHangUpScript
 
 MomPhoneHangUpScript: ; 0xbcf9d
@@ -155,22 +155,22 @@
 	checknite
 	iftrue .nitegreet
 	farwritetext BillPhoneMornGreetingText
-	keeptextopen
+	buttonsound
 	jump .main
 
 .daygreet ; 0xbcfd7
 	farwritetext BillPhoneDayGreetingText
-	keeptextopen
+	buttonsound
 	jump .main
 
 .nitegreet ; 0xbcfdf
 	farwritetext BillPhoneNiteGreetingText
-	keeptextopen
+	buttonsound
 	jump .main
 
 .main ; 0xbcfe7
 	farwritetext BillPhoneGeneriText
-	keeptextopen
+	buttonsound
 	checkcode VAR_BOXSPACE
 	RAM2MEM $0
 	if_equal $0, .full
@@ -1937,102 +1937,102 @@
 
 .Jack:
 	farwritetext UnknownText_0x1b4dc5
-	keeptextopen
+	buttonsound
 	end
 
 .Huey:
 	farwritetext UnknownText_0x1b5073
-	keeptextopen
+	buttonsound
 	end
 
 .Gaven:
 	farwritetext UnknownText_0x1b5270
-	keeptextopen
+	buttonsound
 	end
 
 .Jose:
 	farwritetext UnknownText_0x1b55ae
-	keeptextopen
+	buttonsound
 	end
 
 .Joey:
 	farwritetext UnknownText_0x1b589a
-	keeptextopen
+	buttonsound
 	end
 
 .Wade:
 	farwritetext UnknownText_0x1b5a3b
-	keeptextopen
+	buttonsound
 	end
 
 .Ralph:
 	farwritetext UnknownText_0x1b5c10
-	keeptextopen
+	buttonsound
 	end
 
 .Anthony:
 	farwritetext UnknownText_0x1b5f7a
-	keeptextopen
+	buttonsound
 	end
 
 .Todd:
 	farwritetext UnknownText_0x1b60f5
-	keeptextopen
+	buttonsound
 	end
 
 .Irwin:
 	farwritetext UnknownText_0x1b638c
-	keeptextopen
+	buttonsound
 	end
 
 .Arnie:
 	farwritetext UnknownText_0x1b6454
-	keeptextopen
+	buttonsound
 	end
 
 .Alan:
 	farwritetext UnknownText_0x1b659d
-	keeptextopen
+	buttonsound
 	end
 
 .Chad:
 	farwritetext UnknownText_0x1b67e2
-	keeptextopen
+	buttonsound
 	end
 
 .Derek:
 	farwritetext UnknownText_0x1b69a8
-	keeptextopen
+	buttonsound
 	end
 
 .Tully:
 	farwritetext UnknownText_0x1b6b39
-	keeptextopen
+	buttonsound
 	end
 
 .Brent:
 	farwritetext UnknownText_0x1b6c96
-	keeptextopen
+	buttonsound
 	end
 
 .Vance:
 	farwritetext UnknownText_0x1b7019
-	keeptextopen
+	buttonsound
 	end
 
 .Wilton:
 	farwritetext UnknownText_0x1b71d5
-	keeptextopen
+	buttonsound
 	end
 
 .Kenji:
 	farwritetext UnknownText_0x1b730b
-	keeptextopen
+	buttonsound
 	end
 
 .Parry:
 	farwritetext UnknownText_0x1b73c7
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0xbdf22:
@@ -2060,102 +2060,102 @@
 
 .Jack:
 	farwritetext UnknownText_0x1b4ded
-	keeptextopen
+	buttonsound
 	end
 
 .Huey:
 	farwritetext UnknownText_0x1b509b
-	keeptextopen
+	buttonsound
 	end
 
 .Gaven:
 	farwritetext UnknownText_0x1b52a5
-	keeptextopen
+	buttonsound
 	end
 
 .Jose:
 	farwritetext UnknownText_0x1b55da
-	keeptextopen
+	buttonsound
 	end
 
 .Joey:
 	farwritetext UnknownText_0x1b58c2
-	keeptextopen
+	buttonsound
 	end
 
 .Wade:
 	farwritetext UnknownText_0x1b5a74
-	keeptextopen
+	buttonsound
 	end
 
 .Ralph:
 	farwritetext UnknownText_0x1b5c63
-	keeptextopen
+	buttonsound
 	end
 
 .Anthony:
 	farwritetext UnknownText_0x1b5f9e
-	keeptextopen
+	buttonsound
 	end
 
 .Todd:
 	farwritetext UnknownText_0x1b611b
-	keeptextopen
+	buttonsound
 	end
 
 .Irwin:
 	farwritetext UnknownText_0x1b63a8
-	keeptextopen
+	buttonsound
 	end
 
 .Arnie:
 	farwritetext UnknownText_0x1b647e
-	keeptextopen
+	buttonsound
 	end
 
 .Alan:
 	farwritetext UnknownText_0x1b65c7
-	keeptextopen
+	buttonsound
 	end
 
 .Chad:
 	farwritetext UnknownText_0x1b680e
-	keeptextopen
+	buttonsound
 	end
 
 .Derek:
 	farwritetext UnknownText_0x1b69d2
-	keeptextopen
+	buttonsound
 	end
 
 .Tully:
 	farwritetext UnknownText_0x1b6b65
-	keeptextopen
+	buttonsound
 	end
 
 .Brent:
 	farwritetext UnknownText_0x1b6cc6
-	keeptextopen
+	buttonsound
 	end
 
 .Vance:
 	farwritetext UnknownText_0x1b7057
-	keeptextopen
+	buttonsound
 	end
 
 .Wilton:
 	farwritetext UnknownText_0x1b71fc
-	keeptextopen
+	buttonsound
 	end
 
 .Kenji:
 	farwritetext UnknownText_0x1b7331
-	keeptextopen
+	buttonsound
 	end
 
 .Parry:
 	farwritetext UnknownText_0x1b73ef
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0xbdfec:
@@ -2183,102 +2183,102 @@
 
 .Jack:
 	farwritetext UnknownText_0x1b4e16
-	keeptextopen
+	buttonsound
 	end
 
 .Huey:
 	farwritetext UnknownText_0x1b50c2
-	keeptextopen
+	buttonsound
 	end
 
 .Gaven:
 	farwritetext UnknownText_0x1b52cc
-	keeptextopen
+	buttonsound
 	end
 
 .Jose:
 	farwritetext UnknownText_0x1b55fc
-	keeptextopen
+	buttonsound
 	end
 
 .Joey:
 	farwritetext UnknownText_0x1b58ea
-	keeptextopen
+	buttonsound
 	end
 
 .Wade:
 	farwritetext UnknownText_0x1b5a9f
-	keeptextopen
+	buttonsound
 	end
 
 .Ralph:
 	farwritetext UnknownText_0x1b5cb6
-	keeptextopen
+	buttonsound
 	end
 
 .Anthony:
 	farwritetext UnknownText_0x1b5fc9
-	keeptextopen
+	buttonsound
 	end
 
 .Todd:
 	farwritetext UnknownText_0x1b6149
-	keeptextopen
+	buttonsound
 	end
 
 .Irwin:
 	farwritetext UnknownText_0x1b63c4
-	keeptextopen
+	buttonsound
 	end
 
 .Arnie:
 	farwritetext UnknownText_0x1b64a8
-	keeptextopen
+	buttonsound
 	end
 
 .Alan:
 	farwritetext UnknownText_0x1b65e3
-	keeptextopen
+	buttonsound
 	end
 
 .Chad:
 	farwritetext UnknownText_0x1b6836
-	keeptextopen
+	buttonsound
 	end
 
 .Derek:
 	farwritetext UnknownText_0x1b69f8
-	keeptextopen
+	buttonsound
 	end
 
 .Tully:
 	farwritetext UnknownText_0x1b6b92
-	keeptextopen
+	buttonsound
 	end
 
 .Brent:
 	farwritetext UnknownText_0x1b6cf6
-	keeptextopen
+	buttonsound
 	end
 
 .Vance:
 	farwritetext UnknownText_0x1b7092
-	keeptextopen
+	buttonsound
 	end
 
 .Wilton:
 	farwritetext UnknownText_0x1b722a
-	keeptextopen
+	buttonsound
 	end
 
 .Kenji:
 	farwritetext UnknownText_0x1b7357
-	keeptextopen
+	buttonsound
 	end
 
 .Parry:
 	farwritetext UnknownText_0x1b7417
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0xbe0b6:
@@ -2298,42 +2298,42 @@
 
 .Beverly:
 	farwritetext UnknownText_0x1b4f21
-	keeptextopen
+	buttonsound
 	end
 
 .Beth:
 	farwritetext UnknownText_0x1b53f7
-	keeptextopen
+	buttonsound
 	end
 
 .Reena:
 	farwritetext UnknownText_0x1b5702
-	keeptextopen
+	buttonsound
 	end
 
 .Liz:
 	farwritetext UnknownText_0x1b5d9f
-	keeptextopen
+	buttonsound
 	end
 
 .Gina:
 	farwritetext UnknownText_0x1b626a
-	keeptextopen
+	buttonsound
 	end
 
 .Dana:
 	farwritetext UnknownText_0x1b66c8
-	keeptextopen
+	buttonsound
 	end
 
 .Tiffany:
 	farwritetext UnknownText_0x1b6e7c
-	keeptextopen
+	buttonsound
 	end
 
 .Erin:
 	farwritetext UnknownText_0x1b751a
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0xbe112:
@@ -2349,42 +2349,42 @@
 
 .Beverly:
 	farwritetext UnknownText_0x1b4f4d
-	keeptextopen
+	buttonsound
 	end
 
 .Beth:
 	farwritetext UnknownText_0x1b5424
-	keeptextopen
+	buttonsound
 	end
 
 .Reena:
 	farwritetext UnknownText_0x1b572e
-	keeptextopen
+	buttonsound
 	end
 
 .Liz:
 	farwritetext UnknownText_0x1b5dcc
-	keeptextopen
+	buttonsound
 	end
 
 .Gina:
 	farwritetext UnknownText_0x1b6296
-	keeptextopen
+	buttonsound
 	end
 
 .Dana:
 	farwritetext UnknownText_0x1b66ec
-	keeptextopen
+	buttonsound
 	end
 
 .Tiffany:
 	farwritetext UnknownText_0x1b6ea6
-	keeptextopen
+	buttonsound
 	end
 
 .Erin:
 	farwritetext UnknownText_0x1b7548
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0xbe164:
@@ -2400,42 +2400,42 @@
 
 .Beverly:
 	farwritetext UnknownText_0x1b4f75
-	keeptextopen
+	buttonsound
 	end
 
 .Beth:
 	farwritetext UnknownText_0x1b5446
-	keeptextopen
+	buttonsound
 	end
 
 .Reena:
 	farwritetext UnknownText_0x1b575a
-	keeptextopen
+	buttonsound
 	end
 
 .Liz:
 	farwritetext UnknownText_0x1b5df8
-	keeptextopen
+	buttonsound
 	end
 
 .Gina:
 	farwritetext UnknownText_0x1b62c5
-	keeptextopen
+	buttonsound
 	end
 
 .Dana:
 	farwritetext UnknownText_0x1b6713
-	keeptextopen
+	buttonsound
 	end
 
 .Tiffany:
 	farwritetext UnknownText_0x1b6ec9
-	keeptextopen
+	buttonsound
 	end
 
 .Erin:
 	farwritetext UnknownText_0x1b756f
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0xbe1b6:
@@ -2467,102 +2467,102 @@
 
 .Jack:
 	farwritetext UnknownText_0x1b4e3e
-	keeptextopen
+	buttonsound
 	end
 
 .Huey:
 	farwritetext UnknownText_0x1b50e9
-	keeptextopen
+	buttonsound
 	end
 
 .Gaven:
 	farwritetext UnknownText_0x1b5301
-	keeptextopen
+	buttonsound
 	end
 
 .Jose:
 	farwritetext UnknownText_0x1b5628
-	keeptextopen
+	buttonsound
 	end
 
 .Joey:
 	farwritetext UnknownText_0x1b5912
-	keeptextopen
+	buttonsound
 	end
 
 .Wade:
 	farwritetext UnknownText_0x1b5ad8
-	keeptextopen
+	buttonsound
 	end
 
 .Ralph:
 	farwritetext UnknownText_0x1b5d09
-	keeptextopen
+	buttonsound
 	end
 
 .Anthony:
 	farwritetext UnknownText_0x1b5ff6
-	keeptextopen
+	buttonsound
 	end
 
 .Todd:
 	farwritetext UnknownText_0x1b616e
-	keeptextopen
+	buttonsound
 	end
 
 .Irwin:
 	farwritetext UnknownText_0x1b63e3
-	keeptextopen
+	buttonsound
 	end
 
 .Arnie:
 	farwritetext UnknownText_0x1b64d2
-	keeptextopen
+	buttonsound
 	end
 
 .Alan:
 	farwritetext UnknownText_0x1b660d
-	keeptextopen
+	buttonsound
 	end
 
 .Chad:
 	farwritetext UnknownText_0x1b6862
-	keeptextopen
+	buttonsound
 	end
 
 .Derek:
 	farwritetext UnknownText_0x1b6a22
-	keeptextopen
+	buttonsound
 	end
 
 .Tully:
 	farwritetext UnknownText_0x1b6bb9
-	keeptextopen
+	buttonsound
 	end
 
 .Brent:
 	farwritetext UnknownText_0x1b6d26
-	keeptextopen
+	buttonsound
 	end
 
 .Vance:
 	farwritetext UnknownText_0x1b70e7
-	keeptextopen
+	buttonsound
 	end
 
 .Wilton:
 	farwritetext UnknownText_0x1b725c
-	keeptextopen
+	buttonsound
 	end
 
 .Kenji:
 	farwritetext UnknownText_0x1b737f
-	keeptextopen
+	buttonsound
 	end
 
 .Parry:
 	farwritetext UnknownText_0x1b743f
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0xbe28a:
@@ -2590,102 +2590,102 @@
 
 .Jack:
 	farwritetext UnknownText_0x1b4e72
-	keeptextopen
+	buttonsound
 	end
 
 .Huey:
 	farwritetext UnknownText_0x1b511a
-	keeptextopen
+	buttonsound
 	end
 
 .Gaven:
 	farwritetext UnknownText_0x1b5335
-	keeptextopen
+	buttonsound
 	end
 
 .Jose:
 	farwritetext UnknownText_0x1b564c
-	keeptextopen
+	buttonsound
 	end
 
 .Joey:
 	farwritetext UnknownText_0x1b5948
-	keeptextopen
+	buttonsound
 	end
 
 .Wade:
 	farwritetext UnknownText_0x1b5b0b
-	keeptextopen
+	buttonsound
 	end
 
 .Ralph:
 	farwritetext UnknownText_0x1b5d21
-	keeptextopen
+	buttonsound
 	end
 
 .Anthony:
 	farwritetext UnknownText_0x1b6017
-	keeptextopen
+	buttonsound
 	end
 
 .Todd:
 	farwritetext UnknownText_0x1b618f
-	keeptextopen
+	buttonsound
 	end
 
 .Irwin:
 	farwritetext UnknownText_0x1b6407
-	keeptextopen
+	buttonsound
 	end
 
 .Arnie:
 	farwritetext UnknownText_0x1b6506
-	keeptextopen
+	buttonsound
 	end
 
 .Alan:
 	farwritetext UnknownText_0x1b6624
-	keeptextopen
+	buttonsound
 	end
 
 .Chad:
 	farwritetext UnknownText_0x1b6890
-	keeptextopen
+	buttonsound
 	end
 
 .Derek:
 	farwritetext UnknownText_0x1b6a56
-	keeptextopen
+	buttonsound
 	end
 
 .Tully:
 	farwritetext UnknownText_0x1b6bef
-	keeptextopen
+	buttonsound
 	end
 
 .Brent:
 	farwritetext UnknownText_0x1b6d57
-	keeptextopen
+	buttonsound
 	end
 
 .Vance:
 	farwritetext UnknownText_0x1b7112
-	keeptextopen
+	buttonsound
 	end
 
 .Wilton:
 	farwritetext UnknownText_0x1b7283
-	keeptextopen
+	buttonsound
 	end
 
 .Kenji:
 	farwritetext UnknownText_0x1b7397
-	keeptextopen
+	buttonsound
 	end
 
 .Parry:
 	farwritetext UnknownText_0x1b746f
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0xbe354:
@@ -2713,102 +2713,102 @@
 
 .Jack:
 	farwritetext UnknownText_0x1b4e9e
-	keeptextopen
+	buttonsound
 	end
 
 .Huey:
 	farwritetext UnknownText_0x1b5154
-	keeptextopen
+	buttonsound
 	end
 
 .Gaven:
 	farwritetext UnknownText_0x1b535f
-	keeptextopen
+	buttonsound
 	end
 
 .Jose:
 	farwritetext UnknownText_0x1b5670
-	keeptextopen
+	buttonsound
 	end
 
 .Joey:
 	farwritetext UnknownText_0x1b597c
-	keeptextopen
+	buttonsound
 	end
 
 .Wade:
 	farwritetext UnknownText_0x1b5b37
-	keeptextopen
+	buttonsound
 	end
 
 .Ralph:
 	farwritetext UnknownText_0x1b5d39
-	keeptextopen
+	buttonsound
 	end
 
 .Anthony:
 	farwritetext UnknownText_0x1b6041
-	keeptextopen
+	buttonsound
 	end
 
 .Todd:
 	farwritetext UnknownText_0x1b61bd
-	keeptextopen
+	buttonsound
 	end
 
 .Irwin:
 	farwritetext UnknownText_0x1b642c
-	keeptextopen
+	buttonsound
 	end
 
 .Arnie:
 	farwritetext UnknownText_0x1b6539
-	keeptextopen
+	buttonsound
 	end
 
 .Alan:
 	farwritetext UnknownText_0x1b663b
-	keeptextopen
+	buttonsound
 	end
 
 .Chad:
 	farwritetext UnknownText_0x1b68ba
-	keeptextopen
+	buttonsound
 	end
 
 .Derek:
 	farwritetext UnknownText_0x1b6a8b
-	keeptextopen
+	buttonsound
 	end
 
 .Tully:
 	farwritetext UnknownText_0x1b6c23
-	keeptextopen
+	buttonsound
 	end
 
 .Brent:
 	farwritetext UnknownText_0x1b6d88
-	keeptextopen
+	buttonsound
 	end
 
 .Vance:
 	farwritetext UnknownText_0x1b7132
-	keeptextopen
+	buttonsound
 	end
 
 .Wilton:
 	farwritetext UnknownText_0x1b72a5
-	keeptextopen
+	buttonsound
 	end
 
 .Kenji:
 	farwritetext UnknownText_0x1b73af
-	keeptextopen
+	buttonsound
 	end
 
 .Parry:
 	farwritetext UnknownText_0x1b749b
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0xbe41e:
@@ -2828,42 +2828,42 @@
 
 .Beverly:
 	farwritetext UnknownText_0x1b4fa1
-	keeptextopen
+	buttonsound
 	end
 
 .Beth:
 	farwritetext UnknownText_0x1b5472
-	keeptextopen
+	buttonsound
 	end
 
 .Reena:
 	farwritetext UnknownText_0x1b5786
-	keeptextopen
+	buttonsound
 	end
 
 .Liz:
 	farwritetext UnknownText_0x1b5e25
-	keeptextopen
+	buttonsound
 	end
 
 .Gina:
 	farwritetext UnknownText_0x1b62f1
-	keeptextopen
+	buttonsound
 	end
 
 .Dana:
 	farwritetext UnknownText_0x1b6738
-	keeptextopen
+	buttonsound
 	end
 
 .Tiffany:
 	farwritetext UnknownText_0x1b6ef3
-	keeptextopen
+	buttonsound
 	end
 
 .Erin:
 	farwritetext UnknownText_0x1b758f
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0xbe47a:
@@ -2879,42 +2879,42 @@
 
 .Beverly:
 	farwritetext UnknownText_0x1b4fda
-	keeptextopen
+	buttonsound
 	end
 
 .Beth:
 	farwritetext UnknownText_0x1b54a6
-	keeptextopen
+	buttonsound
 	end
 
 .Reena:
 	farwritetext UnknownText_0x1b57b7
-	keeptextopen
+	buttonsound
 	end
 
 .Liz:
 	farwritetext UnknownText_0x1b5e59
-	keeptextopen
+	buttonsound
 	end
 
 .Gina:
 	farwritetext UnknownText_0x1b630e
-	keeptextopen
+	buttonsound
 	end
 
 .Dana:
 	farwritetext UnknownText_0x1b6757
-	keeptextopen
+	buttonsound
 	end
 
 .Tiffany:
 	farwritetext UnknownText_0x1b6f1c
-	keeptextopen
+	buttonsound
 	end
 
 .Erin:
 	farwritetext UnknownText_0x1b75ac
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0xbe4cc:
@@ -2930,42 +2930,42 @@
 
 .Beverly:
 	farwritetext UnknownText_0x1b5004
-	keeptextopen
+	buttonsound
 	end
 
 .Beth:
 	farwritetext UnknownText_0x1b54d4
-	keeptextopen
+	buttonsound
 	end
 
 .Reena:
 	farwritetext UnknownText_0x1b57e8
-	keeptextopen
+	buttonsound
 	end
 
 .Liz:
 	farwritetext UnknownText_0x1b5e8e
-	keeptextopen
+	buttonsound
 	end
 
 .Gina:
 	farwritetext UnknownText_0x1b6331
-	keeptextopen
+	buttonsound
 	end
 
 .Dana:
 	farwritetext UnknownText_0x1b6776
-	keeptextopen
+	buttonsound
 	end
 
 .Tiffany:
 	farwritetext UnknownText_0x1b6f37
-	keeptextopen
+	buttonsound
 	end
 
 .Erin:
 	farwritetext UnknownText_0x1b75c9
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0xbe51e:
@@ -2990,92 +2990,92 @@
 
 .Jack:
 	farwritetext UnknownText_0x1b4ecd
-	keeptextopen
+	buttonsound
 	end
 
 .Unknown:
 	farwritetext UnknownText_0x1b518b
-	keeptextopen
+	buttonsound
 	end
 
 .Gaven:
 	farwritetext UnknownText_0x1b5393
-	keeptextopen
+	buttonsound
 	end
 
 .Jose:
 	farwritetext UnknownText_0x1b5694
-	keeptextopen
+	buttonsound
 	end
 
 .Joey:
 	farwritetext UnknownText_0x1b59b2
-	keeptextopen
+	buttonsound
 	end
 
 .Wade:
 	farwritetext UnknownText_0x1b5b68
-	keeptextopen
+	buttonsound
 	end
 
 .Ralph:
 	farwritetext UnknownText_0x1b5d51
-	keeptextopen
+	buttonsound
 	end
 
 .Anthony:
 	farwritetext UnknownText_0x1b606f
-	keeptextopen
+	buttonsound
 	end
 
 .Todd:
 	farwritetext UnknownText_0x1b61f2
-	keeptextopen
+	buttonsound
 	end
 
 .Arnie:
 	farwritetext UnknownText_0x1b656c
-	keeptextopen
+	buttonsound
 	end
 
 .Alan:
 	farwritetext UnknownText_0x1b6652
-	keeptextopen
+	buttonsound
 	end
 
 .Chad:
 	farwritetext UnknownText_0x1b68e8
-	keeptextopen
+	buttonsound
 	end
 
 .Derek:
 	farwritetext UnknownText_0x1b6ac2
-	keeptextopen
+	buttonsound
 	end
 
 .Tully:
 	farwritetext UnknownText_0x1b6c56
-	keeptextopen
+	buttonsound
 	end
 
 .Brent:
 	farwritetext UnknownText_0x1b6db9
-	keeptextopen
+	buttonsound
 	end
 
 .Vance:
 	farwritetext UnknownText_0x1b7161
-	keeptextopen
+	buttonsound
 	end
 
 .Wilton:
 	farwritetext UnknownText_0x1b72d0
-	keeptextopen
+	buttonsound
 	end
 
 .Parry:
 	farwritetext UnknownText_0x1b74c8
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0xbe5d0:
@@ -3091,42 +3091,42 @@
 
 .Beverly:
 	farwritetext UnknownText_0x1b502b
-	keeptextopen
+	buttonsound
 	end
 
 .Beth:
 	farwritetext UnknownText_0x1b5510
-	keeptextopen
+	buttonsound
 	end
 
 .Reena:
 	farwritetext UnknownText_0x1b5819
-	keeptextopen
+	buttonsound
 	end
 
 .Liz:
 	farwritetext UnknownText_0x1b5ebe
-	keeptextopen
+	buttonsound
 	end
 
 .Gina:
 	farwritetext UnknownText_0x1b6352
-	keeptextopen
+	buttonsound
 	end
 
 .Dana:
 	farwritetext UnknownText_0x1b6795
-	keeptextopen
+	buttonsound
 	end
 
 .Tiffany:
 	farwritetext UnknownText_0x1b6f60
-	keeptextopen
+	buttonsound
 	end
 
 .Erin:
 	farwritetext UnknownText_0x1b75e5
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0xbe622:
@@ -3134,7 +3134,7 @@
 	farscall UnknownScript_0xbde3f
 	if_equal $0, UnknownScript_0xbe636
 	farwritetext UnknownText_0x1b518b
-	keeptextopen
+	buttonsound
 	farjump UnknownScript_0xa0484
 
 UnknownScript_0xbe636:
@@ -3142,7 +3142,7 @@
 
 UnknownScript_0xbe63a:
 	farwritetext UnknownText_0x1b522b
-	keeptextopen
+	buttonsound
 	farjump UnknownScript_0xa0484
 ; be643
 
--- a/engine/scripting.asm
+++ b/engine/scripting.asm
@@ -157,7 +157,7 @@
 ENDC
 	dw Script_jumptext
 	dw Script_waitbutton
-	dw Script_keeptextopen
+	dw Script_buttonsound
 	dw Script_pokepic
 	dw Script_closepokepic
 	dw Script_interpretmenu
@@ -438,7 +438,7 @@
 	jp WaitButton
 ; 96edc
 
-Script_keeptextopen: ; 96edc
+Script_buttonsound: ; 96edc
 ; script command 0x55
 
 	ld a, [hOAMUpdate]
@@ -446,7 +446,7 @@
 	ld a, $1
 	ld [hOAMUpdate], a
 	call WaitBGMap
-	call KeepTextOpen
+	call ButtonSound
 	pop af
 	ld [hOAMUpdate], a
 	ret
@@ -583,7 +583,7 @@
 	end
 
 .Full
-	keeptextopen
+	buttonsound
 	pocketisfull
 	end
 ; 96f89
--- a/engine/std_scripts.asm
+++ b/engine/std_scripts.asm
@@ -68,11 +68,11 @@
 	checkevent EVENT_WELCOMED_TO_POKECOM_CENTER
 	iftrue .morn_comcenter
 	farwritetext UnknownText_0x1b0000
-	keeptextopen
+	buttonsound
 	jump .ok
 .morn_comcenter
 	farwritetext UnknownText_0x1b008a
-	keeptextopen
+	buttonsound
 	jump .ok
 
 .day
@@ -79,11 +79,11 @@
 	checkevent EVENT_WELCOMED_TO_POKECOM_CENTER
 	iftrue .day_comcenter
 	farwritetext UnknownText_0x1b002b
-	keeptextopen
+	buttonsound
 	jump .ok
 .day_comcenter
 	farwritetext UnknownText_0x1b00d6
-	keeptextopen
+	buttonsound
 	jump .ok
 
 .nite
@@ -90,11 +90,11 @@
 	checkevent EVENT_WELCOMED_TO_POKECOM_CENTER
 	iftrue .nite_comcenter
 	farwritetext UnknownText_0x1b004f
-	keeptextopen
+	buttonsound
 	jump .ok
 .nite_comcenter
 	farwritetext UnknownText_0x1b011b
-	keeptextopen
+	buttonsound
 	jump .ok
 
 .ok
@@ -326,7 +326,7 @@
 	if_equal 2, BugContestResults_SecondPlace
 	if_equal 3, BugContestResults_ThirdPlace
 	farwritetext ContestResults_ConsolationPrizeText
-	keeptextopen
+	buttonsound
 	waitsfx
 	verbosegiveitem BERRY
 	iffalse BugContestResults_NoRoomForBerry
@@ -333,13 +333,13 @@
 
 BugContestResults_DidNotWin
 	farwritetext ContestResults_DidNotWinText
-	keeptextopen
+	buttonsound
 	jump BugContestResults_FinishUp
 ; 0xbc2b1
 
 BugContestResults_ReturnAfterWinnersPrize ; 0xbc2b1
 	farwritetext ContestResults_JoinUsNextTimeText
-	keeptextopen
+	buttonsound
 
 BugContestResults_FinishUp
 	checkevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER
@@ -412,7 +412,7 @@
 
 BugContestResults_NoRoomForSunStone ; 0xbc354
 	farwritetext UnknownText_0x1b08cc
-	keeptextopen
+	buttonsound
 	setevent EVENT_CONTEST_OFFICER_HAS_SUN_STONE
 	jump BugContestResults_ReturnAfterWinnersPrize
 ; 0xbc35f
@@ -419,7 +419,7 @@
 
 BugContestResults_NoRoomForEverstone ; 0xbc35f
 	farwritetext UnknownText_0x1b08cc
-	keeptextopen
+	buttonsound
 	setevent EVENT_CONTEST_OFFICER_HAS_EVERSTONE
 	jump BugContestResults_ReturnAfterWinnersPrize
 ; 0xbc36a
@@ -426,7 +426,7 @@
 
 BugContestResults_NoRoomForGoldBerry ; 0xbc36a
 	farwritetext UnknownText_0x1b08cc
-	keeptextopen
+	buttonsound
 	setevent EVENT_CONTEST_OFFICER_HAS_GOLD_BERRY
 	jump BugContestResults_ReturnAfterWinnersPrize
 ; 0xbc375
@@ -433,7 +433,7 @@
 
 BugContestResults_NoRoomForBerry ; 0xbc375
 	farwritetext UnknownText_0x1b08cc
-	keeptextopen
+	buttonsound
 	setevent EVENT_CONTEST_OFFICER_HAS_BERRY
 	jump BugContestResults_DidNotWin
 ; 0xbc380
@@ -794,7 +794,7 @@
 	farwritetext RegisteredNumber1Text
 	playsound SFX_REGISTER_PHONE_NUMBER
 	waitsfx
-	keeptextopen
+	buttonsound
 	end
 
 NumberAcceptedMScript:
@@ -1287,31 +1287,31 @@
 
 .Jose
 	farwritetext JoseGiftText
-	keeptextopen
+	buttonsound
 	end
 .Wade
 	farwritetext WadeGiftText
-	keeptextopen
+	buttonsound
 	end
 .Alan
 	farwritetext AlanGiftText
-	keeptextopen
+	buttonsound
 	end
 .Derek
 	farwritetext DerekGiftText
-	keeptextopen
+	buttonsound
 	end
 .Tully
 	farwritetext TullyGiftText
-	keeptextopen
+	buttonsound
 	end
 .Wilton
 	farwritetext WiltonGiftText
-	keeptextopen
+	buttonsound
 	end
 .Kenji
 	farwritetext KenjiGiftText
-	keeptextopen
+	buttonsound
 	end
 
 PackFullMScript:
@@ -1394,19 +1394,19 @@
 
 .Huey
 	farwritetext HueyRematchGiftText
-	keeptextopen
+	buttonsound
 	end
 .Joey
 	farwritetext JoeyRematchGiftText
-	keeptextopen
+	buttonsound
 	end
 .Vance
 	farwritetext VanceRematchGiftText
-	keeptextopen
+	buttonsound
 	end
 .Parry
 	farwritetext ParryRematchGiftText
-	keeptextopen
+	buttonsound
 	end
 
 AskNumber1FScript:
@@ -1485,7 +1485,7 @@
 	farwritetext RegisteredNumber2Text
 	playsound SFX_REGISTER_PHONE_NUMBER
 	waitsfx
-	keeptextopen
+	buttonsound
 	end
 
 NumberAcceptedFScript: ; 0xbcbd3
@@ -1699,19 +1699,19 @@
 
 .Beverly
 	farwritetext BeverlyGiftText
-	keeptextopen
+	buttonsound
 	end
 .Gina
 	farwritetext GinaGiftText
-	keeptextopen
+	buttonsound
 	end
 .Dana
 	farwritetext DanaGiftText
-	keeptextopen
+	buttonsound
 	end
 .Tiffany
 	farwritetext TiffanyGiftText
-	keeptextopen
+	buttonsound
 	end
 
 PackFullFScript:
@@ -1755,7 +1755,7 @@
 .Erin
 	loadfont
 	farwritetext ErinRematchGiftText
-	keeptextopen
+	buttonsound
 	end
 
 GymStatue1Script:
@@ -1770,7 +1770,7 @@
 	mapnametotext $0
 	loadfont
 	farwritetext GymStatue_CityGymText
-	keeptextopen
+	buttonsound
 	farwritetext GymStatue_WinningTrainersText
 	waitbutton
 	closetext
@@ -1796,7 +1796,7 @@
 	faceplayer
 	loadfont
 	farwritetext CoinVendor_WelcomeText
-	keeptextopen
+	buttonsound
 	checkitem COIN_CASE
 	iftrue CoinVendor_IntroScript
 	farwritetext CoinVendor_NoCoinCaseText
--- a/home/joypad.asm
+++ b/home/joypad.asm
@@ -392,7 +392,7 @@
 	ret
 ; aaf
 
-KeepTextOpen:: ; aaf
+ButtonSound:: ; aaf
 	ld a, [wLinkMode]
 	and a
 	jr nz, .link
--- a/home/text.asm
+++ b/home/text.asm
@@ -538,7 +538,7 @@
 
 .linkbattle
 	call Function13b6
-	call KeepTextOpen
+	call ButtonSound
 	hlcoord TEXTBOX_INNERX, TEXTBOX_INNERY
 	lb bc, TEXTBOX_INNERH - 1, TEXTBOX_INNERW
 	call ClearBox
@@ -561,7 +561,7 @@
 	call Function13b6
 
 	push de
-	call KeepTextOpen
+	call ButtonSound
 	pop de
 
 	ld a, [wLinkMode]
@@ -611,7 +611,7 @@
 
 .ok
 	call Function13b6
-	call KeepTextOpen
+	call ButtonSound
 	ld a, [wLinkMode]
 	cp LINK_COLOSSEUM
 	jr z, DoneText
@@ -934,7 +934,7 @@
 	push hl
 	call LoadBlinkingCursor
 	push bc
-	call KeepTextOpen
+	call ButtonSound
 	pop bc
 	call UnloadBlinkingCursor
 	pop hl
@@ -1101,7 +1101,7 @@
 ; display arrow
 	push hl
 	push bc
-	call KeepTextOpen
+	call ButtonSound
 	pop bc
 	pop hl
 	ret
--- a/macros/event.asm
+++ b/macros/event.asm
@@ -564,9 +564,9 @@
 	db waitbutton_command
 	endm
 
-	enum keeptextopen_command
-keeptextopen: macro
-	db keeptextopen_command
+	enum buttonsound_command
+buttonsound: macro
+	db buttonsound_command
 	endm
 
 	enum pokepic_command
--- a/main.asm
+++ b/main.asm
@@ -8658,7 +8658,7 @@
 ; 0x1363e
 
 .bag_full: ; 0x1363e
-	keeptextopen
+	buttonsound
 	writetext .no_room_text
 	waitbutton
 
@@ -22604,7 +22604,7 @@
 	ret
 
 Function10425f: ; 10425f (41:425f)
-	ld c, $7f
+	ld c, " "
 	jr Function104265
 
 Function104263: ; 104263 (41:4263)
--- a/maps/AzaleaGym.asm
+++ b/maps/AzaleaGym.asm
@@ -42,7 +42,7 @@
 	setevent EVENT_BEAT_BUG_CATCHER_AL
 	setevent EVENT_BEAT_BUG_CATCHER_JOSH
 	writetext BugsyText_HiveBadgeSpeech
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_FURY_CUTTER
 	iffalse .NoRoomForFuryCutter
 	setevent EVENT_GOT_TM49_FURY_CUTTER
--- a/maps/AzaleaTown.asm
+++ b/maps/AzaleaTown.asm
@@ -163,10 +163,10 @@
 	applymovement PLAYER, MovementData_0x198148
 	loadfont
 	writetext UnknownText_0x1985df
-	keeptextopen
+	buttonsound
 	spriteface AZALEATOWN_KURT_OUTSIDE, RIGHT
 	writetext UnknownText_0x19860b
-	keeptextopen
+	buttonsound
 	writetext UnknownText_0x198628
 	waitbutton
 	verbosegiveitem GS_BALL
--- a/maps/BattleTower1F.asm
+++ b/maps/BattleTower1F.asm
@@ -61,7 +61,7 @@
 	if_equal $3, Script_BeatenAllTrainers2 ; maps/BattleTowerBattleRoom.asm
 	loadfont
 	writetext Text_BattleTowerWelcomesYou
-	keeptextopen
+	buttonsound
 	writebyte BATTLETOWERACTION_00 ; if new save file: bit 1, [sbe4f]
 	special BattleTowerAction
 	if_not_equal $0, Script_Menu_ChallengeExplanationCancel
--- a/maps/BattleTowerBattleRoom.asm
+++ b/maps/BattleTowerBattleRoom.asm
@@ -32,7 +32,7 @@
 	applymovement BATTLETOWERBATTLEROOM_YOUNGSTER, MovementData_BattleTowerBattleRoomOpponentWalksIn
 	loadfont
 	battletowertext 1
-	keeptextopen
+	buttonsound
 	closetext
 	special BattleTowerBattle ; calls predef startbattle
 	special FadeOutPalettes
--- a/maps/BillsHouse.asm
+++ b/maps/BillsHouse.asm
@@ -18,7 +18,7 @@
 	checkevent EVENT_MET_BILLS_GRANDPA
 	iftrue UnknownScript_0x189553
 	writetext UnknownText_0x1896ce
-	keeptextopen
+	buttonsound
 	setevent EVENT_MET_BILLS_GRANDPA
 UnknownScript_0x189553:
 	checkevent EVENT_SHOWED_PICHU_TO_BILLS_GRANDPA
@@ -32,7 +32,7 @@
 	checkevent EVENT_SHOWED_LICKITUNG_TO_BILLS_GRANDPA
 	iftrue UnknownScript_0x18963b
 	writetext UnknownText_0x1898c0
-	keeptextopen
+	buttonsound
 	writetext UnknownText_0x189732
 	yesorno
 	iffalse UnknownScript_0x1896aa
@@ -46,7 +46,7 @@
 
 UnknownScript_0x189592:
 	writetext UnknownText_0x1898ff
-	keeptextopen
+	buttonsound
 	writetext UnknownText_0x189732
 	yesorno
 	iffalse UnknownScript_0x1896aa
@@ -60,7 +60,7 @@
 
 UnknownScript_0x1895b3:
 	writetext UnknownText_0x189953
-	keeptextopen
+	buttonsound
 	writetext UnknownText_0x189732
 	yesorno
 	iffalse UnknownScript_0x1896aa
@@ -76,7 +76,7 @@
 	checkver
 	iftrue UnknownScript_0x1895f9
 	writetext UnknownText_0x1899fe
-	keeptextopen
+	buttonsound
 	writetext UnknownText_0x189732
 	yesorno
 	iffalse UnknownScript_0x1896aa
@@ -90,7 +90,7 @@
 
 UnknownScript_0x1895f9:
 	writetext UnknownText_0x189a57
-	keeptextopen
+	buttonsound
 	writetext UnknownText_0x189732
 	yesorno
 	iffalse UnknownScript_0x1896aa
@@ -104,7 +104,7 @@
 
 UnknownScript_0x18961a:
 	writetext UnknownText_0x189ab1
-	keeptextopen
+	buttonsound
 	writetext UnknownText_0x189732
 	yesorno
 	iffalse UnknownScript_0x1896aa
@@ -170,7 +170,7 @@
 
 UnknownScript_0x1896a5:
 	writetext UnknownText_0x189760
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0x1896aa:
@@ -181,12 +181,12 @@
 
 UnknownScript_0x1896b0:
 	writetext UnknownText_0x1897a6
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0x1896b5:
 	writetext UnknownText_0x1897e1
-	keeptextopen
+	buttonsound
 	end
 
 UnknownScript_0x1896ba:
--- a/maps/BlackthornCity.asm
+++ b/maps/BlackthornCity.asm
@@ -99,11 +99,11 @@
 	checkevent EVENT_MET_SANTOS_OF_SATURDAY
 	iftrue .MetSantos
 	writetext MeetSantosText
-	keeptextopen
+	buttonsound
 	setevent EVENT_MET_SANTOS_OF_SATURDAY
 .MetSantos
 	writetext SantosGivesGiftText
-	keeptextopen
+	buttonsound
 	verbosegiveitem SPELL_TAG
 	iffalse SantosDoneScript
 	setevent EVENT_GOT_SPELL_TAG_FROM_SANTOS
--- a/maps/BlackthornGym1F.asm
+++ b/maps/BlackthornGym1F.asm
@@ -68,7 +68,7 @@
 	checkevent EVENT_GOT_TM24_DRAGONBREATH
 	iftrue UnknownScript_0x194e94
 	writetext UnknownText_0x195196
-	keeptextopen
+	buttonsound
 	giveitem TM_DRAGONBREATH
 	iffalse UnknownScript_0x194e8e
 	itemtotext TM_DRAGONBREATH, $0
@@ -78,7 +78,7 @@
 	itemnotify
 	setevent EVENT_GOT_TM24_DRAGONBREATH
 	writetext UnknownText_0x1951d1
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0x194e94
 
 UnknownScript_0x194e8e:
--- a/maps/BluesHouse.asm
+++ b/maps/BluesHouse.asm
@@ -41,7 +41,7 @@
 	loadfont
 	writetext UnknownText_0x19b296
 	special PlayCurMonCry
-	keeptextopen
+	buttonsound
 	writetext UnknownText_0x19b2aa
 	waitbutton
 	closetext
--- a/maps/CeladonCafe.asm
+++ b/maps/CeladonCafe.asm
@@ -109,7 +109,7 @@
 	loadfont
 	itemtotext LEFTOVERS, $0
 	writetext FoundLeftoversText
-	keeptextopen
+	buttonsound
 	writetext NoRoomForLeftoversText
 	waitbutton
 	closetext
--- a/maps/CeladonDeptStore6F.asm
+++ b/maps/CeladonDeptStore6F.asm
@@ -68,7 +68,7 @@
 	pause 10
 	playsound SFX_ENTER_DOOR
 	writetext CeladonClangText
-	keeptextopen
+	buttonsound
 	itemnotify
 	jump .Start
 
--- a/maps/CeladonGameCorner.asm
+++ b/maps/CeladonGameCorner.asm
@@ -55,7 +55,7 @@
 	checkevent EVENT_GOT_COINS_FROM_GAMBLER_AT_CELADON
 	iftrue .UnknownScript_0x72169
 	writetext UnknownText_0x722dc
-	keeptextopen
+	buttonsound
 	checkitem COIN_CASE
 	iffalse UnknownScript_0x7217b
 	checkcoins 9998
--- a/maps/CeladonGym.asm
+++ b/maps/CeladonGym.asm
@@ -39,7 +39,7 @@
 	checkevent EVENT_GOT_TM19_GIGA_DRAIN
 	iftrue UnknownScript_0x72aae
 	writetext UnknownText_0x72cb0
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_GIGA_DRAIN
 	iffalse UnknownScript_0x72aae
 	setevent EVENT_GOT_TM19_GIGA_DRAIN
--- a/maps/CeladonMansion3F.asm
+++ b/maps/CeladonMansion3F.asm
@@ -22,12 +22,12 @@
 	end
 
 UnknownScript_0x7167e:
-	keeptextopen
+	buttonsound
 	writetext UnknownText_0x71725
 	playsound SFX_DEX_FANFARE_230_PLUS
 	waitsfx
 	writetext UnknownText_0x71760
-	keeptextopen
+	buttonsound
 	special Diploma
 	writetext UnknownText_0x71763
 	waitbutton
--- a/maps/CeladonMansionRoofHouse.asm
+++ b/maps/CeladonMansionRoofHouse.asm
@@ -14,7 +14,7 @@
 	checkevent EVENT_GOT_TM03_CURSE
 	iftrue UnknownScript_0x71b21
 	writetext UnknownText_0x71b27
-	keeptextopen
+	buttonsound
 	checknite
 	iftrue UnknownScript_0x71b14
 	writetext UnknownText_0x71b4a
@@ -24,7 +24,7 @@
 
 UnknownScript_0x71b14:
 	writetext UnknownText_0x71ba3
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_CURSE
 	iffalse UnknownScript_0x71b25
 	setevent EVENT_GOT_TM03_CURSE
--- a/maps/CeladonPokeCenter1F.asm
+++ b/maps/CeladonPokeCenter1F.asm
@@ -28,7 +28,7 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x71f22
-	keeptextopen
+	buttonsound
 	writebyte SUICUNE
 	special SpecialMonCheck
 	iffalse UnknownScript_0x71e46
--- a/maps/CharcoalKiln.asm
+++ b/maps/CharcoalKiln.asm
@@ -48,7 +48,7 @@
 
 .Thanks
 	writetext CharcoalKilnApprenticeText2
-	keeptextopen
+	buttonsound
 	verbosegiveitem CHARCOAL
 	iffalse .Done
 	setevent EVENT_GOT_CHARCOAL_IN_CHARCOAL_KILN
--- a/maps/CherrygroveCity.asm
+++ b/maps/CherrygroveCity.asm
@@ -72,12 +72,12 @@
 	spriteface PLAYER, RIGHT
 	loadfont
 	writetext GuideGentGiftText
-	keeptextopen
+	buttonsound
 	stringtotext .mapcardname, $1
 	scall .UnknownScript_0x19c097
 	setflag ENGINE_MAP_CARD
 	writetext GotMapCardText
-	keeptextopen
+	buttonsound
 	writetext GuideGentPokegearText
 	waitbutton
 	closetext
@@ -219,7 +219,7 @@
 	checkevent EVENT_GOT_MYSTIC_WATER_IN_CHERRYGROVE
 	iftrue UnknownScript_0x19c183
 	writetext UnknownText_0x19c766
-	keeptextopen
+	buttonsound
 	verbosegiveitem MYSTIC_WATER
 	iffalse UnknownScript_0x19c187
 	setevent EVENT_GOT_MYSTIC_WATER_IN_CHERRYGROVE
--- a/maps/CianwoodCity.asm
+++ b/maps/CianwoodCity.asm
@@ -92,7 +92,7 @@
 	checkevent EVENT_GOT_HM02_FLY
 	iftrue UnknownScript_0x1a00ad
 	writetext UnknownText_0x1a00f1
-	keeptextopen
+	buttonsound
 	checkevent EVENT_BEAT_CHUCK
 	iftrue UnknownScript_0x1a009c
 	writetext UnknownText_0x1a0163
@@ -102,12 +102,12 @@
 
 UnknownScript_0x1a009c:
 	writetext UnknownText_0x1a01e3
-	keeptextopen
+	buttonsound
 	verbosegiveitem HM_FLY
 	iffalse UnknownScript_0x1a00b1
 	setevent EVENT_GOT_HM02_FLY
 	writetext UnknownText_0x1a021d
-	keeptextopen
+	buttonsound
 UnknownScript_0x1a00ad:
 	writetext UnknownText_0x1a0277
 	waitbutton
--- a/maps/CianwoodGym.asm
+++ b/maps/CianwoodGym.asm
@@ -59,7 +59,7 @@
 	setevent EVENT_BEAT_BLACKBELT_NOB
 	setevent EVENT_BEAT_BLACKBELT_LUNG
 	writetext UnknownText_0x9d84d
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_DYNAMICPUNCH
 	iffalse UnknownScript_0x9d67f
 	setevent EVENT_GOT_TM01_DYNAMICPUNCH
--- a/maps/CianwoodPharmacy.asm
+++ b/maps/CianwoodPharmacy.asm
@@ -22,7 +22,7 @@
 	checkevent EVENT_JASMINE_EXPLAINED_AMPHYS_SICKNESS
 	iffalse .Mart
 	writetext PharmacistGiveSecretpotionText
-	keeptextopen
+	buttonsound
 	giveitem SECRETPOTION
 	writetext ReceivedSecretpotionText
 	playsound SFX_KEY_ITEM
--- a/maps/CopycatsHouse2F.asm
+++ b/maps/CopycatsHouse2F.asm
@@ -113,7 +113,7 @@
 .Part12
 	loadfont
 	writetext UnknownText_0x18b17f
-	keeptextopen
+	buttonsound
 	takeitem LOST_ITEM
 	setevent EVENT_RETURNED_LOST_ITEM_TO_COPYCAT
 	clearevent EVENT_COPYCATS_HOUSE_2F_DOLL
@@ -123,7 +123,7 @@
 	loadfont
 .Part14
 	writetext UnknownText_0x18b1e2
-	keeptextopen
+	buttonsound
 	verbosegiveitem PASS
 	iffalse .Part22
 	setevent EVENT_GOT_PASS_FROM_COPYCAT
@@ -179,7 +179,7 @@
 	loadfont
 	writetext CopycatsDodrioText1
 	cry DODRIO
-	keeptextopen
+	buttonsound
 	writetext CopycatsDodrioText2
 	waitbutton
 	closetext
--- a/maps/DanceTheatre.asm
+++ b/maps/DanceTheatre.asm
@@ -75,7 +75,7 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x9980a
-	keeptextopen
+	buttonsound
 	checkevent EVENT_GOT_HM03_SURF
 	iftrue UnknownScript_0x99515
 	checkevent EVENT_BEAT_KIMONO_GIRL_NAOKO
@@ -106,7 +106,7 @@
 
 UnknownScript_0x99505:
 	writetext UnknownText_0x9991a
-	keeptextopen
+	buttonsound
 	verbosegiveitem HM_SURF
 	setevent EVENT_GOT_HM03_SURF
 	writetext UnknownText_0x9999b
--- a/maps/DarkCaveBlackthornEntrance.asm
+++ b/maps/DarkCaveBlackthornEntrance.asm
@@ -16,7 +16,7 @@
 	checkevent EVENT_GOT_BLACKGLASSES_IN_DARK_CAVE
 	iftrue UnknownScript_0x18c735
 	writetext UnknownText_0x18c73f
-	keeptextopen
+	buttonsound
 	verbosegiveitem BLACKGLASSES
 	iffalse UnknownScript_0x18c739
 	setevent EVENT_GOT_BLACKGLASSES_IN_DARK_CAVE
--- a/maps/DayCare.asm
+++ b/maps/DayCare.asm
@@ -31,7 +31,7 @@
 	checkevent EVENT_GOT_ODD_EGG
 	iftrue UnknownScript_0x62fbd
 	writetext UnknownText_0x630ce
-	keeptextopen
+	buttonsound
 	closetext
 	checkcode VAR_PARTYCOUNT
 	if_equal $6, UnknownScript_0x62fb6
--- a/maps/DragonShrine.asm
+++ b/maps/DragonShrine.asm
@@ -27,11 +27,11 @@
 	applymovement DRAGONSHRINE_ELDER1, MovementData_0x18d2c7
 	loadfont
 	writetext UnknownText_0x18d2ea
-	keeptextopen
+	buttonsound
 .Question1:
 	setevent EVENT_RECEIVED_BALLS_FROM_KURT
 	writetext UnknownText_0x18d3bc
-	keeptextopen
+	buttonsound
 	loadmenudata MenuDataHeader_0x18d215
 	interpretmenu2
 	writebackup
@@ -43,7 +43,7 @@
 .Question2:
 	setevent EVENT_DRAGON_SHRINE_QUESTION_2
 	writetext UnknownText_0x18d3d3
-	keeptextopen
+	buttonsound
 	loadmenudata MenuDataHeader_0x18d234
 	interpretmenu2
 	writebackup
@@ -53,7 +53,7 @@
 .Question3:
 	setevent EVENT_DRAGON_SHRINE_QUESTION_3
 	writetext UnknownText_0x18d3f3
-	keeptextopen
+	buttonsound
 	loadmenudata MenuDataHeader_0x18d258
 	interpretmenu2
 	writebackup
@@ -63,7 +63,7 @@
 .Question4:
 	setevent EVENT_DRAGON_SHRINE_QUESTION_4
 	writetext UnknownText_0x18d420
-	keeptextopen
+	buttonsound
 	loadmenudata MenuDataHeader_0x18d283
 	interpretmenu2
 	writebackup
@@ -73,7 +73,7 @@
 .Question5:
 	setevent EVENT_DRAGON_SHRINE_QUESTION_5
 	writetext UnknownText_0x18d44a
-	keeptextopen
+	buttonsound
 	loadmenudata MenuDataHeader_0x18d2a5
 	interpretmenu2
 	writebackup
@@ -84,7 +84,7 @@
 	checkevent EVENT_DRAGON_SHRINE_QUESTION_5
 	iftrue .PassedTheTest
 	writetext UnknownText_0x18d82d
-	keeptextopen
+	buttonsound
 	checkevent EVENT_DRAGON_SHRINE_QUESTION_4
 	iftrue .Question5
 	checkevent EVENT_DRAGON_SHRINE_QUESTION_3
@@ -170,7 +170,7 @@
 	dotrigger $1
 	domaptrigger DRAGONS_DEN_B1F, $1
 	writetext UnknownText_0x18d9f2
-	keeptextopen
+	buttonsound
 	writetext UnknownText_0x18da0b
 	waitbutton
 	closetext
--- a/maps/DragonsDenB1F.asm
+++ b/maps/DragonsDenB1F.asm
@@ -59,7 +59,7 @@
 	applymovement DRAGONSDENB1F_CLAIR, MovementData_0x18c9ae
 	loadfont
 	writetext UnknownText_0x18c9bf
-	keeptextopen
+	buttonsound
 	giveitem TM_DRAGONBREATH
 	iffalse UnknownScript_0x18c8f4
 	itemtotext TM_DRAGONBREATH, $0
@@ -69,7 +69,7 @@
 	itemnotify
 	setevent EVENT_GOT_TM24_DRAGONBREATH
 	writetext UnknownText_0x18ca0d
-	keeptextopen
+	buttonsound
 	writetext UnknownText_0x18caf1
 	waitbutton
 	closetext
@@ -149,7 +149,7 @@
 	loadfont
 	itemtotext DRAGON_FANG, $0
 	writetext UnknownText_0x18cf41
-	keeptextopen
+	buttonsound
 	writetext UnknownText_0x18cf51
 	waitbutton
 	closetext
--- a/maps/EcruteakGym.asm
+++ b/maps/EcruteakGym.asm
@@ -56,7 +56,7 @@
 	setevent EVENT_BEAT_MEDIUM_MARTHA
 	setevent EVENT_BEAT_MEDIUM_GRACE
 	writetext UnknownText_0x9a059
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_SHADOW_BALL
 	iffalse UnknownScript_0x99db5
 	setevent EVENT_GOT_TM30_SHADOW_BALL
--- a/maps/EcruteakItemfinderHouse.asm
+++ b/maps/EcruteakItemfinderHouse.asm
@@ -18,7 +18,7 @@
 	yesorno
 	iffalse UnknownScript_0x9a61a
 	writetext UnknownText_0x9a6b5
-	keeptextopen
+	buttonsound
 	verbosegiveitem ITEMFINDER
 	setevent EVENT_GOT_ITEMFINDER
 UnknownScript_0x9a614:
--- a/maps/EcruteakPokeCenter1F.asm
+++ b/maps/EcruteakPokeCenter1F.asm
@@ -42,7 +42,7 @@
 	pause 10
 	loadfont
 	writetext UnknownText_0x98ed8
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0x98e95
 
 UnknownScript_0x98e95:
--- a/maps/ElmsLab.asm
+++ b/maps/ElmsLab.asm
@@ -1,1424 +1,1424 @@
-const_value set 2
-	const ELMSLAB_ELM
-	const ELMSLAB_SCIENTIST
-	const ELMSLAB_POKE_BALL1
-	const ELMSLAB_POKE_BALL2
-	const ELMSLAB_POKE_BALL3
-	const ELMSLAB_OFFICER
-
-ElmsLab_MapScriptHeader:
-.MapTriggers:
-	db 6
-
-	; triggers
-	dw .Trigger0, 0
-	dw .Trigger1, 0
-	dw .Trigger2, 0
-	dw .Trigger3, 0
-	dw .Trigger4, 0
-	dw .Trigger5, 0
-
-.MapCallbacks:
-	db 1
-
-	; callbacks
-
-	dbw 2, .Callback_MoveElm
-
-.Trigger0:
-	priorityjump ElmsLab_AutowalkUpToElm
-	end
-
-.Trigger1:
-	end
-
-.Trigger2:
-	end
-
-.Trigger3:
-	end
-
-.Trigger4:
-	end
-
-.Trigger5:
-	end
-
-.Callback_MoveElm:
-	checktriggers
-	iftrue .Skip
-	moveperson ELMSLAB_ELM, $3, $4
-.Skip:
-	return
-
-ElmsLab_AutowalkUpToElm:
-	applymovement PLAYER, ElmsLab_WalkUpToElmMovement
-	showemote EMOTE_SHOCK, ELMSLAB_ELM, 15
-	spriteface ELMSLAB_ELM, RIGHT
-	loadfont
-	writetext ElmText_Intro
-ElmsLab_RefuseLoop:
-	yesorno
-	iftrue ElmsLab_ElmGetsEmail
-	writetext ElmText_Refused
-	jump ElmsLab_RefuseLoop
-
-ElmsLab_ElmGetsEmail:
-	writetext ElmText_Accepted
-	keeptextopen
-	writetext ElmText_ResearchAmbitions
-	waitbutton
-	closetext
-	playsound SFX_GLASS_TING
-	pause 30
-	showemote EMOTE_SHOCK, ELMSLAB_ELM, 10
-	spriteface ELMSLAB_ELM, DOWN
-	loadfont
-	writetext ElmText_GotAnEmail
-	waitbutton
-	closetext
-	loadfont
-	spriteface ELMSLAB_ELM, RIGHT
-	writetext ElmText_MissionFromMrPokemon
-	waitbutton
-	closetext
-	applymovement ELMSLAB_ELM, ElmsLab_ElmToDefaultPositionMovement1
-	spriteface PLAYER, UP
-	applymovement ELMSLAB_ELM, ElmsLab_ElmToDefaultPositionMovement2
-	spriteface PLAYER, RIGHT
-	loadfont
-	writetext ElmText_ChooseAPokemon
-	waitbutton
-	dotrigger $1
-	closetext
-	end
-
-ProfElmScript:
-	faceplayer
-	loadfont
-	checkevent EVENT_GOT_SS_TICKET_FROM_ELM
-	iftrue ElmCheckMasterBall
-	checkevent EVENT_BEAT_ELITE_FOUR
-	iftrue ElmGiveTicketScript
-ElmCheckMasterBall:
-	checkevent EVENT_GOT_MASTER_BALL_FROM_ELM
-	iftrue ElmCheckEverstone
-	checkflag ENGINE_RISINGBADGE
-	iftrue ElmGiveMasterBallScript
-ElmCheckEverstone:
-	checkevent EVENT_GOT_EVERSTONE_FROM_ELM
-	iftrue ElmScript_CallYou
-	checkevent EVENT_SHOWED_TOGEPI_TO_ELM
-	iftrue ElmGiveEverstoneScript
-	checkevent EVENT_TOLD_ELM_ABOUT_TOGEPI_OVER_THE_PHONE
-	iffalse ElmCheckTogepiEgg
-	writebyte TOGEPI
-	special Special_FindThatSpeciesYourTrainerID
-	iftrue ShowElmTogepiScript
-	writebyte TOGETIC
-	special Special_FindThatSpeciesYourTrainerID
-	iftrue ShowElmTogepiScript
-	writetext UnknownText_0x79a40
-	waitbutton
-	closetext
-	end
-
-ElmEggHatchedScript:
-	writebyte TOGEPI
-	special Special_FindThatSpeciesYourTrainerID
-	iftrue ShowElmTogepiScript
-	writebyte TOGETIC
-	special Special_FindThatSpeciesYourTrainerID
-	iftrue ShowElmTogepiScript
-	jump ElmCheckGotEggAgain
-
-ElmCheckTogepiEgg:
-	checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE
-	iffalse ElmCheckGotEggAgain
-	checkevent EVENT_TOGEPI_HATCHED
-	iftrue ElmEggHatchedScript
-ElmCheckGotEggAgain:
-	checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE ; why are we checking it again?
-	iftrue ElmWaitingEggHatchScript
-	checkflag ENGINE_ZEPHYRBADGE
-	iftrue ElmAideHasEggScript
-	checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
-	iftrue ElmStudyingEggScript
-	checkevent EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON
-	iftrue ElmAfterTheftScript
-	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
-	iftrue ElmDescribesMrPokemonScript
-	writetext ElmText_LetYourMonBattleIt
-	waitbutton
-	closetext
-	end
-
-LabTryToLeaveScript:
-	spriteface ELMSLAB_ELM, DOWN
-	loadfont
-	writetext LabWhereGoingText
-	waitbutton
-	closetext
-	applymovement PLAYER, MovementData_0x78f70
-	end
-
-CyndaquilPokeBallScript:
-	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
-	iftrue LookAtElmPokeBallScript
-	spriteface ELMSLAB_ELM, DOWN
-	refreshscreen $0
-	pokepic CYNDAQUIL
-	cry CYNDAQUIL
-	waitbutton
-	closepokepic
-	loadfont
-	writetext TakeCyndaquilText
-	yesorno
-	iffalse DidntChooseStarterScript
-	disappear ELMSLAB_POKE_BALL1
-	setevent EVENT_GOT_CYNDAQUIL_FROM_ELM
-	writetext ChoseStarterText
-	keeptextopen
-	waitsfx
-	pokenamemem CYNDAQUIL, $0
-	writetext ReceivedStarterText
-	playsound SFX_CAUGHT_MON
-	waitsfx
-	keeptextopen
-	givepoke CYNDAQUIL, 5, BERRY
-	closetext
-	checkcode VAR_FACING
-	if_equal RIGHT, ElmDirectionsScript
-	applymovement PLAYER, AfterCyndaquilMovement
-	jump ElmDirectionsScript
-
-TotodilePokeBallScript:
-	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
-	iftrue LookAtElmPokeBallScript
-	spriteface ELMSLAB_ELM, DOWN
-	refreshscreen $0
-	pokepic TOTODILE
-	cry TOTODILE
-	waitbutton
-	closepokepic
-	loadfont
-	writetext TakeTotodileText
-	yesorno
-	iffalse DidntChooseStarterScript
-	disappear ELMSLAB_POKE_BALL2
-	setevent EVENT_GOT_TOTODILE_FROM_ELM
-	writetext ChoseStarterText
-	keeptextopen
-	waitsfx
-	pokenamemem TOTODILE, $0
-	writetext ReceivedStarterText
-	playsound SFX_CAUGHT_MON
-	waitsfx
-	keeptextopen
-	givepoke TOTODILE, 5, BERRY
-	closetext
-	applymovement PLAYER, AfterTotodileMovement
-	jump ElmDirectionsScript
-
-ChikoritaPokeBallScript:
-	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
-	iftrue LookAtElmPokeBallScript
-	spriteface ELMSLAB_ELM, DOWN
-	refreshscreen $0
-	pokepic CHIKORITA
-	cry CHIKORITA
-	waitbutton
-	closepokepic
-	loadfont
-	writetext TakeChikoritaText
-	yesorno
-	iffalse DidntChooseStarterScript
-	disappear ELMSLAB_POKE_BALL3
-	setevent EVENT_GOT_CHIKORITA_FROM_ELM
-	writetext ChoseStarterText
-	keeptextopen
-	waitsfx
-	pokenamemem CHIKORITA, $0
-	writetext ReceivedStarterText
-	playsound SFX_CAUGHT_MON
-	waitsfx
-	keeptextopen
-	givepoke CHIKORITA, 5, BERRY
-	closetext
-	applymovement PLAYER, AfterChikoritaMovement
-	jump ElmDirectionsScript
-
-DidntChooseStarterScript:
-	writetext DidntChooseStarterText
-	waitbutton
-	closetext
-	end
-
-ElmDirectionsScript:
-	spriteface PLAYER, UP
-	loadfont
-	writetext ElmDirectionsText1
-	waitbutton
-	closetext
-	addcellnum PHONE_ELM
-	loadfont
-	writetext GotElmsNumberText
-	playsound SFX_REGISTER_PHONE_NUMBER
-	waitsfx
-	waitbutton
-	closetext
-	spriteface ELMSLAB_ELM, LEFT
-	loadfont
-	writetext ElmDirectionsText2
-	waitbutton
-	closetext
-	spriteface ELMSLAB_ELM, DOWN
-	loadfont
-	writetext ElmDirectionsText3
-	waitbutton
-	closetext
-	setevent EVENT_GOT_A_POKEMON_FROM_ELM
-	setevent EVENT_RIVAL_CHERRYGROVE_CITY
-	dotrigger $5
-	domaptrigger NEW_BARK_TOWN, $1
-	end
-
-ElmDescribesMrPokemonScript:
-	writetext ElmDescribesMrPokemonText
-	waitbutton
-	closetext
-	end
-
-LookAtElmPokeBallScript:
-	loadfont
-	writetext ElmPokeBallText
-	waitbutton
-	closetext
-	end
-
-ElmsLabHealingMachine:
-	loadfont
-	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
-	iftrue .CanHeal
-	writetext ElmsLabHealingMachineText1
-	waitbutton
-	closetext
-	end
-
-.CanHeal
-	writetext ElmsLabHealingMachineText2
-	yesorno
-	iftrue ElmsLabHealingMachine_HealParty
-	closetext
-	end
-
-ElmsLabHealingMachine_HealParty:
-	special Mobile_HealParty
-	special HealParty
-	playmusic MUSIC_NONE
-	writebyte 1 ; Machine is in Elm's Lab
-	special HealMachineAnim
-	pause 30
-	special RestartMapMusic
-	closetext
-	end
-
-ElmAfterTheftDoneScript:
-	waitbutton
-	closetext
-	end
-
-ElmAfterTheftScript:
-	writetext ElmAfterTheftText1
-	checkitem MYSTERY_EGG
-	iffalse ElmAfterTheftDoneScript
-	keeptextopen
-	writetext ElmAfterTheftText2
-	waitbutton
-	takeitem MYSTERY_EGG
-	scall ElmJumpBackScript1
-	writetext ElmAfterTheftText3
-	waitbutton
-	scall ElmJumpBackScript2
-	writetext ElmAfterTheftText4
-	keeptextopen
-	writetext ElmAfterTheftText5
-	keeptextopen
-	setevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
-	setflag ENGINE_BUG_CONTEST_ON
-	domaptrigger ROUTE_29, $1
-	clearevent EVENT_ROUTE_30_YOUNGSTER_JOEY
-	setevent EVENT_ROUTE_30_BATTLE
-	writetext ElmAfterTheftText6
-	waitbutton
-	closetext
-	dotrigger $6
-	end
-
-ElmStudyingEggScript:
-	writetext ElmStudyingEggText
-	waitbutton
-	closetext
-	end
-
-ElmAideHasEggScript:
-	writetext ElmAideHasEggText
-	waitbutton
-	closetext
-	end
-
-ElmWaitingEggHatchScript:
-	writetext ElmWaitingEggHatchText
-	waitbutton
-	closetext
-	end
-
-ShowElmTogepiScript:
-	writetext ShowElmTogepiText1
-	waitbutton
-	closetext
-	showemote EMOTE_SHOCK, ELMSLAB_ELM, 15
-	setevent EVENT_SHOWED_TOGEPI_TO_ELM
-	loadfont
-	writetext ShowElmTogepiText2
-	keeptextopen
-	writetext ShowElmTogepiText3
-	keeptextopen
-ElmGiveEverstoneScript:
-	writetext ElmGiveEverstoneText1
-	keeptextopen
-	verbosegiveitem EVERSTONE
-	iffalse ElmScript_NoRoomForEverstone
-	writetext ElmGiveEverstoneText2
-	waitbutton
-	closetext
-	setevent EVENT_GOT_EVERSTONE_FROM_ELM
-	end
-
-ElmScript_CallYou:
-	writetext ElmText_CallYou
-	waitbutton
-ElmScript_NoRoomForEverstone:
-	closetext
-	end
-
-ElmGiveMasterBallScript:
-	writetext ElmGiveMasterBallText1
-	keeptextopen
-	verbosegiveitem MASTER_BALL
-	iffalse .notdone
-	setevent EVENT_GOT_MASTER_BALL_FROM_ELM
-	writetext ElmGiveMasterBallText2
-	waitbutton
-.notdone
-	closetext
-	end
-
-ElmGiveTicketScript:
-	writetext ElmGiveTicketText1
-	keeptextopen
-	verbosegiveitem S_S_TICKET
-	setevent EVENT_GOT_SS_TICKET_FROM_ELM
-	writetext ElmGiveTicketText2
-	waitbutton
-	closetext
-	end
-
-ElmJumpBackScript1:
-	closetext
-	checkcode VAR_FACING
-	if_equal DOWN, ElmJumpDownScript
-	if_equal UP, ElmJumpUpScript
-	if_equal LEFT, ElmJumpLeftScript
-	if_equal RIGHT, ElmJumpRightScript
-	end
-
-ElmJumpBackScript2:
-	closetext
-	checkcode VAR_FACING
-	if_equal DOWN, ElmJumpUpScript
-	if_equal UP, ElmJumpDownScript
-	if_equal LEFT, ElmJumpRightScript
-	if_equal RIGHT, ElmJumpLeftScript
-	end
-
-ElmJumpUpScript:
-	applymovement ELMSLAB_ELM, ElmJumpUpMovement
-	loadfont
-	end
-
-ElmJumpDownScript:
-	applymovement ELMSLAB_ELM, ElmJumpDownMovement
-	loadfont
-	end
-
-ElmJumpLeftScript:
-	applymovement ELMSLAB_ELM, ElmJumpLeftMovement
-	loadfont
-	end
-
-ElmJumpRightScript:
-	applymovement ELMSLAB_ELM, ElmJumpRightMovement
-	loadfont
-	end
-
-AideScript_WalkPotions1:
-	applymovement ELMSLAB_SCIENTIST, AideWalksRight1
-	spriteface PLAYER, DOWN
-	scall AideScript_GivePotions
-	applymovement ELMSLAB_SCIENTIST, AideWalksLeft1
-	end
-
-AideScript_WalkPotions2:
-	applymovement ELMSLAB_SCIENTIST, AideWalksRight2
-	spriteface PLAYER, DOWN
-	scall AideScript_GivePotions
-	applymovement ELMSLAB_SCIENTIST, AideWalksLeft2
-	end
-
-AideScript_GivePotions:
-	loadfont
-	writetext AideText_GiveYouPotions
-	keeptextopen
-	verbosegiveitem POTION
-	writetext AideText_AlwaysBusy
-	waitbutton
-	closetext
-	dotrigger $2
-	end
-
-AideScript_WalkBalls1:
-	applymovement ELMSLAB_SCIENTIST, AideWalksRight1
-	spriteface PLAYER, DOWN
-	scall AideScript_GiveYouBalls
-	applymovement ELMSLAB_SCIENTIST, AideWalksLeft1
-	end
-
-AideScript_WalkBalls2:
-	applymovement ELMSLAB_SCIENTIST, AideWalksRight2
-	spriteface PLAYER, DOWN
-	scall AideScript_GiveYouBalls
-	applymovement ELMSLAB_SCIENTIST, AideWalksLeft2
-	end
-
-AideScript_GiveYouBalls:
-	loadfont
-	writetext AideText_GiveYouBalls
-	keeptextopen
-	itemtotext POKE_BALL, $1
-	scall AideScript_ReceiveTheBalls
-	giveitem POKE_BALL, 5
-	writetext AideText_ExplainBalls
-	keeptextopen
-	itemnotify
-	closetext
-	dotrigger $2
-	end
-
-AideScript_ReceiveTheBalls:
-	jumpstd receiveitem
-	end
-
-ElmsAideScript:
-	faceplayer
-	loadfont
-	checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE
-	iftrue AideScript_AfterTheft
-	checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
-	iftrue AideScript_ExplainBalls
-	checkevent EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON
-	iftrue AideScript_TheftTestimony
-	writetext AideText_AlwaysBusy
-	waitbutton
-	closetext
-	end
-
-AideScript_TheftTestimony:
-	writetext AideText_TheftTestimony
-	waitbutton
-	closetext
-	end
-
-AideScript_ExplainBalls:
-	writetext AideText_ExplainBalls
-	waitbutton
-	closetext
-	end
-
-AideScript_AfterTheft:
-	writetext AideText_AfterTheft
-	waitbutton
-	closetext
-	end
-
-MeetCopScript2:
-	applymovement PLAYER, MeetCopScript2_StepLeft
-
-MeetCopScript:
-	applymovement PLAYER, MeetCopScript_WalkUp
-CopScript:
-	spriteface ELMSLAB_OFFICER, LEFT
-	loadfont
-	writetext ElmsLabOfficerText1
-	keeptextopen
-	special SpecialNameRival
-	writetext ElmsLabOfficerText2
-	waitbutton
-	closetext
-	applymovement ELMSLAB_OFFICER, OfficerLeavesMovement
-	disappear ELMSLAB_OFFICER
-	dotrigger $2
-	end
-
-ElmsLabWindow:
-	loadfont
-	checkflag ENGINE_FLYPOINT_VIOLET
-	iftrue .Normal
-	checkevent EVENT_ELM_CALLED_ABOUT_STOLEN_POKEMON
-	iftrue .BreakIn
-	jump .Normal
-
-.BreakIn
-	writetext ElmsLabWindowText2
-	waitbutton
-	closetext
-	end
-
-.Normal
-	writetext ElmsLabWindowText1
-	waitbutton
-	closetext
-	end
-
-ElmsLabTravelTip1:
-	jumptext ElmsLabTravelTip1Text
-
-ElmsLabTravelTip2:
-	jumptext ElmsLabTravelTip2Text
-
-ElmsLabTravelTip3:
-	jumptext ElmsLabTravelTip3Text
-
-ElmsLabTravelTip4:
-	jumptext ElmsLabTravelTip4Text
-
-ElmsLabTrashcan:
-	jumptext ElmsLabTrashcanText
-
-ElmsLabPC:
-	jumptext ElmsLabPCText
-
-ElmsLabTrashcan2:
-; unused
-	jumpstd trashcan
-
-ElmsLabBookshelf:
-	jumpstd difficultbookshelf
-
-ElmsLab_WalkUpToElmMovement:
-	step_up
-	step_up
-	step_up
-	step_up
-	step_up
-	step_up
-	step_up
-	turn_head_left
-	step_end
-
-MovementData_0x78f70:
-	step_up
-	step_end
-
-MeetCopScript2_StepLeft:
-	step_left
-	step_end
-
-MeetCopScript_WalkUp:
-	step_up
-	step_up
-	turn_head_right
-	step_end
-
-OfficerLeavesMovement:
-	step_down
-	step_down
-	step_down
-	step_down
-	step_down
-	step_end
-
-AideWalksRight1:
-	step_right
-	step_right
-	turn_head_up
-	step_end
-
-AideWalksRight2:
-	step_right
-	step_right
-	step_right
-	turn_head_up
-	step_end
-
-AideWalksLeft1:
-	step_left
-	step_left
-	turn_head_down
-	step_end
-
-AideWalksLeft2:
-	step_left
-	step_left
-	step_left
-	turn_head_down
-	step_end
-
-ElmJumpUpMovement:
-	fix_facing
-	big_step_up
-	remove_fixed_facing
-	step_end
-
-ElmJumpDownMovement:
-	fix_facing
-	big_step_down
-	remove_fixed_facing
-	step_end
-
-ElmJumpLeftMovement:
-	fix_facing
-	big_step_left
-	remove_fixed_facing
-	step_end
-
-ElmJumpRightMovement:
-	fix_facing
-	big_step_right
-	remove_fixed_facing
-	step_end
-
-ElmsLab_ElmToDefaultPositionMovement1:
-	step_up
-	step_end
-
-ElmsLab_ElmToDefaultPositionMovement2:
-	step_right
-	step_right
-	step_up
-	turn_head_down
-	step_end
-
-AfterCyndaquilMovement:
-	step_left
-	step_up
-	turn_head_up
-	step_end
-
-AfterTotodileMovement:
-	step_left
-	step_left
-	step_up
-	turn_head_up
-	step_end
-
-AfterChikoritaMovement:
-	step_left
-	step_left
-	step_left
-	step_up
-	turn_head_up
-	step_end
-
-ElmText_Intro:
-	text "ELM: <PLAY_G>!"
-	line "There you are!"
-
-	para "I needed to ask"
-	line "you a favor."
-
-	para "I'm conducting new"
-	line "#MON research"
-
-	para "right now. I was"
-	line "wondering if you"
-
-	para "could help me with"
-	line "it, <PLAY_G>."
-
-	para "You see…"
-
-	para "I'm writing a"
-	line "paper that I want"
-
-	para "to present at a"
-	line "conference."
-
-	para "But there are some"
-	line "things I don't"
-
-	para "quite understand"
-	line "yet."
-
-	para "So!"
-
-	para "I'd like you to"
-	line "raise a #MON"
-
-	para "that I recently"
-	line "caught."
-	done
-
-ElmText_Accepted:
-	text "Thanks, <PLAY_G>!"
-
-	para "You're a great"
-	line "help!"
-	done
-
-ElmText_Refused:
-	text "But… Please, I"
-	line "need your help!"
-	done
-
-ElmText_ResearchAmbitions:
-	text "When I announce my"
-	line "findings, I'm sure"
-
-	para "we'll delve a bit"
-	line "deeper into the"
-
-	para "many mysteries of"
-	line "#MON."
-
-	para "You can count on"
-	line "it!"
-	done
-
-ElmText_GotAnEmail:
-	text "Oh, hey! I got an"
-	line "e-mail!"
-
-	para $56, $56, $56
-	line "Hm… Uh-huh…"
-
-	para "Okay…"
-	done
-
-ElmText_MissionFromMrPokemon:
-	text "Hey, listen."
-
-	para "I have an acquain-"
-	line "tance called MR."
-	cont "#MON."
-
-	para "He keeps finding"
-	line "weird things and"
-
-	para "raving about his"
-	line "discoveries."
-
-	para "Anyway, I just got"
-	line "an e-mail from him"
-
-	para "saying that this"
-	line "time it's real."
-
-	para "It is intriguing,"
-	line "but we're busy"
-
-	para "with our #MON"
-	line "research…"
-
-	para "Wait!"
-
-	para "I know!"
-
-	para "<PLAY_G>, can you"
-	line "go in our place?"
-	done
-
-ElmText_ChooseAPokemon:
-	text "I want you to"
-	line "raise one of the"
-
-	para "#MON contained"
-	line "in these BALLS."
-
-	para "You'll be that"
-	line "#MON's first"
-	cont "partner, <PLAY_G>!"
-
-	para "Go on. Pick one!"
-	done
-
-ElmText_LetYourMonBattleIt:
-	text "If a wild #MON"
-	line "appears, let your"
-	cont "#MON battle it!"
-	done
-
-LabWhereGoingText:
-	text "ELM: Wait! Where"
-	line "are you going?"
-	done
-
-TakeCyndaquilText:
-	text "ELM: You'll take"
-	line "CYNDAQUIL, the"
-	cont "fire #MON?"
-	done
-
-TakeTotodileText:
-	text "ELM: Do you want"
-	line "TOTODILE, the"
-	cont "water #MON?"
-	done
-
-TakeChikoritaText:
-	text "ELM: So, you like"
-	line "CHIKORITA, the"
-	cont "grass #MON?"
-	done
-
-DidntChooseStarterText:
-	text "ELM: Think it over"
-	line "carefully."
-
-	para "Your partner is"
-	line "important."
-	done
-
-ChoseStarterText:
-	text "ELM: I think"
-	line "that's a great"
-	cont "#MON too!"
-	done
-
-ReceivedStarterText:
-	text "<PLAYER> received"
-	line "@"
-	text_from_ram StringBuffer3
-	text "!"
-	done
-
-ElmDirectionsText1:
-	text "MR.#MON lives a"
-	line "little bit beyond"
-
-	para "CHERRYGROVE, the"
-	line "next city over."
-
-	para "It's almost a"
-	line "direct route"
-
-	para "there, so you"
-	line "can't miss it."
-
-	para "But just in case,"
-	line "here's my phone"
-
-	para "number. Call me if"
-	line "anything comes up!"
-	done
-
-ElmDirectionsText2:
-	text "If your #MON is"
-	line "hurt, you should"
-
-	para "heal it with this"
-	line "machine."
-
-	para "Feel free to use"
-	line "it anytime."
-	done
-
-ElmDirectionsText3:
-	text "<PLAY_G>, I'm"
-	line "counting on you!"
-	done
-
-GotElmsNumberText:
-	text "<PLAYER> got ELM's"
-	line "phone number."
-	done
-
-ElmDescribesMrPokemonText:
-	text "MR.#MON goes"
-	line "everywhere and"
-	cont "finds rarities."
-
-	para "Too bad they're"
-	line "just rare and"
-	cont "not very useful…"
-	done
-
-ElmPokeBallText:
-	text "It contains a"
-	line "#MON caught by"
-	cont "PROF.ELM."
-	done
-
-ElmsLabHealingMachineText1:
-	text "I wonder what this"
-	line "does?"
-	done
-
-ElmsLabHealingMachineText2:
-	text "Would you like to"
-	line "heal your #MON?"
-	done
-
-ElmAfterTheftText1:
-	text "ELM: <PLAY_G>, this"
-	line "is terrible…"
-
-	para "Oh, yes, what was"
-	line "MR.#MON's big"
-	cont "discovery?"
-	done
-
-ElmAfterTheftText2:
-	text "<PLAYER> handed"
-	line "the MYSTERY EGG to"
-	cont "PROF.ELM."
-	done
-
-ElmAfterTheftText3:
-	text "ELM: This?"
-	done
-
-ElmAfterTheftText4:
-	text "But… Is it a"
-	line "#MON EGG?"
-
-	para "If it is, it is a"
-	line "great discovery!"
-	done
-
-ElmAfterTheftText5:
-	text "ELM: What?!?"
-
-	para "PROF.OAK gave you"
-	line "a #DEX?"
-
-	para "<PLAY_G>, is that"
-	line "true? Th-that's"
-	cont "incredible!"
-
-	para "He is superb at"
-	line "seeing the poten-"
-	cont "tial of people as"
-	cont "trainers."
-
-	para "Wow, <PLAY_G>. You"
-	line "may have what it"
-
-	para "takes to become"
-	line "the CHAMPION."
-
-	para "You seem to be"
-	line "getting on great"
-	cont "with #MON too."
-
-	para "You should take"
-	line "the #MON GYM"
-	cont "challenge."
-
-	para "The closest GYM"
-	line "would be the one"
-	cont "in VIOLET CITY."
-	done
-
-ElmAfterTheftText6:
-	text "…<PLAY_G>. The"
-	line "road to the"
-
-	para "championship will"
-	line "be a long one."
-
-	para "Before you leave,"
-	line "make sure that you"
-	cont "talk to your mom."
-	done
-
-ElmStudyingEggText:
-	text "ELM: Don't give"
-	line "up! I'll call if"
-
-	para "I learn anything"
-	line "about that EGG!"
-	done
-
-ElmAideHasEggText:
-	text "ELM: <PLAY_G>?"
-	line "Didn't you meet my"
-	cont "assistant?"
-
-	para "He should have met"
-	line "you with the EGG"
-
-	para "at VIOLET CITY's"
-	line "#MON CENTER."
-
-	para "You must have just"
-	line "missed him. Try to"
-	cont "catch him there."
-	done
-
-ElmWaitingEggHatchText:
-	text "ELM: Hey, has that"
-	line "EGG changed any?"
-	done
-
-UnknownText_0x79a40:
-	text "<PLAY_G>? I thought"
-	line "the EGG hatched."
-
-	para "Where is the"
-	line "#MON?"
-	done
-
-ShowElmTogepiText1:
-	text "ELM: <PLAY_G>, you"
-	line "look great!"
-	done
-
-ShowElmTogepiText2:
-	text "What?"
-	line "That #MON!?!"
-	done
-
-ShowElmTogepiText3:
-	text "The EGG hatched!"
-	line "So, #MON are"
-	cont "born from EGGS…"
-
-	para "No, perhaps not"
-	line "all #MON are."
-
-	para "Wow, there's still"
-	line "a lot of research"
-	cont "to be done."
-	done
-
-ElmGiveEverstoneText1:
-	text "Thanks, <PLAY_G>!"
-	line "You're helping"
-
-	para "unravel #MON"
-	line "mysteries for us!"
-
-	para "I want you to have"
-	line "this as a token of"
-	cont "our appreciation."
-	done
-
-ElmGiveEverstoneText2:
-	text "That's an"
-	line "EVERSTONE."
-
-	para "Some species of"
-	line "#MON evolve"
-
-	para "when they grow to"
-	line "certain levels."
-
-	para "A #MON holding"
-	line "the EVERSTONE"
-	cont "won't evolve."
-
-	para "Give it to a #-"
-	line "MON you don't want"
-	cont "to evolve."
-	done
-
-ElmText_CallYou:
-	text "ELM: <PLAY_G>, I'll"
-	line "call you if any-"
-	cont "thing comes up."
-	done
-
-AideText_AfterTheft:
-	text "…sigh… That"
-	line "stolen #MON."
-
-	para "I wonder how it's"
-	line "doing."
-
-	para "They say a #MON"
-	line "raised by a bad"
-
-	para "person turns bad"
-	line "itself."
-	done
-
-ElmGiveMasterBallText1:
-	text "ELM: Hi, <PLAY_G>!"
-	line "Thanks to you, my"
-
-	para "research is going"
-	line "great!"
-
-	para "Take this as a"
-	line "token of my"
-	cont "appreciation."
-	done
-
-ElmGiveMasterBallText2:
-	text "The MASTER BALL is"
-	line "the best!"
-
-	para "It's the ultimate"
-	line "BALL! It'll catch"
-
-	para "any #MON with-"
-	line "out fail."
-
-	para "It's given only to"
-	line "recognized #MON"
-	cont "researchers."
-
-	para "I think you can"
-	line "make much better"
-
-	para "use of it than I"
-	line "can, <PLAY_G>!"
-	done
-
-ElmGiveTicketText1:
-	text "ELM: <PLAY_G>!"
-	line "There you are!"
-
-	para "I called because I"
-	line "have something for"
-	cont "you."
-
-	para "See? It's an"
-	line "S.S.TICKET."
-
-	para "Now you can catch"
-	line "#MON in KANTO."
-	done
-
-ElmGiveTicketText2:
-	text "The ship departs"
-	line "from OLIVINE CITY."
-
-	para "But you knew that"
-	line "already, <PLAY_G>."
-
-	para "After all, you've"
-	line "traveled all over"
-	cont "with your #MON."
-
-	para "Give my regards to"
-	line "PROF.OAK in KANTO!"
-	done
-
-ElmsLabSignpostText_Egg:
-	text "It's the #MON"
-	line "EGG being studied"
-	cont "by PROF.ELM."
-	done
-
-AideText_GiveYouPotions:
-	text "<PLAY_G>, I want"
-	line "you to have this"
-	cont "for your errand."
-	done
-
-AideText_AlwaysBusy:
-	text "There are only two"
-	line "of us, so we're"
-	cont "always busy."
-	done
-
-AideText_TheftTestimony:
-	text "There was a loud"
-	line "noise outside…"
-
-	para "When we went to"
-	line "look, someone"
-	cont "stole a #MON."
-
-	para "It's unbelievable"
-	line "that anyone would"
-	cont "do that!"
-
-	para "…sigh… That"
-	line "stolen #MON."
-
-	para "I wonder how it's"
-	line "doing."
-
-	para "They say a #MON"
-	line "raised by a bad"
-
-	para "person turns bad"
-	line "itself."
-	done
-
-AideText_GiveYouBalls:
-	text "<PLAY_G>!"
-
-	para "Use these on your"
-	line "#DEX quest!"
-	done
-
-AideText_ExplainBalls:
-	text "To add to your"
-	line "#DEX, you have"
-	cont "to catch #MON."
-
-	para "Throw # BALLS"
-	line "at wild #MON"
-	cont "to get them."
-	done
-
-ElmsLabOfficerText1:
-	text "I heard a #MON"
-	line "was stolen here…"
-
-	para "I was just getting"
-	line "some information"
-	cont "from PROF.ELM."
-
-	para "Apparently, it was"
-	line "a young male with"
-	cont "long, red hair…"
-
-	para "What?"
-
-	para "You battled a"
-	line "trainer like that?"
-
-	para "Did you happen to"
-	line "get his name?"
-	done
-
-ElmsLabOfficerText2:
-	text "OK! So <RIVAL>"
-	line "was his name."
-
-	para "Thanks for helping"
-	line "my investigation!"
-	done
-
-ElmsLabWindowText1:
-	text "The window's open."
-
-	para "A pleasant breeze"
-	line "is blowing in."
-	done
-
-ElmsLabWindowText2:
-	text "He broke in"
-	line "through here!"
-	done
-
-ElmsLabTravelTip1Text:
-	text "<PLAYER> opened a"
-	line "book."
-
-	para "Travel Tip 1:"
-
-	para "Press START to"
-	line "open the MENU."
-	done
-
-ElmsLabTravelTip2Text:
-	text "<PLAYER> opened a"
-	line "book."
-
-	para "Travel Tip 2:"
-
-	para "Record your trip"
-	line "with SAVE!"
-	done
-
-ElmsLabTravelTip3Text:
-	text "<PLAYER> opened a"
-	line "book."
-
-	para "Travel Tip 3:"
-
-	para "Open your PACK and"
-	line "press SELECT to"
-	cont "move items."
-	done
-
-ElmsLabTravelTip4Text:
-	text "<PLAYER> opened a"
-	line "book."
-
-	para "Travel Tip 4:"
-
-	para "Check your #MON"
-	line "moves. Press the"
-
-	para "A Button to switch"
-	line "moves."
-	done
-
-ElmsLabTrashcanText:
-	text "The wrapper from"
-	line "the snack PROF.ELM"
-	cont "ate is in there…"
-	done
-
-ElmsLabPCText:
-	text "OBSERVATIONS ON"
-	line "#MON EVOLUTION"
-
-	para "…It says on the"
-	line "screen…"
-	done
-
-ElmsLab_MapEventHeader:
-	; filler
-	db 0, 0
-
-.Warps:
-	db 2
-	warp_def $b, $4, 1, NEW_BARK_TOWN
-	warp_def $b, $5, 1, NEW_BARK_TOWN
-
-.XYTriggers:
-	db 8
-	xy_trigger 1, $6, $4, $0, LabTryToLeaveScript, $0, $0
-	xy_trigger 1, $6, $5, $0, LabTryToLeaveScript, $0, $0
-	xy_trigger 3, $5, $4, $0, MeetCopScript, $0, $0
-	xy_trigger 3, $5, $5, $0, MeetCopScript2, $0, $0
-	xy_trigger 5, $8, $4, $0, AideScript_WalkPotions1, $0, $0
-	xy_trigger 5, $8, $5, $0, AideScript_WalkPotions2, $0, $0
-	xy_trigger 6, $8, $4, $0, AideScript_WalkBalls1, $0, $0
-	xy_trigger 6, $8, $5, $0, AideScript_WalkBalls2, $0, $0
-
-.Signposts:
-	db 16
-	signpost 1, 2, SIGNPOST_READ, ElmsLabHealingMachine
-	signpost 1, 6, SIGNPOST_READ, ElmsLabBookshelf
-	signpost 1, 7, SIGNPOST_READ, ElmsLabBookshelf
-	signpost 1, 8, SIGNPOST_READ, ElmsLabBookshelf
-	signpost 1, 9, SIGNPOST_READ, ElmsLabBookshelf
-	signpost 7, 0, SIGNPOST_READ, ElmsLabTravelTip1
-	signpost 7, 1, SIGNPOST_READ, ElmsLabTravelTip2
-	signpost 7, 2, SIGNPOST_READ, ElmsLabTravelTip3
-	signpost 7, 3, SIGNPOST_READ, ElmsLabTravelTip4
-	signpost 7, 6, SIGNPOST_READ, ElmsLabBookshelf
-	signpost 7, 7, SIGNPOST_READ, ElmsLabBookshelf
-	signpost 7, 8, SIGNPOST_READ, ElmsLabBookshelf
-	signpost 7, 9, SIGNPOST_READ, ElmsLabBookshelf
-	signpost 3, 9, SIGNPOST_READ, ElmsLabTrashcan
-	signpost 0, 5, SIGNPOST_READ, ElmsLabWindow
-	signpost 5, 3, SIGNPOST_DOWN, ElmsLabPC
-
-.PersonEvents:
-	db 6
-	person_event SPRITE_ELM, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ProfElmScript, -1
-	person_event SPRITE_SCIENTIST, 9, 2, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, ElmsAideScript, EVENT_ELMS_AIDE_IN_LAB
-	person_event SPRITE_POKE_BALL, 3, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CyndaquilPokeBallScript, EVENT_CYNDAQUIL_POKEBALL_IN_ELMS_LAB
-	person_event SPRITE_POKE_BALL, 3, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TotodilePokeBallScript, EVENT_TOTODILE_POKEBALL_IN_ELMS_LAB
-	person_event SPRITE_POKE_BALL, 3, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ChikoritaPokeBallScript, EVENT_CHIKORITA_POKEBALL_IN_ELMS_LAB
-	person_event SPRITE_OFFICER, 3, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, CopScript, EVENT_COP_IN_ELMS_LAB
+const_value set 2
+	const ELMSLAB_ELM
+	const ELMSLAB_SCIENTIST
+	const ELMSLAB_POKE_BALL1
+	const ELMSLAB_POKE_BALL2
+	const ELMSLAB_POKE_BALL3
+	const ELMSLAB_OFFICER
+
+ElmsLab_MapScriptHeader:
+.MapTriggers:
+	db 6
+
+	; triggers
+	dw .Trigger0, 0
+	dw .Trigger1, 0
+	dw .Trigger2, 0
+	dw .Trigger3, 0
+	dw .Trigger4, 0
+	dw .Trigger5, 0
+
+.MapCallbacks:
+	db 1
+
+	; callbacks
+
+	dbw 2, .Callback_MoveElm
+
+.Trigger0:
+	priorityjump ElmsLab_AutowalkUpToElm
+	end
+
+.Trigger1:
+	end
+
+.Trigger2:
+	end
+
+.Trigger3:
+	end
+
+.Trigger4:
+	end
+
+.Trigger5:
+	end
+
+.Callback_MoveElm:
+	checktriggers
+	iftrue .Skip
+	moveperson ELMSLAB_ELM, $3, $4
+.Skip:
+	return
+
+ElmsLab_AutowalkUpToElm:
+	applymovement PLAYER, ElmsLab_WalkUpToElmMovement
+	showemote EMOTE_SHOCK, ELMSLAB_ELM, 15
+	spriteface ELMSLAB_ELM, RIGHT
+	loadfont
+	writetext ElmText_Intro
+ElmsLab_RefuseLoop:
+	yesorno
+	iftrue ElmsLab_ElmGetsEmail
+	writetext ElmText_Refused
+	jump ElmsLab_RefuseLoop
+
+ElmsLab_ElmGetsEmail:
+	writetext ElmText_Accepted
+	buttonsound
+	writetext ElmText_ResearchAmbitions
+	waitbutton
+	closetext
+	playsound SFX_GLASS_TING
+	pause 30
+	showemote EMOTE_SHOCK, ELMSLAB_ELM, 10
+	spriteface ELMSLAB_ELM, DOWN
+	loadfont
+	writetext ElmText_GotAnEmail
+	waitbutton
+	closetext
+	loadfont
+	spriteface ELMSLAB_ELM, RIGHT
+	writetext ElmText_MissionFromMrPokemon
+	waitbutton
+	closetext
+	applymovement ELMSLAB_ELM, ElmsLab_ElmToDefaultPositionMovement1
+	spriteface PLAYER, UP
+	applymovement ELMSLAB_ELM, ElmsLab_ElmToDefaultPositionMovement2
+	spriteface PLAYER, RIGHT
+	loadfont
+	writetext ElmText_ChooseAPokemon
+	waitbutton
+	dotrigger $1
+	closetext
+	end
+
+ProfElmScript:
+	faceplayer
+	loadfont
+	checkevent EVENT_GOT_SS_TICKET_FROM_ELM
+	iftrue ElmCheckMasterBall
+	checkevent EVENT_BEAT_ELITE_FOUR
+	iftrue ElmGiveTicketScript
+ElmCheckMasterBall:
+	checkevent EVENT_GOT_MASTER_BALL_FROM_ELM
+	iftrue ElmCheckEverstone
+	checkflag ENGINE_RISINGBADGE
+	iftrue ElmGiveMasterBallScript
+ElmCheckEverstone:
+	checkevent EVENT_GOT_EVERSTONE_FROM_ELM
+	iftrue ElmScript_CallYou
+	checkevent EVENT_SHOWED_TOGEPI_TO_ELM
+	iftrue ElmGiveEverstoneScript
+	checkevent EVENT_TOLD_ELM_ABOUT_TOGEPI_OVER_THE_PHONE
+	iffalse ElmCheckTogepiEgg
+	writebyte TOGEPI
+	special Special_FindThatSpeciesYourTrainerID
+	iftrue ShowElmTogepiScript
+	writebyte TOGETIC
+	special Special_FindThatSpeciesYourTrainerID
+	iftrue ShowElmTogepiScript
+	writetext UnknownText_0x79a40
+	waitbutton
+	closetext
+	end
+
+ElmEggHatchedScript:
+	writebyte TOGEPI
+	special Special_FindThatSpeciesYourTrainerID
+	iftrue ShowElmTogepiScript
+	writebyte TOGETIC
+	special Special_FindThatSpeciesYourTrainerID
+	iftrue ShowElmTogepiScript
+	jump ElmCheckGotEggAgain
+
+ElmCheckTogepiEgg:
+	checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE
+	iffalse ElmCheckGotEggAgain
+	checkevent EVENT_TOGEPI_HATCHED
+	iftrue ElmEggHatchedScript
+ElmCheckGotEggAgain:
+	checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE ; why are we checking it again?
+	iftrue ElmWaitingEggHatchScript
+	checkflag ENGINE_ZEPHYRBADGE
+	iftrue ElmAideHasEggScript
+	checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
+	iftrue ElmStudyingEggScript
+	checkevent EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON
+	iftrue ElmAfterTheftScript
+	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
+	iftrue ElmDescribesMrPokemonScript
+	writetext ElmText_LetYourMonBattleIt
+	waitbutton
+	closetext
+	end
+
+LabTryToLeaveScript:
+	spriteface ELMSLAB_ELM, DOWN
+	loadfont
+	writetext LabWhereGoingText
+	waitbutton
+	closetext
+	applymovement PLAYER, MovementData_0x78f70
+	end
+
+CyndaquilPokeBallScript:
+	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
+	iftrue LookAtElmPokeBallScript
+	spriteface ELMSLAB_ELM, DOWN
+	refreshscreen $0
+	pokepic CYNDAQUIL
+	cry CYNDAQUIL
+	waitbutton
+	closepokepic
+	loadfont
+	writetext TakeCyndaquilText
+	yesorno
+	iffalse DidntChooseStarterScript
+	disappear ELMSLAB_POKE_BALL1
+	setevent EVENT_GOT_CYNDAQUIL_FROM_ELM
+	writetext ChoseStarterText
+	buttonsound
+	waitsfx
+	pokenamemem CYNDAQUIL, $0
+	writetext ReceivedStarterText
+	playsound SFX_CAUGHT_MON
+	waitsfx
+	buttonsound
+	givepoke CYNDAQUIL, 5, BERRY
+	closetext
+	checkcode VAR_FACING
+	if_equal RIGHT, ElmDirectionsScript
+	applymovement PLAYER, AfterCyndaquilMovement
+	jump ElmDirectionsScript
+
+TotodilePokeBallScript:
+	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
+	iftrue LookAtElmPokeBallScript
+	spriteface ELMSLAB_ELM, DOWN
+	refreshscreen $0
+	pokepic TOTODILE
+	cry TOTODILE
+	waitbutton
+	closepokepic
+	loadfont
+	writetext TakeTotodileText
+	yesorno
+	iffalse DidntChooseStarterScript
+	disappear ELMSLAB_POKE_BALL2
+	setevent EVENT_GOT_TOTODILE_FROM_ELM
+	writetext ChoseStarterText
+	buttonsound
+	waitsfx
+	pokenamemem TOTODILE, $0
+	writetext ReceivedStarterText
+	playsound SFX_CAUGHT_MON
+	waitsfx
+	buttonsound
+	givepoke TOTODILE, 5, BERRY
+	closetext
+	applymovement PLAYER, AfterTotodileMovement
+	jump ElmDirectionsScript
+
+ChikoritaPokeBallScript:
+	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
+	iftrue LookAtElmPokeBallScript
+	spriteface ELMSLAB_ELM, DOWN
+	refreshscreen $0
+	pokepic CHIKORITA
+	cry CHIKORITA
+	waitbutton
+	closepokepic
+	loadfont
+	writetext TakeChikoritaText
+	yesorno
+	iffalse DidntChooseStarterScript
+	disappear ELMSLAB_POKE_BALL3
+	setevent EVENT_GOT_CHIKORITA_FROM_ELM
+	writetext ChoseStarterText
+	buttonsound
+	waitsfx
+	pokenamemem CHIKORITA, $0
+	writetext ReceivedStarterText
+	playsound SFX_CAUGHT_MON
+	waitsfx
+	buttonsound
+	givepoke CHIKORITA, 5, BERRY
+	closetext
+	applymovement PLAYER, AfterChikoritaMovement
+	jump ElmDirectionsScript
+
+DidntChooseStarterScript:
+	writetext DidntChooseStarterText
+	waitbutton
+	closetext
+	end
+
+ElmDirectionsScript:
+	spriteface PLAYER, UP
+	loadfont
+	writetext ElmDirectionsText1
+	waitbutton
+	closetext
+	addcellnum PHONE_ELM
+	loadfont
+	writetext GotElmsNumberText
+	playsound SFX_REGISTER_PHONE_NUMBER
+	waitsfx
+	waitbutton
+	closetext
+	spriteface ELMSLAB_ELM, LEFT
+	loadfont
+	writetext ElmDirectionsText2
+	waitbutton
+	closetext
+	spriteface ELMSLAB_ELM, DOWN
+	loadfont
+	writetext ElmDirectionsText3
+	waitbutton
+	closetext
+	setevent EVENT_GOT_A_POKEMON_FROM_ELM
+	setevent EVENT_RIVAL_CHERRYGROVE_CITY
+	dotrigger $5
+	domaptrigger NEW_BARK_TOWN, $1
+	end
+
+ElmDescribesMrPokemonScript:
+	writetext ElmDescribesMrPokemonText
+	waitbutton
+	closetext
+	end
+
+LookAtElmPokeBallScript:
+	loadfont
+	writetext ElmPokeBallText
+	waitbutton
+	closetext
+	end
+
+ElmsLabHealingMachine:
+	loadfont
+	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
+	iftrue .CanHeal
+	writetext ElmsLabHealingMachineText1
+	waitbutton
+	closetext
+	end
+
+.CanHeal
+	writetext ElmsLabHealingMachineText2
+	yesorno
+	iftrue ElmsLabHealingMachine_HealParty
+	closetext
+	end
+
+ElmsLabHealingMachine_HealParty:
+	special Mobile_HealParty
+	special HealParty
+	playmusic MUSIC_NONE
+	writebyte 1 ; Machine is in Elm's Lab
+	special HealMachineAnim
+	pause 30
+	special RestartMapMusic
+	closetext
+	end
+
+ElmAfterTheftDoneScript:
+	waitbutton
+	closetext
+	end
+
+ElmAfterTheftScript:
+	writetext ElmAfterTheftText1
+	checkitem MYSTERY_EGG
+	iffalse ElmAfterTheftDoneScript
+	buttonsound
+	writetext ElmAfterTheftText2
+	waitbutton
+	takeitem MYSTERY_EGG
+	scall ElmJumpBackScript1
+	writetext ElmAfterTheftText3
+	waitbutton
+	scall ElmJumpBackScript2
+	writetext ElmAfterTheftText4
+	buttonsound
+	writetext ElmAfterTheftText5
+	buttonsound
+	setevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
+	setflag ENGINE_BUG_CONTEST_ON
+	domaptrigger ROUTE_29, $1
+	clearevent EVENT_ROUTE_30_YOUNGSTER_JOEY
+	setevent EVENT_ROUTE_30_BATTLE
+	writetext ElmAfterTheftText6
+	waitbutton
+	closetext
+	dotrigger $6
+	end
+
+ElmStudyingEggScript:
+	writetext ElmStudyingEggText
+	waitbutton
+	closetext
+	end
+
+ElmAideHasEggScript:
+	writetext ElmAideHasEggText
+	waitbutton
+	closetext
+	end
+
+ElmWaitingEggHatchScript:
+	writetext ElmWaitingEggHatchText
+	waitbutton
+	closetext
+	end
+
+ShowElmTogepiScript:
+	writetext ShowElmTogepiText1
+	waitbutton
+	closetext
+	showemote EMOTE_SHOCK, ELMSLAB_ELM, 15
+	setevent EVENT_SHOWED_TOGEPI_TO_ELM
+	loadfont
+	writetext ShowElmTogepiText2
+	buttonsound
+	writetext ShowElmTogepiText3
+	buttonsound
+ElmGiveEverstoneScript:
+	writetext ElmGiveEverstoneText1
+	buttonsound
+	verbosegiveitem EVERSTONE
+	iffalse ElmScript_NoRoomForEverstone
+	writetext ElmGiveEverstoneText2
+	waitbutton
+	closetext
+	setevent EVENT_GOT_EVERSTONE_FROM_ELM
+	end
+
+ElmScript_CallYou:
+	writetext ElmText_CallYou
+	waitbutton
+ElmScript_NoRoomForEverstone:
+	closetext
+	end
+
+ElmGiveMasterBallScript:
+	writetext ElmGiveMasterBallText1
+	buttonsound
+	verbosegiveitem MASTER_BALL
+	iffalse .notdone
+	setevent EVENT_GOT_MASTER_BALL_FROM_ELM
+	writetext ElmGiveMasterBallText2
+	waitbutton
+.notdone
+	closetext
+	end
+
+ElmGiveTicketScript:
+	writetext ElmGiveTicketText1
+	buttonsound
+	verbosegiveitem S_S_TICKET
+	setevent EVENT_GOT_SS_TICKET_FROM_ELM
+	writetext ElmGiveTicketText2
+	waitbutton
+	closetext
+	end
+
+ElmJumpBackScript1:
+	closetext
+	checkcode VAR_FACING
+	if_equal DOWN, ElmJumpDownScript
+	if_equal UP, ElmJumpUpScript
+	if_equal LEFT, ElmJumpLeftScript
+	if_equal RIGHT, ElmJumpRightScript
+	end
+
+ElmJumpBackScript2:
+	closetext
+	checkcode VAR_FACING
+	if_equal DOWN, ElmJumpUpScript
+	if_equal UP, ElmJumpDownScript
+	if_equal LEFT, ElmJumpRightScript
+	if_equal RIGHT, ElmJumpLeftScript
+	end
+
+ElmJumpUpScript:
+	applymovement ELMSLAB_ELM, ElmJumpUpMovement
+	loadfont
+	end
+
+ElmJumpDownScript:
+	applymovement ELMSLAB_ELM, ElmJumpDownMovement
+	loadfont
+	end
+
+ElmJumpLeftScript:
+	applymovement ELMSLAB_ELM, ElmJumpLeftMovement
+	loadfont
+	end
+
+ElmJumpRightScript:
+	applymovement ELMSLAB_ELM, ElmJumpRightMovement
+	loadfont
+	end
+
+AideScript_WalkPotions1:
+	applymovement ELMSLAB_SCIENTIST, AideWalksRight1
+	spriteface PLAYER, DOWN
+	scall AideScript_GivePotions
+	applymovement ELMSLAB_SCIENTIST, AideWalksLeft1
+	end
+
+AideScript_WalkPotions2:
+	applymovement ELMSLAB_SCIENTIST, AideWalksRight2
+	spriteface PLAYER, DOWN
+	scall AideScript_GivePotions
+	applymovement ELMSLAB_SCIENTIST, AideWalksLeft2
+	end
+
+AideScript_GivePotions:
+	loadfont
+	writetext AideText_GiveYouPotions
+	buttonsound
+	verbosegiveitem POTION
+	writetext AideText_AlwaysBusy
+	waitbutton
+	closetext
+	dotrigger $2
+	end
+
+AideScript_WalkBalls1:
+	applymovement ELMSLAB_SCIENTIST, AideWalksRight1
+	spriteface PLAYER, DOWN
+	scall AideScript_GiveYouBalls
+	applymovement ELMSLAB_SCIENTIST, AideWalksLeft1
+	end
+
+AideScript_WalkBalls2:
+	applymovement ELMSLAB_SCIENTIST, AideWalksRight2
+	spriteface PLAYER, DOWN
+	scall AideScript_GiveYouBalls
+	applymovement ELMSLAB_SCIENTIST, AideWalksLeft2
+	end
+
+AideScript_GiveYouBalls:
+	loadfont
+	writetext AideText_GiveYouBalls
+	buttonsound
+	itemtotext POKE_BALL, $1
+	scall AideScript_ReceiveTheBalls
+	giveitem POKE_BALL, 5
+	writetext AideText_ExplainBalls
+	buttonsound
+	itemnotify
+	closetext
+	dotrigger $2
+	end
+
+AideScript_ReceiveTheBalls:
+	jumpstd receiveitem
+	end
+
+ElmsAideScript:
+	faceplayer
+	loadfont
+	checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE
+	iftrue AideScript_AfterTheft
+	checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
+	iftrue AideScript_ExplainBalls
+	checkevent EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON
+	iftrue AideScript_TheftTestimony
+	writetext AideText_AlwaysBusy
+	waitbutton
+	closetext
+	end
+
+AideScript_TheftTestimony:
+	writetext AideText_TheftTestimony
+	waitbutton
+	closetext
+	end
+
+AideScript_ExplainBalls:
+	writetext AideText_ExplainBalls
+	waitbutton
+	closetext
+	end
+
+AideScript_AfterTheft:
+	writetext AideText_AfterTheft
+	waitbutton
+	closetext
+	end
+
+MeetCopScript2:
+	applymovement PLAYER, MeetCopScript2_StepLeft
+
+MeetCopScript:
+	applymovement PLAYER, MeetCopScript_WalkUp
+CopScript:
+	spriteface ELMSLAB_OFFICER, LEFT
+	loadfont
+	writetext ElmsLabOfficerText1
+	buttonsound
+	special SpecialNameRival
+	writetext ElmsLabOfficerText2
+	waitbutton
+	closetext
+	applymovement ELMSLAB_OFFICER, OfficerLeavesMovement
+	disappear ELMSLAB_OFFICER
+	dotrigger $2
+	end
+
+ElmsLabWindow:
+	loadfont
+	checkflag ENGINE_FLYPOINT_VIOLET
+	iftrue .Normal
+	checkevent EVENT_ELM_CALLED_ABOUT_STOLEN_POKEMON
+	iftrue .BreakIn
+	jump .Normal
+
+.BreakIn
+	writetext ElmsLabWindowText2
+	waitbutton
+	closetext
+	end
+
+.Normal
+	writetext ElmsLabWindowText1
+	waitbutton
+	closetext
+	end
+
+ElmsLabTravelTip1:
+	jumptext ElmsLabTravelTip1Text
+
+ElmsLabTravelTip2:
+	jumptext ElmsLabTravelTip2Text
+
+ElmsLabTravelTip3:
+	jumptext ElmsLabTravelTip3Text
+
+ElmsLabTravelTip4:
+	jumptext ElmsLabTravelTip4Text
+
+ElmsLabTrashcan:
+	jumptext ElmsLabTrashcanText
+
+ElmsLabPC:
+	jumptext ElmsLabPCText
+
+ElmsLabTrashcan2:
+; unused
+	jumpstd trashcan
+
+ElmsLabBookshelf:
+	jumpstd difficultbookshelf
+
+ElmsLab_WalkUpToElmMovement:
+	step_up
+	step_up
+	step_up
+	step_up
+	step_up
+	step_up
+	step_up
+	turn_head_left
+	step_end
+
+MovementData_0x78f70:
+	step_up
+	step_end
+
+MeetCopScript2_StepLeft:
+	step_left
+	step_end
+
+MeetCopScript_WalkUp:
+	step_up
+	step_up
+	turn_head_right
+	step_end
+
+OfficerLeavesMovement:
+	step_down
+	step_down
+	step_down
+	step_down
+	step_down
+	step_end
+
+AideWalksRight1:
+	step_right
+	step_right
+	turn_head_up
+	step_end
+
+AideWalksRight2:
+	step_right
+	step_right
+	step_right
+	turn_head_up
+	step_end
+
+AideWalksLeft1:
+	step_left
+	step_left
+	turn_head_down
+	step_end
+
+AideWalksLeft2:
+	step_left
+	step_left
+	step_left
+	turn_head_down
+	step_end
+
+ElmJumpUpMovement:
+	fix_facing
+	big_step_up
+	remove_fixed_facing
+	step_end
+
+ElmJumpDownMovement:
+	fix_facing
+	big_step_down
+	remove_fixed_facing
+	step_end
+
+ElmJumpLeftMovement:
+	fix_facing
+	big_step_left
+	remove_fixed_facing
+	step_end
+
+ElmJumpRightMovement:
+	fix_facing
+	big_step_right
+	remove_fixed_facing
+	step_end
+
+ElmsLab_ElmToDefaultPositionMovement1:
+	step_up
+	step_end
+
+ElmsLab_ElmToDefaultPositionMovement2:
+	step_right
+	step_right
+	step_up
+	turn_head_down
+	step_end
+
+AfterCyndaquilMovement:
+	step_left
+	step_up
+	turn_head_up
+	step_end
+
+AfterTotodileMovement:
+	step_left
+	step_left
+	step_up
+	turn_head_up
+	step_end
+
+AfterChikoritaMovement:
+	step_left
+	step_left
+	step_left
+	step_up
+	turn_head_up
+	step_end
+
+ElmText_Intro:
+	text "ELM: <PLAY_G>!"
+	line "There you are!"
+
+	para "I needed to ask"
+	line "you a favor."
+
+	para "I'm conducting new"
+	line "#MON research"
+
+	para "right now. I was"
+	line "wondering if you"
+
+	para "could help me with"
+	line "it, <PLAY_G>."
+
+	para "You see…"
+
+	para "I'm writing a"
+	line "paper that I want"
+
+	para "to present at a"
+	line "conference."
+
+	para "But there are some"
+	line "things I don't"
+
+	para "quite understand"
+	line "yet."
+
+	para "So!"
+
+	para "I'd like you to"
+	line "raise a #MON"
+
+	para "that I recently"
+	line "caught."
+	done
+
+ElmText_Accepted:
+	text "Thanks, <PLAY_G>!"
+
+	para "You're a great"
+	line "help!"
+	done
+
+ElmText_Refused:
+	text "But… Please, I"
+	line "need your help!"
+	done
+
+ElmText_ResearchAmbitions:
+	text "When I announce my"
+	line "findings, I'm sure"
+
+	para "we'll delve a bit"
+	line "deeper into the"
+
+	para "many mysteries of"
+	line "#MON."
+
+	para "You can count on"
+	line "it!"
+	done
+
+ElmText_GotAnEmail:
+	text "Oh, hey! I got an"
+	line "e-mail!"
+
+	para $56, $56, $56
+	line "Hm… Uh-huh…"
+
+	para "Okay…"
+	done
+
+ElmText_MissionFromMrPokemon:
+	text "Hey, listen."
+
+	para "I have an acquain-"
+	line "tance called MR."
+	cont "#MON."
+
+	para "He keeps finding"
+	line "weird things and"
+
+	para "raving about his"
+	line "discoveries."
+
+	para "Anyway, I just got"
+	line "an e-mail from him"
+
+	para "saying that this"
+	line "time it's real."
+
+	para "It is intriguing,"
+	line "but we're busy"
+
+	para "with our #MON"
+	line "research…"
+
+	para "Wait!"
+
+	para "I know!"
+
+	para "<PLAY_G>, can you"
+	line "go in our place?"
+	done
+
+ElmText_ChooseAPokemon:
+	text "I want you to"
+	line "raise one of the"
+
+	para "#MON contained"
+	line "in these BALLS."
+
+	para "You'll be that"
+	line "#MON's first"
+	cont "partner, <PLAY_G>!"
+
+	para "Go on. Pick one!"
+	done
+
+ElmText_LetYourMonBattleIt:
+	text "If a wild #MON"
+	line "appears, let your"
+	cont "#MON battle it!"
+	done
+
+LabWhereGoingText:
+	text "ELM: Wait! Where"
+	line "are you going?"
+	done
+
+TakeCyndaquilText:
+	text "ELM: You'll take"
+	line "CYNDAQUIL, the"
+	cont "fire #MON?"
+	done
+
+TakeTotodileText:
+	text "ELM: Do you want"
+	line "TOTODILE, the"
+	cont "water #MON?"
+	done
+
+TakeChikoritaText:
+	text "ELM: So, you like"
+	line "CHIKORITA, the"
+	cont "grass #MON?"
+	done
+
+DidntChooseStarterText:
+	text "ELM: Think it over"
+	line "carefully."
+
+	para "Your partner is"
+	line "important."
+	done
+
+ChoseStarterText:
+	text "ELM: I think"
+	line "that's a great"
+	cont "#MON too!"
+	done
+
+ReceivedStarterText:
+	text "<PLAYER> received"
+	line "@"
+	text_from_ram StringBuffer3
+	text "!"
+	done
+
+ElmDirectionsText1:
+	text "MR.#MON lives a"
+	line "little bit beyond"
+
+	para "CHERRYGROVE, the"
+	line "next city over."
+
+	para "It's almost a"
+	line "direct route"
+
+	para "there, so you"
+	line "can't miss it."
+
+	para "But just in case,"
+	line "here's my phone"
+
+	para "number. Call me if"
+	line "anything comes up!"
+	done
+
+ElmDirectionsText2:
+	text "If your #MON is"
+	line "hurt, you should"
+
+	para "heal it with this"
+	line "machine."
+
+	para "Feel free to use"
+	line "it anytime."
+	done
+
+ElmDirectionsText3:
+	text "<PLAY_G>, I'm"
+	line "counting on you!"
+	done
+
+GotElmsNumberText:
+	text "<PLAYER> got ELM's"
+	line "phone number."
+	done
+
+ElmDescribesMrPokemonText:
+	text "MR.#MON goes"
+	line "everywhere and"
+	cont "finds rarities."
+
+	para "Too bad they're"
+	line "just rare and"
+	cont "not very useful…"
+	done
+
+ElmPokeBallText:
+	text "It contains a"
+	line "#MON caught by"
+	cont "PROF.ELM."
+	done
+
+ElmsLabHealingMachineText1:
+	text "I wonder what this"
+	line "does?"
+	done
+
+ElmsLabHealingMachineText2:
+	text "Would you like to"
+	line "heal your #MON?"
+	done
+
+ElmAfterTheftText1:
+	text "ELM: <PLAY_G>, this"
+	line "is terrible…"
+
+	para "Oh, yes, what was"
+	line "MR.#MON's big"
+	cont "discovery?"
+	done
+
+ElmAfterTheftText2:
+	text "<PLAYER> handed"
+	line "the MYSTERY EGG to"
+	cont "PROF.ELM."
+	done
+
+ElmAfterTheftText3:
+	text "ELM: This?"
+	done
+
+ElmAfterTheftText4:
+	text "But… Is it a"
+	line "#MON EGG?"
+
+	para "If it is, it is a"
+	line "great discovery!"
+	done
+
+ElmAfterTheftText5:
+	text "ELM: What?!?"
+
+	para "PROF.OAK gave you"
+	line "a #DEX?"
+
+	para "<PLAY_G>, is that"
+	line "true? Th-that's"
+	cont "incredible!"
+
+	para "He is superb at"
+	line "seeing the poten-"
+	cont "tial of people as"
+	cont "trainers."
+
+	para "Wow, <PLAY_G>. You"
+	line "may have what it"
+
+	para "takes to become"
+	line "the CHAMPION."
+
+	para "You seem to be"
+	line "getting on great"
+	cont "with #MON too."
+
+	para "You should take"
+	line "the #MON GYM"
+	cont "challenge."
+
+	para "The closest GYM"
+	line "would be the one"
+	cont "in VIOLET CITY."
+	done
+
+ElmAfterTheftText6:
+	text "…<PLAY_G>. The"
+	line "road to the"
+
+	para "championship will"
+	line "be a long one."
+
+	para "Before you leave,"
+	line "make sure that you"
+	cont "talk to your mom."
+	done
+
+ElmStudyingEggText:
+	text "ELM: Don't give"
+	line "up! I'll call if"
+
+	para "I learn anything"
+	line "about that EGG!"
+	done
+
+ElmAideHasEggText:
+	text "ELM: <PLAY_G>?"
+	line "Didn't you meet my"
+	cont "assistant?"
+
+	para "He should have met"
+	line "you with the EGG"
+
+	para "at VIOLET CITY's"
+	line "#MON CENTER."
+
+	para "You must have just"
+	line "missed him. Try to"
+	cont "catch him there."
+	done
+
+ElmWaitingEggHatchText:
+	text "ELM: Hey, has that"
+	line "EGG changed any?"
+	done
+
+UnknownText_0x79a40:
+	text "<PLAY_G>? I thought"
+	line "the EGG hatched."
+
+	para "Where is the"
+	line "#MON?"
+	done
+
+ShowElmTogepiText1:
+	text "ELM: <PLAY_G>, you"
+	line "look great!"
+	done
+
+ShowElmTogepiText2:
+	text "What?"
+	line "That #MON!?!"
+	done
+
+ShowElmTogepiText3:
+	text "The EGG hatched!"
+	line "So, #MON are"
+	cont "born from EGGS…"
+
+	para "No, perhaps not"
+	line "all #MON are."
+
+	para "Wow, there's still"
+	line "a lot of research"
+	cont "to be done."
+	done
+
+ElmGiveEverstoneText1:
+	text "Thanks, <PLAY_G>!"
+	line "You're helping"
+
+	para "unravel #MON"
+	line "mysteries for us!"
+
+	para "I want you to have"
+	line "this as a token of"
+	cont "our appreciation."
+	done
+
+ElmGiveEverstoneText2:
+	text "That's an"
+	line "EVERSTONE."
+
+	para "Some species of"
+	line "#MON evolve"
+
+	para "when they grow to"
+	line "certain levels."
+
+	para "A #MON holding"
+	line "the EVERSTONE"
+	cont "won't evolve."
+
+	para "Give it to a #-"
+	line "MON you don't want"
+	cont "to evolve."
+	done
+
+ElmText_CallYou:
+	text "ELM: <PLAY_G>, I'll"
+	line "call you if any-"
+	cont "thing comes up."
+	done
+
+AideText_AfterTheft:
+	text "…sigh… That"
+	line "stolen #MON."
+
+	para "I wonder how it's"
+	line "doing."
+
+	para "They say a #MON"
+	line "raised by a bad"
+
+	para "person turns bad"
+	line "itself."
+	done
+
+ElmGiveMasterBallText1:
+	text "ELM: Hi, <PLAY_G>!"
+	line "Thanks to you, my"
+
+	para "research is going"
+	line "great!"
+
+	para "Take this as a"
+	line "token of my"
+	cont "appreciation."
+	done
+
+ElmGiveMasterBallText2:
+	text "The MASTER BALL is"
+	line "the best!"
+
+	para "It's the ultimate"
+	line "BALL! It'll catch"
+
+	para "any #MON with-"
+	line "out fail."
+
+	para "It's given only to"
+	line "recognized #MON"
+	cont "researchers."
+
+	para "I think you can"
+	line "make much better"
+
+	para "use of it than I"
+	line "can, <PLAY_G>!"
+	done
+
+ElmGiveTicketText1:
+	text "ELM: <PLAY_G>!"
+	line "There you are!"
+
+	para "I called because I"
+	line "have something for"
+	cont "you."
+
+	para "See? It's an"
+	line "S.S.TICKET."
+
+	para "Now you can catch"
+	line "#MON in KANTO."
+	done
+
+ElmGiveTicketText2:
+	text "The ship departs"
+	line "from OLIVINE CITY."
+
+	para "But you knew that"
+	line "already, <PLAY_G>."
+
+	para "After all, you've"
+	line "traveled all over"
+	cont "with your #MON."
+
+	para "Give my regards to"
+	line "PROF.OAK in KANTO!"
+	done
+
+ElmsLabSignpostText_Egg:
+	text "It's the #MON"
+	line "EGG being studied"
+	cont "by PROF.ELM."
+	done
+
+AideText_GiveYouPotions:
+	text "<PLAY_G>, I want"
+	line "you to have this"
+	cont "for your errand."
+	done
+
+AideText_AlwaysBusy:
+	text "There are only two"
+	line "of us, so we're"
+	cont "always busy."
+	done
+
+AideText_TheftTestimony:
+	text "There was a loud"
+	line "noise outside…"
+
+	para "When we went to"
+	line "look, someone"
+	cont "stole a #MON."
+
+	para "It's unbelievable"
+	line "that anyone would"
+	cont "do that!"
+
+	para "…sigh… That"
+	line "stolen #MON."
+
+	para "I wonder how it's"
+	line "doing."
+
+	para "They say a #MON"
+	line "raised by a bad"
+
+	para "person turns bad"
+	line "itself."
+	done
+
+AideText_GiveYouBalls:
+	text "<PLAY_G>!"
+
+	para "Use these on your"
+	line "#DEX quest!"
+	done
+
+AideText_ExplainBalls:
+	text "To add to your"
+	line "#DEX, you have"
+	cont "to catch #MON."
+
+	para "Throw # BALLS"
+	line "at wild #MON"
+	cont "to get them."
+	done
+
+ElmsLabOfficerText1:
+	text "I heard a #MON"
+	line "was stolen here…"
+
+	para "I was just getting"
+	line "some information"
+	cont "from PROF.ELM."
+
+	para "Apparently, it was"
+	line "a young male with"
+	cont "long, red hair…"
+
+	para "What?"
+
+	para "You battled a"
+	line "trainer like that?"
+
+	para "Did you happen to"
+	line "get his name?"
+	done
+
+ElmsLabOfficerText2:
+	text "OK! So <RIVAL>"
+	line "was his name."
+
+	para "Thanks for helping"
+	line "my investigation!"
+	done
+
+ElmsLabWindowText1:
+	text "The window's open."
+
+	para "A pleasant breeze"
+	line "is blowing in."
+	done
+
+ElmsLabWindowText2:
+	text "He broke in"
+	line "through here!"
+	done
+
+ElmsLabTravelTip1Text:
+	text "<PLAYER> opened a"
+	line "book."
+
+	para "Travel Tip 1:"
+
+	para "Press START to"
+	line "open the MENU."
+	done
+
+ElmsLabTravelTip2Text:
+	text "<PLAYER> opened a"
+	line "book."
+
+	para "Travel Tip 2:"
+
+	para "Record your trip"
+	line "with SAVE!"
+	done
+
+ElmsLabTravelTip3Text:
+	text "<PLAYER> opened a"
+	line "book."
+
+	para "Travel Tip 3:"
+
+	para "Open your PACK and"
+	line "press SELECT to"
+	cont "move items."
+	done
+
+ElmsLabTravelTip4Text:
+	text "<PLAYER> opened a"
+	line "book."
+
+	para "Travel Tip 4:"
+
+	para "Check your #MON"
+	line "moves. Press the"
+
+	para "A Button to switch"
+	line "moves."
+	done
+
+ElmsLabTrashcanText:
+	text "The wrapper from"
+	line "the snack PROF.ELM"
+	cont "ate is in there…"
+	done
+
+ElmsLabPCText:
+	text "OBSERVATIONS ON"
+	line "#MON EVOLUTION"
+
+	para "…It says on the"
+	line "screen…"
+	done
+
+ElmsLab_MapEventHeader:
+	; filler
+	db 0, 0
+
+.Warps:
+	db 2
+	warp_def $b, $4, 1, NEW_BARK_TOWN
+	warp_def $b, $5, 1, NEW_BARK_TOWN
+
+.XYTriggers:
+	db 8
+	xy_trigger 1, $6, $4, $0, LabTryToLeaveScript, $0, $0
+	xy_trigger 1, $6, $5, $0, LabTryToLeaveScript, $0, $0
+	xy_trigger 3, $5, $4, $0, MeetCopScript, $0, $0
+	xy_trigger 3, $5, $5, $0, MeetCopScript2, $0, $0
+	xy_trigger 5, $8, $4, $0, AideScript_WalkPotions1, $0, $0
+	xy_trigger 5, $8, $5, $0, AideScript_WalkPotions2, $0, $0
+	xy_trigger 6, $8, $4, $0, AideScript_WalkBalls1, $0, $0
+	xy_trigger 6, $8, $5, $0, AideScript_WalkBalls2, $0, $0
+
+.Signposts:
+	db 16
+	signpost 1, 2, SIGNPOST_READ, ElmsLabHealingMachine
+	signpost 1, 6, SIGNPOST_READ, ElmsLabBookshelf
+	signpost 1, 7, SIGNPOST_READ, ElmsLabBookshelf
+	signpost 1, 8, SIGNPOST_READ, ElmsLabBookshelf
+	signpost 1, 9, SIGNPOST_READ, ElmsLabBookshelf
+	signpost 7, 0, SIGNPOST_READ, ElmsLabTravelTip1
+	signpost 7, 1, SIGNPOST_READ, ElmsLabTravelTip2
+	signpost 7, 2, SIGNPOST_READ, ElmsLabTravelTip3
+	signpost 7, 3, SIGNPOST_READ, ElmsLabTravelTip4
+	signpost 7, 6, SIGNPOST_READ, ElmsLabBookshelf
+	signpost 7, 7, SIGNPOST_READ, ElmsLabBookshelf
+	signpost 7, 8, SIGNPOST_READ, ElmsLabBookshelf
+	signpost 7, 9, SIGNPOST_READ, ElmsLabBookshelf
+	signpost 3, 9, SIGNPOST_READ, ElmsLabTrashcan
+	signpost 0, 5, SIGNPOST_READ, ElmsLabWindow
+	signpost 5, 3, SIGNPOST_DOWN, ElmsLabPC
+
+.PersonEvents:
+	db 6
+	person_event SPRITE_ELM, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ProfElmScript, -1
+	person_event SPRITE_SCIENTIST, 9, 2, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, ElmsAideScript, EVENT_ELMS_AIDE_IN_LAB
+	person_event SPRITE_POKE_BALL, 3, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CyndaquilPokeBallScript, EVENT_CYNDAQUIL_POKEBALL_IN_ELMS_LAB
+	person_event SPRITE_POKE_BALL, 3, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TotodilePokeBallScript, EVENT_TOTODILE_POKEBALL_IN_ELMS_LAB
+	person_event SPRITE_POKE_BALL, 3, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ChikoritaPokeBallScript, EVENT_CHIKORITA_POKEBALL_IN_ELMS_LAB
+	person_event SPRITE_OFFICER, 3, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, CopScript, EVENT_COP_IN_ELMS_LAB
--- a/maps/FastShipB1F.asm
+++ b/maps/FastShipB1F.asm
@@ -83,7 +83,7 @@
 	end
 
 UnknownScript_0x76799:
-	keeptextopen
+	buttonsound
 	writetext UnknownText_0x7696d
 	waitbutton
 	closetext
--- a/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm
+++ b/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm
@@ -79,7 +79,7 @@
 	applymovement FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_GENTLEMAN, MovementData_0x76010
 	loadfont
 	writetext UnknownText_0x76143
-	keeptextopen
+	buttonsound
 	setevent EVENT_VERMILION_PORT_SAILOR_AT_GANGWAY
 	domaptrigger FAST_SHIP_1F, $0
 	jump UnknownScript_0x75f37
@@ -99,7 +99,7 @@
 
 UnknownScript_0x75f37:
 	writetext UnknownText_0x7619b
-	keeptextopen
+	buttonsound
 	verbosegiveitem METAL_COAT
 	iffalse UnknownScript_0x75f44
 	setevent EVENT_GOT_METAL_COAT_FROM_GRANDPA_ON_SS_AQUA
@@ -118,7 +118,7 @@
 
 UnknownScript_0x75f58:
 	writetext UnknownText_0x7619b
-	keeptextopen
+	buttonsound
 	verbosegiveitem METAL_COAT
 	iffalse UnknownScript_0x75f65
 	setevent EVENT_GOT_METAL_COAT_FROM_GRANDPA_ON_SS_AQUA
--- a/maps/FuchsiaGym.asm
+++ b/maps/FuchsiaGym.asm
@@ -49,7 +49,7 @@
 	checkevent EVENT_GOT_TM06_TOXIC
 	iftrue UnknownScript_0x195e15
 	writetext UnknownText_0x196002
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_TOXIC
 	iffalse UnknownScript_0x195e15
 	setevent EVENT_GOT_TM06_TOXIC
--- a/maps/GoldenrodBikeShop.asm
+++ b/maps/GoldenrodBikeShop.asm
@@ -20,7 +20,7 @@
 	yesorno
 	iffalse UnknownScript_0x5477b
 	writetext UnknownText_0x547f8
-	keeptextopen
+	buttonsound
 	waitsfx
 	giveitem BICYCLE
 	writetext UnknownText_0x54848
--- a/maps/GoldenrodBillsHouse.asm
+++ b/maps/GoldenrodBillsHouse.asm
@@ -19,7 +19,7 @@
 	yesorno
 	iffalse UnknownScript_0x54c19
 	writetext UnknownText_0x54d3f
-	keeptextopen
+	buttonsound
 	waitsfx
 	checkcode VAR_PARTYCOUNT
 	if_equal $6, UnknownScript_0x54c13
@@ -81,7 +81,7 @@
 	writetext UnknownText_0x54fd9
 	playsound SFX_REGISTER_PHONE_NUMBER
 	waitsfx
-	keeptextopen
+	buttonsound
 UnknownScript_0x54c58: ;0x54c58
 	writetext UnknownText_0x55069
 	waitbutton
@@ -96,7 +96,7 @@
 
 UnknownScript_0x54c64:
 	writetext UnknownText_0x55046
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0x54c5e
 
 BillsHouseBookshelf1:
--- a/maps/GoldenrodCity.asm
+++ b/maps/GoldenrodCity.asm
@@ -127,7 +127,7 @@
 
 .TeachMove:
 	writetext UnknownText_0x19913a
-	keeptextopen
+	buttonsound
 	takecoins 4000
 	waitsfx
 	playsound SFX_TRANSACTION
@@ -212,7 +212,7 @@
 RocketScript_0x198a1a:
 	loadfont
 	writetext UnknownText_0x198d0d
-	keeptextopen
+	buttonsound
 	faceplayer
 	writetext UnknownText_0x198d2a
 	waitbutton
--- a/maps/GoldenrodDeptStore5F.asm
+++ b/maps/GoldenrodDeptStore5F.asm
@@ -70,7 +70,7 @@
 	iftrue .EventIsOver
 	special GetFirstPokemonHappiness
 	writetext UnknownText_0x56143
-	keeptextopen
+	buttonsound
 	if_greater_than $95, .VeryHappy
 	if_greater_than $31, .SomewhatHappy
 	jump .NotVeryHappy
@@ -77,7 +77,7 @@
 
 .VeryHappy:
 	writetext UnknownText_0x5615a
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_RETURN
 	iffalse .Done
 	setflag ENGINE_GOLDENROD_MALL_5F_HAPPINESS_EVENT
@@ -92,7 +92,7 @@
 
 .NotVeryHappy:
 	writetext UnknownText_0x561d8
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_FRUSTRATION
 	iffalse .Done
 	setflag ENGINE_GOLDENROD_MALL_5F_HAPPINESS_EVENT
--- a/maps/GoldenrodDeptStore6F.asm
+++ b/maps/GoldenrodDeptStore6F.asm
@@ -54,7 +54,7 @@
 	pause 10
 	playsound SFX_ENTER_DOOR
 	writetext GoldenrodClangText
-	keeptextopen
+	buttonsound
 	itemnotify
 	jump .Start
 
--- a/maps/GoldenrodFlowerShop.asm
+++ b/maps/GoldenrodFlowerShop.asm
@@ -23,7 +23,7 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x554c2
-	keeptextopen
+	buttonsound
 	verbosegiveitem SQUIRTBOTTLE
 	setevent EVENT_GOT_SQUIRTBOTTLE
 	closetext
--- a/maps/GoldenrodGym.asm
+++ b/maps/GoldenrodGym.asm
@@ -57,7 +57,7 @@
 	checkflag ENGINE_PLAINBADGE
 	iftrue UnknownScript_0x54064
 	writetext UnknownText_0x54222
-	keeptextopen
+	buttonsound
 	waitsfx
 	writetext UnknownText_0x54273
 	playsound SFX_GET_BADGE
@@ -67,7 +67,7 @@
 	scall GoldenrodGymTriggerRockets
 UnknownScript_0x54064:
 	writetext UnknownText_0x5428b
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_ATTRACT
 	iffalse UnknownScript_0x5407b
 	setevent EVENT_GOT_TM45_ATTRACT
--- a/maps/GoldenrodHappinessRater.asm
+++ b/maps/GoldenrodHappinessRater.asm
@@ -15,7 +15,7 @@
 	loadfont
 	special GetFirstPokemonHappiness
 	writetext UnknownText_0x549a3
-	keeptextopen
+	buttonsound
 	if_greater_than $f9, UnknownScript_0x54973
 	if_greater_than $c7, UnknownScript_0x54979
 	if_greater_than $95, UnknownScript_0x5497f
--- a/maps/IlexForest.asm
+++ b/maps/IlexForest.asm
@@ -122,7 +122,7 @@
 	faceplayer
 	loadfont
 	writetext Text_ItsTheMissingPokemon
-	keeptextopen
+	buttonsound
 	writetext Text_Kwaaaa
 	cry FARFETCH_D
 	waitbutton
@@ -353,7 +353,7 @@
 	checkevent EVENT_GOT_HM01_CUT
 	iftrue .AlreadyGotCut
 	writetext UnknownText_0x6f099
-	keeptextopen
+	buttonsound
 	verbosegiveitem HM_CUT
 	setevent EVENT_GOT_HM01_CUT
 	writetext UnknownText_0x6f141
@@ -379,7 +379,7 @@
 	checkevent EVENT_GOT_TM02_HEADBUTT
 	iftrue UnknownScript_0x6edf3
 	writetext UnknownText_0x6f21b
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_HEADBUTT
 	iffalse UnknownScript_0x6edf7
 	setevent EVENT_GOT_TM02_HEADBUTT
--- a/maps/KrissHouse1F.asm
+++ b/maps/KrissHouse1F.asm
@@ -39,7 +39,7 @@
 UnknownScript_0x7a4f6:
 	loadfont
 	writetext UnknownText_0x7a604
-	keeptextopen
+	buttonsound
 	stringtotext GearName, $1
 	scall UnknownScript_0x7a57e
 	setflag ENGINE_POKEGEAR
@@ -49,7 +49,7 @@
 	setevent EVENT_KRISS_HOUSE_MOM_1
 	clearevent EVENT_KRISS_HOUSE_MOM_2
 	writetext UnknownText_0x7a6bd
-	keeptextopen
+	buttonsound
 	special Special_SetDayOfWeek
 UnknownScript_0x7a519:
 	writetext UnknownText_0x7a742
@@ -72,12 +72,12 @@
 
 UnknownScript_0x7a53b:
 	writetext UnknownText_0x7a7cb
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0x7a549
 
 UnknownScript_0x7a542:
 	writetext UnknownText_0x7a807
-	keeptextopen
+	buttonsound
 	jump UnknownScript_0x7a549
 
 UnknownScript_0x7a549:
@@ -166,17 +166,17 @@
 
 .MornScript
 	writetext NeighborMornIntroText
-	keeptextopen
+	buttonsound
 	jump .Main
 
 .DayScript
 	writetext NeighborDayIntroText
-	keeptextopen
+	buttonsound
 	jump .Main
 
 .NiteScript
 	writetext NeighborNiteIntroText
-	keeptextopen
+	buttonsound
 	jump .Main
 
 .Main
--- a/maps/KurtsHouse.asm
+++ b/maps/KurtsHouse.asm
@@ -72,7 +72,7 @@
 
 .ClearedSlowpokeWell:
 	writetext UnknownText_0x18e615
-	keeptextopen
+	buttonsound
 	verbosegiveitem LURE_BALL
 	iffalse .NoRoomForBall
 	setevent EVENT_KURT_GAVE_YOU_LURE_BALL
@@ -132,7 +132,7 @@
 
 .AskApricorn:
 	writetext UnknownText_0x18e736
-	keeptextopen
+	buttonsound
 	setevent EVENT_DRAGON_SHRINE_QUESTION_2
 	special Special_SelectApricornForKurt
 	if_equal $0, .Cancel
@@ -198,7 +198,7 @@
 	checkflag ENGINE_KURT_MAKING_BALLS
 	iftrue KurtMakingBallsScript
 	writetext UnknownText_0x18e7fb
-	keeptextopen
+	buttonsound
 	verbosegiveitem2 LEVEL_BALL, VAR_KURT_APRICORNS
 	iffalse .NoRoomForBall
 	clearevent EVENT_GAVE_KURT_RED_APRICORN
@@ -208,7 +208,7 @@
 	checkflag ENGINE_KURT_MAKING_BALLS
 	iftrue KurtMakingBallsScript
 	writetext UnknownText_0x18e7fb
-	keeptextopen
+	buttonsound
 	verbosegiveitem2 LURE_BALL, VAR_KURT_APRICORNS
 	iffalse .NoRoomForBall
 	clearevent EVENT_GAVE_KURT_BLU_APRICORN
@@ -218,7 +218,7 @@
 	checkflag ENGINE_KURT_MAKING_BALLS
 	iftrue KurtMakingBallsScript
 	writetext UnknownText_0x18e7fb
-	keeptextopen
+	buttonsound
 	verbosegiveitem2 MOON_BALL, VAR_KURT_APRICORNS
 	iffalse .NoRoomForBall
 	clearevent EVENT_GAVE_KURT_YLW_APRICORN
@@ -228,7 +228,7 @@
 	checkflag ENGINE_KURT_MAKING_BALLS
 	iftrue KurtMakingBallsScript
 	writetext UnknownText_0x18e7fb
-	keeptextopen
+	buttonsound
 	verbosegiveitem2 FRIEND_BALL, VAR_KURT_APRICORNS
 	iffalse .NoRoomForBall
 	clearevent EVENT_GAVE_KURT_GRN_APRICORN
@@ -238,7 +238,7 @@
 	checkflag ENGINE_KURT_MAKING_BALLS
 	iftrue KurtMakingBallsScript
 	writetext UnknownText_0x18e7fb
-	keeptextopen
+	buttonsound
 	verbosegiveitem2 FAST_BALL, VAR_KURT_APRICORNS
 	iffalse .NoRoomForBall
 	clearevent EVENT_GAVE_KURT_WHT_APRICORN
@@ -248,7 +248,7 @@
 	checkflag ENGINE_KURT_MAKING_BALLS
 	iftrue KurtMakingBallsScript
 	writetext UnknownText_0x18e7fb
-	keeptextopen
+	buttonsound
 	verbosegiveitem2 HEAVY_BALL, VAR_KURT_APRICORNS
 	iffalse .NoRoomForBall
 	clearevent EVENT_GAVE_KURT_BLK_APRICORN
@@ -258,7 +258,7 @@
 	checkflag ENGINE_KURT_MAKING_BALLS
 	iftrue KurtMakingBallsScript
 	writetext UnknownText_0x18e7fb
-	keeptextopen
+	buttonsound
 	verbosegiveitem2 LOVE_BALL, VAR_KURT_APRICORNS
 	iffalse .NoRoomForBall
 	clearevent EVENT_GAVE_KURT_PNK_APRICORN
--- a/maps/LakeofRage.asm
+++ b/maps/LakeofRage.asm
@@ -53,7 +53,7 @@
 	iftrue UnknownScript_0x70057
 	loadfont
 	writetext UnknownText_0x70157
-	keeptextopen
+	buttonsound
 	faceplayer
 	writetext UnknownText_0x701b4
 	yesorno
@@ -145,7 +145,7 @@
 	end
 
 UnknownScript_0x700b8:
-	keeptextopen
+	buttonsound
 	special Special_MagikarpHouseSign
 	closetext
 	end
@@ -204,11 +204,11 @@
 	checkevent EVENT_MET_WESLEY_OF_WEDNESDAY
 	iftrue .MetWesley
 	writetext MeetWesleyText
-	keeptextopen
+	buttonsound
 	setevent EVENT_MET_WESLEY_OF_WEDNESDAY
 .MetWesley
 	writetext WesleyGivesGiftText
-	keeptextopen
+	buttonsound
 	verbosegiveitem BLACKBELT
 	iffalse WesleyDoneScript
 	setevent EVENT_GOT_BLACKBELT_FROM_WESLEY
--- a/maps/LakeofRageHiddenPowerHouse.asm
+++ b/maps/LakeofRageHiddenPowerHouse.asm
@@ -14,7 +14,7 @@
 	checkevent EVENT_GOT_TM10_HIDDEN_POWER
 	iftrue .AlreadyGotItem
 	writetext HiddenPowerGuyText1
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_HIDDEN_POWER
 	iffalse .Done
 	setevent EVENT_GOT_TM10_HIDDEN_POWER
--- a/maps/LakeofRageMagikarpHouse.asm
+++ b/maps/LakeofRageMagikarpHouse.asm
@@ -52,7 +52,7 @@
 
 UnknownScript_0x19a6fe:
 	writetext UnknownText_0x19a977
-	keeptextopen
+	buttonsound
 	verbosegiveitem ELIXER
 	iffalse UnknownScript_0x19a711
 	writetext UnknownText_0x19a9c3
--- a/maps/LavRadioTower1F.asm
+++ b/maps/LavRadioTower1F.asm
@@ -35,7 +35,7 @@
 
 .UnknownScript_0x7ee80:
 	writetext UnknownText_0x7f0a1
-	keeptextopen
+	buttonsound
 	stringtotext .expncardname, $1
 	scall .UnknownScript_0x7ee94
 	setflag ENGINE_EXPN_CARD
--- a/maps/MahoganyGym.asm
+++ b/maps/MahoganyGym.asm
@@ -43,7 +43,7 @@
 	setevent EVENT_BEAT_BOARDER_BRAD
 	setevent EVENT_BEAT_BOARDER_DOUGLAS
 	writetext UnknownText_0x199d55
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_ICY_WIND
 	iffalse UnknownScript_0x199af4
 	setevent EVENT_GOT_TM16_ICY_WIND
--- a/maps/ManiasHouse.asm
+++ b/maps/ManiasHouse.asm
@@ -21,7 +21,7 @@
 	special SpecialGiveShuckle
 	iffalse .partyfull
 	writetext ManiaText_TakeCareOfShuckle
-	keeptextopen
+	buttonsound
 	waitsfx
 	writetext ManiaText_GotShuckle
 	playsound SFX_KEY_ITEM
--- a/maps/MountMortarB1F.asm
+++ b/maps/MountMortarB1F.asm
@@ -32,7 +32,7 @@
 	loadfont
 UnknownScript_0x7e217:
 	writetext UnknownText_0x7e2c0
-	keeptextopen
+	buttonsound
 	waitsfx
 	checkcode VAR_PARTYCOUNT
 	if_equal $6, UnknownScript_0x7e237
--- a/maps/MrPokemonsHouse.asm
+++ b/maps/MrPokemonsHouse.asm
@@ -30,7 +30,7 @@
 	applymovement PLAYER, MovementData_0x196f5a
 	loadfont
 	writetext UnknownText_0x196fa8
-	keeptextopen
+	buttonsound
 	waitsfx
 	giveitem MYSTERY_EGG
 	writetext UnknownText_0x196fd2
@@ -40,10 +40,10 @@
 	setevent EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON
 	blackoutmod CHERRYGROVE_CITY
 	writetext UnknownText_0x196feb
-	keeptextopen
+	buttonsound
 	spriteface MRPOKEMONSHOUSE_GENTLEMAN, RIGHT
 	writetext UnknownText_0x197092
-	keeptextopen
+	buttonsound
 	spriteface MRPOKEMONSHOUSE_GENTLEMAN, DOWN
 	spriteface MRPOKEMONSHOUSE_OAK, LEFT
 	writetext UnknownText_0x1970b7
@@ -91,7 +91,7 @@
 	spriteface PLAYER, RIGHT
 	loadfont
 	writetext UnknownText_0x197185
-	keeptextopen
+	buttonsound
 	waitsfx
 	writetext UnknownText_0x1973cc
 	playsound SFX_ITEM
--- a/maps/MrPsychicsHouse.asm
+++ b/maps/MrPsychicsHouse.asm
@@ -14,7 +14,7 @@
 	checkevent EVENT_GOT_TM29_PSYCHIC
 	iftrue .AlreadyGotItem
 	writetext MrPsychicText1
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_PSYCHIC
 	iffalse .Done
 	setevent EVENT_GOT_TM29_PSYCHIC
--- a/maps/NationalPark.asm
+++ b/maps/NationalPark.asm
@@ -33,7 +33,7 @@
 	checkevent EVENT_GOT_QUICK_CLAW
 	iftrue UnknownScript_0x5c01d
 	writetext UnknownText_0x5c265
-	keeptextopen
+	buttonsound
 	verbosegiveitem QUICK_CLAW
 	iffalse UnknownScript_0x5c021
 	setevent EVENT_GOT_QUICK_CLAW
@@ -85,7 +85,7 @@
 	checkevent EVENT_JACK_ASKED_FOR_PHONE_NUMBER
 	iftrue UnknownScript_0x5c071
 	writetext UnknownText_0x5c4f3
-	keeptextopen
+	buttonsound
 	setevent EVENT_JACK_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x5c0fc
 	jump UnknownScript_0x5c074
@@ -215,7 +215,7 @@
 	checkevent EVENT_BEVERLY_ASKED_FOR_PHONE_NUMBER
 	iftrue UnknownScript_0x5c160
 	writetext UnknownText_0x5c5bd
-	keeptextopen
+	buttonsound
 	setevent EVENT_BEVERLY_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x5c18f
 	jump UnknownScript_0x5c163
--- a/maps/OaksLab.asm
+++ b/maps/OaksLab.asm
@@ -22,7 +22,7 @@
 	checkevent EVENT_TALKED_TO_OAK_IN_KANTO
 	iftrue .CheckBadges
 	writetext OakWelcomeKantoText
-	keeptextopen
+	buttonsound
 	setevent EVENT_TALKED_TO_OAK_IN_KANTO
 .CheckBadges
 	checkcode VAR_BADGES
@@ -41,18 +41,18 @@
 
 .OpenMtSilver
 	writetext OakOpenMtSilverText
-	keeptextopen
+	buttonsound
 	setevent EVENT_OPENED_MT_SILVER
 	jump .CheckPokedex
 
 .Complain
 	writetext OakNoKantoBadgesText
-	keeptextopen
+	buttonsound
 	jump .CheckPokedex
 
 .AhGood
 	writetext OakYesKantoBadgesText
-	keeptextopen
+	buttonsound
 	jump .CheckPokedex
 
 ScientistScript_0x19b40f:
--- a/maps/OlivineCafe.asm
+++ b/maps/OlivineCafe.asm
@@ -16,7 +16,7 @@
 	checkevent EVENT_GOT_HM04_STRENGTH
 	iftrue UnknownScript_0x9c8d3
 	writetext UnknownText_0x9c8df
-	keeptextopen
+	buttonsound
 	verbosegiveitem HM_STRENGTH
 	setevent EVENT_GOT_HM04_STRENGTH
 UnknownScript_0x9c8d3:
--- a/maps/OlivineGoodRodHouse.asm
+++ b/maps/OlivineGoodRodHouse.asm
@@ -17,7 +17,7 @@
 	yesorno
 	iffalse .DontWantIt
 	writetext GiveGoodRodText
-	keeptextopen
+	buttonsound
 	verbosegiveitem GOOD_ROD
 	writetext GaveGoodRodText
 	waitbutton
--- a/maps/OlivineGym.asm
+++ b/maps/OlivineGym.asm
@@ -33,7 +33,7 @@
 	checkevent EVENT_GOT_TM23_IRON_TAIL
 	iftrue UnknownScript_0x9c172
 	writetext UnknownText_0x9c354
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_IRON_TAIL
 	iffalse UnknownScript_0x9c176
 	setevent EVENT_GOT_TM23_IRON_TAIL
--- a/maps/OlivineLighthouse6F.asm
+++ b/maps/OlivineLighthouse6F.asm
@@ -18,7 +18,7 @@
 	checkevent EVENT_JASMINE_EXPLAINED_AMPHYS_SICKNESS
 	iftrue UnknownScript_0x60ba5
 	writetext UnknownText_0x60c81
-	keeptextopen
+	buttonsound
 	setevent EVENT_JASMINE_EXPLAINED_AMPHYS_SICKNESS
 UnknownScript_0x60ba5:
 	writetext UnknownText_0x60d64
@@ -31,7 +31,7 @@
 	yesorno
 	iffalse UnknownScript_0x60c25
 	writetext UnknownText_0x60dc3
-	keeptextopen
+	buttonsound
 	takeitem SECRETPOTION
 	writetext UnknownText_0x60dea
 	waitbutton
@@ -43,7 +43,7 @@
 	playmusic MUSIC_HEAL
 	writetext UnknownText_0x60e44
 	pause 60
-	keeptextopen
+	buttonsound
 	closetext
 	special RestartMapMusic
 	cry AMPHAROS
@@ -110,7 +110,7 @@
 	writetext UnknownText_0x60f03
 	writebyte AMPHAROS
 	special PlaySlowCry
-	keeptextopen
+	buttonsound
 	writetext UnknownText_0x60f19
 	waitbutton
 	closetext
--- a/maps/OlivinePort.asm
+++ b/maps/OlivinePort.asm
@@ -97,7 +97,7 @@
 	yesorno
 	iffalse UnknownScript_0x74992
 	writetext UnknownText_0x74ada
-	keeptextopen
+	buttonsound
 	checkitem S_S_TICKET
 	iffalse UnknownScript_0x7496d
 	writetext UnknownText_0x74b11
@@ -162,7 +162,7 @@
 	yesorno
 	iffalse UnknownScript_0x7498c
 	writetext UnknownText_0x74ada
-	keeptextopen
+	buttonsound
 	checkitem S_S_TICKET
 	iffalse UnknownScript_0x749ec
 	writetext UnknownText_0x74b11
--- a/maps/PewterCity.asm
+++ b/maps/PewterCity.asm
@@ -31,7 +31,7 @@
 	checkevent EVENT_GOT_SILVER_WING
 	iftrue UnknownScript_0x18c023
 	writetext UnknownText_0x18c0c6
-	keeptextopen
+	buttonsound
 	verbosegiveitem SILVER_WING
 	setevent EVENT_GOT_SILVER_WING
 	closetext
--- a/maps/PokeCenter2F.asm
+++ b/maps/PokeCenter2F.asm
@@ -600,7 +600,7 @@
 	yesorno
 	iffalse .RefusedGift
 	writetext Text_MysteryGiftDeliveryGuy_HereYouGo
-	keeptextopen
+	buttonsound
 	waitsfx
 	special Special_GetMysteryGiftItem
 	iffalse .BagIsFull
--- a/maps/PokemonFanClub.asm
+++ b/maps/PokemonFanClub.asm
@@ -24,10 +24,10 @@
 	yesorno
 	iffalse UnknownScript_0x19181b
 	writetext UnknownText_0x191911
-	keeptextopen
+	buttonsound
 UnknownScript_0x191802:
 	writetext UnknownText_0x191a3d
-	keeptextopen
+	buttonsound
 	verbosegiveitem RARE_CANDY
 	iffalse UnknownScript_0x19181f
 	setevent EVENT_LISTENED_TO_FAN_CLUB_PRESIDENT
@@ -73,9 +73,9 @@
 	end
 
 UnknownScript_0x191844:
-	keeptextopen
+	buttonsound
 	writetext UnknownText_0x191c5a
-	keeptextopen
+	buttonsound
 	waitsfx
 	giveitem LOST_ITEM
 	iffalse UnknownScript_0x191865
--- a/maps/PowerPlant.asm
+++ b/maps/PowerPlant.asm
@@ -162,7 +162,7 @@
 
 UnknownScript_0x188e93:
 	writetext UnknownText_0x18936e
-	keeptextopen
+	buttonsound
 	takeitem MACHINE_PART
 	setevent EVENT_RETURNED_MACHINE_PART
 	clearevent EVENT_SAFFRON_TRAIN_STATION_POPULATION
@@ -174,7 +174,7 @@
 	checkevent EVENT_GOT_TM07_ZAP_CANNON
 	iftrue UnknownScript_0x188ec5
 	writetext UnknownText_0x1893c4
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_ZAP_CANNON
 	iffalse UnknownScript_0x188ec3
 	setevent EVENT_GOT_TM07_ZAP_CANNON
--- a/maps/RadioTower1F.asm
+++ b/maps/RadioTower1F.asm
@@ -33,7 +33,7 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x5ceba
-	keeptextopen
+	buttonsound
 	special Special_CheckLuckyNumberShowFlag
 	iffalse .skip
 	special Special_ResetLuckyNumberShowFlag
@@ -42,17 +42,17 @@
 	checkflag ENGINE_LUCKY_NUMBER_SHOW
 	iftrue .GameOver
 	writetext UnknownText_0x5cf3a
-	keeptextopen
+	buttonsound
 	closetext
 	applymovement RADIOTOWER1F_GENTLEMAN, MovementData_0x5ce71
 	loadfont
 	writetext UnknownText_0x5cf5a
-	keeptextopen
+	buttonsound
 	waitsfx
 	writetext UnknownText_0x5cf79
 	playsound SFX_DEX_FANFARE_20_49
 	waitsfx
-	keeptextopen
+	buttonsound
 	special Special_CheckForLuckyNumberWinners
 	closetext
 	applymovement RADIOTOWER1F_GENTLEMAN, MovementData_0x5ce74
@@ -72,7 +72,7 @@
 	writetext UnknownText_0x5cfb5
 	playsound SFX_1ST_PLACE
 	waitsfx
-	keeptextopen
+	buttonsound
 	giveitem MASTER_BALL
 	iffalse .BagFull
 	itemnotify
@@ -83,7 +83,7 @@
 	writetext UnknownText_0x5d023
 	playsound SFX_2ND_PLACE
 	waitsfx
-	keeptextopen
+	buttonsound
 	giveitem EXP_SHARE
 	iffalse .BagFull
 	itemnotify
@@ -94,7 +94,7 @@
 	writetext UnknownText_0x5d076
 	playsound SFX_3RD_PLACE
 	waitsfx
-	keeptextopen
+	buttonsound
 	giveitem PP_UP
 	iffalse .BagFull
 	itemnotify
@@ -147,11 +147,11 @@
 	playsound SFX_ELEVATOR_END
 	waitsfx
 	writetext UnknownText_0x5d37b
-	keeptextopen
+	buttonsound
 	stringtotext RadioCardText, $1
 	scall UnknownScript_0x5ce3e
 	writetext UnknownText_0x5d3c0
-	keeptextopen
+	buttonsound
 	setflag ENGINE_RADIO_CARD
 UnknownScript_0x5ce2d:
 	writetext UnknownText_0x5d3e5
--- a/maps/RadioTower2F.asm
+++ b/maps/RadioTower2F.asm
@@ -162,7 +162,7 @@
 
 UnknownScript_0x5d800:
 	writetext UnknownText_0x5dcf4
-	keeptextopen
+	buttonsound
 	setevent EVENT_MET_BUENA
 	verbosegiveitem BLUE_CARD
 UnknownScript_0x5d80a:
@@ -286,7 +286,7 @@
 	writetext UnknownText_0x5e2f3
 	playsound SFX_REGISTER_PHONE_NUMBER
 	waitsfx
-	keeptextopen
+	buttonsound
 	writetext UnknownText_0x5e310
 	waitbutton
 	closetext
@@ -315,7 +315,7 @@
 	checkitem BLUE_CARD
 	iffalse UnknownScript_0x5d90f
 	writetext UnknownText_0x5e392
-	keeptextopen
+	buttonsound
 	special SpecialBuenaPrize
 	closetext
 	end
@@ -322,7 +322,7 @@
 
 UnknownScript_0x5d90f:
 	writetext UnknownText_0x5e3d8
-	keeptextopen
+	buttonsound
 	closetext
 	end
 
--- a/maps/RadioTower3F.asm
+++ b/maps/RadioTower3F.asm
@@ -69,7 +69,7 @@
 
 UnknownScript_0x5e58a:
 	writetext UnknownText_0x5e7e2
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_SUNNY_DAY
 	iffalse UnknownScript_0x5e5a1
 	writetext UnknownText_0x5e821
--- a/maps/RadioTower4F.asm
+++ b/maps/RadioTower4F.asm
@@ -31,7 +31,7 @@
 
 UnknownScript_0x5eb99:
 	writetext UnknownText_0x5ecab
-	keeptextopen
+	buttonsound
 	verbosegiveitem PINK_BOW
 	iffalse UnknownScript_0x5ebb0
 	writetext UnknownText_0x5ecef
--- a/maps/RadioTower5F.asm
+++ b/maps/RadioTower5F.asm
@@ -46,7 +46,7 @@
 	returnafterbattle
 	loadfont
 	writetext UnknownText_0x60246
-	keeptextopen
+	buttonsound
 	verbosegiveitem BASEMENT_KEY
 	closetext
 	dotrigger $1
@@ -123,7 +123,7 @@
 	spriteface PLAYER, RIGHT
 	loadfont
 	writetext UnknownText_0x605b2
-	keeptextopen
+	buttonsound
 	verbosegiveitem CLEAR_BELL
 	writetext UnknownText_0x6062c
 	waitbutton
--- a/maps/Route12SuperRodHouse.asm
+++ b/maps/Route12SuperRodHouse.asm
@@ -17,7 +17,7 @@
 	yesorno
 	iffalse UnknownScript_0x7f4a6
 	writetext UnknownText_0x7f52f
-	keeptextopen
+	buttonsound
 	verbosegiveitem SUPER_ROD
 	iffalse UnknownScript_0x7f4aa
 	setevent EVENT_GOT_SUPER_ROD
--- a/maps/Route24.asm
+++ b/maps/Route24.asm
@@ -23,7 +23,7 @@
 	playmusic MUSIC_ROCKET_ENCOUNTER
 	loadfont
 	writetext UnknownText_0x1addc0
-	keeptextopen
+	buttonsound
 	special Special_RotatePalettesRightMusic
 	writetext UnknownText_0x1adee1
 	waitbutton
--- a/maps/Route25.asm
+++ b/maps/Route25.asm
@@ -165,7 +165,7 @@
 	checkevent EVENT_CLEARED_NUGGET_BRIDGE
 	iftrue UnknownScript_0x19efc7
 	writetext UnknownText_0x19f43b
-	keeptextopen
+	buttonsound
 	verbosegiveitem NUGGET
 	iffalse UnknownScript_0x19efde
 	setevent EVENT_CLEARED_NUGGET_BRIDGE
--- a/maps/Route26.asm
+++ b/maps/Route26.asm
@@ -40,7 +40,7 @@
 	checkevent EVENT_GAVEN_ASKED_FOR_PHONE_NUMBER
 	iftrue UnknownScript_0x1a4d62
 	writetext UnknownText_0x1a4fe4
-	keeptextopen
+	buttonsound
 	setevent EVENT_GAVEN_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x1a4dbf
 	jump UnknownScript_0x1a4d65
@@ -144,7 +144,7 @@
 	checkevent EVENT_BETH_ASKED_FOR_PHONE_NUMBER
 	iftrue UnknownScript_0x1a4e1e
 	writetext UnknownText_0x1a51d9
-	keeptextopen
+	buttonsound
 	setevent EVENT_BETH_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x1a4e7b
 	jump UnknownScript_0x1a4e21
--- a/maps/Route27.asm
+++ b/maps/Route27.asm
@@ -40,7 +40,7 @@
 	spriteface PLAYER, RIGHT
 	loadfont
 	writetext UnknownText_0x1a0a6b
-	keeptextopen
+	buttonsound
 	writetext UnknownText_0x1a0a71
 	waitbutton
 	closetext
@@ -77,7 +77,7 @@
 	checkevent EVENT_JOSE_ASKED_FOR_PHONE_NUMBER
 	iftrue UnknownScript_0x1a08e8
 	writetext UnknownText_0x1a0e42
-	keeptextopen
+	buttonsound
 	setevent EVENT_JOSE_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x1a0957
 	jump UnknownScript_0x1a08eb
@@ -210,7 +210,7 @@
 	checkevent EVENT_REENA_ASKED_FOR_PHONE_NUMBER
 	iftrue UnknownScript_0x1a09d2
 	writetext UnknownText_0x1a0c35
-	keeptextopen
+	buttonsound
 	setevent EVENT_REENA_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x1a0a2f
 	jump UnknownScript_0x1a09d5
--- a/maps/Route27SandstormHouse.asm
+++ b/maps/Route27SandstormHouse.asm
@@ -15,13 +15,13 @@
 	iftrue .AlreadyGotItem
 	special GetFirstPokemonHappiness
 	writetext SandstormHouseWomanText1
-	keeptextopen
+	buttonsound
 	if_greater_than $95, .Loyal
 	jump .Disloyal
 
 .Loyal
 	writetext SandstormHouseWomanLoyalText
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_SANDSTORM
 	iffalse .Done
 	setevent EVENT_GOT_TM37_SANDSTORM
--- a/maps/Route28FamousSpeechHouse.asm
+++ b/maps/Route28FamousSpeechHouse.asm
@@ -21,7 +21,7 @@
 	checkevent EVENT_GOT_TM47_STEEL_WING
 	iftrue .AlreadyGotItem
 	writetext CelebrityText1
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_STEEL_WING
 	iffalse .Done
 	setevent EVENT_GOT_TM47_STEEL_WING
--- a/maps/Route29.asm
+++ b/maps/Route29.asm
@@ -181,11 +181,11 @@
 	checkevent EVENT_MET_TUSCANY_OF_TUESDAY
 	iftrue .MetTuscany
 	writetext MeetTuscanyText
-	keeptextopen
+	buttonsound
 	setevent EVENT_MET_TUSCANY_OF_TUESDAY
 .MetTuscany
 	writetext TuscanyGivesGiftText
-	keeptextopen
+	buttonsound
 	verbosegiveitem PINK_BOW
 	iffalse TuscanyDoneScript
 	setevent EVENT_GOT_PINK_BOW_FROM_TUSCANY
--- a/maps/Route2NuggetSpeechHouse.asm
+++ b/maps/Route2NuggetSpeechHouse.asm
@@ -14,7 +14,7 @@
 	checkevent EVENT_GOT_NUGGET_FROM_GUY
 	iftrue .GotItem
 	writetext UnknownText_0x9b865
-	keeptextopen
+	buttonsound
 	verbosegiveitem NUGGET
 	iffalse .Done
 	setevent EVENT_GOT_NUGGET_FROM_GUY
--- a/maps/Route30.asm
+++ b/maps/Route30.asm
@@ -52,7 +52,7 @@
 	checkevent EVENT_JOEY_ASKED_FOR_PHONE_NUMBER
 	iftrue UnknownScript_0x1a16c9
 	writetext UnknownText_0x1a18c2
-	keeptextopen
+	buttonsound
 	setevent EVENT_JOEY_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x1a1783
 	jump UnknownScript_0x1a16cc
--- a/maps/Route30BerrySpeechHouse.asm
+++ b/maps/Route30BerrySpeechHouse.asm
@@ -14,7 +14,7 @@
 	checkevent EVENT_GOT_BERRY_FROM_ROUTE_30_HOUSE
 	iftrue UnknownScript_0x196d79
 	writetext UnknownText_0x196d82
-	keeptextopen
+	buttonsound
 	verbosegiveitem BERRY
 	iffalse UnknownScript_0x196d7d
 	setevent EVENT_GOT_BERRY_FROM_ROUTE_30_HOUSE
--- a/maps/Route31.asm
+++ b/maps/Route31.asm
@@ -199,7 +199,7 @@
 
 .TryGiveKenya:
 	writetext UnknownText_0x1a5761
-	keeptextopen
+	buttonsound
 	checkpokeitem ReceivedSpearowMailText
 	if_equal $0, .WrongMail
 	if_equal $2, .Refused
@@ -206,9 +206,9 @@
 	if_equal $3, .NoMail
 	if_equal $4, .LastMon
 	writetext UnknownText_0x1a5790
-	keeptextopen
+	buttonsound
 	writetext UnknownText_0x1a57ba
-	keeptextopen
+	buttonsound
 	setevent EVENT_GAVE_KENYA
 	verbosegiveitem TM_NIGHTMARE
 	iffalse .NoRoomForItems
--- a/maps/Route32.asm
+++ b/maps/Route32.asm
@@ -72,7 +72,7 @@
 
 UnknownScript_0x19048f:
 	writetext UnknownText_0x190925
-	keeptextopen
+	buttonsound
 	verbosegiveitem MIRACLE_SEED
 	iffalse UnknownScript_0x1904a9
 	setevent EVENT_GOT_MIRACLE_SEED_IN_ROUTE_32
@@ -113,7 +113,7 @@
 	checkevent EVENT_GOT_TM05_ROAR
 	iftrue UnknownScript_0x1904e3
 	writetext UnknownText_0x191133
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_ROAR
 	iffalse UnknownScript_0x1904e7
 	setevent EVENT_GOT_TM05_ROAR
@@ -186,7 +186,7 @@
 	checkevent EVENT_RALPH_ASKED_FOR_PHONE_NUMBER
 	iftrue UnknownScript_0x190566
 	writetext UnknownText_0x190bf8
-	keeptextopen
+	buttonsound
 	setevent EVENT_RALPH_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x1905f7
 	jump UnknownScript_0x190569
@@ -320,7 +320,7 @@
 	checkevent EVENT_LIZ_ASKED_FOR_PHONE_NUMBER
 	iftrue UnknownScript_0x190656
 	writetext UnknownText_0x191060
-	keeptextopen
+	buttonsound
 	setevent EVENT_LIZ_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x1906e1
 	jump UnknownScript_0x190659
@@ -466,11 +466,11 @@
 	checkevent EVENT_MET_FRIEDA_OF_FRIDAY
 	iftrue .MetFrieda
 	writetext MeetFriedaText
-	keeptextopen
+	buttonsound
 	setevent EVENT_MET_FRIEDA_OF_FRIDAY
 .MetFrieda
 	writetext FriedaGivesGiftText
-	keeptextopen
+	buttonsound
 	verbosegiveitem POISON_BARB
 	iffalse FriedaDoneScript
 	setevent EVENT_GOT_POISON_BARB_FROM_FRIEDA
--- a/maps/Route32PokeCenter1F.asm
+++ b/maps/Route32PokeCenter1F.asm
@@ -22,7 +22,7 @@
 	yesorno
 	iffalse UnknownScript_0x69b74
 	writetext UnknownText_0x69be8
-	keeptextopen
+	buttonsound
 	verbosegiveitem OLD_ROD
 	writetext UnknownText_0x69c1b
 	waitbutton
--- a/maps/Route33.asm
+++ b/maps/Route33.asm
@@ -29,7 +29,7 @@
 	checkevent EVENT_ANTHONY_ASKED_FOR_PHONE_NUMBER
 	iftrue UnknownScript_0x1ac03a
 	writetext UnknownText_0x1ac153
-	keeptextopen
+	buttonsound
 	setevent EVENT_ANTHONY_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x1ac0cb
 	jump UnknownScript_0x1ac03d
--- a/maps/Route34.asm
+++ b/maps/Route34.asm
@@ -106,7 +106,7 @@
 	checkevent EVENT_TODD_ASKED_FOR_PHONE_NUMBER
 	iftrue UnknownScript_0x780a6
 	writetext UnknownText_0x784f0
-	keeptextopen
+	buttonsound
 	setevent EVENT_TODD_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x78137
 	jump UnknownScript_0x780a9
@@ -231,7 +231,7 @@
 	checkevent EVENT_GINA_ASKED_FOR_PHONE_NUMBER
 	iftrue UnknownScript_0x78188
 	writetext UnknownText_0x785b8
-	keeptextopen
+	buttonsound
 	setevent EVENT_GINA_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x78228
 	jump UnknownScript_0x7818b
@@ -464,7 +464,7 @@
 	checkevent EVENT_GOT_SOFT_SAND_FROM_KATE
 	iftrue UnknownScript_0x78319
 	writetext UnknownText_0x788e2
-	keeptextopen
+	buttonsound
 	verbosegiveitem SOFT_SAND
 	iffalse UnknownScript_0x7831d
 	setevent EVENT_GOT_SOFT_SAND_FROM_KATE
--- a/maps/Route34IlexForestGate.asm
+++ b/maps/Route34IlexForestGate.asm
@@ -53,7 +53,7 @@
 	checkevent EVENT_GOT_TM12_SWEET_SCENT
 	iftrue UnknownScript_0x62d7e
 	writetext UnknownText_0x62d9d
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_SWEET_SCENT
 	iffalse UnknownScript_0x62d82
 	setevent EVENT_GOT_TM12_SWEET_SCENT
@@ -66,7 +66,7 @@
 
 UnknownScript_0x62d84:
 	writetext UnknownText_0x62e41
-	keeptextopen
+	buttonsound
 	closetext
 	end
 
--- a/maps/Route35.asm
+++ b/maps/Route35.asm
@@ -41,7 +41,7 @@
 	checkevent EVENT_IRWIN_ASKED_FOR_PHONE_NUMBER
 	iftrue UnknownScript_0x19c8ec
 	writetext UnknownText_0x19cd5a
-	keeptextopen
+	buttonsound
 	setevent EVENT_IRWIN_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x19c903
 	jump UnknownScript_0x19c8ef
@@ -144,7 +144,7 @@
 	checkevent EVENT_ARNIE_ASKED_FOR_PHONE_NUMBER
 	iftrue UnknownScript_0x19c9a4
 	writetext UnknownText_0x19cdf6
-	keeptextopen
+	buttonsound
 	setevent EVENT_ARNIE_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x19c903
 	jump UnknownScript_0x19c9a7
--- a/maps/Route35Goldenrodgate.asm
+++ b/maps/Route35Goldenrodgate.asm
@@ -23,7 +23,7 @@
 	yesorno
 	iffalse .refused
 	writetext UnknownText_0x69e48
-	keeptextopen
+	buttonsound
 	waitsfx
 	checkcode VAR_PARTYCOUNT
 	if_equal PARTY_LENGTH, .partyfull
@@ -53,7 +53,7 @@
 
 .questcomplete:
 	writetext UnknownText_0x69f8b
-	keeptextopen
+	buttonsound
 	verbosegiveitem HP_UP
 	iffalse .bagfull
 	setevent EVENT_GOT_HP_UP_FROM_RANDY
--- a/maps/Route35NationalParkgate.asm
+++ b/maps/Route35NationalParkgate.asm
@@ -107,7 +107,7 @@
 	setflag ENGINE_BUG_CONTEST_TIMER
 	special PlayMapMusic
 	writetext UnknownText_0x6a39d
-	keeptextopen
+	buttonsound
 	writetext UnknownText_0x6a3c7
 	playsound SFX_ITEM
 	waitsfx
@@ -149,11 +149,11 @@
 	iftrue Route35NationalParkgate_FirstMonIsFainted
 	setevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER
 	writetext UnknownText_0x6a537
-	keeptextopen
+	buttonsound
 	writetext UnknownText_0x6a56b
 	playsound SFX_GOT_SAFARI_BALLS
 	waitsfx
-	keeptextopen
+	buttonsound
 	jump Route35NationalParkgate_OkayToProceed
 
 Route35NationalParkgate_DeclinedToParticipate:
--- a/maps/Route36.asm
+++ b/maps/Route36.asm
@@ -145,7 +145,7 @@
 
 UnknownScript_0x1940cd:
 	writetext UnknownText_0x1944d0
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_ROCK_SMASH
 	iffalse UnknownScript_0x1940de
 	setevent EVENT_GOT_TM08_ROCK_SMASH
@@ -188,7 +188,7 @@
 	checkevent EVENT_ALAN_ASKED_FOR_PHONE_NUMBER
 	iftrue UnknownScript_0x194129
 	writetext UnknownText_0x1947aa
-	keeptextopen
+	buttonsound
 	setevent EVENT_ALAN_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x1941c9
 	jump UnknownScript_0x19412c
@@ -331,11 +331,11 @@
 	checkevent EVENT_MET_ARTHUR_OF_THURSDAY
 	iftrue .MetArthur
 	writetext MeetArthurText
-	keeptextopen
+	buttonsound
 	setevent EVENT_MET_ARTHUR_OF_THURSDAY
 .MetArthur
 	writetext ArthurGivesGiftText
-	keeptextopen
+	buttonsound
 	verbosegiveitem HARD_STONE
 	iffalse ArthurDoneScript
 	setevent EVENT_GOT_HARD_STONE_FROM_ARTHUR
--- a/maps/Route36NationalParkgate.asm
+++ b/maps/Route36NationalParkgate.asm
@@ -168,7 +168,7 @@
 	setflag ENGINE_BUG_CONTEST_TIMER
 	special PlayMapMusic
 	writetext UnknownText_0x6ae87
-	keeptextopen
+	buttonsound
 	waitsfx
 	writetext UnknownText_0x6aeb1
 	playsound SFX_ITEM
@@ -201,11 +201,11 @@
 	iftrue .FirstMonIsFainted
 	setevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER
 	writetext UnknownText_0x6b021
-	keeptextopen
+	buttonsound
 	writetext UnknownText_0x6b055
 	playsound SFX_GOT_SAFARI_BALLS
 	waitsfx
-	keeptextopen
+	buttonsound
 	jump .ResumeStartingContest
 
 .DecidedNotToJoinContest:
@@ -254,7 +254,7 @@
 
 .Sunstone:
 	writetext UnknownText_0x6b97f
-	keeptextopen
+	buttonsound
 	verbosegiveitem SUN_STONE
 	iffalse .BagFull
 	clearevent EVENT_CONTEST_OFFICER_HAS_SUN_STONE
@@ -263,7 +263,7 @@
 
 .Everstone:
 	writetext UnknownText_0x6b97f
-	keeptextopen
+	buttonsound
 	verbosegiveitem EVERSTONE
 	iffalse .BagFull
 	clearevent EVENT_CONTEST_OFFICER_HAS_EVERSTONE
@@ -272,7 +272,7 @@
 
 .GoldBerry:
 	writetext UnknownText_0x6b97f
-	keeptextopen
+	buttonsound
 	verbosegiveitem GOLD_BERRY
 	iffalse .BagFull
 	clearevent EVENT_CONTEST_OFFICER_HAS_GOLD_BERRY
@@ -281,7 +281,7 @@
 
 .Berry:
 	writetext UnknownText_0x6b97f
-	keeptextopen
+	buttonsound
 	verbosegiveitem BERRY
 	iffalse .BagFull
 	clearevent EVENT_CONTEST_OFFICER_HAS_BERRY
--- a/maps/Route37.asm
+++ b/maps/Route37.asm
@@ -71,17 +71,17 @@
 	checkevent EVENT_MET_SUNNY_OF_SUNDAY
 	iftrue .MetSunny
 	writetext MeetSunnyText
-	keeptextopen
+	buttonsound
 	setevent EVENT_MET_SUNNY_OF_SUNDAY
 .MetSunny
 	checkflag ENGINE_PLAYER_IS_FEMALE
 	iftrue .Kris
 	writetext SunnyGivesGiftText1
-	keeptextopen
+	buttonsound
 	jump .next
 .Kris
 	writetext SunnyGivesGiftText2
-	keeptextopen
+	buttonsound
 .next
 	verbosegiveitem MAGNET
 	iffalse SunnyDoneScript
--- a/maps/Route38.asm
+++ b/maps/Route38.asm
@@ -52,7 +52,7 @@
 	checkevent EVENT_DANA_ASKED_FOR_PHONE_NUMBER
 	iftrue .SecondTimeAsking
 	writetext UnknownText_0x1a20ec
-	keeptextopen
+	buttonsound
 	setevent EVENT_DANA_ASKED_FOR_PHONE_NUMBER
 	scall .AskNumber1F
 	jump .AskForPhoneNumber
@@ -188,7 +188,7 @@
 	checkevent EVENT_CHAD_ASKED_FOR_PHONE_NUMBER
 	iftrue .SecondTimeAsking
 	writetext UnknownText_0x1a200e
-	keeptextopen
+	buttonsound
 	setevent EVENT_CHAD_ASKED_FOR_PHONE_NUMBER
 	scall .AskPhoneNumber1
 	jump .AskToRegisterNumber
--- a/maps/Route39.asm
+++ b/maps/Route39.asm
@@ -41,7 +41,7 @@
 	checkevent EVENT_DEREK_ASKED_FOR_PHONE_NUMBER
 	iftrue UnknownScript_0x1a5b33
 	writetext UnknownText_0x1a5cf8
-	keeptextopen
+	buttonsound
 	setevent EVENT_DEREK_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x1a5b62
 	jump UnknownScript_0x1a5b36
--- a/maps/Route39Barn.asm
+++ b/maps/Route39Barn.asm
@@ -53,7 +53,7 @@
 	writetext Text_WeakMoo
 	writebyte MILTANK
 	special PlaySlowCry
-	keeptextopen
+	buttonsound
 	writetext Text_ItsCryIsWeak
 	checkevent EVENT_TALKED_TO_FARMER_ABOUT_MOOMOO
 	iftrue .GiveBerry
@@ -62,7 +62,7 @@
 	end
 
 .GiveBerry:
-	keeptextopen
+	buttonsound
 	writetext Text_AskGiveBerry
 	yesorno
 	iffalse .Refused
@@ -82,7 +82,7 @@
 
 .ThreeBerries:
 	writetext Text_GaveBerry
-	keeptextopen
+	buttonsound
 	writetext Text_LittleHealthier
 	waitbutton
 	closetext
@@ -90,7 +90,7 @@
 
 .FiveBerries:
 	writetext Text_GaveBerry
-	keeptextopen
+	buttonsound
 	writetext Text_QuiteHealthy
 	waitbutton
 	closetext
@@ -100,7 +100,7 @@
 	playmusic MUSIC_HEAL
 	writetext Text_GaveBerry
 	pause 60
-	keeptextopen
+	buttonsound
 	special RestartMapMusic
 	writetext Text_TotallyHealthy
 	waitbutton
--- a/maps/Route39Farmhouse.asm
+++ b/maps/Route39Farmhouse.asm
@@ -36,7 +36,7 @@
 	waitsfx
 	playsound SFX_TRANSACTION
 	writetext UnknownText_0x9d05d
-	keeptextopen
+	buttonsound
 	itemnotify
 	closetext
 	end
@@ -79,7 +79,7 @@
 
 UnknownScript_0x9cf22:
 	writetext UnknownText_0x9d156
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_SNORE
 	iffalse UnknownScript_0x9cf33
 	setevent EVENT_GOT_TM13_SNORE_FROM_MOOMOO_FARM
--- a/maps/Route40.asm
+++ b/maps/Route40.asm
@@ -105,11 +105,11 @@
 	checkevent EVENT_MET_MONICA_OF_MONDAY
 	iftrue .MetMonica
 	writetext MeetMonicaText
-	keeptextopen
+	buttonsound
 	setevent EVENT_MET_MONICA_OF_MONDAY
 .MetMonica
 	writetext MonicaGivesGiftText
-	keeptextopen
+	buttonsound
 	verbosegiveitem SHARP_BEAK
 	iffalse MonicaDoneScript
 	setevent EVENT_GOT_SHARP_BEAK_FROM_MONICA
--- a/maps/Route42.asm
+++ b/maps/Route42.asm
@@ -54,7 +54,7 @@
 	checkevent EVENT_TULLY_ASKED_FOR_PHONE_NUMBER
 	iftrue UnknownScript_0x1a9268
 	writetext UnknownText_0x1a93ab
-	keeptextopen
+	buttonsound
 	setevent EVENT_TULLY_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x1a92f1
 	jump UnknownScript_0x1a926b
--- a/maps/Route43.asm
+++ b/maps/Route43.asm
@@ -65,7 +65,7 @@
 	checkevent EVENT_BRENT_ASKED_FOR_PHONE_NUMBER
 	iftrue UnknownScript_0x19d0b8
 	writetext UnknownText_0x19d359
-	keeptextopen
+	buttonsound
 	setevent EVENT_BRENT_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x19d12c
 	jump UnknownScript_0x19d0bb
@@ -196,7 +196,7 @@
 	checkevent EVENT_TIFFANY_ASKED_FOR_PHONE_NUMBER
 	iftrue UnknownScript_0x19d1aa
 	writetext UnknownText_0x19d618
-	keeptextopen
+	buttonsound
 	setevent EVENT_TIFFANY_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x19d239
 	jump UnknownScript_0x19d1ad
--- a/maps/Route43Gate.asm
+++ b/maps/Route43Gate.asm
@@ -52,7 +52,7 @@
 	applymovement ROUTE43GATE_ROCKET1, MovementData_0x19aca4
 	loadfont
 	writetext UnknownText_0x19acd2
-	keeptextopen
+	buttonsound
 	checkmoney $0, 999
 	if_equal $0, UnknownScript_0x19ac12
 	jump UnknownScript_0x19ac1d
@@ -68,7 +68,7 @@
 	jump UnknownScript_0x19ac28
 
 UnknownScript_0x19ac28:
-	keeptextopen
+	buttonsound
 	closetext
 	applymovement ROUTE43GATE_ROCKET1, MovementData_0x19acaa
 	applymovement ROUTE43GATE_ROCKET2, MovementData_0x19acc1
@@ -84,7 +84,7 @@
 	applymovement ROUTE43GATE_ROCKET2, MovementData_0x19acc7
 	loadfont
 	writetext UnknownText_0x19acd2
-	keeptextopen
+	buttonsound
 	checkmoney $0, 999
 	if_equal $0, UnknownScript_0x19ac5c
 	jump UnknownScript_0x19ac67
@@ -100,7 +100,7 @@
 	jump UnknownScript_0x19ac72
 
 UnknownScript_0x19ac72:
-	keeptextopen
+	buttonsound
 	closetext
 	applymovement ROUTE43GATE_ROCKET2, MovementData_0x19accd
 	applymovement ROUTE43GATE_ROCKET1, MovementData_0x19acb5
@@ -117,7 +117,7 @@
 	checkevent EVENT_GOT_TM36_SLUDGE_BOMB
 	iftrue UnknownScript_0x19ac9c
 	writetext UnknownText_0x19ad9b
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_SLUDGE_BOMB
 	iffalse UnknownScript_0x19aca0
 	setevent EVENT_GOT_TM36_SLUDGE_BOMB
--- a/maps/Route44.asm
+++ b/maps/Route44.asm
@@ -32,7 +32,7 @@
 	checkevent EVENT_VANCE_ASKED_FOR_PHONE_NUMBER
 	iftrue UnknownScript_0x19d853
 	writetext UnknownText_0x19dbf3
-	keeptextopen
+	buttonsound
 	setevent EVENT_VANCE_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x19d8df
 	jump UnknownScript_0x19d856
@@ -176,7 +176,7 @@
 	checkevent EVENT_WILTON_ASKED_FOR_PHONE_NUMBER
 	iftrue UnknownScript_0x19d957
 	writetext UnknownText_0x19daa8
-	keeptextopen
+	buttonsound
 	setevent EVENT_WILTON_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x19d8df
 	jump UnknownScript_0x19d95a
--- a/maps/Route45.asm
+++ b/maps/Route45.asm
@@ -160,7 +160,7 @@
 	checkevent EVENT_PARRY_ASKED_FOR_PHONE_NUMBER
 	iftrue UnknownScript_0x19e1a1
 	writetext UnknownText_0x19e434
-	keeptextopen
+	buttonsound
 	setevent EVENT_PARRY_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x19e11b
 	jump UnknownScript_0x19e1a4
--- a/maps/Route46.asm
+++ b/maps/Route46.asm
@@ -38,7 +38,7 @@
 	checkevent EVENT_ERIN_ASKED_FOR_PHONE_NUMBER
 	iftrue UnknownScript_0x1a96c3
 	writetext UnknownText_0x1a98c6
-	keeptextopen
+	buttonsound
 	setevent EVENT_ERIN_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x1a974f
 	jump UnknownScript_0x1a96c6
--- a/maps/Route5CleanseTagSpeechHouse.asm
+++ b/maps/Route5CleanseTagSpeechHouse.asm
@@ -15,7 +15,7 @@
 	checkevent EVENT_GOT_CLEANSE_TAG
 	iftrue UnknownScript_0x18b649
 	writetext UnknownText_0x18b655
-	keeptextopen
+	buttonsound
 	verbosegiveitem CLEANSE_TAG
 	iffalse UnknownScript_0x18b64d
 	setevent EVENT_GOT_CLEANSE_TAG
--- a/maps/RuinsofAlphKabutoChamber.asm
+++ b/maps/RuinsofAlphKabutoChamber.asm
@@ -99,7 +99,7 @@
 	checkevent EVENT_SOLVED_KABUTO_PUZZLE
 	iffalse UnknownScript_0x587c0
 	writetext UnknownText_0x589b8
-	keeptextopen
+	buttonsound
 UnknownScript_0x587c0:
 	writetext UnknownText_0x588f5
 	waitbutton
--- a/maps/RuinsofAlphOutside.asm
+++ b/maps/RuinsofAlphOutside.asm
@@ -82,7 +82,7 @@
 	iftrue .Next
 	setevent EVENT_TALKED_TO_RUINS_COWARD
 	writetext UnknownText_0x583a4
-	keeptextopen
+	buttonsound
 .Next
 	writetext UnknownText_0x58420
 	waitbutton
--- a/maps/SilphCo1F.asm
+++ b/maps/SilphCo1F.asm
@@ -18,7 +18,7 @@
 	checkevent EVENT_GOT_UP_GRADE
 	iftrue UnknownScript_0x18abfd
 	writetext UnknownText_0x18ac36
-	keeptextopen
+	buttonsound
 	verbosegiveitem UP_GRADE
 	iffalse UnknownScript_0x18ac01
 	setevent EVENT_GOT_UP_GRADE
--- a/maps/SlowpokeWellB2F.asm
+++ b/maps/SlowpokeWellB2F.asm
@@ -15,7 +15,7 @@
 	checkevent EVENT_GOT_KINGS_ROCK_IN_SLOWPOKE_WELL
 	iftrue UnknownScript_0x5ad22
 	writetext UnknownText_0x5ad2a
-	keeptextopen
+	buttonsound
 	verbosegiveitem KINGS_ROCK
 	iffalse UnknownScript_0x5ad20
 	setevent EVENT_GOT_KINGS_ROCK_IN_SLOWPOKE_WELL
--- a/maps/SproutTower3F.asm
+++ b/maps/SproutTower3F.asm
@@ -79,7 +79,7 @@
 	returnafterbattle
 	loadfont
 	writetext UnknownText_0x184cc2
-	keeptextopen
+	buttonsound
 	verbosegiveitem HM_FLASH
 	setevent EVENT_GOT_HM05_FLASH
 	setevent EVENT_BEAT_SAGE_LI
--- a/maps/TeamRocketBaseB2F.asm
+++ b/maps/TeamRocketBaseB2F.asm
@@ -291,7 +291,7 @@
 	spriteface PLAYER, RIGHT
 	loadfont
 	writetext UnknownText_0x6d809
-	keeptextopen
+	buttonsound
 	verbosegiveitem HM_WHIRLPOOL
 	setevent EVENT_GOT_HM06_WHIRLPOOL
 	writetext UnknownText_0x6d8f8
--- a/maps/TinTower1F.asm
+++ b/maps/TinTower1F.asm
@@ -200,7 +200,7 @@
 	checkevent EVENT_GOT_RAINBOW_WING
 	iftrue UnknownScript_0x1851b0
 	writetext UnknownText_0x185629
-	keeptextopen
+	buttonsound
 	verbosegiveitem RAINBOW_WING
 	closetext
 	refreshscreen $0
--- a/maps/TrainerHouseB1F.asm
+++ b/maps/TrainerHouseB1F.asm
@@ -21,7 +21,7 @@
 	checkflag ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY
 	iftrue UnknownScript_0x9b3f7
 	writetext UnknownText_0x9b420
-	keeptextopen
+	buttonsound
 	special SpecialTrainerHouse
 	iffalse UnknownScript_0x9b3a6
 	trainertotext CAL, CAL2, $0
@@ -31,7 +31,7 @@
 	trainertotext CAL, CAL3, $0
 UnknownScript_0x9b3aa:
 	writetext UnknownText_0x9b46a
-	keeptextopen
+	buttonsound
 	writetext UnknownText_0x9b487
 	yesorno
 	iffalse UnknownScript_0x9b3ed
--- a/maps/UndergroundPathSwitchRoomEntrances.asm
+++ b/maps/UndergroundPathSwitchRoomEntrances.asm
@@ -247,7 +247,7 @@
 MapUndergroundPathSwitchRoomEntrancesSignpost0Script:
 	loadfont
 	writetext UnknownText_0x7d554
-	keeptextopen
+	buttonsound
 	checkevent EVENT_SWITCH_1
 	iftrue UnknownScript_0x7cbcb
 	writetext UnknownText_0x7d617
@@ -272,7 +272,7 @@
 MapUndergroundPathSwitchRoomEntrancesSignpost1Script:
 	loadfont
 	writetext UnknownText_0x7d643
-	keeptextopen
+	buttonsound
 	checkevent EVENT_SWITCH_2
 	iftrue UnknownScript_0x7cc00
 	writetext UnknownText_0x7d617
@@ -297,7 +297,7 @@
 MapUndergroundPathSwitchRoomEntrancesSignpost2Script:
 	loadfont
 	writetext UnknownText_0x7d65a
-	keeptextopen
+	buttonsound
 	checkevent EVENT_SWITCH_3
 	iftrue UnknownScript_0x7cc35
 	writetext UnknownText_0x7d617
@@ -322,7 +322,7 @@
 MapUndergroundPathSwitchRoomEntrancesSignpost3Script:
 	loadfont
 	writetext UnknownText_0x7d671
-	keeptextopen
+	buttonsound
 	checkevent EVENT_EMERGENCY_SWITCH
 	iftrue UnknownScript_0x7cc70
 	writetext UnknownText_0x7d617
--- a/maps/UndergroundWarehouse.asm
+++ b/maps/UndergroundWarehouse.asm
@@ -77,7 +77,7 @@
 	checkevent EVENT_RECEIVED_CARD_KEY
 	iftrue UnknownScript_0x7d9de
 	writetext UnknownText_0x7dbc6
-	keeptextopen
+	buttonsound
 	verbosegiveitem CARD_KEY
 	setevent EVENT_RECEIVED_CARD_KEY
 	setevent EVENT_WAREHOUSE_LAYOUT_1
@@ -84,7 +84,7 @@
 	clearevent EVENT_WAREHOUSE_LAYOUT_2
 	clearevent EVENT_WAREHOUSE_LAYOUT_3
 	writetext UnknownText_0x7dc5b
-	keeptextopen
+	buttonsound
 UnknownScript_0x7d9de:
 	writetext UnknownText_0x7dc8d
 	waitbutton
--- a/maps/VermilionCity.asm
+++ b/maps/VermilionCity.asm
@@ -92,7 +92,7 @@
 
 .AllBadges
 	writetext UnknownText_0x1aacf3
-	keeptextopen
+	buttonsound
 	verbosegiveitem HP_UP
 	iffalse .Done
 	setevent EVENT_GOT_HP_UP_FROM_VERMILION_GUY
--- a/maps/VermilionPort.asm
+++ b/maps/VermilionPort.asm
@@ -100,7 +100,7 @@
 	yesorno
 	iffalse UnknownScript_0x74e8d
 	writetext UnknownText_0x74f8b
-	keeptextopen
+	buttonsound
 	checkitem S_S_TICKET
 	iffalse UnknownScript_0x74e68
 	writetext UnknownText_0x74fc2
@@ -162,7 +162,7 @@
 	yesorno
 	iffalse UnknownScript_0x74e87
 	writetext UnknownText_0x74f8b
-	keeptextopen
+	buttonsound
 	checkitem S_S_TICKET
 	iffalse UnknownScript_0x74ed4
 	writetext UnknownText_0x74fc2
--- a/maps/VictoryRoadGate.asm
+++ b/maps/VictoryRoadGate.asm
@@ -29,7 +29,7 @@
 UnknownScript_0x9ba04:
 	loadfont
 	writetext UnknownText_0x9ba29
-	keeptextopen
+	buttonsound
 	checkcode VAR_BADGES
 	if_greater_than 7, UnknownScript_0x9ba19
 	writetext UnknownText_0x9ba5f
--- a/maps/VioletGym.asm
+++ b/maps/VioletGym.asm
@@ -39,7 +39,7 @@
 	domaptrigger ELMS_LAB, $2
 	specialphonecall SPECIALCALL_ASSISTANT
 	writetext UnknownText_0x685c8
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_MUD_SLAP
 	iffalse .NoRoomForMudSlap
 	setevent EVENT_GOT_TM31_MUD_SLAP
--- a/maps/ViridianCity.asm
+++ b/maps/ViridianCity.asm
@@ -57,7 +57,7 @@
 	checkevent EVENT_GOT_TM42_DREAM_EATER
 	iftrue UnknownScript_0x1a9a8a
 	writetext UnknownText_0x1a9cc4
-	keeptextopen
+	buttonsound
 	verbosegiveitem TM_DREAM_EATER
 	iffalse UnknownScript_0x1a9a8e
 	setevent EVENT_GOT_TM42_DREAM_EATER
--- a/maps/WarehouseEntrance.asm
+++ b/maps/WarehouseEntrance.asm
@@ -204,7 +204,7 @@
 	checkmoney $0, 500
 	if_equal $2, .NotEnoughMoney
 	writetext UnknownText_0x7c69a
-	keeptextopen
+	buttonsound
 	special Special_YoungerHaircutBrother
 	if_equal $0, .Refused
 	if_equal $1, .Refused
@@ -287,7 +287,7 @@
 	checkmoney $0, 300
 	if_equal $2, .NotEnoughMoney
 	writetext UnknownText_0x7c7f1
-	keeptextopen
+	buttonsound
 	special Special_OlderHaircutBrother
 	if_equal $0, .Refused
 	if_equal $1, .Refused
--- a/maps/WiseTriosRoom.asm
+++ b/maps/WiseTriosRoom.asm
@@ -103,7 +103,7 @@
 	showemote EMOTE_SHOCK, WISETRIOSROOM_SAGE6, 20
 	loadfont
 	writetext UnknownText_0x98c6c
-	keeptextopen
+	buttonsound
 	writetext UnknownText_0x98cac
 	waitbutton
 	closetext