shithub: pokecrystal

Download patch

ref: 01792e00d2d1b0fc1e5550f13a8851c21917aa60
parent: f599e477fc3306dbca9cad4aeadfe7a66b84c7bc
author: PikalaxALT <PikalaxALT@gmail.com>
date: Wed Nov 25 05:16:29 EST 2015

Rename several script commands

--- a/constants/misc_constants.asm
+++ b/constants/misc_constants.asm
@@ -48,6 +48,9 @@
 SET_FLAG   EQU 1
 CHECK_FLAG EQU 2
 
+; Boolean checks
+FALSE EQU 0
+TRUE  EQU 1
 
 ; joypad
 
--- a/data/battle_tower_2.asm
+++ b/data/battle_tower_2.asm
@@ -1,4 +1,3 @@
-
 BattleTowerTrainerData:: ; What exactly it is, I don't know
 ; Size is 70 (Nr of Trainers in BattleTower) * 0x24 (Nr of Bytes that are copied)
 ; Second argument points to an entry in Unknown_170470, to which the first argument is compared.
--- a/engine/breeding/egg.asm
+++ b/engine/breeding/egg.asm
@@ -194,7 +194,7 @@
 	call Function16f70
 	call ExitAllMenus
 	call RestartMapMusic
-	jp LoadMoveSprites
+	jp CloseText
 ; 16f70
 
 Function16f70: ; 16f70 (5:6f70)
--- a/engine/decorations.asm
+++ b/engine/decorations.asm
@@ -1246,9 +1246,9 @@
 DecorationDesc_TownMapPoster: ; 0x26f91
 	loadfont
 	writetext .TownMapText
-	closetext
+	waitbutton
 	special Special_TownMap
-	loadmovesprites
+	closetext
 	end
 ; 0x26f9b
 
--- a/engine/events_2.asm
+++ b/engine/events_2.asm
@@ -142,7 +142,7 @@
 ; 97cf9
 
 WildBattleScript: ; 97cf9
-	battlecheck
+	setup_random_encounter
 	startbattle
 	returnafterbattle
 	end
--- a/engine/fruit_trees.asm
+++ b/engine/fruit_trees.asm
@@ -9,7 +9,7 @@
 	callasm CheckFruitTree
 	iffalse .fruit
 	writetext NothingHereText
-	closetext
+	waitbutton
 	jump .end
 
 .fruit
@@ -27,10 +27,10 @@
 .packisfull
 	keeptextopen
 	writetext FruitPackIsFullText
-	closetext
+	waitbutton
 
 .end
-	loadmovesprites
+	closetext
 	end
 ; 44041
 
--- a/engine/link.asm
+++ b/engine/link.asm
@@ -1378,7 +1378,7 @@
 	hlcoord 0, 15
 	ld b, $1
 	ld c, $12
-	call Function28eef
+	call Predef_LinkTextbox
 	hlcoord 2, 16
 	ld de, String28ab4
 	call PlaceString
@@ -1487,7 +1487,7 @@
 	hlcoord 0, 12
 	ld b, $4
 	ld c, $12
-	call Function28eef
+	call Predef_LinkTextbox
 	callba Function4d354
 	ld hl, UnknownText_0x28aaf
 	bccoord 1, 14
@@ -1509,7 +1509,7 @@
 	hlcoord 0, 12
 	ld b, $4
 	ld c, $12
-	call Function28eef
+	call Predef_LinkTextbox
 	callba Function4d354
 	ld hl, UnknownText_0x28ac4
 	bccoord 1, 14
@@ -1519,7 +1519,7 @@
 	hlcoord 0, 12
 	ld b, $4
 	ld c, $12
-	call Function28eef
+	call Predef_LinkTextbox
 	hlcoord 1, 14
 	ld de, String28ece
 	call PlaceString
@@ -1666,7 +1666,7 @@
 	hlcoord 0, 12
 	ld b, $4
 	ld c, $12
-	call Function28eef
+	call Predef_LinkTextbox
 	callba Function4d354
 	ld a, [wd002]
 	ld hl, PartySpecies
@@ -1695,7 +1695,7 @@
 	hlcoord 10, 7
 	ld b, $3
 	ld c, $7
-	call Function28eef
+	call Predef_LinkTextbox
 	ld de, String28eab
 	hlcoord 12, 8
 	call PlaceString
@@ -1735,7 +1735,7 @@
 	hlcoord 0, 12
 	ld b, 4
 	ld c, 18
-	call Function28eef
+	call Predef_LinkTextbox
 	hlcoord 1, 14
 	ld de, String28ece
 	call PlaceString
@@ -1752,7 +1752,7 @@
 	hlcoord 0, 12
 	ld b, 4
 	ld c, 18
-	call Function28eef
+	call Predef_LinkTextbox
 	hlcoord 1, 14
 	ld de, String28ece
 	call PlaceString
@@ -1982,7 +1982,7 @@
 	hlcoord 0, 12
 	ld b, 4
 	ld c, 18
-	call Function28eef
+	call Predef_LinkTextbox
 	hlcoord 1, 14
 	ld de, String28ebd
 	call PlaceString
@@ -2019,10 +2019,10 @@
 	next "was canceled!@"
 
 
-Function28eef: ; 28eef
+Predef_LinkTextbox: ; 28eef
 	ld d, h
 	ld e, l
-	callba Function16d6ca
+	callba LinkTextbox
 	ret
 ; 28ef8
 
@@ -2041,11 +2041,11 @@
 	hlcoord 0, 0
 	ld b, 6
 	ld c, 18
-	call Function28eef
+	call Predef_LinkTextbox
 	hlcoord 0, 8
 	ld b, 6
 	ld c, 18
-	call Function28eef
+	call Predef_LinkTextbox
 	callba Functionfb60d
 	ret
 ; 28f24
--- a/engine/map_objects.asm
+++ b/engine/map_objects.asm
@@ -2736,7 +2736,7 @@
 	ld a, PLAYER
 	call Function5629 ; respawn player
 
-	ld a, [wd459]
+	ld a, [wBattleScriptFlags]
 	bit 7, a
 	jr z, .ok
 
--- a/engine/menu.asm
+++ b/engine/menu.asm
@@ -4,7 +4,7 @@
 	rst FarCall
 	call Function24085
 	call UpdateSprites
-	call Function321c
+	call ApplyTilemap
 	call Function2408f
 	ret
 ; 24022
@@ -16,7 +16,7 @@
 	call Function24085
 	callba MobileTextBorder
 	call UpdateSprites
-	call Function321c
+	call ApplyTilemap
 	call Function2408f
 	ret
 ; 2403c
@@ -28,7 +28,7 @@
 	call Function24085
 	callba MobileTextBorder
 	call UpdateSprites
-	call Function321c
+	call ApplyTilemap
 	call Function2411a
 	ld hl, wcfa5
 	set 7, [hl]
--- a/engine/phone.asm
+++ b/engine/phone.asm
@@ -443,9 +443,9 @@
 	refreshscreen $0
 	callasm RingTwice_StartCall
 	ptcall wd048
-	closetext
+	waitbutton
 	callasm HangUp
-	loadmovesprites
+	closetext
 	callasm InitCallReceiveDelay
 	end
 ; 0x90255
--- a/engine/phone_scripts.asm
+++ b/engine/phone_scripts.asm
@@ -188,7 +188,7 @@
 
 BillPhoneScript2: ; 0xbd007
 	farwritetext BillPhoneNewlyFullText
-	closetext
+	waitbutton
 	end
 
 ; Elm
--- a/engine/pokecenter_pc.asm
+++ b/engine/pokecenter_pc.asm
@@ -188,7 +188,7 @@
 	and a
 	jr nz, .asm_156f9
 	call OverworldTextModeSwitch
-	call Function321c
+	call ApplyTilemap
 	call UpdateSprites
 	call PC_PlayShutdownSound
 	ld c, $0
@@ -466,16 +466,16 @@
 
 
 Function158cc: ; 0x158cc
-	ld a, [wc2ce]
+	ld a, [wSpriteUpdatesEnabled]
 	push af
 	ld a, $0
-	ld [wc2ce], a
+	ld [wSpriteUpdatesEnabled], a
 	callba CheckItemMenu
 	ld a, [wItemAttributeParamBuffer]
 	ld hl, .jumptable
 	rst JumpTable
 	pop af
-	ld [wc2ce], a
+	ld [wSpriteUpdatesEnabled], a
 	ret
 ; 0x158e7
 
@@ -577,10 +577,10 @@
 	xor a
 	ld [wd0e3], a
 .asm_15989
-	ld a, [wc2ce]
+	ld a, [wSpriteUpdatesEnabled]
 	push af
 	ld a, $0
-	ld [wc2ce], a
+	ld [wSpriteUpdatesEnabled], a
 	ld hl, MenuData15a08
 	call CopyMenuDataHeader
 	hlcoord 0, 0
@@ -597,7 +597,7 @@
 	ld a, [MenuSelection2]
 	ld [wd0d7], a
 	pop af
-	ld [wc2ce], a
+	ld [wSpriteUpdatesEnabled], a
 	ld a, [wd0e3]
 	and a
 	jr nz, .asm_159d8
--- a/engine/predef.asm
+++ b/engine/predef.asm
@@ -46,7 +46,7 @@
 	add_predef CalcPkmnStatC
 	add_predef CanLearnTMHMMove
 	add_predef GetTMHMMove
-	add_predef Function28eef ; $ 10
+	add_predef Predef_LinkTextbox ; $ 10
 	add_predef PrintMoveDesc
 	add_predef UpdatePlayerHUD
 	add_predef FillBox
--- a/engine/scripting.asm
+++ b/engine/scripting.asm
@@ -143,7 +143,7 @@
 	dw Script_pocketisfull
 	dw Script_loadfont
 	dw Script_refreshscreen
-	dw Script_loadmovesprites
+	dw Script_closetext
 	dw Script_loadbytec2cf
 	dw Script_farwritetext
 	dw Script_writetext
@@ -156,26 +156,26 @@
 	dw Script_farjumptext
 ENDC
 	dw Script_jumptext
-	dw Script_closetext
+	dw Script_waitbutton
 	dw Script_keeptextopen
 	dw Script_pokepic
-	dw Script_pokepicyesorno
+	dw Script_closepokepic
 	dw Script_interpretmenu
 	dw Script_interpretmenu2
 	dw Script_loadpikachudata
-	dw Script_battlecheck
-	dw Script_loadtrainerdata
-	dw Script_loadpokedata
-	dw Script_loadtrainer
+	dw Script_setup_random_encounter
+	dw Script_memtrainerdata
+	dw Script_scriptedpokedata
+	dw Script_scriptedtrainerdata
 	dw Script_startbattle
 	dw Script_returnafterbattle
 	dw Script_catchtutorial
 	dw Script_trainertext
-	dw Script_trainerstatus
+	dw Script_trainerflagaction
 	dw Script_winlosstext
 	dw Script_scripttalkafter
-	dw Script_talkaftercancel
-	dw Script_talkaftercheck
+	dw Script_end_if_just_battled
+	dw Script_check_just_battled
 	dw Script_setlasttalked
 	dw Script_applymovement
 	dw Script_applymovement2
@@ -200,13 +200,13 @@
 	dw Script_writecmdqueue
 	dw Script_delcmdqueue
 	dw Script_playmusic
-	dw Script_playrammusic
+	dw Script_encountermusic
 	dw Script_musicfadeout
 	dw Script_playmapmusic
 	dw Script_reloadmapmusic
 	dw Script_cry
 	dw Script_playsound
-	dw Script_waitbutton
+	dw Script_waitsfx
 	dw Script_warpsound
 	dw Script_specialsound
 	dw Script_passtoengine
@@ -347,8 +347,8 @@
 JumpTextScript: ; 96e7a
 	loadfont
 	repeattext -1, -1
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 ; 96e81
 
@@ -431,10 +431,10 @@
 	ret
 ; 96ed9
 
-Script_closetext: ; 96ed9
+Script_waitbutton: ; 96ed9
 ; script command 0x54
 
-	jp CloseText
+	jp WaitButton
 ; 96edc
 
 Script_keeptextopen: ; 96edc
@@ -455,9 +455,9 @@
 ; script command 0x4e
 
 	call YesNoBox
-	ld a, 0
+	ld a, FALSE
 	jr c, .no
-	ld a, 1
+	ld a, TRUE
 .no
 	ld [ScriptVar], a
 	ret
@@ -502,10 +502,10 @@
 	ret
 ; 96f29
 
-Script_pokepicyesorno: ; 96f29
+Script_closepokepic: ; 96f29
 ; script command 0x57
 
-	callba PokepicYesOrNo
+	callba ClosePokepic
 	ret
 ; 96f30
 
@@ -575,9 +575,9 @@
 	callasm ret_96f76
 	writetext ReceivedItemText
 	iffalse .Full
-	waitbutton
+	waitsfx
 	specialsound
-	closetext
+	waitbutton
 	itemnotify
 	end
 
@@ -611,7 +611,7 @@
 	ld [wItemQuantityChangeBuffer], a
 	ld hl, NumItems
 	call ReceiveItem
-	ld a, 1
+	ld a, TRUE
 	jr c, .ok2
 	xor a
 .ok2
@@ -748,7 +748,7 @@
 	ld b, a
 	callba Elevator
 	ret c
-	ld a, $1
+	ld a, TRUE
 	ld [ScriptVar], a
 	ret
 ; 97099
@@ -885,7 +885,7 @@
 	jp ScriptJump
 ; 97132
 
-Script_trainerstatus: ; 97132
+Script_trainerflagaction: ; 97132
 ; script command 0x63
 ; parameters:
 ;     action (SingleByteParam)
@@ -902,7 +902,7 @@
 	ld a, c
 	and a
 	ret z
-	ld a, 1
+	ld a, TRUE
 	ld [ScriptVar], a
 	ret
 ; 9714c
@@ -926,21 +926,21 @@
 	ret
 ; 97163
 
-Script_talkaftercancel: ; 97163
+Script_end_if_just_battled: ; 97163
 ; script command 0x66
 
-	ld a, [wd04d]
+	ld a, [wRunningTrainerBattleScript]
 	and a
 	ret z
 	jp Script_end
 ; 9716b
 
-Script_talkaftercheck: ; 9716b
+Script_check_just_battled: ; 9716b
 ; script command 0x67
 
-	ld a, 1
+	ld a, TRUE
 	ld [ScriptVar], a
-	ld a, [wd04d]
+	ld a, [wRunningTrainerBattleScript]
 	and a
 	ret nz
 	xor a
@@ -948,7 +948,7 @@
 	ret
 ; 9717a
 
-Script_playrammusic: ; 9717a
+Script_encountermusic: ; 9717a
 ; script command 0x80
 
 	ld a, [OtherTrainerClass]
@@ -1011,7 +1011,7 @@
 	ret
 ; 971c3
 
-Script_waitbutton: ; 971c3
+Script_waitsfx: ; 971c3
 ; script command 0x86
 
 	call WaitSFX
@@ -1481,19 +1481,19 @@
 	ret
 ; 973fb
 
-Script_battlecheck: ; 973fb
+Script_setup_random_encounter: ; 973fb
 ; script command 0x5b
 
 	xor a
-	ld [wd459], a
+	ld [wBattleScriptFlags], a
 	ret
 ; 97400
 
-Script_loadtrainerdata: ; 97400
+Script_memtrainerdata: ; 97400
 ; script command 0x5c
 
 	ld a, (1 << 7) | 1
-	ld [wd459], a
+	ld [wBattleScriptFlags], a
 	ld a, [WalkingDirection]
 	ld [OtherTrainerClass], a
 	ld a, [FacingDirection]
@@ -1501,7 +1501,7 @@
 	ret
 ; 97412
 
-Script_loadpokedata: ; 97412
+Script_scriptedpokedata: ; 97412
 ; script command 0x5d
 ; parameters:
 ;     pokemon (PokemonParam)
@@ -1508,7 +1508,7 @@
 ;     level (DecimalParam)
 
 	ld a, (1 << 7)
-	ld [wd459], a
+	ld [wBattleScriptFlags], a
 	call GetScriptByte
 	ld [TempWildMonSpecies], a
 	call GetScriptByte
@@ -1516,7 +1516,7 @@
 	ret
 ; 97424
 
-Script_loadtrainer: ; 97424
+Script_scriptedtrainerdata: ; 97424
 ; script command 0x5e
 ; parameters:
 ;     trainer_group (TrainerGroupParam)
@@ -1523,7 +1523,7 @@
 ;     trainer_id (TrainerIdParam)
 
 	ld a, (1 << 7) | 1
-	ld [wd459], a
+	ld [wBattleScriptFlags], a
 	call GetScriptByte
 	ld [OtherTrainerClass], a
 	call GetScriptByte
@@ -1557,7 +1557,7 @@
 Script_returnafterbattle: ; 97459
 ; script command 0x60
 
-	ld hl, wd459
+	ld hl, wBattleScriptFlags
 	ld d, [hl]
 	ld [hl], $0
 	ld a, [wBattleResult]
@@ -1589,7 +1589,7 @@
 ; script command 0x7b
 
 	xor a
-	ld [wd459], a
+	ld [wBattleScriptFlags], a
 	ld a, MAPSETUP_RELOADMAP
 	ld [hMapEntryMethod], a
 	ld a, $1
@@ -2362,7 +2362,7 @@
 	ld hl, NumItems
 	call ReceiveItem
 	jr nc, .full
-	ld a, $1
+	ld a, TRUE
 	ld [ScriptVar], a
 	ret
 .full
@@ -2388,7 +2388,7 @@
 	ld hl, NumItems
 	call TossItem
 	ret nc
-	ld a, $1
+	ld a, TRUE
 	ld [ScriptVar], a
 	ret
 ; 97812
@@ -2405,7 +2405,7 @@
 	ld hl, NumItems
 	call CheckItem
 	ret nc
-	ld a, 1
+	ld a, TRUE
 	ld [ScriptVar], a
 	ret
 ; 97829
@@ -2534,7 +2534,7 @@
 	call GetScriptByte
 	and c
 	ret z
-	ld a, $1
+	ld a, TRUE
 	ld [ScriptVar], a
 	ret
 ; 978c3
@@ -2551,7 +2551,7 @@
 	ld de, 1
 	call IsInArray
 	ret nc
-	ld a, 1
+	ld a, TRUE
 	ld [ScriptVar], a
 	ret
 ; 978da
@@ -2567,7 +2567,7 @@
 	ld c, a
 	callba AddPhoneNumber
 	ret nc
-	ld a, $1
+	ld a, TRUE
 	ld [ScriptVar], a
 	ret
 ; 978ef
@@ -2583,7 +2583,7 @@
 	ld c, a
 	callba DelCellNum
 	ret nc
-	ld a, $1
+	ld a, TRUE
 	ld [ScriptVar], a
 	ret
 ; 97904
@@ -2600,7 +2600,7 @@
 	ld c, a
 	callba CheckCellNum
 	ret nc
-	ld a, $1
+	ld a, TRUE
 	ld [ScriptVar], a
 	ret
 ; 97919
@@ -2624,7 +2624,7 @@
 	ld a, [wSpecialPhoneCallID]
 	and a
 	jr z, .ok
-	ld a, 1
+	ld a, TRUE
 .ok
 	ld [ScriptVar], a
 	ret
@@ -2728,7 +2728,7 @@
 	ld a, c
 	and a
 	jr z, .false
-	ld a, 1
+	ld a, TRUE
 .false
 	ld [ScriptVar], a
 	ret
@@ -2743,7 +2743,7 @@
 	ld e, a
 	call GetScriptByte
 	ld d, a
-	ld b, 1 ; set
+	ld b, SET_FLAG
 	call _EngineFlagAction
 	ret
 ; 979c9
@@ -2757,7 +2757,7 @@
 	ld e, a
 	call GetScriptByte
 	ld d, a
-	ld b, 0 ; clear
+	ld b, RESET_FLAG
 	call _EngineFlagAction
 	ret
 ; 979d7
@@ -2776,7 +2776,7 @@
 	ld a, c
 	and a
 	jr z, .false
-	ld a, 1
+	ld a, TRUE
 .false
 	ld [ScriptVar], a
 	ret
@@ -3053,15 +3053,15 @@
 ; 97b2e
 
 
-LoadMoveSpritesScript: ; 97b2e
-	loadmovesprites
+CloseTextScript: ; 97b2e
+	closetext
 ; 97b2f
 
-Script_loadmovesprites: ; 97b2f
+Script_closetext: ; 97b2f
 ; script command 0x49
 
 	call Function2e20
-	call LoadMoveSprites
+	call CloseText
 	ret
 ; 97b36
 
--- a/engine/selectmenu.asm
+++ b/engine/selectmenu.asm
@@ -9,8 +9,8 @@
 	ld b, BANK(ItemMayBeRegisteredText)
 	ld hl, ItemMayBeRegisteredText
 	call MapTextbox
-	call CloseText
-	jp LoadMoveSprites
+	call WaitButton
+	jp CloseText
 ; 13340
 
 
@@ -141,7 +141,7 @@
 .NoFunction ; 133df
 	call LoadFont
 	call CantUseItem
-	call LoadMoveSprites
+	call CloseText
 	and a
 	ret
 ; 133ea
@@ -149,7 +149,7 @@
 .Current ; 133ea
 	call LoadFont
 	call DoItemEffect
-	call LoadMoveSprites
+	call CloseText
 	and a
 	ret
 ; 133f5
@@ -159,7 +159,7 @@
 	call FadeToMenu
 	call DoItemEffect
 	call ReturnToCallingMenu
-	call LoadMoveSprites
+	call CloseText
 	and a
 	ret
 ; 13406
@@ -185,7 +185,7 @@
 
 ._cantuse
 	call CantUseItem
-	call LoadMoveSprites
+	call CloseText
 	and a
 	ret
 ; 1342d
--- a/engine/startmenu.asm
+++ b/engine/startmenu.asm
@@ -61,8 +61,8 @@
 .MenuReturns
 	dw .Reopen
 	dw .Exit
-	dw .ExitMenuCallFuncLoadMoveSprites
-	dw .ExitMenuRunScriptLoadMoveSprites
+	dw .ExitMenuCallFuncCloseText
+	dw .ExitMenuRunScriptCloseText
 	dw .ExitMenuRunScript
 	dw .ReturnEnd
 	dw .ReturnRedraw
@@ -78,7 +78,7 @@
 .ReturnEnd
 	call ExitMenu
 .ReturnEnd2
-	call LoadMoveSprites
+	call CloseText
 	call UpdateTimePals
 	ret
 
@@ -115,7 +115,7 @@
 	ret
 ; 12699
 
-.ExitMenuRunScriptLoadMoveSprites ; 12699
+.ExitMenuRunScriptCloseText ; 12699
 	call ExitMenu
 	ld a, HMENURETURN_SCRIPT
 	ld [hMenuReturn], a
@@ -122,7 +122,7 @@
 	jr .ReturnEnd2
 ; 126a2
 
-.ExitMenuCallFuncLoadMoveSprites ; 126a2
+.ExitMenuCallFuncCloseText ; 126a2
 	call ExitMenu
 	ld hl, wQueuedScriptAddr
 	ld a, [hli]
--- a/engine/std_scripts.asm
+++ b/engine/std_scripts.asm
@@ -138,8 +138,8 @@
 	spriteface LAST_TALKED, DOWN
 	pause 10
 
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .pokerus
@@ -148,14 +148,14 @@
 	iftrue .pokerus_comcenter
 
 	farwritetext UnknownText_0x1b0241
+	waitbutton
 	closetext
-	loadmovesprites
 	jump .pokerus_done
 
 .pokerus_comcenter
 	farwritetext UnknownText_0x1b02d6
+	waitbutton
 	closetext
-	loadmovesprites
 
 .pokerus_done
 	setflag ENGINE_POKERUS
@@ -183,9 +183,9 @@
 TownMapScript:
 	loadfont
 	farwritetext TownMapText
-	closetext
+	waitbutton
 	special Special_TownMap
-	loadmovesprites
+	closetext
 	end
 
 WindowScript:
@@ -194,8 +194,8 @@
 TVScript:
 	loadfont
 	farwritetext TVText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 HomepageScript:
@@ -205,7 +205,7 @@
 	loadfont
 	writebyte $0
 	special MapRadio
-	loadmovesprites
+	closetext
 	end
 
 Radio2Script:
@@ -213,7 +213,7 @@
 	loadfont
 	writebyte $4
 	special MapRadio
-	loadmovesprites
+	closetext
 	end
 
 TrashCanScript: ; 0xbc1a5
@@ -222,7 +222,7 @@
 PCScript:
 	loadfont
 	special PokemonCenterPC
-	loadmovesprites
+	closetext
 	end
 
 ElevatorButtonScript:
@@ -319,7 +319,7 @@
 	clearevent EVENT_CONTEST_OFFICER_HAS_BERRY
 	loadfont
 	farwritetext ContestResults_ReadyToJudgeText
-	closetext
+	waitbutton
 	special BugContestJudging
 	RAM2MEM $0
 	if_equal 1, BugContestResults_FirstPlace
@@ -327,7 +327,7 @@
 	if_equal 3, BugContestResults_ThirdPlace
 	farwritetext ContestResults_ConsolationPrizeText
 	keeptextopen
-	waitbutton
+	waitsfx
 	verbosegiveitem BERRY
 	iffalse BugContestResults_NoRoomForBerry
 
@@ -345,7 +345,7 @@
 	checkevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER
 	iffalse BugContestResults_DidNotLeaveMons
 	farwritetext ContestResults_ReturnPartyText
-	closetext
+	waitbutton
 	special ContestReturnMons
 BugContestResults_DidNotLeaveMons
 	special CheckPartyFullAfterContest
@@ -352,9 +352,9 @@
 	if_equal $0, BugContestResults_CleanUp
 	if_equal $2, BugContestResults_CleanUp
 	farwritetext ContestResults_PartyFullText
-	closetext
+	waitbutton
 BugContestResults_CleanUp
-	loadmovesprites
+	closetext
 	dotrigger $0
 	domaptrigger ROUTE_35_NATIONAL_PARK_GATE, $0
 	setevent EVENT_BUG_CATCHING_CONTESTANT_1A
@@ -386,7 +386,7 @@
 	setevent EVENT_GAVE_KURT_APRICORNS
 	itemtotext SUN_STONE, $1
 	farwritetext ContestResults_PlayerWonAPrizeText
-	closetext
+	waitbutton
 	verbosegiveitem SUN_STONE
 	iffalse BugContestResults_NoRoomForSunStone
 	jump BugContestResults_ReturnAfterWinnersPrize
@@ -395,7 +395,7 @@
 BugContestResults_SecondPlace ; 0xbc332
 	itemtotext EVERSTONE, $1
 	farwritetext ContestResults_PlayerWonAPrizeText
-	closetext
+	waitbutton
 	verbosegiveitem EVERSTONE
 	iffalse BugContestResults_NoRoomForEverstone
 	jump BugContestResults_ReturnAfterWinnersPrize
@@ -404,7 +404,7 @@
 BugContestResults_ThirdPlace ; 0xbc343
 	itemtotext GOLD_BERRY, $1
 	farwritetext ContestResults_PlayerWonAPrizeText
-	closetext
+	waitbutton
 	verbosegiveitem GOLD_BERRY
 	iffalse BugContestResults_NoRoomForGoldBerry
 	jump BugContestResults_ReturnAfterWinnersPrize
@@ -793,7 +793,7 @@
 RegisteredNumberMScript:
 	farwritetext RegisteredNumber1Text
 	playsound SFX_REGISTER_PHONE_NUMBER
-	waitbutton
+	waitsfx
 	keeptextopen
 	end
 
@@ -822,103 +822,103 @@
 
 .Jack
 	farwritetext JackNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Huey
 	farwritetext HueyNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Gaven
 	farwritetext GavenNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Jose
 	farwritetext JoseNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Joey
 	farwritetext JoeyNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Wade
 	farwritetext WadeNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Ralph
 	farwritetext RalphNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Anthony
 	farwritetext AnthonyNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Todd
 	farwritetext ToddNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Irwin
 	farwritetext IrwinNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Arnie
 	farwritetext ArnieNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Alan
 	farwritetext AlanNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Chad
 	farwritetext ChadNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Derek
 	farwritetext DerekNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Tully
 	farwritetext TullyNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Brent
 	farwritetext BrentNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Vance
 	farwritetext VanceNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Wilton
 	farwritetext WiltonNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Kenji
 	farwritetext KenjiNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Parry
 	farwritetext ParryNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 NumberDeclinedMScript:
@@ -946,103 +946,103 @@
 
 .Jack
 	farwritetext JackNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Huey
 	farwritetext HueyNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Gaven
 	farwritetext GavenNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Jose
 	farwritetext JoseNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Joey
 	farwritetext JoeyNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Wade
 	farwritetext WadeNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Ralph
 	farwritetext RalphNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Anthony
 	farwritetext AnthonyNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Todd
 	farwritetext ToddNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Irwin
 	farwritetext IrwinNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Arnie
 	farwritetext ArnieNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Alan
 	farwritetext AlanNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Chad
 	farwritetext ChadNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Derek
 	farwritetext DerekNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Tully
 	farwritetext TullyNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Brent
 	farwritetext BrentNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Vance
 	farwritetext VanceNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Wilton
 	farwritetext WiltonNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Kenji
 	farwritetext KenjiNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Parry
 	farwritetext ParryNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 PhoneFullMScript:
@@ -1070,103 +1070,103 @@
 
 .Jack
 	farwritetext JackPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Huey
 	farwritetext HueyPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Gaven
 	farwritetext GavenPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Jose
 	farwritetext JosePhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Joey
 	farwritetext JoeyPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Wade
 	farwritetext WadePhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Ralph
 	farwritetext RalphPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Anthony
 	farwritetext AnthonyPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Todd
 	farwritetext ToddPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Irwin
 	farwritetext IrwinPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Arnie
 	farwritetext ArniePhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Alan
 	farwritetext AlanPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Chad
 	farwritetext ChadPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Derek
 	farwritetext DerekPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Tully
 	farwritetext TullyPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Brent
 	farwritetext BrentPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Vance
 	farwritetext VancePhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Wilton
 	farwritetext WiltonPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Kenji
 	farwritetext KenjiPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Parry
 	farwritetext ParryPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 RematchMScript:
@@ -1191,88 +1191,88 @@
 
 .Jack
 	farwritetext JackRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Huey
 	farwritetext HueyRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Gaven
 	farwritetext GavenRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Jose
 	farwritetext JoseRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Joey
 	farwritetext JoeyRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Wade
 	farwritetext WadeRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Ralph
 	farwritetext RalphRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Anthony
 	farwritetext AnthonyRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Todd
 	farwritetext ToddRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Arnie
 	farwritetext ArnieRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Alan
 	farwritetext AlanRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Chad
 	farwritetext ChadRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Tully
 	farwritetext TullyRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Brent
 	farwritetext BrentRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Vance
 	farwritetext VanceRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Wilton
 	farwritetext WiltonRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Parry
 	farwritetext ParryRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GiftMScript:
@@ -1330,58 +1330,58 @@
 
 .Huey
 	farwritetext HueyPackFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Jose
 	farwritetext JosePackFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Joey
 	farwritetext JoeyPackFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Wade
 	farwritetext WadePackFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Alan
 	farwritetext AlanPackFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Derek
 	farwritetext DerekPackFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Tully
 	farwritetext TullyPackFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Vance
 	farwritetext VancePackFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Wilton
 	farwritetext WiltonPackFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Kenji
 	farwritetext KenjiPackFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Parry
 	farwritetext ParryPackFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 RematchGiftMScript:
@@ -1484,7 +1484,7 @@
 RegisteredNumberFScript:
 	farwritetext RegisteredNumber2Text
 	playsound SFX_REGISTER_PHONE_NUMBER
-	waitbutton
+	waitsfx
 	keeptextopen
 	end
 
@@ -1501,43 +1501,43 @@
 
 .Beverly
 	farwritetext BeverlyNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Beth
 	farwritetext BethNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Reena
 	farwritetext ReenaNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Liz
 	farwritetext LizNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Gina
 	farwritetext GinaNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Dana
 	farwritetext DanaNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Tiffany
 	farwritetext TiffanyNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Erin
 	farwritetext ErinNumberAcceptedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 NumberDeclinedFScript:
@@ -1553,43 +1553,43 @@
 
 .Beverly
 	farwritetext BeverlyNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Beth
 	farwritetext BethNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Reena
 	farwritetext ReenaNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Liz
 	farwritetext LizNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Gina
 	farwritetext GinaNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Dana
 	farwritetext DanaNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Tiffany
 	farwritetext TiffanyNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Erin
 	farwritetext ErinNumberDeclinedText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 PhoneFullFScript:
@@ -1605,43 +1605,43 @@
 
 .Beverly
 	farwritetext BeverlyPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Beth
 	farwritetext BethPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Reena
 	farwritetext ReenaPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Liz
 	farwritetext LizPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Gina
 	farwritetext GinaPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Dana
 	farwritetext DanaPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Tiffany
 	farwritetext TiffanyPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Erin
 	farwritetext ErinPhoneFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 RematchFScript:
@@ -1656,38 +1656,38 @@
 
 .Beth
 	farwritetext BethRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Reena
 	farwritetext ReenaRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Liz
 	farwritetext LizRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Gina
 	farwritetext GinaRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Dana
 	farwritetext DanaRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Tiffany
 	farwritetext TiffanyRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Erin
 	farwritetext ErinRematchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GiftFScript:
@@ -1724,28 +1724,28 @@
 
 .Beverly
 	farwritetext BeverlyPackFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Gina
 	farwritetext GinaPackFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Dana
 	farwritetext DanaPackFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Tiffany
 	farwritetext TiffanyPackFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .Erin
 	farwritetext ErinPackFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 RematchGiftFScript:
@@ -1762,8 +1762,8 @@
 	mapnametotext $0
 	loadfont
 	farwritetext GymStatue_CityGymText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GymStatue2Script:
@@ -1772,23 +1772,23 @@
 	farwritetext GymStatue_CityGymText
 	keeptextopen
 	farwritetext GymStatue_WinningTrainersText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ReceiveItemScript: ; 0xbcdb9
-	waitbutton
+	waitsfx
 	farwritetext ReceivedItemText
 	playsound SFX_ITEM
-	waitbutton
+	waitsfx
 	end
 ; 0xbcdc3
 
 ReceiveTogepiEggScript: ; 0xbcdc3
-	waitbutton
+	waitsfx
 	farwritetext ReceivedItemText
 	playsound SFX_GET_EGG_FROM_DAYCARE_LADY
-	waitbutton
+	waitsfx
 	end
 ; 0xbcdcd
 
@@ -1800,8 +1800,8 @@
 	checkitem COIN_CASE
 	iftrue CoinVendor_IntroScript
 	farwritetext CoinVendor_NoCoinCaseText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 ; 0xbcde0
 
@@ -1825,10 +1825,10 @@
 	if_equal $2, CoinVendor_NotEnoughMoneyScript
 	givecoins 50
 	takemoney $0, 1000
-	waitbutton
+	waitsfx
 	playsound SFX_TRANSACTION
 	farwritetext CoinVendor_Buy50CoinsText
-	closetext
+	waitbutton
 	jump CoinVendor_SellCoinsMenuScript
 ; 0xbce1b
 
@@ -1839,31 +1839,31 @@
 	if_equal $2, CoinVendor_NotEnoughMoneyScript
 	givecoins 500
 	takemoney $0, 10000
-	waitbutton
+	waitsfx
 	playsound SFX_TRANSACTION
 	farwritetext CoinVendor_Buy500CoinsText
-	closetext
+	waitbutton
 	jump CoinVendor_SellCoinsMenuScript
 ; 0xbce3f
 
 CoinVendor_NotEnoughMoneyScript: ; 0xbce3f
 	farwritetext CoinVendor_NotEnoughMoneyText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 ; 0xbce46
 
 CoinVendor_CoinCaseFullScript: ; 0xbce46
 	farwritetext CoinVendor_CoinCaseFullText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 ; 0xbce4d
 
 CoinVendor_CancelScript: ; 0xbce4d
 	farwritetext CoinVendor_CancelText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 ; 0xbce54
 
@@ -1892,20 +1892,20 @@
 	if_less_than 50, .Unhappy
 	if_less_than 150, .KindaHappy
 	farwritetext HappinessText3
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .KindaHappy
 	farwritetext HappinessText2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .Unhappy
 	farwritetext HappinessText1
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 Movement_ContestResults_WalkAfterWarp: ; bcea1
--- a/engine/timeset.asm
+++ b/engine/timeset.asm
@@ -6,7 +6,7 @@
 	ld [hInMenu], a
 
 	ld a, $0
-	ld [wc2ce], a
+	ld [wSpriteUpdatesEnabled], a
 	ld a, $10
 	ld [MusicFade], a
 	ld a, MUSIC_NONE % $100
@@ -436,7 +436,7 @@
 	ld [hl], $f5
 	hlcoord 10, 5
 	call Function909de
-	call Function321c
+	call ApplyTilemap
 	ld c, 10
 	call DelayFrames
 .asm_9096a
--- a/event/basement_key.asm
+++ b/event/basement_key.asm
@@ -29,6 +29,6 @@
 ; 507e1
 
 .BasementKeyScript: ; 0x507e1
-	loadmovesprites
+	closetext
 	farjump BasementDoorScript
 ; 0x507e6
--- a/event/card_key.asm
+++ b/event/card_key.asm
@@ -34,6 +34,6 @@
 ; 507af
 
 .CardKeyScript: ; 0x507af
-	loadmovesprites
+	closetext
 	farjump MapRadioTower3FSignpost2Script
 ; 0x507b4
--- a/event/itemball.asm
+++ b/event/itemball.asm
@@ -7,7 +7,7 @@
 	playsound SFX_ITEM
 	pause 60
 	itemnotify
-	loadmovesprites
+	closetext
 	end
 ; 0x122e3
 
@@ -14,10 +14,10 @@
 .no_room: ; 0x122e3
 	loadfont
 	writetext .text_found
-	closetext
+	waitbutton
 	writetext .text_bag_full
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 ; 0x122ee
 
--- a/event/itemfinder.asm
+++ b/event/itemfinder.asm
@@ -33,7 +33,7 @@
 	special UpdateTimePals
 	callasm .ItemfinderSound
 	writetext .Text_FoundSomething
-	loadmovesprites
+	closetext
 	end
 ; 0x125ba
 
@@ -41,7 +41,7 @@
 	reloadmappart
 	special UpdateTimePals
 	writetext .Text_FoundNothing
-	loadmovesprites
+	closetext
 	end
 ; 0x125c3
 
--- a/event/kurt.asm
+++ b/event/kurt.asm
@@ -139,7 +139,7 @@
 	call UpdateSprites
 	call .PlaceApricornName
 	call PlaceApricornQuantity
-	call Function321c
+	call ApplyTilemap
 	callba Function27a28
 	jr nc, .loop
 
--- a/event/poisonstep.asm
+++ b/event/poisonstep.asm
@@ -114,7 +114,7 @@
 	loadfont
 	callasm .CheckWhitedOut
 	iffalse .whiteout
-	loadmovesprites
+	closetext
 	end
 ; 50677
 
--- a/event/sacred_ash.asm
+++ b/event/sacred_ash.asm
@@ -58,12 +58,12 @@
 	special RotatePalettesLeftPalettes
 	special RotatePalettesRightPalettes
 	special RotatePalettesLeftPalettes
-	waitbutton
+	waitsfx
 	writetext UnknownText_0x50845
 	playsound SFX_CAUGHT_MON
+	waitsfx
 	waitbutton
 	closetext
-	loadmovesprites
 	end
 ; 0x50845
 
--- a/event/sweet_scent.asm
+++ b/event/sweet_scent.asm
@@ -11,12 +11,12 @@
 	special UpdateTimePals
 	callasm GetPartyNick
 	writetext UnknownText_0x50726
-	closetext
+	waitbutton
 	callasm SweetScentEncounter
 	iffalse UnknownScript_0x506e9
 	checkflag ENGINE_BUG_CONTEST_TIMER
 	iftrue UnknownScript_0x506e5
-	battlecheck
+	setup_random_encounter
 	startbattle
 	returnafterbattle
 	end
@@ -28,8 +28,8 @@
 
 UnknownScript_0x506e9: ; 0x506e9
 	writetext UnknownText_0x5072b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 ; 0x506ef
 
--- a/event/unown.asm
+++ b/event/unown.asm
@@ -124,7 +124,7 @@
 	ld [hBGMapMode], a
 	call MenuBox
 	call UpdateSprites
-	call Function321c
+	call ApplyTilemap
 	call MenuBoxCoord2Tile
 	inc hl
 	ld d, $0
--- a/event/whiteout.asm
+++ b/event/whiteout.asm
@@ -9,7 +9,7 @@
 
 Script_Whiteout: ; 0x124ce
 	writetext .WhitedOutText
-	closetext
+	waitbutton
 	special RotatePalettesRightPalettes
 	pause 40
 	special HealParty
--- a/home.asm
+++ b/home.asm
@@ -104,13 +104,13 @@
 	res 0, a
 	ld [VramState], a
 	ld a, $0
-	ld [wc2ce], a
+	ld [wSpriteUpdatesEnabled], a
 	ret
 ; 0x2ee4
 
 EnableSpriteUpdates:: ; 2ee4
 	ld a, $1
-	ld [wc2ce], a
+	ld [wSpriteUpdatesEnabled], a
 	ld a, [VramState]
 	set 0, a
 	ld [VramState], a
@@ -568,12 +568,12 @@
 ; 321c
 
 
-Function321c:: ; 321c
+ApplyTilemap:: ; 321c
 	ld a, [hCGB]
 	and a
 	jr z, .dmg
 
-	ld a, [wc2ce]
+	ld a, [wSpriteUpdatesEnabled]
 	cp 0
 	jr z, .dmg
 
@@ -1488,7 +1488,7 @@
 	ld a, [EngineBuffer1]
 	call FarCopyBytes
 	xor a
-	ld [wd04d], a
+	ld [wRunningTrainerBattleScript], a
 	scf
 	ret
 ; 36a5
--- a/home/battle.asm
+++ b/home/battle.asm
@@ -285,7 +285,7 @@
 	call SpeechTextBox
 	call MobileTextBorder
 	call UpdateSprites
-	call Function321c
+	call ApplyTilemap
 	pop hl
 	call PrintTextBoxText
 	ret
--- a/home/joypad.asm
+++ b/home/joypad.asm
@@ -313,7 +313,7 @@
 	jr .loop
 ; a46
 
-CloseText:: ; a46
+WaitButton:: ; a46
 	ld a, [hOAMUpdate]
 	push af
 	ld a, 1
--- a/home/map.asm
+++ b/home/map.asm
@@ -1091,7 +1091,7 @@
 	call Function2e31
 	ld a, 1
 	ld [hOAMUpdate], a
-	call Function321c
+	call ApplyTilemap
 	pop hl
 	call PrintTextBoxText
 	xor a
@@ -2043,7 +2043,7 @@
 Function2b74:: ; 0x2b74
 	push af
 	ld a, $1
-	ld [wc2ce], a
+	ld [wSpriteUpdatesEnabled], a
 	call ClearBGPalettes
 	call ClearSprites
 	call Function2bae
--- a/home/menu.asm
+++ b/home/menu.asm
@@ -77,7 +77,7 @@
 	call MenuBox
 	call UpdateSprites
 	call Function1c89
-	call Function321c
+	call ApplyTilemap
 	call CopyMenuData2
 	ld a, [wMenuData2Flags]
 	bit 7, a
@@ -262,7 +262,7 @@
 	push af
 	ld a, $1
 	ld [hOAMUpdate], a
-	call Function321c
+	call ApplyTilemap
 	pop af
 	ld [hOAMUpdate], a
 	ret
@@ -548,7 +548,7 @@
 
 MenuTextBoxWaitButton:: ; 2012
 	call MenuTextBox
-	call CloseText
+	call WaitButton
 	call ExitMenu
 	ret
 ; 201c
--- a/home/rtc.asm
+++ b/home/rtc.asm
@@ -2,7 +2,7 @@
 ; update time and time-sensitive palettes
 
 ; rtc enabled?
-	ld a, [wc2ce]
+	ld a, [wSpriteUpdatesEnabled]
 	cp 0
 	ret z
 	
--- a/home/text.asm
+++ b/home/text.asm
@@ -192,7 +192,7 @@
 	push hl
 	call SpeechTextBox
 	call UpdateSprites
-	call Function321c
+	call ApplyTilemap
 	pop hl
 	ret
 ; 1078
--- a/home/tilemap.asm
+++ b/home/tilemap.asm
@@ -16,7 +16,7 @@
 WriteBackup:: ; 0x1c17
 	push af
 	call ExitMenu
-	call Function321c
+	call ApplyTilemap
 	call UpdateSprites
 	pop af
 	ret
--- a/home/window.asm
+++ b/home/window.asm
@@ -16,7 +16,7 @@
 ; 2dcf
 
 
-LoadMoveSprites:: ; 2dcf
+CloseText:: ; 2dcf
 	ld a, [hOAMUpdate]
 	push af
 	ld a, $1
--- a/macros/event.asm
+++ b/macros/event.asm
@@ -491,9 +491,9 @@
 	db \1 ; dummy
 	endm
 
-	enum loadmovesprites_command
-loadmovesprites: macro
-	db loadmovesprites_command
+	enum closetext_command
+closetext: macro
+	db closetext_command
 	endm
 
 	enum loadbytec2cf_command
@@ -559,9 +559,9 @@
 	dw \1 ; text_pointer
 	endm
 
-	enum closetext_command
-closetext: macro
-	db closetext_command
+	enum waitbutton_command
+waitbutton: macro
+	db waitbutton_command
 	endm
 
 	enum keeptextopen_command
@@ -575,9 +575,9 @@
 	db \1 ; pokemon
 	endm
 
-	enum pokepicyesorno_command
-pokepicyesorno: macro
-	db pokepicyesorno_command
+	enum closepokepic_command
+closepokepic: macro
+	db closepokepic_command
 	endm
 
 	enum interpretmenu_command
@@ -595,26 +595,26 @@
 	db loadpikachudata_command
 	endm
 
-	enum battlecheck_command
-battlecheck: macro
-	db battlecheck_command
+	enum setup_random_encounter_command
+setup_random_encounter: macro
+	db setup_random_encounter_command
 	endm
 
-	enum loadtrainerdata_command
-loadtrainerdata: macro
-	db loadtrainerdata_command
+	enum memtrainerdata_command
+memtrainerdata: macro
+	db memtrainerdata_command
 	endm
 
-	enum loadpokedata_command
-loadpokedata: macro
-	db loadpokedata_command
+	enum scriptedpokedata_command
+scriptedpokedata: macro
+	db scriptedpokedata_command
 	db \1 ; pokemon
 	db \2 ; level
 	endm
 
-	enum loadtrainer_command
-loadtrainer: macro
-	db loadtrainer_command
+	enum scriptedtrainerdata_command
+scriptedtrainerdata: macro
+	db scriptedtrainerdata_command
 	db \1 ; trainer_group
 	db \2 ; trainer_id
 	endm
@@ -641,9 +641,9 @@
 	db \1 ; which_text
 	endm
 
-	enum trainerstatus_command
-trainerstatus: macro
-	db trainerstatus_command
+	enum trainerflagaction_command
+trainerflagaction: macro
+	db trainerflagaction_command
 	db \1 ; action
 	endm
 
@@ -659,14 +659,14 @@
 	db scripttalkafter_command
 	endm
 
-	enum talkaftercancel_command
-talkaftercancel: macro
-	db talkaftercancel_command
+	enum end_if_just_battled_command
+end_if_just_battled: macro
+	db end_if_just_battled_command
 	endm
 
-	enum talkaftercheck_command
-talkaftercheck: macro
-	db talkaftercheck_command
+	enum check_just_battled_command
+check_just_battled: macro
+	db check_just_battled_command
 	endm
 
 	enum setlasttalked_command
@@ -822,9 +822,9 @@
 	dw \1 ; music_pointer
 	endm
 
-	enum playrammusic_command
-playrammusic: macro
-	db playrammusic_command
+	enum encountermusic_command
+encountermusic: macro
+	db encountermusic_command
 	endm
 
 	enum musicfadeout_command
@@ -856,9 +856,9 @@
 	dw \1 ; sound_pointer
 	endm
 
-	enum waitbutton_command
-waitbutton: macro
-	db waitbutton_command
+	enum waitsfx_command
+waitsfx: macro
+	db waitsfx_command
 	endm
 
 	enum warpsound_command
--- a/macros/text.asm
+++ b/macros/text.asm
@@ -46,7 +46,7 @@
 	endm
 
 	enum WAIT_BUTTON
-text_waitbutton: macro
+text_waitsfx: macro
 	db WAIT_BUTTON
 	endm
 
--- a/main.asm
+++ b/main.asm
@@ -17,7 +17,7 @@
 	jr .proceed
 
 .notinbattle
-	predef Function28eef
+	predef Predef_LinkTextbox
 
 .proceed
 	hlcoord 4, 11
@@ -3410,7 +3410,7 @@
 	writetext UnknownText_0xc7c4
 	reloadmappart
 	callasm CutDownTreeOrGrass
-	loadmovesprites
+	closetext
 	end
 ; 0xc810
 
@@ -3565,7 +3565,7 @@
 	special UpdateTimePals
 	writetext UnknownText_0xc8f3
 	callasm BlindingFlash
-	loadmovesprites
+	closetext
 	end
 ; 0xc8f3
 
@@ -3662,8 +3662,8 @@
 
 UsedSurfScript: ; c986
 	writetext UsedSurfText ; "used SURF!"
+	waitbutton
 	closetext
-	loadmovesprites
 
 	callasm Functionc9a2 ; empty function
 
@@ -3806,7 +3806,7 @@
 	writetext AskSurfText
 	yesorno
 	iftrue UsedSurfScript
-	loadmovesprites
+	closetext
 	end
 ; ca36
 
@@ -3962,8 +3962,8 @@
 Script_UsedWaterfall: ; 0xcb20
 	callasm GetPartyNick
 	writetext UnknownText_0xcb51
+	waitbutton
 	closetext
-	loadmovesprites
 	playsound SFX_BUBBLEBEAM
 .loop
 	applymovement PLAYER, WaterfallStep
@@ -4031,7 +4031,7 @@
 	writetext UnknownText_0xcb90
 	yesorno
 	iftrue Script_UsedWaterfall
-	loadmovesprites
+	closetext
 	end
 ; 0xcb90
 
@@ -4159,8 +4159,8 @@
 	writetext UnknownText_0xcc1c
 
 UsedDigOrEscapeRopeScript: ; 0xcc3c
+	waitbutton
 	closetext
-	loadmovesprites
 	playsound SFX_WARP_TO
 	applymovement PLAYER, .DigOut
 	farscall Script_AbortBugContest
@@ -4257,7 +4257,7 @@
 	writetext UnknownText_0xccb1
 	pause 60
 	reloadmappart
-	loadmovesprites
+	closetext
 	playsound SFX_WARP_TO
 	applymovement PLAYER, .TeleportFrom
 	farscall Script_AbortBugContest
@@ -4347,7 +4347,7 @@
 	cry 0
 	pause 3
 	writetext UnknownText_0xcd46
-	loadmovesprites
+	closetext
 	end
 ; 0xcd41
 
@@ -4381,7 +4381,7 @@
 	writetext UnknownText_0xcd69
 	yesorno
 	iftrue Script_UsedStrength
-	loadmovesprites
+	closetext
 	end
 ; 0xcd69
 
@@ -4525,7 +4525,7 @@
 	writetext UnknownText_0xcdd9
 	reloadmappart
 	callasm DisappearWhirlpool
-	loadmovesprites
+	closetext
 	end
 ; 0xce1d
 
@@ -4584,7 +4584,7 @@
 	writetext UnknownText_0xce78
 	yesorno
 	iftrue Script_UsedWhirlpool
-	loadmovesprites
+	closetext
 	end
 ; 0xce78
 
@@ -4642,8 +4642,8 @@
 
 	callasm TreeMonEncounter
 	iffalse .no_battle
-	loadmovesprites
-	battlecheck
+	closetext
+	setup_random_encounter
 	startbattle
 	returnafterbattle
 	end
@@ -4650,8 +4650,8 @@
 
 .no_battle
 	writetext UnknownText_0xcea2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 ; 0xcec9
 
@@ -4676,7 +4676,7 @@
 	writetext UnknownText_0xcee6
 	yesorno
 	iftrue HeadbuttScript
-	loadmovesprites
+	closetext
 	end
 ; 0xcee6
 
@@ -4742,7 +4742,7 @@
 RockSmashScript: ; cf32
 	callasm GetPartyNick
 	writetext UnknownText_0xcf58
-	loadmovesprites
+	closetext
 	special WaitSFX
 	playsound SFX_STRENGTH
 	earthquake 84
@@ -4752,7 +4752,7 @@
 	callasm RockMonEncounter
 	copybytetovar TempWildMonSpecies
 	iffalse .done
-	battlecheck
+	setup_random_encounter
 	startbattle
 	returnafterbattle
 .done
@@ -4776,7 +4776,7 @@
 	writetext UnknownText_0xcf77
 	yesorno
 	iftrue RockSmashScript
-	loadmovesprites
+	closetext
 	end
 .no
 	jumptext UnknownText_0xcf72
@@ -4920,7 +4920,7 @@
 Script_NotEvenANibble_FallThrough: ; 0xd02d
 	loademote EMOTE_SHADOW
 	callasm PutTheRodAway
-	loadmovesprites
+	closetext
 	end
 ; 0xd035
 
@@ -4940,8 +4940,8 @@
 	applymovement PLAYER, .Movement_RestoreRod
 	writetext UnknownText_0xd0a4
 	callasm PutTheRodAway
-	loadmovesprites
-	battlecheck
+	closetext
+	setup_random_encounter
 	startbattle
 	returnafterbattle
 	end
@@ -5125,8 +5125,8 @@
 	special UpdateTimePals
 	writecode VAR_MOVEMENT, PLAYER_BIKE
 	writetext UnknownText_0xd17c
+	waitbutton
 	closetext
-	loadmovesprites
 	special ReplaceKrisSprite
 	end
 ; 0xd14e
@@ -5133,7 +5133,7 @@
 
 Script_GetOnBike_Register: ; 0xd14e
 	writecode VAR_MOVEMENT, PLAYER_BIKE
-	loadmovesprites
+	closetext
 	special ReplaceKrisSprite
 	end
 ; 0xd156
@@ -5147,10 +5147,10 @@
 	special UpdateTimePals
 	writecode VAR_MOVEMENT, PLAYER_NORMAL
 	writetext UnknownText_0xd181
-	closetext
+	waitbutton
 
 FinishGettingOffBike:
-	loadmovesprites
+	closetext
 	special ReplaceKrisSprite
 	special PlayMapMusic
 	end
@@ -5163,8 +5163,8 @@
 
 UnknownScript_0xd171: ; 0xd171
 	writetext UnknownText_0xd177
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 ; 0xd177
 
@@ -5218,7 +5218,7 @@
 	callasm .CheckMap
 	iftrue Script_Cut
 .script_d1b8
-	loadmovesprites
+	closetext
 	end
 ; 0xd1ba
 
@@ -9044,7 +9044,7 @@
 
 BugCatchingContestBattleScript:: ; 0x135eb
 	writecode VAR_BATTLETYPE, BATTLETYPE_CONTEST
-	battlecheck
+	setup_random_encounter
 	startbattle
 	returnafterbattle
 	copybytetovar wParkBallsRemaining
@@ -9056,7 +9056,7 @@
 	playsound SFX_ELEVATOR_END
 	loadfont
 	writetext UnknownText_0x1360f
-	closetext
+	waitbutton
 	jump BugCatchingContestReturnToGateScript
 ; 0x13603
 
@@ -9064,10 +9064,10 @@
 	playsound SFX_ELEVATOR_END
 	loadfont
 	writetext UnknownText_0x13614
-	closetext
+	waitbutton
 
 BugCatchingContestReturnToGateScript: ; 0x1360b
-	loadmovesprites
+	closetext
 	jumpstd bugcontestresultswarp
 ; 0x1360f
 
@@ -9086,8 +9086,8 @@
 RepelWoreOffScript:: ; 0x13619
 	loadfont
 	writetext .text
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 ; 0x13620
 
@@ -9113,10 +9113,10 @@
 .bag_full: ; 0x1363e
 	keeptextopen
 	writetext .no_room_text
-	closetext
+	waitbutton
 
 .finish: ; 13643
-	loadmovesprites
+	closetext
 	end
 ; 0x13645
 
@@ -9917,11 +9917,11 @@
 ; 0x244e3
 
 Pokepic:: ; 244e3
-	ld hl, MenuDataHeader_0x24547
+	ld hl, PokepicMenuDataHeader
 	call CopyMenuDataHeader
 	call MenuBox
 	call UpdateSprites
-	call Function321c
+	call ApplyTilemap
 	ld b, SCGB_12
 	call GetSGBLayout
 	xor a
@@ -9946,8 +9946,8 @@
 	ret
 ; 24528
 
-PokepicYesOrNo:: ; 24528
-	ld hl, MenuDataHeader_0x24547
+ClosePokepic:: ; 24528
+	ld hl, PokepicMenuDataHeader
 	call CopyMenuDataHeader
 	call ClearMenuBoxInterior
 	call WaitBGMap
@@ -9955,13 +9955,13 @@
 	xor a
 	ld [hBGMapMode], a
 	call OverworldTextModeSwitch
-	call Function321c
+	call ApplyTilemap
 	call UpdateSprites
 	call LoadStandardFont
 	ret
 ; 24547
 
-MenuDataHeader_0x24547: ; 0x24547
+PokepicMenuDataHeader: ; 0x24547
 	db $40 ; flags
 	db 04, 06 ; start coords
 	db 13, 14 ; end coords
@@ -10051,7 +10051,7 @@
 	call Function24764
 	call Function247dd
 	call Function245f1
-	call Function321c
+	call ApplyTilemap
 	xor a
 	ld [hBGMapMode], a
 	ret
@@ -17539,7 +17539,7 @@
 	call DelayFrame
 	ld a, $1
 	ld [hOAMUpdate], a
-	call Function321c
+	call ApplyTilemap
 	pop af
 	ld [hOAMUpdate], a
 	ret
@@ -17856,7 +17856,7 @@
 	ld a, [hCGB]
 	and a
 	jp z, WaitBGMap
-	ld a, [wc2ce]
+	ld a, [wSpriteUpdatesEnabled]
 	cp $0
 	jp z, WaitBGMap
 
@@ -22686,16 +22686,16 @@
 
 TalkToTrainerScript:: ; 0xbe66a
 	faceplayer
-	trainerstatus CHECK_FLAG
+	trainerflagaction CHECK_FLAG
 	iftrue AlreadyBeatenTrainerScript
-	loadtrainerdata
-	playrammusic
+	memtrainerdata
+	encountermusic
 	jump StartBattleWithMapTrainerScript
 ; 0xbe675
 
 SeenByTrainerScript:: ; 0xbe675
-	loadtrainerdata
-	playrammusic
+	memtrainerdata
+	encountermusic
 	showemote EMOTE_SHOCK, LAST_TALKED, 30
 	callasm TrainerWalkToPlayer
 	applymovement2 MovementBuffer
@@ -22707,13 +22707,13 @@
 StartBattleWithMapTrainerScript: ; 0xbe68a
 	loadfont
 	trainertext $0
+	waitbutton
 	closetext
-	loadmovesprites
-	loadtrainerdata
+	memtrainerdata
 	startbattle
 	returnafterbattle
-	trainerstatus SET_FLAG
-	loadvar wd04d, -1
+	trainerflagaction SET_FLAG
+	loadvar wRunningTrainerBattleScript, -1
 
 AlreadyBeatenTrainerScript:
 	scripttalkafter
@@ -24096,7 +24096,7 @@
 	ld hl, VramState
 	res 6, [hl]
 	ld a, $1
-	ld [wc2ce], a
+	ld [wSpriteUpdatesEnabled], a
 	callba Function8c0e5
 	callba Function8c001
 	call OverworldTextModeSwitch
--- a/maps/AzaleaGym.asm
+++ b/maps/AzaleaGym.asm
@@ -11,10 +11,10 @@
 	checkevent EVENT_BEAT_BUGSY
 	iftrue .FightDone
 	writetext BugsyText_INeverLose
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext BugsyText_ResearchIncomplete, 0
-	loadtrainer BUGSY, 1
+	scriptedtrainerdata BUGSY, 1
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_BUGSY
@@ -21,7 +21,7 @@
 	loadfont
 	writetext Text_ReceivedHiveBadge
 	playsound SFX_GET_BADGE
-	waitbutton
+	waitsfx
 	setflag ENGINE_HIVEBADGE
 	checkcode VAR_BADGES
 	scall AzaleaGymTriggerRockets
@@ -38,15 +38,15 @@
 	iffalse .NoRoomForFuryCutter
 	setevent EVENT_GOT_TM49_FURY_CUTTER
 	writetext BugsyText_FuryCutterSpeech
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .GotFuryCutter:
 	writetext BugsyText_BugMonsAreDeep
-	closetext
+	waitbutton
 .NoRoomForFuryCutter:
-	loadmovesprites
+	closetext
 	end
 
 AzaleaGymTriggerRockets:
@@ -64,11 +64,11 @@
 	trainer EVENT_BEAT_TWINS_AMY_AND_MAY, TWINS, AMYANDMAY1, TwinsAmyandmay1SeenText, TwinsAmyandmay1BeatenText, 0, .AfterScript
 
 .AfterScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext TwinsAmyandmay1AfterBattleText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerTwinsAmyandmay2:
@@ -75,11 +75,11 @@
 	trainer EVENT_BEAT_TWINS_AMY_AND_MAY, TWINS, AMYANDMAY2, TwinsAmyandmay2SeenText, TwinsAmyandmay2BeatenText, 0, .AfterScript
 
 .AfterScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext TwinsAmyandmay2AfterBattleText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBug_catcherbenny:
@@ -86,11 +86,11 @@
 	trainer EVENT_BEAT_BUG_CATCHER_BENNY, BUG_CATCHER, BUG_CATCHER_BENNY, Bug_catcherbennySeenText, Bug_catcherbennyBeatenText, 0, .AfterScript
 
 .AfterScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext Bug_catcherbennyAfterBattleText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBug_catcherAl:
@@ -97,11 +97,11 @@
 	trainer EVENT_BEAT_BUG_CATCHER_AL, BUG_CATCHER, AL, Bug_catcherAlSeenText, Bug_catcherAlBeatenText, 0, .AfterScript
 
 .AfterScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext Bug_catcherAlAfterBattleText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBug_catcherJosh:
@@ -108,11 +108,11 @@
 	trainer EVENT_BEAT_BUG_CATCHER_JOSH, BUG_CATCHER, JOSH, Bug_catcherJoshSeenText, Bug_catcherJoshBeatenText, 0, .AfterScript
 
 .AfterScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext Bug_catcherJoshAfterBattleText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 AzaleaGymGuyScript:
@@ -121,15 +121,15 @@
 	iftrue .AzaleaGymGuyWinScript
 	loadfont
 	writetext AzaleaGymGuyText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .AzaleaGymGuyWinScript
 	loadfont
 	writetext AzaleaGymGuyWinText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 AzaleaGymStatue:
--- a/maps/AzaleaMart.asm
+++ b/maps/AzaleaMart.asm
@@ -8,7 +8,7 @@
 ClerkScript_0x18e040:
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_AZALEA
-	loadmovesprites
+	closetext
 	end
 
 CooltrainerMScript_0x18e047:
--- a/maps/AzaleaTown.asm
+++ b/maps/AzaleaTown.asm
@@ -49,8 +49,8 @@
 	playmusic MUSIC_RIVAL_ENCOUNTER
 	loadfont
 	writetext UnknownText_0x19814d
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_RIVAL_AZALEA_TOWN
 	checkevent EVENT_GOT_TOTODILE_FROM_ELM
 	iftrue UnknownScript_0x198071
@@ -58,7 +58,7 @@
 	iftrue UnknownScript_0x198081
 	winlosstext UnknownText_0x1981e6, UnknownText_0x19835b
 	setlasttalked $b
-	loadtrainer RIVAL1, RIVAL1_6
+	scriptedtrainerdata RIVAL1, RIVAL1_6
 	startbattle
 	reloadmapmusic
 	returnafterbattle
@@ -67,7 +67,7 @@
 UnknownScript_0x198071:
 	winlosstext UnknownText_0x1981e6, UnknownText_0x19835b
 	setlasttalked $b
-	loadtrainer RIVAL1, RIVAL1_4
+	scriptedtrainerdata RIVAL1, RIVAL1_4
 	startbattle
 	reloadmapmusic
 	returnafterbattle
@@ -76,7 +76,7 @@
 UnknownScript_0x198081:
 	winlosstext UnknownText_0x1981e6, UnknownText_0x19835b
 	setlasttalked $b
-	loadtrainer RIVAL1, RIVAL1_5
+	scriptedtrainerdata RIVAL1, RIVAL1_5
 	startbattle
 	reloadmapmusic
 	returnafterbattle
@@ -86,14 +86,14 @@
 	playmusic MUSIC_RIVAL_AFTER
 	loadfont
 	writetext UnknownText_0x198233
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface PLAYER, LEFT
 	applymovement $b, MovementData_0x198144
 	playsound SFX_EXIT_BUILDING
 	disappear $b
 	dotrigger $0
-	waitbutton
+	waitsfx
 	playmapmusic
 	end
 
@@ -109,14 +109,14 @@
 	checkevent EVENT_CLEARED_SLOWPOKE_WELL
 	iftrue UnknownScript_0x1980bf
 	writetext UnknownText_0x19841b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1980bf:
 	writetext UnknownText_0x198473
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TeacherScript_0x1980c5:
@@ -131,8 +131,8 @@
 	pause 60
 	writetext UnknownText_0x1985c3
 	cry SLOWPOKE
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 WoosterScript:
@@ -141,8 +141,8 @@
 	loadfont
 	writetext WoosterText
 	cry QUAGSIRE
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1980e5:
@@ -154,7 +154,7 @@
 	writetext UnknownText_0x19860b
 	keeptextopen
 	writetext UnknownText_0x198628
-	closetext
+	waitbutton
 	verbosegiveitem GS_BALL
 	spriteface $d, LEFT
 	setflag ENGINE_HAVE_EXAMINED_GS_BALL
@@ -161,7 +161,7 @@
 	clearevent EVENT_ILEX_FOREST_LASS
 	setevent EVENT_ROUTE_34_ILEX_FOREST_GATE_LASS
 	dotrigger $0
-	loadmovesprites
+	closetext
 	end
 
 KurtOutsideScript_0x19810c:
@@ -168,9 +168,9 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x198628
-	closetext
+	waitbutton
 	spriteface $d, LEFT
-	loadmovesprites
+	closetext
 	end
 
 AzaleaTownSign:
--- a/maps/BattleTower1F.asm
+++ b/maps/BattleTower1F.asm
@@ -21,8 +21,8 @@
 	if_equal $4, .SkipEverything
 	loadfont
 	writetext UnknownText_0x9f037
+	waitbutton
 	closetext
-	loadmovesprites
 	priorityjump UnknownScript_0x9e44e
 	end
 
@@ -43,9 +43,9 @@
 	yesorno
 	iffalse UnknownScript_0x9e3e0
 	writetext Text_BattleTowerRules
-	closetext
+	waitbutton
 UnknownScript_0x9e3e0:
-	loadmovesprites
+	closetext
 	end
 
 ReceptionistScript_0x9e3e2:
@@ -72,7 +72,7 @@
 	writebyte BATTLE_TOWER_ACTION_1A ; ResetBattleTowerTrainerSRAM
 	special BattleTowerAction
 	special SpecialCheckForBattleTowerRules
-	if_not_equal $0, Script_CloseText
+	if_not_equal $0, Script_WaitButton
 	writetext Text_SaveBeforeEnteringBattleRoom
 	yesorno
 	iffalse Script_Menu_ChallengeExplanationCancel
@@ -88,14 +88,14 @@
 	writebyte BATTLE_TOWER_ACTION_11
 	special BattleTowerAction
 	writetext Text_RightThisWayToYourBattleRoom
+	waitbutton
 	closetext
-	loadmovesprites
 	writebyte BATTLE_TOWER_ACTION_1E
 	special BattleTowerAction
 	jump UnknownScript_0x9e454
 
 UnknownScript_0x9e44e:
-	loadmovesprites
+	closetext
 	writebyte BATTLE_TOWER_ACTION_08
 	special BattleTowerAction
 UnknownScript_0x9e454:
@@ -125,13 +125,13 @@
 	writetext Text_PlayerGotFive
 	writebyte BATTLE_TOWER_ACTION_1D
 	special BattleTowerAction
-	loadmovesprites
+	closetext
 	end
 
 Script_YourPackIsStuffedFull: ; 0x9e498
 	writetext Text_YourPackIsStuffedFull
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 Script_BattleTowerIntroductionYesNo: ; 0x9e49e
@@ -147,18 +147,18 @@
 
 UnknownScript_0x9e4b0:
 	writetext Text_WeHopeToServeYouAgain
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x9e4b6:
 	special Function17f53d
-	loadmovesprites
+	closetext
 	end
 
-Script_CloseText: ; 0x9e4bb
+Script_WaitButton: ; 0x9e4bb
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 
@@ -176,9 +176,9 @@
 	writetext Text_ReceivedAListOfLeadersOnTheHonorRoll
 	spriteface $2, LEFT
 	writetext Text_PleaseConfirmOnThisMonitor
-	closetext
+	waitbutton
 	spriteface $2, DOWN
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x9e4ea:
@@ -189,7 +189,7 @@
 	special BattleTowerAction
 	if_not_equal $0, Script_MayNotEnterABattleRoomUnderL70
 	special SpecialCheckForBattleTowerRules
-	if_not_equal $0, Script_CloseText
+	if_not_equal $0, Script_WaitButton
 	writebyte BATTLE_TOWER_ACTION_05
 	special BattleTowerAction
 	if_equal $0, UnknownScript_0x9e512
@@ -213,33 +213,33 @@
 	writebyte BATTLE_TOWER_ACTION_12
 	special BattleTowerAction
 	writetext Text_RightThisWayToYourBattleRoom
-	closetext
+	waitbutton
 	jump UnknownScript_0x9e44e
 
 UnknownScript_0x9e53b:
 	writetext UnknownText_0x9f076
-	closetext
+	waitbutton
 	jump UnknownScript_0x9e4b0
 
 Script_APkmnLevelExceeds: ; 0x9e542
 	writetext Text_APkmnLevelExceeds
-	closetext
+	waitbutton
 	jump Script_Menu_ChallengeExplanationCancel
 
 Script_MayNotEnterABattleRoomUnderL70: ; 0x9e549
 	writetext Text_MayNotEnterABattleRoomUnderL70
-	closetext
+	waitbutton
 	jump Script_Menu_ChallengeExplanationCancel
 
 UnknownScript_0x9e550:
 	special Function17f53d
-	loadmovesprites
+	closetext
 	end
 
 BattleTower_LeftWithoutSaving:
 	loadfont
 	writetext Text_BattleTower_LeftWithoutSaving
-	closetext
+	waitbutton
 	jump UnknownScript_0x9e4b0
 
 YoungsterScript_0x9e55d:
@@ -246,8 +246,8 @@
 	faceplayer
 	loadfont
 	writetext Text_BattleTowerYoungster
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $3, RIGHT
 	end
 
@@ -526,7 +526,7 @@
 	text_from_ram StringBuffer4
 	text "!@"
 	sound_item
-	text_waitbutton
+	text_waitsfx
 	db "@"
 
 Text_YourPackIsStuffedFull: ; 0x9eb94
--- a/maps/BattleTowerBattleRoom.asm
+++ b/maps/BattleTowerBattleRoom.asm
@@ -24,12 +24,12 @@
 	special Function_LoadOpponentTrainerAndPokemonsWithOTSprite
 	appear $2
 	warpsound
-	waitbutton
+	waitsfx
 	applymovement $2, MovementData_0x9e592
 	loadfont
 	battletowertext 1
 	keeptextopen
-	loadmovesprites
+	closetext
 	special BattleTowerBattle ; calls predef startbattle
 	special RotatePalettesRightPalettes
 	reloadmap
@@ -43,8 +43,8 @@
 	applymovement PLAYER, MovementData_0x9e5a7
 	loadfont
 	writetext Text_YourPkmnWillBeHealedToFullHealth
+	waitbutton
 	closetext
-	loadmovesprites
 	playmusic MUSIC_HEAL
 	special RotatePalettesRightPalettes
 	special LoadMapPalettes
@@ -56,7 +56,7 @@
 	yesorno
 	iffalse Script_DontBattleNextOpponent
 Script_ContinueAndBattleNextOpponent: ; 0x9f477
-	loadmovesprites
+	closetext
 	applymovement PLAYER, MovementData_0x9e5a9
 	applymovement $3, MovementData_0x9e5a1
 	jump Script_BattleRoomLoop
@@ -72,7 +72,7 @@
 	writebyte BATTLE_TOWER_ACTION_03
 	special BattleTowerAction
 	playsound SFX_SAVE
-	waitbutton
+	waitsfx
 	special RotatePalettesRightPalettes
 	special Reset
 Script_DontSaveAndEndTheSession: ; 0x9f4a3
@@ -83,7 +83,7 @@
 	special BattleTowerAction
 	writebyte BATTLE_TOWER_ACTION_06
 	special BattleTowerAction
-	loadmovesprites
+	closetext
 	special RotatePalettesRightPalettes
 	warpfacing UP, BATTLE_TOWER_1F, $7, $7
 	loadfont
@@ -97,8 +97,8 @@
 	special BattleTowerAction
 	loadfont
 	writetext Text_ThanksForVisiting
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 Script_BeatenAllTrainers: ; 0x9f4d9
@@ -115,8 +115,8 @@
 	special BattleTowerAction
 	loadfont
 	writetext Text_TooMuchTimeElapsedNoRegister
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x9f4f7:
@@ -127,8 +127,8 @@
 	loadfont
 	writetext Text_ThanksForVisiting
 	writetext Text_WeHopeToServeYouAgain
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 
--- a/maps/BattleTowerElevator.asm
+++ b/maps/BattleTowerElevator.asm
@@ -24,7 +24,7 @@
 	special BattleTowerAction
 	playsound SFX_ELEVATOR
 	earthquake 60
-	waitbutton
+	waitsfx
 	follow $2, PLAYER
 	applymovement $2, MovementData_0x9e578
 	stopfollow
--- a/maps/BattleTowerHallway.asm
+++ b/maps/BattleTowerHallway.asm
@@ -70,8 +70,8 @@
 	faceperson PLAYER, $2
 	loadfont
 	writetext Text_PleaseStepThisWay
+	waitbutton
 	closetext
-	loadmovesprites
 	stopfollow
 	applymovement PLAYER, MovementData_0x9e576
 	warpcheck
--- a/maps/BillsHouse.asm
+++ b/maps/BillsHouse.asm
@@ -121,7 +121,7 @@
 	iffalse UnknownScript_0x1896cc
 	setevent EVENT_GOT_EVERSTONE_FROM_BILLS_GRANDPA
 	setevent EVENT_GAVE_KURT_APRICORNS
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x189652:
@@ -132,7 +132,7 @@
 	iffalse UnknownScript_0x1896cc
 	setevent EVENT_GOT_LEAF_STONE_FROM_BILLS_GRANDPA
 	setevent EVENT_GAVE_KURT_APRICORNS
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x189669:
@@ -143,7 +143,7 @@
 	iffalse UnknownScript_0x1896cc
 	setevent EVENT_GOT_WATER_STONE_FROM_BILLS_GRANDPA
 	setevent EVENT_GAVE_KURT_APRICORNS
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x189680:
@@ -154,7 +154,7 @@
 	iffalse UnknownScript_0x1896cc
 	setevent EVENT_GOT_FIRE_STONE_FROM_BILLS_GRANDPA
 	setevent EVENT_GAVE_KURT_APRICORNS
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x189697:
@@ -162,7 +162,7 @@
 	verbosegiveitem THUNDERSTONE
 	iffalse UnknownScript_0x1896cc
 	setevent EVENT_GOT_THUNDERSTONE_FROM_BILLS_GRANDPA
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x1896a5:
@@ -172,8 +172,8 @@
 
 UnknownScript_0x1896aa:
 	writetext UnknownText_0x189784
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1896b0:
@@ -188,24 +188,24 @@
 
 UnknownScript_0x1896ba:
 	writetext UnknownText_0x18980e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1896c0:
 	writetext UnknownText_0x18982a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1896c6:
 	writetext UnknownText_0x189891
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1896cc:
-	loadmovesprites
+	closetext
 	end
 
 UnknownText_0x1896ce:
--- a/maps/BlackthornCity.asm
+++ b/maps/BlackthornCity.asm
@@ -31,20 +31,20 @@
 	checkevent EVENT_CLEARED_RADIO_TOWER
 	iftrue UnknownScript_0x1a46fc
 	writetext UnknownText_0x1a477a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1a46fc:
 	writetext UnknownText_0x1a47f3
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1a4702:
 	writetext UnknownText_0x1a4865
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GrampsScript_0x1a4708:
@@ -59,14 +59,14 @@
 	checkevent EVENT_CLEARED_RADIO_TOWER
 	iftrue UnknownScript_0x1a471c
 	writetext UnknownText_0x1a494a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1a471c:
 	writetext UnknownText_0x1a4983
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CooltrainerFScript_0x1a4722:
@@ -97,21 +97,21 @@
 	iffalse SantosDoneScript
 	setevent EVENT_GOT_SPELL_TAG_FROM_SANTOS
 	writetext SantosGaveGiftText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SantosSaturdayScript:
 	writetext SantosSaturdayText
-	closetext
+	waitbutton
 SantosDoneScript:
-	loadmovesprites
+	closetext
 	end
 
 SantosNotSaturdayScript:
 	writetext SantosNotSaturdayText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 BlackthornCitySign:
--- a/maps/BlackthornDodrioTradeHouse.asm
+++ b/maps/BlackthornDodrioTradeHouse.asm
@@ -9,8 +9,8 @@
 	faceplayer
 	loadfont
 	trade $3
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 EmysHouseBookshelf:
--- a/maps/BlackthornDragonSpeechHouse.asm
+++ b/maps/BlackthornDragonSpeechHouse.asm
@@ -12,8 +12,8 @@
 	loadfont
 	writetext UnknownText_0x1959ee
 	cry DRATINI
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x195956:
--- a/maps/BlackthornGym1F.asm
+++ b/maps/BlackthornGym1F.asm
@@ -31,17 +31,17 @@
 	checkevent EVENT_BEAT_CLAIR
 	iftrue .FightDone
 	writetext UnknownText_0x194efa
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x194fd6, 0
-	loadtrainer CLAIR, 1
+	scriptedtrainerdata CLAIR, 1
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_CLAIR
 	loadfont
 	writetext UnknownText_0x19500e
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_BEAT_COOLTRAINERM_PAUL
 	setevent EVENT_BEAT_COOLTRAINERM_CODY
 	setevent EVENT_BEAT_COOLTRAINERM_MIKE
@@ -53,8 +53,8 @@
 	end
 .FightDone
 	writetext UnknownText_0x195162
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x194e69:
@@ -67,7 +67,7 @@
 	itemtotext TM_DRAGONBREATH, $0
 	writetext UnknownText_0x1951bf
 	playsound SFX_ITEM
-	waitbutton
+	waitsfx
 	itemnotify
 	setevent EVENT_GOT_TM24_DRAGONBREATH
 	writetext UnknownText_0x1951d1
@@ -76,14 +76,14 @@
 
 UnknownScript_0x194e8e:
 	writetext UnknownText_0x19524f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x194e94:
 	writetext UnknownText_0x195272
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCooltrainermPaul:
@@ -90,11 +90,11 @@
 	trainer EVENT_BEAT_COOLTRAINERM_PAUL, COOLTRAINERM, PAUL, CooltrainermPaulSeenText, CooltrainermPaulBeatenText, 0, CooltrainermPaulScript
 
 CooltrainermPaulScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1953f1
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCooltrainermMike:
@@ -101,11 +101,11 @@
 	trainer EVENT_BEAT_COOLTRAINERM_MIKE, COOLTRAINERM, MIKE, CooltrainermMikeSeenText, CooltrainermMikeBeatenText, 0, CooltrainermMikeScript
 
 CooltrainermMikeScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x195467
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCooltrainerfLola:
@@ -112,11 +112,11 @@
 	trainer EVENT_BEAT_COOLTRAINERF_LOLA, COOLTRAINERF, LOLA, CooltrainerfLolaSeenText, CooltrainerfLolaBeatenText, 0, CooltrainerfLolaScript
 
 CooltrainerfLolaScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x195516
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 BlackthornGymGuyScript:
@@ -125,14 +125,14 @@
 	checkevent EVENT_BEAT_CLAIR
 	iftrue .BlackthornGymGuyWinScript
 	writetext BlackthornGymGuyText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .BlackthornGymGuyWinScript
 	writetext BlackthornGymGuyWinText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 BlackthornGymStatue:
--- a/maps/BlackthornGym2F.asm
+++ b/maps/BlackthornGym2F.asm
@@ -45,8 +45,8 @@
 	scall .FX
 	loadfont
 	writetext BlackthornGym2FBoulderFellText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .FX
@@ -62,11 +62,11 @@
 	trainer EVENT_BEAT_COOLTRAINERM_CODY, COOLTRAINERM, CODY, CooltrainermCodySeenText, CooltrainermCodyBeatenText, 0, CooltrainermCodyScript
 
 CooltrainermCodyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1957d5
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCooltrainerfFran:
@@ -73,11 +73,11 @@
 	trainer EVENT_BEAT_COOLTRAINERF_FRAN, COOLTRAINERF, FRAN, CooltrainerfFranSeenText, CooltrainerfFranBeatenText, 0, CooltrainerfFranScript
 
 CooltrainerfFranScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x195883
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CooltrainermCodySeenText:
--- a/maps/BlackthornMart.asm
+++ b/maps/BlackthornMart.asm
@@ -8,7 +8,7 @@
 ClerkScript_0x195a5d:
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_BLACKTHORN
-	loadmovesprites
+	closetext
 	end
 
 CooltrainerMScript_0x195a64:
--- a/maps/BluesHouse.asm
+++ b/maps/BluesHouse.asm
@@ -11,8 +11,8 @@
 	checkcode VAR_HOUR
 	if_equal $f, UnknownScript_0x19b0de
 	writetext UnknownText_0x19b130
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19b0de:
@@ -22,14 +22,14 @@
 	yesorno
 	iffalse UnknownScript_0x19b124
 	writetext UnknownText_0x19b244
-	closetext
+	waitbutton
 	special Special_DaisyMassage
 	if_equal 0, UnknownScript_0x19b124
 	if_equal 1, UnknownScript_0x19b12a
 	setflag ENGINE_TEA_IN_BLUES_HOUSE
 	writetext UnknownText_0x19b266
+	waitbutton
 	closetext
-	loadmovesprites
 	special RotatePalettesRightPalettes
 	playmusic MUSIC_HEAL
 	pause 60
@@ -40,26 +40,26 @@
 	special PlayCurMonCry
 	keeptextopen
 	writetext UnknownText_0x19b2aa
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19b11e:
 	writetext UnknownText_0x19b2fa
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19b124:
 	writetext UnknownText_0x19b334
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19b12a:
 	writetext UnknownText_0x19b377
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownText_0x19b130:
--- a/maps/BrunosRoom.asm
+++ b/maps/BrunosRoom.asm
@@ -38,10 +38,10 @@
 	earthquake 80
 	changeblock $4, $e, $2a
 	reloadmappart
-	loadmovesprites
+	closetext
 	dotrigger $1
 	setevent EVENT_BRUNOS_ROOM_ENTRANCE_CLOSED
-	waitbutton
+	waitsfx
 	end
 
 BrunoScript_0x1809c5:
@@ -50,29 +50,29 @@
 	checkevent EVENT_BEAT_ELITE_4_BRUNO
 	iftrue UnknownScript_0x1809f3
 	writetext UnknownText_0x1809fe
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x180b23, 0
-	loadtrainer BRUNO, 1
+	scriptedtrainerdata BRUNO, 1
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_ELITE_4_BRUNO
 	loadfont
 	writetext UnknownText_0x180b3c
+	waitbutton
 	closetext
-	loadmovesprites
 	playsound SFX_ENTER_DOOR
 	changeblock $4, $2, $16
 	reloadmappart
-	loadmovesprites
+	closetext
 	setevent EVENT_BRUNOS_ROOM_EXIT_OPEN
-	waitbutton
+	waitsfx
 	end
 
 UnknownScript_0x1809f3:
 	writetext UnknownText_0x180b3c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MovementData_0x1809f9:
--- a/maps/BurnedTower1F.asm
+++ b/maps/BurnedTower1F.asm
@@ -41,8 +41,8 @@
 	applymovement $3, MovementData_0x185cd3
 	loadfont
 	writetext UnknownText_0x185ecc
+	waitbutton
 	closetext
-	loadmovesprites
 	moveperson $3, $9, $e
 	dotrigger $1
 	end
@@ -58,8 +58,8 @@
 	playmusic MUSIC_RIVAL_ENCOUNTER
 	loadfont
 	writetext UnknownText_0x185cd9
+	waitbutton
 	closetext
-	loadmovesprites
 	checkevent EVENT_GOT_TOTODILE_FROM_ELM
 	iftrue UnknownScript_0x185c60
 	checkevent EVENT_GOT_CHIKORITA_FROM_ELM
@@ -66,7 +66,7 @@
 	iftrue UnknownScript_0x185c70
 	winlosstext UnknownText_0x185d9b, UnknownText_0x185e2c
 	setlasttalked $4
-	loadtrainer RIVAL1, RIVAL1_9
+	scriptedtrainerdata RIVAL1, RIVAL1_9
 	startbattle
 	reloadmapmusic
 	returnafterbattle
@@ -75,7 +75,7 @@
 UnknownScript_0x185c60:
 	winlosstext UnknownText_0x185d9b, UnknownText_0x185e2c
 	setlasttalked $4
-	loadtrainer RIVAL1, RIVAL1_7
+	scriptedtrainerdata RIVAL1, RIVAL1_7
 	startbattle
 	reloadmapmusic
 	returnafterbattle
@@ -84,7 +84,7 @@
 UnknownScript_0x185c70:
 	winlosstext UnknownText_0x185d9b, UnknownText_0x185e2c
 	setlasttalked $4
-	loadtrainer RIVAL1, RIVAL1_8
+	scriptedtrainerdata RIVAL1, RIVAL1_8
 	startbattle
 	reloadmapmusic
 	returnafterbattle
@@ -94,8 +94,8 @@
 	playmusic MUSIC_RIVAL_AFTER
 	loadfont
 	writetext UnknownText_0x185de2
+	waitbutton
 	closetext
-	loadmovesprites
 	dotrigger $2
 	setevent EVENT_RIVAL_BURNED_TOWER
 	special Special_RotatePalettesRightMusic
@@ -103,7 +103,7 @@
 	earthquake 50
 	showemote EMOTE_SHOCK, PLAYER, 15
 	playsound SFX_ENTER_DOOR
-	waitbutton
+	waitsfx
 	changeblock $a, $8, $25
 	reloadmappart
 	pause 15
@@ -112,8 +112,8 @@
 	showemote EMOTE_SHOCK, $4, 20
 	loadfont
 	writetext UnknownText_0x185e75
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_HOLE_IN_BURNED_TOWER
 	pause 15
 	warpcheck
--- a/maps/BurnedTowerB1F.asm
+++ b/maps/BurnedTowerB1F.asm
@@ -52,12 +52,12 @@
 	spriteface PLAYER, LEFT
 	applymovement $3, MovementData_0x186236
 	disappear $3
-	waitbutton
+	waitsfx
 	playsound SFX_WARP_FROM
 	spriteface PLAYER, RIGHT
 	applymovement $4, MovementData_0x18623b
 	disappear $4
-	waitbutton
+	waitsfx
 	pause 15
 	playsound SFX_WARP_FROM
 	spriteface PLAYER, UP
@@ -73,7 +73,7 @@
 	applymovement $5, MovementData_0x186253
 	spriteface PLAYER, DOWN
 	disappear $5
-	waitbutton
+	waitsfx
 	special RestartMapMusic
 	dotrigger $1
 	setevent EVENT_RELEASED_THE_BEASTS
@@ -89,7 +89,7 @@
 	refreshscreen $0
 	changeblock $6, $e, $1b
 	reloadmappart
-	loadmovesprites
+	closetext
 	dotrigger $1
 	end
 
@@ -97,8 +97,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x18626a
+	waitbutton
 	closetext
-	loadmovesprites
 	checkcode VAR_FACING
 	if_equal $1, UnknownScript_0x186226
 	applymovement $a, MovementData_0x186263
@@ -109,7 +109,7 @@
 UnknownScript_0x18622a:
 	disappear $a
 	playsound SFX_EXIT_BUILDING
-	waitbutton
+	waitsfx
 	end
 
 ItemFragment_0x186231:
--- a/maps/CeladonCafe.asm
+++ b/maps/CeladonCafe.asm
@@ -9,20 +9,20 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x730de
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 FisherScript_0x73051:
 	loadfont
 	writetext UnknownText_0x73129
+	waitbutton
 	closetext
-	loadmovesprites
 	faceplayer
 	loadfont
 	writetext UnknownText_0x7313a
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $3, LEFT
 	end
 
@@ -29,13 +29,13 @@
 FisherScript_0x73062:
 	loadfont
 	writetext UnknownText_0x7316a
+	waitbutton
 	closetext
-	loadmovesprites
 	faceplayer
 	loadfont
 	writetext UnknownText_0x73178
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $4, RIGHT
 	end
 
@@ -42,13 +42,13 @@
 FisherScript_0x73073:
 	loadfont
 	writetext UnknownText_0x731ae
+	waitbutton
 	closetext
-	loadmovesprites
 	faceplayer
 	loadfont
 	writetext UnknownText_0x731bd
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $5, RIGHT
 	end
 
@@ -57,13 +57,13 @@
 	iftrue UnknownScript_0x7309a
 	loadfont
 	writetext UnknownText_0x73201
+	waitbutton
 	closetext
-	loadmovesprites
 	faceplayer
 	loadfont
 	writetext UnknownText_0x73212
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $6, LEFT
 	end
 
@@ -70,13 +70,13 @@
 UnknownScript_0x7309a:
 	loadfont
 	writetext UnknownText_0x73254
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $6, RIGHT
 	loadfont
 	writetext UnknownText_0x73278
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $6, LEFT
 	end
 
@@ -92,9 +92,9 @@
 	itemtotext LEFTOVERS, $0
 	writetext FoundLeftoversText
 	playsound SFX_ITEM
-	waitbutton
+	waitsfx
 	itemnotify
-	loadmovesprites
+	closetext
 	setevent EVENT_FOUND_LEFTOVERS_IN_CELADON_CAFE
 	end
 
@@ -104,8 +104,8 @@
 	writetext FoundLeftoversText
 	keeptextopen
 	writetext NoRoomForLeftoversText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .TrashEmpty
--- a/maps/CeladonCity.asm
+++ b/maps/CeladonCity.asm
@@ -19,8 +19,8 @@
 	loadfont
 	writetext CeladonCityPoliwrathText
 	cry POLIWRATH
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TeacherScript_0x1a9f50:
--- a/maps/CeladonDeptStore2F.asm
+++ b/maps/CeladonDeptStore2F.asm
@@ -9,7 +9,7 @@
 	faceplayer
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_CELADON_2F_1
-	loadmovesprites
+	closetext
 	end
 
 ClerkScript_0x70bb5:
@@ -16,7 +16,7 @@
 	faceplayer
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_CELADON_2F_2
-	loadmovesprites
+	closetext
 	end
 
 PokefanMScript_0x70bbd:
--- a/maps/CeladonDeptStore3F.asm
+++ b/maps/CeladonDeptStore3F.asm
@@ -9,7 +9,7 @@
 	faceplayer
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_CELADON_3F
-	loadmovesprites
+	closetext
 	end
 
 YoungsterScript_0x70d31:
@@ -19,8 +19,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x70d86
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $4, DOWN
 	end
 
@@ -28,8 +28,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x70dc7
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $5, DOWN
 	end
 
--- a/maps/CeladonDeptStore4F.asm
+++ b/maps/CeladonDeptStore4F.asm
@@ -9,7 +9,7 @@
 	faceplayer
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_CELADON_4F
-	loadmovesprites
+	closetext
 	end
 
 SuperNerdScript_0x70f15:
--- a/maps/CeladonDeptStore5F.asm
+++ b/maps/CeladonDeptStore5F.asm
@@ -9,7 +9,7 @@
 	faceplayer
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_CELADON_5F_1
-	loadmovesprites
+	closetext
 	end
 
 ClerkScript_0x7100c:
@@ -16,7 +16,7 @@
 	faceplayer
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_CELADON_5F_2
-	loadmovesprites
+	closetext
 	end
 
 GentlemanScript_0x71014:
--- a/maps/CeladonDeptStore6F.asm
+++ b/maps/CeladonDeptStore6F.asm
@@ -30,7 +30,7 @@
 	if_equal $1, .FreshWater
 	if_equal $2, .SodaPop
 	if_equal $3, .Lemonade
-	loadmovesprites
+	closetext
 	end
 
 .FreshWater
@@ -70,12 +70,12 @@
 
 .NotEnoughMoney
 	writetext CeladonVendingNoMoneyText
-	closetext
+	waitbutton
 	jump .Start
 
 .NotEnoughSpace
 	writetext CeladonVendingNoSpaceText
-	closetext
+	waitbutton
 	jump .Start
 
 .MenuData
--- a/maps/CeladonDeptStoreElevator.asm
+++ b/maps/CeladonDeptStoreElevator.asm
@@ -8,12 +8,12 @@
 MapCeladonDeptStoreElevatorSignpost0Script:
 	loadfont
 	elevator Elevator_0x713be
-	loadmovesprites
+	closetext
 	iffalse UnknownScript_0x713bd
 	pause 5
 	playsound SFX_ELEVATOR
 	earthquake 60
-	waitbutton
+	waitsfx
 UnknownScript_0x713bd:
 	end
 
--- a/maps/CeladonGameCorner.asm
+++ b/maps/CeladonGameCorner.asm
@@ -15,8 +15,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x72215
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $4, LEFT
 	end
 
@@ -24,8 +24,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x72242
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $5, RIGHT
 	end
 
@@ -33,8 +33,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x72295
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $6, RIGHT
 	end
 
@@ -55,8 +55,8 @@
 	setevent EVENT_GOT_COINS_FROM_GAMBLER_AT_CELADON
 .UnknownScript_0x72169
 	writetext UnknownText_0x72345
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface LAST_TALKED, LEFT
 	end
 
@@ -69,15 +69,15 @@
 
 UnknownScript_0x7217b:
 	writetext UnknownText_0x7238a
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface LAST_TALKED, LEFT
 	end
 
 UnknownScript_0x72184:
 	writetext UnknownText_0x723d9
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface LAST_TALKED, LEFT
 	end
 
@@ -88,8 +88,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x724ad
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $a, LEFT
 	end
 
@@ -105,7 +105,7 @@
 	refreshscreen $0
 	writebyte $0
 	special Special_SlotMachine
-	loadmovesprites
+	closetext
 	end
 
 MapCeladonGameCornerSignpost16Script:
@@ -112,13 +112,13 @@
 	refreshscreen $0
 	writebyte $1
 	special Special_SlotMachine
-	loadmovesprites
+	closetext
 	end
 
 MapCeladonGameCornerSignpost11Script:
 	refreshscreen $0
 	special Special_CardFlip
-	loadmovesprites
+	closetext
 	end
 
 MapCeladonGameCornerSignpost32Script:
@@ -127,9 +127,9 @@
 MapCeladonGameCornerSignpost9Script:
 	loadfont
 	writetext UnknownText_0x72567
-	closetext
+	waitbutton
 	special Special_CardFlip
-	loadmovesprites
+	closetext
 	end
 
 MovementData_0x721cd:
--- a/maps/CeladonGameCornerPrizeRoom.asm
+++ b/maps/CeladonGameCornerPrizeRoom.asm
@@ -15,7 +15,7 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x7293e
-	closetext
+	waitbutton
 	checkitem COIN_CASE
 	iffalse CeladonPrizeRoom_NoCoinCase
 	writetext UnknownText_0x72974
@@ -68,34 +68,34 @@
 	end
 
 CeladonPrizeRoom_purchased:
-	waitbutton
+	waitsfx
 	playsound SFX_TRANSACTION
 	writetext UnknownText_0x729ad
-	closetext
+	waitbutton
 	jump CeladonPrizeRoom_tmcounterloop
 
 CeladonPrizeRoom_notenoughcoins:
 	writetext UnknownText_0x729bb
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CeladonPrizeRoom_notenoughroom:
 	writetext UnknownText_0x729d8
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CeladonPrizeRoom_cancel:
 	writetext UnknownText_0x729f2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CeladonPrizeRoom_NoCoinCase:
 	writetext UnknownText_0x72a14
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 
@@ -119,7 +119,7 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x7293e
-	closetext
+	waitbutton
 	checkitem COIN_CASE
 	iffalse CeladonPrizeRoom_NoCoinCase
 .loop:
@@ -141,10 +141,10 @@
 	pokenamemem PIKACHU, $0
 	scall CeladonPrizeRoom_askbuy
 	iffalse CeladonPrizeRoom_cancel
-	waitbutton
+	waitsfx
 	playsound SFX_TRANSACTION
 	writetext UnknownText_0x729ad
-	closetext
+	waitbutton
 	writebyte PIKACHU
 	special Special_GameCornerPrizeMonCheckDex
 	givepoke PIKACHU, 25
@@ -159,10 +159,10 @@
 	pokenamemem PORYGON, $0
 	scall CeladonPrizeRoom_askbuy
 	iffalse CeladonPrizeRoom_cancel
-	waitbutton
+	waitsfx
 	playsound SFX_TRANSACTION
 	writetext UnknownText_0x729ad
-	closetext
+	waitbutton
 	writebyte PORYGON
 	special Special_GameCornerPrizeMonCheckDex
 	givepoke PORYGON, 15
@@ -177,10 +177,10 @@
 	pokenamemem LARVITAR, $0
 	scall CeladonPrizeRoom_askbuy
 	iffalse CeladonPrizeRoom_cancel
-	waitbutton
+	waitsfx
 	playsound SFX_TRANSACTION
 	writetext UnknownText_0x729ad
-	closetext
+	waitbutton
 	writebyte LARVITAR
 	special Special_GameCornerPrizeMonCheckDex
 	givepoke LARVITAR, 40
--- a/maps/CeladonGym.asm
+++ b/maps/CeladonGym.asm
@@ -11,10 +11,10 @@
 	checkflag ENGINE_RAINBOWBADGE
 	iftrue .FightDone
 	writetext UnknownText_0x72b28
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x72c3e, 0
-	loadtrainer ERIKA, 1
+	scriptedtrainerdata ERIKA, 1
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_ERIKA
@@ -25,7 +25,7 @@
 	loadfont
 	writetext UnknownText_0x72c96
 	playsound SFX_GET_BADGE
-	waitbutton
+	waitsfx
 	setflag ENGINE_RAINBOWBADGE
 .FightDone
 	checkevent EVENT_GOT_TM19_GIGA_DRAIN
@@ -37,8 +37,8 @@
 	setevent EVENT_GOT_TM19_GIGA_DRAIN
 UnknownScript_0x72aae:
 	writetext UnknownText_0x72d8f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerLassMichelle:
@@ -45,11 +45,11 @@
 	trainer EVENT_BEAT_LASS_MICHELLE, LASS, MICHELLE, LassMichelleSeenText, LassMichelleBeatenText, 0, LassMichelleScript
 
 LassMichelleScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x72e30
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPicnickerTanya:
@@ -56,11 +56,11 @@
 	trainer EVENT_BEAT_PICNICKER_TANYA, PICNICKER, TANYA, PicnickerTanyaSeenText, PicnickerTanyaBeatenText, 0, PicnickerTanyaScript
 
 PicnickerTanyaScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x72e8e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBeautyJulia:
@@ -67,11 +67,11 @@
 	trainer EVENT_BEAT_BEAUTY_JULIA, BEAUTY, JULIA, BeautyJuliaSeenText, BeautyJuliaBeatenText, 0, BeautyJuliaScript
 
 BeautyJuliaScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x72f01
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerTwinsJoandzoe1:
@@ -78,11 +78,11 @@
 	trainer EVENT_BEAT_TWINS_JO_AND_ZOE, TWINS, JOANDZOE1, TwinsJoandzoe1SeenText, TwinsJoandzoe1BeatenText, 0, TwinsJoandzoe1Script
 
 TwinsJoandzoe1Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x72f70
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerTwinsJoandzoe2:
@@ -89,11 +89,11 @@
 	trainer EVENT_BEAT_TWINS_JO_AND_ZOE, TWINS, JOANDZOE2, TwinsJoandzoe2SeenText, TwinsJoandzoe2BeatenText, 0, TwinsJoandzoe2Script
 
 TwinsJoandzoe2Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x72fc0
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CeladonGymStatue:
--- a/maps/CeladonMansion1F.asm
+++ b/maps/CeladonMansion1F.asm
@@ -12,8 +12,8 @@
 	loadfont
 	writetext CeladonMansion1FMeowthText
 	cry MEOWTH
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CeladonMansion1FClefairy:
@@ -20,8 +20,8 @@
 	loadfont
 	writetext CeladonMansion1FClefairyText
 	cry CLEFAIRY
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CeladonMansion1FNidoranF:
@@ -28,8 +28,8 @@
 	loadfont
 	writetext CeladonMansion1FNidoranFText
 	cry NIDORAN_F
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CeladonMansionManagersSuiteSign:
--- a/maps/CeladonMansion3F.asm
+++ b/maps/CeladonMansion3F.asm
@@ -11,8 +11,8 @@
 	writetext UnknownText_0x716ce
 	checkcode VAR_DEXCAUGHT
 	if_greater_than 248, UnknownScript_0x7167e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x7167e:
@@ -19,13 +19,13 @@
 	keeptextopen
 	writetext UnknownText_0x71725
 	playsound SFX_DEX_FANFARE_230_PLUS
-	waitbutton
+	waitsfx
 	writetext UnknownText_0x71760
 	keeptextopen
 	special Diploma
 	writetext UnknownText_0x71763
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_ENABLE_DIPLOMA_PRINTING
 	end
 
@@ -35,8 +35,8 @@
 	checkevent EVENT_ENABLE_DIPLOMA_PRINTING
 	iftrue UnknownScript_0x716a4
 	writetext UnknownText_0x717b4
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x716a4:
@@ -44,19 +44,19 @@
 	yesorno
 	iffalse UnknownScript_0x716b0
 	special PrintDiploma
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x716b0:
 	writetext UnknownText_0x71830
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x716b6:
 	writetext UnknownText_0x71863
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SuperNerdScript_0x716bc:
--- a/maps/CeladonMansionRoofHouse.asm
+++ b/maps/CeladonMansionRoofHouse.asm
@@ -15,8 +15,8 @@
 	checknite
 	iftrue UnknownScript_0x71b14
 	writetext UnknownText_0x71b4a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x71b14:
@@ -27,9 +27,9 @@
 	setevent EVENT_GOT_TM03_CURSE
 UnknownScript_0x71b21:
 	writetext UnknownText_0x71db3
-	closetext
+	waitbutton
 UnknownScript_0x71b25:
-	loadmovesprites
+	closetext
 	end
 
 UnknownText_0x71b27:
--- a/maps/CeladonPokeCenter1F.asm
+++ b/maps/CeladonPokeCenter1F.asm
@@ -28,15 +28,15 @@
 	special SpecialBeastsCheck
 	iftrue UnknownScript_0x71e48
 	writetext UnknownText_0x7201a
-	closetext
+	waitbutton
 UnknownScript_0x71e46:
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x71e48:
 	writetext UnknownText_0x71f65
+	waitbutton
 	closetext
-	loadmovesprites
 	checkcode VAR_FACING
 	if_equal $1, UnknownScript_0x71e5a
 	applymovement $6, MovementData_0x71e6b
@@ -47,7 +47,7 @@
 UnknownScript_0x71e5e:
 	disappear $6
 	playsound SFX_EXIT_BUILDING
-	waitbutton
+	waitsfx
 	end
 
 MovementData_0x71e65:
--- a/maps/CeruleanCity.asm
+++ b/maps/CeruleanCity.asm
@@ -18,14 +18,14 @@
 	checkevent EVENT_RETURNED_MACHINE_PART
 	iftrue UnknownScript_0x184017
 	writetext UnknownText_0x1840bc
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x184017:
 	writetext UnknownText_0x184144
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SuperNerdScript_0x18401d:
@@ -35,8 +35,8 @@
 	loadfont
 	writetext CeruleanCitySlowbroText
 	cry SLOWBRO
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CooltrainerFScript_0x18402a:
@@ -43,22 +43,22 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x1841fa
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $5, LEFT
 	loadfont
 	writetext UnknownText_0x184229
+	waitbutton
 	closetext
-	loadmovesprites
 	loadfont
 	writetext CeruleanCitySlowbroText
 	cry SLOWBRO
+	waitbutton
 	closetext
-	loadmovesprites
 	loadfont
 	writetext UnknownText_0x18424b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 FisherScript_0x18404a:
@@ -70,14 +70,14 @@
 	iftrue UnknownScript_0x18405e
 UnknownScript_0x184058:
 	writetext UnknownText_0x18424e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x18405e:
 	writetext UnknownText_0x184275
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x184064:
@@ -84,36 +84,36 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x1842a9
+	waitbutton
 	closetext
-	loadmovesprites
 	checkevent EVENT_FOUND_BERSERK_GENE_IN_CERULEAN_CITY
 	iffalse UnknownScript_0x184072
 	end
 
 UnknownScript_0x184072:
-	waitbutton
+	waitsfx
 	playsound SFX_SECOND_PART_OF_ITEMFINDER
-	waitbutton
+	waitsfx
 	playsound SFX_TRANSACTION
-	waitbutton
+	waitsfx
 	playsound SFX_SECOND_PART_OF_ITEMFINDER
-	waitbutton
+	waitsfx
 	playsound SFX_TRANSACTION
-	waitbutton
+	waitsfx
 	playsound SFX_SECOND_PART_OF_ITEMFINDER
-	waitbutton
+	waitsfx
 	playsound SFX_TRANSACTION
-	waitbutton
+	waitsfx
 	playsound SFX_SECOND_PART_OF_ITEMFINDER
-	waitbutton
+	waitsfx
 	playsound SFX_TRANSACTION
-	waitbutton
+	waitsfx
 	showemote EMOTE_SHOCK, $7, 15
 	spriteface $7, LEFT
 	loadfont
 	writetext UnknownText_0x1842ee
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CeruleanCitySign:
--- a/maps/CeruleanGym.asm
+++ b/maps/CeruleanGym.asm
@@ -23,19 +23,19 @@
 	playmusic MUSIC_ROCKET_ENCOUNTER
 	loadfont
 	writetext UnknownText_0x1884fb
+	waitbutton
 	closetext
-	loadmovesprites
 	showemote EMOTE_SHOCK, $2, 15
 	applymovement $2, MovementData_0x1884f7
 	loadfont
 	writetext UnknownText_0x188574
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $2, MovementData_0x1884f5
 	loadfont
 	writetext UnknownText_0x1885a5
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $2, MovementData_0x1884e8
 	playsound SFX_EXIT_BUILDING
 	disappear $2
@@ -45,7 +45,7 @@
 	dotrigger $0
 	domaptrigger ROUTE_25, $1
 	domaptrigger POWER_PLANT, $0
-	waitbutton
+	waitsfx
 	special RestartMapMusic
 	pause 15
 	spriteface PLAYER, DOWN
@@ -58,10 +58,10 @@
 	checkflag ENGINE_CASCADEBADGE
 	iftrue .FightDone
 	writetext UnknownText_0x188674
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x18870c, 0
-	loadtrainer MISTY, 1
+	scriptedtrainerdata MISTY, 1
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_MISTY
@@ -71,12 +71,12 @@
 	loadfont
 	writetext UnknownText_0x188768
 	playsound SFX_GET_BADGE
-	waitbutton
+	waitsfx
 	setflag ENGINE_CASCADEBADGE
 .FightDone
 	writetext UnknownText_0x188782
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSwimmerfDiana:
@@ -83,11 +83,11 @@
 	trainer EVENT_BEAT_SWIMMERF_DIANA, SWIMMERF, DIANA, SwimmerfDianaSeenText, SwimmerfDianaBeatenText, 0, SwimmerfDianaScript
 
 SwimmerfDianaScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x188856
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSwimmerfBriana:
@@ -94,11 +94,11 @@
 	trainer EVENT_BEAT_SWIMMERF_BRIANA, SWIMMERF, BRIANA, SwimmerfBrianaSeenText, SwimmerfBrianaBeatenText, 0, SwimmerfBrianaScript
 
 SwimmerfBrianaScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1888c0
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSwimmermParker:
@@ -105,11 +105,11 @@
 	trainer EVENT_BEAT_SWIMMERM_PARKER, SWIMMERM, PARKER, SwimmermParkerSeenText, SwimmermParkerBeatenText, 0, SwimmermParkerScript
 
 SwimmermParkerScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x188943
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CeruleanGymGuyScript:
@@ -118,14 +118,14 @@
 	checkevent EVENT_BEAT_MISTY
 	iftrue .CeruleanGymGuyWinScript
 	writetext CeruleanGymGuyText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .CeruleanGymGuyWinScript
 	writetext CeruleanGymGuyWinText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapCeruleanGymSignpostItem0:
@@ -137,8 +137,8 @@
 	iffalse CeruleanGymStatue
 	loadfont
 	writetext CeruleanGymNote1
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CeruleanGymStatue2:
@@ -146,8 +146,8 @@
 	iffalse CeruleanGymStatue
 	loadfont
 	writetext CeruleanGymNote2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CeruleanGymStatue:
--- a/maps/CeruleanMart.asm
+++ b/maps/CeruleanMart.asm
@@ -8,7 +8,7 @@
 ClerkScript_0x188ac0:
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_CERULEAN
-	loadmovesprites
+	closetext
 	end
 
 CooltrainerMScript_0x188ac7:
--- a/maps/CeruleanPoliceStation.asm
+++ b/maps/CeruleanPoliceStation.asm
@@ -15,8 +15,8 @@
 	loadfont
 	writetext UnknownText_0x1880e7
 	cry DIGLETT
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownText_0x18805a:
--- a/maps/CeruleanTradeSpeechHouse.asm
+++ b/maps/CeruleanTradeSpeechHouse.asm
@@ -15,8 +15,8 @@
 	loadfont
 	writetext UnknownText_0x18819c
 	cry KANGASKHAN
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ZubatScript_0x188143:
@@ -23,8 +23,8 @@
 	loadfont
 	writetext UnknownText_0x1881b5
 	cry ZUBAT
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownText_0x18814d:
--- a/maps/CharcoalKiln.asm
+++ b/maps/CharcoalKiln.asm
@@ -13,20 +13,20 @@
 	checkevent EVENT_CLEARED_SLOWPOKE_WELL
 	iftrue .SavedSlowpoke
 	writetext CharcoalKilnBossText1
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .SavedSlowpoke
 	writetext CharcoalKilnBossText2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .GotCut
 	writetext CharcoalKilnBossText3
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CharcoalKilnApprentice:
@@ -37,8 +37,8 @@
 	checkevent EVENT_GOT_HM01_CUT
 	iftrue .Thanks
 	writetext CharcoalKilnApprenticeText1
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .Thanks
@@ -47,14 +47,14 @@
 	verbosegiveitem CHARCOAL
 	iffalse .Done
 	setevent EVENT_GOT_CHARCOAL_IN_CHARCOAL_KILN
-	loadmovesprites
+	closetext
 	end
 
 .YoureTheCoolest
 	writetext CharcoalKilnApprenticeText3
-	closetext
+	waitbutton
 .Done
-	loadmovesprites
+	closetext
 	end
 
 CharcoalKilnFarfetchd:
@@ -62,8 +62,8 @@
 	loadfont
 	writetext FarfetchdText
 	cry FARFETCH_D
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CharcoalKilnBookshelf:
--- a/maps/CherrygroveCity.asm
+++ b/maps/CherrygroveCity.asm
@@ -31,33 +31,33 @@
 	jump .Yes
 .Yes
 	writetext GuideGentTourText1
+	waitbutton
 	closetext
-	loadmovesprites
 	playmusic MUSIC_SHOW_ME_AROUND
 	follow $2, PLAYER
 	applymovement $2, MovementData_0x19c195
 	loadfont
 	writetext GuideGentPokeCenterText
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $2, MovementData_0x19c19b
 	spriteface PLAYER, UP
 	loadfont
 	writetext GuideGentMartText
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $2, MovementData_0x19c1a3
 	spriteface PLAYER, UP
 	loadfont
 	writetext GuideGentRoute30Text
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $2, MovementData_0x19c1ac
 	spriteface PLAYER, LEFT
 	loadfont
 	writetext GuideGentSeaText
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $2, MovementData_0x19c1b6
 	spriteface PLAYER, UP
 	pause 60
@@ -72,8 +72,8 @@
 	writetext GotMapCardText
 	keeptextopen
 	writetext GuideGentPokegearText
+	waitbutton
 	closetext
-	loadmovesprites
 	stopfollow
 	special RestartMapMusic
 	spriteface PLAYER, UP
@@ -81,7 +81,7 @@
 	playsound SFX_ENTER_DOOR
 	disappear $2
 	clearevent EVENT_GUIDE_GENT_VISIBLE_IN_CHERRYGROVE
-	waitbutton
+	waitsfx
 	end
 
 .UnknownScript_0x19c097
@@ -93,8 +93,8 @@
 
 .No
 	writetext GuideGentNoText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19c0aa:
@@ -111,8 +111,8 @@
 	playmusic MUSIC_RIVAL_ENCOUNTER
 	loadfont
 	writetext UnknownText_0x19c4e2
+	waitbutton
 	closetext
-	loadmovesprites
 	checkevent EVENT_GOT_TOTODILE_FROM_ELM
 	iftrue UnknownScript_0x19c0ee
 	checkevent EVENT_GOT_CHIKORITA_FROM_ELM
@@ -119,7 +119,7 @@
 	iftrue UnknownScript_0x19c104
 	winlosstext UnknownText_0x19c57f, UnknownText_0x19c5e6
 	setlasttalked $3
-	loadtrainer RIVAL1, RIVAL1_3
+	scriptedtrainerdata RIVAL1, RIVAL1_3
 	writecode VAR_BATTLETYPE, BATTLETYPE_CANLOSE
 	startbattle
 	reloadmapmusic
@@ -130,7 +130,7 @@
 UnknownScript_0x19c0ee:
 	winlosstext UnknownText_0x19c57f, UnknownText_0x19c5e6
 	setlasttalked $3
-	loadtrainer RIVAL1, RIVAL1_1
+	scriptedtrainerdata RIVAL1, RIVAL1_1
 	writecode VAR_BATTLETYPE, BATTLETYPE_CANLOSE
 	startbattle
 	reloadmapmusic
@@ -141,7 +141,7 @@
 UnknownScript_0x19c104:
 	winlosstext UnknownText_0x19c57f, UnknownText_0x19c5e6
 	setlasttalked $3
-	loadtrainer RIVAL1, RIVAL1_2
+	scriptedtrainerdata RIVAL1, RIVAL1_2
 	writecode VAR_BATTLETYPE, BATTLETYPE_CANLOSE
 	startbattle
 	reloadmapmusic
@@ -153,8 +153,8 @@
 	playmusic MUSIC_RIVAL_AFTER
 	loadfont
 	writetext UnknownText_0x19c608
+	waitbutton
 	closetext
-	loadmovesprites
 	jump UnknownScript_0x19c12f
 
 UnknownScript_0x19c126:
@@ -161,8 +161,8 @@
 	playmusic MUSIC_RIVAL_AFTER
 	loadfont
 	writetext UnknownText_0x19c59e
+	waitbutton
 	closetext
-	loadmovesprites
 UnknownScript_0x19c12f:
 	playsound SFX_TACKLE
 	applymovement PLAYER, MovementData_0x19c1d4
@@ -180,14 +180,14 @@
 	checkflag ENGINE_MAP_CARD
 	iftrue UnknownScript_0x19c154
 	writetext UnknownText_0x19c650
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19c154:
 	writetext UnknownText_0x19c6a8
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x19c15a:
@@ -196,14 +196,14 @@
 	checkflag ENGINE_POKEDEX
 	iftrue UnknownScript_0x19c168
 	writetext UnknownText_0x19c6d6
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19c168:
 	writetext UnknownText_0x19c701
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MysticWaterGuy:
@@ -218,9 +218,9 @@
 	setevent EVENT_GOT_MYSTIC_WATER_IN_CHERRYGROVE
 UnknownScript_0x19c183:
 	writetext UnknownText_0x19c7c1
-	closetext
+	waitbutton
 UnknownScript_0x19c187:
-	loadmovesprites
+	closetext
 	end
 
 CherrygroveCitySign:
--- a/maps/CherrygroveEvolutionSpeechHouse.asm
+++ b/maps/CherrygroveEvolutionSpeechHouse.asm
@@ -8,15 +8,15 @@
 YoungsterScript_0x196cb2:
 	loadfont
 	writetext UnknownText_0x196cc3
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 LassScript_0x196cb9:
 	loadfont
 	writetext UnknownText_0x196cfc
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CherrygroveEvolutionSpeechHouseBookshelf:
--- a/maps/CherrygroveMart.asm
+++ b/maps/CherrygroveMart.asm
@@ -10,12 +10,12 @@
 	checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
 	iftrue UnknownScript_0x196817
 	pokemart MARTTYPE_STANDARD, MART_CHERRYGROVE
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x196817:
 	pokemart MARTTYPE_STANDARD, MART_CHERRYGROVE_DEX
-	loadmovesprites
+	closetext
 	end
 
 CooltrainerMScript_0x19681d:
@@ -24,14 +24,14 @@
 	checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
 	iftrue UnknownScript_0x19682b
 	writetext UnknownText_0x196834
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19682b:
 	writetext UnknownText_0x196873
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x196831:
--- a/maps/CherrygrovePokeCenter1F.asm
+++ b/maps/CherrygrovePokeCenter1F.asm
@@ -20,14 +20,14 @@
 	checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
 	iftrue UnknownScript_0x196984
 	writetext UnknownText_0x1969f1
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x196984:
 	writetext UnknownText_0x196a46
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownText_0x19698a:
--- a/maps/CianwoodCity.asm
+++ b/maps/CianwoodCity.asm
@@ -50,11 +50,11 @@
 	applymovement $c, MovementData_0x1a00e7
 	loadfont
 	writetext UnknownText_0x1a0433
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x1a05a1, 0
 	setlasttalked $c
-	loadtrainer MYSTICALMAN, EUSINE
+	scriptedtrainerdata MYSTICALMAN, EUSINE
 	startbattle
 	reloadmapmusic
 	returnafterbattle
@@ -61,8 +61,8 @@
 	playmusic MUSIC_MYSTICALMAN_ENCOUNTER
 	loadfont
 	writetext UnknownText_0x1a05c3
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $c, MovementData_0x1a00ec
 	disappear $c
 	pause 20
@@ -82,8 +82,8 @@
 	checkevent EVENT_BEAT_CHUCK
 	iftrue UnknownScript_0x1a009c
 	writetext UnknownText_0x1a0163
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1a009c:
@@ -96,9 +96,9 @@
 	keeptextopen
 UnknownScript_0x1a00ad:
 	writetext UnknownText_0x1a0277
-	closetext
+	waitbutton
 UnknownScript_0x1a00b1:
-	loadmovesprites
+	closetext
 	end
 
 StandingYoungsterScript_0x1a00b3:
--- a/maps/CianwoodCityPhotoStudio.asm
+++ b/maps/CianwoodCityPhotoStudio.asm
@@ -12,16 +12,16 @@
 	yesorno
 	iffalse UnknownScript_0x9e0f3
 	writetext UnknownText_0x9e142
-	closetext
+	waitbutton
 	special PhotoStudio
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x9e0f3:
 	writetext UnknownText_0x9e156
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownText_0x9e0f9:
--- a/maps/CianwoodGym.asm
+++ b/maps/CianwoodGym.asm
@@ -11,13 +11,13 @@
 	checkevent EVENT_BEAT_CHUCK
 	iftrue .FightDone
 	writetext UnknownText_0x9d6f9
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $2, RIGHT
 	loadfont
 	writetext UnknownText_0x9d76f
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $7, MovementData_0x9d6f3
 	playsound SFX_STRENGTH
 	earthquake 80
@@ -26,10 +26,10 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x9d78a
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x9d7f6, 0
-	loadtrainer CHUCK, 1
+	scriptedtrainerdata CHUCK, 1
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_CHUCK
@@ -36,7 +36,7 @@
 	loadfont
 	writetext UnknownText_0x9d835
 	playsound SFX_GET_BADGE
-	waitbutton
+	waitsfx
 	setflag ENGINE_STORMBADGE
 	checkcode VAR_BADGES
 	scall CianwoodGymTriggerRockets
@@ -53,15 +53,15 @@
 	iffalse UnknownScript_0x9d67f
 	setevent EVENT_GOT_TM01_DYNAMICPUNCH
 	writetext UnknownText_0x9d8da
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x9d67b:
 	writetext UnknownText_0x9d930
-	closetext
+	waitbutton
 UnknownScript_0x9d67f:
-	loadmovesprites
+	closetext
 	end
 
 CianwoodGymTriggerRockets:
@@ -79,11 +79,11 @@
 	trainer EVENT_BEAT_BLACKBELT_YOSHI, BLACKBELT_T, YOSHI, BlackbeltYoshiSeenText, BlackbeltYoshiBeatenText, 0, BlackbeltYoshiScript
 
 BlackbeltYoshiScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x9d9fa
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBlackbeltLao:
@@ -90,11 +90,11 @@
 	trainer EVENT_BEAT_BLACKBELT_LAO, BLACKBELT_T, LAO, BlackbeltLaoSeenText, BlackbeltLaoBeatenText, 0, BlackbeltLaoScript
 
 BlackbeltLaoScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x9da61
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBlackbeltNob:
@@ -101,11 +101,11 @@
 	trainer EVENT_BEAT_BLACKBELT_NOB, BLACKBELT_T, NOB, BlackbeltNobSeenText, BlackbeltNobBeatenText, 0, BlackbeltNobScript
 
 BlackbeltNobScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x9dac0
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBlackbeltLung:
@@ -112,11 +112,11 @@
 	trainer EVENT_BEAT_BLACKBELT_LUNG, BLACKBELT_T, LUNG, BlackbeltLungSeenText, BlackbeltLungBeatenText, 0, BlackbeltLungScript
 
 BlackbeltLungScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x9db14
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CianwoodGymBoulder:
--- a/maps/CianwoodPharmacy.asm
+++ b/maps/CianwoodPharmacy.asm
@@ -23,17 +23,17 @@
 	giveitem SECRETPOTION
 	writetext ReceivedSecretpotionText
 	playsound SFX_KEY_ITEM
-	waitbutton
+	waitsfx
 	itemnotify
 	setevent EVENT_GOT_SECRETPOTION_FROM_PHARMACY
 	writetext PharmacistDescribeSecretpotionText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .Mart
 	pokemart MARTTYPE_PHARMACY, MART_CIANWOOD
-	loadmovesprites
+	closetext
 	end
 
 CianwoodPharmacyBookshelf:
--- a/maps/CianwoodPokeCenter1F.asm
+++ b/maps/CianwoodPokeCenter1F.asm
@@ -17,15 +17,15 @@
 	iftrue .CianwoodGymGuyWinScript
 	loadfont
 	writetext CianwoodGymGuyText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .CianwoodGymGuyWinScript
 	loadfont
 	writetext CianwoodGymGuyWinText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SuperNerdScript_0x9dbea:
--- a/maps/CinnabarIsland.asm
+++ b/maps/CinnabarIsland.asm
@@ -16,8 +16,8 @@
 	faceplayer
 	loadfont
 	writetext CinnabarIslandBlueText
+	waitbutton
 	closetext
-	loadmovesprites
 	playsound SFX_WARP_TO
 	applymovement $2, CinnabarIslandBlueTeleport
 	disappear $2
--- a/maps/Colosseum.asm
+++ b/maps/Colosseum.asm
@@ -55,8 +55,8 @@
 ChrisScript_0x193499:
 	loadfont
 	writetext .FriendReadyText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .FriendReadyText:
--- a/maps/CopycatsHouse1F.asm
+++ b/maps/CopycatsHouse1F.asm
@@ -14,14 +14,14 @@
 	checkevent EVENT_RETURNED_MACHINE_PART
 	iftrue UnknownScript_0x18ad24
 	writetext UnknownText_0x18ad95
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x18ad24:
 	writetext UnknownText_0x18add3
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ClefairyScript_0x18ad2a:
@@ -28,8 +28,8 @@
 	loadfont
 	writetext UnknownText_0x18ae4b
 	cry BLISSEY
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownText_0x18ad34:
--- a/maps/CopycatsHouse2F.asm
+++ b/maps/CopycatsHouse2F.asm
@@ -53,8 +53,8 @@
 .Part3
 	writetext UnknownText_0x18b316
 .Part4
+	waitbutton
 	closetext
-	loadmovesprites
 	checkflag ENGINE_PLAYER_IS_FEMALE
 	iftrue .Part5
 	applymovement $2, MovementData_0x18afd0
@@ -68,8 +68,8 @@
 	special RunCallback_04
 	loadfont
 	writetext UnknownText_0x18b028
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .Part7
@@ -82,8 +82,8 @@
 .Part8
 	writetext UnknownText_0x18b366
 .Part9
+	waitbutton
 	closetext
-	loadmovesprites
 	checkflag ENGINE_PLAYER_IS_FEMALE
 	iftrue .Part10
 	applymovement $2, MovementData_0x18afd0
@@ -97,8 +97,8 @@
 	special RunCallback_04
 	loadfont
 	writetext UnknownText_0x18b116
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_MET_COPYCAT_FOUND_OUT_ABOUT_LOST_ITEM
 	end
 
@@ -120,8 +120,8 @@
 	iffalse .Part22
 	setevent EVENT_GOT_PASS_FROM_COPYCAT
 	writetext UnknownText_0x18b214
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .Part15
@@ -147,8 +147,8 @@
 .Part18
 	writetext UnknownText_0x18b415
 .Part19
+	waitbutton
 	closetext
-	loadmovesprites
 	checkflag ENGINE_PLAYER_IS_FEMALE
 	iftrue .Part20
 	applymovement $2, MovementData_0x18afd0
@@ -162,9 +162,9 @@
 	special RunCallback_04
 	loadfont
 	writetext UnknownText_0x18b2f5
-	closetext
+	waitbutton
 .Part22
-	loadmovesprites
+	closetext
 	end
 
 CopycatsDodrio:
@@ -173,8 +173,8 @@
 	cry DODRIO
 	keeptextopen
 	writetext CopycatsDodrioText2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CopycatsHouse2FDoll:
--- a/maps/DanceTheatre.asm
+++ b/maps/DanceTheatre.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_KIMONO_GIRL_NAOKO, KIMONO_GIRL, NAOKO2, Kimono_girlNaoko2SeenText, Kimono_girlNaoko2BeatenText, 0, Kimono_girlNaoko2Script
 
 Kimono_girlNaoko2Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x99579
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerKimono_girlSayo:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_KIMONO_GIRL_SAYO, KIMONO_GIRL, SAYO, Kimono_girlSayoSeenText, Kimono_girlSayoBeatenText, 0, Kimono_girlSayoScript
 
 Kimono_girlSayoScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x9960b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerKimono_girlZuki:
@@ -31,11 +31,11 @@
 	trainer EVENT_BEAT_KIMONO_GIRL_ZUKI, KIMONO_GIRL, ZUKI, Kimono_girlZukiSeenText, Kimono_girlZukiBeatenText, 0, Kimono_girlZukiScript
 
 Kimono_girlZukiScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x99688
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerKimono_girlKuni:
@@ -42,11 +42,11 @@
 	trainer EVENT_BEAT_KIMONO_GIRL_KUNI, KIMONO_GIRL, KUNI, Kimono_girlKuniSeenText, Kimono_girlKuniBeatenText, 0, Kimono_girlKuniScript
 
 Kimono_girlKuniScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x99714
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerKimono_girlMiki:
@@ -53,11 +53,11 @@
 	trainer EVENT_BEAT_KIMONO_GIRL_MIKI, KIMONO_GIRL, MIKI, Kimono_girlMikiSeenText, Kimono_girlMikiBeatenText, 0, Kimono_girlMikiScript
 
 Kimono_girlMikiScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x997a8
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GentlemanScript_0x994c6:
@@ -83,14 +83,14 @@
 	checkflag ENGINE_PLAYER_IS_FEMALE
 	iftrue UnknownScript_0x994ff
 	writetext UnknownText_0x99891
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x994ff:
 	writetext UnknownText_0x998d4
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x99505:
@@ -99,14 +99,14 @@
 	verbosegiveitem HM_SURF
 	setevent EVENT_GOT_HM03_SURF
 	writetext UnknownText_0x9999b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x99515:
 	writetext UnknownText_0x999d5
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 RhydonScript_0x9951b:
@@ -113,8 +113,8 @@
 	loadfont
 	writetext UnknownText_0x99a0a
 	cry RHYDON
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CooltrainerMScript_0x99525:
--- a/maps/DarkCaveBlackthornEntrance.asm
+++ b/maps/DarkCaveBlackthornEntrance.asm
@@ -17,9 +17,9 @@
 	setevent EVENT_GOT_BLACKGLASSES_IN_DARK_CAVE
 UnknownScript_0x18c735:
 	writetext UnknownText_0x18c80c
-	closetext
+	waitbutton
 UnknownScript_0x18c739:
-	loadmovesprites
+	closetext
 	end
 
 ItemFragment_0x18c73b:
--- a/maps/DayCare.asm
+++ b/maps/DayCare.asm
@@ -28,7 +28,7 @@
 	iftrue UnknownScript_0x62fbd
 	writetext UnknownText_0x630ce
 	keeptextopen
-	loadmovesprites
+	closetext
 	checkcode VAR_PARTYCOUNT
 	if_equal $6, UnknownScript_0x62fb6
 	special Function117656
@@ -35,10 +35,10 @@
 	loadfont
 	writetext UnknownText_0x631ae
 	playsound SFX_KEY_ITEM
-	waitbutton
+	waitsfx
 	writetext UnknownText_0x631c3
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_GOT_ODD_EGG
 	end
 
@@ -45,14 +45,14 @@
 UnknownScript_0x62fb6:
 	loadfont
 	writetext UnknownText_0x63237
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x62fbd:
 	special Special_DayCareMan
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GrannyScript_0x62fc3:
@@ -61,14 +61,14 @@
 	checkflag ENGINE_DAYCARE_MONS_ARE_COMPATIBLE
 	iftrue UnknownScript_0x62fd1
 	special Special_DayCareLady
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x62fd1:
 	writetext UnknownText_0x62fda
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 DayCareBookshelf:
--- a/maps/DragonShrine.asm
+++ b/maps/DragonShrine.asm
@@ -88,17 +88,17 @@
 	checkevent EVENT_RECEIVED_BALLS_FROM_KURT
 	iftrue .Question2
 .WrongAnswer:
-	loadmovesprites
+	closetext
 	spriteface $2, LEFT
 	loadfont
 	writetext UnknownText_0x18d7f6
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $2, DOWN
 	loadfont
 	writetext UnknownText_0x18d816
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_ANSWERED_DRAGON_MASTER_QUIZ_WRONG
 	loadfont
 	checkevent EVENT_DRAGON_SHRINE_QUESTION_5
@@ -113,13 +113,13 @@
 	iftrue .Question1
 .PassedTheTest:
 	writetext UnknownText_0x18d47c
+	waitbutton
 	closetext
-	loadmovesprites
 	playsound SFX_ENTER_DOOR
 	showemote EMOTE_SHOCK, PLAYER, 15
 	playmusic MUSIC_CLAIR
 	appear $5
-	waitbutton
+	waitsfx
 	spriteface PLAYER, DOWN
 	pause 30
 	applymovement $5, MovementData_0x18d2d4
@@ -128,37 +128,37 @@
 	spriteface $2, LEFT
 	loadfont
 	writetext UnknownText_0x18d916
+	waitbutton
 	closetext
-	loadmovesprites
 	special Special_RotatePalettesRightMusic
 	applymovement $5, MovementData_0x18d2da
 	loadfont
 	writetext UnknownText_0x18d974
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $5, MovementData_0x18d2dd
 	loadfont
 	writetext UnknownText_0x18d983
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $2, MovementData_0x18d2c9
 	spriteface $5, UP
 	loadfont
 	writetext UnknownText_0x18d520
+	waitbutton
 	closetext
-	loadmovesprites
 	showemote EMOTE_SHOCK, $5, 15
 	loadfont
 	writetext UnknownText_0x18d9ae
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $5, MovementData_0x18d2e0
 	loadfont
 	writetext UnknownText_0x18d9bf
-	closetext
+	waitbutton
 	setflag ENGINE_RISINGBADGE
 	playsound SFX_GET_BADGE
-	waitbutton
+	waitsfx
 	special RestartMapMusic
 	specialphonecall SPECIALCALL_MASTERBALL
 	dotrigger $1
@@ -166,8 +166,8 @@
 	writetext UnknownText_0x18d9f2
 	keeptextopen
 	writetext UnknownText_0x18da0b
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $2, MovementData_0x18d2ce
 	spriteface $5, UP
 	applymovement $2, MovementData_0x18d2d1
@@ -174,16 +174,16 @@
 	spriteface PLAYER, UP
 	loadfont
 	writetext UnknownText_0x18d5a3
+	waitbutton
 	closetext
-	loadmovesprites
 	loadfont
 	writetext UnknownText_0x18dab4
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $5, MovementData_0x18d2e3
 	playsound SFX_ENTER_DOOR
 	disappear $5
-	waitbutton
+	waitsfx
 	setevent EVENT_GAVE_KURT_APRICORNS
 	end
 
@@ -199,18 +199,18 @@
 	checkevent EVENT_BEAT_RIVAL_IN_MT_MOON
 	iftrue .BeatRivalInMtMoon
 	writetext UnknownText_0x18d724
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .GiveDratini:
 	writetext UnknownText_0x18d604
-	closetext
+	waitbutton
 	checkcode VAR_PARTYCOUNT
 	if_equal 6, .PartyFull
 	writetext UnknownText_0x18d697
 	playsound SFX_CAUGHT_MON
-	waitbutton
+	waitsfx
 	givepoke DRATINI, 15
 	checkevent EVENT_ANSWERED_DRAGON_MASTER_QUIZ_WRONG
 	special SpecialDratini
@@ -217,32 +217,32 @@
 	setevent EVENT_GOT_DRATINI
 	setevent EVENT_JUST_RECEIVED_DRATINI
 	writetext UnknownText_0x18d6ca
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .PartyFull:
 	writetext UnknownText_0x18d6ac
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .BeatRivalInMtMoon:
 	writetext UnknownText_0x18d782
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .DontGiveDratiniYet:
 	writetext UnknownText_0x18d5e5
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .ReceivedDratini:
 	writetext UnknownText_0x18d6ca
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ElderScript_0x18d205:
@@ -249,8 +249,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x18d840
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ElderScript_0x18d20d:
@@ -257,8 +257,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x18d8b1
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 
--- a/maps/DragonsDenB1F.asm
+++ b/maps/DragonsDenB1F.asm
@@ -41,7 +41,7 @@
 	loadfont
 	writetext UnknownText_0x18c9b8
 	pause 30
-	loadmovesprites
+	closetext
 	showemote EMOTE_SHOCK, PLAYER, 15
 	spriteface PLAYER, LEFT
 	playmusic MUSIC_CLAIR
@@ -54,20 +54,20 @@
 	itemtotext TM_DRAGONBREATH, $0
 	writetext UnknownText_0x18c9fb
 	playsound SFX_ITEM
-	waitbutton
+	waitsfx
 	itemnotify
 	setevent EVENT_GOT_TM24_DRAGONBREATH
 	writetext UnknownText_0x18ca0d
 	keeptextopen
 	writetext UnknownText_0x18caf1
+	waitbutton
 	closetext
-	loadmovesprites
 	jump UnknownScript_0x18c8f9
 
 UnknownScript_0x18c8f4:
 	writetext UnknownText_0x18ca8b
+	waitbutton
 	closetext
-	loadmovesprites
 UnknownScript_0x18c8f9:
 	applymovement $3, MovementData_0x18c9b3
 	special Special_RotatePalettesRightMusic
@@ -81,11 +81,11 @@
 	trainer EVENT_BEAT_COOLTRAINERM_DARIN, COOLTRAINERM, DARIN, CooltrainermDarinSeenText, CooltrainermDarinBeatenText, 0, CooltrainermDarinScript
 
 CooltrainermDarinScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x18cd82
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCooltrainerfCara:
@@ -92,11 +92,11 @@
 	trainer EVENT_BEAT_COOLTRAINERF_CARA, COOLTRAINERF, CARA, CooltrainerfCaraSeenText, CooltrainerfCaraBeatenText, 0, CooltrainerfCaraScript
 
 CooltrainerfCaraScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x18ce11
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerTwinsLeaandpia1:
@@ -103,11 +103,11 @@
 	trainer EVENT_BEAT_TWINS_LEA_AND_PIA, TWINS, LEAANDPIA1, TwinsLeaandpia1SeenText, TwinsLeaandpia1BeatenText, 0, TwinsLeaandpia1Script
 
 TwinsLeaandpia1Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x18ced3
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerTwinsLeaandpia2:
@@ -114,11 +114,11 @@
 	trainer EVENT_BEAT_TWINS_LEA_AND_PIA, TWINS, LEAANDPIA1, TwinsLeaandpia2SeenText, TwinsLeaandpia2BeatenText, 0, TwinsLeaandpia2Script
 
 TwinsLeaandpia2Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x18cf0f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 PokeBallScript_0x18c95a:
@@ -129,9 +129,9 @@
 	itemtotext DRAGON_FANG, $0
 	writetext UnknownText_0x18cf41
 	playsound SFX_ITEM
-	waitbutton
+	waitsfx
 	itemnotify
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x18c970:
@@ -140,8 +140,8 @@
 	writetext UnknownText_0x18cf41
 	keeptextopen
 	writetext UnknownText_0x18cf51
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SilverScript_0x18c97e:
@@ -151,8 +151,8 @@
 	checkevent EVENT_GAVE_KURT_APRICORNS
 	iftrue UnknownScript_0x18c995
 	writetext UnknownText_0x18cc83
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_GAVE_KURT_APRICORNS
 	special RestartMapMusic
 	end
@@ -159,8 +159,8 @@
 
 UnknownScript_0x18c995:
 	writetext UnknownText_0x18cd2d
+	waitbutton
 	closetext
-	loadmovesprites
 	special RestartMapMusic
 	end
 
--- a/maps/EarlsPokemonAcademy.asm
+++ b/maps/EarlsPokemonAcademy.asm
@@ -20,14 +20,14 @@
 	yesorno
 	iffalse .Done
 	writetext UnknownText_0x68c7b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .Done
 	writetext UnknownText_0x68d31
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x68a83:
@@ -37,8 +37,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x68dda
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $4, DOWN
 	end
 
@@ -46,8 +46,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x68e07
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $5, DOWN
 	end
 
@@ -66,32 +66,32 @@
 	if_equal $3, .Sleep
 	if_equal $4, .Burn
 	if_equal $5, .Freeze
-	loadmovesprites
+	closetext
 	end
 
 .Poison
 	writetext AcademyPoisonText
-	closetext
+	waitbutton
 	jump .Loop
 
 .Paralysis
 	writetext AcademyParalysisText
-	closetext
+	waitbutton
 	jump .Loop
 
 .Sleep
 	writetext AcademySleepText
-	closetext
+	waitbutton
 	jump .Loop
 
 .Burn
 	writetext AcademyBurnText
-	closetext
+	waitbutton
 	jump .Loop
 
 .Freeze:
 	writetext AcademyFreezeText
-	closetext
+	waitbutton
 	jump .Loop
 
 .MenuHeader
@@ -128,9 +128,9 @@
 	yesorno
 	iffalse .Done
 	writetext AcademyNotebookText3
-	closetext
+	waitbutton
 .Done
-	loadmovesprites
+	closetext
 	end
 
 AcademyStickerMachine:
--- a/maps/EcruteakCity.asm
+++ b/maps/EcruteakCity.asm
@@ -30,14 +30,14 @@
 	checkevent EVENT_RELEASED_THE_BEASTS
 	iftrue UnknownScript_0x1a4023
 	writetext UnknownText_0x1a421a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1a4023:
 	writetext UnknownText_0x1a4269
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 FisherScript_0x1a4029:
@@ -46,14 +46,14 @@
 	checkevent EVENT_JASMINE_RETURNED_TO_GYM
 	iftrue UnknownScript_0x1a4037
 	writetext UnknownText_0x1a42ac
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1a4037:
 	writetext UnknownText_0x1a4325
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x1a403d:
--- a/maps/EcruteakGym.asm
+++ b/maps/EcruteakGym.asm
@@ -22,10 +22,10 @@
 	checkevent EVENT_BEAT_MORTY
 	iftrue .FightDone
 	writetext UnknownText_0x99e65
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x9a00a, 0
-	loadtrainer MORTY, 1
+	scriptedtrainerdata MORTY, 1
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_MORTY
@@ -32,7 +32,7 @@
 	loadfont
 	writetext UnknownText_0x9a043
 	playsound SFX_GET_BADGE
-	waitbutton
+	waitsfx
 	setflag ENGINE_FOGBADGE
 	checkcode VAR_BADGES
 	scall EcruteakGymTriggerRockets
@@ -52,15 +52,15 @@
 	iffalse UnknownScript_0x99db5
 	setevent EVENT_GOT_TM30_SHADOW_BALL
 	writetext UnknownText_0x9a0ec
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x99db1:
 	writetext UnknownText_0x9a145
-	closetext
+	waitbutton
 UnknownScript_0x99db5:
-	loadmovesprites
+	closetext
 	end
 
 EcruteakGymTriggerRockets:
@@ -79,14 +79,14 @@
 	applymovement $8, MovementData_0x99e63
 	loadfont
 	writetext UnknownText_0x9a49c
+	waitbutton
 	closetext
-	loadmovesprites
 	follow PLAYER, $8
 	applymovement PLAYER, MovementData_0x99e5f
 	stopfollow
 	special RotatePalettesRightPalettes
 	playsound SFX_ENTER_DOOR
-	waitbutton
+	waitsfx
 	warp ECRUTEAK_CITY, $6, $1b
 	end
 
@@ -94,11 +94,11 @@
 	trainer EVENT_BEAT_SAGE_JEFFREY, SAGE, JEFFREY, SageJeffreySeenText, SageJeffreyBeatenText, 0, SageJeffreyScript
 
 SageJeffreyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x9a263
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSagePing:
@@ -105,11 +105,11 @@
 	trainer EVENT_BEAT_SAGE_PING, SAGE, PING, SagePingSeenText, SagePingBeatenText, 0, SagePingScript
 
 SagePingScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x9a2b7
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerMediumMartha:
@@ -116,11 +116,11 @@
 	trainer EVENT_BEAT_MEDIUM_MARTHA, MEDIUM, MARTHA, MediumMarthaSeenText, MediumMarthaBeatenText, 0, MediumMarthaScript
 
 MediumMarthaScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x9a318
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerMediumGrace:
@@ -127,11 +127,11 @@
 	trainer EVENT_BEAT_MEDIUM_GRACE, MEDIUM, GRACE, MediumGraceSeenText, MediumGraceBeatenText, 0, MediumGraceScript
 
 MediumGraceScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x9a38a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 EcruteakGymGuyScript:
@@ -140,14 +140,14 @@
 	checkevent EVENT_BEAT_MORTY
 	iftrue .EcruteakGymGuyWinScript
 	writetext EcruteakGymGuyText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .EcruteakGymGuyWinScript
 	writetext EcruteakGymGuyWinText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 EcruteakGymStatue:
--- a/maps/EcruteakHouse.asm
+++ b/maps/EcruteakHouse.asm
@@ -73,14 +73,14 @@
 	checkflag ENGINE_FOGBADGE
 	iftrue .BlockPassage_GotFogBadge
 	writetext UnknownText_0x980d1
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .BlockPassage_GotFogBadge:
 	writetext UnknownText_0x98131
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .CheckForClearBell:
@@ -91,14 +91,14 @@
 	checkitem CLEAR_BELL
 	iftrue .RingClearBell
 	writetext UnknownText_0x981a4
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .RingClearBell:
 	writetext UnknownText_0x98250
+	waitbutton
 	closetext
-	loadmovesprites
 	dotrigger $1
 	setevent EVENT_RANG_CLEAR_BELL_2
 	clearevent EVENT_RANG_CLEAR_BELL_1
@@ -107,14 +107,14 @@
 
 .AllowedThrough:
 	writetext UnknownText_0x9837e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .Event000:
 	writetext UnknownText_0x98391
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SageScript_0x980b0:
@@ -123,14 +123,14 @@
 	checkevent EVENT_GOT_CLEAR_BELL
 	iftrue .GotClearBell
 	writetext UnknownText_0x9840b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .GotClearBell:
 	writetext UnknownText_0x9846f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GrampsScript_0x980c4:
--- a/maps/EcruteakItemfinderHouse.asm
+++ b/maps/EcruteakItemfinderHouse.asm
@@ -19,14 +19,14 @@
 	setevent EVENT_GOT_ITEMFINDER
 UnknownScript_0x9a614:
 	writetext UnknownText_0x9a70e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x9a61a:
 	writetext UnknownText_0x9a805
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 PokedexScript_0x9a620:
@@ -34,7 +34,7 @@
 	writetext UnknownText_0x9a826
 	yesorno
 	iftrue UnknownScript_0x9a62a
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x9a62a:
@@ -41,13 +41,13 @@
 	writetext UnknownText_0x9a84c
 	yesorno
 	iftrue UnknownScript_0x9a633
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x9a633:
 	writetext UnknownText_0x9a902
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ItemFinderHouseRadio:
--- a/maps/EcruteakMart.asm
+++ b/maps/EcruteakMart.asm
@@ -8,7 +8,7 @@
 ClerkScript_0x99c3b:
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_ECRUTEAK
-	loadmovesprites
+	closetext
 	end
 
 SuperNerdScript_0x99c42:
--- a/maps/EcruteakPokeCenter1F.asm
+++ b/maps/EcruteakPokeCenter1F.asm
@@ -20,7 +20,7 @@
 	pause 30
 	playsound SFX_EXIT_BUILDING
 	appear $6
-	waitbutton
+	waitsfx
 	applymovement $6, MovementData_0x98ec5
 	applymovement PLAYER, MovementData_0x98ed4
 	spriteface $2, UP
@@ -40,8 +40,8 @@
 
 UnknownScript_0x98e95:
 	writetext UnknownText_0x98f22
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface PLAYER, DOWN
 	applymovement $6, MovementData_0x98ece
 	playsound SFX_EXIT_BUILDING
@@ -49,7 +49,7 @@
 	clearevent EVENT_MET_BILL
 	setflag ENGINE_TIME_CAPSULE
 	dotrigger $1
-	waitbutton
+	waitsfx
 	end
 
 NurseScript_0x98eb0:
--- a/maps/ElmsLab.asm
+++ b/maps/ElmsLab.asm
@@ -59,8 +59,8 @@
 	writetext ElmText_Accepted
 	keeptextopen
 	writetext ElmText_ResearchAmbitions
+	waitbutton
 	closetext
-	loadmovesprites
 	playsound SFX_GLASS_TING
 	pause 30
 	showemote EMOTE_SHOCK, $2, 10
@@ -67,13 +67,13 @@
 	spriteface $2, DOWN
 	loadfont
 	writetext ElmText_GotAnEmail
+	waitbutton
 	closetext
-	loadmovesprites
 	loadfont
 	spriteface $2, RIGHT
 	writetext ElmText_MissionFromMrPokemon
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $2, ElmsLab_ElmToDefaultPositionMovement1
 	spriteface PLAYER, UP
 	applymovement $2, ElmsLab_ElmToDefaultPositionMovement2
@@ -80,9 +80,9 @@
 	spriteface PLAYER, RIGHT
 	loadfont
 	writetext ElmText_ChooseAPokemon
-	closetext
+	waitbutton
 	dotrigger $1
-	loadmovesprites
+	closetext
 	end
 
 ProfElmScript:
@@ -111,8 +111,8 @@
 	special Special_FindThatSpeciesYourTrainerID
 	iftrue ShowElmTogepiScript
 	writetext UnknownText_0x79a40
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ElmEggHatchedScript:
@@ -141,8 +141,8 @@
 	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
 	iftrue ElmDescribesMrPokemonScript
 	writetext ElmText_LetYourMonBattleIt
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 LabTryToLeaveScript:
@@ -149,8 +149,8 @@
 	spriteface $2, DOWN
 	loadfont
 	writetext LabWhereGoingText
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement PLAYER, MovementData_0x78f70
 	end
 
@@ -161,8 +161,8 @@
 	refreshscreen $0
 	pokepic CYNDAQUIL
 	cry CYNDAQUIL
-	closetext
-	pokepicyesorno
+	waitbutton
+	closepokepic
 	loadfont
 	writetext TakeCyndaquilText
 	yesorno
@@ -171,14 +171,14 @@
 	setevent EVENT_GOT_CYNDAQUIL_FROM_ELM
 	writetext ChoseStarterText
 	keeptextopen
-	waitbutton
+	waitsfx
 	pokenamemem CYNDAQUIL, $0
 	writetext ReceivedStarterText
 	playsound SFX_CAUGHT_MON
-	waitbutton
+	waitsfx
 	keeptextopen
 	givepoke CYNDAQUIL, 5, BERRY
-	loadmovesprites
+	closetext
 	checkcode VAR_FACING
 	if_equal $3, ElmDirectionsScript
 	applymovement PLAYER, AfterCyndaquilMovement
@@ -191,8 +191,8 @@
 	refreshscreen $0
 	pokepic TOTODILE
 	cry TOTODILE
-	closetext
-	pokepicyesorno
+	waitbutton
+	closepokepic
 	loadfont
 	writetext TakeTotodileText
 	yesorno
@@ -201,14 +201,14 @@
 	setevent EVENT_GOT_TOTODILE_FROM_ELM
 	writetext ChoseStarterText
 	keeptextopen
-	waitbutton
+	waitsfx
 	pokenamemem TOTODILE, $0
 	writetext ReceivedStarterText
 	playsound SFX_CAUGHT_MON
-	waitbutton
+	waitsfx
 	keeptextopen
 	givepoke TOTODILE, 5, BERRY
-	loadmovesprites
+	closetext
 	applymovement PLAYER, AfterTotodileMovement
 	jump ElmDirectionsScript
 
@@ -219,8 +219,8 @@
 	refreshscreen $0
 	pokepic CHIKORITA
 	cry CHIKORITA
-	closetext
-	pokepicyesorno
+	waitbutton
+	closepokepic
 	loadfont
 	writetext TakeChikoritaText
 	yesorno
@@ -229,21 +229,21 @@
 	setevent EVENT_GOT_CHIKORITA_FROM_ELM
 	writetext ChoseStarterText
 	keeptextopen
-	waitbutton
+	waitsfx
 	pokenamemem CHIKORITA, $0
 	writetext ReceivedStarterText
 	playsound SFX_CAUGHT_MON
-	waitbutton
+	waitsfx
 	keeptextopen
 	givepoke CHIKORITA, 5, BERRY
-	loadmovesprites
+	closetext
 	applymovement PLAYER, AfterChikoritaMovement
 	jump ElmDirectionsScript
 
 DidntChooseStarterScript:
 	writetext DidntChooseStarterText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ElmDirectionsScript:
@@ -250,25 +250,25 @@
 	spriteface PLAYER, UP
 	loadfont
 	writetext ElmDirectionsText1
+	waitbutton
 	closetext
-	loadmovesprites
 	addcellnum PHONE_ELM
 	loadfont
 	writetext GotElmsNumberText
 	playsound SFX_REGISTER_PHONE_NUMBER
+	waitsfx
 	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $2, LEFT
 	loadfont
 	writetext ElmDirectionsText2
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $2, DOWN
 	loadfont
 	writetext ElmDirectionsText3
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_GOT_A_POKEMON_FROM_ELM
 	setevent EVENT_RIVAL_CHERRYGROVE_CITY
 	dotrigger $5
@@ -277,15 +277,15 @@
 
 ElmDescribesMrPokemonScript:
 	writetext ElmDescribesMrPokemonText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 LookAtElmPokeBallScript:
 	loadfont
 	writetext ElmPokeBallText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ElmsLabHealingMachine:
@@ -293,8 +293,8 @@
 	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
 	iftrue .CanHeal
 	writetext ElmsLabHealingMachineText1
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .CanHeal
@@ -301,7 +301,7 @@
 	writetext ElmsLabHealingMachineText2
 	yesorno
 	iftrue ElmsLabHealingMachine_HealParty
-	loadmovesprites
+	closetext
 	end
 
 ElmsLabHealingMachine_HealParty:
@@ -312,12 +312,12 @@
 	special HealMachineAnim
 	pause 30
 	special RestartMapMusic
-	loadmovesprites
+	closetext
 	end
 
 ElmAfterTheftDoneScript:
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ElmAfterTheftScript:
@@ -326,11 +326,11 @@
 	iffalse ElmAfterTheftDoneScript
 	keeptextopen
 	writetext ElmAfterTheftText2
-	closetext
+	waitbutton
 	takeitem MYSTERY_EGG
 	scall ElmJumpBackScript1
 	writetext ElmAfterTheftText3
-	closetext
+	waitbutton
 	scall ElmJumpBackScript2
 	writetext ElmAfterTheftText4
 	keeptextopen
@@ -342,33 +342,33 @@
 	clearevent EVENT_ROUTE_30_YOUNGSTER_JOEY
 	setevent EVENT_ROUTE_30_BATTLE
 	writetext ElmAfterTheftText6
+	waitbutton
 	closetext
-	loadmovesprites
 	dotrigger $6
 	end
 
 ElmStudyingEggScript:
 	writetext ElmStudyingEggText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ElmAideHasEggScript:
 	writetext ElmAideHasEggText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ElmWaitingEggHatchScript:
 	writetext ElmWaitingEggHatchText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ShowElmTogepiScript:
 	writetext ShowElmTogepiText1
+	waitbutton
 	closetext
-	loadmovesprites
 	showemote EMOTE_SHOCK, $2, 15
 	setevent EVENT_SHOWED_TOGEPI_TO_ELM
 	loadfont
@@ -382,16 +382,16 @@
 	verbosegiveitem EVERSTONE
 	iffalse ElmScript_NoRoomForEverstone
 	writetext ElmGiveEverstoneText2
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_GOT_EVERSTONE_FROM_ELM
 	end
 
 ElmScript_CallYou:
 	writetext ElmText_CallYou
-	closetext
+	waitbutton
 ElmScript_NoRoomForEverstone:
-	loadmovesprites
+	closetext
 	end
 
 ElmGiveMasterBallScript:
@@ -401,9 +401,9 @@
 	iffalse .notdone
 	setevent EVENT_GOT_MASTER_BALL_FROM_ELM
 	writetext ElmGiveMasterBallText2
-	closetext
+	waitbutton
 .notdone
-	loadmovesprites
+	closetext
 	end
 
 ElmGiveTicketScript:
@@ -412,12 +412,12 @@
 	verbosegiveitem S_S_TICKET
 	setevent EVENT_GOT_SS_TICKET_FROM_ELM
 	writetext ElmGiveTicketText2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ElmJumpBackScript1:
-	loadmovesprites
+	closetext
 	checkcode VAR_FACING
 	if_equal DOWN, ElmJumpDownScript
 	if_equal UP, ElmJumpUpScript
@@ -426,7 +426,7 @@
 	end
 
 ElmJumpBackScript2:
-	loadmovesprites
+	closetext
 	checkcode VAR_FACING
 	if_equal DOWN, ElmJumpUpScript
 	if_equal UP, ElmJumpDownScript
@@ -474,8 +474,8 @@
 	keeptextopen
 	verbosegiveitem POTION
 	writetext AideText_AlwaysBusy
+	waitbutton
 	closetext
-	loadmovesprites
 	dotrigger $2
 	end
 
@@ -503,7 +503,7 @@
 	writetext AideText_ExplainBalls
 	keeptextopen
 	itemnotify
-	loadmovesprites
+	closetext
 	dotrigger $2
 	end
 
@@ -521,26 +521,26 @@
 	checkevent EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON
 	iftrue AideScript_TheftTestimony
 	writetext AideText_AlwaysBusy
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 AideScript_TheftTestimony:
 	writetext AideText_TheftTestimony
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 AideScript_ExplainBalls:
 	writetext AideText_ExplainBalls
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 AideScript_AfterTheft:
 	writetext AideText_AfterTheft
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MeetCopScript2:
@@ -555,8 +555,8 @@
 	keeptextopen
 	special SpecialNameRival
 	writetext ElmsLabOfficerText2
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $7, OfficerLeavesMovement
 	disappear $7
 	dotrigger $2
@@ -572,14 +572,14 @@
 
 .BreakIn
 	writetext ElmsLabWindowText2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .Normal
 	writetext ElmsLabWindowText1
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ElmsLabTravelTip1:
--- a/maps/FastShip1F.asm
+++ b/maps/FastShip1F.asm
@@ -46,14 +46,14 @@
 	checkevent EVENT_FAST_SHIP_DESTINATION_OLIVINE
 	iftrue .Olivine
 	writetext UnknownText_0x7523b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .Olivine
 	writetext UnknownText_0x7529b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .Arrived:
@@ -60,12 +60,12 @@
 	checkevent EVENT_FAST_SHIP_DESTINATION_OLIVINE
 	iftrue ._Olivine
 	writetext UnknownText_0x754be
+	waitbutton
 	closetext
-	loadmovesprites
 	scall .LetThePlayerOut
 	playsound SFX_EXIT_BUILDING
 	special RotatePalettesRightPalettes
-	waitbutton
+	waitsfx
 	setevent EVENT_VERMILION_PORT_SAILOR_AT_GANGWAY
 	domaptrigger VERMILION_PORT, $1
 	warp VERMILION_PORT, $7, $11
@@ -73,12 +73,12 @@
 
 ._Olivine
 	writetext UnknownText_0x7548d
+	waitbutton
 	closetext
-	loadmovesprites
 	scall .LetThePlayerOut
 	playsound SFX_EXIT_BUILDING
 	special RotatePalettesRightPalettes
-	waitbutton
+	waitsfx
 	setevent EVENT_OLIVINE_PORT_SAILOR_AT_GANGWAY
 	domaptrigger OLIVINE_PORT, $1
 	warp OLIVINE_PORT, $7, $17
@@ -102,14 +102,14 @@
 	checkevent EVENT_FAST_SHIP_FIRST_TIME
 	iftrue .Vermilion
 	writetext UnknownText_0x752f9
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .Vermilion:
 	writetext UnknownText_0x7534f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SailorScript_0x751e4:
@@ -126,8 +126,8 @@
 	applymovement $5, MovementData_0x75220
 	loadfont
 	writetext UnknownText_0x75412
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface PLAYER, RIGHT
 	applymovement $5, MovementData_0x75222
 	disappear $5
--- a/maps/FastShipB1F.asm
+++ b/maps/FastShipB1F.asm
@@ -48,8 +48,8 @@
 	checkevent EVENT_FAST_SHIP_INFORMED_ABOUT_LAZY_SAILOR
 	iftrue UnknownScript_0x76787
 	writetext UnknownText_0x7687b
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_FAST_SHIP_INFORMED_ABOUT_LAZY_SAILOR
 	clearevent EVENT_FAST_SHIP_CABINS_NNW_NNE_NE_SAILOR
 	end
@@ -56,8 +56,8 @@
 
 UnknownScript_0x76787:
 	writetext UnknownText_0x76907
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x7678d:
@@ -64,21 +64,21 @@
 	writetext UnknownText_0x7692e
 	checkevent EVENT_FAST_SHIP_FOUND_GIRL
 	iffalse UnknownScript_0x76799
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x76799:
 	keeptextopen
 	writetext UnknownText_0x7696d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x767a0:
 	writetext UnknownText_0x7699d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSailorJeff:
@@ -85,11 +85,11 @@
 	trainer EVENT_BEAT_SAILOR_JEFF, SAILOR, JEFF, SailorJeffSeenText, SailorJeffBeatenText, 0, SailorJeffScript
 
 SailorJeffScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x76a38
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPicnickerDebra:
@@ -96,11 +96,11 @@
 	trainer EVENT_BEAT_PICNICKER_DEBRA, PICNICKER, DEBRA, PicnickerDebraSeenText, PicnickerDebraBeatenText, 0, PicnickerDebraScript
 
 PicnickerDebraScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x76a99
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerJugglerFritz:
@@ -107,11 +107,11 @@
 	trainer EVENT_BEAT_JUGGLER_FRITZ, JUGGLER, FRITZ, JugglerFritzSeenText, JugglerFritzBeatenText, 0, JugglerFritzScript
 
 JugglerFritzScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x76b02
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSailorGarrett:
@@ -118,11 +118,11 @@
 	trainer EVENT_BEAT_SAILOR_GARRETT, SAILOR, GARRETT, SailorGarrettSeenText, SailorGarrettBeatenText, 0, SailorGarrettScript
 
 SailorGarrettScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x76b7a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerFisherJonah:
@@ -129,11 +129,11 @@
 	trainer EVENT_BEAT_FISHER_JONAH, FISHER, JONAH, FisherJonahSeenText, FisherJonahBeatenText, 0, FisherJonahScript
 
 FisherJonahScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x76c22
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBlackbeltWai:
@@ -140,11 +140,11 @@
 	trainer EVENT_BEAT_BLACKBELT_WAI, BLACKBELT_T, WAI, BlackbeltWaiSeenText, BlackbeltWaiBeatenText, 0, BlackbeltWaiScript
 
 BlackbeltWaiScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x76c9e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSailorKenneth:
@@ -151,11 +151,11 @@
 	trainer EVENT_BEAT_SAILOR_KENNETH, SAILOR, KENNETH, SailorKennethSeenText, SailorKennethBeatenText, 0, SailorKennethScript
 
 SailorKennethScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x76d5f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerTeacherShirley:
@@ -162,11 +162,11 @@
 	trainer EVENT_BEAT_TEACHER_SHIRLEY, TEACHER, SHIRLEY, TeacherShirleySeenText, TeacherShirleyBeatenText, 0, TeacherShirleyScript
 
 TeacherShirleyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x76de1
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSchoolboyNate:
@@ -173,11 +173,11 @@
 	trainer EVENT_BEAT_SCHOOLBOY_NATE, SCHOOLBOY, NATE, SchoolboyNateSeenText, SchoolboyNateBeatenText, 0, SchoolboyNateScript
 
 SchoolboyNateScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x76e3d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSchoolboyRicky:
@@ -184,11 +184,11 @@
 	trainer EVENT_BEAT_SCHOOLBOY_RICKY, SCHOOLBOY, RICKY, SchoolboyRickySeenText, SchoolboyRickyBeatenText, 0, SchoolboyRickyScript
 
 SchoolboyRickyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x76eb6
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 FashShipB1FTrashcan:
--- a/maps/FastShipCabins_NNW_NNE_NE.asm
+++ b/maps/FastShipCabins_NNW_NNE_NE.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_COOLTRAINERM_SEAN, COOLTRAINERM, SEAN, CooltrainermSeanSeenText, CooltrainermSeanBeatenText, 0, CooltrainermSeanScript
 
 CooltrainermSeanScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x7567b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCooltrainerfCarol:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_COOLTRAINERF_CAROL, COOLTRAINERF, CAROL, CooltrainerfCarolSeenText, CooltrainerfCarolBeatenText, 0, CooltrainerfCarolScript
 
 CooltrainerfCarolScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x756f7
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPokemaniacEthan:
@@ -31,11 +31,11 @@
 	trainer EVENT_BEAT_POKEMANIAC_ETHAN, POKEMANIAC, ETHAN, PokemaniacEthanSeenText, PokemaniacEthanBeatenText, 0, PokemaniacEthanScript
 
 PokemaniacEthanScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x7574b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerHikerNoland:
@@ -42,11 +42,11 @@
 	trainer EVENT_BEAT_HIKER_NOLAND, HIKER, NOLAND, HikerNolandSeenText, HikerNolandBeatenText, 0, HikerNolandScript
 
 HikerNolandScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x757d4
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerGentlemanEdward:
@@ -53,11 +53,11 @@
 	trainer EVENT_BEAT_GENTLEMAN_EDWARD, GENTLEMAN, EDWARD, GentlemanEdwardSeenText, GentlemanEdwardBeatenText, 0, GentlemanEdwardScript
 
 GentlemanEdwardScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x75937
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBurglarCorey:
@@ -64,11 +64,11 @@
 	trainer EVENT_BEAT_BURGLAR_COREY, BURGLAR, COREY, BurglarCoreySeenText, BurglarCoreyBeatenText, 0, BurglarCoreyScript
 
 BurglarCoreyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x75996
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SailorScript_0x755f1:
@@ -76,10 +76,10 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x75812
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x75897, 0
-	loadtrainer SAILOR, STANLY
+	scriptedtrainerdata SAILOR, STANLY
 	startbattle
 	reloadmap
 	special HealParty
@@ -86,8 +86,8 @@
 	setevent EVENT_BEAT_SAILOR_STANLY
 	loadfont
 	writetext UnknownText_0x758b1
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_FAST_SHIP_LAZY_SAILOR
 	domaptrigger FAST_SHIP_B1F, $1
 	checkcode VAR_FACING
@@ -95,7 +95,7 @@
 	applymovement $6, MovementData_0x75637
 	playsound SFX_EXIT_BUILDING
 	disappear $6
-	waitbutton
+	waitsfx
 	end
 
 UnknownScript_0x75629:
@@ -102,7 +102,7 @@
 	applymovement $6, MovementData_0x7563c
 	playsound SFX_EXIT_BUILDING
 	disappear $6
-	waitbutton
+	waitsfx
 	end
 
 FastShipCabins_NNW_NNE_NETrashcan:
--- a/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm
+++ b/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm
@@ -14,14 +14,14 @@
 	checkevent EVENT_FAST_SHIP_FIRST_TIME
 	iftrue UnknownScript_0x75eb5
 	writetext UnknownText_0x76012
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x75eb5:
 	writetext UnknownText_0x76064
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TwinScript_0x75ebb:
@@ -28,13 +28,13 @@
 	spriteface $5, RIGHT
 	loadfont
 	writetext UnknownText_0x761e0
+	waitbutton
 	closetext
-	loadmovesprites
 	faceplayer
 	loadfont
 	writetext UnknownText_0x7621f
+	waitbutton
 	closetext
-	loadmovesprites
 	special Special_FadeBlackQuickly
 	special Special_ReloadSpritesNoPalettes
 	disappear $5
@@ -52,15 +52,15 @@
 	iftrue UnknownScript_0x75f03
 	loadfont
 	writetext UnknownText_0x76284
+	waitbutton
 	closetext
-	loadmovesprites
 	jump UnknownScript_0x75f09
 
 UnknownScript_0x75f03:
 	loadfont
 	writetext UnknownText_0x762c6
+	waitbutton
 	closetext
-	loadmovesprites
 UnknownScript_0x75f09:
 	spriteface $5, DOWN
 	applymovement $3, MovementData_0x76010
@@ -79,8 +79,8 @@
 	checkevent EVENT_FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN_TWIN_2
 	iftrue UnknownScript_0x75f58
 	writetext UnknownText_0x760ae
+	waitbutton
 	closetext
-	loadmovesprites
 	domaptrigger FAST_SHIP_1F, $0
 	end
 
@@ -91,16 +91,16 @@
 	iffalse UnknownScript_0x75f44
 	setevent EVENT_GOT_METAL_COAT_FROM_GRANDPA_ON_SS_AQUA
 UnknownScript_0x75f44:
-	loadmovesprites
-	waitbutton
+	closetext
+	waitsfx
 	playsound SFX_ELEVATOR_END
 	pause 30
 	loadfont
 	writetext UnknownText_0x76645
-	closetext
+	waitbutton
 	setevent EVENT_FAST_SHIP_HAS_ARRIVED
 	setevent EVENT_FAST_SHIP_FOUND_GIRL
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x75f58:
@@ -110,13 +110,13 @@
 	iffalse UnknownScript_0x75f65
 	setevent EVENT_GOT_METAL_COAT_FROM_GRANDPA_ON_SS_AQUA
 UnknownScript_0x75f65:
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x75f67:
 	writetext UnknownText_0x761be
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TwinScript_0x75f6d:
@@ -123,8 +123,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x7630d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPokefanmColin:
@@ -131,11 +131,11 @@
 	trainer EVENT_BEAT_POKEFANM_COLIN, POKEFANM, COLIN, PokefanmColinSeenText, PokefanmColinBeatenText, 0, PokefanmColinScript
 
 PokefanmColinScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x7635b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerTwinsMegandpeg1:
@@ -142,11 +142,11 @@
 	trainer EVENT_BEAT_TWINS_MEG_AND_PEG, TWINS, MEGANDPEG1, TwinsMegandpeg1SeenText, TwinsMegandpeg1BeatenText, 0, TwinsMegandpeg1Script
 
 TwinsMegandpeg1Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x763c2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerTwinsMegandpeg2:
@@ -153,11 +153,11 @@
 	trainer EVENT_BEAT_TWINS_MEG_AND_PEG, TWINS, MEGANDPEG2, TwinsMegandpeg2SeenText, TwinsMegandpeg2BeatenText, 0, TwinsMegandpeg2Script
 
 TwinsMegandpeg2Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x76428
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPsychicRodney:
@@ -164,11 +164,11 @@
 	trainer EVENT_BEAT_PSYCHIC_RODNEY, PSYCHIC_T, RODNEY, PsychicRodneySeenText, PsychicRodneyBeatenText, 0, PsychicRodneyScript
 
 PsychicRodneyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x76497
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPokefanmJeremy:
@@ -175,11 +175,11 @@
 	trainer EVENT_BEAT_POKEFANM_JEREMY, POKEFANM, JEREMY, PokefanmJeremySeenText, PokefanmJeremyBeatenText, 0, PokefanmJeremyScript
 
 PokefanmJeremyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x7651c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPokefanfGeorgia:
@@ -186,11 +186,11 @@
 	trainer EVENT_BEAT_POKEFANF_GEORGIA, POKEFANF, GEORGIA, PokefanfGeorgiaSeenText, PokefanfGeorgiaBeatenText, 0, PokefanfGeorgiaScript
 
 PokefanfGeorgiaScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x76596
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSupernerdShawn:
@@ -197,11 +197,11 @@
 	trainer EVENT_BEAT_SUPER_NERD_SHAWN, SUPER_NERD, SHAWN, SupernerdShawnSeenText, SupernerdShawnBeatenText, 0, SupernerdShawnScript
 
 SupernerdShawnScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x7660f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 FastShipCaptainsCabinTrashcan:
--- a/maps/FastShipCabins_SW_SSW_NW.asm
+++ b/maps/FastShipCabins_SW_SSW_NW.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_FIREBREATHER_LYLE, FIREBREATHER, LYLE, FirebreatherLyleSeenText, FirebreatherLyleBeatenText, 0, FirebreatherLyleScript
 
 FirebreatherLyleScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x75b52
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBug_catcherKen:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_BUG_CATCHER_KEN, BUG_CATCHER, KEN, Bug_catcherKenSeenText, Bug_catcherKenBeatenText, 0, Bug_catcherKenScript
 
 Bug_catcherKenScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x75bd5
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBeautyCassie:
@@ -31,11 +31,11 @@
 	trainer EVENT_BEAT_BEAUTY_CASSIE, BEAUTY, CASSIE, BeautyCassieSeenText, BeautyCassieBeatenText, 0, BeautyCassieScript
 
 BeautyCassieScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x75c43
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerGuitaristClyde:
@@ -42,27 +42,27 @@
 	trainer EVENT_BEAT_GUITARIST_CLYDE, GUITARIST, CLYDE, GuitaristClydeSeenText, GuitaristClydeBeatenText, 0, GuitaristClydeScript
 
 GuitaristClydeScript:
-	talkaftercancel
+	end_if_just_battled
 	special Mobile_DummyReturnFalse
 	iftrue .mobile
 	loadfont
 	writetext UnknownText_0x75d65
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .mobile:
 	loadfont
 	writetext UnknownText_0x75cfe
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 FastShipBed:
 	loadfont
 	writetext FastShipBedText1
+	waitbutton
 	closetext
-	loadmovesprites
 	special Special_FadeBlackQuickly
 	special Special_ReloadSpritesNoPalettes
 	special Mobile_HealParty
@@ -73,8 +73,8 @@
 	special Special_RotatePalettesLeftQuickly
 	loadfont
 	writetext FastShipBedText2
+	waitbutton
 	closetext
-	loadmovesprites
 	checkevent EVENT_FAST_SHIP_HAS_ARRIVED
 	iftrue UnknownScript_0x75ae1
 	checkevent EVENT_FAST_SHIP_FOUND_GIRL
@@ -91,8 +91,8 @@
 	iftrue UnknownScript_0x75af7
 	loadfont
 	writetext FastShipArrivedVermilionText
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_FAST_SHIP_HAS_ARRIVED
 	end
 
@@ -99,8 +99,8 @@
 UnknownScript_0x75af7:
 	loadfont
 	writetext FastShipArrivedOlivineText
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_FAST_SHIP_HAS_ARRIVED
 	end
 
--- a/maps/FuchsiaGym.asm
+++ b/maps/FuchsiaGym.asm
@@ -12,10 +12,10 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x195f35
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x195fa1, 0
-	loadtrainer JANINE, 1
+	scriptedtrainerdata JANINE, 1
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_JANINE
@@ -31,7 +31,7 @@
 	loadfont
 	writetext UnknownText_0x195feb
 	playsound SFX_GET_BADGE
-	waitbutton
+	waitsfx
 	setflag ENGINE_SOULBADGE
 	jump UnknownScript_0x195e02
 .FightDone
@@ -47,8 +47,8 @@
 	setevent EVENT_GOT_TM06_TOXIC
 UnknownScript_0x195e15:
 	writetext UnknownText_0x196074
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 FuschiaGym1Script_0x195e1b:
@@ -64,10 +64,10 @@
 	checkevent EVENT_BEAT_LASS_ALICE
 	iftrue UnknownScript_0x195e4f
 	writetext UnknownText_0x1960e6
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x196126, 0
-	loadtrainer LASS, ALICE
+	scriptedtrainerdata LASS, ALICE
 	startbattle
 	iftrue UnknownScript_0x195e4a
 	returnafterbattle
@@ -81,8 +81,8 @@
 
 UnknownScript_0x195e4f:
 	writetext UnknownText_0x196139
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 FuschiaGym2Script_0x195e55:
@@ -98,10 +98,10 @@
 	checkevent EVENT_BEAT_LASS_LINDA
 	iftrue UnknownScript_0x195e89
 	writetext UnknownText_0x196166
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x19617b, 0
-	loadtrainer LASS, LINDA
+	scriptedtrainerdata LASS, LINDA
 	startbattle
 	iftrue UnknownScript_0x195e84
 	returnafterbattle
@@ -115,8 +115,8 @@
 
 UnknownScript_0x195e89:
 	writetext UnknownText_0x196199
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 FuschiaGym3Script_0x195e8f:
@@ -132,10 +132,10 @@
 	checkevent EVENT_BEAT_PICNICKER_CINDY
 	iftrue UnknownScript_0x195ec3
 	writetext UnknownText_0x1961bb
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x1961f1, 0
-	loadtrainer PICNICKER, CINDY
+	scriptedtrainerdata PICNICKER, CINDY
 	startbattle
 	iftrue UnknownScript_0x195ebe
 	returnafterbattle
@@ -149,8 +149,8 @@
 
 UnknownScript_0x195ec3:
 	writetext UnknownText_0x19620c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 FuschiaGym4Script_0x195ec9:
@@ -166,10 +166,10 @@
 	checkevent EVENT_BEAT_CAMPER_BARRY
 	iftrue UnknownScript_0x195efd
 	writetext UnknownText_0x196228
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x19624a, 0
-	loadtrainer CAMPER, BARRY
+	scriptedtrainerdata CAMPER, BARRY
 	startbattle
 	iftrue UnknownScript_0x195ef8
 	returnafterbattle
@@ -183,8 +183,8 @@
 
 UnknownScript_0x195efd:
 	writetext UnknownText_0x19626b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 FuchsiaGymGuyScript:
@@ -193,14 +193,14 @@
 	checkevent EVENT_BEAT_JANINE
 	iftrue .FuchsiaGymGuyWinScript
 	writetext FuchsiaGymGuyText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .FuchsiaGymGuyWinScript
 	writetext FuchsiaGymGuyWinText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 FuchsiaGymStatue:
--- a/maps/FuchsiaMart.asm
+++ b/maps/FuchsiaMart.asm
@@ -8,7 +8,7 @@
 ClerkScript_0x195ce8:
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_FUCHSIA
-	loadmovesprites
+	closetext
 	end
 
 FisherScript_0x195cef:
--- a/maps/FuchsiaPokeCenter1F.asm
+++ b/maps/FuchsiaPokeCenter1F.asm
@@ -24,8 +24,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x19652e
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $5, MovementData_0x196486
 	faceplayer
 	variablesprite SPRITE_JANINE_IMPERSONATOR, SPRITE_JANINE
@@ -32,8 +32,8 @@
 	special RunCallback_04
 	loadfont
 	writetext UnknownText_0x19654e
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $5, MovementData_0x196486
 	faceplayer
 	variablesprite SPRITE_JANINE_IMPERSONATOR, SPRITE_LASS
--- a/maps/GoldenrodBikeShop.asm
+++ b/maps/GoldenrodBikeShop.asm
@@ -18,24 +18,24 @@
 	iffalse UnknownScript_0x5477b
 	writetext UnknownText_0x547f8
 	keeptextopen
-	waitbutton
+	waitsfx
 	giveitem BICYCLE
 	writetext UnknownText_0x54848
 	playsound SFX_KEY_ITEM
-	waitbutton
+	waitsfx
 	itemnotify
 	setflag ENGINE_BIKE_SHOP_CALL_ENABLED
 	setevent EVENT_GOT_BICYCLE
 UnknownScript_0x54775:
 	writetext UnknownText_0x5485f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x5477b:
 	writetext UnknownText_0x54898
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ; possibly unused
--- a/maps/GoldenrodBillsHouse.asm
+++ b/maps/GoldenrodBillsHouse.asm
@@ -15,35 +15,35 @@
 	iffalse UnknownScript_0x54c19
 	writetext UnknownText_0x54d3f
 	keeptextopen
-	waitbutton
+	waitsfx
 	checkcode VAR_PARTYCOUNT
 	if_equal $6, UnknownScript_0x54c13
 	writetext UnknownText_0x54dae
 	playsound SFX_CAUGHT_MON
-	waitbutton
+	waitsfx
 	givepoke EEVEE, 20
 	setevent EVENT_GOT_EEVEE
 	writetext UnknownText_0x54dc1
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x54c13:
 	writetext UnknownText_0x54e02
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x54c19:
 	writetext UnknownText_0x54e2d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x54c1f:
 	writetext UnknownText_0x54e42
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 BillsMom:
@@ -52,14 +52,14 @@
 	checkevent EVENT_MET_BILL
 	iffalse UnknownScript_0x54c33
 	writetext UnknownText_0x54ea8
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x54c33:
 	writetext UnknownText_0x54f4e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 BillsSister:
@@ -71,22 +71,22 @@
 	askforphonenumber PHONE_BILL
 	if_equal $1, UnknownScript_0x54c64
 	if_equal $2, UnknownScript_0x54c5e
-	waitbutton
+	waitsfx
 	addcellnum PHONE_BILL
 	writetext UnknownText_0x54fd9
 	playsound SFX_REGISTER_PHONE_NUMBER
-	waitbutton
+	waitsfx
 	keeptextopen
 UnknownScript_0x54c58: ;0x54c58
 	writetext UnknownText_0x55069
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x54c5e:
 	writetext UnknownText_0x54ff3
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x54c64:
--- a/maps/GoldenrodCity.asm
+++ b/maps/GoldenrodCity.asm
@@ -98,14 +98,14 @@
 
 .Refused:
 	writetext UnknownText_0x1990b4
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .Refused2:
 	writetext UnknownText_0x199107
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .TeachMove:
@@ -112,12 +112,12 @@
 	writetext UnknownText_0x19913a
 	keeptextopen
 	takecoins 4000
-	waitbutton
+	waitsfx
 	playsound SFX_TRANSACTION
 	special Special_DisplayCoinCaseBalance
 	writetext UnknownText_0x19918b
+	waitbutton
 	closetext
-	loadmovesprites
 	checkcode VAR_FACING
 	if_equal $2, .WalkAroundPlayer
 	applymovement $10, MovementData_0x198a5f
@@ -130,19 +130,19 @@
 	disappear $10
 	clearevent EVENT_GOLDENROD_GAME_CORNER_MOVE_TUTOR
 	setflag ENGINE_DAILY_MOVE_TUTOR
-	waitbutton
+	waitsfx
 	end
 
 .Incompatible:
 	writetext UnknownText_0x1991a4
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .NotEnoughMoney:
 	writetext UnknownText_0x1991ac
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 PokefanMScript_0x1989e3:
@@ -157,14 +157,14 @@
 	checkevent EVENT_CLEARED_RADIO_TOWER
 	iftrue .ClearedRadioTower
 	writetext UnknownText_0x198ae6
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .ClearedRadioTower:
 	writetext UnknownText_0x198b2d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CooltrainerFScript_0x1989fd:
@@ -173,14 +173,14 @@
 	checkflag ENGINE_RADIO_CARD
 	iftrue .GotRadioCard
 	writetext UnknownText_0x198b73
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .GotRadioCard:
 	writetext UnknownText_0x198c14
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x198a11:
@@ -198,8 +198,8 @@
 	keeptextopen
 	faceplayer
 	writetext UnknownText_0x198d2a
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $9, UP
 	end
 
--- a/maps/GoldenrodDeptStore2F.asm
+++ b/maps/GoldenrodDeptStore2F.asm
@@ -9,7 +9,7 @@
 	faceplayer
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_GOLDENROD_2F_1
-	loadmovesprites
+	closetext
 	end
 
 ClerkScript_0x55b65:
@@ -16,7 +16,7 @@
 	faceplayer
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_GOLDENROD_2F_2
-	loadmovesprites
+	closetext
 	end
 
 YoungsterScript_0x55b6d:
--- a/maps/GoldenrodDeptStore3F.asm
+++ b/maps/GoldenrodDeptStore3F.asm
@@ -9,7 +9,7 @@
 	faceplayer
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_GOLDENROD_3F
-	loadmovesprites
+	closetext
 	end
 
 SuperNerdScript_0x55dc0:
--- a/maps/GoldenrodDeptStore4F.asm
+++ b/maps/GoldenrodDeptStore4F.asm
@@ -9,7 +9,7 @@
 	faceplayer
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_GOLDENROD_4F
-	loadmovesprites
+	closetext
 	end
 
 CooltrainerMScript_0x55ef1:
@@ -22,8 +22,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x55f74
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $5, DOWN
 	end
 
--- a/maps/GoldenrodDeptStore5F.asm
+++ b/maps/GoldenrodDeptStore5F.asm
@@ -35,22 +35,22 @@
 
 .neither:
 	pokemart MARTTYPE_STANDARD, MART_GOLDENROD_5F_1
-	loadmovesprites
+	closetext
 	end
 
 .onlyheadbutt:
 	pokemart MARTTYPE_STANDARD, MART_GOLDENROD_5F_2
-	loadmovesprites
+	closetext
 	end
 
 .onlyrocksmash:
 	pokemart MARTTYPE_STANDARD, MART_GOLDENROD_5F_3
-	loadmovesprites
+	closetext
 	end
 
 .both:
 	pokemart MARTTYPE_STANDARD, MART_GOLDENROD_5F_4
-	loadmovesprites
+	closetext
 	end
 
 ReceptionistScript_0x560ce:
@@ -73,13 +73,13 @@
 	verbosegiveitem TM_RETURN
 	iffalse .Done
 	setflag ENGINE_GOLDENROD_MALL_5F_HAPPINESS_EVENT
-	loadmovesprites
+	closetext
 	end
 
 .SomewhatHappy:
 	writetext UnknownText_0x561a6
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .NotVeryHappy:
@@ -88,14 +88,14 @@
 	verbosegiveitem TM_FRUSTRATION
 	iffalse .Done
 	setflag ENGINE_GOLDENROD_MALL_5F_HAPPINESS_EVENT
-	loadmovesprites
+	closetext
 	end
 
 .EventIsOver:
 	writetext UnknownText_0x56202
-	closetext
+	waitbutton
 .Done:
-	loadmovesprites
+	closetext
 	end
 
 TwinScript_0x56118:
@@ -104,15 +104,15 @@
 	special SpecialGameboyCheck
 	if_not_equal $2, .NotGBC ; This is a dummy check from Gold and Silver.  In normal gameplay, this would not be checked.
 	writetext UnknownText_0x56241
+	waitbutton
 	closetext
-	loadmovesprites
 	special Special_UnlockMysteryGift
 	end
 
 .NotGBC:
 	writetext UnknownText_0x56279
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 LassScript_0x56130:
@@ -122,8 +122,8 @@
 	faceplayer
 	loadfont
 	trade $0
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 PokefanMScript_0x5613a:
--- a/maps/GoldenrodDeptStore6F.asm
+++ b/maps/GoldenrodDeptStore6F.asm
@@ -16,7 +16,7 @@
 	if_equal $1, .FreshWater
 	if_equal $2, .SodaPop
 	if_equal $3, .Lemonade
-	loadmovesprites
+	closetext
 	end
 
 .FreshWater
@@ -56,12 +56,12 @@
 
 .NotEnoughMoney
 	writetext GoldenrodVendingNoMoneyText
-	closetext
+	waitbutton
 	jump .Start
 
 .NotEnoughSpace
 	writetext GoldenrodVendingNoSpaceText
-	closetext
+	waitbutton
 	jump .Start
 
 .MenuData
--- a/maps/GoldenrodDeptStoreB1F.asm
+++ b/maps/GoldenrodDeptStoreB1F.asm
@@ -53,8 +53,8 @@
 	loadfont
 	writetext UnknownText_0x7d8bb
 	cry MACHOKE
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ItemFragment_0x7d7c3:
--- a/maps/GoldenrodDeptStoreElevator.asm
+++ b/maps/GoldenrodDeptStoreElevator.asm
@@ -8,12 +8,12 @@
 MapGoldenrodDeptStoreElevatorSignpost0Script:
 	loadfont
 	elevator Elevator_0x566e0
-	loadmovesprites
+	closetext
 	iffalse .Done
 	pause 5
 	playsound SFX_ELEVATOR
 	earthquake 60
-	waitbutton
+	waitsfx
 	checkevent EVENT_WAREHOUSE_BLOCKED_OFF
 	iftrue .Done
 	checkevent EVENT_WAREHOUSE_LAYOUT_1
--- a/maps/GoldenrodDeptStoreRoof.asm
+++ b/maps/GoldenrodDeptStoreRoof.asm
@@ -36,7 +36,7 @@
 ClerkScript_0x5673f:
 	loadfont
 	pokemart MARTTYPE_ROOFTOP, 0
-	loadmovesprites
+	closetext
 	end
 
 PokefanFScript_0x56746:
@@ -46,8 +46,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x567d2
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $4, UP
 	end
 
@@ -57,13 +57,13 @@
 SuperNerdScript_0x56757:
 	loadfont
 	writetext UnknownText_0x56867
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $6, UP
 	loadfont
 	writetext UnknownText_0x56871
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $6, RIGHT
 	end
 
--- a/maps/GoldenrodFlowerShop.asm
+++ b/maps/GoldenrodFlowerShop.asm
@@ -22,7 +22,7 @@
 	keeptextopen
 	verbosegiveitem SQUIRTBOTTLE
 	setevent EVENT_GOT_SQUIRTBOTTLE
-	loadmovesprites
+	closetext
 	setevent EVENT_FLORIA_AT_SUDOWOODO
 	clearevent EVENT_FLORIA_AT_FLOWER_SHOP
 	end
@@ -31,8 +31,8 @@
 	spriteface $2, LEFT
 	loadfont
 	writetext UnknownText_0x5552e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .GotSquirtbottle:
@@ -52,8 +52,8 @@
 	checkevent EVENT_GOT_SQUIRTBOTTLE
 	iftrue .GotSquirtbottle
 	writetext UnknownText_0x55561
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_TALKED_TO_FLORIA_AT_FLOWER_SHOP
 	setevent EVENT_FLORIA_AT_FLOWER_SHOP
 	clearevent EVENT_FLORIA_AT_SUDOWOODO
@@ -61,14 +61,14 @@
 
 .GotSquirtbottle:
 	writetext UnknownText_0x555e6
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .FoughtSudowoodo:
 	writetext UnknownText_0x55604
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 FlowerShopShelf1:
--- a/maps/GoldenrodGameCorner.asm
+++ b/maps/GoldenrodGameCorner.asm
@@ -32,8 +32,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x5718a
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $d, RIGHT
 	end
 
@@ -44,7 +44,7 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x56e50
-	closetext
+	waitbutton
 	checkitem COIN_CASE
 	iffalse UnknownScript_0x56cc3
 	writetext UnknownText_0x56e8b
@@ -97,34 +97,34 @@
 	end
 
 UnknownScript_0x56ca6:
-	waitbutton
+	waitsfx
 	playsound SFX_TRANSACTION
 	writetext UnknownText_0x56ebd
-	closetext
+	waitbutton
 	jump UnknownScript_0x56c36
 
 UnknownScript_0x56cb1:
 	writetext UnknownText_0x56ecb
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x56cb7:
 	writetext UnknownText_0x56ee8
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x56cbd:
 	writetext UnknownText_0x56f09
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x56cc3:
 	writetext UnknownText_0x56f35
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 
@@ -148,7 +148,7 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x56e50
-	closetext
+	waitbutton
 	checkitem COIN_CASE
 	iffalse UnknownScript_0x56cc3
 UnknownScript_0x56d0c:
@@ -170,10 +170,10 @@
 	pokenamemem ABRA, $0
 	scall UnknownScript_0x56ca1
 	iffalse UnknownScript_0x56cbd
-	waitbutton
+	waitsfx
 	playsound SFX_TRANSACTION
 	writetext UnknownText_0x56ebd
-	closetext
+	waitbutton
 	writebyte ABRA
 	special Special_GameCornerPrizeMonCheckDex
 	givepoke ABRA, 5
@@ -188,10 +188,10 @@
 	pokenamemem CUBONE, $0
 	scall UnknownScript_0x56ca1
 	iffalse UnknownScript_0x56cbd
-	waitbutton
+	waitsfx
 	playsound SFX_TRANSACTION
 	writetext UnknownText_0x56ebd
-	closetext
+	waitbutton
 	writebyte CUBONE
 	special Special_GameCornerPrizeMonCheckDex
 	givepoke CUBONE, 15
@@ -206,10 +206,10 @@
 	pokenamemem WOBBUFFET, $0
 	scall UnknownScript_0x56ca1
 	iffalse UnknownScript_0x56cbd
-	waitbutton
+	waitsfx
 	playsound SFX_TRANSACTION
 	writetext UnknownText_0x56ebd
-	closetext
+	waitbutton
 	writebyte WOBBUFFET
 	special Special_GameCornerPrizeMonCheckDex
 	givepoke WOBBUFFET, 15
@@ -237,8 +237,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x56f55
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface LAST_TALKED, LEFT
 	end
 
@@ -246,8 +246,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x56f9e
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $7, RIGHT
 	end
 
@@ -255,8 +255,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x56ff4
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $8, LEFT
 	end
 
@@ -264,8 +264,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x5702b
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $9, RIGHT
 	end
 
@@ -276,8 +276,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x570b1
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $b, RIGHT
 	end
 
@@ -293,7 +293,7 @@
 	refreshscreen $0
 	writebyte $0
 	special Special_SlotMachine
-	loadmovesprites
+	closetext
 	end
 
 MapGoldenrodGameCornerSignpost7Script:
@@ -300,13 +300,13 @@
 	refreshscreen $0
 	writebyte $1
 	special Special_SlotMachine
-	loadmovesprites
+	closetext
 	end
 
 MapGoldenrodGameCornerSignpost29Script:
 	refreshscreen $0
 	special Special_CardFlip
-	loadmovesprites
+	closetext
 	end
 
 UnknownText_0x56e50:
--- a/maps/GoldenrodGym.asm
+++ b/maps/GoldenrodGym.asm
@@ -21,10 +21,10 @@
 	iftrue .FightDone
 	loadfont
 	writetext UnknownText_0x54122
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x541a5, 0
-	loadtrainer WHITNEY, 1
+	scriptedtrainerdata WHITNEY, 1
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_WHITNEY
@@ -39,8 +39,8 @@
 	checkevent EVENT_MADE_WHITNEY_CRY
 	iffalse .StoppedCrying
 	writetext UnknownText_0x541f4
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .StoppedCrying
@@ -50,10 +50,10 @@
 	iftrue UnknownScript_0x54064
 	writetext UnknownText_0x54222
 	keeptextopen
-	waitbutton
+	waitsfx
 	writetext UnknownText_0x54273
 	playsound SFX_GET_BADGE
-	waitbutton
+	waitsfx
 	setflag ENGINE_PLAINBADGE
 	checkcode VAR_BADGES
 	scall GoldenrodGymTriggerRockets
@@ -64,15 +64,15 @@
 	iffalse UnknownScript_0x5407b
 	setevent EVENT_GOT_TM45_ATTRACT
 	writetext UnknownText_0x54302
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x54077:
 	writetext UnknownText_0x54360
-	closetext
+	waitbutton
 UnknownScript_0x5407b:
-	loadmovesprites
+	closetext
 	end
 
 GoldenrodGymTriggerRockets:
@@ -90,11 +90,11 @@
 	trainer EVENT_BEAT_LASS_CARRIE, LASS, CARRIE, LassCarrieSeenText, LassCarrieBeatenText, 0, LassCarrieScript
 
 LassCarrieScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext LassCarrieOWText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 WhitneyCriesScript:
@@ -103,8 +103,8 @@
 	spriteface PLAYER, DOWN
 	loadfont
 	writetext BridgetWhitneyCriesText
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $4, BridgetWalksAwayMovement
 	dotrigger $0
 	clearevent EVENT_MADE_WHITNEY_CRY
@@ -114,11 +114,11 @@
 	trainer EVENT_BEAT_LASS_BRIDGET, LASS, BRIDGET, LassBridgetSeenText, LassBridgetBeatenText, 0, LassBridgetScript
 
 LassBridgetScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext LassBridgetOWText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBeautyVictoria:
@@ -125,11 +125,11 @@
 	trainer EVENT_BEAT_BEAUTY_VICTORIA, BEAUTY, VICTORIA, BeautyVictoriaSeenText, BeautyVictoriaBeatenText, 0, BeautyVictoriaScript
 
 BeautyVictoriaScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext BeautyVictoriaOWText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBeautySamantha:
@@ -136,11 +136,11 @@
 	trainer EVENT_BEAT_BEAUTY_SAMANTHA, BEAUTY, SAMANTHA, BeautySamanthaSeenText, BeautySamanthaBeatenText, 0, BeautySamanthaScript
 
 BeautySamanthaScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext BeautySamanthaOWText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GoldenrodGymGuyScript:
@@ -149,15 +149,15 @@
 	iftrue .GoldenrodGymGuyWinScript
 	loadfont
 	writetext GoldenrodGymGuyText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .GoldenrodGymGuyWinScript
 	loadfont
 	writetext GoldenrodGymGuyWinText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GoldenrodGymStatue:
--- a/maps/GoldenrodHappinessRater.asm
+++ b/maps/GoldenrodHappinessRater.asm
@@ -20,38 +20,38 @@
 
 UnknownScript_0x54973:
 	writetext UnknownText_0x549fc
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x54979:
 	writetext UnknownText_0x54a2c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x5497f:
 	writetext UnknownText_0x54a5a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x54985:
 	writetext UnknownText_0x54a8e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x5498b:
 	writetext UnknownText_0x54a9f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x54991:
 	writetext UnknownText_0x54ad1
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 PokefanMScript_0x54997:
--- a/maps/GoldenrodMagnetTrainStation.asm
+++ b/maps/GoldenrodMagnetTrainStation.asm
@@ -17,8 +17,8 @@
 	checkevent EVENT_RESTORED_POWER_TO_KANTO
 	iftrue .MagnetTrainToSaffron
 	writetext UnknownText_0x55160
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .MagnetTrainToSaffron:
@@ -28,8 +28,8 @@
 	checkitem PASS
 	iffalse .PassNotInBag
 	writetext UnknownText_0x551ed
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $2, MovementData_0x55146
 	applymovement PLAYER, MovementData_0x5514f
 	writebyte $0
@@ -46,14 +46,14 @@
 
 .PassNotInBag:
 	writetext UnknownText_0x5522c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .DecidedNotToRide:
 	writetext UnknownText_0x5524f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 Script_ArriveFromSaffron:
@@ -62,8 +62,8 @@
 	applymovement $2, MovementData_0x5514b
 	loadfont
 	writetext UnknownText_0x5526a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GentlemanScript_0x55143:
--- a/maps/GoldenrodNameRatersHouse.asm
+++ b/maps/GoldenrodNameRatersHouse.asm
@@ -9,8 +9,8 @@
 	faceplayer
 	loadfont
 	special SpecialNameRater
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GoldenrodNameRatersHouseBookshelf:
--- a/maps/GoldenrodPokeCenter1F.asm
+++ b/maps/GoldenrodPokeCenter1F.asm
@@ -26,13 +26,13 @@
 	spriteface PLAYER, UP
 	loadfont
 	writetext UnknownText_0x622f0
-	closetext
+	waitbutton
 	verbosegiveitem GS_BALL
 	setevent EVENT_GOT_GS_BALL_FROM_POKECOM_CENTER
 	setevent EVENT_CAN_GIVE_GS_BALL_TO_KURT
 	writetext UnknownText_0x62359
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $3, MovementData_0x61060
 	special RestartMapMusic
 	disappear $3
@@ -58,13 +58,13 @@
 	spriteface PLAYER, UP
 	loadfont
 	writetext UnknownText_0x622f0
-	closetext
+	waitbutton
 	verbosegiveitem GS_BALL
 	setevent EVENT_GOT_GS_BALL_FROM_POKECOM_CENTER
 	setevent EVENT_CAN_GIVE_GS_BALL_TO_KURT
 	writetext UnknownText_0x62359
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $3, MovementData_0x6106c
 	special RestartMapMusic
 	disappear $3
@@ -82,7 +82,7 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x623fb
-	closetext
+	waitbutton
 	writetext UnknownText_0x6248c
 	yesorno
 	iffalse UnknownScript_0x6104b
@@ -89,27 +89,27 @@
 	takeitem EON_MAIL
 	iffalse UnknownScript_0x6104b
 	writetext UnknownText_0x62549
-	closetext
+	waitbutton
 	writetext UnknownText_0x624a4
-	closetext
+	waitbutton
 	verbosegiveitem REVIVE
 	iffalse UnknownScript_0x61051
 	writetext UnknownText_0x624e9
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x6104b:
 	writetext UnknownText_0x62509
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x61051:
 	giveitem EON_MAIL
 	writetext UnknownText_0x6252a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MovementData_0x6105a:
--- a/maps/GoldenrodPokeComCenter2FMobile.asm
+++ b/maps/GoldenrodPokeComCenter2FMobile.asm
@@ -17,7 +17,7 @@
 MapGoldenrodPokeComCenter2FMobileSignpost0Script:
 	loadfont
 	writetext UnknownText_0x627ee
-	closetext
+	waitbutton
 UnknownScript_0x625df:
 	reloadmappart
 	loadmenudata MenuDataHeader_0x62602
@@ -30,17 +30,17 @@
 UnknownScript_0x625f0:
 	loadfont
 	writetext UnknownText_0x62828
-	closetext
+	waitbutton
 	jump UnknownScript_0x625df
 
 UnknownScript_0x625f8:
 	loadfont
 	writetext UnknownText_0x628f4
-	closetext
+	waitbutton
 	jump UnknownScript_0x625df
 
 UnknownScript_0x62600:
-	loadmovesprites
+	closetext
 	end
 
 
@@ -62,7 +62,7 @@
 MapGoldenrodPokeComCenter2FMobileSignpost1Script:
 	loadfont
 	writetext UnknownText_0x62989
-	closetext
+	waitbutton
 UnknownScript_0x62629:
 	reloadmappart
 	loadmenudata MenuDataHeader_0x6264c
@@ -75,17 +75,17 @@
 UnknownScript_0x6263a:
 	loadfont
 	writetext UnknownText_0x629ae
-	closetext
+	waitbutton
 	jump UnknownScript_0x62629
 
 UnknownScript_0x62642:
 	loadfont
 	writetext UnknownText_0x62a5a
-	closetext
+	waitbutton
 	jump UnknownScript_0x62629
 
 UnknownScript_0x6264a:
-	loadmovesprites
+	closetext
 	end
 
 
--- a/maps/HallOfFame.asm
+++ b/maps/HallOfFame.asm
@@ -23,8 +23,8 @@
 	spriteface PLAYER, RIGHT
 	loadfont
 	writetext HallOfFame_LanceText
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $2, UP
 	applymovement PLAYER, HallOfFame_SlowlyApproachMachine
 	dotrigger $1
--- a/maps/IcePathB1F.asm
+++ b/maps/IcePathB1F.asm
@@ -57,8 +57,8 @@
 	scall .BoulderFallsThrough
 	loadfont
 	writetext UnknownText_0x7e512
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .BoulderFallsThrough:
--- a/maps/IlexForest.asm
+++ b/maps/IlexForest.asm
@@ -82,14 +82,14 @@
 	checkevent EVENT_HERDED_FARFETCHD
 	iftrue UnknownScript_0x6eb89
 	writetext UnknownText_0x6ef5c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x6eb89:
 	writetext UnknownText_0x6f019
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 BirdScript_0x6eb8f:
@@ -111,8 +111,8 @@
 	keeptextopen
 	writetext UnknownText_0x6f086
 	cry FARFETCH_D
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $2, MovementData_0x6ee8f
 	moveperson $2, $f, $19
 	disappear $2
@@ -318,8 +318,8 @@
 	loadfont
 	writetext UnknownText_0x6f086
 	cry FARFETCH_D
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x6eda1:
@@ -327,8 +327,8 @@
 	loadfont
 	writetext UnknownText_0x6f086
 	cry FARFETCH_D
+	waitbutton
 	closetext
-	loadmovesprites
 	checkcode VAR_FACING
 	end
 
@@ -342,8 +342,8 @@
 	verbosegiveitem HM_CUT
 	setevent EVENT_GOT_HM01_CUT
 	writetext UnknownText_0x6f141
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_ILEX_FOREST_FARFETCHD
 	setevent EVENT_ILEX_FOREST_APPRENTICE
 	setevent EVENT_ILEX_FOREST_CHARCOAL_MASTER
@@ -354,8 +354,8 @@
 
 UnknownScript_0x6edd8:
 	writetext UnknownText_0x6f1c0
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 RockerScript_0x6edde:
@@ -370,9 +370,9 @@
 	setevent EVENT_GOT_TM02_HEADBUTT
 UnknownScript_0x6edf3:
 	writetext UnknownText_0x6f26d
-	closetext
+	waitbutton
 UnknownScript_0x6edf7:
-	loadmovesprites
+	closetext
 	end
 
 TrainerBug_catcherWayne:
@@ -379,11 +379,11 @@
 	trainer EVENT_BEAT_BUG_CATCHER_WAYNE, BUG_CATCHER, WAYNE, Bug_catcherWayneSeenText, Bug_catcherWayneBeatenText, 0, Bug_catcherWayneScript
 
 Bug_catcherWayneScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x6f571
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 LassScript_0x6ee0d:
@@ -435,7 +435,7 @@
 	writetext UnknownText_0x6f394
 	yesorno
 	iftrue UnknownScript_0x6ee42
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x6ee42:
@@ -445,8 +445,8 @@
 	disappear $8
 	clearevent EVENT_ROUTE_34_ILEX_FOREST_GATE_LASS
 	writetext UnknownText_0x6f43b
+	waitbutton
 	closetext
-	loadmovesprites
 	pause 20
 	showemote EMOTE_SHOCK, PLAYER, 20
 	special Special_RotatePalettesRightMusic
@@ -456,7 +456,7 @@
 	pause 20
 	clearflag ENGINE_HAVE_EXAMINED_GS_BALL
 	special Special_CelebiShrineEvent
-	loadpokedata CELEBI, 30
+	scriptedpokedata CELEBI, 30
 	startbattle
 	returnafterbattle
 	pause 20
@@ -466,8 +466,8 @@
 	applymovement $7, MovementData_0x6ef4e
 	loadfont
 	writetext UnknownText_0x6f452
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $7, MovementData_0x6ef53
 	disappear $7
 UnknownScript_0x6ee8e:
--- a/maps/IndigoPlateauPokeCenter1F.asm
+++ b/maps/IndigoPlateauPokeCenter1F.asm
@@ -84,8 +84,8 @@
 UnknownScript_0x1800ce:
 	loadfont
 	writetext UnknownText_0x1801f5
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_INDIGO_PLATEAU_POKECENTER_RIVAL
 	checkevent EVENT_GOT_TOTODILE_FROM_ELM
 	iftrue UnknownScript_0x1800f3
@@ -93,7 +93,7 @@
 	iftrue UnknownScript_0x180103
 	winlosstext UnknownText_0x180295, UnknownText_0x1802fd
 	setlasttalked $5
-	loadtrainer RIVAL2, 6
+	scriptedtrainerdata RIVAL2, 6
 	startbattle
 	reloadmapmusic
 	returnafterbattle
@@ -102,7 +102,7 @@
 UnknownScript_0x1800f3:
 	winlosstext UnknownText_0x180295, UnknownText_0x1802fd
 	setlasttalked $5
-	loadtrainer RIVAL2, 4
+	scriptedtrainerdata RIVAL2, 4
 	startbattle
 	reloadmapmusic
 	returnafterbattle
@@ -111,7 +111,7 @@
 UnknownScript_0x180103:
 	winlosstext UnknownText_0x180295, UnknownText_0x1802fd
 	setlasttalked $5
-	loadtrainer RIVAL2, 5
+	scriptedtrainerdata RIVAL2, 5
 	startbattle
 	reloadmapmusic
 	returnafterbattle
@@ -121,8 +121,8 @@
 	playmusic MUSIC_RIVAL_AFTER
 	loadfont
 	writetext UnknownText_0x1802a4
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface PLAYER, DOWN
 	applymovement $5, MovementData_0x180172
 	disappear $5
@@ -138,7 +138,7 @@
 ClerkScript_0x18012f:
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_INDIGO_PLATEAU
-	loadmovesprites
+	closetext
 	end
 
 CooltrainerMScript_0x180136:
@@ -151,18 +151,18 @@
 	yesorno
 	iffalse .No
 	writetext TeleportGuyYesText
+	waitbutton
 	closetext
-	loadmovesprites
 	playsound SFX_WARP_TO
 	special RotatePalettesRightPalettes
-	waitbutton
+	waitsfx
 	warp NEW_BARK_TOWN, $d, $6
 	end
 
 .No
 	writetext TeleportGuyNoText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 AbraScript:
@@ -169,8 +169,8 @@
 	loadfont
 	writetext AbraText
 	cry ABRA
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MovementData_0x180164:
--- a/maps/KarensRoom.asm
+++ b/maps/KarensRoom.asm
@@ -38,10 +38,10 @@
 	earthquake 80
 	changeblock $4, $e, $2a
 	reloadmappart
-	loadmovesprites
+	closetext
 	dotrigger $1
 	setevent EVENT_KARENS_ROOM_ENTRANCE_CLOSED
-	waitbutton
+	waitsfx
 	end
 
 KarenScript_0x180bee:
@@ -50,29 +50,29 @@
 	checkevent EVENT_BEAT_ELITE_4_KAREN
 	iftrue UnknownScript_0x180c1c
 	writetext UnknownText_0x180c27
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x180cf8, 0
-	loadtrainer KAREN, 1
+	scriptedtrainerdata KAREN, 1
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_ELITE_4_KAREN
 	loadfont
 	writetext UnknownText_0x180d29
+	waitbutton
 	closetext
-	loadmovesprites
 	playsound SFX_ENTER_DOOR
 	changeblock $4, $2, $16
 	reloadmappart
-	loadmovesprites
+	closetext
 	setevent EVENT_KARENS_ROOM_EXIT_OPEN
-	waitbutton
+	waitsfx
 	end
 
 UnknownScript_0x180c1c:
 	writetext UnknownText_0x180d29
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MovementData_0x180c22:
--- a/maps/KogasRoom.asm
+++ b/maps/KogasRoom.asm
@@ -38,10 +38,10 @@
 	earthquake 80
 	changeblock $4, $e, $2a
 	reloadmappart
-	loadmovesprites
+	closetext
 	dotrigger $1
 	setevent EVENT_KOGAS_ROOM_ENTRANCE_CLOSED
-	waitbutton
+	waitsfx
 	end
 
 KogaScript_0x18075a:
@@ -50,29 +50,29 @@
 	checkevent EVENT_BEAT_ELITE_4_KOGA
 	iftrue UnknownScript_0x180788
 	writetext UnknownText_0x180793
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x1808a9, 0
-	loadtrainer KOGA, 1
+	scriptedtrainerdata KOGA, 1
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_ELITE_4_KOGA
 	loadfont
 	writetext UnknownText_0x1808ca
+	waitbutton
 	closetext
-	loadmovesprites
 	playsound SFX_ENTER_DOOR
 	changeblock $4, $2, $16
 	reloadmappart
-	loadmovesprites
+	closetext
 	setevent EVENT_KOGAS_ROOM_EXIT_OPEN
-	waitbutton
+	waitsfx
 	end
 
 UnknownScript_0x180788:
 	writetext UnknownText_0x1808ca
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MovementData_0x18078e:
--- a/maps/KrissHouse1F.asm
+++ b/maps/KrissHouse1F.asm
@@ -75,8 +75,8 @@
 
 UnknownScript_0x7a549:
 	writetext UnknownText_0x7a850
+	waitbutton
 	closetext
-	loadmovesprites
 	checkevent EVENT_GAVE_KURT_APRICORNS
 	iftrue UnknownScript_0x7a55d
 	checkevent EVENT_RECEIVED_BALLS_FROM_KURT
@@ -122,20 +122,20 @@
 	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
 	iftrue UnknownScript_0x7a5a9
 	writetext UnknownText_0x7a8b5
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x7a5a9:
 	writetext UnknownText_0x7a8e5
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x7a5af:
 	writetext UnknownText_0x7a957
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x7a5b5:
@@ -143,8 +143,8 @@
 UnknownScript_0x7a5b8:
 	setevent EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST
 	special Special_BankOfMom
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 NeighborScript:
@@ -174,8 +174,8 @@
 
 .Main
 	writetext NeighborText
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $6, RIGHT
 	end
 
--- a/maps/KrissHouse2F.asm
+++ b/maps/KrissHouse2F.asm
@@ -67,7 +67,7 @@
 	musicfadeout MUSIC_NEW_BARK_TOWN, $10
 	writetext KrisRadioText4
 	pause 45
-	loadmovesprites
+	closetext
 	setevent EVENT_LISTENED_TO_INITIAL_RADIO
 	end
 
@@ -78,7 +78,7 @@
 	loadfont
 	writetext KrisRadioText4
 	pause 45
-	loadmovesprites
+	closetext
 	end
 
 KrissHouseBookshelf:
@@ -88,7 +88,7 @@
 	loadfont
 	special Special_KrissHousePC
 	iftrue .Warp
-	loadmovesprites
+	closetext
 	end
 .Warp
 	warp NONE, $0, $0
--- a/maps/KrissNeighborsHouse.asm
+++ b/maps/KrissNeighborsHouse.asm
@@ -30,7 +30,7 @@
 	musicfadeout MUSIC_NEW_BARK_TOWN, $10
 	writetext KrisNeighborRadioText4
 	pause 45
-	loadmovesprites
+	closetext
 	setevent EVENT_LISTENED_TO_INITIAL_RADIO
 	end
 .NormalRadio
@@ -39,7 +39,7 @@
 	loadfont
 	writetext KrisNeighborRadioText4
 	pause 45
-	loadmovesprites
+	closetext
 	end
 
 KrissNeighborsDaughterText:
--- a/maps/KurtsHouse.asm
+++ b/maps/KurtsHouse.asm
@@ -38,8 +38,8 @@
 	checkevent EVENT_CLEARED_SLOWPOKE_WELL
 	iftrue .ClearedSlowpokeWell
 	writetext UnknownText_0x18e473
+	waitbutton
 	closetext
-	loadmovesprites
 	special Special_RotatePalettesRightMusic
 	setevent EVENT_AZALEA_TOWN_SLOWPOKETAIL_ROCKET
 	checkcode VAR_FACING
@@ -49,7 +49,7 @@
 	applymovement $2, MovementData_0x18e466
 	playsound SFX_EXIT_BUILDING
 	disappear $2
-	waitbutton
+	waitsfx
 	special RestartMapMusic
 	end
 
@@ -59,7 +59,7 @@
 	applymovement $2, MovementData_0x18e46c
 	playsound SFX_EXIT_BUILDING
 	disappear $2
-	waitbutton
+	waitsfx
 	special RestartMapMusic
 	end
 
@@ -94,7 +94,7 @@
 	checkevent EVENT_DRAGON_SHRINE_QUESTION_2
 	iftrue .CheckApricorns
 	writetext UnknownText_0x18e6c9
-	closetext
+	waitbutton
 .CheckApricorns:
 	checkitem RED_APRICORN
 	iftrue .AskApricorn
@@ -114,13 +114,13 @@
 	iftrue .ThatTurnedOutGreat
 	checkevent EVENT_DRAGON_SHRINE_QUESTION_2
 	iftrue .IMakeBallsFromApricorns
-	loadmovesprites
+	closetext
 	end
 
 .IMakeBallsFromApricorns:
 	writetext UnknownText_0x18e6c9
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .AskApricorn:
@@ -168,14 +168,14 @@
 	setflag ENGINE_KURT_MAKING_BALLS
 .WaitForApricorns:
 	writetext UnknownText_0x18e779
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .Cancel:
 	writetext UnknownText_0x18e7bc
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ._ThatTurnedOutGreat:
@@ -182,9 +182,9 @@
 	setevent EVENT_RECEIVED_BALLS_FROM_KURT
 .ThatTurnedOutGreat:
 	writetext UnknownText_0x18e82a
-	closetext
+	waitbutton
 .NoRoomForBall:
-	loadmovesprites
+	closetext
 	end
 
 .GiveLevelBall:
@@ -263,8 +263,8 @@
 	checkitem GS_BALL
 	iffalse .NoGSBall
 	writetext UnknownText_0x18e8ab
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_GAVE_GS_BALL_TO_KURT
 	takeitem GS_BALL
 	setflag ENGINE_KURT_MAKING_BALLS
@@ -274,16 +274,16 @@
 	checkflag ENGINE_KURT_MAKING_BALLS
 	iffalse .NotMakingBalls
 	writetext UnknownText_0x18e934
-	closetext
+	waitbutton
 	writetext UnknownText_0x18e949
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .NotMakingBalls:
 	writetext UnknownText_0x18e95c
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_FOREST_IS_RESTLESS
 	clearevent EVENT_CAN_GIVE_GS_BALL_TO_KURT
 	clearevent EVENT_GAVE_GS_BALL_TO_KURT
@@ -305,7 +305,7 @@
 	playsound SFX_EXIT_BUILDING
 	disappear $2
 	clearevent EVENT_AZALEA_TOWN_KURT
-	waitbutton
+	waitsfx
 	special RestartMapMusic
 	domaptrigger AZALEA_TOWN, $2
 	end
@@ -319,15 +319,15 @@
 	checkevent EVENT_BUGGING_KURT_TOO_MUCH
 	iffalse Script_FirstTimeBuggingKurt
 	writetext UnknownText_0x18e7d8
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $5, UP
 	end
 
 Script_FirstTimeBuggingKurt:
 	writetext UnknownText_0x18e863
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $5, UP
 	setevent EVENT_BUGGING_KURT_TOO_MUCH
 	end
@@ -334,11 +334,11 @@
 
 KurtScript_ImCheckingItNow:
 	writetext UnknownText_0x18e934
-	closetext
+	waitbutton
 	spriteface $5, UP
 	writetext UnknownText_0x18e949
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 KurtsGranddaughter1:
@@ -357,29 +357,29 @@
 	iftrue .Lonely
 	loadfont
 	writetext KurtsGranddaughterSlowpokeGoneText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .SlowpokeBack
 	loadfont
 	writetext KurtsGranddaughterSlowpokeBackText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .Lonely
 	loadfont
 	writetext KurtsGranddaughterLonelyText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .Dad
 	loadfont
 	writetext KurtsGranddaughterDadText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 KurtsGranddaughter2:
@@ -389,15 +389,15 @@
 	checkevent EVENT_GAVE_GS_BALL_TO_KURT
 	iftrue .GSBall
 	writetext KurtsGranddaughterHelpText
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $6, RIGHT
 	end
 
 .GSBall
 	writetext KurtsGranddaughterGSBallText
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $6, RIGHT
 	end
 
@@ -404,8 +404,8 @@
 KurtsGranddaughterFunScript:
 	loadfont
 	writetext KurtsGranddaughterFunText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 KurtsHouseSlowpoke:
@@ -413,8 +413,8 @@
 	loadfont
 	writetext KurtsHouseSlowpokeText
 	cry SLOWPOKE
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 KurtsHouseOakPhoto:
--- a/maps/LakeofRage.asm
+++ b/maps/LakeofRage.asm
@@ -46,8 +46,8 @@
 	iffalse UnknownScript_0x7004e
 UnknownScript_0x70035:
 	writetext UnknownText_0x702c6
+	waitbutton
 	closetext
-	loadmovesprites
 	playsound SFX_WARP_TO
 	applymovement $2, MovementData_0x70155
 	disappear $2
@@ -58,8 +58,8 @@
 
 UnknownScript_0x7004e:
 	writetext UnknownText_0x70371
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_REFUSED_TO_HELP_LANCE_AT_LAKE_OF_RAGE
 	end
 
@@ -76,8 +76,8 @@
 	writetext UnknownText_0x703cb
 	pause 15
 	cry GYARADOS
-	loadmovesprites
-	loadpokedata GYARADOS, 30
+	closetext
+	scriptedpokedata GYARADOS, 30
 	writecode VAR_BATTLETYPE, BATTLETYPE_SHINY
 	startbattle
 	if_equal $1, UnknownScript_0x7007a
@@ -86,12 +86,12 @@
 	returnafterbattle
 	loadfont
 	giveitem RED_SCALE
-	waitbutton
+	waitsfx
 	writetext UnknownText_0x703df
 	playsound SFX_ITEM
-	waitbutton
+	waitsfx
 	itemnotify
-	loadmovesprites
+	closetext
 	dotrigger $0
 	appear $2
 	end
@@ -102,14 +102,14 @@
 	checkevent EVENT_CLEARED_ROCKET_HIDEOUT
 	iftrue UnknownScript_0x7009c
 	writetext UnknownText_0x703f8
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x7009c:
 	writetext UnknownText_0x70421
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SuperNerdScript_0x700a2:
@@ -126,14 +126,14 @@
 	writetext UnknownText_0x70903
 	checkevent EVENT_CLEARED_ROCKET_HIDEOUT
 	iftrue UnknownScript_0x700b8
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x700b8:
 	keeptextopen
 	special Special_MagikarpHouseSign
-	loadmovesprites
+	closetext
 	end
 
 TrainerFisherAndre:
@@ -140,11 +140,11 @@
 	trainer EVENT_BEAT_FISHER_ANDRE, FISHER, ANDRE, FisherAndreSeenText, FisherAndreBeatenText, 0, FisherAndreScript
 
 FisherAndreScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x7058f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerFisherRaymond:
@@ -151,11 +151,11 @@
 	trainer EVENT_BEAT_FISHER_RAYMOND, FISHER, RAYMOND, FisherRaymondSeenText, FisherRaymondBeatenText, 0, FisherRaymondScript
 
 FisherRaymondScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x70611
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCooltrainermAaron:
@@ -162,11 +162,11 @@
 	trainer EVENT_BEAT_COOLTRAINERM_AARON, COOLTRAINERM, AARON, CooltrainermAaronSeenText, CooltrainermAaronBeatenText, 0, CooltrainermAaronScript
 
 CooltrainermAaronScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x7069c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCooltrainerfLois:
@@ -173,11 +173,11 @@
 	trainer EVENT_BEAT_COOLTRAINERF_LOIS, COOLTRAINERF, LOIS, CooltrainerfLoisSeenText, CooltrainerfLoisBeatenText, 0, CooltrainerfLoisScript
 
 CooltrainerfLoisScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x70752
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 WesleyScript:
@@ -199,21 +199,21 @@
 	iffalse WesleyDoneScript
 	setevent EVENT_GOT_BLACKBELT_FROM_WESLEY
 	writetext WesleyGaveGiftText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 WesleyWednesdayScript:
 	writetext WesleyWednesdayText
-	closetext
+	waitbutton
 WesleyDoneScript:
-	loadmovesprites
+	closetext
 	end
 
 WesleyNotWednesdayScript:
 	writetext WesleyNotWednesdayText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ItemFragment_0x70148:
--- a/maps/LakeofRageHiddenPowerHouse.asm
+++ b/maps/LakeofRageHiddenPowerHouse.asm
@@ -16,14 +16,14 @@
 	iffalse .Done
 	setevent EVENT_GOT_TM10_HIDDEN_POWER
 	writetext HiddenPowerGuyText2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 .AlreadyGotItem
 	writetext HiddenPowerGuyText3
-	closetext
+	waitbutton
 .Done
-	loadmovesprites
+	closetext
 	end
 
 HiddenPowerHouseBookshelf:
--- a/maps/LakeofRageMagikarpHouse.asm
+++ b/maps/LakeofRageMagikarpHouse.asm
@@ -17,21 +17,21 @@
 	checkevent EVENT_LAKE_OF_RAGE_EXPLAINED_WEIRD_MAGIKARP
 	iftrue UnknownScript_0x19a6d1
 	writetext UnknownText_0x19a72e
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_LAKE_OF_RAGE_EXPLAINED_WEIRD_MAGIKARP
 	end
 
 UnknownScript_0x19a6d1:
 	writetext UnknownText_0x19a84d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19a6d7:
 	writetext UnknownText_0x19a890
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_LAKE_OF_RAGE_ASKED_FOR_MAGIKARP
 	end
 
@@ -40,7 +40,7 @@
 	special Special_FindThatSpecies
 	iffalse UnknownScript_0x19a6d7
 	writetext UnknownText_0x19a93e
-	closetext
+	waitbutton
 	special Special_CheckMagikarpLength
 	if_equal $0, UnknownScript_0x19a71c
 	if_equal $1, UnknownScript_0x19a722
@@ -53,32 +53,32 @@
 	verbosegiveitem ELIXER
 	iffalse UnknownScript_0x19a711
 	writetext UnknownText_0x19a9c3
+	waitbutton
 	closetext
-	loadmovesprites
 	clearevent EVENT_LAKE_OF_RAGE_ELIXIR_ON_STANDBY
 	end
 
 UnknownScript_0x19a711:
-	loadmovesprites
+	closetext
 	setevent EVENT_LAKE_OF_RAGE_ELIXIR_ON_STANDBY
 	end
 
 UnknownScript_0x19a716:
 	writetext UnknownText_0x19aa01
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19a71c:
 	writetext UnknownText_0x19aa5c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19a722:
 	writetext UnknownText_0x19aa79
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19a728:
--- a/maps/LancesRoom.asm
+++ b/maps/LancesRoom.asm
@@ -38,7 +38,7 @@
 	earthquake 80
 	changeblock $4, $16, $34
 	reloadmappart
-	loadmovesprites
+	closetext
 	dotrigger $1
 	setevent EVENT_LANCES_ROOM_ENTRANCE_CLOSED
 	end
@@ -55,11 +55,11 @@
 	spriteface $2, LEFT
 	loadfont
 	writetext UnknownText_0x180f67
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x1810a4, 0
 	setlasttalked $2
-	loadtrainer CHAMPION, LANCE
+	scriptedtrainerdata CHAMPION, LANCE
 	startbattle
 	reloadmapmusic
 	returnafterbattle
@@ -66,12 +66,12 @@
 	setevent EVENT_BEAT_CHAMPION_LANCE
 	loadfont
 	writetext UnknownText_0x181132
+	waitbutton
 	closetext
-	loadmovesprites
 	playsound SFX_ENTER_DOOR
 	changeblock $4, $0, $b
 	reloadmappart
-	loadmovesprites
+	closetext
 	setevent EVENT_LANCES_ROOM_ENTRANCE_CLOSED
 	musicfadeout MUSIC_BEAUTY_ENCOUNTER, $10
 	pause 30
@@ -83,8 +83,8 @@
 	applymovement $3, MovementData_0x180f41
 	loadfont
 	writetext UnknownText_0x1811dd
+	waitbutton
 	closetext
-	loadmovesprites
 	appear $4
 	applymovement $4, MovementData_0x180f46
 	follow $3, $4
@@ -94,20 +94,20 @@
 	spriteface $2, LEFT
 	loadfont
 	writetext UnknownText_0x18121b
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $3, MovementData_0x180f4c
 	spriteface PLAYER, LEFT
 	loadfont
 	writetext UnknownText_0x18134b
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $2, MovementData_0x180f4f
 	spriteface PLAYER, UP
 	loadfont
 	writetext UnknownText_0x18137b
+	waitbutton
 	closetext
-	loadmovesprites
 	follow $2, PLAYER
 	spriteface $3, UP
 	spriteface $4, UP
@@ -123,7 +123,7 @@
 	loadfont
 	writetext UnknownText_0x1813c5
 	pause 30
-	loadmovesprites
+	closetext
 	applymovement $3, MovementData_0x180f5b
 	special RotatePalettesRightPalettes
 	pause 15
--- a/maps/LavRadioTower1F.asm
+++ b/maps/LavRadioTower1F.asm
@@ -22,8 +22,8 @@
 	checkevent EVENT_RETURNED_MACHINE_PART
 	iftrue .UnknownScript_0x7ee80
 	writetext UnknownText_0x7effb
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .UnknownScript_0x7ee80:
@@ -34,8 +34,8 @@
 	setflag ENGINE_EXPN_CARD
 .UnknownScript_0x7ee8e
 	writetext UnknownText_0x7f141
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .UnknownScript_0x7ee94
@@ -51,14 +51,14 @@
 	checkflag ENGINE_EXPN_CARD
 	iftrue UnknownScript_0x7eeb0
 	writetext UnknownText_0x7f193
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x7eeb0:
 	writetext UnknownText_0x7f248
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapLavRadioTower1FSignpost0Script:
--- a/maps/LavenderMart.asm
+++ b/maps/LavenderMart.asm
@@ -8,7 +8,7 @@
 ClerkScript_0x7eb1c:
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_LAVENDER
-	loadmovesprites
+	closetext
 	end
 
 PokefanMScript_0x7eb23:
--- a/maps/LavenderNameRater.asm
+++ b/maps/LavenderNameRater.asm
@@ -15,8 +15,8 @@
 	faceplayer
 	loadfont
 	special SpecialNameRater
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 LavenderNameRaterBookshelf:
--- a/maps/LavenderPokeCenter1F.asm
+++ b/maps/LavenderPokeCenter1F.asm
@@ -20,14 +20,14 @@
 	checkevent EVENT_RETURNED_MACHINE_PART
 	iftrue UnknownScript_0x7e6b7
 	writetext UnknownText_0x7e779
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x7e6b7:
 	writetext UnknownText_0x7e7ed
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownText_0x7e6bd:
--- a/maps/MahoganyGym.asm
+++ b/maps/MahoganyGym.asm
@@ -11,10 +11,10 @@
 	checkevent EVENT_BEAT_PRYCE
 	iftrue .FightDone
 	writetext UnknownText_0x199b8d
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x199cb3, 0
-	loadtrainer PRYCE, 1
+	scriptedtrainerdata PRYCE, 1
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_PRYCE
@@ -21,7 +21,7 @@
 	loadfont
 	writetext UnknownText_0x199d3b
 	playsound SFX_GET_BADGE
-	waitbutton
+	waitsfx
 	setflag ENGINE_GLACIERBADGE
 	checkcode VAR_BADGES
 	scall MahoganyGymTriggerRockets
@@ -39,15 +39,15 @@
 	iffalse UnknownScript_0x199af4
 	setevent EVENT_GOT_TM16_ICY_WIND
 	writetext UnknownText_0x199def
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x199af0:
 	writetext UnknownText_0x199e59
-	closetext
+	waitbutton
 UnknownScript_0x199af4:
-	loadmovesprites
+	closetext
 	end
 
 MahoganyGymTriggerRockets:
@@ -65,11 +65,11 @@
 	trainer EVENT_BEAT_SKIER_ROXANNE, SKIER, ROXANNE, SkierRoxanneSeenText, SkierRoxanneBeatenText, 0, SkierRoxanneScript
 
 SkierRoxanneScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19a116
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSkierClarissa:
@@ -76,11 +76,11 @@
 	trainer EVENT_BEAT_SKIER_CLARISSA, SKIER, CLARISSA, SkierClarissaSeenText, SkierClarissaBeatenText, 0, SkierClarissaScript
 
 SkierClarissaScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19a18f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBoarderRonald:
@@ -87,11 +87,11 @@
 	trainer EVENT_BEAT_BOARDER_RONALD, BOARDER, RONALD, BoarderRonaldSeenText, BoarderRonaldBeatenText, 0, BoarderRonaldScript
 
 BoarderRonaldScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x199f2d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBoarderBrad:
@@ -98,11 +98,11 @@
 	trainer EVENT_BEAT_BOARDER_BRAD, BOARDER, BRAD, BoarderBradSeenText, BoarderBradBeatenText, 0, BoarderBradScript
 
 BoarderBradScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x199fdd
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBoarderDouglas:
@@ -109,11 +109,11 @@
 	trainer EVENT_BEAT_BOARDER_DOUGLAS, BOARDER, DOUGLAS, BoarderDouglasSeenText, BoarderDouglasBeatenText, 0, BoarderDouglasScript
 
 BoarderDouglasScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19a047
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MahoganyGymGuyScript:
@@ -122,14 +122,14 @@
 	checkevent EVENT_BEAT_PRYCE
 	iftrue .MahoganyGymGuyWinScript
 	writetext MahoganyGymGuyText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .MahoganyGymGuyWinScript
 	writetext MahoganyGymGuyWinText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MahoganyGymStatue:
--- a/maps/MahoganyMart1F.asm
+++ b/maps/MahoganyMart1F.asm
@@ -35,13 +35,13 @@
 	checkevent EVENT_DECIDED_TO_HELP_LANCE
 	iftrue UnknownScript_0x6c375
 	pokemart MARTTYPE_STANDARD, MART_MAHOGANY_1
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x6c375:
 	writetext UnknownText_0x6c46b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 BlackBeltScript_0x6c37b:
@@ -50,14 +50,14 @@
 	checkevent EVENT_DECIDED_TO_HELP_LANCE
 	iftrue UnknownScript_0x6c389
 	writetext UnknownText_0x6c494
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x6c389:
 	writetext UnknownText_0x6c501
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x6c38f:
@@ -65,7 +65,7 @@
 	loadfont
 	writetext UnknownText_0x6c52a
 	pause 15
-	loadmovesprites
+	closetext
 	playsound SFX_TACKLE
 	applymovement $5, MovementData_0x6c3f6
 	applymovement $3, MovementData_0x6c3fb
@@ -75,8 +75,8 @@
 	applymovement $4, MovementData_0x6c407
 	loadfont
 	writetext UnknownText_0x6c549
+	waitbutton
 	closetext
-	loadmovesprites
 	follow $4, PLAYER
 	applymovement $4, MovementData_0x6c40a
 	applymovement $2, MovementData_0x6c403
@@ -84,23 +84,23 @@
 	stopfollow
 	loadfont
 	writetext UnknownText_0x6c59e
-	closetext
+	waitbutton
 	showemote EMOTE_SHOCK, $2, 10
 	playsound SFX_FAINT
 	changeblock $6, $2, $1e
 	reloadmappart
-	loadmovesprites
+	closetext
 	setevent EVENT_UNCOVERED_STAIRCASE_IN_MAHOGANY_MART
 	spriteface $4, LEFT
 	loadfont
 	writetext UnknownText_0x6c5ba
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $4, MovementData_0x6c412
 	playsound SFX_EXIT_BUILDING
 	disappear $4
 	dotrigger $0
-	waitbutton
+	waitsfx
 	end
 
 GrannyScript_0x6c3ee:
@@ -107,7 +107,7 @@
 	faceplayer
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_MAHOGANY_2
-	loadmovesprites
+	closetext
 	end
 
 MovementData_0x6c3f6:
--- a/maps/MahoganyRedGyaradosSpeechHouse.asm
+++ b/maps/MahoganyRedGyaradosSpeechHouse.asm
@@ -14,14 +14,14 @@
 	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
 	iftrue UnknownScript_0x199990
 	writetext UnknownText_0x199a0e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x199990:
 	writetext UnknownText_0x199a3d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x195996:
--- a/maps/MahoganyTown.asm
+++ b/maps/MahoganyTown.asm
@@ -44,8 +44,8 @@
 UnknownScript_0x190039:
 	loadfont
 	writetext UnknownText_0x1901a6
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x190040:
@@ -58,31 +58,31 @@
 	if_equal $2, UnknownScript_0x19006c
 	giveitem RAGECANDYBAR
 	iffalse UnknownScript_0x190078
-	waitbutton
+	waitsfx
 	playsound SFX_TRANSACTION
 	takemoney $0, 300
 	special PlaceMoneyTopRightOW
 	writetext UnknownText_0x19014a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19006c:
 	writetext UnknownText_0x19015b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x190072:
 	writetext UnknownText_0x190178
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x190078:
 	writetext UnknownText_0x190188
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GrampsScript_0x19007e:
@@ -91,14 +91,14 @@
 	checkevent EVENT_CLEARED_ROCKET_HIDEOUT
 	iftrue UnknownScript_0x19008c
 	writetext UnknownText_0x1901e5
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19008c:
 	writetext UnknownText_0x19021d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 FisherScript_0x190092:
--- a/maps/ManiasHouse.asm
+++ b/maps/ManiasHouse.asm
@@ -19,11 +19,11 @@
 	iffalse .partyfull
 	writetext ManiaText_TakeCareOfShuckle
 	keeptextopen
-	waitbutton
+	waitsfx
 	writetext ManiaText_GotShuckle
 	playsound SFX_KEY_ITEM
-	waitbutton
-	loadmovesprites
+	waitsfx
+	closetext
 	setevent EVENT_GOT_SHUCKIE
 	end
 
@@ -31,20 +31,20 @@
 	checkflag ENGINE_SHUCKLE_GIVEN
 	iffalse .returnshuckie
 	writetext ManiaText_TakeCareOfShuckle
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .partyfull:
 	writetext ManiaText_PartyFull
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .refusetotakeshuckie:
 	writetext ManiaText_IfHeComesBack
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .returnshuckie:
@@ -57,40 +57,40 @@
 	if_equal $3, .superhappy
 	if_equal $4, .default_postevent
 	writetext ManiaText_ThankYou
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_MANIA_TOOK_SHUCKIE_OR_LET_YOU_KEEP_HIM
 	end
 
 .wrong:
 	writetext ManiaText_ShuckleNotThere
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .superhappy:
 	writetext ManiaText_ShuckleLikesYou
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_MANIA_TOOK_SHUCKIE_OR_LET_YOU_KEEP_HIM
 	end
 
 .refused:
 	writetext ManiaText_SameAsBeingRobbed
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .nothingleft:
 	writetext ManiaText_ShuckleIsYourLastMon
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .default_postevent:
 	writetext ManiaText_HappinessSpeech
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x9d300:
--- a/maps/MobileBattleRoom.asm
+++ b/maps/MobileBattleRoom.asm
@@ -34,7 +34,7 @@
 .one_:
 	writetext MobileBattleRoom_HealText
 	pause 20
-	loadmovesprites
+	closetext
 	special RotatePalettesRightPalettes
 	playmusic MUSIC_HEAL
 	special LoadMapPalettes
@@ -50,11 +50,11 @@
 .one:
 	special Function10387b
 	writetext MobileBattleRoom_EstablishingCommsText
-	closetext
+	waitbutton
 	reloadmappart
 	special Function101225
 .false:
-	loadmovesprites
+	closetext
 	end
 
 MobileBattleRoom_EstablishingCommsText:
--- a/maps/MobileTradeRoomMobile.asm
+++ b/maps/MobileTradeRoomMobile.asm
@@ -25,10 +25,10 @@
 	refreshscreen $0
 	special Function1037c2
 	writetext MobileTradeRoomMobile_EstablishingCommsText
-	closetext
+	waitbutton
 	reloadmappart
 	special Function101231
-	loadmovesprites
+	closetext
 	end
 
 MobileTradeRoomMobile_EstablishingCommsText:
--- a/maps/MountMoon.asm
+++ b/maps/MountMoon.asm
@@ -25,8 +25,8 @@
 	playmusic MUSIC_RIVAL_ENCOUNTER
 	loadfont
 	writetext UnknownText_0x74105
+	waitbutton
 	closetext
-	loadmovesprites
 	checkevent EVENT_GOT_TOTODILE_FROM_ELM
 	iftrue UnknownScript_0x740c3
 	checkevent EVENT_GOT_CHIKORITA_FROM_ELM
@@ -33,7 +33,7 @@
 	iftrue UnknownScript_0x740d3
 	winlosstext UnknownText_0x7419d, UnknownText_0x742e0
 	setlasttalked $2
-	loadtrainer RIVAL2, 3
+	scriptedtrainerdata RIVAL2, 3
 	startbattle
 	reloadmapmusic
 	returnafterbattle
@@ -42,7 +42,7 @@
 UnknownScript_0x740c3:
 	winlosstext UnknownText_0x7419d, UnknownText_0x742e0
 	setlasttalked $2
-	loadtrainer RIVAL2, 1
+	scriptedtrainerdata RIVAL2, 1
 	startbattle
 	reloadmapmusic
 	returnafterbattle
@@ -51,7 +51,7 @@
 UnknownScript_0x740d3:
 	winlosstext UnknownText_0x7419d, UnknownText_0x742e0
 	setlasttalked $2
-	loadtrainer RIVAL2, 2
+	scriptedtrainerdata RIVAL2, 2
 	startbattle
 	reloadmapmusic
 	returnafterbattle
@@ -61,8 +61,8 @@
 	playmusic MUSIC_RIVAL_AFTER
 	loadfont
 	writetext UnknownText_0x741fa
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $2, MovementData_0x740fd
 	disappear $2
 	dotrigger $1
--- a/maps/MountMoonGiftShop.asm
+++ b/maps/MountMoonGiftShop.asm
@@ -9,7 +9,7 @@
 	faceplayer
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_MT_MOON
-	loadmovesprites
+	closetext
 	end
 
 LassScript_0x771b0:
--- a/maps/MountMoonSquare.asm
+++ b/maps/MountMoonSquare.asm
@@ -39,7 +39,7 @@
 	appear $4
 	spriteface $2, RIGHT
 	cry CLEFAIRY
-	waitbutton
+	waitsfx
 	pause 30
 	follow $2, $3
 	cry CLEFAIRY
--- a/maps/MountMortar1FInside.asm
+++ b/maps/MountMortar1FInside.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_POKEMANIAC_MILLER, POKEMANIAC, MILLER, PokemaniacMillerSeenText, PokemaniacMillerBeatenText, 0, PokemaniacMillerScript
 
 PokemaniacMillerScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x7debd
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSupernerdMarkus:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_SUPER_NERD_MARKUS, SUPER_NERD, MARKUS, SupernerdMarkusSeenText, SupernerdMarkusBeatenText, 0, SupernerdMarkusScript
 
 SupernerdMarkusScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x7df97
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MountMortar1FBoulder:
--- a/maps/MountMortar2FInside.asm
+++ b/maps/MountMortar2FInside.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_SUPER_NERD_HUGH, SUPER_NERD, HUGH, SupernerdHughSeenText, SupernerdHughBeatenText, 0, SupernerdHughScript
 
 SupernerdHughScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x7e10e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ItemFragment_0x7e0de:
--- a/maps/MountMortarB1F.asm
+++ b/maps/MountMortarB1F.asm
@@ -13,10 +13,10 @@
 	checkevent EVENT_BEAT_BLACKBELT_KIYO
 	iftrue UnknownScript_0x7e217
 	writetext UnknownText_0x7e24d
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x7e2a9, 0
-	loadtrainer BLACKBELT_T, KIYO
+	scriptedtrainerdata BLACKBELT_T, KIYO
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_BLACKBELT_KIYO
@@ -24,24 +24,24 @@
 UnknownScript_0x7e217:
 	writetext UnknownText_0x7e2c0
 	keeptextopen
-	waitbutton
+	waitsfx
 	checkcode VAR_PARTYCOUNT
 	if_equal $6, UnknownScript_0x7e237
 	writetext UnknownText_0x7e355
 	playsound SFX_CAUGHT_MON
-	waitbutton
+	waitsfx
 	givepoke TYROGUE, 10
 	setevent EVENT_GOT_TYROGUE_FROM_KIYO
 UnknownScript_0x7e231:
 	writetext UnknownText_0x7e36a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x7e237:
 	writetext UnknownText_0x7e3df
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MountMortarB1FBoulder:
--- a/maps/MoveDeletersHouse.asm
+++ b/maps/MoveDeletersHouse.asm
@@ -9,8 +9,8 @@
 	faceplayer
 	loadfont
 	special MoveDeletion
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MoveDeletersHouseBookshelf:
--- a/maps/MrFujisHouse.asm
+++ b/maps/MrFujisHouse.asm
@@ -15,8 +15,8 @@
 	loadfont
 	writetext MrFujisPsyduckText
 	cry PSYDUCK
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MrFujisNidorino:
@@ -23,8 +23,8 @@
 	loadfont
 	writetext MrFujisNidorinoText
 	cry NIDORINO
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MrFujisPidgey:
@@ -31,8 +31,8 @@
 	loadfont
 	writetext MrFujisPidgeyText
 	cry PIDGEY
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MrFujisHouseBookshelf:
--- a/maps/MrPokemonsHouse.asm
+++ b/maps/MrPokemonsHouse.asm
@@ -21,17 +21,17 @@
 	spriteface $2, DOWN
 	loadfont
 	writetext UnknownText_0x196f66
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement PLAYER, MovementData_0x196f5a
 	loadfont
 	writetext UnknownText_0x196fa8
 	keeptextopen
-	waitbutton
+	waitsfx
 	giveitem MYSTERY_EGG
 	writetext UnknownText_0x196fd2
 	playsound SFX_KEY_ITEM
-	waitbutton
+	waitsfx
 	itemnotify
 	setevent EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON
 	blackoutmod CHERRYGROVE_CITY
@@ -43,8 +43,8 @@
 	spriteface $2, DOWN
 	spriteface $3, LEFT
 	writetext UnknownText_0x1970b7
+	waitbutton
 	closetext
-	loadmovesprites
 	jump UnknownScript_0x196ec9
 
 GentlemanScript_0x196e97:
@@ -55,14 +55,14 @@
 	checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
 	iftrue UnknownScript_0x196eaa
 	writetext UnknownText_0x197134
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x196eaa:
 	writetext UnknownText_0x19714a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x196eb0:
@@ -76,9 +76,9 @@
 
 UnknownScript_0x196ec3:
 	writetext UnknownText_0x19750d
-	closetext
+	waitbutton
 UnknownScript_0x196ec7:
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x196ec9:
@@ -88,26 +88,26 @@
 	loadfont
 	writetext UnknownText_0x197185
 	keeptextopen
-	waitbutton
+	waitsfx
 	writetext UnknownText_0x1973cc
 	playsound SFX_ITEM
-	waitbutton
+	waitsfx
 	setflag ENGINE_POKEDEX
 	writetext UnknownText_0x1973de
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface PLAYER, DOWN
 	applymovement $3, MovementData_0x196f61
 	playsound SFX_EXIT_BUILDING
 	disappear $3
-	waitbutton
+	waitsfx
 	special RestartMapMusic
 	pause 15
 	spriteface PLAYER, UP
 	loadfont
 	writetext UnknownText_0x1970ed
+	waitbutton
 	closetext
-	loadmovesprites
 	special Special_FadeBlackQuickly
 	special Special_ReloadSpritesNoPalettes
 	playmusic MUSIC_HEAL
@@ -118,8 +118,8 @@
 	special RestartMapMusic
 	loadfont
 	writetext UnknownText_0x197134
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_RIVAL_NEW_BARK_TOWN
 	setevent EVENT_KRISS_HOUSE_1F_NEIGHBOR
 	clearevent EVENT_KRISS_NEIGHBORS_HOUSE_NEIGHBOR
--- a/maps/MrPsychicsHouse.asm
+++ b/maps/MrPsychicsHouse.asm
@@ -17,9 +17,9 @@
 	setevent EVENT_GOT_TM29_PSYCHIC
 .AlreadyGotItem
 	writetext MrPsychicText2
-	closetext
+	waitbutton
 .Done
-	loadmovesprites
+	closetext
 	end
 
 MrPsychicsHouseBookshelf:
--- a/maps/NationalPark.asm
+++ b/maps/NationalPark.asm
@@ -23,9 +23,9 @@
 	setevent EVENT_GOT_QUICK_CLAW
 UnknownScript_0x5c01d:
 	writetext UnknownText_0x5c30d
-	closetext
+	waitbutton
 UnknownScript_0x5c021:
-	loadmovesprites
+	closetext
 	end
 
 YoungsterScript_0x5c023:
@@ -42,8 +42,8 @@
 	loadfont
 	writetext UnknownText_0x5c416
 	cry PERSIAN
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GameboyKidScript_0x5c037:
@@ -50,8 +50,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x5c42a
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $e, DOWN
 	end
 
@@ -60,7 +60,7 @@
 
 SchoolboyJack1Script:
 	writecode VAR_CALLERID, PHONE_SCHOOLBOY_JACK
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_JACK
 	iftrue UnknownScript_0x5c088
@@ -106,7 +106,7 @@
 	checkflag ENGINE_FLYPOINT_OLIVINE
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer SCHOOLBOY, JACK1
+	scriptedtrainerdata SCHOOLBOY, JACK1
 	startbattle
 	returnafterbattle
 	loadvar wJackFightCount, 1
@@ -114,7 +114,7 @@
 	end
 
 .LoadFight1
-	loadtrainer SCHOOLBOY, JACK2
+	scriptedtrainerdata SCHOOLBOY, JACK2
 	startbattle
 	returnafterbattle
 	loadvar wJackFightCount, 2
@@ -122,7 +122,7 @@
 	end
 
 .LoadFight2
-	loadtrainer SCHOOLBOY, JACK3
+	scriptedtrainerdata SCHOOLBOY, JACK3
 	startbattle
 	returnafterbattle
 	loadvar wJackFightCount, 3
@@ -130,7 +130,7 @@
 	end
 
 .LoadFight3
-	loadtrainer SCHOOLBOY, JACK4
+	scriptedtrainerdata SCHOOLBOY, JACK4
 	startbattle
 	returnafterbattle
 	loadvar wJackFightCount, 4
@@ -138,7 +138,7 @@
 	end
 
 .LoadFight4
-	loadtrainer SCHOOLBOY, JACK5
+	scriptedtrainerdata SCHOOLBOY, JACK5
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_JACK
@@ -176,11 +176,11 @@
 	trainer EVENT_BEAT_POKEFANM_WILLIAM, POKEFANM, WILLIAM, PokefanmWilliamSeenText, PokefanmWilliamBeatenText, 0, PokefanmWilliamScript
 
 PokefanmWilliamScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5c645
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPokefanfBeverly1:
@@ -188,7 +188,7 @@
 
 PokefanfBeverly1Script:
 	writecode VAR_CALLERID, PHONE_POKEFAN_BEVERLY
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_BEVERLY_HAS_NUGGET
 	iftrue UnknownScript_0x5c177
@@ -226,8 +226,8 @@
 
 UnknownScript_0x5c189:
 	writetext UnknownText_0x5c68a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x5c18f:
@@ -266,11 +266,11 @@
 	trainer EVENT_BEAT_LASS_KRISE, LASS, KRISE, LassKriseSeenText, LassKriseBeatenText, 0, LassKriseScript
 
 LassKriseScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5c71d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapNationalParkSignpost0Script:
--- a/maps/NationalParkBugContest.asm
+++ b/maps/NationalParkBugContest.asm
@@ -9,8 +9,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x5c94c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x5c8f4:
@@ -17,8 +17,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x5c973
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 RockerScript_0x5c8fc:
@@ -25,8 +25,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x5c9a3
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 PokefanMScript_0x5c904:
@@ -33,8 +33,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x5c9cc
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x5c90c:
@@ -41,8 +41,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x5ca15
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x5c914:
@@ -49,8 +49,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x5ca52
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 LassScript_0x5c91c:
@@ -57,8 +57,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x5ca8f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x5c924:
@@ -65,8 +65,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x5cac8
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x5c92c:
@@ -73,8 +73,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x5cb25
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x5c934:
@@ -81,8 +81,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x5cb64
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapNationalParkBugContestSignpost0Script:
--- a/maps/NewBarkTown.asm
+++ b/maps/NewBarkTown.asm
@@ -28,21 +28,21 @@
 	spriteface $2, LEFT
 	loadfont
 	writetext UnknownText_0x1a8134
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface PLAYER, RIGHT
 	applymovement $2, MovementData_0x1a80d4
 	loadfont
 	writetext UnknownText_0x1a813e
+	waitbutton
 	closetext
-	loadmovesprites
 	follow $2, PLAYER
 	applymovement $2, MovementData_0x1a80e0
 	stopfollow
 	loadfont
 	writetext UnknownText_0x1a815e
+	waitbutton
 	closetext
-	loadmovesprites
 	special RestartMapMusic
 	end
 
@@ -51,22 +51,22 @@
 	spriteface $2, LEFT
 	loadfont
 	writetext UnknownText_0x1a8134
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface PLAYER, RIGHT
 	applymovement $2, MovementData_0x1a80d9
 	spriteface PLAYER, UP
 	loadfont
 	writetext UnknownText_0x1a813e
+	waitbutton
 	closetext
-	loadmovesprites
 	follow $2, PLAYER
 	applymovement $2, MovementData_0x1a80e6
 	stopfollow
 	loadfont
 	writetext UnknownText_0x1a815e
+	waitbutton
 	closetext
-	loadmovesprites
 	special RestartMapMusic
 	end
 
@@ -80,26 +80,26 @@
 	checkevent EVENT_GOT_A_POKEMON_FROM_ELM
 	iftrue UnknownScript_0x1a8089
 	writetext UnknownText_0x1a80f7
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1a8089:
 	writetext UnknownText_0x1a81c4
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1a808f:
 	writetext UnknownText_0x1a81f2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1a8095:
 	writetext UnknownText_0x1a8236
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 FisherScript_0x1a809b:
@@ -108,13 +108,13 @@
 SilverScript_0x1a809e:
 	loadfont
 	writetext UnknownText_0x1a82a6
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $4, LEFT
 	loadfont
 	writetext UnknownText_0x1a82cd
+	waitbutton
 	closetext
-	loadmovesprites
 	follow PLAYER, $4
 	applymovement PLAYER, MovementData_0x1a80ed
 	stopfollow
--- a/maps/OaksLab.asm
+++ b/maps/OaksLab.asm
@@ -26,11 +26,11 @@
 
 .CheckPokedex
 	writetext OakLabDexCheckText
-	closetext
+	waitbutton
 	special ProfOaksPCBoot
 	writetext OakLabGoodbyeText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .OpenMtSilver
--- a/maps/OlivineCafe.asm
+++ b/maps/OlivineCafe.asm
@@ -16,8 +16,8 @@
 	setevent EVENT_GOT_HM04_STRENGTH
 UnknownScript_0x9c8d3:
 	writetext UnknownText_0x9c965
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 FishingGuruScript_0x9c8d9:
--- a/maps/OlivineCity.asm
+++ b/maps/OlivineCity.asm
@@ -29,13 +29,13 @@
 	pause 15
 	playsound SFX_ENTER_DOOR
 	appear $5
-	waitbutton
+	waitsfx
 	applymovement $5, MovementData_0x1a88d2
 	playmusic MUSIC_RIVAL_ENCOUNTER
 	loadfont
 	writetext UnknownText_0x1a88fa
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement PLAYER, MovementData_0x1a88f4
 	spriteface PLAYER, RIGHT
 	applymovement $5, MovementData_0x1a88db
@@ -53,13 +53,13 @@
 	pause 15
 	playsound SFX_ENTER_DOOR
 	appear $5
-	waitbutton
+	waitsfx
 	applymovement $5, MovementData_0x1a88d6
 	playmusic MUSIC_RIVAL_ENCOUNTER
 	loadfont
 	writetext UnknownText_0x1a88fa
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement PLAYER, MovementData_0x1a88f7
 	spriteface PLAYER, RIGHT
 	applymovement $5, MovementData_0x1a88e8
@@ -79,14 +79,14 @@
 	random $2
 	if_equal $0, UnknownScript_0x1a88b4
 	writetext UnknownText_0x1a8b04
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1a88b4:
 	writetext UnknownText_0x1a8b41
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SailorScript_0x1a88ba:
--- a/maps/OlivineGoodRodHouse.asm
+++ b/maps/OlivineGoodRodHouse.asm
@@ -17,21 +17,21 @@
 	keeptextopen
 	verbosegiveitem GOOD_ROD
 	writetext GaveGoodRodText
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_GOT_GOOD_ROD
 	end
 
 .DontWantIt
 	writetext DontWantGoodRodText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .AlreadyGotItem
 	writetext HaveGoodRodText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GoodRodHouseBookshelf:
--- a/maps/OlivineGym.asm
+++ b/maps/OlivineGym.asm
@@ -11,10 +11,10 @@
 	checkevent EVENT_BEAT_JASMINE
 	iftrue .FightDone
 	writetext UnknownText_0x9c1b9
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x9c2bb, 0
-	loadtrainer JASMINE, 1
+	scriptedtrainerdata JASMINE, 1
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_JASMINE
@@ -21,7 +21,7 @@
 	loadfont
 	writetext UnknownText_0x9c33a
 	playsound SFX_GET_BADGE
-	waitbutton
+	waitsfx
 	setflag ENGINE_MINERALBADGE
 	checkcode VAR_BADGES
 	scall OlivineGymTriggerRockets
@@ -34,15 +34,15 @@
 	iffalse UnknownScript_0x9c176
 	setevent EVENT_GOT_TM23_IRON_TAIL
 	writetext UnknownText_0x9c3a5
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x9c172:
 	writetext UnknownText_0x9c3d1
-	closetext
+	waitbutton
 UnknownScript_0x9c176:
-	loadmovesprites
+	closetext
 	end
 
 OlivineGymTriggerRockets:
@@ -64,22 +64,22 @@
 	iffalse .OlivineGymGuyPreScript
 	loadfont
 	writetext OlivineGymGuyText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .OlivineGymGuyWinScript
 	loadfont
 	writetext OlivineGymGuyWinText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .OlivineGymGuyPreScript
 	loadfont
 	writetext OlivineGymGuyPreText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 OlivineGymStatue:
--- a/maps/OlivineHouseBeta.asm
+++ b/maps/OlivineHouseBeta.asm
@@ -12,8 +12,8 @@
 	loadfont
 	writetext UnknownText_0x9c5f0
 	cry RHYDON
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 OlivineHouseBetaBookshelf1:
--- a/maps/OlivineLighthouse2F.asm
+++ b/maps/OlivineLighthouse2F.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_GENTLEMAN_ALFRED, GENTLEMAN, ALFRED, GentlemanAlfredSeenText, GentlemanAlfredBeatenText, 0, GentlemanAlfredScript
 
 GentlemanAlfredScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5b13e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSailorHuey1:
@@ -21,7 +21,7 @@
 
 SailorHuey1Script:
 	writecode VAR_CALLERID, PHONE_SAILOR_HUEY
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_HUEY
 	iftrue UnknownScript_0x5afc7
@@ -61,7 +61,7 @@
 	checkevent EVENT_CLEARED_RADIO_TOWER
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer SAILOR, HUEY1
+	scriptedtrainerdata SAILOR, HUEY1
 	startbattle
 	returnafterbattle
 	loadvar wHueyFightCount, 1
@@ -69,7 +69,7 @@
 	end
 
 .LoadFight1
-	loadtrainer SAILOR, HUEY2
+	scriptedtrainerdata SAILOR, HUEY2
 	startbattle
 	returnafterbattle
 	loadvar wHueyFightCount, 2
@@ -77,7 +77,7 @@
 	end
 
 .LoadFight2
-	loadtrainer SAILOR, HUEY3
+	scriptedtrainerdata SAILOR, HUEY3
 	startbattle
 	returnafterbattle
 	loadvar wHueyFightCount, 3
@@ -85,7 +85,7 @@
 	end
 
 .LoadFight3
-	loadtrainer SAILOR, HUEY4
+	scriptedtrainerdata SAILOR, HUEY4
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_HUEY
@@ -105,7 +105,7 @@
 UnknownScript_0x5b03f:
 	loadfont
 	writetext UnknownText_0x5b1b6
-	closetext
+	waitbutton
 	verbosegiveitem PROTEIN
 	iffalse UnknownScript_0x5b06f
 	clearevent EVENT_HUEY_PROTEIN
--- a/maps/OlivineLighthouse3F.asm
+++ b/maps/OlivineLighthouse3F.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_BIRD_KEEPER_THEO, BIRD_KEEPER, THEO, Bird_keeperTheoSeenText, Bird_keeperTheoBeatenText, 0, Bird_keeperTheoScript
 
 Bird_keeperTheoScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5b2df
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerGentlemanPreston:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_GENTLEMAN_PRESTON, GENTLEMAN, PRESTON, GentlemanPrestonSeenText, GentlemanPrestonBeatenText, 0, GentlemanPrestonScript
 
 GentlemanPrestonScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5b457
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSailorTerrell:
@@ -31,11 +31,11 @@
 	trainer EVENT_BEAT_SAILOR_TERRELL, SAILOR, TERRELL, SailorTerrellSeenText, SailorTerrellBeatenText, 0, SailorTerrellScript
 
 SailorTerrellScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5b384
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ItemFragment_0x5b279:
--- a/maps/OlivineLighthouse4F.asm
+++ b/maps/OlivineLighthouse4F.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_LASS_CONNIE, LASS, CONNIE1, LassConnie1SeenText, LassConnie1BeatenText, 0, LassConnie1Script
 
 LassConnie1Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5b63c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSailorKent:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_SAILOR_KENT, SAILOR, KENT, SailorKentSeenText, SailorKentBeatenText, 0, SailorKentScript
 
 SailorKentScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5b584
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SailorKentSeenText:
--- a/maps/OlivineLighthouse5F.asm
+++ b/maps/OlivineLighthouse5F.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_BIRD_KEEPER_DENIS, BIRD_KEEPER, DENIS, Bird_keeperDenisSeenText, Bird_keeperDenisBeatenText, 0, Bird_keeperDenisScript
 
 Bird_keeperDenisScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x60ac3
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSailorErnest:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_SAILOR_ERNEST, SAILOR, ERNEST, SailorErnestSeenText, SailorErnestBeatenText, 0, SailorErnestScript
 
 SailorErnestScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x60a1f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ItemFragment_0x609aa:
--- a/maps/OlivineLighthouse6F.asm
+++ b/maps/OlivineLighthouse6F.asm
@@ -17,8 +17,8 @@
 	setevent EVENT_JASMINE_EXPLAINED_AMPHYS_SICKNESS
 UnknownScript_0x60ba5:
 	writetext UnknownText_0x60d64
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x60bab:
@@ -29,8 +29,8 @@
 	keeptextopen
 	takeitem SECRETPOTION
 	writetext UnknownText_0x60dea
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $2, RIGHT
 	pause 15
 	spriteface $3, LEFT
@@ -39,7 +39,7 @@
 	writetext UnknownText_0x60e44
 	pause 60
 	keeptextopen
-	loadmovesprites
+	closetext
 	special RestartMapMusic
 	cry AMPHAROS
 	special RotatePalettesRightPalettes
@@ -47,8 +47,8 @@
 	special RotatePalettesLeftPalettes
 	loadfont
 	writetext UnknownText_0x60f3d
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $3, RIGHT
 	pause 10
 	spriteface $3, LEFT
@@ -60,8 +60,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x60e6c
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_JASMINE_RETURNED_TO_GYM
 	clearevent EVENT_OLIVINE_GYM_JASMINE
 	checkcode VAR_FACING
@@ -83,15 +83,15 @@
 
 UnknownScript_0x60c25:
 	writetext UnknownText_0x60edf
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $2, RIGHT
 	pause 15
 	spriteface $3, LEFT
 	loadfont
 	writetext UnknownText_0x60ef1
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x60c39:
@@ -107,15 +107,15 @@
 	special PlaySlowCry
 	keeptextopen
 	writetext UnknownText_0x60f19
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x60c51:
 	writetext UnknownText_0x60f3d
 	cry AMPHAROS
+	waitbutton
 	closetext
-	loadmovesprites
 	special RotatePalettesRightPalettes
 	special RotatePalettesLeftPalettes
 	special RotatePalettesRightPalettes
--- a/maps/OlivineMart.asm
+++ b/maps/OlivineMart.asm
@@ -8,7 +8,7 @@
 ClerkScript_0x9cac7:
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_OLIVINE
-	loadmovesprites
+	closetext
 	end
 
 CooltrainerFScript_0x9cace:
--- a/maps/OlivinePort.asm
+++ b/maps/OlivinePort.asm
@@ -30,17 +30,17 @@
 	checkevent EVENT_GAVE_KURT_APRICORNS
 	iftrue UnknownScript_0x74919
 	writetext UnknownText_0x74a55
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $2, DOWN
 	pause 10
 	playsound SFX_EXIT_BUILDING
 	disappear $2
-	waitbutton
+	waitsfx
 	applymovement PLAYER, MovementData_0x74a30
 	playsound SFX_EXIT_BUILDING
 	special RotatePalettesRightPalettes
-	waitbutton
+	waitsfx
 	checkevent EVENT_FAST_SHIP_FIRST_TIME
 	iffalse UnknownScript_0x7490a
 	clearevent EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
@@ -63,8 +63,8 @@
 
 UnknownScript_0x74919:
 	writetext UnknownText_0x74a80
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x7491f:
@@ -92,8 +92,8 @@
 	checkitem S_S_TICKET
 	iffalse UnknownScript_0x7496d
 	writetext UnknownText_0x74b11
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_RECEIVED_BALLS_FROM_KURT
 	applymovement PLAYER, MovementData_0x74a37
 	jump SailorScript_0x748c0
@@ -100,22 +100,22 @@
 
 UnknownScript_0x7496d:
 	writetext UnknownText_0x74b41
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement PLAYER, MovementData_0x74a34
 	end
 
 UnknownScript_0x74977:
 	writetext UnknownText_0x74ba8
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement PLAYER, MovementData_0x74a34
 	end
 
 UnknownScript_0x74981:
 	writetext UnknownText_0x74bce
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement PLAYER, MovementData_0x74a34
 	end
 
@@ -124,14 +124,14 @@
 
 UnknownScript_0x7498c:
 	writetext UnknownText_0x74af6
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x74992:
 	writetext UnknownText_0x74af6
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement PLAYER, MovementData_0x74a34
 	end
 
@@ -157,8 +157,8 @@
 	checkitem S_S_TICKET
 	iffalse UnknownScript_0x749ec
 	writetext UnknownText_0x74b11
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_RECEIVED_BALLS_FROM_KURT
 	checkcode VAR_FACING
 	if_equal $3, UnknownScript_0x749e5
@@ -171,20 +171,20 @@
 
 UnknownScript_0x749ec:
 	writetext UnknownText_0x74b41
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x749f2:
 	writetext UnknownText_0x74ba8
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x749f8:
 	writetext UnknownText_0x74bce
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SailorScript_0x749fe:
@@ -194,8 +194,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x74bf4
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $5, UP
 	end
 
@@ -203,8 +203,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x74c35
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $6, UP
 	end
 
@@ -212,8 +212,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x74c76
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $7, DOWN
 	end
 
@@ -221,8 +221,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x74ca2
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $8, DOWN
 	end
 
--- a/maps/OlivineVoltorbHouse.asm
+++ b/maps/OlivineVoltorbHouse.asm
@@ -9,8 +9,8 @@
 	faceplayer
 	loadfont
 	trade $2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TimsHouseBookshelf:
--- a/maps/PewterCity.asm
+++ b/maps/PewterCity.asm
@@ -27,13 +27,13 @@
 	keeptextopen
 	verbosegiveitem SILVER_WING
 	setevent EVENT_GOT_SILVER_WING
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x18c023:
 	writetext UnknownText_0x18c1aa
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 PewterCitySign:
--- a/maps/PewterGym.asm
+++ b/maps/PewterGym.asm
@@ -11,10 +11,10 @@
 	checkflag ENGINE_BOULDERBADGE
 	iftrue .FightDone
 	writetext UnknownText_0x1a28d0
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x1a29bb, 0
-	loadtrainer BROCK, 1
+	scriptedtrainerdata BROCK, 1
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_BROCK
@@ -22,17 +22,17 @@
 	loadfont
 	writetext UnknownText_0x1a2a3d
 	playsound SFX_GET_BADGE
-	waitbutton
+	waitsfx
 	setflag ENGINE_BOULDERBADGE
 	writetext UnknownText_0x1a2a57
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .FightDone
 	writetext UnknownText_0x1a2ada
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCamperJerry:
@@ -39,11 +39,11 @@
 	trainer EVENT_BEAT_CAMPER_JERRY, CAMPER, JERRY, CamperJerrySeenText, CamperJerryBeatenText, 0, CamperJerryScript
 
 CamperJerryScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a2c0f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 PewterGymGuyScript:
@@ -52,14 +52,14 @@
 	checkevent EVENT_BEAT_BROCK
 	iftrue .PewterGymGuyWinScript
 	writetext PewterGymGuyText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .PewterGymGuyWinScript
 	writetext PewterGymGuyWinText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 PewterGymStatue:
--- a/maps/PewterMart.asm
+++ b/maps/PewterMart.asm
@@ -8,7 +8,7 @@
 ClerkScript_0x1a2dcb:
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_PEWTER
-	loadmovesprites
+	closetext
 	end
 
 YoungsterScript_0x1a2dd2:
--- a/maps/PewterNidoranSpeechHouse.asm
+++ b/maps/PewterNidoranSpeechHouse.asm
@@ -12,8 +12,8 @@
 	loadfont
 	writetext UnknownText_0x1a2825
 	cry NIDORAN_M
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownText_0x1a2814:
--- a/maps/PewterPokeCenter1F.asm
+++ b/maps/PewterPokeCenter1F.asm
@@ -15,8 +15,8 @@
 	loadfont
 	writetext UnknownText_0x1a2f5d
 	cry JIGGLYPUFF
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 BugCatcherScript_0x1a2ef7:
@@ -26,8 +26,8 @@
 	faceplayer
 	loadfont
 	trade $4
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownText_0x1a2f01:
--- a/maps/PokeCenter2F.asm
+++ b/maps/PokeCenter2F.asm
@@ -53,8 +53,8 @@
 	faceplayer
 	loadfont
 	writetext Text_TradeRoomClosed
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 Script_BattleRoomClosed:
@@ -61,8 +61,8 @@
 	faceplayer
 	loadfont
 	writetext Text_BattleRoomClosed
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 LinkReceptionistScript_Trade:
@@ -96,8 +96,8 @@
 	special Special_CheckBothSelectedSameRoom
 	iffalse .IncompatibleRooms
 	writetext Text_PleaseComeIn2
+	waitbutton
 	closetext
-	loadmovesprites
 	scall PokeCenter2F_CheckGender
 	warpcheck
 	end
@@ -105,7 +105,7 @@
 .FriendNotReady:
 	special Special_AbortLink
 	writetext Text_FriendNotReady
-	loadmovesprites
+	closetext
 	end
 
 .LinkedToFirstGen:
@@ -112,13 +112,13 @@
 	special Special_FailedLinkToPast
 	writetext Text_CantLinkToThePast
 	special Special_CloseLink
-	loadmovesprites
+	closetext
 	end
 
 .IncompatibleRooms:
 	writetext Text_IncompatibleRooms
 	special Special_CloseLink
-	loadmovesprites
+	closetext
 	end
 
 .LinkTimedOut:
@@ -130,7 +130,7 @@
 .AbortLink:
 	special Special_AbortLink
 .Cancel:
-	loadmovesprites
+	closetext
 	end
 
 .Mobile:
@@ -151,14 +151,14 @@
 	iffalse .Mobile_DidNotSave
 	special Function1011f1
 	writetext Text_PleaseComeIn2
+	waitbutton
 	closetext
-	loadmovesprites
 	writebyte $0
 	end
 
 .Mobile_DidNotSave:
 	writetext Text_PleaseComeAgain
-	loadmovesprites
+	closetext
 	writebyte $1
 	end
 
@@ -198,8 +198,8 @@
 	special Special_CheckBothSelectedSameRoom
 	iffalse .IncompatibleRooms
 	writetext Text_PleaseComeIn2
+	waitbutton
 	closetext
-	loadmovesprites
 	scall PokeCenter2F_CheckGender
 	warpcheck
 	end
@@ -207,7 +207,7 @@
 .FriendNotReady:
 	special Special_AbortLink
 	writetext Text_FriendNotReady
-	loadmovesprites
+	closetext
 	end
 
 .LinkedToFirstGen:
@@ -214,13 +214,13 @@
 	special Special_FailedLinkToPast
 	writetext Text_CantLinkToThePast
 	special Special_CloseLink
-	loadmovesprites
+	closetext
 	end
 
 .IncompatibleRooms:
 	writetext Text_IncompatibleRooms
 	special Special_CloseLink
-	loadmovesprites
+	closetext
 	end
 
 .LinkTimedOut:
@@ -232,7 +232,7 @@
 .AbortLink:
 	special Special_AbortLink
 .Cancel:
-	loadmovesprites
+	closetext
 	end
 
 .Mobile:
@@ -255,14 +255,14 @@
 	iffalse .Mobile_DidNotSave
 	special Function1011f1
 	writetext Text_PleaseComeIn2
+	waitbutton
 	closetext
-	loadmovesprites
 	writebyte $0
 	end
 
 .Mobile_DidNotSave:
 	writetext Text_PleaseComeAgain
-	loadmovesprites
+	closetext
 	writebyte $1
 	end
 
@@ -276,9 +276,9 @@
 
 .Mobile_InvalidParty:
 	writetext Text_BrokeStadiumRules
-	closetext
+	waitbutton
 .Mobile_DidNotSelect:
-	loadmovesprites
+	closetext
 	writebyte $0
 	end
 
@@ -290,8 +290,8 @@
 	faceplayer
 	loadfont
 	writetext Text_TimeCapsuleClosed
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 LinkReceptionistScript_TimeCapsule:
@@ -325,14 +325,14 @@
 	special Special_CheckBothSelectedSameRoom
 	writetext Text_IncompatibleRooms
 	special Special_CloseLink
-	loadmovesprites
+	closetext
 	end
 
 .OK:
 	special Special_EnterTimeCapsule
 	writetext Text_PleaseComeIn2
+	waitbutton
 	closetext
-	loadmovesprites
 	scall TimeCapsuleScript_CheckPlayerGender
 	warpcheck
 	end
@@ -340,7 +340,7 @@
 .FriendNotReady:
 	special Special_AbortLink
 	writetext Text_FriendNotReady
-	loadmovesprites
+	closetext
 	end
 
 .LinkTimedOut:
@@ -351,22 +351,22 @@
 	writetext Text_PleaseComeAgain
 .Cancel:
 	special Special_AbortLink
-	loadmovesprites
+	closetext
 	end
 
 .MonTooNew:
 	writetext Text_RejectNewMon
-	loadmovesprites
+	closetext
 	end
 
 .MonMoveTooNew:
 	writetext Text_RejectMonWithNewMove
-	loadmovesprites
+	closetext
 	end
 
 .MonHasMail:
 	writetext Text_RejectMonWithMail
-	loadmovesprites
+	closetext
 	end
 
 Script_LeftCableTradeCenter:
@@ -421,14 +421,14 @@
 	applymovement PLAYER, MovementData_0x192ce2
 	loadfont
 	writetext Text_OhPleaseWait
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement2 MovementData_0x192cdc
 	spriteface PLAYER, LEFT
 	loadfont
 	writetext Text_ChangeTheLook
+	waitbutton
 	closetext
-	loadmovesprites
 	playsound SFX_TINGLE
 	applymovement PLAYER, MovementData_0x192d17
 	writebyte (1 << 7) | (PAL_OW_RED << 4)
@@ -438,8 +438,8 @@
 	special ReplaceKrisSprite
 	loadfont
 	writetext Text_LikeTheLook
+	waitbutton
 	closetext
-	loadmovesprites
 	showemote EMOTE_SHOCK, PLAYER, 15
 	applymovement PLAYER, MovementData_0x192ce5
 	end
@@ -527,8 +527,8 @@
 .FemaleContinue:
 	loadfont
 	writetext Text_OhPleaseWait
+	waitbutton
 	closetext
-	loadmovesprites
 	checkcode VAR_FACING
 	if_not_equal UP, .FemaleChangeApperance
 	spriteface PLAYER, LEFT
@@ -535,8 +535,8 @@
 .FemaleChangeApperance:
 	loadfont
 	writetext Text_ChangeTheLook
+	waitbutton
 	closetext
-	loadmovesprites
 	playsound SFX_TINGLE
 	applymovement PLAYER, MovementData_0x192d17
 	writebyte (1 << 7) | (PAL_OW_RED << 4)
@@ -547,8 +547,8 @@
 	special ReplaceKrisSprite
 	loadfont
 	writetext Text_LikeTheLook
+	waitbutton
 	closetext
-	loadmovesprites
 	showemote EMOTE_SHOCK, PLAYER, 15
 	applymovement PLAYER, MovementData_0x192d2d
 	end
@@ -582,7 +582,7 @@
 MapPokeCenter2FSignpost0Script:
 	refreshscreen $0
 	special Special_DisplayLinkRecord
-	loadmovesprites
+	closetext
 	end
 
 OfficerScript_0x192c9a:
@@ -595,7 +595,7 @@
 	iffalse .RefusedGift
 	writetext Text_MysteryGiftDeliveryGuy_HereYouGo
 	keeptextopen
-	waitbutton
+	waitsfx
 	special Special_GetMysteryGiftItem
 	iffalse .BagIsFull
 	itemnotify
@@ -602,20 +602,20 @@
 	setevent EVENT_MYSTERY_GIFT_DELIVERY_GUY
 .AlreadyGotGift:
 	writetext Text_MysteryGiftDeliveryGuy_Outro
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .BagIsFull:
 	writetext Text_MysteryGiftDeliveryGuy_NoRoom
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .RefusedGift:
 	writetext Text_MysteryGiftDeliveryGuy_SaidNo
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MovementData_0x192cca:
--- a/maps/PokeSeersHouse.asm
+++ b/maps/PokeSeersHouse.asm
@@ -9,8 +9,8 @@
 	faceplayer
 	loadfont
 	special SpecialPokeSeer
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 PokeSeersHouse_MapEventHeader:
--- a/maps/PokemonFanClub.asm
+++ b/maps/PokemonFanClub.asm
@@ -24,21 +24,21 @@
 	iffalse UnknownScript_0x19181f
 	setevent EVENT_LISTENED_TO_FAN_CLUB_PRESIDENT
 	writetext UnknownText_0x191a72
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x191815:
 	writetext UnknownText_0x191ae0
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19181b:
 	writetext UnknownText_0x191b38
-	closetext
+	waitbutton
 UnknownScript_0x19181f:
-	loadmovesprites
+	closetext
 	end
 
 ReceptionistScript_0x191821:
@@ -52,8 +52,8 @@
 	checkevent EVENT_RETURNED_MACHINE_PART
 	iftrue UnknownScript_0x191838
 	writetext UnknownText_0x191ba0
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x191838:
@@ -60,8 +60,8 @@
 	writetext UnknownText_0x191bff
 	checkevent EVENT_MET_COPYCAT_FOUND_OUT_ABOUT_LOST_ITEM
 	iftrue UnknownScript_0x191844
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x191844:
@@ -68,28 +68,28 @@
 	keeptextopen
 	writetext UnknownText_0x191c5a
 	keeptextopen
-	waitbutton
+	waitsfx
 	giveitem LOST_ITEM
 	iffalse UnknownScript_0x191865
 	disappear $6
 	writetext UnknownText_0x191d0a
 	playsound SFX_KEY_ITEM
-	waitbutton
+	waitsfx
 	itemnotify
 	setevent EVENT_GOT_LOST_ITEM_FROM_FAN_CLUB
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x19185f:
 	writetext UnknownText_0x191d1e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x191865:
 	writetext UnknownText_0x191d58
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TeacherScript_0x19186b:
@@ -102,8 +102,8 @@
 	loadfont
 	writetext UnknownText_0x191de9
 	cry BAYLEEF
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapPokemonFanClubSignpost0Script:
--- a/maps/PowerPlant.asm
+++ b/maps/PowerPlant.asm
@@ -18,7 +18,7 @@
 UnknownScript_0x188dc5:
 	playsound SFX_CALL
 	showemote EMOTE_SHOCK, $2, 15
-	waitbutton
+	waitsfx
 	pause 30
 	applymovement $2, MovementData_0x188ed5
 	spriteface $3, DOWN
@@ -25,14 +25,14 @@
 	spriteface $4, DOWN
 	loadfont
 	writetext UnknownText_0x188f22
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $2, LEFT
 	spriteface PLAYER, RIGHT
 	loadfont
 	writetext UnknownText_0x188f7f
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface PLAYER, DOWN
 	applymovement $2, MovementData_0x188eda
 	dotrigger $0
@@ -46,20 +46,20 @@
 	checkevent EVENT_MET_MANAGER_AT_POWER_PLANT
 	iftrue UnknownScript_0x188e09
 	writetext UnknownText_0x188ee0
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x188e09:
 	writetext UnknownText_0x188f7f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x188e0f:
 	writetext UnknownText_0x188fa2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GymGuyScript_0x188e15:
@@ -68,14 +68,14 @@
 	checkevent EVENT_RETURNED_MACHINE_PART
 	iftrue UnknownScript_0x188e23
 	writetext UnknownText_0x188fcf
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x188e23:
 	writetext UnknownText_0x189038
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GymGuyScript_0x188e29:
@@ -84,14 +84,14 @@
 	checkevent EVENT_RETURNED_MACHINE_PART
 	iftrue UnknownScript_0x188e37
 	writetext UnknownText_0x189079
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x188e37:
 	writetext UnknownText_0x1890ef
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 OfficerScript_0x188e3d:
@@ -100,14 +100,14 @@
 	checkevent EVENT_RETURNED_MACHINE_PART
 	iftrue UnknownScript_0x188e4b
 	writetext UnknownText_0x18910e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x188e4b:
 	writetext UnknownText_0x18917f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GymGuyScript_0x188e51:
@@ -116,14 +116,14 @@
 	checkevent EVENT_RETURNED_MACHINE_PART
 	iftrue UnknownScript_0x188e5f
 	writetext UnknownText_0x1891c2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x188e5f:
 	writetext UnknownText_0x189225
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 PowerPlantManager:
@@ -136,8 +136,8 @@
 	checkevent EVENT_MET_MANAGER_AT_POWER_PLANT
 	iftrue UnknownScript_0x188e8d
 	writetext UnknownText_0x189264
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_MET_MANAGER_AT_POWER_PLANT
 	clearevent EVENT_CERULEAN_GYM_ROCKET
 	clearevent EVENT_FOUND_MACHINE_PART_IN_CERULEAN_GYM
@@ -147,8 +147,8 @@
 
 UnknownScript_0x188e8d:
 	writetext UnknownText_0x189308
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x188e93:
@@ -170,15 +170,15 @@
 	iffalse UnknownScript_0x188ec3
 	setevent EVENT_GOT_TM07_ZAP_CANNON
 	writetext UnknownText_0x1893f4
-	closetext
+	waitbutton
 UnknownScript_0x188ec3:
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x188ec5:
 	writetext UnknownText_0x189475
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GymGuyScript_0x188ecb:
@@ -185,8 +185,8 @@
 	faceplayer
 	loadfont
 	trade $6
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 PowerPlantBookshelf:
--- a/maps/RadioTower1F.asm
+++ b/maps/RadioTower1F.asm
@@ -11,14 +11,14 @@
 	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
 	iftrue UnknownScript_0x5cd37
 	writetext UnknownText_0x5ce77
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x5cd37:
 	writetext UnknownText_0x5ce81
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GentlemanScript_0x5cd3d:
@@ -35,18 +35,18 @@
 	iftrue .GameOver
 	writetext UnknownText_0x5cf3a
 	keeptextopen
-	loadmovesprites
+	closetext
 	applymovement $6, MovementData_0x5ce71
 	loadfont
 	writetext UnknownText_0x5cf5a
 	keeptextopen
-	waitbutton
+	waitsfx
 	writetext UnknownText_0x5cf79
 	playsound SFX_DEX_FANFARE_20_49
-	waitbutton
+	waitsfx
 	keeptextopen
 	special Special_CheckForLuckyNumberWinners
-	loadmovesprites
+	closetext
 	applymovement $6, MovementData_0x5ce74
 	loadfont
 	if_equal 1, .FirstPlace
@@ -56,14 +56,14 @@
 
 .GameOver
 	writetext UnknownText_0x5cf7e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .FirstPlace
 	writetext UnknownText_0x5cfb5
 	playsound SFX_1ST_PLACE
-	waitbutton
+	waitsfx
 	keeptextopen
 	giveitem MASTER_BALL
 	iffalse .BagFull
@@ -74,7 +74,7 @@
 .SecondPlace
 	writetext UnknownText_0x5d023
 	playsound SFX_2ND_PLACE
-	waitbutton
+	waitsfx
 	keeptextopen
 	giveitem EXP_SHARE
 	iffalse .BagFull
@@ -85,7 +85,7 @@
 .ThirdPlace
 	writetext UnknownText_0x5d076
 	playsound SFX_3RD_PLACE
-	waitbutton
+	waitsfx
 	keeptextopen
 	giveitem PP_UP
 	iffalse .BagFull
@@ -95,14 +95,14 @@
 
 .NoPrize
 	writetext UnknownText_0x5d0c0
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .BagFull:
 	writetext UnknownText_0x5d0e6
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CooltrainerFScript_0x5cdd5:
@@ -117,27 +117,27 @@
 	yesorno
 	iffalse UnknownScript_0x5ce42
 	playsound SFX_ELEVATOR_END
-	waitbutton
+	waitsfx
 	writetext UnknownText_0x5d231
 	yesorno
 	iffalse UnknownScript_0x5ce42
 	playsound SFX_ELEVATOR_END
-	waitbutton
+	waitsfx
 	writetext UnknownText_0x5d282
 	yesorno
 	iftrue UnknownScript_0x5ce42
 	playsound SFX_ELEVATOR_END
-	waitbutton
+	waitsfx
 	writetext UnknownText_0x5d2bc
 	yesorno
 	iffalse UnknownScript_0x5ce42
 	playsound SFX_ELEVATOR_END
-	waitbutton
+	waitsfx
 	writetext UnknownText_0x5d30e
 	yesorno
 	iftrue UnknownScript_0x5ce42
 	playsound SFX_ELEVATOR_END
-	waitbutton
+	waitsfx
 	writetext UnknownText_0x5d37b
 	keeptextopen
 	stringtotext RadioCardText, $1
@@ -147,8 +147,8 @@
 	setflag ENGINE_RADIO_CARD
 UnknownScript_0x5ce2d:
 	writetext UnknownText_0x5d3e5
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 RadioCardText:
@@ -161,14 +161,14 @@
 UnknownScript_0x5ce42:
 	playsound SFX_WRONG
 	writetext UnknownText_0x5d409
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x5ce4b:
 	writetext UnknownText_0x5d443
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 LassScript_0x5ce51:
@@ -181,11 +181,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTM_3, GRUNTM, 3, GruntM3SeenText, GruntM3BeatenText, 0, GruntM3Script
 
 GruntM3Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5d5a2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRadioTower1FSignpost0Script:
--- a/maps/RadioTower2F.asm
+++ b/maps/RadioTower2F.asm
@@ -17,14 +17,14 @@
 	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
 	iftrue UnknownScript_0x5d70f
 	writetext UnknownText_0x5d956
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x5d70f:
 	writetext UnknownText_0x5d983
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 JigglypuffScript_0x5d715:
@@ -31,8 +31,8 @@
 	loadfont
 	writetext UnknownText_0x5d9b6
 	cry JIGGLYPUFF
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 BlackBeltScript_0x5d71f:
@@ -45,11 +45,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTM_4, GRUNTM, 4, GruntM4SeenText, GruntM4BeatenText, 0, GruntM4Script
 
 GruntM4Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5db07
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerGruntM5:
@@ -56,11 +56,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTM_5, GRUNTM, 5, GruntM5SeenText, GruntM5BeatenText, 0, GruntM5Script
 
 GruntM5Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5db99
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerGruntM6:
@@ -67,11 +67,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTM_6, GRUNTM, 6, GruntM6SeenText, GruntM6BeatenText, 0, GruntM6Script
 
 GruntM6Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5dc00
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerGruntF2:
@@ -78,11 +78,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTF_2, GRUNTF, 2, GruntF2SeenText, GruntF2BeatenText, 0, GruntF2Script
 
 GruntF2Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5dcd0
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 Buena:
@@ -107,8 +107,8 @@
 	special AskRememberPassword
 	iffalse UnknownScript_0x5d81e
 	writetext UnknownText_0x5de84
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $b, RIGHT
 	checkcode VAR_FACING
 	if_not_equal $3, UnknownScript_0x5d7be
@@ -117,21 +117,21 @@
 	spriteface PLAYER, RIGHT
 	loadfont
 	writetext UnknownText_0x5dedd
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $b, DOWN
 	refreshscreen $0
 	special SpecialBuenasPassword
-	loadmovesprites
+	closetext
 	iffalse UnknownScript_0x5d845
 	loadfont
 	writetext UnknownText_0x5dfc1
+	waitbutton
 	closetext
-	loadmovesprites
 	checkcode VAR_BLUECARDBALANCE
 	addvar $1
 	writevarcode VAR_BLUECARDBALANCE
-	waitbutton
+	waitsfx
 	playsound SFX_TRANSACTION
 	setflag ENGINE_BUENAS_PASSWORD_2
 	pause 20
@@ -138,8 +138,8 @@
 	spriteface $b, RIGHT
 	loadfont
 	writetext UnknownText_0x5e054
+	waitbutton
 	closetext
-	loadmovesprites
 	special Special_RotatePalettesRightMusic
 	pause 20
 	special RestartMapMusic
@@ -154,8 +154,8 @@
 	verbosegiveitem BLUE_CARD
 UnknownScript_0x5d80a:
 	writetext UnknownText_0x5de10
+	waitbutton
 	closetext
-	loadmovesprites
 	checkcellnum PHONE_BUENA
 	iftrue UnknownScript_0x5d81a
 	checkevent EVENT_BUENA_OFFERED_HER_PHONE_NUMBER
@@ -166,8 +166,8 @@
 
 UnknownScript_0x5d81e:
 	writetext UnknownText_0x5df29
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $b, RIGHT
 	special Special_RotatePalettesRightMusic
 	pause 20
@@ -176,8 +176,8 @@
 
 UnknownScript_0x5d82f:
 	writetext UnknownText_0x5df6c
+	waitbutton
 	closetext
-	loadmovesprites
 	checkcellnum PHONE_BUENA
 	iftrue UnknownScript_0x5d83f
 	checkevent EVENT_BUENA_OFFERED_HER_PHONE_NUMBER
@@ -191,14 +191,14 @@
 	setflag ENGINE_BUENAS_PASSWORD_2
 	loadfont
 	writetext UnknownText_0x5e01c
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $b, RIGHT
 	pause 20
 	loadfont
 	writetext UnknownText_0x5e054
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $b, RIGHT
 	special Special_RotatePalettesRightMusic
 	pause 20
@@ -207,14 +207,14 @@
 
 UnknownScript_0x5d865:
 	writetext UnknownText_0x5e0c2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x5d86b:
 	writetext UnknownText_0x5e192
+	waitbutton
 	closetext
-	loadmovesprites
 	checkcellnum PHONE_BUENA
 	iftrue UnknownScript_0x5d87b
 	checkevent EVENT_BUENA_OFFERED_HER_PHONE_NUMBER_NO_BLUE_CARD
@@ -225,8 +225,8 @@
 
 UnknownScript_0x5d87f:
 	writetext UnknownText_0x5e0f1
+	waitbutton
 	closetext
-	loadmovesprites
 	checkcellnum PHONE_BUENA
 	iftrue UnknownScript_0x5d88f
 	checkevent EVENT_BUENA_OFFERED_HER_PHONE_NUMBER_NO_BLUE_CARD
@@ -237,8 +237,8 @@
 
 UnknownScript_0x5d893:
 	writetext UnknownText_0x5e131
+	waitbutton
 	closetext
-	loadmovesprites
 	checkcellnum PHONE_BUENA
 	iftrue UnknownScript_0x5d8a3
 	checkevent EVENT_BUENA_OFFERED_HER_PHONE_NUMBER
@@ -272,11 +272,11 @@
 	if_equal $2, UnknownScript_0x5d8ed
 	writetext UnknownText_0x5e2f3
 	playsound SFX_REGISTER_PHONE_NUMBER
-	waitbutton
+	waitsfx
 	keeptextopen
 	writetext UnknownText_0x5e310
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $b, RIGHT
 	addcellnum PHONE_BUENA
 	end
@@ -283,15 +283,15 @@
 
 UnknownScript_0x5d8ed:
 	writetext UnknownText_0x5e33c
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $b, RIGHT
 	end
 
 UnknownScript_0x5d8f6:
 	writetext UnknownText_0x5e35e
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $b, RIGHT
 UnknownScript_0x5d8fe:
 	end
@@ -304,13 +304,13 @@
 	writetext UnknownText_0x5e392
 	keeptextopen
 	special SpecialBuenaPrize
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x5d90f:
 	writetext UnknownText_0x5e3d8
 	keeptextopen
-	loadmovesprites
+	closetext
 	end
 
 MapRadioTower2FSignpost0Script:
--- a/maps/RadioTower3F.asm
+++ b/maps/RadioTower3F.asm
@@ -28,14 +28,14 @@
 	checkevent EVENT_CLEARED_RADIO_TOWER
 	iftrue UnknownScript_0x5e564
 	writetext UnknownText_0x5e682
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x5e564:
 	writetext UnknownText_0x5e6eb
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CooltrainerFScript_0x5e56a:
@@ -48,14 +48,14 @@
 	checkevent EVENT_USED_THE_CARD_KEY_IN_THE_RADIO_TOWER
 	iftrue UnknownScript_0x5e584
 	writetext UnknownText_0x5e754
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x5e584:
 	writetext UnknownText_0x5e7cb
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x5e58a:
@@ -64,16 +64,16 @@
 	verbosegiveitem TM_SUNNY_DAY
 	iffalse UnknownScript_0x5e5a1
 	writetext UnknownText_0x5e821
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_GOT_SUNNY_DAY_FROM_RADIO_TOWER
 	end
 
 UnknownScript_0x5e59d:
 	writetext UnknownText_0x5e85c
-	closetext
+	waitbutton
 UnknownScript_0x5e5a1:
-	loadmovesprites
+	closetext
 	end
 
 TrainerGruntM7:
@@ -80,11 +80,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTM_7, GRUNTM, 7, GruntM7SeenText, GruntM7BeatenText, 0, GruntM7Script
 
 GruntM7Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5e8d0
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerGruntM8:
@@ -91,11 +91,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTM_8, GRUNTM, 8, GruntM8SeenText, GruntM8BeatenText, 0, GruntM8Script
 
 GruntM8Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5e944
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerGruntM9:
@@ -102,11 +102,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTM_9, GRUNTM, 9, GruntM9SeenText, GruntM9BeatenText, 0, GruntM9Script
 
 GruntM9Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5e9d0
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerScientistMarc:
@@ -113,35 +113,35 @@
 	trainer EVENT_BEAT_SCIENTIST_MARC, SCIENTIST, MARC, ScientistMarcSeenText, ScientistMarcBeatenText, 0, ScientistMarcScript
 
 ScientistMarcScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5ea61
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRadioTower3FSignpost2Script::
 	loadfont
 	writetext UnknownText_0x5eaa4
-	closetext
+	waitbutton
 	checkevent EVENT_USED_THE_CARD_KEY_IN_THE_RADIO_TOWER
 	iftrue UnknownScript_0x5e603
 	checkitem CARD_KEY
 	iftrue UnknownScript_0x5e605
 UnknownScript_0x5e603:
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x5e605:
 	writetext UnknownText_0x5eabc
-	closetext
+	waitbutton
 	setevent EVENT_USED_THE_CARD_KEY_IN_THE_RADIO_TOWER
 	playsound SFX_ENTER_DOOR
 	changeblock $e, $2, $2a
 	changeblock $e, $4, $1
 	reloadmappart
-	loadmovesprites
-	waitbutton
+	closetext
+	waitsfx
 	end
 
 MapRadioTower3FSignpost0Script:
--- a/maps/RadioTower4F.asm
+++ b/maps/RadioTower4F.asm
@@ -16,8 +16,8 @@
 	checkevent EVENT_CLEARED_RADIO_TOWER
 	iftrue UnknownScript_0x5eb99
 	writetext UnknownText_0x5ec68
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x5eb99:
@@ -26,16 +26,16 @@
 	verbosegiveitem PINK_BOW
 	iffalse UnknownScript_0x5ebb0
 	writetext UnknownText_0x5ecef
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_GOT_PINK_BOW_FROM_MARY
 	end
 
 UnknownScript_0x5ebac:
 	writetext UnknownText_0x5ed2c
-	closetext
+	waitbutton
 UnknownScript_0x5ebb0:
-	loadmovesprites
+	closetext
 	end
 
 GrowlitheScript_0x5ebb2:
@@ -42,8 +42,8 @@
 	loadfont
 	writetext UnknownText_0x5ed66
 	cry MEOWTH
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerGruntM10:
@@ -50,11 +50,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTM_10, GRUNTM, 10, GruntM10SeenText, GruntM10BeatenText, 0, GruntM10Script
 
 GruntM10Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5ede2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerExecutivem2:
@@ -61,11 +61,11 @@
 	trainer EVENT_BEAT_ROCKET_EXECUTIVEM_2, EXECUTIVEM, 2, Executivem2SeenText, Executivem2BeatenText, 0, Executivem2Script
 
 Executivem2Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5ee69
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerGruntF4:
@@ -72,11 +72,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTF_4, GRUNTF, 4, GruntF4SeenText, GruntF4BeatenText, 0, GruntF4Script
 
 GruntF4Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5ef31
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerScientistRich:
@@ -83,11 +83,11 @@
 	trainer EVENT_BEAT_SCIENTIST_RICH, SCIENTIST, RICH, ScientistRichSeenText, ScientistRichBeatenText, 0, ScientistRichScript
 
 ScientistRichScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5efcb
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRadioTower4FSignpost0Script:
--- a/maps/RadioTower5F.asm
+++ b/maps/RadioTower5F.asm
@@ -24,17 +24,17 @@
 	showemote EMOTE_SHOCK, $2, 15
 	loadfont
 	writetext UnknownText_0x60128
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $2, MovementData_0x60109
 	playmusic MUSIC_ROCKET_ENCOUNTER
 	loadfont
 	writetext UnknownText_0x60147
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x60223, 0
 	setlasttalked $2
-	loadtrainer EXECUTIVEM, 3
+	scriptedtrainerdata EXECUTIVEM, 3
 	startbattle
 	returnafterbattle
 	loadfont
@@ -41,7 +41,7 @@
 	writetext UnknownText_0x60246
 	keeptextopen
 	verbosegiveitem BASEMENT_KEY
-	loadmovesprites
+	closetext
 	dotrigger $1
 	setevent EVENT_BEAT_ROCKET_EXECUTIVEM_3
 	end
@@ -52,14 +52,14 @@
 	checkevent EVENT_CLEARED_RADIO_TOWER
 	iftrue UnknownScript_0x60054
 	writetext UnknownText_0x60246
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x60054:
 	writetext UnknownText_0x60824
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerExecutivef1:
@@ -66,11 +66,11 @@
 	trainer EVENT_BEAT_ROCKET_EXECUTIVEF_1, EXECUTIVEF, 1, Executivef1SeenText, Executivef1BeatenText, 0, Executivef1Script
 
 Executivef1Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x60358
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x6006e:
@@ -79,17 +79,17 @@
 	spriteface $3, RIGHT
 	loadfont
 	writetext UnknownText_0x603d1
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x604f3, 0
 	setlasttalked $3
-	loadtrainer EXECUTIVEM, 1
+	scriptedtrainerdata EXECUTIVEM, 1
 	startbattle
 	returnafterbattle
 	loadfont
 	writetext UnknownText_0x6050e
+	waitbutton
 	closetext
-	loadmovesprites
 	special Special_FadeBlackQuickly
 	special Special_ReloadSpritesNoPalettes
 	disappear $3
@@ -119,8 +119,8 @@
 	keeptextopen
 	verbosegiveitem CLEAR_BELL
 	writetext UnknownText_0x6062c
+	waitbutton
 	closetext
-	loadmovesprites
 	dotrigger $2
 	domaptrigger ECRUTEAK_HOUSE, $0
 	setevent EVENT_GOT_CLEAR_BELL
--- a/maps/RedsHouse1F.asm
+++ b/maps/RedsHouse1F.asm
@@ -17,14 +17,14 @@
 	checkevent EVENT_MET_REDS_MOM
 	iftrue .MetAlready
 	writetext RedsMomText1
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_MET_REDS_MOM
 	end
 .MetAlready
 	writetext RedsMomText2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 RedsHouse1FTV:
--- a/maps/Route1.asm
+++ b/maps/Route1.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_SCHOOLBOY_DANNY, SCHOOLBOY, DANNY, SchoolboyDannySeenText, SchoolboyDannyBeatenText, 0, SchoolboyDannyScript
 
 SchoolboyDannyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ac5d7
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCooltrainerfQuinn:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_COOLTRAINERF_QUINN, COOLTRAINERF, QUINN, CooltrainerfQuinnSeenText, CooltrainerfQuinnBeatenText, 0, CooltrainerfQuinnScript
 
 CooltrainerfQuinnScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ac640
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute1Signpost0Script:
--- a/maps/Route10PokeCenter1F.asm
+++ b/maps/Route10PokeCenter1F.asm
@@ -17,14 +17,14 @@
 	checkevent EVENT_RETURNED_MACHINE_PART
 	iftrue UnknownScript_0x188be8
 	writetext UnknownText_0x188c26
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x188be8:
 	writetext UnknownText_0x188c9e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CooltrainerFScript_0x188bee:
--- a/maps/Route10South.asm
+++ b/maps/Route10South.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_HIKER_JIM, HIKER, JIM, HikerJimSeenText, HikerJimBeatenText, 0, HikerJimScript
 
 HikerJimScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ae43b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPokefanmRobert:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_POKEFANM_ROBERT, POKEFANM, ROBERT, PokefanmRobertSeenText, PokefanmRobertBeatenText, 0, PokefanmRobertScript
 
 PokefanmRobertScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ae4a9
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute10SouthSignpost0Script:
--- a/maps/Route11.asm
+++ b/maps/Route11.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_YOUNGSTER_OWEN, YOUNGSTER, OWEN, YoungsterOwenSeenText, YoungsterOwenBeatenText, 0, YoungsterOwenScript
 
 YoungsterOwenScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x680b2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerYoungsterJason:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_YOUNGSTER_JASON, YOUNGSTER, JASON, YoungsterJasonSeenText, YoungsterJasonBeatenText, 0, YoungsterJasonScript
 
 YoungsterJasonScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x6814a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPsychicHerman:
@@ -31,11 +31,11 @@
 	trainer EVENT_BEAT_PSYCHIC_HERMAN, PSYCHIC_T, HERMAN, PsychicHermanSeenText, PsychicHermanBeatenText, 0, PsychicHermanScript
 
 PsychicHermanScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x6817b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPsychicFidel:
@@ -42,11 +42,11 @@
 	trainer EVENT_BEAT_PSYCHIC_FIDEL, PSYCHIC_T, FIDEL, PsychicFidelSeenText, PsychicFidelBeatenText, 0, PsychicFidelScript
 
 PsychicFidelScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x681ec
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute11Signpost0Script:
--- a/maps/Route12.asm
+++ b/maps/Route12.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_FISHER_KYLE, FISHER, KYLE, FisherKyleSeenText, FisherKyleBeatenText, 0, FisherKyleScript
 
 FisherKyleScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a7238
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerFisherMartin:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_FISHER_MARTIN, FISHER, MARTIN, FisherMartinSeenText, FisherMartinBeatenText, 0, FisherMartinScript
 
 FisherMartinScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a704c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerFisherStephen:
@@ -31,11 +31,11 @@
 	trainer EVENT_BEAT_FISHER_STEPHEN, FISHER, STEPHEN, FisherStephenSeenText, FisherStephenBeatenText, 0, FisherStephenScript
 
 FisherStephenScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a70d4
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerFisherBarney:
@@ -42,11 +42,11 @@
 	trainer EVENT_BEAT_FISHER_BARNEY, FISHER, BARNEY, FisherBarneySeenText, FisherBarneyBeatenText, 0, FisherBarneyScript
 
 FisherBarneyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a716d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute12Signpost0Script:
--- a/maps/Route12SuperRodHouse.asm
+++ b/maps/Route12SuperRodHouse.asm
@@ -20,15 +20,15 @@
 	setevent EVENT_GOT_SUPER_ROD
 UnknownScript_0x7f4a0:
 	writetext UnknownText_0x7f57c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x7f4a6:
 	writetext UnknownText_0x7f5ec
-	closetext
+	waitbutton
 UnknownScript_0x7f4aa:
-	loadmovesprites
+	closetext
 	end
 
 SuperRodHouseBookshelf:
--- a/maps/Route13.asm
+++ b/maps/Route13.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_POKEFANM_ALEX, POKEFANM, ALEX, PokefanmAlexSeenText, PokefanmAlexBeatenText, 0, PokefanmAlexScript
 
 PokefanmAlexScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a24e3
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPokefanmJoshua:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_POKEFANM_JOSHUA, POKEFANM, JOSHUA, PokefanmJoshuaSeenText, PokefanmJoshuaBeatenText, 0, PokefanmJoshuaScript
 
 PokefanmJoshuaScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a254f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBird_keeperPerry:
@@ -31,11 +31,11 @@
 	trainer EVENT_BEAT_BIRD_KEEPER_PERRY, BIRD_KEEPER, PERRY, Bird_keeperPerrySeenText, Bird_keeperPerryBeatenText, 0, Bird_keeperPerryScript
 
 Bird_keeperPerryScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a25db
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBird_keeperBret:
@@ -42,11 +42,11 @@
 	trainer EVENT_BEAT_BIRD_KEEPER_BRET, BIRD_KEEPER, BRET, Bird_keeperBretSeenText, Bird_keeperBretBeatenText, 0, Bird_keeperBretScript
 
 Bird_keeperBretScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a2662
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerHikerKenny:
@@ -53,11 +53,11 @@
 	trainer EVENT_BEAT_HIKER_KENNY, HIKER, KENNY, HikerKennySeenText, HikerKennyBeatenText, 0, HikerKennyScript
 
 HikerKennyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a26c2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute13Signpost0Script:
--- a/maps/Route14.asm
+++ b/maps/Route14.asm
@@ -9,8 +9,8 @@
 	faceplayer
 	loadfont
 	trade $5
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPokefanmCarter:
@@ -17,11 +17,11 @@
 	trainer EVENT_BEAT_POKEFANM_CARTER, POKEFANM, CARTER, PokefanmCarterSeenText, PokefanmCarterBeatenText, 0, PokefanmCarterScript
 
 PokefanmCarterScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ad508
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBird_keeperRoy:
@@ -28,11 +28,11 @@
 	trainer EVENT_BEAT_BIRD_KEEPER_ROY, BIRD_KEEPER, ROY, Bird_keeperRoySeenText, Bird_keeperRoyBeatenText, 0, Bird_keeperRoyScript
 
 Bird_keeperRoyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ad5a4
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPokefanmTrevor:
@@ -39,11 +39,11 @@
 	trainer EVENT_BEAT_POKEFANM_TREVOR, POKEFANM, TREVOR, PokefanmTrevorSeenText, PokefanmTrevorBeatenText, 0, PokefanmTrevorScript
 
 PokefanmTrevorScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ad660
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 PokefanmCarterSeenText:
--- a/maps/Route15.asm
+++ b/maps/Route15.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_TEACHER_COLETTE, TEACHER, COLETTE, TeacherColetteSeenText, TeacherColetteBeatenText, 0, TeacherColetteScript
 
 TeacherColetteScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1aa60d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerTeacherHillary:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_TEACHER_HILLARY, TEACHER, HILLARY, TeacherHillarySeenText, TeacherHillaryBeatenText, 0, TeacherHillaryScript
 
 TeacherHillaryScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1aa6ca
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSchoolboyKipp:
@@ -31,11 +31,11 @@
 	trainer EVENT_BEAT_SCHOOLBOY_KIP, SCHOOLBOY, KIPP, SchoolboyKippSeenText, SchoolboyKippBeatenText, 0, SchoolboyKippScript
 
 SchoolboyKippScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1aa740
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSchoolboyTommy:
@@ -42,11 +42,11 @@
 	trainer EVENT_BEAT_SCHOOLBOY_TOMMY, SCHOOLBOY, TOMMY, SchoolboyTommySeenText, SchoolboyTommyBeatenText, 0, SchoolboyTommyScript
 
 SchoolboyTommyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1aa7bc
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSchoolboyJohnny:
@@ -53,11 +53,11 @@
 	trainer EVENT_BEAT_SCHOOLBOY_JOHNNY, SCHOOLBOY, JOHNNY, SchoolboyJohnnySeenText, SchoolboyJohnnyBeatenText, 0, SchoolboyJohnnyScript
 
 SchoolboyJohnnyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1aa84a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSchoolboyBilly:
@@ -64,11 +64,11 @@
 	trainer EVENT_BEAT_SCHOOLBOY_BILLY, SCHOOLBOY, BILLY, SchoolboyBillySeenText, SchoolboyBillyBeatenText, 0, SchoolboyBillyScript
 
 SchoolboyBillyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1aa8b0
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute15Signpost0Script:
--- a/maps/Route16Gate.asm
+++ b/maps/Route16Gate.asm
@@ -24,8 +24,8 @@
 	spriteface PLAYER, UP
 	loadfont
 	writetext UnknownText_0x73496
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement PLAYER, MovementData_0x73405
 	end
 
--- a/maps/Route17.asm
+++ b/maps/Route17.asm
@@ -18,11 +18,11 @@
 	trainer EVENT_BEAT_BIKER_CHARLES, BIKER, CHARLES, BikerCharlesSeenText, BikerCharlesBeatenText, 0, BikerCharlesScript
 
 BikerCharlesScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ad293
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBikerRiley:
@@ -29,11 +29,11 @@
 	trainer EVENT_BEAT_BIKER_RILEY, BIKER, RILEY, BikerRileySeenText, BikerRileyBeatenText, 0, BikerRileyScript
 
 BikerRileyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ad13b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBikerJoel:
@@ -40,11 +40,11 @@
 	trainer EVENT_BEAT_BIKER_JOEL, BIKER, JOEL, BikerJoelSeenText, BikerJoelBeatenText, 0, BikerJoelScript
 
 BikerJoelScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ad196
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBikerGlenn:
@@ -51,11 +51,11 @@
 	trainer EVENT_BEAT_BIKER_GLENN, BIKER, GLENN, BikerGlennSeenText, BikerGlennBeatenText, 0, BikerGlennScript
 
 BikerGlennScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ad225
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute17SignpostItem0:
--- a/maps/Route1718Gate.asm
+++ b/maps/Route1718Gate.asm
@@ -24,8 +24,8 @@
 	spriteface PLAYER, UP
 	loadfont
 	writetext UnknownText_0x7364d
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement PLAYER, MovementData_0x73629
 	end
 
--- a/maps/Route18.asm
+++ b/maps/Route18.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_BIRD_KEEPER_BORIS, BIRD_KEEPER, BORIS, Bird_keeperBorisSeenText, Bird_keeperBorisBeatenText, 0, Bird_keeperBorisScript
 
 Bird_keeperBorisScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1acfa5
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBird_keeperBob:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_BIRD_KEEPER_BOB, BIRD_KEEPER, BOB, Bird_keeperBobSeenText, Bird_keeperBobBeatenText, 0, Bird_keeperBobScript
 
 Bird_keeperBobScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ad00d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute18Signpost0Script:
--- a/maps/Route19.asm
+++ b/maps/Route19.asm
@@ -25,11 +25,11 @@
 	trainer EVENT_BEAT_SWIMMERF_DAWN, SWIMMERF, DAWN, SwimmerfDawnSeenText, SwimmerfDawnBeatenText, 0, SwimmerfDawnScript
 
 SwimmerfDawnScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19ebad
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSwimmermHarold:
@@ -36,11 +36,11 @@
 	trainer EVENT_BEAT_SWIMMERM_HAROLD, SWIMMERM, HAROLD, SwimmermHaroldSeenText, SwimmermHaroldBeatenText, 0, SwimmermHaroldScript
 
 SwimmermHaroldScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19eab4
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSwimmermJerome:
@@ -47,11 +47,11 @@
 	trainer EVENT_BEAT_SWIMMERM_JEROME, SWIMMERM, JEROME, SwimmermJeromeSeenText, SwimmermJeromeBeatenText, 0, SwimmermJeromeScript
 
 SwimmermJeromeScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19ec7e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSwimmermTucker:
@@ -58,11 +58,11 @@
 	trainer EVENT_BEAT_SWIMMERM_TUCKER, SWIMMERM, TUCKER, SwimmermTuckerSeenText, SwimmermTuckerBeatenText, 0, SwimmermTuckerScript
 
 SwimmermTuckerScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19eb3b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 FisherScript_0x19ea4d:
@@ -71,14 +71,14 @@
 	checkevent EVENT_CINNABAR_ROCKS_CLEARED
 	iftrue UnknownScript_0x19ea5b
 	writetext UnknownText_0x19ecaf
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19ea5b:
 	writetext UnknownText_0x19ed24
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 FisherScript_0x19ea61:
@@ -87,14 +87,14 @@
 	checkevent EVENT_CINNABAR_ROCKS_CLEARED
 	iftrue UnknownScript_0x19ea6f
 	writetext UnknownText_0x19ed45
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19ea6f:
 	writetext UnknownText_0x19ed7d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute19Signpost0Script:
--- a/maps/Route19FuchsiaGate.asm
+++ b/maps/Route19FuchsiaGate.asm
@@ -11,14 +11,14 @@
 	checkevent EVENT_CINNABAR_ROCKS_CLEARED
 	iftrue .RocksCleared
 	writetext UnknownText_0x1ab40a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .RocksCleared
 	writetext UnknownText_0x1ab48a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownText_0x1ab40a:
--- a/maps/Route2.asm
+++ b/maps/Route2.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_BUG_CATCHER_ROB, BUG_CATCHER, ROB, Bug_catcherRobSeenText, Bug_catcherRobBeatenText, 0, Bug_catcherRobScript
 
 Bug_catcherRobScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ac34d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBug_catcherEd:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_BUG_CATCHER_ED, BUG_CATCHER, ED, Bug_catcherEdSeenText, Bug_catcherEdBeatenText, 0, Bug_catcherEdScript
 
 Bug_catcherEdScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ac3cf
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBug_catcherDoug:
@@ -31,11 +31,11 @@
 	trainer EVENT_BEAT_BUG_CATCHER_DOUG, BUG_CATCHER, DOUG, Bug_catcherDougSeenText, Bug_catcherDougBeatenText, 0, Bug_catcherDougScript
 
 Bug_catcherDougScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ac423
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute2Signpost0Script:
--- a/maps/Route20.asm
+++ b/maps/Route20.asm
@@ -17,11 +17,11 @@
 	trainer EVENT_BEAT_SWIMMERF_NICOLE, SWIMMERF, NICOLE, SwimmerfNicoleSeenText, SwimmerfNicoleBeatenText, 0, SwimmerfNicoleScript
 
 SwimmerfNicoleScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1acd93
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSwimmerfLori:
@@ -28,11 +28,11 @@
 	trainer EVENT_BEAT_SWIMMERF_LORI, SWIMMERF, LORI, SwimmerfLoriSeenText, SwimmerfLoriBeatenText, 0, SwimmerfLoriScript
 
 SwimmerfLoriScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ace15
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSwimmermCameron:
@@ -39,11 +39,11 @@
 	trainer EVENT_BEAT_SWIMMERM_CAMERON, SWIMMERM, CAMERON, SwimmermCameronSeenText, SwimmermCameronBeatenText, 0, SwimmermCameronScript
 
 SwimmermCameronScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ace8b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute20Signpost0Script:
--- a/maps/Route21.asm
+++ b/maps/Route21.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_SWIMMERM_SETH, SWIMMERM, SETH, SwimmermSethSeenText, SwimmermSethBeatenText, 0, SwimmermSethScript
 
 SwimmermSethScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ac873
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSwimmerfNikki:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_SWIMMERF_NIKKI, SWIMMERF, NIKKI, SwimmerfNikkiSeenText, SwimmerfNikkiBeatenText, 0, SwimmerfNikkiScript
 
 SwimmerfNikkiScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ac8f1
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerFisherArnold:
@@ -31,11 +31,11 @@
 	trainer EVENT_BEAT_FISHER_ARNOLD, FISHER, ARNOLD, FisherArnoldSeenText, FisherArnoldBeatenText, 0, FisherArnoldScript
 
 FisherArnoldScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ac95c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SwimmermSethSeenText:
--- a/maps/Route24.asm
+++ b/maps/Route24.asm
@@ -10,10 +10,10 @@
 	playmusic MUSIC_ROCKET_ENCOUNTER
 	loadfont
 	writetext UnknownText_0x1adc2e
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x1add67, -1
-	loadtrainer GRUNTM, 31
+	scriptedtrainerdata GRUNTM, 31
 	startbattle
 	reloadmapmusic
 	returnafterbattle
@@ -23,8 +23,8 @@
 	keeptextopen
 	special Special_RotatePalettesRightMusic
 	writetext UnknownText_0x1adee1
+	waitbutton
 	closetext
-	loadmovesprites
 	special Special_FadeBlackQuickly
 	special Special_ReloadSpritesNoPalettes
 	disappear $2
--- a/maps/Route25.asm
+++ b/maps/Route25.asm
@@ -29,8 +29,8 @@
 	applymovement $2, MovementData_0x19efed
 	loadfont
 	writetext UnknownText_0x19f006
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface PLAYER, DOWN
 	applymovement $2, MovementData_0x19effa
 	spriteface PLAYER, LEFT
@@ -55,8 +55,8 @@
 	applymovement $2, MovementData_0x19eff4
 	loadfont
 	writetext UnknownText_0x19f006
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface PLAYER, UP
 	applymovement $2, MovementData_0x19effd
 	spriteface PLAYER, LEFT
@@ -71,11 +71,11 @@
 	trainer EVENT_BEAT_SCHOOLBOY_DUDLEY, SCHOOLBOY, DUDLEY, SchoolboyDudleySeenText, SchoolboyDudleyBeatenText, 0, SchoolboyDudleyScript
 
 SchoolboyDudleyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19f1b5
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerLassEllen:
@@ -82,11 +82,11 @@
 	trainer EVENT_BEAT_LASS_ELLEN, LASS, ELLEN, LassEllenSeenText, LassEllenBeatenText, 0, LassEllenScript
 
 LassEllenScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19f208
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSchoolboyJoe:
@@ -93,11 +93,11 @@
 	trainer EVENT_BEAT_SCHOOLBOY_JOE, SCHOOLBOY, JOE, SchoolboyJoeSeenText, SchoolboyJoeBeatenText, 0, SchoolboyJoeScript
 
 SchoolboyJoeScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19f25c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerLassLaura:
@@ -104,11 +104,11 @@
 	trainer EVENT_BEAT_LASS_LAURA, LASS, LAURA, LassLauraSeenText, LassLauraBeatenText, 0, LassLauraScript
 
 LassLauraScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19f2a6
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCamperLloyd:
@@ -115,11 +115,11 @@
 	trainer EVENT_BEAT_CAMPER_LLOYD, CAMPER, LLOYD, CamperLloydSeenText, CamperLloydBeatenText, 0, CamperLloydScript
 
 CamperLloydScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19f2f8
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerLassShannon:
@@ -126,11 +126,11 @@
 	trainer EVENT_BEAT_LASS_SHANNON, LASS, SHANNON, LassShannonSeenText, LassShannonBeatenText, 0, LassShannonScript
 
 LassShannonScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19f35b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSupernerdPat:
@@ -137,11 +137,11 @@
 	trainer EVENT_BEAT_SUPER_NERD_PAT, SUPER_NERD, PAT, SupernerdPatSeenText, SupernerdPatBeatenText, 0, SupernerdPatScript
 
 SupernerdPatScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19f41a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CooltrainerMScript_0x19efac:
@@ -158,10 +158,10 @@
 	setevent EVENT_CLEARED_NUGGET_BRIDGE
 UnknownScript_0x19efc7:
 	writetext UnknownText_0x19f49d
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x19f4fd, 0
-	loadtrainer COOLTRAINERM, KEVIN
+	scriptedtrainerdata COOLTRAINERM, KEVIN
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_COOLTRAINERM_KEVIN
@@ -168,9 +168,9 @@
 	loadfont
 UnknownScript_0x19efda:
 	writetext UnknownText_0x19f520
-	closetext
+	waitbutton
 UnknownScript_0x19efde:
-	loadmovesprites
+	closetext
 	end
 
 MapRoute25Signpost0Script:
--- a/maps/Route26.asm
+++ b/maps/Route26.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_COOLTRAINERM_JAKE, COOLTRAINERM, JAKE, CooltrainermJakeSeenText, CooltrainermJakeBeatenText, 0, CooltrainermJakeScript
 
 CooltrainermJakeScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a4f08
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCooltrainermGaven3:
@@ -21,7 +21,7 @@
 
 CooltrainermGaven3Script:
 	writecode VAR_CALLERID, PHONE_COOLTRAINERM_GAVEN
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_GAVEN
 	iftrue UnknownScript_0x1a4d79
@@ -59,7 +59,7 @@
 	checkevent EVENT_BEAT_ELITE_FOUR
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer COOLTRAINERM, GAVEN3
+	scriptedtrainerdata COOLTRAINERM, GAVEN3
 	startbattle
 	returnafterbattle
 	loadvar wGavenFightCount, 1
@@ -67,7 +67,7 @@
 	end
 
 .LoadFight1
-	loadtrainer COOLTRAINERM, GAVEN1
+	scriptedtrainerdata COOLTRAINERM, GAVEN1
 	startbattle
 	returnafterbattle
 	loadvar wGavenFightCount, 2
@@ -75,7 +75,7 @@
 	end
 
 .LoadFight2
-	loadtrainer COOLTRAINERM, GAVEN2
+	scriptedtrainerdata COOLTRAINERM, GAVEN2
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_GAVEN
@@ -113,11 +113,11 @@
 	trainer EVENT_BEAT_COOLTRAINERF_JOYCE, COOLTRAINERF, JOYCE, CooltrainerfJoyceSeenText, CooltrainerfJoyceBeatenText, 0, CooltrainerfJoyceScript
 
 CooltrainerfJoyceScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a50d7
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCooltrainerfBeth1:
@@ -125,7 +125,7 @@
 
 CooltrainerfBeth1Script:
 	writecode VAR_CALLERID, PHONE_COOLTRAINERF_BETH
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_BETH
 	iftrue UnknownScript_0x1a4e35
@@ -163,7 +163,7 @@
 	checkevent EVENT_BEAT_ELITE_FOUR
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer COOLTRAINERF, BETH1
+	scriptedtrainerdata COOLTRAINERF, BETH1
 	startbattle
 	returnafterbattle
 	loadvar wBethFightCount, 1
@@ -171,7 +171,7 @@
 	end
 
 .LoadFight1
-	loadtrainer COOLTRAINERF, BETH2
+	scriptedtrainerdata COOLTRAINERF, BETH2
 	startbattle
 	returnafterbattle
 	loadvar wBethFightCount, 2
@@ -179,7 +179,7 @@
 	end
 
 .LoadFight2
-	loadtrainer COOLTRAINERF, BETH3
+	scriptedtrainerdata COOLTRAINERF, BETH3
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_BETH
@@ -217,11 +217,11 @@
 	trainer EVENT_BEAT_PSYCHIC_RICHARD, PSYCHIC_T, RICHARD, PsychicRichardSeenText, PsychicRichardBeatenText, 0, PsychicRichardScript
 
 PsychicRichardScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a5278
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerFisherScott:
@@ -228,11 +228,11 @@
 	trainer EVENT_BEAT_FISHER_SCOTT, FISHER, SCOTT, FisherScottSeenText, FisherScottBeatenText, 0, FisherScottScript
 
 FisherScottScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a5326
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute26Signpost0Script:
--- a/maps/Route26DayofWeekSiblingsHouse.asm
+++ b/maps/Route26DayofWeekSiblingsHouse.asm
@@ -14,9 +14,9 @@
 	yesorno
 	iffalse UnknownText_0x7b1f7
 	writetext UnknownText_0x7b2b9
-	closetext
+	waitbutton
 UnknownText_0x7b1f7:
-	loadmovesprites
+	closetext
 	end
 
 UnknownText_0x7b1f9:
--- a/maps/Route26HealSpeechHouse.asm
+++ b/maps/Route26HealSpeechHouse.asm
@@ -9,8 +9,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x7b14d
+	waitbutton
 	closetext
-	loadmovesprites
 	special Special_FadeBlackQuickly
 	special Special_ReloadSpritesNoPalettes
 	special Mobile_HealParty
@@ -21,8 +21,8 @@
 	special RestartMapMusic
 	loadfont
 	writetext UnknownText_0x7b18b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 Route26HealHouseBookshelf:
--- a/maps/Route27.asm
+++ b/maps/Route27.asm
@@ -31,8 +31,8 @@
 	writetext UnknownText_0x1a0a6b
 	keeptextopen
 	writetext UnknownText_0x1a0a71
+	waitbutton
 	closetext
-	loadmovesprites
 	dotrigger $1
 	end
 
@@ -43,11 +43,11 @@
 	trainer EVENT_BEAT_PSYCHIC_GILBERT, PSYCHIC_T, GILBERT, PsychicGilbertSeenText, PsychicGilbertBeatenText, 0, PsychicGilbertScript
 
 PsychicGilbertScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a0dd2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBird_keeperJose2:
@@ -55,7 +55,7 @@
 
 Bird_keeperJose2Script:
 	writecode VAR_CALLERID, PHONE_BIRDKEEPER_JOSE
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_JOSE
 	iftrue UnknownScript_0x1a08ff
@@ -95,7 +95,7 @@
 	checkevent EVENT_BEAT_ELITE_FOUR
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer BIRD_KEEPER, JOSE2
+	scriptedtrainerdata BIRD_KEEPER, JOSE2
 	startbattle
 	returnafterbattle
 	loadvar wJoseFightCount, 1
@@ -103,7 +103,7 @@
 	end
 
 .LoadFight1
-	loadtrainer BIRD_KEEPER, JOSE1
+	scriptedtrainerdata BIRD_KEEPER, JOSE1
 	startbattle
 	returnafterbattle
 	loadvar wJoseFightCount, 2
@@ -111,7 +111,7 @@
 	end
 
 .LoadFight2
-	loadtrainer BIRD_KEEPER, JOSE3
+	scriptedtrainerdata BIRD_KEEPER, JOSE3
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_JOSE
@@ -167,11 +167,11 @@
 	trainer EVENT_BEAT_COOLTRAINERM_BLAKE, COOLTRAINERM, BLAKE, CooltrainermBlakeSeenText, CooltrainermBlakeBeatenText, 0, CooltrainermBlakeScript
 
 CooltrainermBlakeScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a0b0b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCooltrainermBrian:
@@ -178,11 +178,11 @@
 	trainer EVENT_BEAT_COOLTRAINERM_BRIAN, COOLTRAINERM, BRIAN, CooltrainermBrianSeenText, CooltrainermBrianBeatenText, 0, CooltrainermBrianScript
 
 CooltrainermBrianScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a0bac
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCooltrainerfReena:
@@ -190,7 +190,7 @@
 
 CooltrainerfReena1Script:
 	writecode VAR_CALLERID, PHONE_COOLTRAINERF_REENA
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_REENA
 	iftrue UnknownScript_0x1a09e9
@@ -228,7 +228,7 @@
 	checkevent EVENT_BEAT_ELITE_FOUR
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer COOLTRAINERF, REENA1
+	scriptedtrainerdata COOLTRAINERF, REENA1
 	startbattle
 	returnafterbattle
 	loadvar wReenaFightCount, 1
@@ -236,7 +236,7 @@
 	end
 
 .LoadFight1
-	loadtrainer COOLTRAINERF, REENA2
+	scriptedtrainerdata COOLTRAINERF, REENA2
 	startbattle
 	returnafterbattle
 	loadvar wReenaFightCount, 2
@@ -244,7 +244,7 @@
 	end
 
 .LoadFight2
-	loadtrainer COOLTRAINERF, REENA3
+	scriptedtrainerdata COOLTRAINERF, REENA3
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_REENA
@@ -282,11 +282,11 @@
 	trainer EVENT_BEAT_COOLTRAINERF_MEGAN, COOLTRAINERF, MEGAN, CooltrainerfMeganSeenText, CooltrainerfMeganBeatenText, 0, CooltrainerfMeganScript
 
 CooltrainerfMeganScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a0cce
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute27Signpost0Script:
--- a/maps/Route27SandstormHouse.asm
+++ b/maps/Route27SandstormHouse.asm
@@ -24,15 +24,15 @@
 	setevent EVENT_GOT_TM37_SANDSTORM
 .AlreadyGotItem
 	writetext SandstormHouseSandstormDescription
-	closetext
+	waitbutton
 .Done
-	loadmovesprites
+	closetext
 	end
 
 .Disloyal
 	writetext SandstormHouseWomanDisloyalText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SandstormHouseBookshelf:
--- a/maps/Route28FamousSpeechHouse.asm
+++ b/maps/Route28FamousSpeechHouse.asm
@@ -22,12 +22,12 @@
 	iffalse .Done
 	setevent EVENT_GOT_TM47_STEEL_WING
 .Done
-	loadmovesprites
+	closetext
 	end
 .AlreadyGotItem
 	writetext CelebrityText2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CelebritysFearow:
@@ -34,8 +34,8 @@
 	loadfont
 	writetext CelebritysFearowText
 	cry FEAROW
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CelebrityHouseBookshelf:
--- a/maps/Route29.asm
+++ b/maps/Route29.asm
@@ -43,17 +43,17 @@
 	writetext UnknownText_0x1a10df
 	yesorno
 	iffalse UnknownScript_0x1a0fd9
-	loadmovesprites
+	closetext
 	follow $2, PLAYER
 	applymovement $2, MovementData_0x1a109a
 	stopfollow
-	loadpokedata RATTATA, 5
+	scriptedpokedata RATTATA, 5
 	catchtutorial BATTLETYPE_TUTORIAL
 	spriteface $2, UP
 	loadfont
 	writetext UnknownText_0x1a114d
+	waitbutton
 	closetext
-	loadmovesprites
 	dotrigger $0
 	setevent EVENT_LEARNED_TO_CATCH_POKEMON
 	end
@@ -68,17 +68,17 @@
 	writetext UnknownText_0x1a10df
 	yesorno
 	iffalse UnknownScript_0x1a0fe5
-	loadmovesprites
+	closetext
 	follow $2, PLAYER
 	applymovement $2, MovementData_0x1a10a1
 	stopfollow
-	loadpokedata RATTATA, 5
+	scriptedpokedata RATTATA, 5
 	catchtutorial BATTLETYPE_TUTORIAL
 	spriteface $2, UP
 	loadfont
 	writetext UnknownText_0x1a114d
+	waitbutton
 	closetext
-	loadmovesprites
 	dotrigger $0
 	setevent EVENT_LEARNED_TO_CATCH_POKEMON
 	end
@@ -85,8 +85,8 @@
 
 UnknownScript_0x1a0fd9:
 	writetext UnknownText_0x1a1197
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $2, MovementData_0x1a109a
 	dotrigger $0
 	end
@@ -93,8 +93,8 @@
 
 UnknownScript_0x1a0fe5:
 	writetext UnknownText_0x1a1197
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $2, MovementData_0x1a10a1
 	dotrigger $0
 	end
@@ -111,26 +111,26 @@
 	writetext UnknownText_0x1a11e3
 	yesorno
 	iffalse UnknownScript_0x1a1022
-	loadmovesprites
-	loadpokedata RATTATA, 5
+	closetext
+	scriptedpokedata RATTATA, 5
 	catchtutorial BATTLETYPE_TUTORIAL
 	loadfont
 	writetext UnknownText_0x1a114d
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_LEARNED_TO_CATCH_POKEMON
 	end
 
 UnknownScript_0x1a101c:
 	writetext UnknownText_0x1a10a7
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1a1022:
 	writetext UnknownText_0x1a1197
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x1a1028:
@@ -151,14 +151,14 @@
 	iftrue UnknownScript_0x1a1043
 UnknownScript_0x1a103d:
 	writetext UnknownText_0x1a134c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1a1043:
 	writetext UnknownText_0x1a137c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TuscanyScript:
@@ -180,21 +180,21 @@
 	iffalse TuscanyDoneScript
 	setevent EVENT_GOT_PINK_BOW_FROM_TUSCANY
 	writetext TuscanyGaveGiftText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TuscanyTuesdayScript:
 	writetext TuscanyTuesdayText
-	closetext
+	waitbutton
 TuscanyDoneScript:
-	loadmovesprites
+	closetext
 	end
 
 TuscanyNotTuesdayScript:
 	writetext TuscanyNotTuesdayText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute29Signpost0Script:
--- a/maps/Route2NuggetSpeechHouse.asm
+++ b/maps/Route2NuggetSpeechHouse.asm
@@ -17,9 +17,9 @@
 	setevent EVENT_GOT_NUGGET_FROM_GUY
 .GotItem
 	writetext UnknownText_0x9b8e5
-	closetext
+	waitbutton
 .Done
-	loadmovesprites
+	closetext
 	end
 
 Route2NuggetSpeechHouseBookshelf:
--- a/maps/Route3.asm
+++ b/maps/Route3.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_FIREBREATHER_OTIS, FIREBREATHER, OTIS, FirebreatherOtisSeenText, FirebreatherOtisBeatenText, 0, FirebreatherOtisScript
 
 FirebreatherOtisScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1adff7
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerYoungsterWarren:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_YOUNGSTER_WARREN, YOUNGSTER, WARREN, YoungsterWarrenSeenText, YoungsterWarrenBeatenText, 0, YoungsterWarrenScript
 
 YoungsterWarrenScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ae051
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerYoungsterJimmy:
@@ -31,11 +31,11 @@
 	trainer EVENT_BEAT_YOUNGSTER_JIMMY, YOUNGSTER, JIMMY, YoungsterJimmySeenText, YoungsterJimmyBeatenText, 0, YoungsterJimmyScript
 
 YoungsterJimmyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ae0a9
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerFirebreatherBurt:
@@ -42,11 +42,11 @@
 	trainer EVENT_BEAT_FIREBREATHER_BURT, FIREBREATHER, BURT, FirebreatherBurtSeenText, FirebreatherBurtBeatenText, 0, FirebreatherBurtScript
 
 FirebreatherBurtScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ae118
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute3Signpost0Script:
--- a/maps/Route30.asm
+++ b/maps/Route30.asm
@@ -6,20 +6,20 @@
 	db 0
 
 YoungsterScript_0x1a1673:
-	waitbutton
+	waitsfx
 	playmusic MUSIC_JOHTO_TRAINER_BATTLE
 	loadfont
 	writetext UnknownText_0x1a1806
 	pause 30
-	loadmovesprites
+	closetext
 	playsound SFX_TACKLE
 	applymovement $8, MovementData_0x1a17fe
 	loadfont
 	faceplayer
 	writetext UnknownText_0x1a181c
-	closetext
+	waitbutton
 	spriteface $2, UP
-	loadmovesprites
+	closetext
 	playsound SFX_TACKLE
 	applymovement $7, MovementData_0x1a1802
 	special RestartMapMusic
@@ -30,7 +30,7 @@
 
 YoungsterJoey1Script:
 	writecode VAR_CALLERID, PHONE_YOUNGSTER_JOEY
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_JOEY
 	iftrue UnknownScript_0x1a16e0
@@ -76,7 +76,7 @@
 	checkflag ENGINE_FLYPOINT_GOLDENROD
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer YOUNGSTER, JOEY1
+	scriptedtrainerdata YOUNGSTER, JOEY1
 	startbattle
 	returnafterbattle
 	loadvar wJoeyFightCount, 1
@@ -84,7 +84,7 @@
 	end
 
 .LoadFight1
-	loadtrainer YOUNGSTER, JOEY2
+	scriptedtrainerdata YOUNGSTER, JOEY2
 	startbattle
 	returnafterbattle
 	loadvar wJoeyFightCount, 2
@@ -92,7 +92,7 @@
 	end
 
 .LoadFight2
-	loadtrainer YOUNGSTER, JOEY3
+	scriptedtrainerdata YOUNGSTER, JOEY3
 	startbattle
 	returnafterbattle
 	loadvar wJoeyFightCount, 3
@@ -100,7 +100,7 @@
 	end
 
 .LoadFight3
-	loadtrainer YOUNGSTER, JOEY4
+	scriptedtrainerdata YOUNGSTER, JOEY4
 	startbattle
 	returnafterbattle
 	loadvar wJoeyFightCount, 4
@@ -108,7 +108,7 @@
 	end
 
 .LoadFight4
-	loadtrainer YOUNGSTER, JOEY5
+	scriptedtrainerdata YOUNGSTER, JOEY5
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_JOEY
@@ -128,7 +128,7 @@
 UnknownScript_0x1a176f:
 	loadfont
 	writetext UnknownText_0x1a1bc0
-	closetext
+	waitbutton
 	verbosegiveitem HP_UP
 	iffalse UnknownScript_0x1a179f
 	clearevent EVENT_JOEY_HP_UP
@@ -176,11 +176,11 @@
 	trainer EVENT_BEAT_YOUNGSTER_MIKEY, YOUNGSTER, MIKEY, YoungsterMikeySeenText, YoungsterMikeyBeatenText, 0, YoungsterMikeyScript
 
 YoungsterMikeyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a197d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBug_catcherDon:
@@ -187,11 +187,11 @@
 	trainer EVENT_BEAT_BUG_CATCHER_DON, BUG_CATCHER, DON, Bug_catcherDonSeenText, Bug_catcherDonBeatenText, 0, Bug_catcherDonScript
 
 Bug_catcherDonScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a1a1c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x1a17d2:
@@ -200,14 +200,14 @@
 	checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
 	iftrue UnknownScript_0x1a17e0
 	writetext UnknownText_0x1a1a6a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1a17e0:
 	writetext UnknownText_0x1a1a94
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CooltrainerFScript_0x1a17e6:
--- a/maps/Route30BerrySpeechHouse.asm
+++ b/maps/Route30BerrySpeechHouse.asm
@@ -17,9 +17,9 @@
 	setevent EVENT_GOT_BERRY_FROM_ROUTE_30_HOUSE
 UnknownScript_0x196d79:
 	writetext UnknownText_0x196dec
-	closetext
+	waitbutton
 UnknownScript_0x196d7d:
-	loadmovesprites
+	closetext
 	end
 
 Route30BerrySpeechHouseBookshelf:
--- a/maps/Route31.asm
+++ b/maps/Route31.asm
@@ -23,7 +23,7 @@
 
 Bug_catcherWade1Script:
 	writecode VAR_CALLERID, PHONE_BUG_CATCHER_WADE
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_WADE
 	iftrue .WadeRematch
@@ -34,7 +34,7 @@
 	checkevent EVENT_WADE_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskAgain
 	writetext UnknownText_0x1a5671
-	closetext
+	waitbutton
 	setevent EVENT_WADE_ASKED_FOR_PHONE_NUMBER
 	scall .AskPhoneNumberSTD
 	jump .Continue
@@ -71,7 +71,7 @@
 	checkflag ENGINE_FLYPOINT_GOLDENROD
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer BUG_CATCHER, WADE1
+	scriptedtrainerdata BUG_CATCHER, WADE1
 	startbattle
 	returnafterbattle
 	loadvar wWadeFightCount, 1
@@ -79,7 +79,7 @@
 	end
 
 .LoadFight1
-	loadtrainer BUG_CATCHER, WADE2
+	scriptedtrainerdata BUG_CATCHER, WADE2
 	startbattle
 	returnafterbattle
 	loadvar wWadeFightCount, 2
@@ -87,7 +87,7 @@
 	end
 
 .LoadFight2
-	loadtrainer BUG_CATCHER, WADE3
+	scriptedtrainerdata BUG_CATCHER, WADE3
 	startbattle
 	returnafterbattle
 	loadvar wWadeFightCount, 3
@@ -95,7 +95,7 @@
 	end
 
 .LoadFight3
-	loadtrainer BUG_CATCHER, WADE4
+	scriptedtrainerdata BUG_CATCHER, WADE4
 	startbattle
 	returnafterbattle
 	loadvar wWadeFightCount, 4
@@ -103,7 +103,7 @@
 	end
 
 .LoadFight4
-	loadtrainer BUG_CATCHER, WADE5
+	scriptedtrainerdata BUG_CATCHER, WADE5
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_WADE
@@ -184,8 +184,8 @@
 	checkevent EVENT_GOT_KENYA
 	iftrue .TryGiveKenya
 	writetext UnknownText_0x1a56d9
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .TryGiveKenya:
@@ -206,33 +206,33 @@
 	setevent EVENT_GOT_TM50_NIGHTMARE
 .DescribeNightmare:
 	writetext UnknownText_0x1a5896
-	closetext
+	waitbutton
 .NoRoomForItems:
-	loadmovesprites
+	closetext
 	end
 
 .WrongMail:
 	writetext UnknownText_0x1a5921
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .NoMail:
 	writetext UnknownText_0x1a5939
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .Refused:
 	writetext UnknownText_0x1a5972
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .LastMon:
 	writetext UnknownText_0x1a5991
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ReceivedSpearowMailText:
--- a/maps/Route32.asm
+++ b/maps/Route32.asm
@@ -44,14 +44,14 @@
 	checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE
 	iftrue UnknownScript_0x19048f
 	writetext UnknownText_0x1907ab
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x190489:
 	writetext UnknownText_0x190820
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19048f:
@@ -64,15 +64,15 @@
 
 UnknownScript_0x19049f:
 	writetext UnknownText_0x1908b0
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1904a5:
 	writetext UnknownText_0x190a15
-	closetext
+	waitbutton
 UnknownScript_0x1904a9:
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x1904ab:
@@ -80,8 +80,8 @@
 	spriteface PLAYER, RIGHT
 	loadfont
 	writetext UnknownText_0x190790
+	waitbutton
 	closetext
-	loadmovesprites
 	follow PLAYER, $9
 	applymovement PLAYER, MovementData_0x190789
 	stopfollow
@@ -103,9 +103,9 @@
 	setevent EVENT_GOT_TM05_ROAR
 UnknownScript_0x1904e3:
 	writetext UnknownText_0x19118c
-	closetext
+	waitbutton
 UnknownScript_0x1904e7:
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x1904e9:
@@ -122,14 +122,14 @@
 	yesorno
 	iffalse UnknownScript_0x190503
 	writetext UnknownText_0x190acf
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x190503:
 	writetext UnknownText_0x190afc
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCamperRoland:
@@ -136,11 +136,11 @@
 	trainer EVENT_BEAT_CAMPER_ROLAND, CAMPER, ROLAND, CamperRolandSeenText, CamperRolandBeatenText, 0, CamperRolandScript
 
 CamperRolandScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x190faa
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerFisherJustin:
@@ -147,11 +147,11 @@
 	trainer EVENT_BEAT_FISHER_JUSTIN, FISHER, JUSTIN, FisherJustinSeenText, FisherJustinBeatenText, 0, FisherJustinScript
 
 FisherJustinScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x190b4e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerFisherRalph1:
@@ -159,7 +159,7 @@
 
 FisherRalph1Script:
 	writecode VAR_CALLERID, PHONE_FISHER_RALPH
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_RALPH
 	iftrue UnknownScript_0x19057d
@@ -207,7 +207,7 @@
 	checkflag ENGINE_FLYPOINT_ECRUTEAK
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer FISHER, RALPH1
+	scriptedtrainerdata FISHER, RALPH1
 	startbattle
 	returnafterbattle
 	loadvar wRalphFightCount, 1
@@ -215,7 +215,7 @@
 	end
 
 .LoadFight1
-	loadtrainer FISHER, RALPH2
+	scriptedtrainerdata FISHER, RALPH2
 	startbattle
 	returnafterbattle
 	loadvar wRalphFightCount, 2
@@ -223,7 +223,7 @@
 	end
 
 .LoadFight2
-	loadtrainer FISHER, RALPH3
+	scriptedtrainerdata FISHER, RALPH3
 	startbattle
 	returnafterbattle
 	loadvar wRalphFightCount, 3
@@ -231,7 +231,7 @@
 	end
 
 .LoadFight3
-	loadtrainer FISHER, RALPH4
+	scriptedtrainerdata FISHER, RALPH4
 	startbattle
 	returnafterbattle
 	loadvar wRalphFightCount, 4
@@ -239,7 +239,7 @@
 	end
 
 .LoadFight4
-	loadtrainer FISHER, RALPH5
+	scriptedtrainerdata FISHER, RALPH5
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_RALPH
@@ -247,8 +247,8 @@
 
 UnknownScript_0x1905f1:
 	writetext UnknownText_0x190c37
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1905f7:
@@ -283,11 +283,11 @@
 	trainer EVENT_BEAT_FISHER_HENRY, FISHER, HENRY, FisherHenrySeenText, FisherHenryBeatenText, 0, FisherHenryScript
 
 FisherHenryScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x190df2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPicnickerLiz1:
@@ -295,7 +295,7 @@
 
 PicnickerLiz1Script:
 	writecode VAR_CALLERID, PHONE_PICNICKER_LIZ
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_LIZ
 	iftrue UnknownScript_0x19066d
@@ -341,7 +341,7 @@
 	checkflag ENGINE_FLYPOINT_ECRUTEAK
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer PICNICKER, LIZ1
+	scriptedtrainerdata PICNICKER, LIZ1
 	startbattle
 	returnafterbattle
 	loadvar wLizFightCount, 1
@@ -349,7 +349,7 @@
 	end
 
 .LoadFight1
-	loadtrainer PICNICKER, LIZ2
+	scriptedtrainerdata PICNICKER, LIZ2
 	startbattle
 	returnafterbattle
 	loadvar wLizFightCount, 2
@@ -357,7 +357,7 @@
 	end
 
 .LoadFight2
-	loadtrainer PICNICKER, LIZ3
+	scriptedtrainerdata PICNICKER, LIZ3
 	startbattle
 	returnafterbattle
 	loadvar wLizFightCount, 3
@@ -365,7 +365,7 @@
 	end
 
 .LoadFight3
-	loadtrainer PICNICKER, LIZ4
+	scriptedtrainerdata PICNICKER, LIZ4
 	startbattle
 	returnafterbattle
 	loadvar wLizFightCount, 4
@@ -373,7 +373,7 @@
 	end
 
 .LoadFight4
-	loadtrainer PICNICKER, LIZ5
+	scriptedtrainerdata PICNICKER, LIZ5
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_LIZ
@@ -411,11 +411,11 @@
 	trainer EVENT_BEAT_YOUNGSTER_ALBERT, YOUNGSTER, ALBERT, YoungsterAlbertSeenText, YoungsterAlbertBeatenText, 0, YoungsterAlbertScript
 
 YoungsterAlbertScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x190e82
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerYoungsterGordon:
@@ -422,11 +422,11 @@
 	trainer EVENT_BEAT_YOUNGSTER_GORDON, YOUNGSTER, GORDON, YoungsterGordonSeenText, YoungsterGordonBeatenText, 0, YoungsterGordonScript
 
 YoungsterGordonScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x190f49
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBird_keeperPeter:
@@ -433,11 +433,11 @@
 	trainer EVENT_BEAT_BIRD_KEEPER_PETER, BIRD_KEEPER, PETER, Bird_keeperPeterSeenText, Bird_keeperPeterBeatenText, 0, Bird_keeperPeterScript
 
 Bird_keeperPeterScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1910d4
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 FriedaScript:
@@ -459,21 +459,21 @@
 	iffalse FriedaDoneScript
 	setevent EVENT_GOT_POISON_BARB_FROM_FRIEDA
 	writetext FriedaGaveGiftText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 FriedaFridayScript:
 	writetext FriedaFridayText
-	closetext
+	waitbutton
 FriedaDoneScript:
-	loadmovesprites
+	closetext
 	end
 
 FriedaNotFridayScript:
 	writetext FriedaNotFridayText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ItemFragment_0x190773:
--- a/maps/Route32PokeCenter1F.asm
+++ b/maps/Route32PokeCenter1F.asm
@@ -20,21 +20,21 @@
 	keeptextopen
 	verbosegiveitem OLD_ROD
 	writetext UnknownText_0x69c1b
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_GOT_OLD_ROD
 	end
 
 UnknownScript_0x69b74:
 	writetext UnknownText_0x69c6c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x69b7a:
 	writetext UnknownText_0x69c8d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CooltrainerFScript_0x69b80:
--- a/maps/Route33.asm
+++ b/maps/Route33.asm
@@ -13,7 +13,7 @@
 
 HikerAnthony2Script:
 	writecode VAR_CALLERID, PHONE_HIKER_ANTHONY
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_ANTHONY
 	iftrue UnknownScript_0x1ac051
@@ -61,7 +61,7 @@
 	checkflag ENGINE_FLYPOINT_OLIVINE
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer HIKER, ANTHONY2
+	scriptedtrainerdata HIKER, ANTHONY2
 	startbattle
 	returnafterbattle
 	loadvar wAnthonyFightCount, 1
@@ -69,7 +69,7 @@
 	end
 
 .LoadFight1
-	loadtrainer HIKER, ANTHONY1
+	scriptedtrainerdata HIKER, ANTHONY1
 	startbattle
 	returnafterbattle
 	loadvar wAnthonyFightCount, 2
@@ -77,7 +77,7 @@
 	end
 
 .LoadFight2
-	loadtrainer HIKER, ANTHONY3
+	scriptedtrainerdata HIKER, ANTHONY3
 	startbattle
 	returnafterbattle
 	loadvar wAnthonyFightCount, 3
@@ -85,7 +85,7 @@
 	end
 
 .LoadFight3
-	loadtrainer HIKER, ANTHONY4
+	scriptedtrainerdata HIKER, ANTHONY4
 	startbattle
 	returnafterbattle
 	loadvar wAnthonyFightCount, 4
@@ -93,7 +93,7 @@
 	end
 
 .LoadFight4
-	loadtrainer HIKER, ANTHONY5
+	scriptedtrainerdata HIKER, ANTHONY5
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_ANTHONY
@@ -101,8 +101,8 @@
 
 UnknownScript_0x1ac0c5:
 	writetext UnknownText_0x1ac180
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1ac0cb:
--- a/maps/Route34.asm
+++ b/maps/Route34.asm
@@ -45,8 +45,8 @@
 	faceplayer
 	loadfont
 	special Special_DayCareManOutside
+	waitbutton
 	closetext
-	loadmovesprites
 	if_equal $1, UnknownScript_0x7805a
 	clearflag ENGINE_DAYCARE_MONS_ARE_COMPATIBLE
 	checkcode VAR_FACING
@@ -66,13 +66,13 @@
 DaycareMon1Script_0x78065:
 	loadfont
 	special Special_DayCareMon1
-	loadmovesprites
+	closetext
 	end
 
 DaycareMon2Script_0x7806b:
 	loadfont
 	special Special_DayCareMon2
-	loadmovesprites
+	closetext
 	end
 
 TrainerCamperTodd1:
@@ -80,7 +80,7 @@
 
 CamperTodd1Script:
 	writecode VAR_CALLERID, PHONE_CAMPER_TODD
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_TODD
 	iftrue UnknownScript_0x780bd
@@ -128,7 +128,7 @@
 	checkflag ENGINE_FLYPOINT_CIANWOOD
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer CAMPER, TODD1
+	scriptedtrainerdata CAMPER, TODD1
 	startbattle
 	returnafterbattle
 	loadvar wToddFightCount, 1
@@ -136,7 +136,7 @@
 	end
 
 .LoadFight1
-	loadtrainer CAMPER, TODD2
+	scriptedtrainerdata CAMPER, TODD2
 	startbattle
 	returnafterbattle
 	loadvar wToddFightCount, 2
@@ -144,7 +144,7 @@
 	end
 
 .LoadFight2
-	loadtrainer CAMPER, TODD3
+	scriptedtrainerdata CAMPER, TODD3
 	startbattle
 	returnafterbattle
 	loadvar wToddFightCount, 3
@@ -152,7 +152,7 @@
 	end
 
 .LoadFight3
-	loadtrainer CAMPER, TODD4
+	scriptedtrainerdata CAMPER, TODD4
 	startbattle
 	returnafterbattle
 	loadvar wToddFightCount, 4
@@ -160,7 +160,7 @@
 	end
 
 .LoadFight4
-	loadtrainer CAMPER, TODD5
+	scriptedtrainerdata CAMPER, TODD5
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_TODD
@@ -168,8 +168,8 @@
 
 UnknownScript_0x78131:
 	writetext UnknownText_0x78532
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x78137:
@@ -205,7 +205,7 @@
 
 PicnickerGina1Script:
 	writecode VAR_CALLERID, PHONE_PICNICKER_GINA
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_GINA
 	iftrue UnknownScript_0x7819f
@@ -253,7 +253,7 @@
 	checkflag ENGINE_FLYPOINT_MAHOGANY
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer PICNICKER, GINA1
+	scriptedtrainerdata PICNICKER, GINA1
 	startbattle
 	returnafterbattle
 	loadvar wGinaFightCount, 1
@@ -261,7 +261,7 @@
 	end
 
 .LoadFight1
-	loadtrainer PICNICKER, GINA2
+	scriptedtrainerdata PICNICKER, GINA2
 	startbattle
 	returnafterbattle
 	loadvar wGinaFightCount, 2
@@ -269,7 +269,7 @@
 	end
 
 .LoadFight2
-	loadtrainer PICNICKER, GINA3
+	scriptedtrainerdata PICNICKER, GINA3
 	startbattle
 	returnafterbattle
 	loadvar wGinaFightCount, 3
@@ -277,7 +277,7 @@
 	end
 
 .LoadFight3
-	loadtrainer PICNICKER, GINA4
+	scriptedtrainerdata PICNICKER, GINA4
 	startbattle
 	returnafterbattle
 	loadvar wGinaFightCount, 4
@@ -285,7 +285,7 @@
 	end
 
 .LoadFight4
-	loadtrainer PICNICKER, GINA5
+	scriptedtrainerdata PICNICKER, GINA5
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_GINA
@@ -347,26 +347,26 @@
 	iftrue UnknownScript_0x78270
 	playmusic MUSIC_OFFICER_ENCOUNTER
 	writetext UnknownText_0x785e4
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x78609, 0
-	loadtrainer OFFICER, KEITH
+	scriptedtrainerdata OFFICER, KEITH
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_OFFICER_KEITH
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x78270:
 	writetext UnknownText_0x78624
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x78276:
 	writetext UnknownText_0x7866a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerYoungsterSamuel:
@@ -373,11 +373,11 @@
 	trainer EVENT_BEAT_YOUNGSTER_SAMUEL, YOUNGSTER, SAMUEL, YoungsterSamuelSeenText, YoungsterSamuelBeatenText, 0, YoungsterSamuelScript
 
 YoungsterSamuelScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x783d8
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerYoungsterIan:
@@ -384,11 +384,11 @@
 	trainer EVENT_BEAT_YOUNGSTER_IAN, YOUNGSTER, IAN, YoungsterIanSeenText, YoungsterIanBeatenText, 0, YoungsterIanScript
 
 YoungsterIanScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x78469
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPokefanmBrandon:
@@ -395,11 +395,11 @@
 	trainer EVENT_BEAT_POKEFANM_BRANDON, POKEFANM, BRANDON, PokefanmBrandonSeenText, PokefanmBrandonBeatenText, 0, PokefanmBrandonScript
 
 PokefanmBrandonScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x786fc
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCooltrainerfIrene:
@@ -406,19 +406,19 @@
 	trainer EVENT_BEAT_COOLTRAINERF_IRENE, COOLTRAINERF, IRENE, CooltrainerfIreneSeenText, CooltrainerfIreneBeatenText, 0, CooltrainerfIreneScript
 
 CooltrainerfIreneScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkevent EVENT_GOT_SOFT_SAND_FROM_KATE
 	iftrue UnknownScript_0x782d2
 	writetext UnknownText_0x7877f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x782d2:
 	writetext UnknownText_0x787ad
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCooltrainerfJenn:
@@ -425,19 +425,19 @@
 	trainer EVENT_BEAT_COOLTRAINERF_JENN, COOLTRAINERF, JENN, CooltrainerfJennSeenText, CooltrainerfJennBeatenText, 0, CooltrainerfJennScript
 
 CooltrainerfJennScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkevent EVENT_GOT_SOFT_SAND_FROM_KATE
 	iftrue UnknownScript_0x782f2
 	writetext UnknownText_0x78836
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x782f2:
 	writetext UnknownText_0x78866
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCooltrainerfKate:
@@ -444,7 +444,7 @@
 	trainer EVENT_BEAT_COOLTRAINERF_KATE, COOLTRAINERF, KATE, CooltrainerfKateSeenText, CooltrainerfKateBeatenText, 0, CooltrainerfKateScript
 
 CooltrainerfKateScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkevent EVENT_GOT_SOFT_SAND_FROM_KATE
 	iftrue UnknownScript_0x78319
@@ -455,9 +455,9 @@
 	setevent EVENT_GOT_SOFT_SAND_FROM_KATE
 UnknownScript_0x78319:
 	writetext UnknownText_0x7892b
-	closetext
+	waitbutton
 UnknownScript_0x7831d:
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x7831f:
--- a/maps/Route34IlexForestGate.asm
+++ b/maps/Route34IlexForestGate.asm
@@ -33,8 +33,8 @@
 	spriteface PLAYER, DOWN
 	loadfont
 	writetext UnknownText_0x62e41
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $5, MovementData_0x62d9a
 UnknownScript_0x62d62:
 	end
@@ -53,15 +53,15 @@
 	setevent EVENT_GOT_TM12_SWEET_SCENT
 UnknownScript_0x62d7e:
 	writetext UnknownText_0x62df6
-	closetext
+	waitbutton
 UnknownScript_0x62d82:
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x62d84:
 	writetext UnknownText_0x62e41
 	keeptextopen
-	loadmovesprites
+	closetext
 	end
 
 ButterfreeScript_0x62d8a:
@@ -68,8 +68,8 @@
 	loadfont
 	writetext UnknownText_0x62e83
 	cry BUTTERFREE
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 LassScript_0x62d94:
--- a/maps/Route35.asm
+++ b/maps/Route35.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_BIRD_KEEPER_BRYAN, BIRD_KEEPER, BRYAN, Bird_keeperBryanSeenText, Bird_keeperBryanBeatenText, 0, Bird_keeperBryanScript
 
 Bird_keeperBryanScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19cc87
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerJugglerIrwin:
@@ -21,7 +21,7 @@
 
 JugglerIrwin1Script:
 	writecode VAR_CALLERID, PHONE_JUGGLER_IRWIN
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkcellnum PHONE_JUGGLER_IRWIN
 	iftrue UnknownScript_0x19c90f
@@ -75,11 +75,11 @@
 	trainer EVENT_BEAT_CAMPER_IVAN, CAMPER, IVAN, CamperIvanSeenText, CamperIvanBeatenText, 0, CamperIvanScript
 
 CamperIvanScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19cac4
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCamperElliot:
@@ -86,11 +86,11 @@
 	trainer EVENT_BEAT_CAMPER_ELLIOT, CAMPER, ELLIOT, CamperElliotSeenText, CamperElliotBeatenText, 0, CamperElliotScript
 
 CamperElliotScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19cb47
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPicnickerBrooke:
@@ -97,11 +97,11 @@
 	trainer EVENT_BEAT_PICNICKER_BROOKE, PICNICKER, BROOKE, PicnickerBrookeSeenText, PicnickerBrookeBeatenText, 0, PicnickerBrookeScript
 
 PicnickerBrookeScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19cbba
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPicnickerKim:
@@ -108,11 +108,11 @@
 	trainer EVENT_BEAT_PICNICKER_KIM, PICNICKER, KIM, PicnickerKimSeenText, PicnickerKimBeatenText, 0, PicnickerKimScript
 
 PicnickerKimScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19cc21
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBug_catcherArnie1:
@@ -120,7 +120,7 @@
 
 Bug_catcherArnie1Script:
 	writecode VAR_CALLERID, PHONE_BUG_CATCHER_ARNIE
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_ARNIE
 	iftrue UnknownScript_0x19c9bb
@@ -168,7 +168,7 @@
 	checkflag ENGINE_FLYPOINT_LAKE_OF_RAGE
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer BUG_CATCHER, ARNIE1
+	scriptedtrainerdata BUG_CATCHER, ARNIE1
 	startbattle
 	returnafterbattle
 	loadvar wArnieFightCount, 1
@@ -176,7 +176,7 @@
 	end
 
 .LoadFight1
-	loadtrainer BUG_CATCHER, ARNIE2
+	scriptedtrainerdata BUG_CATCHER, ARNIE2
 	startbattle
 	returnafterbattle
 	loadvar wArnieFightCount, 2
@@ -184,7 +184,7 @@
 	end
 
 .LoadFight2
-	loadtrainer BUG_CATCHER, ARNIE3
+	scriptedtrainerdata BUG_CATCHER, ARNIE3
 	startbattle
 	returnafterbattle
 	loadvar wArnieFightCount, 3
@@ -192,7 +192,7 @@
 	end
 
 .LoadFight3
-	loadtrainer BUG_CATCHER, ARNIE4
+	scriptedtrainerdata BUG_CATCHER, ARNIE4
 	startbattle
 	returnafterbattle
 	loadvar wArnieFightCount, 4
@@ -200,7 +200,7 @@
 	end
 
 .LoadFight4
-	loadtrainer BUG_CATCHER, ARNIE5
+	scriptedtrainerdata BUG_CATCHER, ARNIE5
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_ARNIE
@@ -208,8 +208,8 @@
 
 UnknownScript_0x19ca2f:
 	writetext UnknownText_0x19ce38
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerFirebreatherWalt:
@@ -216,11 +216,11 @@
 	trainer EVENT_BEAT_FIREBREATHER_WALT, FIREBREATHER, WALT, FirebreatherWaltSeenText, FirebreatherWaltBeatenText, 0, FirebreatherWaltScript
 
 FirebreatherWaltScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19cebc
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 OfficerScript_0x19ca49:
@@ -232,26 +232,26 @@
 	iftrue UnknownScript_0x19ca6d
 	playmusic MUSIC_OFFICER_ENCOUNTER
 	writetext UnknownText_0x19ceea
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x19cf06, 0
-	loadtrainer OFFICER, DIRK
+	scriptedtrainerdata OFFICER, DIRK
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_OFFICER_DIRK
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x19ca6d:
 	writetext UnknownText_0x19cf0f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19ca73:
 	writetext UnknownText_0x19cf56
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute35Signpost1Script:
--- a/maps/Route35Goldenrodgate.asm
+++ b/maps/Route35Goldenrodgate.asm
@@ -19,31 +19,31 @@
 	iffalse .refused
 	writetext UnknownText_0x69e48
 	keeptextopen
-	waitbutton
+	waitsfx
 	checkcode VAR_PARTYCOUNT
 	if_equal PARTY_LENGTH, .partyfull
 	writetext UnknownText_0x69eb8
 	playsound SFX_KEY_ITEM
-	waitbutton
+	waitsfx
 	givepoke SPEAROW, 10, NO_ITEM, 1, GiftSpearowName, GiftSpearowOTName
 	givepokeitem GiftSpearowMail
 	setevent EVENT_GOT_KENYA
 .alreadyhavekenya:
 	writetext UnknownText_0x69ed6
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .partyfull:
 	writetext UnknownText_0x69f56
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .refused:
 	writetext UnknownText_0x69f74
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .questcomplete:
@@ -54,9 +54,9 @@
 	setevent EVENT_GOT_HP_UP_FROM_RANDY
 .gothpup:
 	writetext UnknownText_0x69fd9
-	closetext
+	waitbutton
 .bagfull:
-	loadmovesprites
+	closetext
 	end
 
 GiftSpearowMail:
@@ -76,14 +76,14 @@
 	checkevent EVENT_FOUGHT_SUDOWOODO
 	iftrue .aftersudowoodo
 	writetext UnknownText_0x6a00a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .aftersudowoodo:
 	writetext UnknownText_0x6a09a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 FisherScript_0x69dda:
--- a/maps/Route35NationalParkgate.asm
+++ b/maps/Route35NationalParkgate.asm
@@ -65,18 +65,18 @@
 	yesorno
 	iffalse Route35NationalParkgate_GoBackIn
 	writetext UnknownText_0x6a7db
+	waitbutton
 	closetext
-	loadmovesprites
 	jumpstd bugcontestresultswarp
 
 Route35NationalParkgate_GoBackIn:
 	writetext UnknownText_0x6a823
+	waitbutton
 	closetext
-	loadmovesprites
 	scall Route35NationalParkgate_EnterContest
 	playsound SFX_ENTER_DOOR
 	special RotatePalettesRightPalettes
-	waitbutton
+	waitsfx
 	warpfacing UP, NATIONAL_PARK_BUG_CONTEST, $a, $2f
 	end
 
@@ -105,15 +105,15 @@
 	keeptextopen
 	writetext UnknownText_0x6a3c7
 	playsound SFX_ITEM
-	waitbutton
+	waitsfx
 	writetext UnknownText_0x6a3e2
+	waitbutton
 	closetext
-	loadmovesprites
 	special Special_GiveParkBalls
 	scall Route35NationalParkgate_EnterContest
 	playsound SFX_ENTER_DOOR
 	special RotatePalettesRightPalettes
-	waitbutton
+	waitsfx
 	special Special_SelectRandomBugContestContestants
 	warpfacing UP, NATIONAL_PARK_BUG_CONTEST, $a, $2f
 	end
@@ -147,44 +147,44 @@
 	keeptextopen
 	writetext UnknownText_0x6a56b
 	playsound SFX_GOT_SAFARI_BALLS
-	waitbutton
+	waitsfx
 	keeptextopen
 	jump Route35NationalParkgate_OkayToProceed
 
 Route35NationalParkgate_DeclinedToParticipate:
 	writetext UnknownText_0x6a5dc
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 Route35NationalParkgate_DeclinedToLeaveMonsBehind:
 	writetext UnknownText_0x6a597
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 Route35NationalParkgate_FirstMonIsFainted:
 	writetext UnknownText_0x6a608
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 Route35NationalParkgate_NoRoomInBox:
 	writetext UnknownText_0x6a67c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 Route35NationalParkgate_FirstMonIsEgg:
 	writetext UnknownText_0x6a71f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 Route35NationalParkgate_ContestIsOver:
 	writetext UnknownText_0x6a84f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 Route35NationalParkgate_NoContestToday:
@@ -196,8 +196,8 @@
 	checkflag ENGINE_DAILY_BUG_CONTEST
 	iftrue Route35NationalParkgate_ContestIsOver
 	writetext UnknownText_0x6a894
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x6a2d8:
--- a/maps/Route36.asm
+++ b/maps/Route36.asm
@@ -46,7 +46,7 @@
 WeirdTreeScript_0x19403c:
 	checkitem SQUIRTBOTTLE
 	iftrue UnknownScript_0x19404a
-	waitbutton
+	waitsfx
 	playsound SFX_SANDSTORM
 	applymovement $4, MovementData_0x194249
 	end
@@ -56,22 +56,22 @@
 	writetext UnknownText_0x19426b
 	yesorno
 	iffalse UnknownScript_0x194079
-	loadmovesprites
+	closetext
 	; fallthrough
 
 WateredWeirdTreeScript::
 	loadfont
 	writetext UnknownText_0x194290
-	closetext
-	loadmovesprites
 	waitbutton
+	closetext
+	waitsfx
 	playsound SFX_SANDSTORM
 	applymovement $4, MovementData_0x194249
 	loadfont
 	writetext UnknownText_0x1942aa
+	waitbutton
 	closetext
-	loadmovesprites
-	loadpokedata SUDOWOODO, 20
+	scriptedpokedata SUDOWOODO, 20
 	startbattle
 	setevent EVENT_FOUGHT_SUDOWOODO
 	if_equal $2, UnknownScript_0x19407b
@@ -81,7 +81,7 @@
 	end
 
 UnknownScript_0x194079:
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x19407b:
@@ -100,8 +100,8 @@
 	iftrue UnknownScript_0x1940b3
 	setevent EVENT_MET_FLORIA
 	writetext UnknownText_0x1942f1
+	waitbutton
 	closetext
-	loadmovesprites
 	clearevent EVENT_FLORIA_AT_FLOWER_SHOP
 	checkcode VAR_FACING
 	if_equal $1, UnknownScript_0x1940ac
@@ -116,8 +116,8 @@
 
 UnknownScript_0x1940b3:
 	writetext UnknownText_0x1943ed
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 FisherScript_0x1940b9:
@@ -128,8 +128,8 @@
 	checkevent EVENT_FOUGHT_SUDOWOODO
 	iftrue UnknownScript_0x1940cd
 	writetext UnknownText_0x19446f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1940cd:
@@ -140,9 +140,9 @@
 	setevent EVENT_GOT_TM08_ROCK_SMASH
 UnknownScript_0x1940da:
 	writetext UnknownText_0x19452c
-	closetext
+	waitbutton
 UnknownScript_0x1940de:
-	loadmovesprites
+	closetext
 	end
 
 LassScript_0x1940e0:
@@ -151,14 +151,14 @@
 	checkevent EVENT_FOUGHT_SUDOWOODO
 	iftrue UnknownScript_0x1940ee
 	writetext UnknownText_0x194626
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1940ee:
 	writetext UnknownText_0x19469e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSchoolboyAlan1:
@@ -166,7 +166,7 @@
 
 SchoolboyAlan1Script:
 	writecode VAR_CALLERID, PHONE_SCHOOLBOY_ALAN
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_ALAN
 	iftrue UnknownScript_0x194140
@@ -214,7 +214,7 @@
 	checkflag ENGINE_FLYPOINT_OLIVINE
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer SCHOOLBOY, ALAN1
+	scriptedtrainerdata SCHOOLBOY, ALAN1
 	startbattle
 	returnafterbattle
 	loadvar wAlanFightCount, 1
@@ -222,7 +222,7 @@
 	end
 
 .LoadFight1
-	loadtrainer SCHOOLBOY, ALAN2
+	scriptedtrainerdata SCHOOLBOY, ALAN2
 	startbattle
 	returnafterbattle
 	loadvar wAlanFightCount, 2
@@ -230,7 +230,7 @@
 	end
 
 .LoadFight2
-	loadtrainer SCHOOLBOY, ALAN3
+	scriptedtrainerdata SCHOOLBOY, ALAN3
 	startbattle
 	returnafterbattle
 	loadvar wAlanFightCount, 3
@@ -238,7 +238,7 @@
 	end
 
 .LoadFight3
-	loadtrainer SCHOOLBOY, ALAN4
+	scriptedtrainerdata SCHOOLBOY, ALAN4
 	startbattle
 	returnafterbattle
 	loadvar wAlanFightCount, 4
@@ -246,7 +246,7 @@
 	end
 
 .LoadFight4
-	loadtrainer SCHOOLBOY, ALAN5
+	scriptedtrainerdata SCHOOLBOY, ALAN5
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_ALAN
@@ -303,11 +303,11 @@
 	trainer EVENT_BEAT_PSYCHIC_MARK, PSYCHIC_T, MARK, PsychicMarkSeenText, PsychicMarkBeatenText, 0, PsychicMarkScript
 
 PsychicMarkScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19471e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ArthurScript:
@@ -329,21 +329,21 @@
 	iffalse ArthurDoneScript
 	setevent EVENT_GOT_HARD_STONE_FROM_ARTHUR
 	writetext ArthurGaveGiftText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ArthurThursdayScript:
 	writetext ArthurThursdayText
-	closetext
+	waitbutton
 ArthurDoneScript:
-	loadmovesprites
+	closetext
 	end
 
 ArthurNotThursdayScript:
 	writetext ArthurNotThursdayText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute36Signpost2Script:
--- a/maps/Route36NationalParkgate.asm
+++ b/maps/Route36NationalParkgate.asm
@@ -65,8 +65,8 @@
 	yesorno
 	iffalse .GoBackToContest
 	writetext UnknownText_0x6b2c5
+	waitbutton
 	closetext
-	loadmovesprites
 	special Special_FadeBlackQuickly
 	special Special_ReloadSpritesNoPalettes
 	scall .CopyContestants
@@ -79,12 +79,12 @@
 
 .GoBackToContest:
 	writetext UnknownText_0x6b300
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface PLAYER, LEFT
 	playsound SFX_EXIT_BUILDING
 	special RotatePalettesRightPalettes
-	waitbutton
+	waitsfx
 	warpfacing LEFT, NATIONAL_PARK_BUG_CONTEST, $21, $12
 	end
 
@@ -155,19 +155,19 @@
 	special PlayMapMusic
 	writetext UnknownText_0x6ae87
 	keeptextopen
-	waitbutton
+	waitsfx
 	writetext UnknownText_0x6aeb1
 	playsound SFX_ITEM
-	waitbutton
+	waitsfx
 	writetext UnknownText_0x6aecc
+	waitbutton
 	closetext
-	loadmovesprites
 	setflag ENGINE_BUG_CONTEST_TIMER
 	special Special_GiveParkBalls
 	spriteface PLAYER, LEFT
 	playsound SFX_EXIT_BUILDING
 	special RotatePalettesRightPalettes
-	waitbutton
+	waitsfx
 	special Special_SelectRandomBugContestContestants
 	warpfacing LEFT, NATIONAL_PARK_BUG_CONTEST, $21, $12
 	end
@@ -190,38 +190,38 @@
 	keeptextopen
 	writetext UnknownText_0x6b055
 	playsound SFX_GOT_SAFARI_BALLS
-	waitbutton
+	waitsfx
 	keeptextopen
 	jump .ResumeStartingContest
 
 .DecidedNotToJoinContest:
 	writetext UnknownText_0x6b0c6
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .RefusedToLeaveMons:
 	writetext UnknownText_0x6b081
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .FirstMonIsFainted:
 	writetext UnknownText_0x6b0f2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .BoxFull:
 	writetext UnknownText_0x6b166
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .FirstMonIsEgg:
 	writetext UnknownText_0x6b209
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 Route36Officer_ContestHasConcluded:
@@ -234,8 +234,8 @@
 	checkevent EVENT_CONTEST_OFFICER_HAS_BERRY
 	iftrue .Berry
 	writetext UnknownText_0x6b32b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .Sunstone:
@@ -244,7 +244,7 @@
 	verbosegiveitem SUN_STONE
 	iffalse .BagFull
 	clearevent EVENT_CONTEST_OFFICER_HAS_SUN_STONE
-	loadmovesprites
+	closetext
 	end
 
 .Everstone:
@@ -253,7 +253,7 @@
 	verbosegiveitem EVERSTONE
 	iffalse .BagFull
 	clearevent EVENT_CONTEST_OFFICER_HAS_EVERSTONE
-	loadmovesprites
+	closetext
 	end
 
 .GoldBerry:
@@ -262,7 +262,7 @@
 	verbosegiveitem GOLD_BERRY
 	iffalse .BagFull
 	clearevent EVENT_CONTEST_OFFICER_HAS_GOLD_BERRY
-	loadmovesprites
+	closetext
 	end
 
 .Berry:
@@ -271,13 +271,13 @@
 	verbosegiveitem BERRY
 	iffalse .BagFull
 	clearevent EVENT_CONTEST_OFFICER_HAS_BERRY
-	loadmovesprites
+	closetext
 	end
 
 .BagFull:
 	writetext UnknownText_0x6b910
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 _ContestNotOn:
@@ -289,8 +289,8 @@
 	checkflag ENGINE_DAILY_BUG_CONTEST
 	iftrue Route36Officer_ContestHasConcluded
 	writetext UnknownText_0x6b370
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 Route36Parkgate_DayToText:
@@ -303,14 +303,14 @@
 	checkevent EVENT_GAVE_KURT_APRICORNS
 	iffalse UnknownScript_0x6ad14
 	writetext UnknownText_0x6b399
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x6ad14:
 	writetext UnknownText_0x6b3c4
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x6ad1a:
@@ -319,14 +319,14 @@
 	checkevent EVENT_GAVE_KURT_APRICORNS
 	iffalse UnknownScript_0x6ad28
 	writetext UnknownText_0x6b40f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x6ad28:
 	writetext UnknownText_0x6b440
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 RockerScript_0x6ad2e:
@@ -335,14 +335,14 @@
 	checkevent EVENT_GAVE_KURT_APRICORNS
 	iffalse UnknownScript_0x6ad3c
 	writetext UnknownText_0x6b462
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x6ad3c:
 	writetext UnknownText_0x6b496
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 PokefanMScript_0x6ad42:
@@ -351,14 +351,14 @@
 	checkevent EVENT_GAVE_KURT_APRICORNS
 	iffalse UnknownScript_0x6ad50
 	writetext UnknownText_0x6b4da
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x6ad50:
 	writetext UnknownText_0x6b50a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x6ad56:
@@ -367,14 +367,14 @@
 	checkevent EVENT_GAVE_KURT_APRICORNS
 	iffalse UnknownScript_0x6ad64
 	writetext UnknownText_0x6b54e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x6ad64:
 	writetext UnknownText_0x6b57c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x6ad6a:
@@ -383,14 +383,14 @@
 	checkevent EVENT_GAVE_KURT_APRICORNS
 	iffalse UnknownScript_0x6ad78
 	writetext UnknownText_0x6b5b0
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x6ad78:
 	writetext UnknownText_0x6b5dd
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 LassScript_0x6ad7e:
@@ -399,14 +399,14 @@
 	checkevent EVENT_GAVE_KURT_APRICORNS
 	iffalse UnknownScript_0x6ad8c
 	writetext UnknownText_0x6b64b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x6ad8c:
 	writetext UnknownText_0x6b698
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x6ad92:
@@ -415,14 +415,14 @@
 	checkevent EVENT_GAVE_KURT_APRICORNS
 	iffalse UnknownScript_0x6ada0
 	writetext UnknownText_0x6b6b8
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x6ada0:
 	writetext UnknownText_0x6b6e9
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x6ada6:
@@ -431,14 +431,14 @@
 	checkevent EVENT_GAVE_KURT_APRICORNS
 	iffalse UnknownScript_0x6adb4
 	writetext UnknownText_0x6b71b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x6adb4:
 	writetext UnknownText_0x6b740
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x6adba:
@@ -447,14 +447,14 @@
 	checkevent EVENT_GAVE_KURT_APRICORNS
 	iffalse UnknownScript_0x6adc8
 	writetext UnknownText_0x6b76f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x6adc8:
 	writetext UnknownText_0x6b7af
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x6adce:
--- a/maps/Route37.asm
+++ b/maps/Route37.asm
@@ -23,11 +23,11 @@
 	trainer EVENT_BEAT_TWINS_ANN_AND_ANNE, TWINS, ANNANDANNE1, TwinsAnnandanne1SeenText, TwinsAnnandanne1BeatenText, 0, TwinsAnnandanne1Script
 
 TwinsAnnandanne1Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a8e62
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerTwinsAnnandanne2:
@@ -34,11 +34,11 @@
 	trainer EVENT_BEAT_TWINS_ANN_AND_ANNE, TWINS, ANNANDANNE2, TwinsAnnandanne2SeenText, TwinsAnnandanne2BeatenText, 0, TwinsAnnandanne2Script
 
 TwinsAnnandanne2Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a8eec
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPsychicGreg:
@@ -45,11 +45,11 @@
 	trainer EVENT_BEAT_PSYCHIC_GREG, PSYCHIC_T, GREG, PsychicGregSeenText, PsychicGregBeatenText, 0, PsychicGregScript
 
 PsychicGregScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a8f80
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SunnyScript:
@@ -78,21 +78,21 @@
 	iffalse SunnyDoneScript
 	setevent EVENT_GOT_MAGNET_FROM_SUNNY
 	writetext SunnyGaveGiftText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SunnySundayScript:
 	writetext SunnySundayText
-	closetext
+	waitbutton
 SunnyDoneScript:
-	loadmovesprites
+	closetext
 	end
 
 SunnyNotSundayScript:
 	writetext SunnyNotSundayText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute37Signpost0Script:
--- a/maps/Route38.asm
+++ b/maps/Route38.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_BIRD_KEEPER_TOBY, BIRD_KEEPER, TOBY, Bird_keeperTobySeenText, Bird_keeperTobyBeatenText, 0, .script
 
 .script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a1f86
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSailorHarry:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_SAILOR_HARRY, SAILOR, HARRY, SailorHarrySeenText, SailorHarryBeatenText, 0, .script
 
 .script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a220c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerLassDana1:
@@ -32,7 +32,7 @@
 
 .script:
 	writecode VAR_CALLERID, PHONE_LASS_DANA
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_DANA
 	iftrue .DanaRematch
@@ -80,7 +80,7 @@
 	checkflag ENGINE_FLYPOINT_CIANWOOD
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer LASS, DANA1
+	scriptedtrainerdata LASS, DANA1
 	startbattle
 	returnafterbattle
 	loadvar wDanaFightCount, 1
@@ -88,7 +88,7 @@
 	end
 
 .LoadFight1
-	loadtrainer LASS, DANA2
+	scriptedtrainerdata LASS, DANA2
 	startbattle
 	returnafterbattle
 	loadvar wDanaFightCount, 2
@@ -96,7 +96,7 @@
 	end
 
 .LoadFight2
-	loadtrainer LASS, DANA3
+	scriptedtrainerdata LASS, DANA3
 	startbattle
 	returnafterbattle
 	loadvar wDanaFightCount, 3
@@ -104,7 +104,7 @@
 	end
 
 .LoadFight3
-	loadtrainer LASS, DANA4
+	scriptedtrainerdata LASS, DANA4
 	startbattle
 	returnafterbattle
 	loadvar wDanaFightCount, 4
@@ -112,7 +112,7 @@
 	end
 
 .LoadFight4
-	loadtrainer LASS, DANA5
+	scriptedtrainerdata LASS, DANA5
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_DANA
@@ -170,7 +170,7 @@
 
 .script:
 	writecode VAR_CALLERID, PHONE_SCHOOLBOY_CHAD
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_CHAD
 	iftrue .ChadRematch
@@ -216,7 +216,7 @@
 	checkflag ENGINE_FLYPOINT_MAHOGANY
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer SCHOOLBOY, CHAD1
+	scriptedtrainerdata SCHOOLBOY, CHAD1
 	startbattle
 	returnafterbattle
 	loadvar wChadFightCount, 1
@@ -224,7 +224,7 @@
 	end
 
 .LoadFight1
-	loadtrainer SCHOOLBOY, CHAD2
+	scriptedtrainerdata SCHOOLBOY, CHAD2
 	startbattle
 	returnafterbattle
 	loadvar wChadFightCount, 2
@@ -232,7 +232,7 @@
 	end
 
 .LoadFight2
-	loadtrainer SCHOOLBOY, CHAD3
+	scriptedtrainerdata SCHOOLBOY, CHAD3
 	startbattle
 	returnafterbattle
 	loadvar wChadFightCount, 3
@@ -240,7 +240,7 @@
 	end
 
 .LoadFight3
-	loadtrainer SCHOOLBOY, CHAD4
+	scriptedtrainerdata SCHOOLBOY, CHAD4
 	startbattle
 	returnafterbattle
 	loadvar wChadFightCount, 4
@@ -248,7 +248,7 @@
 	end
 
 .LoadFight4
-	loadtrainer SCHOOLBOY, CHAD5
+	scriptedtrainerdata SCHOOLBOY, CHAD5
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_CHAD
@@ -286,11 +286,11 @@
 	trainer EVENT_BEAT_BEAUTY_VALERIE, BEAUTY, VALERIE, BeautyValerieSeenText, BeautyValerieBeatenText, 0, .script
 
 .script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a2185
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBeautyOlivia:
@@ -297,11 +297,11 @@
 	trainer EVENT_BEAT_BEAUTY_OLIVIA, BEAUTY, OLIVIA, BeautyOliviaSeenText, BeautyOliviaBeatenText, 0, .script
 
 .script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a229a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute38Signpost0Script:
--- a/maps/Route39.asm
+++ b/maps/Route39.asm
@@ -9,8 +9,8 @@
 	loadfont
 	writetext UnknownText_0x1a5bf9
 	cry MILTANK
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPokefanmDerek1:
@@ -18,7 +18,7 @@
 
 PokefanmDerek1Script:
 	writecode VAR_CALLERID, PHONE_POKEFANM_DEREK
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_DEREK_HAS_NUGGET
 	iftrue UnknownScript_0x1a5b4a
@@ -56,8 +56,8 @@
 
 UnknownScript_0x1a5b5c:
 	writetext UnknownText_0x1a5dec
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1a5b62:
@@ -96,11 +96,11 @@
 	trainer EVENT_BEAT_POKEFANF_RUTH, POKEFANF, RUTH, PokefanfRuthSeenText, PokefanfRuthBeatenText, 0, PokefanfRuthScript
 
 PokefanfRuthScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a5db2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSailorEugene:
@@ -107,11 +107,11 @@
 	trainer EVENT_BEAT_SAILOR_EUGENE, SAILOR, EUGENE, SailorEugeneSeenText, SailorEugeneBeatenText, 0, SailorEugeneScript
 
 SailorEugeneScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a5c4d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPsychicNorman:
@@ -118,11 +118,11 @@
 	trainer EVENT_BEAT_PSYCHIC_NORMAN, PSYCHIC_T, NORMAN, PsychicNormanSeenText, PsychicNormanBeatenText, 0, PsychicNormanScript
 
 PsychicNormanScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a5e57
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 PokefanFScript_0x1a5bbe:
@@ -133,26 +133,26 @@
 	checkevent EVENT_BEAT_POKEFANF_JAIME
 	iftrue UnknownScript_0x1a5bdf
 	writetext UnknownText_0x1a5ee8
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x1a5f17, 0
-	loadtrainer POKEFANF, JAIME
+	scriptedtrainerdata POKEFANF, JAIME
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_POKEFANF_JAIME
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x1a5bdf:
 	writetext UnknownText_0x1a5f31
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1a5be5:
 	writetext UnknownText_0x1a5ec4
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute39Signpost2Script:
--- a/maps/Route39Barn.asm
+++ b/maps/Route39Barn.asm
@@ -11,15 +11,15 @@
 	checkevent EVENT_HEALED_MOOMOO
 	iftrue .FeedingMooMoo
 	writetext Text_MoomooIsSick
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $2, RIGHT
 	end
 
 .FeedingMooMoo:
 	writetext Text_WereFeedingMoomoo
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $2, RIGHT
 	end
 
@@ -29,15 +29,15 @@
 	checkevent EVENT_HEALED_MOOMOO
 	iftrue .FeedingMooMoo
 	writetext Text_MoomooIsSick
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $3, LEFT
 	end
 
 .FeedingMooMoo:
 	writetext Text_WereFeedingMoomoo
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $3, LEFT
 	end
 
@@ -52,8 +52,8 @@
 	writetext Text_ItsCryIsWeak
 	checkevent EVENT_TALKED_TO_FARMER_ABOUT_MOOMOO
 	iftrue .GiveBerry
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .GiveBerry:
@@ -71,8 +71,8 @@
 	if_equal 5, .FiveBerries
 	if_equal 7, .SevenBerries
 	writetext Text_GaveBerry
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .ThreeBerries:
@@ -79,8 +79,8 @@
 	writetext Text_GaveBerry
 	keeptextopen
 	writetext Text_LittleHealthier
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .FiveBerries:
@@ -87,8 +87,8 @@
 	writetext Text_GaveBerry
 	keeptextopen
 	writetext Text_QuiteHealthy
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .SevenBerries:
@@ -98,28 +98,28 @@
 	keeptextopen
 	special RestartMapMusic
 	writetext Text_TotallyHealthy
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_HEALED_MOOMOO
 	end
 
 .NoBerriesInBag:
 	writetext Text_NoBerries
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .Refused:
 	writetext Text_RefusedToGiveBerry
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .HappyCow:
 	writetext UnknownText_0x9cd92
 	cry MILTANK
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 Text_MoomooIsSick:
--- a/maps/Route39Farmhouse.asm
+++ b/maps/Route39Farmhouse.asm
@@ -11,8 +11,8 @@
 	checkevent EVENT_HEALED_MOOMOO
 	iftrue UnknownScript_0x9cec5
 	writetext UnknownText_0x9cf38
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_TALKED_TO_FARMER_ABOUT_MOOMOO
 	end
 
@@ -29,36 +29,36 @@
 	iffalse UnknownScript_0x9cefc
 	takemoney $0, 500
 	special PlaceMoneyTopRightOW
-	waitbutton
+	waitsfx
 	playsound SFX_TRANSACTION
 	writetext UnknownText_0x9d05d
 	keeptextopen
 	itemnotify
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x9cef6:
 	writetext UnknownText_0x9d07c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x9cefc:
 	writetext UnknownText_0x9d09d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x9cf02:
 	writetext UnknownText_0x9d0b7
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x9cf08:
 	writetext UnknownText_0x9d0dc
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 PokefanFScript_0x9cf0e:
@@ -69,8 +69,8 @@
 	checkevent EVENT_HEALED_MOOMOO
 	iftrue UnknownScript_0x9cf22
 	writetext UnknownText_0x9d0f6
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x9cf22:
@@ -81,9 +81,9 @@
 	setevent EVENT_GOT_TM13_SNORE_FROM_MOOMOO_FARM
 UnknownScript_0x9cf2f:
 	writetext UnknownText_0x9d1c7
-	closetext
+	waitbutton
 UnknownScript_0x9cf33:
-	loadmovesprites
+	closetext
 	end
 
 FarmhouseBookshelf:
--- a/maps/Route4.asm
+++ b/maps/Route4.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_BIRD_KEEPER_HANK, BIRD_KEEPER, HANK, Bird_keeperHankSeenText, Bird_keeperHankBeatenText, 0, Bird_keeperHankScript
 
 Bird_keeperHankScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ae258
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPicnickerHope:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_PICNICKER_HOPE, PICNICKER, HOPE, PicnickerHopeSeenText, PicnickerHopeBeatenText, 0, PicnickerHopeScript
 
 PicnickerHopeScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ae320
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPicnickerSharon:
@@ -31,11 +31,11 @@
 	trainer EVENT_BEAT_PICNICKER_SHARON, PICNICKER, SHARON, PicnickerSharonSeenText, PicnickerSharonBeatenText, 0, PicnickerSharonScript
 
 PicnickerSharonScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ae369
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute4Signpost0Script:
--- a/maps/Route40.asm
+++ b/maps/Route40.asm
@@ -24,11 +24,11 @@
 	trainer EVENT_BEAT_SWIMMERF_ELAINE, SWIMMERF, ELAINE, SwimmerfElaineSeenText, SwimmerfElaineBeatenText, 0, SwimmerfElaineScript
 
 SwimmerfElaineScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a637b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSwimmerfPaula:
@@ -35,11 +35,11 @@
 	trainer EVENT_BEAT_SWIMMERF_PAULA, SWIMMERF, PAULA, SwimmerfPaulaSeenText, SwimmerfPaulaBeatenText, 0, SwimmerfPaulaScript
 
 SwimmerfPaulaScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a63f5
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSwimmermSimon:
@@ -46,11 +46,11 @@
 	trainer EVENT_BEAT_SWIMMERM_SIMON, SWIMMERM, SIMON, SwimmermSimonSeenText, SwimmermSimonBeatenText, 0, SwimmermSimonScript
 
 SwimmermSimonScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a6282
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSwimmermRandall:
@@ -57,11 +57,11 @@
 	trainer EVENT_BEAT_SWIMMERM_RANDALL, SWIMMERM, RANDALL, SwimmermRandallSeenText, SwimmermRandallBeatenText, 0, SwimmermRandallScript
 
 SwimmermRandallScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a62fa
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 LassScript_0x1a61c4:
@@ -100,21 +100,21 @@
 	iffalse MonicaDoneScript
 	setevent EVENT_GOT_SHARP_BEAK_FROM_MONICA
 	writetext MonicaGaveGiftText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MonicaMondayScript:
 	writetext MonicaMondayText
-	closetext
+	waitbutton
 MonicaDoneScript:
-	loadmovesprites
+	closetext
 	end
 
 MonicaNotMondayScript:
 	writetext MonicaNotMondayText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute40Signpost0Script:
--- a/maps/Route41.asm
+++ b/maps/Route41.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_SWIMMERF_KAYLEE, SWIMMERF, KAYLEE, SwimmerfKayleeSeenText, SwimmerfKayleeBeatenText, 0, SwimmerfKayleeScript
 
 SwimmerfKayleeScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a6c7f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSwimmerfSusie:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_SWIMMERF_SUSIE, SWIMMERF, SUSIE, SwimmerfSusieSeenText, SwimmerfSusieBeatenText, 0, SwimmerfSusieScript
 
 SwimmerfSusieScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a6d11
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSwimmerfDenise:
@@ -31,11 +31,11 @@
 	trainer EVENT_BEAT_SWIMMERF_DENISE, SWIMMERF, DENISE, SwimmerfDeniseSeenText, SwimmerfDeniseBeatenText, 0, SwimmerfDeniseScript
 
 SwimmerfDeniseScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a6d79
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSwimmerfKara:
@@ -42,11 +42,11 @@
 	trainer EVENT_BEAT_SWIMMERF_KARA, SWIMMERF, KARA, SwimmerfKaraSeenText, SwimmerfKaraBeatenText, 0, SwimmerfKaraScript
 
 SwimmerfKaraScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a6e58
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSwimmerfWendy:
@@ -53,11 +53,11 @@
 	trainer EVENT_BEAT_SWIMMERF_WENDY, SWIMMERF, WENDY, SwimmerfWendySeenText, SwimmerfWendyBeatenText, 0, SwimmerfWendyScript
 
 SwimmerfWendyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a6ec2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSwimmermCharlie:
@@ -64,11 +64,11 @@
 	trainer EVENT_BEAT_SWIMMERM_CHARLIE, SWIMMERM, CHARLIE, SwimmermCharlieSeenText, SwimmermCharlieBeatenText, 0, SwimmermCharlieScript
 
 SwimmermCharlieScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a696e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSwimmermGeorge:
@@ -75,11 +75,11 @@
 	trainer EVENT_BEAT_SWIMMERM_GEORGE, SWIMMERM, GEORGE, SwimmermGeorgeSeenText, SwimmermGeorgeBeatenText, 0, SwimmermGeorgeScript
 
 SwimmermGeorgeScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a69d4
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSwimmermBerke:
@@ -86,11 +86,11 @@
 	trainer EVENT_BEAT_SWIMMERM_BERKE, SWIMMERM, BERKE, SwimmermBerkeSeenText, SwimmermBerkeBeatenText, 0, SwimmermBerkeScript
 
 SwimmermBerkeScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a6aa4
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSwimmermKirk:
@@ -97,11 +97,11 @@
 	trainer EVENT_BEAT_SWIMMERM_KIRK, SWIMMERM, KIRK, SwimmermKirkSeenText, SwimmermKirkBeatenText, 0, SwimmermKirkScript
 
 SwimmermKirkScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a6b6c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSwimmermMathew:
@@ -108,11 +108,11 @@
 	trainer EVENT_BEAT_SWIMMERM_MATHEW, SWIMMERM, MATHEW, SwimmermMathewSeenText, SwimmermMathewBeatenText, 0, SwimmermMathewScript
 
 SwimmermMathewScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a6bed
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 Route41Rock:
--- a/maps/Route42.asm
+++ b/maps/Route42.asm
@@ -32,7 +32,7 @@
 
 FisherTully1Script:
 	writecode VAR_CALLERID, PHONE_FISHER_TULLY
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_TULLY
 	iftrue UnknownScript_0x1a927f
@@ -76,7 +76,7 @@
 	checkevent EVENT_CLEARED_ROCKET_HIDEOUT
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer FISHER, TULLY1
+	scriptedtrainerdata FISHER, TULLY1
 	startbattle
 	returnafterbattle
 	loadvar wTullyFightCount, 1
@@ -84,7 +84,7 @@
 	end
 
 .LoadFight1
-	loadtrainer FISHER, TULLY2
+	scriptedtrainerdata FISHER, TULLY2
 	startbattle
 	returnafterbattle
 	loadvar wTullyFightCount, 2
@@ -92,7 +92,7 @@
 	end
 
 .LoadFight2
-	loadtrainer FISHER, TULLY3
+	scriptedtrainerdata FISHER, TULLY3
 	startbattle
 	returnafterbattle
 	loadvar wTullyFightCount, 3
@@ -100,7 +100,7 @@
 	end
 
 .LoadFight3
-	loadtrainer FISHER, TULLY4
+	scriptedtrainerdata FISHER, TULLY4
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_TULLY
@@ -157,11 +157,11 @@
 	trainer EVENT_BEAT_POKEMANIAC_SHANE, POKEMANIAC, SHANE, PokemaniacShaneSeenText, PokemaniacShaneBeatenText, 0, PokemaniacShaneScript
 
 PokemaniacShaneScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a94d6
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerHikerBenjamin:
@@ -168,11 +168,11 @@
 	trainer EVENT_BEAT_HIKER_BENJAMIN, HIKER, BENJAMIN, HikerBenjaminSeenText, HikerBenjaminBeatenText, 0, HikerBenjaminScript
 
 HikerBenjaminScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a943f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute42Signpost0Script:
--- a/maps/Route43.asm
+++ b/maps/Route43.asm
@@ -23,11 +23,11 @@
 	trainer EVENT_BEAT_CAMPER_SPENCER, CAMPER, SPENCER, CamperSpencerSeenText, CamperSpencerBeatenText, 0, CamperSpencerScript
 
 CamperSpencerScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19d57e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPokemaniacBen:
@@ -34,11 +34,11 @@
 	trainer EVENT_BEAT_POKEMANIAC_BEN, POKEMANIAC, BEN, PokemaniacBenSeenText, PokemaniacBenBeatenText, 0, PokemaniacBenScript
 
 PokemaniacBenScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19d2d2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPokemaniacBrent1:
@@ -46,7 +46,7 @@
 
 PokemaniacBrent1Script:
 	writecode VAR_CALLERID, PHONE_POKEMANIAC_BRENT
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_BRENT
 	iftrue UnknownScript_0x19d0cf
@@ -88,7 +88,7 @@
 	checkevent EVENT_CLEARED_ROCKET_HIDEOUT
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer POKEMANIAC, BRENT1
+	scriptedtrainerdata POKEMANIAC, BRENT1
 	startbattle
 	returnafterbattle
 	loadvar wBrentFightCount, 1
@@ -96,7 +96,7 @@
 	end
 
 .LoadFight1
-	loadtrainer POKEMANIAC, BRENT2
+	scriptedtrainerdata POKEMANIAC, BRENT2
 	startbattle
 	returnafterbattle
 	loadvar wBrentFightCount, 2
@@ -104,7 +104,7 @@
 	end
 
 .LoadFight2
-	loadtrainer POKEMANIAC, BRENT3
+	scriptedtrainerdata POKEMANIAC, BRENT3
 	startbattle
 	returnafterbattle
 	loadvar wBrentFightCount, 3
@@ -112,7 +112,7 @@
 	end
 
 .LoadFight3
-	loadtrainer POKEMANIAC, BRENT4
+	scriptedtrainerdata POKEMANIAC, BRENT4
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_BRENT
@@ -150,11 +150,11 @@
 	trainer EVENT_BEAT_POKEMANIAC_RON, POKEMANIAC, RON, PokemaniacRonSeenText, PokemaniacRonBeatenText, 0, PokemaniacRonScript
 
 PokemaniacRonScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19d3f8
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerFisherMarvin:
@@ -161,11 +161,11 @@
 	trainer EVENT_BEAT_FISHER_MARVIN, FISHER, MARVIN, FisherMarvinSeenText, FisherMarvinBeatenText, 0, FisherMarvinScript
 
 FisherMarvinScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19d4d3
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPicnickerTiffany3:
@@ -173,7 +173,7 @@
 
 PicnickerTiffany3Script:
 	writecode VAR_CALLERID, PHONE_PICNICKER_TIFFANY
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_TIFFANY
 	iftrue UnknownScript_0x19d1c1
@@ -219,7 +219,7 @@
 	checkevent EVENT_CLEARED_RADIO_TOWER
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer PICNICKER, TIFFANY3
+	scriptedtrainerdata PICNICKER, TIFFANY3
 	startbattle
 	returnafterbattle
 	loadvar wTiffanyFightCount, 1
@@ -227,7 +227,7 @@
 	end
 
 .LoadFight1
-	loadtrainer PICNICKER, TIFFANY1
+	scriptedtrainerdata PICNICKER, TIFFANY1
 	startbattle
 	returnafterbattle
 	loadvar wTiffanyFightCount, 2
@@ -235,7 +235,7 @@
 	end
 
 .LoadFight2
-	loadtrainer PICNICKER, TIFFANY2
+	scriptedtrainerdata PICNICKER, TIFFANY2
 	startbattle
 	returnafterbattle
 	loadvar wTiffanyFightCount, 3
@@ -243,7 +243,7 @@
 	end
 
 .LoadFight3
-	loadtrainer PICNICKER, TIFFANY4
+	scriptedtrainerdata PICNICKER, TIFFANY4
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_TIFFANY
@@ -262,8 +262,8 @@
 
 UnknownScript_0x19d233:
 	writetext UnknownText_0x19d64b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19d239:
--- a/maps/Route43Gate.asm
+++ b/maps/Route43Gate.asm
@@ -64,7 +64,7 @@
 
 UnknownScript_0x19ac28:
 	keeptextopen
-	loadmovesprites
+	closetext
 	applymovement $3, MovementData_0x19acaa
 	applymovement $4, MovementData_0x19acc1
 	dotrigger $1
@@ -96,7 +96,7 @@
 
 UnknownScript_0x19ac72:
 	keeptextopen
-	loadmovesprites
+	closetext
 	applymovement $4, MovementData_0x19accd
 	applymovement $3, MovementData_0x19acb5
 	dotrigger $1
@@ -116,14 +116,14 @@
 	verbosegiveitem TM_SLUDGE_BOMB
 	iffalse UnknownScript_0x19aca0
 	setevent EVENT_GOT_TM36_SLUDGE_BOMB
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x19ac9c:
 	writetext UnknownText_0x19ae2d
-	closetext
+	waitbutton
 UnknownScript_0x19aca0:
-	loadmovesprites
+	closetext
 	end
 
 MovementData_0x19aca2:
--- a/maps/Route43MahoganyGate.asm
+++ b/maps/Route43MahoganyGate.asm
@@ -11,14 +11,14 @@
 	checkevent EVENT_CLEARED_ROCKET_HIDEOUT
 	iftrue UnknownScript_0x19ab19
 	writetext UnknownText_0x19ab1f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19ab19:
 	writetext UnknownText_0x19ab65
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownText_0x19ab1f:
--- a/maps/Route44.asm
+++ b/maps/Route44.asm
@@ -10,7 +10,7 @@
 
 Bird_keeperVance1Script:
 	writecode VAR_CALLERID, PHONE_BIRDKEEPER_VANCE
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_VANCE
 	iftrue UnknownScript_0x19d86a
@@ -48,7 +48,7 @@
 	checkevent EVENT_BEAT_ELITE_FOUR
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer BIRD_KEEPER, VANCE1
+	scriptedtrainerdata BIRD_KEEPER, VANCE1
 	startbattle
 	returnafterbattle
 	loadvar wVanceFightCount, 1
@@ -56,7 +56,7 @@
 	end
 
 .LoadFight1
-	loadtrainer BIRD_KEEPER, VANCE2
+	scriptedtrainerdata BIRD_KEEPER, VANCE2
 	startbattle
 	returnafterbattle
 	loadvar wVanceFightCount, 2
@@ -64,7 +64,7 @@
 	end
 
 .LoadFight2
-	loadtrainer BIRD_KEEPER, VANCE3
+	scriptedtrainerdata BIRD_KEEPER, VANCE3
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_VANCE
@@ -84,7 +84,7 @@
 UnknownScript_0x19d8cb:
 	loadfont
 	writetext UnknownText_0x19dc67
-	closetext
+	waitbutton
 	verbosegiveitem CARBOS
 	iffalse UnknownScript_0x19d903
 	clearevent EVENT_VANCE_CARBOS
@@ -140,11 +140,11 @@
 	trainer EVENT_BEAT_PSYCHIC_PHIL, PSYCHIC_T, PHIL, PsychicPhilSeenText, PsychicPhilBeatenText, 0, PsychicPhilScript
 
 PsychicPhilScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19dcfc
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerFisherWilton1:
@@ -152,7 +152,7 @@
 
 FisherWilton1Script:
 	writecode VAR_CALLERID, PHONE_FISHER_WILTON
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_WILTON
 	iftrue UnknownScript_0x19d96e
@@ -192,7 +192,7 @@
 	checkevent EVENT_BEAT_ELITE_FOUR
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer FISHER, WILTON1
+	scriptedtrainerdata FISHER, WILTON1
 	startbattle
 	returnafterbattle
 	loadvar wWiltonFightCount, 1
@@ -200,7 +200,7 @@
 	end
 
 .LoadFight1
-	loadtrainer FISHER, WILTON2
+	scriptedtrainerdata FISHER, WILTON2
 	startbattle
 	returnafterbattle
 	loadvar wWiltonFightCount, 2
@@ -208,7 +208,7 @@
 	end
 
 .LoadFight2
-	loadtrainer FISHER, WILTON3
+	scriptedtrainerdata FISHER, WILTON3
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_WILTON
@@ -246,11 +246,11 @@
 	trainer EVENT_BEAT_FISHER_EDGAR, FISHER, EDGAR, FisherEdgarSeenText, FisherEdgarBeatenText, 0, FisherEdgarScript
 
 FisherEdgarScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19db6f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCooltrainerfCybil:
@@ -257,11 +257,11 @@
 	trainer EVENT_BEAT_COOLTRAINERF_CYBIL, COOLTRAINERF, CYBIL, CooltrainerfCybilSeenText, CooltrainerfCybilBeatenText, 0, CooltrainerfCybilScript
 
 CooltrainerfCybilScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19df4d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPokemaniacZach:
@@ -268,11 +268,11 @@
 	trainer EVENT_BEAT_POKEMANIAC_ZACH, POKEMANIAC, ZACH, PokemaniacZachSeenText, PokemaniacZachBeatenText, 0, PokemaniacZachScript
 
 PokemaniacZachScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19dd7e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCooltrainermAllen:
@@ -279,11 +279,11 @@
 	trainer EVENT_BEAT_COOLTRAINERM_ALLEN, COOLTRAINERM, ALLEN, CooltrainermAllenSeenText, CooltrainermAllenBeatenText, 0, CooltrainermAllenScript
 
 CooltrainermAllenScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19de66
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute44Signpost0Script:
--- a/maps/Route45.asm
+++ b/maps/Route45.asm
@@ -10,7 +10,7 @@
 
 BlackbeltKenji3Script:
 	writecode VAR_CALLERID, PHONE_BLACKBELT_KENJI
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkcellnum PHONE_BLACKBELT_KENJI
 	iftrue UnknownScript_0x19e0e4
@@ -18,7 +18,7 @@
 	iftrue UnknownScript_0x19e0cd
 	special Special_SampleKenjiBreakCountdown
 	writetext UnknownText_0x19e5e2
-	closetext
+	waitbutton
 	setevent EVENT_KENJI_ASKED_FOR_PHONE_NUMBER
 	scall UnknownScript_0x19e11b
 	jump UnknownScript_0x19e0d0
@@ -51,14 +51,14 @@
 
 UnknownScript_0x19e10c:
 	writetext UnknownText_0x19e634
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19e112:
 	writetext UnknownText_0x19e66c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19e118:
@@ -113,11 +113,11 @@
 	trainer EVENT_BEAT_HIKER_ERIK, HIKER, ERIK, HikerErikSeenText, HikerErikBeatenText, 0, HikerErikScript
 
 HikerErikScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19e301
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerHikerMichael:
@@ -124,11 +124,11 @@
 	trainer EVENT_BEAT_HIKER_MICHAEL, HIKER, MICHAEL, HikerMichaelSeenText, HikerMichaelBeatenText, 0, HikerMichaelScript
 
 HikerMichaelScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19e3b1
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerHikerParry:
@@ -136,7 +136,7 @@
 
 HikerParry3Script:
 	writecode VAR_CALLERID, PHONE_HIKER_PARRY
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_PARRY
 	iftrue UnknownScript_0x19e1b8
@@ -174,7 +174,7 @@
 	checkevent EVENT_BEAT_ELITE_FOUR
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer HIKER, PARRY3
+	scriptedtrainerdata HIKER, PARRY3
 	startbattle
 	returnafterbattle
 	loadvar wParryFightCount, 1
@@ -182,7 +182,7 @@
 	end
 
 .LoadFight1
-	loadtrainer HIKER, PARRY1
+	scriptedtrainerdata HIKER, PARRY1
 	startbattle
 	returnafterbattle
 	loadvar wParryFightCount, 2
@@ -190,7 +190,7 @@
 	end
 
 .LoadFight2
-	loadtrainer HIKER, PARRY2
+	scriptedtrainerdata HIKER, PARRY2
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_PARRY
@@ -210,7 +210,7 @@
 UnknownScript_0x19e219:
 	loadfont
 	writetext UnknownText_0x19e52c
-	closetext
+	waitbutton
 	verbosegiveitem IRON
 	iffalse UnknownScript_0x19e13f
 	clearevent EVENT_PARRY_IRON
@@ -221,11 +221,11 @@
 	trainer EVENT_BEAT_HIKER_TIMOTHY, HIKER, TIMOTHY, HikerTimothySeenText, HikerTimothyBeatenText, 0, HikerTimothyScript
 
 HikerTimothyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19e4f1
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCooltrainermRyan:
@@ -232,11 +232,11 @@
 	trainer EVENT_BEAT_COOLTRAINERM_RYAN, COOLTRAINERM, RYAN, CooltrainermRyanSeenText, CooltrainermRyanBeatenText, 0, CooltrainermRyanScript
 
 CooltrainermRyanScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19e70d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCooltrainerfKelly:
@@ -243,11 +243,11 @@
 	trainer EVENT_BEAT_COOLTRAINERF_KELLY, COOLTRAINERF, KELLY, CooltrainerfKellySeenText, CooltrainerfKellyBeatenText, 0, CooltrainerfKellyScript
 
 CooltrainerfKellyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19e7d1
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x19e269:
@@ -256,26 +256,26 @@
 	checkevent EVENT_BEAT_CAMPER_QUENTIN
 	iftrue UnknownScript_0x19e285
 	writetext UnknownText_0x19e87f
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x19e899, 0
-	loadtrainer CAMPER, QUENTIN
+	scriptedtrainerdata CAMPER, QUENTIN
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_CAMPER_QUENTIN
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x19e285:
 	writetext UnknownText_0x19e8bb
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19e28b:
 	writetext UnknownText_0x19e830
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute45Signpost0Script:
--- a/maps/Route46.asm
+++ b/maps/Route46.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_CAMPER_TED, CAMPER, TED, CamperTedSeenText, CamperTedBeatenText, 0, CamperTedScript
 
 CamperTedScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a9851
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPicnickerErin1:
@@ -21,7 +21,7 @@
 
 PicnickerErin1Script:
 	writecode VAR_CALLERID, PHONE_PICNICKER_ERIN
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	checkflag ENGINE_ERIN
 	iftrue UnknownScript_0x1a96da
@@ -59,7 +59,7 @@
 	checkevent EVENT_BEAT_ELITE_FOUR
 	iftrue .LoadFight1
 .LoadFight0
-	loadtrainer PICNICKER, ERIN1
+	scriptedtrainerdata PICNICKER, ERIN1
 	startbattle
 	returnafterbattle
 	loadvar wErinFightCount, 1
@@ -67,7 +67,7 @@
 	end
 
 .LoadFight1
-	loadtrainer PICNICKER, ERIN2
+	scriptedtrainerdata PICNICKER, ERIN2
 	startbattle
 	returnafterbattle
 	loadvar wErinFightCount, 2
@@ -75,7 +75,7 @@
 	end
 
 .LoadFight2
-	loadtrainer PICNICKER, ERIN3
+	scriptedtrainerdata PICNICKER, ERIN3
 	startbattle
 	returnafterbattle
 	clearflag ENGINE_ERIN
@@ -95,7 +95,7 @@
 UnknownScript_0x1a973b:
 	loadfont
 	writetext UnknownText_0x1a9927
-	closetext
+	waitbutton
 	verbosegiveitem CALCIUM
 	iffalse UnknownScript_0x1a976b
 	clearevent EVENT_ERIN_CALCIUM
@@ -143,11 +143,11 @@
 	trainer EVENT_BEAT_HIKER_BAILEY, HIKER, BAILEY, HikerBaileySeenText, HikerBaileyBeatenText, 0, HikerBaileyScript
 
 HikerBaileyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1a97e8
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute46Signpost0Script:
--- a/maps/Route5CleanseTagSpeechHouse.asm
+++ b/maps/Route5CleanseTagSpeechHouse.asm
@@ -17,9 +17,9 @@
 	setevent EVENT_GOT_CLEANSE_TAG
 UnknownScript_0x18b649:
 	writetext UnknownText_0x18b6a7
-	closetext
+	waitbutton
 UnknownScript_0x18b64d:
-	loadmovesprites
+	closetext
 	end
 
 TeacherScript_0x18b64f:
--- a/maps/Route6.asm
+++ b/maps/Route6.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_POKEFANM_REX, POKEFANM, REX, PokefanmRexSeenText, PokefanmRexBeatenText, 0, PokefanmRexScript
 
 PokefanmRexScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ad9ff
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPokefanmAllan:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_POKEFANM_ALLAN, POKEFANM, ALLAN, PokefanmAllanSeenText, PokefanmAllanBeatenText, 0, PokefanmAllanScript
 
 PokefanmAllanScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ada88
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 PokefanMScript_0x1ad951:
--- a/maps/Route6SaffronGate.asm
+++ b/maps/Route6SaffronGate.asm
@@ -17,14 +17,14 @@
 	checkevent EVENT_RETURNED_MACHINE_PART
 	iftrue UnknownScript_0x1926f8
 	writetext UnknownText_0x1926fe
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1926f8:
 	writetext UnknownText_0x1927cb
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownText_0x1926fe:
--- a/maps/Route7SaffronGate.asm
+++ b/maps/Route7SaffronGate.asm
@@ -11,14 +11,14 @@
 	checkevent EVENT_RETURNED_MACHINE_PART
 	iftrue UnknownScript_0x73526
 	writetext UnknownText_0x7352c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x73526:
 	writetext UnknownText_0x73592
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownText_0x7352c:
--- a/maps/Route8.asm
+++ b/maps/Route8.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_BIKER_DWAYNE, BIKER, DWAYNE, BikerDwayneSeenText, BikerDwayneBeatenText, 0, BikerDwayneScript
 
 BikerDwayneScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x6c0c8
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBikerHarris:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_BIKER_HARRIS, BIKER, HARRIS, BikerHarrisSeenText, BikerHarrisBeatenText, 0, BikerHarrisScript
 
 BikerHarrisScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x6c143
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBikerZeke:
@@ -31,11 +31,11 @@
 	trainer EVENT_BEAT_BIKER_ZEKE, BIKER, ZEKE, BikerZekeSeenText, BikerZekeBeatenText, 0, BikerZekeScript
 
 BikerZekeScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x6c1a3
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSupernerdSam:
@@ -42,11 +42,11 @@
 	trainer EVENT_BEAT_SUPER_NERD_SAM, SUPER_NERD, SAM, SupernerdSamSeenText, SupernerdSamBeatenText, 0, SupernerdSamScript
 
 SupernerdSamScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x6c219
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSupernerdTom:
@@ -53,11 +53,11 @@
 	trainer EVENT_BEAT_SUPER_NERD_TOM, SUPER_NERD, TOM, SupernerdTomSeenText, SupernerdTomBeatenText, 0, SupernerdTomScript
 
 SupernerdTomScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x6c27e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute8Signpost1Script:
--- a/maps/Route9.asm
+++ b/maps/Route9.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_CAMPER_DEAN, CAMPER, DEAN, CamperDeanSeenText, CamperDeanBeatenText, 0, CamperDeanScript
 
 CamperDeanScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1aafd9
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPicnickerHeidi:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_PICNICKER_HEIDI, PICNICKER, HEIDI, PicnickerHeidiSeenText, PicnickerHeidiBeatenText, 0, PicnickerHeidiScript
 
 PicnickerHeidiScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ab07c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCamperSid:
@@ -31,11 +31,11 @@
 	trainer EVENT_BEAT_CAMPER_SID, CAMPER, SID, CamperSidSeenText, CamperSidBeatenText, 0, CamperSidScript
 
 CamperSidScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ab0f6
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPicnickerEdna:
@@ -42,11 +42,11 @@
 	trainer EVENT_BEAT_PICNICKER_EDNA, PICNICKER, EDNA, PicnickerEdnaSeenText, PicnickerEdnaBeatenText, 0, PicnickerEdnaScript
 
 PicnickerEdnaScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ab15f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerHikerTim:
@@ -53,11 +53,11 @@
 	trainer EVENT_BEAT_HIKER_TIM, HIKER, TIM, HikerTimSeenText, HikerTimBeatenText, 0, HikerTimScript
 
 HikerTimScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ab210
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerHikerSidney:
@@ -64,11 +64,11 @@
 	trainer EVENT_BEAT_HIKER_SIDNEY, HIKER, SIDNEY, HikerSidneySeenText, HikerSidneyBeatenText, 0, HikerSidneyScript
 
 HikerSidneyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1ab278
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRoute9Signpost0Script:
--- a/maps/RuinsofAlphAerodactylChamber.asm
+++ b/maps/RuinsofAlphAerodactylChamber.asm
@@ -49,7 +49,7 @@
 	reloadmappart
 	earthquake 50
 	dotrigger $1
-	loadmovesprites
+	closetext
 	end
 
 MapRuinsofAlphAerodactylChamberSignpost2Script:
@@ -56,7 +56,7 @@
 	refreshscreen $0
 	writebyte $2
 	special Special_UnownPuzzle
-	loadmovesprites
+	closetext
 	iftrue UnknownScript_0x58df7
 	end
 
@@ -74,7 +74,7 @@
 	earthquake 80
 	applymovement PLAYER, MovementData_0x58e4d
 	playsound SFX_KINESIS
-	waitbutton
+	waitsfx
 	pause 20
 	warpcheck
 	end
@@ -90,7 +90,7 @@
 	writetext UnknownText_0x58e4f
 	writebyte $1
 	special Special_DisplayUnownWords
-	loadmovesprites
+	closetext
 	end
 
 MapRuinsofAlphAerodactylChamberSignpost5Script:
@@ -100,14 +100,14 @@
 	writetext UnknownText_0x58e81
 	writebyte $1
 	special Special_DisplayUnownWords
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x58e46:
 	loadfont
 	writetext UnknownText_0x58ea2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MovementData_0x58e4d:
--- a/maps/RuinsofAlphHoOhChamber.asm
+++ b/maps/RuinsofAlphHoOhChamber.asm
@@ -50,7 +50,7 @@
 	reloadmappart
 	earthquake 50
 	dotrigger $1
-	loadmovesprites
+	closetext
 	end
 
 MapRuinsofAlphHoOhChamberSignpost2Script:
@@ -57,7 +57,7 @@
 	refreshscreen $0
 	writebyte $3
 	special Special_UnownPuzzle
-	loadmovesprites
+	closetext
 	iftrue UnknownScript_0x585ba
 	end
 
@@ -75,7 +75,7 @@
 	earthquake 80
 	applymovement PLAYER, MovementData_0x58610
 	playsound SFX_KINESIS
-	waitbutton
+	waitsfx
 	pause 20
 	warpcheck
 	end
@@ -91,7 +91,7 @@
 	writetext UnknownText_0x58612
 	writebyte $3
 	special Special_DisplayUnownWords
-	loadmovesprites
+	closetext
 	end
 
 MapRuinsofAlphHoOhChamberSignpost5Script:
@@ -101,14 +101,14 @@
 	writetext UnknownText_0x58644
 	writebyte $3
 	special Special_DisplayUnownWords
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x58609:
 	loadfont
 	writetext UnknownText_0x58665
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MovementData_0x58610:
--- a/maps/RuinsofAlphInnerChamber.asm
+++ b/maps/RuinsofAlphInnerChamber.asm
@@ -21,8 +21,8 @@
 UnknownScript_0x58f6e:
 	loadfont
 	writetext UnknownText_0x58f89
+	waitbutton
 	closetext
-	loadmovesprites
 	dotrigger $0
 	setevent EVENT_MADE_UNOWN_APPEAR_IN_RUINS
 	clearevent EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_FISHER
--- a/maps/RuinsofAlphKabutoChamber.asm
+++ b/maps/RuinsofAlphKabutoChamber.asm
@@ -51,7 +51,7 @@
 	reloadmappart
 	earthquake 50
 	dotrigger $1
-	loadmovesprites
+	closetext
 	end
 
 ReceptionistScript_0x58769:
@@ -61,7 +61,7 @@
 	refreshscreen $0
 	writebyte $0
 	special Special_UnownPuzzle
-	loadmovesprites
+	closetext
 	iftrue UnknownScript_0x58778
 	end
 
@@ -80,7 +80,7 @@
 	earthquake 80
 	applymovement PLAYER, MovementData_0x587fe
 	playsound SFX_KINESIS
-	waitbutton
+	waitsfx
 	pause 20
 	warpcheck
 	end
@@ -98,21 +98,21 @@
 	keeptextopen
 UnknownScript_0x587c0:
 	writetext UnknownText_0x588f5
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $3, UP
 	end
 
 UnknownScript_0x587c9:
 	writetext UnknownText_0x5897c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x587cf:
 	writetext UnknownText_0x594cb
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRuinsofAlphKabutoChamberSignpost1Script:
@@ -126,7 +126,7 @@
 	writetext UnknownText_0x58aa7
 	writebyte $0
 	special Special_DisplayUnownWords
-	loadmovesprites
+	closetext
 	end
 
 MapRuinsofAlphKabutoChamberSignpost5Script:
@@ -136,14 +136,14 @@
 	writetext UnknownText_0x58ad9
 	writebyte $0
 	special Special_DisplayUnownWords
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x587f7:
 	loadfont
 	writetext UnknownText_0x58afa
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MovementData_0x587fe:
--- a/maps/RuinsofAlphOmanyteChamber.asm
+++ b/maps/RuinsofAlphOmanyteChamber.asm
@@ -50,7 +50,7 @@
 	reloadmappart
 	earthquake 50
 	dotrigger $1
-	loadmovesprites
+	closetext
 	end
 
 MapRuinsofAlphOmanyteChamberSignpost2Script:
@@ -57,7 +57,7 @@
 	refreshscreen $0
 	writebyte $1
 	special Special_UnownPuzzle
-	loadmovesprites
+	closetext
 	iftrue UnknownScript_0x58c36
 	end
 
@@ -75,7 +75,7 @@
 	earthquake 80
 	applymovement PLAYER, MovementData_0x58c8c
 	playsound SFX_KINESIS
-	waitbutton
+	waitsfx
 	pause 20
 	warpcheck
 	end
@@ -91,7 +91,7 @@
 	writetext UnknownText_0x58c8e
 	writebyte $2
 	special Special_DisplayUnownWords
-	loadmovesprites
+	closetext
 	end
 
 MapRuinsofAlphOmanyteChamberSignpost5Script:
@@ -101,14 +101,14 @@
 	writetext UnknownText_0x58cc0
 	writebyte $2
 	special Special_DisplayUnownWords
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x58c85:
 	loadfont
 	writetext UnknownText_0x58ce1
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MovementData_0x58c8c:
--- a/maps/RuinsofAlphOutside.asm
+++ b/maps/RuinsofAlphOutside.asm
@@ -56,8 +56,8 @@
 UnknownScript_0x58044:
 	loadfont
 	writetext UnknownText_0x580c7
+	waitbutton
 	closetext
-	loadmovesprites
 	playmusic MUSIC_SHOW_ME_AROUND
 	follow $3, PLAYER
 	applymovement $3, MovementData_0x580ba
@@ -78,8 +78,8 @@
 	keeptextopen
 .Next
 	writetext UnknownText_0x58420
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x58076:
@@ -86,8 +86,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x58449
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x5807e:
@@ -94,8 +94,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x5848e
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $6, UP
 	end
 
@@ -103,11 +103,11 @@
 	trainer EVENT_BEAT_PSYCHIC_NATHAN, PSYCHIC_T, NATHAN, PsychicNathanSeenText, PsychicNathanBeatenText, 0, PsychicNathanScript
 
 PsychicNathanScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5830e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 
@@ -115,11 +115,11 @@
 	trainer EVENT_BEAT_SUPER_NERD_STAN, SUPER_NERD, STAN, UnknownText_0x581e5, UnknownText_0x58217, 0, UnknownScript_0x580a9
 
 UnknownScript_0x580a9:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x58250
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 
--- a/maps/RuinsofAlphResearchCenter.asm
+++ b/maps/RuinsofAlphResearchCenter.asm
@@ -43,17 +43,17 @@
 	spriteface $4, DOWN
 	loadfont
 	writetext UnknownText_0x59278
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $4, MovementData_0x59274
 	loadfont
 	writetext UnknownText_0x592fa
 	playsound SFX_ITEM
-	waitbutton
+	waitsfx
 	setflag ENGINE_UNOWN_DEX
 	writetext UnknownText_0x59311
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $4, MovementData_0x59276
 	dotrigger $0
 	special RestartMapMusic
@@ -65,14 +65,14 @@
 	checkcode VAR_UNOWNCOUNT
 	if_equal 26, UnknownScript_0x591df
 	writetext UnknownText_0x59311
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x591df:
 	writetext UnknownText_0x5935f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ScientistScript_0x591e5:
@@ -85,26 +85,26 @@
 	checkevent EVENT_MADE_UNOWN_APPEAR_IN_RUINS
 	iftrue UnknownScript_0x591ff
 	writetext UnknownText_0x593ed
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x591ff:
 	writetext UnknownText_0x59478
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x59205:
 	writetext UnknownText_0x59445
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x5920b:
 	writetext UnknownText_0x594cb
+	waitbutton
 	closetext
-	loadmovesprites
 	clearevent EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_YOUNGSTERS
 	end
 
@@ -116,20 +116,20 @@
 	checkevent EVENT_MADE_UNOWN_APPEAR_IN_RUINS
 	iftrue UnknownScript_0x59228
 	writetext UnknownText_0x5954f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x59228:
 	writetext UnknownText_0x595cb
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x5922e:
 	writetext UnknownText_0x59769
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRuinsofAlphResearchCenterSignpost1Script:
@@ -140,14 +140,14 @@
 	if_equal 26, UnknownScript_0x59247
 UnknownScript_0x59241:
 	writetext UnknownText_0x597b6
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x59247:
 	writetext UnknownText_0x597d9
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapRuinsofAlphResearchCenterSignpost2Script:
@@ -158,15 +158,15 @@
 	if_equal 26, UnknownScript_0x59260
 UnknownScript_0x5925a:
 	writetext UnknownText_0x5980e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x59260:
 	writetext UnknownText_0x5982d
-	closetext
+	waitbutton
 	special Special_UnownPrinter
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x59269:
--- a/maps/SafariZoneWardensHome.asm
+++ b/maps/SafariZoneWardensHome.asm
@@ -11,14 +11,14 @@
 	checkevent EVENT_TALKED_TO_WARDENS_GRANDDAUGHTER
 	iftrue .AlreadyMet
 	writetext WardensGranddaughterText1
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_TALKED_TO_WARDENS_GRANDDAUGHTER
 	end
 .AlreadyMet
 	writetext WardensGranddaughterText2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 WardenPhoto:
--- a/maps/SaffronCity.asm
+++ b/maps/SaffronCity.asm
@@ -18,14 +18,14 @@
 	checkevent EVENT_RETURNED_MACHINE_PART
 	iftrue UnknownScript_0x199338
 	writetext UnknownText_0x19938d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x199338:
 	writetext UnknownText_0x19940d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 PokefanMScript_0x19933e:
@@ -34,14 +34,14 @@
 	checkevent EVENT_RETURNED_MACHINE_PART
 	iftrue UnknownScript_0x19934c
 	writetext UnknownText_0x199460
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x19934c:
 	writetext UnknownText_0x1994ae
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CooltrainerMScript_0x199352:
@@ -56,14 +56,14 @@
 	checkevent EVENT_RETURNED_MACHINE_PART
 	iftrue UnknownScript_0x199366
 	writetext UnknownText_0x1995fc
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x199366:
 	writetext UnknownText_0x19964b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x19936c:
--- a/maps/SaffronGym.asm
+++ b/maps/SaffronGym.asm
@@ -11,10 +11,10 @@
 	checkflag ENGINE_MARSHBADGE
 	iftrue .FightDone
 	writetext UnknownText_0x189cdf
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x189df4, 0
-	loadtrainer SABRINA, 1
+	scriptedtrainerdata SABRINA, 1
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_SABRINA
@@ -25,17 +25,17 @@
 	loadfont
 	writetext UnknownText_0x189e95
 	playsound SFX_GET_BADGE
-	waitbutton
+	waitsfx
 	setflag ENGINE_MARSHBADGE
 	writetext UnknownText_0x189ead
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .FightDone
 	writetext UnknownText_0x189f6c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerMediumRebecca:
@@ -42,11 +42,11 @@
 	trainer EVENT_BEAT_MEDIUM_REBECCA, MEDIUM, REBECCA, MediumRebeccaSeenText, MediumRebeccaBeatenText, 0, MediumRebeccaScript
 
 MediumRebeccaScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x18a034
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPsychicFranklin:
@@ -53,11 +53,11 @@
 	trainer EVENT_BEAT_PSYCHIC_FRANKLIN, PSYCHIC_T, FRANKLIN, PsychicFranklinSeenText, PsychicFranklinBeatenText, 0, PsychicFranklinScript
 
 PsychicFranklinScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x18a0a6
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerMediumDoris:
@@ -64,11 +64,11 @@
 	trainer EVENT_BEAT_MEDIUM_DORIS, MEDIUM, DORIS, MediumDorisSeenText, MediumDorisBeatenText, 0, MediumDorisScript
 
 MediumDorisScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x18a136
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPsychicJared:
@@ -75,11 +75,11 @@
 	trainer EVENT_BEAT_PSYCHIC_JARED, PSYCHIC_T, JARED, PsychicJaredSeenText, PsychicJaredBeatenText, 0, PsychicJaredScript
 
 PsychicJaredScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x18a1b3
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SaffronGymGuyScript:
@@ -88,14 +88,14 @@
 	checkevent EVENT_BEAT_SABRINA
 	iftrue .SaffronGymGuyWinScript
 	writetext SaffronGymGuyText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .SaffronGymGuyWinScript
 	writetext SaffronGymGuyWinText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SaffronGymStatue:
--- a/maps/SaffronMart.asm
+++ b/maps/SaffronMart.asm
@@ -8,7 +8,7 @@
 ClerkScript_0x18a3bf:
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_SAFFRON
-	loadmovesprites
+	closetext
 	end
 
 CooltrainerMScript_0x18a3c6:
--- a/maps/SaffronPokeCenter1F.asm
+++ b/maps/SaffronPokeCenter1F.asm
@@ -22,14 +22,14 @@
 	checkevent EVENT_RETURNED_MACHINE_PART
 	iftrue .SolvedKantoPowerCrisis
 	writetext UnknownText_0x18a5d3
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .SolvedKantoPowerCrisis:
 	writetext UnknownText_0x18a62e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungsterScript_0x18a4a0:
--- a/maps/SaffronTrainStation.asm
+++ b/maps/SaffronTrainStation.asm
@@ -17,8 +17,8 @@
 	checkevent EVENT_RESTORED_POWER_TO_KANTO
 	iftrue .MagnetTrainToGoldenrod
 	writetext UnknownText_0x18a8a9
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .MagnetTrainToGoldenrod:
@@ -28,8 +28,8 @@
 	checkitem PASS
 	iffalse .PassNotInBag
 	writetext UnknownText_0x18a917
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $2, MovementData_0x18a88f
 	applymovement PLAYER, MovementData_0x18a898
 	writebyte $1
@@ -46,14 +46,14 @@
 
 .PassNotInBag:
 	writetext UnknownText_0x18a956
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .DecidedNotToRide:
 	writetext UnknownText_0x18a978
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 Script_ArriveFromGoldenrod:
@@ -62,8 +62,8 @@
 	applymovement $2, MovementData_0x18a894
 	loadfont
 	writetext UnknownText_0x18a993
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GymGuyScript_0x18a875:
@@ -72,14 +72,14 @@
 	checkevent EVENT_RETURNED_MACHINE_PART
 	iftrue UnknownScript_0x18a883
 	writetext UnknownText_0x18a9ca
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x18a883:
 	writetext UnknownText_0x18aa61
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TeacherScript_0x18a889:
--- a/maps/SeafoamGym.asm
+++ b/maps/SeafoamGym.asm
@@ -17,10 +17,10 @@
 	checkflag ENGINE_VOLCANOBADGE
 	iftrue .FightDone
 	writetext UnknownText_0x1ab548
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x1ab646, 0
-	loadtrainer BLAINE, 1
+	scriptedtrainerdata BLAINE, 1
 	startbattle
 	iftrue .ReturnAfterBattle
 	appear $3
@@ -30,17 +30,17 @@
 	loadfont
 	writetext UnknownText_0x1ab683
 	playsound SFX_GET_BADGE
-	waitbutton
+	waitsfx
 	setflag ENGINE_VOLCANOBADGE
 	writetext UnknownText_0x1ab69d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .FightDone
 	writetext UnknownText_0x1ab71c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SeafoamGymGuyScript:
@@ -49,15 +49,15 @@
 	checkevent EVENT_TALKED_TO_SEAFOAM_GYM_GUY_ONCE
 	iftrue .TalkedToSeafoamGymGuyScript
 	writetext SeafoamGymGuyWinText
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_TALKED_TO_SEAFOAM_GYM_GUY_ONCE
 	end
 
 .TalkedToSeafoamGymGuyScript
 	writetext SeafoamGymGuyWinText2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownText_0x1ab548:
--- a/maps/SilphCo1F.asm
+++ b/maps/SilphCo1F.asm
@@ -20,9 +20,9 @@
 	setevent EVENT_GOT_UP_GRADE
 UnknownScript_0x18abfd:
 	writetext UnknownText_0x18aca8
-	closetext
+	waitbutton
 UnknownScript_0x18ac01:
-	loadmovesprites
+	closetext
 	end
 
 UnknownText_0x18ac03:
--- a/maps/SilverCaveRoom3.asm
+++ b/maps/SilverCaveRoom3.asm
@@ -10,10 +10,10 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x18c637
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x18c63c, UnknownText_0x18c63c
-	loadtrainer RED, 1
+	scriptedtrainerdata RED, 1
 	startbattle
 	reloadmapmusic
 	returnafterbattle
@@ -20,8 +20,8 @@
 	special Special_RotatePalettesRightMusic
 	loadfont
 	writetext UnknownText_0x18c63f
+	waitbutton
 	closetext
-	loadmovesprites
 	special Special_FadeBlackQuickly
 	special Special_ReloadSpritesNoPalettes
 	disappear $2
--- a/maps/SlowpokeWellB1F.asm
+++ b/maps/SlowpokeWellB1F.asm
@@ -12,11 +12,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTM_29, GRUNTM, 29, GruntM29SeenText, GruntM29BeatenText, 0, GruntM29Script
 
 GruntM29Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext TrainerGruntM29SlowpokeProfitText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerGruntM1:
@@ -25,8 +25,8 @@
 GruntM1Script:
 	loadfont
 	writetext TrainerGruntM1WhenTalkText
+	waitbutton
 	closetext
-	loadmovesprites
 	special Special_FadeBlackQuickly
 	special Special_ReloadSpritesNoPalettes
 	disappear $2
@@ -42,8 +42,8 @@
 	spriteface PLAYER, RIGHT
 	loadfont
 	writetext KurtLeaveSlowpokeWellText
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_CLEARED_SLOWPOKE_WELL
 	variablesprite SPRITE_AZALEA_ROCKET, SPRITE_SILVER
 	domaptrigger AZALEA_TOWN, $1
@@ -66,11 +66,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTM_2, GRUNTM, 2, GruntM2SeenText, GruntM2BeatenText, 0, GruntM2Script
 
 GruntM2Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5aaf2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerGruntF1:
@@ -77,11 +77,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTF_1, GRUNTF, 1, GruntF1SeenText, GruntF1BeatenText, 0, GruntF1Script
 
 GruntF1Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5ab8d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SlowpokeScript_0x5a681:
@@ -91,13 +91,13 @@
 	writetext UnknownText_0x5abcb
 	yesorno
 	iftrue UnknownScript_0x5a68f
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x5a68f:
 	writetext UnknownText_0x5ac09
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SlowpokeScript_0x5a695:
@@ -105,8 +105,8 @@
 	loadfont
 	writetext UnknownText_0x5ac61
 	cry SLOWPOKE
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SlowpokeWellB1FBoulder:
--- a/maps/SlowpokeWellB2F.asm
+++ b/maps/SlowpokeWellB2F.asm
@@ -16,13 +16,13 @@
 	iffalse UnknownScript_0x5ad20
 	setevent EVENT_GOT_KINGS_ROCK_IN_SLOWPOKE_WELL
 UnknownScript_0x5ad20:
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x5ad22:
 	writetext UnknownText_0x5adf2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ItemFragment_0x5ad28:
--- a/maps/SproutTower1F.asm
+++ b/maps/SproutTower1F.asm
@@ -21,11 +21,11 @@
 	trainer EVENT_BEAT_SAGE_CHOW, SAGE, CHOW, SageChowSeenText, SageChowBeatenText, 0, SageChowScript
 
 SageChowScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x184583
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ItemFragment_0x18451e:
--- a/maps/SproutTower2F.asm
+++ b/maps/SproutTower2F.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_SAGE_NICO, SAGE, NICO, SageNicoSeenText, SageNicoBeatenText, 0, SageNicoScript
 
 SageNicoScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1847ff
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSageEdmond:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_SAGE_EDMOND, SAGE, EDMOND, SageEdmondSeenText, SageEdmondBeatenText, 0, SageEdmondScript
 
 SageEdmondScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x18486f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapSproutTower2FSignpost0Script:
--- a/maps/SproutTower3F.asm
+++ b/maps/SproutTower3F.asm
@@ -30,8 +30,8 @@
 	applymovement $8, MovementData_0x184a22
 	loadfont
 	writetext UnknownText_0x184a27
+	waitbutton
 	closetext
-	loadmovesprites
 	showemote EMOTE_SHOCK, $8, 15
 	spriteface $8, DOWN
 	pause 15
@@ -39,18 +39,18 @@
 	playmusic MUSIC_RIVAL_ENCOUNTER
 	loadfont
 	writetext UnknownText_0x184aec
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $8, UP
 	loadfont
 	writetext UnknownText_0x184bc8
 	pause 15
-	loadmovesprites
+	closetext
 	playsound SFX_WARP_TO
 	special Special_FadeBlackQuickly
 	special Special_ReloadSpritesNoPalettes
 	disappear $8
-	waitbutton
+	waitsfx
 	special Special_RotatePalettesLeftQuickly
 	dotrigger $1
 	special RestartMapMusic
@@ -62,10 +62,10 @@
 	checkevent EVENT_GOT_HM05_FLASH
 	iftrue UnknownScript_0x1849d1
 	writetext SageLiSeenText
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext SageLiBeatenText, 0
-	loadtrainer SAGE, LI
+	scriptedtrainerdata SAGE, LI
 	startbattle
 	returnafterbattle
 	loadfont
@@ -75,14 +75,14 @@
 	setevent EVENT_GOT_HM05_FLASH
 	setevent EVENT_BEAT_SAGE_LI
 	writetext UnknownText_0x184d13
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1849d1:
 	writetext UnknownText_0x184d88
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSageJin:
@@ -89,11 +89,11 @@
 	trainer EVENT_BEAT_SAGE_JIN, SAGE, JIN, SageJinSeenText, SageJinBeatenText, 0, SageJinScript
 
 SageJinScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x184dfa
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSageTroy:
@@ -100,11 +100,11 @@
 	trainer EVENT_BEAT_SAGE_TROY, SAGE, TROY, SageTroySeenText, SageTroyBeatenText, 0, SageTroyScript
 
 SageTroyScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x184ea4
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSageNeal:
@@ -111,11 +111,11 @@
 	trainer EVENT_BEAT_SAGE_NEAL, SAGE, NEAL, SageNealSeenText, SageNealBeatenText, 0, SageNealScript
 
 SageNealScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x184f12
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapSproutTower3FSignpost3Script:
--- a/maps/TeamRocketBaseB1F.asm
+++ b/maps/TeamRocketBaseB1F.asm
@@ -231,11 +231,11 @@
 TrainerCameraGrunt1:
 	loadfont
 	writetext CameraGrunt1SeenText
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext CameraGrunt1BeatenText, 0
 	setlasttalked $2
-	loadtrainer GRUNTM, 20
+	scriptedtrainerdata GRUNTM, 20
 	startbattle
 	disappear $2
 	returnafterbattle
@@ -244,11 +244,11 @@
 TrainerCameraGrunt2:
 	loadfont
 	writetext CameraGrunt2SeenText
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext CameraGrunt2BeatenText, 0
 	setlasttalked $2
-	loadtrainer GRUNTM, 21
+	scriptedtrainerdata GRUNTM, 21
 	startbattle
 	disappear $2
 	returnafterbattle
@@ -450,7 +450,7 @@
 	special RotatePalettesLeftPalettes
 	setlasttalked $ff
 	writecode VAR_BATTLETYPE, BATTLETYPE_TRAP
-	loadpokedata VOLTORB, 23
+	scriptedpokedata VOLTORB, 23
 	startbattle
 	end
 
@@ -460,7 +460,7 @@
 	special RotatePalettesLeftPalettes
 	setlasttalked $ff
 	writecode VAR_BATTLETYPE, BATTLETYPE_TRAP
-	loadpokedata GEODUDE, 21
+	scriptedpokedata GEODUDE, 21
 	startbattle
 	end
 
@@ -470,7 +470,7 @@
 	special RotatePalettesLeftPalettes
 	setlasttalked $ff
 	writecode VAR_BATTLETYPE, BATTLETYPE_TRAP
-	loadpokedata KOFFING, 21
+	scriptedpokedata KOFFING, 21
 	startbattle
 	end
 
@@ -481,11 +481,11 @@
 	trainer EVENT_BEAT_SCIENTIST_JED, SCIENTIST, JED, ScientistJedSeenText, ScientistJedBeatenText, 0, ScientistJedScript
 
 ScientistJedScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x6cc16
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerGruntM16:
@@ -492,11 +492,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTM_16, GRUNTM, 16, GruntM16SeenText, GruntM16BeatenText, 0, GruntM16Script
 
 GruntM16Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x6cd1b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapTeamRocketBaseB1FSignpost5Script:
@@ -511,8 +511,8 @@
 	iftrue UnknownScript_0x6cabe
 	writetext UnknownText_0x6cdad
 	playsound SFX_TALLY
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_TURNED_OFF_SECURITY_CAMERAS
 	setevent EVENT_SECURITY_CAMERA_1
 	setevent EVENT_SECURITY_CAMERA_2
@@ -523,8 +523,8 @@
 
 UnknownScript_0x6cabe:
 	writetext UnknownText_0x6cdd0
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ItemFragment_0x6cac4:
--- a/maps/TeamRocketBaseB2F.asm
+++ b/maps/TeamRocketBaseB2F.asm
@@ -50,8 +50,8 @@
 	appear $2
 	loadfont
 	writetext UnknownText_0x6d2ad
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface PLAYER, DOWN
 	showemote EMOTE_SHOCK, PLAYER, 15
 	applymovement PLAYER, MovementData_0x6d21f
@@ -61,8 +61,8 @@
 	applymovement $2, MovementData_0x6d22f
 	loadfont
 	writetext UnknownText_0x6d2c3
+	waitbutton
 	closetext
-	loadmovesprites
 	cry DRAGONITE
 	spriteface $3, LEFT
 	spriteface PLAYER, LEFT
@@ -74,19 +74,19 @@
 	applymovement $4, MovementData_0x6d244
 	loadfont
 	writetext UnknownText_0x6d38c
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface PLAYER, RIGHT
 	applymovement $3, MovementData_0x6d241
 	loadfont
 	writetext UnknownText_0x6d3bd
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $2, MovementData_0x6d24a
 	applymovement $3, MovementData_0x6d248
 	winlosstext UnknownText_0x6d45c, 0
 	setlasttalked $3
-	loadtrainer EXECUTIVEF, 2
+	scriptedtrainerdata EXECUTIVEF, 2
 	startbattle
 	disappear $5
 	setevent EVENT_TEAM_ROCKET_BASE_B2F_EXECUTIVE
@@ -96,8 +96,8 @@
 	setevent EVENT_BEAT_ROCKET_EXECUTIVEF_2
 	loadfont
 	writetext UnknownText_0x6d4c6
+	waitbutton
 	closetext
-	loadmovesprites
 	special Special_FadeBlackQuickly
 	special Special_ReloadSpritesNoPalettes
 	disappear $2
@@ -112,14 +112,14 @@
 	spriteface $4, DOWN
 	loadfont
 	writetext UnknownText_0x6d5d8
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $4, MovementData_0x6d250
 	spriteface PLAYER, UP
 	loadfont
 	writetext UnknownText_0x6d64e
+	waitbutton
 	closetext
-	loadmovesprites
 	follow $4, PLAYER
 	applymovement $4, MovementData_0x6d254
 	stopfollow
@@ -126,8 +126,8 @@
 	applymovement $4, MovementData_0x6d258
 	loadfont
 	writetext UnknownText_0x6d6cf
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $4, MovementData_0x6d267
 	disappear $4
 
@@ -138,8 +138,8 @@
 UnknownScript_0x6d07a:
 	loadfont
 	writetext UnknownText_0x6d7ea
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement PLAYER, MovementData_0x6d278
 	end
 
@@ -153,8 +153,8 @@
 UnknownScript_0x6d091:
 	loadfont
 	writetext UnknownText_0x6da97
+	waitbutton
 	closetext
-	loadmovesprites
 	special RotatePalettesRightPalettes
 	special Mobile_HealParty
 	playsound SFX_FULL_HEAL
@@ -162,8 +162,8 @@
 	special RotatePalettesLeftPalettes
 	loadfont
 	writetext UnknownText_0x6daf7
+	waitbutton
 	closetext
-	loadmovesprites
 	dotrigger $1
 	setevent EVENT_LANCE_HEALED_YOU_IN_TEAM_ROCKET_BASE
 	checkcode VAR_FACING
@@ -181,11 +181,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTM_17, GRUNTM, 17, GruntM17SeenText, GruntM17BeatenText, 0, GruntM17Script
 
 GruntM17Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x6db88
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerGruntM18:
@@ -192,11 +192,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTM_18, GRUNTM, 18, GruntM18SeenText, GruntM18BeatenText, 0, GruntM18Script
 
 GruntM18Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x6dc1a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerGruntM19:
@@ -203,16 +203,16 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTM_19, GRUNTM, 19, GruntM19SeenText, GruntM19BeatenText, 0, GruntM19Script
 
 GruntM19Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x6dcd1
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 VoltorbScript_0x6d101:
 	cry ELECTRODE
-	loadpokedata ELECTRODE, 23
+	scriptedpokedata ELECTRODE, 23
 	startbattle
 	iftrue UnknownScript_0x6d182
 	disappear $6
@@ -230,7 +230,7 @@
 
 VoltorbScript_0x6d12c:
 	cry ELECTRODE
-	loadpokedata ELECTRODE, 23
+	scriptedpokedata ELECTRODE, 23
 	startbattle
 	iftrue UnknownScript_0x6d182
 	disappear $7
@@ -248,7 +248,7 @@
 
 VoltorbScript_0x6d157:
 	cry ELECTRODE
-	loadpokedata ELECTRODE, 23
+	scriptedpokedata ELECTRODE, 23
 	startbattle
 	iftrue UnknownScript_0x6d182
 	disappear $8
@@ -279,13 +279,13 @@
 	verbosegiveitem HM_WHIRLPOOL
 	setevent EVENT_GOT_HM06_WHIRLPOOL
 	writetext UnknownText_0x6d8f8
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $4, DOWN
 	loadfont
 	writetext UnknownText_0x6d994
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface PLAYER, DOWN
 	applymovement $4, MovementData_0x6d283
 	disappear $4
@@ -313,19 +313,19 @@
 	checkevent EVENT_LEARNED_HAIL_GIOVANNI
 	iftrue UnknownScript_0x6d1e8
 	writetext UnknownText_0x6dd39
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x6d1e8:
 	writetext UnknownText_0x6dd6b
-	closetext
+	waitbutton
 	playsound SFX_ENTER_DOOR
 	changeblock $e, $c, $7
 	reloadmappart
-	loadmovesprites
+	closetext
 	setevent EVENT_OPENED_DOOR_TO_ROCKET_HIDEOUT_TRANSMITTER
-	waitbutton
+	waitsfx
 	end
 
 MapTeamRocketBaseB2FSignpost21Script:
@@ -333,14 +333,14 @@
 	checkevent EVENT_CLEARED_ROCKET_HIDEOUT
 	iftrue UnknownScript_0x6d207
 	writetext UnknownText_0x6dda7
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x6d207:
 	writetext UnknownText_0x6de03
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ItemFragment_0x6d20d:
--- a/maps/TeamRocketBaseB3F.asm
+++ b/maps/TeamRocketBaseB3F.asm
@@ -45,8 +45,8 @@
 	applymovement $2, MovementData_0x6e12a
 	loadfont
 	writetext UnknownText_0x6e179
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $2, MovementData_0x6e12c
 	disappear $2
 	dotrigger $1
@@ -62,8 +62,8 @@
 	playmusic MUSIC_RIVAL_ENCOUNTER
 	loadfont
 	writetext UnknownText_0x6e267
+	waitbutton
 	closetext
-	loadmovesprites
 	playsound SFX_TACKLE
 	applymovement PLAYER, MovementData_0x6e175
 	applymovement $a, MovementData_0x6e16d
@@ -88,19 +88,19 @@
 	spriteface $3, DOWN
 	loadfont
 	writetext UnknownText_0x6e400
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $3, MovementData_0x6e142
 	winlosstext UnknownText_0x6e511, 0
 	setlasttalked $3
-	loadtrainer EXECUTIVEM, 4
+	scriptedtrainerdata EXECUTIVEM, 4
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_ROCKET_EXECUTIVEM_4
 	loadfont
 	writetext UnknownText_0x6e548
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $3, MovementData_0x6e144
 	playsound SFX_TACKLE
 	applymovement $3, MovementData_0x6e147
@@ -111,8 +111,8 @@
 MoltresScript_0x6e091:
 	loadfont
 	writetext UnknownText_0x6e585
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_LEARNED_HAIL_GIOVANNI
 	end
 
@@ -120,11 +120,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTF_5, GRUNTF, 5, GruntF5SeenText, GruntF5BeatenText, 0, GruntF5Script
 
 GruntF5Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x6e611
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_LEARNED_SLOWPOKETAIL
 	end
 
@@ -132,11 +132,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTM_28, GRUNTM, 28, GruntM28SeenText, GruntM28BeatenText, 0, GruntM28Script
 
 GruntM28Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x6e737
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_LEARNED_RATICATE_TAIL
 	end
 
@@ -144,11 +144,11 @@
 	trainer EVENT_BEAT_SCIENTIST_ROSS, SCIENTIST, ROSS, ScientistRossSeenText, ScientistRossBeatenText, 0, ScientistRossScript
 
 ScientistRossScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x6e822
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerScientistMitch:
@@ -155,11 +155,11 @@
 	trainer EVENT_BEAT_SCIENTIST_MITCH, SCIENTIST, MITCH, ScientistMitchSeenText, ScientistMitchBeatenText, 0, ScientistMitchScript
 
 ScientistMitchScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x6e90a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 BossDoor:
@@ -176,19 +176,19 @@
 
 .NeedsPassword
 	writetext UnknownText_0x6e970
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .OpenSesame
 	writetext UnknownText_0x6e9a3
-	closetext
+	waitbutton
 	playsound SFX_ENTER_DOOR
 	changeblock $a, $8, $7
 	reloadmappart
-	loadmovesprites
+	closetext
 	setevent EVENT_OPENED_DOOR_TO_GIOVANNIS_OFFICE
-	waitbutton
+	waitsfx
 	end
 
 MapTeamRocketBaseB3FSignpost9Script:
--- a/maps/TimeCapsule.asm
+++ b/maps/TimeCapsule.asm
@@ -45,8 +45,8 @@
 ChrisScript_0x19351a:
 	loadfont
 	writetext UnknownText_0x193521
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownText_0x193521:
--- a/maps/TinTower1F.asm
+++ b/maps/TinTower1F.asm
@@ -91,7 +91,7 @@
 	applymovement $3, MovementData_0x1851d4
 	disappear $3
 	playsound SFX_EXIT_BUILDING
-	waitbutton
+	waitsfx
 UnknownScript_0x1850b6:
 	writebyte ENTEI
 	special SpecialMonCheck
@@ -104,7 +104,7 @@
 	applymovement $4, MovementData_0x1851de
 	disappear $4
 	playsound SFX_EXIT_BUILDING
-	waitbutton
+	waitsfx
 UnknownScript_0x1850d7:
 	spriteface PLAYER, UP
 	pause 10
@@ -112,7 +112,7 @@
 	applymovement $2, MovementData_0x1851e4
 	cry SUICUNE
 	pause 20
-	loadpokedata SUICUNE, 40
+	scriptedpokedata SUICUNE, 40
 	writecode VAR_BATTLETYPE, BATTLETYPE_SUICUNE
 	startbattle
 	reloadmapmusic
@@ -152,12 +152,12 @@
 	spriteface PLAYER, RIGHT
 	loadfont
 	writetext UnknownText_0x185203
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $5, MovementData_0x1851f1
 	playsound SFX_EXIT_BUILDING
 	disappear $5
-	waitbutton
+	waitsfx
 	special Special_RotatePalettesRightMusic
 	pause 20
 	playmapmusic
@@ -190,26 +190,26 @@
 	writetext UnknownText_0x185629
 	keeptextopen
 	verbosegiveitem RAINBOW_WING
-	loadmovesprites
+	closetext
 	refreshscreen $0
 	earthquake 72
-	waitbutton
+	waitsfx
 	playsound SFX_STRENGTH
 	changeblock $a, $2, $20
 	reloadmappart
 	setevent EVENT_GOT_RAINBOW_WING
-	loadmovesprites
+	closetext
 	loadfont
 UnknownScript_0x1851b0:
 	writetext UnknownText_0x18564a
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1851b6:
 	writetext UnknownText_0x185803
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SageScript_0x1851bc:
--- a/maps/TinTowerRoof.asm
+++ b/maps/TinTowerRoof.asm
@@ -30,10 +30,10 @@
 	writetext UnknownText_0x77260
 	cry HO_OH
 	pause 15
-	loadmovesprites
+	closetext
 	setevent EVENT_FOUGHT_HO_OH
 	writecode VAR_BATTLETYPE, BATTLETYPE_FORCEITEM
-	loadpokedata HO_OH, 60
+	scriptedpokedata HO_OH, 60
 	startbattle
 	disappear $2
 	returnafterbattle
--- a/maps/TradeCenter.asm
+++ b/maps/TradeCenter.asm
@@ -45,8 +45,8 @@
 ChrisScript_0x19340b:
 	loadfont
 	writetext .FriendReadyText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .FriendReadyText:
--- a/maps/TrainerHouseB1F.asm
+++ b/maps/TrainerHouseB1F.asm
@@ -33,18 +33,18 @@
 	iffalse UnknownScript_0x9b3ed
 	setflag ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY
 	writetext UnknownText_0x9b4a2
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement PLAYER, MovementData_0x9b401
 	loadfont
 	writetext UnknownText_0x9b587
+	waitbutton
 	closetext
-	loadmovesprites
 	special SpecialTrainerHouse
 	iffalse UnknownScript_0x9b3dc
 	winlosstext UnknownText_0x9b578, 0
 	setlasttalked $3
-	loadtrainer CAL, CAL2
+	scriptedtrainerdata CAL, CAL2
 	startbattle
 	returnafterbattle
 	iffalse UnknownScript_0x9b3e8
@@ -51,7 +51,7 @@
 UnknownScript_0x9b3dc:
 	winlosstext UnknownText_0x9b578, 0
 	setlasttalked $3
-	loadtrainer CAL, CAL3
+	scriptedtrainerdata CAL, CAL3
 	startbattle
 	returnafterbattle
 UnknownScript_0x9b3e8:
@@ -60,15 +60,15 @@
 
 UnknownScript_0x9b3ed:
 	writetext UnknownText_0x9b4d6
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement PLAYER, MovementData_0x9b41d
 	end
 
 UnknownScript_0x9b3f7:
 	writetext UnknownText_0x9b51d
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement PLAYER, MovementData_0x9b41d
 	end
 
--- a/maps/UndergroundPathSwitchRoomEntrances.asm
+++ b/maps/UndergroundPathSwitchRoomEntrances.asm
@@ -84,7 +84,7 @@
 	pause 15
 	playsound SFX_EXIT_BUILDING
 	appear $c
-	waitbutton
+	waitsfx
 	applymovement $c, MovementData_0x7ce87
 	spriteface PLAYER, RIGHT
 	scall UnknownScript_0x7cad4
@@ -92,7 +92,7 @@
 	playsound SFX_EXIT_BUILDING
 	disappear $c
 	dotrigger $1
-	waitbutton
+	waitsfx
 	playmapmusic
 	end
 
@@ -103,7 +103,7 @@
 	pause 15
 	playsound SFX_EXIT_BUILDING
 	appear $c
-	waitbutton
+	waitsfx
 	applymovement $c, MovementData_0x7ce8c
 	spriteface PLAYER, RIGHT
 	scall UnknownScript_0x7cad4
@@ -111,7 +111,7 @@
 	playsound SFX_EXIT_BUILDING
 	disappear $c
 	dotrigger $1
-	waitbutton
+	waitsfx
 	playmapmusic
 	end
 
@@ -124,8 +124,8 @@
 	playmusic MUSIC_RIVAL_ENCOUNTER
 	loadfont
 	writetext UnknownText_0x7ce9d
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_RIVAL_UNDERGROUND_PATH
 	checkevent EVENT_GOT_TOTODILE_FROM_ELM
 	iftrue UnknownScript_0x7cb09
@@ -133,7 +133,7 @@
 	iftrue UnknownScript_0x7cb19
 	winlosstext UnknownText_0x7cf5d, UnknownText_0x7d102
 	setlasttalked $c
-	loadtrainer RIVAL1, RIVAL1_12
+	scriptedtrainerdata RIVAL1, RIVAL1_12
 	startbattle
 	reloadmapmusic
 	returnafterbattle
@@ -142,7 +142,7 @@
 UnknownScript_0x7cb09:
 	winlosstext UnknownText_0x7cf5d, UnknownText_0x7d102
 	setlasttalked $c
-	loadtrainer RIVAL1, RIVAL1_10
+	scriptedtrainerdata RIVAL1, RIVAL1_10
 	startbattle
 	reloadmapmusic
 	returnafterbattle
@@ -151,7 +151,7 @@
 UnknownScript_0x7cb19:
 	winlosstext UnknownText_0x7cf5d, UnknownText_0x7d102
 	setlasttalked $c
-	loadtrainer RIVAL1, RIVAL1_11
+	scriptedtrainerdata RIVAL1, RIVAL1_11
 	startbattle
 	reloadmapmusic
 	returnafterbattle
@@ -161,8 +161,8 @@
 	playmusic MUSIC_RIVAL_AFTER
 	loadfont
 	writetext UnknownText_0x7cfc2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerGruntM11:
@@ -169,11 +169,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTM_11, GRUNTM, 11, GruntM11SeenText, GruntM11BeatenText, 0, GruntM11Script
 
 GruntM11Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x7d290
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerGruntM25:
@@ -180,11 +180,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTM_25, GRUNTM, 25, GruntM25SeenText, GruntM25BeatenText, 0, GruntM25Script
 
 GruntM25Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x7d347
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBurglarDuncan:
@@ -191,11 +191,11 @@
 	trainer EVENT_BEAT_BURGLAR_DUNCAN, BURGLAR, DUNCAN, BurglarDuncanSeenText, BurglarDuncanBeatenText, 0, BurglarDuncanScript
 
 BurglarDuncanScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x7d3cf
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBurglarEddie:
@@ -202,11 +202,11 @@
 	trainer EVENT_BEAT_BURGLAR_EDDIE, BURGLAR, EDDIE, BurglarEddieSeenText, BurglarEddieBeatenText, 0, BurglarEddieScript
 
 BurglarEddieScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x7d45b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerGruntM13:
@@ -213,11 +213,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTM_13, GRUNTM, 13, GruntM13SeenText, GruntM13BeatenText, 0, GruntM13Script
 
 GruntM13Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x7d51f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerGruntF3:
@@ -224,11 +224,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTF_3, GRUNTF, 3, GruntF3SeenText, GruntF3BeatenText, 0, GruntF3Script
 
 GruntF3Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x7d5e6
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapUndergroundPathSwitchRoomEntrancesSignpost0Script:
@@ -336,7 +336,7 @@
 	jump UnknownScript_0x7cc8d
 
 UnknownScript_0x7cc8b:
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x7cc8d:
@@ -363,7 +363,7 @@
 	scall UnknownScript_0x7ce65
 	scall UnknownScript_0x7ce71
 	reloadmappart
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x7ccd7:
@@ -376,7 +376,7 @@
 	scall UnknownScript_0x7ce59
 	scall UnknownScript_0x7ce71
 	reloadmappart
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x7ccf2:
@@ -389,7 +389,7 @@
 	scall UnknownScript_0x7ce65
 	scall UnknownScript_0x7ce71
 	reloadmappart
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x7cd0d:
@@ -402,7 +402,7 @@
 	scall UnknownScript_0x7ce59
 	scall UnknownScript_0x7ce71
 	reloadmappart
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x7cd28:
@@ -415,7 +415,7 @@
 	scall UnknownScript_0x7ce65
 	scall UnknownScript_0x7ce71
 	reloadmappart
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x7cd43:
@@ -428,7 +428,7 @@
 	scall UnknownScript_0x7ce59
 	scall UnknownScript_0x7ce71
 	reloadmappart
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x7cd5e:
@@ -441,7 +441,7 @@
 	scall UnknownScript_0x7ce41
 	scall UnknownScript_0x7ce65
 	reloadmappart
-	loadmovesprites
+	closetext
 	end
 
 UnknownScript_0x7cd79:
@@ -458,7 +458,7 @@
 	scall UnknownScript_0x7ce65
 	scall UnknownScript_0x7ce05
 	reloadmappart
-	loadmovesprites
+	closetext
 	writebyte $6
 	copyvartobyte UndergroundSwitchPositions
 	end
--- a/maps/UndergroundWarehouse.asm
+++ b/maps/UndergroundWarehouse.asm
@@ -33,11 +33,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTM_24, GRUNTM, 24, GruntM24SeenText, GruntM24BeatenText, 0, GruntM24Script
 
 GruntM24Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x7da48
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerGruntM14:
@@ -44,11 +44,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTM_14, GRUNTM, 14, GruntM14SeenText, GruntM14BeatenText, 0, GruntM14Script
 
 GruntM14Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x7db01
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerGruntM15:
@@ -55,11 +55,11 @@
 	trainer EVENT_BEAT_ROCKET_GRUNTM_15, GRUNTM, 15, GruntM15SeenText, GruntM15BeatenText, 0, GruntM15Script
 
 GruntM15Script:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x7db8e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GentlemanScript_0x7d9bf:
@@ -78,8 +78,8 @@
 	keeptextopen
 UnknownScript_0x7d9de:
 	writetext UnknownText_0x7dc8d
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ItemFragment_0x7d9e4:
--- a/maps/UnionCave1F.asm
+++ b/maps/UnionCave1F.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_POKEMANIAC_LARRY, POKEMANIAC, LARRY, PokemaniacLarrySeenText, PokemaniacLarryBeatenText, 0, PokemaniacLarryScript
 
 PokemaniacLarryScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x59d31
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerHikerRussell:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_HIKER_RUSSELL, HIKER, RUSSELL, HikerRussellSeenText, HikerRussellBeatenText, 0, HikerRussellScript
 
 HikerRussellScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x59c6c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerHikerDaniel:
@@ -31,11 +31,11 @@
 	trainer EVENT_BEAT_HIKER_DANIEL, HIKER, DANIEL, HikerDanielSeenText, HikerDanielBeatenText, 0, HikerDanielScript
 
 HikerDanielScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x59dc9
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerFirebreatherBill:
@@ -42,11 +42,11 @@
 	trainer EVENT_BEAT_FIREBREATHER_BILL, FIREBREATHER, BILL, FirebreatherBillSeenText, FirebreatherBillBeatenText, 0, FirebreatherBillScript
 
 FirebreatherBillScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x59e6f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerFirebreatherRay:
@@ -53,11 +53,11 @@
 	trainer EVENT_BEAT_FIREBREATHER_RAY, FIREBREATHER, RAY, FirebreatherRaySeenText, FirebreatherRayBeatenText, 0, FirebreatherRayScript
 
 FirebreatherRayScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x59efc
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ItemFragment_0x59c00:
--- a/maps/UnionCaveB1F.asm
+++ b/maps/UnionCaveB1F.asm
@@ -9,11 +9,11 @@
 	trainer EVENT_BEAT_POKEMANIAC_ANDREW, POKEMANIAC, ANDREW, PokemaniacAndrewSeenText, PokemaniacAndrewBeatenText, 0, PokemaniacAndrewScript
 
 PokemaniacAndrewScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5a181
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPokemaniacCalvin:
@@ -20,11 +20,11 @@
 	trainer EVENT_BEAT_POKEMANIAC_CALVIN, POKEMANIAC, CALVIN, PokemaniacCalvinSeenText, PokemaniacCalvinBeatenText, 0, PokemaniacCalvinScript
 
 PokemaniacCalvinScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5a230
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerHikerPhillip:
@@ -31,11 +31,11 @@
 	trainer EVENT_BEAT_HIKER_PHILLIP, HIKER, PHILLIP, HikerPhillipSeenText, HikerPhillipBeatenText, 0, HikerPhillipScript
 
 HikerPhillipScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5a073
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerHikerLeonard:
@@ -42,11 +42,11 @@
 	trainer EVENT_BEAT_HIKER_LEONARD, HIKER, LEONARD, HikerLeonardSeenText, HikerLeonardBeatenText, 0, HikerLeonardScript
 
 HikerLeonardScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5a0fb
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ItemFragment_0x5a016:
--- a/maps/UnionCaveB2F.asm
+++ b/maps/UnionCaveB2F.asm
@@ -25,7 +25,7 @@
 SurfScript_0x5a31f:
 	faceplayer
 	cry LAPRAS
-	loadpokedata LAPRAS, 20
+	scriptedpokedata LAPRAS, 20
 	startbattle
 	disappear $7
 	setflag ENGINE_UNION_CAVE_LAPRAS
@@ -36,11 +36,11 @@
 	trainer EVENT_BEAT_COOLTRAINERM_NICK, COOLTRAINERM, NICK, CooltrainermNickSeenText, CooltrainermNickBeatenText, 0, CooltrainermNickScript
 
 CooltrainermNickScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5a3f0
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCooltrainerfGwen:
@@ -47,11 +47,11 @@
 	trainer EVENT_BEAT_COOLTRAINERF_GWEN, COOLTRAINERF, GWEN, CooltrainerfGwenSeenText, CooltrainerfGwenBeatenText, 0, CooltrainerfGwenScript
 
 CooltrainerfGwenScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5a488
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerCooltrainerfEmma:
@@ -58,11 +58,11 @@
 	trainer EVENT_BEAT_COOLTRAINERF_EMMA, COOLTRAINERF, EMMA, CooltrainerfEmmaSeenText, CooltrainerfEmmaBeatenText, 0, CooltrainerfEmmaScript
 
 CooltrainerfEmmaScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x5a52b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ItemFragment_0x5a36a:
--- a/maps/VermilionCity.asm
+++ b/maps/VermilionCity.asm
@@ -22,13 +22,13 @@
 	loadfont
 	writetext UnknownText_0x1aaaca
 	cry MACHOP
+	waitbutton
 	closetext
-	loadmovesprites
 	earthquake 30
 	loadfont
 	writetext UnknownText_0x1aaae2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SuperNerdScript_0x1aa99b:
@@ -39,8 +39,8 @@
 	special SpecialSnorlaxAwake
 	iftrue UnknownScript_0x1aa9ab
 	writetext UnknownText_0x1aab64
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1aa9ab:
@@ -47,9 +47,9 @@
 	writetext UnknownText_0x1aab84
 	pause 15
 	cry SNORLAX
-	loadmovesprites
+	closetext
 	writecode VAR_BATTLETYPE, BATTLETYPE_FORCEITEM
-	loadpokedata SNORLAX, 50
+	scriptedpokedata SNORLAX, 50
 	startbattle
 	disappear $6
 	setevent EVENT_FOUGHT_SNORLAX
@@ -66,20 +66,20 @@
 	if_greater_than 13, .MostBadges
 	if_greater_than 9, .SomeBadges
 	writetext UnknownText_0x1aabc8
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .SomeBadges
 	writetext UnknownText_0x1aac2b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .MostBadges
 	writetext UnknownText_0x1aac88
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .AllBadges
@@ -90,9 +90,9 @@
 	setevent EVENT_GOT_HP_UP_FROM_VERMILION_GUY
 .AlreadyGotItem
 	writetext UnknownText_0x1aad4a
-	closetext
+	waitbutton
 .Done
-	loadmovesprites
+	closetext
 	end
 
 VermilionCitySign:
--- a/maps/VermilionGym.asm
+++ b/maps/VermilionGym.asm
@@ -11,10 +11,10 @@
 	checkflag ENGINE_THUNDERBADGE
 	iftrue .FightDone
 	writetext UnknownText_0x192142
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x192238, 0
-	loadtrainer LT_SURGE, 1
+	scriptedtrainerdata LT_SURGE, 1
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_LTSURGE
@@ -24,17 +24,17 @@
 	loadfont
 	writetext UnknownText_0x192277
 	playsound SFX_GET_BADGE
-	waitbutton
+	waitsfx
 	setflag ENGINE_THUNDERBADGE
 	writetext UnknownText_0x192291
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .FightDone
 	writetext UnknownText_0x192303
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerGentlemanGregory:
@@ -41,11 +41,11 @@
 	trainer EVENT_BEAT_GENTLEMAN_GREGORY, GENTLEMAN, GREGORY, GentlemanGregorySeenText, GentlemanGregoryBeatenText, 0, GentlemanGregoryScript
 
 GentlemanGregoryScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1923b0
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerGuitaristVincent:
@@ -52,11 +52,11 @@
 	trainer EVENT_BEAT_GUITARIST_VINCENT, GUITARIST, VINCENT, GuitaristVincentSeenText, GuitaristVincentBeatenText, 0, GuitaristVincentScript
 
 GuitaristVincentScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x19244b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerJugglerHorton:
@@ -63,11 +63,11 @@
 	trainer EVENT_BEAT_JUGGLER_HORTON, JUGGLER, HORTON, JugglerHortonSeenText, JugglerHortonBeatenText, 0, JugglerHortonScript
 
 JugglerHortonScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x1924d6
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 VermilionGymGuyScript:
@@ -76,14 +76,14 @@
 	checkevent EVENT_BEAT_LTSURGE
 	iftrue .VermilionGymGuyWinScript
 	writetext VermilionGymGuyText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .VermilionGymGuyWinScript
 	writetext VermilionGymGuyWinText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapVermilionGymSignpost14Script:
--- a/maps/VermilionMart.asm
+++ b/maps/VermilionMart.asm
@@ -8,7 +8,7 @@
 ClerkScript_0x191f7e:
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_VERMILION
-	loadmovesprites
+	closetext
 	end
 
 SuperNerdScript_0x191f85:
--- a/maps/VermilionPokeCenter1F.asm
+++ b/maps/VermilionPokeCenter1F.asm
@@ -14,14 +14,14 @@
 	checkevent EVENT_FOUGHT_SNORLAX
 	iftrue UnknownScript_0x191614
 	writetext UnknownText_0x191620
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x191614:
 	writetext UnknownText_0x191698
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SailorScript_0x19161a:
--- a/maps/VermilionPort.asm
+++ b/maps/VermilionPort.asm
@@ -42,17 +42,17 @@
 	checkevent EVENT_GAVE_KURT_APRICORNS
 	iftrue UnknownScript_0x74e1a
 	writetext UnknownText_0x74f06
+	waitbutton
 	closetext
-	loadmovesprites
 	spriteface $2, DOWN
 	pause 10
 	playsound SFX_EXIT_BUILDING
 	disappear $2
-	waitbutton
+	waitsfx
 	applymovement PLAYER, MovementData_0x74ef1
 	playsound SFX_EXIT_BUILDING
 	special RotatePalettesRightPalettes
-	waitbutton
+	waitsfx
 	setevent EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
 	clearevent EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
 	clearevent EVENT_BEAT_POKEMANIAC_ETHAN
@@ -73,8 +73,8 @@
 
 UnknownScript_0x74e1a:
 	writetext UnknownText_0x74f31
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x74e20:
@@ -99,8 +99,8 @@
 	checkitem S_S_TICKET
 	iffalse UnknownScript_0x74e68
 	writetext UnknownText_0x74fc2
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_RECEIVED_BALLS_FROM_KURT
 	applymovement PLAYER, MovementData_0x74ef8
 	jump SailorScript_0x74dc4
@@ -107,22 +107,22 @@
 
 UnknownScript_0x74e68:
 	writetext UnknownText_0x74ff2
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement PLAYER, MovementData_0x74ef5
 	end
 
 UnknownScript_0x74e72:
 	writetext UnknownText_0x75059
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement PLAYER, MovementData_0x74ef5
 	end
 
 UnknownScript_0x74e7c:
 	writetext UnknownText_0x75080
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement PLAYER, MovementData_0x74ef5
 	end
 
@@ -131,14 +131,14 @@
 
 UnknownScript_0x74e87:
 	writetext UnknownText_0x74fa7
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x74e8d:
 	writetext UnknownText_0x74fa7
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement PLAYER, MovementData_0x74ef5
 	end
 
@@ -161,8 +161,8 @@
 	checkitem S_S_TICKET
 	iffalse UnknownScript_0x74ed4
 	writetext UnknownText_0x74fc2
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_RECEIVED_BALLS_FROM_KURT
 	applymovement PLAYER, MovementData_0x74efe
 	jump SailorScript_0x74dc4
@@ -169,20 +169,20 @@
 
 UnknownScript_0x74ed4:
 	writetext UnknownText_0x74ff2
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x74eda:
 	writetext UnknownText_0x75059
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x74ee0:
 	writetext UnknownText_0x75080
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 SuperNerdScript_0x74ee6:
@@ -189,8 +189,8 @@
 	faceplayer
 	loadfont
 	writetext UnknownText_0x750a6
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MapVermilionPortSignpostItem0:
--- a/maps/VictoryRoad.asm
+++ b/maps/VictoryRoad.asm
@@ -49,8 +49,8 @@
 	playmusic MUSIC_RIVAL_ENCOUNTER
 	loadfont
 	writetext UnknownText_0x7455f
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_RIVAL_VICTORY_ROAD
 	checkevent EVENT_GOT_TOTODILE_FROM_ELM
 	iftrue UnknownScript_0x744ff
@@ -58,7 +58,7 @@
 	iftrue UnknownScript_0x7450f
 	winlosstext UnknownText_0x7463d, UnknownText_0x747aa
 	setlasttalked $2
-	loadtrainer RIVAL1, RIVAL1_15
+	scriptedtrainerdata RIVAL1, RIVAL1_15
 	startbattle
 	reloadmapmusic
 	returnafterbattle
@@ -67,7 +67,7 @@
 UnknownScript_0x744ff:
 	winlosstext UnknownText_0x7463d, UnknownText_0x747aa
 	setlasttalked $2
-	loadtrainer RIVAL1, RIVAL1_13
+	scriptedtrainerdata RIVAL1, RIVAL1_13
 	startbattle
 	reloadmapmusic
 	returnafterbattle
@@ -76,7 +76,7 @@
 UnknownScript_0x7450f:
 	winlosstext UnknownText_0x7463d, UnknownText_0x747aa
 	setlasttalked $2
-	loadtrainer RIVAL1, RIVAL1_14
+	scriptedtrainerdata RIVAL1, RIVAL1_14
 	startbattle
 	reloadmapmusic
 	returnafterbattle
@@ -86,8 +86,8 @@
 	playmusic MUSIC_RIVAL_AFTER
 	loadfont
 	writetext UnknownText_0x746ce
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ItemFragment_0x74529:
--- a/maps/VictoryRoadGate.asm
+++ b/maps/VictoryRoadGate.asm
@@ -28,15 +28,15 @@
 	checkcode VAR_BADGES
 	if_greater_than 7, UnknownScript_0x9ba19
 	writetext UnknownText_0x9ba5f
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement PLAYER, MovementData_0x9ba27
 	end
 
 UnknownScript_0x9ba19:
 	writetext UnknownText_0x9bab4
+	waitbutton
 	closetext
-	loadmovesprites
 	dotrigger $1
 	end
 
--- a/maps/VioletCity.asm
+++ b/maps/VioletCity.asm
@@ -23,14 +23,14 @@
 
 UnknownScript_0x1a83cb:
 	writetext UnknownText_0x1a84ac
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1a83d1:
 	writetext UnknownText_0x1a84cb
+	waitbutton
 	closetext
-	loadmovesprites
 	playmusic MUSIC_SHOW_ME_AROUND
 	follow $2, PLAYER
 	applymovement $2, MovementData_0x1a842a
@@ -40,14 +40,14 @@
 	special RestartMapMusic
 	loadfont
 	writetext UnknownText_0x1a84f9
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $2, MovementData_0x1a8465
 	applymovement $2, MovementData_0x1a8463
 	playsound SFX_ENTER_DOOR
 	disappear $2
 	clearevent EVENT_EARLS_ACADEMY_EARL
-	waitbutton
+	waitsfx
 	end
 
 LassScript_0x1a8403:
--- a/maps/VioletGym.asm
+++ b/maps/VioletGym.asm
@@ -11,10 +11,10 @@
 	checkevent EVENT_BEAT_FALKNER
 	iftrue .FightDone
 	writetext UnknownText_0x68473
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x6854a, 0
-	loadtrainer FALKNER, 1
+	scriptedtrainerdata FALKNER, 1
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_FALKNER
@@ -21,7 +21,7 @@
 	loadfont
 	writetext UnknownText_0x685af
 	playsound SFX_GET_BADGE
-	waitbutton
+	waitsfx
 	setflag ENGINE_ZEPHYRBADGE
 	checkcode VAR_BADGES
 	scall VioletGymTriggerRockets
@@ -38,15 +38,15 @@
 	iffalse .NoRoomForMudSlap
 	setevent EVENT_GOT_TM31_MUD_SLAP
 	writetext UnknownText_0x68648
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .SpeechAfterTM:
 	writetext UnknownText_0x68735
-	closetext
+	waitbutton
 .NoRoomForMudSlap:
-	loadmovesprites
+	closetext
 	end
 
 VioletGymTriggerRockets:
@@ -64,11 +64,11 @@
 	trainer EVENT_BEAT_BIRD_KEEPER_ROD, BIRD_KEEPER, ROD, Bird_keeperRodSeenText, Bird_keeperRodBeatenText, 0, Bird_keeperRodScript
 
 Bird_keeperRodScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x68837
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerBird_keeperAbe:
@@ -75,11 +75,11 @@
 	trainer EVENT_BEAT_BIRD_KEEPER_ABE, BIRD_KEEPER, ABE, Bird_keeperAbeSeenText, Bird_keeperAbeBeatenText, 0, Bird_keeperAbeScript
 
 Bird_keeperAbeScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x688c7
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 VioletGymGuyScript:
@@ -88,14 +88,14 @@
 	checkevent EVENT_BEAT_FALKNER
 	iftrue .VioletGymGuyWinScript
 	writetext VioletGymGuyText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .VioletGymGuyWinScript
 	writetext VioletGymGuyWinText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 VioletGymStatue:
--- a/maps/VioletMart.asm
+++ b/maps/VioletMart.asm
@@ -8,7 +8,7 @@
 ClerkScript_0x68295:
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_VIOLET
-	loadmovesprites
+	closetext
 	end
 
 GrannyScript_0x6829c:
--- a/maps/VioletNicknameSpeechHouse.asm
+++ b/maps/VioletNicknameSpeechHouse.asm
@@ -16,8 +16,8 @@
 	loadfont
 	writetext UnknownText_0x6947c
 	cry PIDGEY
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownText_0x693fa:
--- a/maps/VioletOnixTradeHouse.asm
+++ b/maps/VioletOnixTradeHouse.asm
@@ -12,8 +12,8 @@
 	faceplayer
 	loadfont
 	trade $1
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownText_0x69997:
--- a/maps/VioletPokeCenter1F.asm
+++ b/maps/VioletPokeCenter1F.asm
@@ -27,8 +27,8 @@
 	clearevent EVENT_TOGEPI_HATCHED
 	domaptrigger ROUTE_32, $1
 	writetext UnknownText_0x695c5
+	waitbutton
 	closetext
-	loadmovesprites
 	checkcode VAR_FACING
 	if_equal $1, .UnknownScript_0x69511
 	spriteface PLAYER, DOWN
@@ -35,7 +35,7 @@
 	applymovement $6, MovementData_0x69549
 	playsound SFX_EXIT_BUILDING
 	disappear $6
-	waitbutton
+	waitsfx
 	end
 
 .UnknownScript_0x69511
@@ -44,7 +44,7 @@
 	applymovement $6, MovementData_0x69551
 	playsound SFX_EXIT_BUILDING
 	disappear $6
-	waitbutton
+	waitsfx
 	end
 
 .eggname
@@ -56,14 +56,14 @@
 
 UnknownScript_0x6952b:
 	writetext UnknownText_0x69693
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x69531:
 	writetext UnknownText_0x696f2
+	waitbutton
 	closetext
-	loadmovesprites
 	setevent EVENT_REFUSED_TO_TAKE_EGG_FROM_ELMS_AIDE
 	end
 
--- a/maps/ViridianCity.asm
+++ b/maps/ViridianCity.asm
@@ -19,14 +19,14 @@
 	yesorno
 	iffalse UnknownScript_0x1a9a5b
 	writetext UnknownText_0x1a9b6f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x1a9a5b:
 	writetext UnknownText_0x1a9bb7
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GrampsScript_0x1a9a61:
@@ -35,14 +35,14 @@
 	checkevent EVENT_BLUE_IN_CINNABAR
 	iftrue .BlueReturned
 	writetext UnknownText_0x1a9c11
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .BlueReturned
 	writetext UnknownText_0x1a9c7e
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 FisherScript_0x1a9a75:
@@ -57,9 +57,9 @@
 	setevent EVENT_GOT_TM42_DREAM_EATER
 UnknownScript_0x1a9a8a:
 	writetext UnknownText_0x1a9d86
-	closetext
+	waitbutton
 UnknownScript_0x1a9a8e:
-	loadmovesprites
+	closetext
 	end
 
 YoungsterScript_0x1a9a90:
--- a/maps/ViridianGym.asm
+++ b/maps/ViridianGym.asm
@@ -11,10 +11,10 @@
 	checkflag ENGINE_EARTHBADGE
 	iftrue .FightDone
 	writetext UnknownText_0x9aa7b
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x9abae, 0
-	loadtrainer BLUE, 1
+	scriptedtrainerdata BLUE, 1
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_BLUE
@@ -21,17 +21,17 @@
 	loadfont
 	writetext UnknownText_0x9ac0f
 	playsound SFX_GET_BADGE
-	waitbutton
+	waitsfx
 	setflag ENGINE_EARTHBADGE
 	writetext UnknownText_0x9ac27
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .FightDone
 	writetext UnknownText_0x9acab
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ViridianGymGuyScript:
@@ -40,14 +40,14 @@
 	checkevent EVENT_BEAT_BLUE
 	iftrue .ViridianGymGuyWinScript
 	writetext ViridianGymGuyText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .ViridianGymGuyWinScript
 	writetext ViridianGymGuyWinText
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ViridianGymStatue:
--- a/maps/ViridianMart.asm
+++ b/maps/ViridianMart.asm
@@ -8,7 +8,7 @@
 ClerkScript_0x9b5e7:
 	loadfont
 	pokemart MARTTYPE_STANDARD, MART_VIRIDIAN
-	loadmovesprites
+	closetext
 	end
 
 LassScript_0x9b5ee:
--- a/maps/ViridianNicknameSpeechHouse.asm
+++ b/maps/ViridianNicknameSpeechHouse.asm
@@ -15,8 +15,8 @@
 	loadfont
 	writetext UnknownText_0x9aefe
 	cry SPEAROW
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GrowlitheScript_0x9ae4a:
@@ -23,8 +23,8 @@
 	loadfont
 	writetext UnknownText_0x9af10
 	cry RATTATA
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownText_0x9ae54:
--- a/maps/ViridianPokeCenter1F.asm
+++ b/maps/ViridianPokeCenter1F.asm
@@ -14,14 +14,14 @@
 	checkevent EVENT_BLUE_IN_CINNABAR
 	iftrue .BlueReturned
 	writetext UnknownText_0x9b6ad
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .BlueReturned
 	writetext UnknownText_0x9b6f5
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 CooltrainerFScript_0x9b6a7:
--- a/maps/WarehouseEntrance.asm
+++ b/maps/WarehouseEntrance.asm
@@ -108,11 +108,11 @@
 	trainer EVENT_BEAT_SUPER_NERD_ERIC, SUPER_NERD, ERIC, SupernerdEricSeenText, SupernerdEricBeatenText, 0, SupernerdEricScript
 
 SupernerdEricScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x7c36c
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSupernerdTeru:
@@ -119,11 +119,11 @@
 	trainer EVENT_BEAT_SUPER_NERD_TERU, SUPER_NERD, TERU, SupernerdTeruSeenText, SupernerdTeruBeatenText, 0, SupernerdTeruScript
 
 SupernerdTeruScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x7c410
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPokemaniacIssac:
@@ -130,11 +130,11 @@
 	trainer EVENT_BEAT_POKEMANIAC_ISSAC, POKEMANIAC, ISSAC, PokemaniacIssacSeenText, PokemaniacIssacBeatenText, 0, PokemaniacIssacScript
 
 PokemaniacIssacScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x7c498
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerPokemaniacDonald:
@@ -141,11 +141,11 @@
 	trainer EVENT_BEAT_POKEMANIAC_DONALD, POKEMANIAC, DONALD, PokemaniacDonaldSeenText, PokemaniacDonaldBeatenText, 0, PokemaniacDonaldScript
 
 PokemaniacDonaldScript:
-	talkaftercancel
+	end_if_just_battled
 	loadfont
 	writetext UnknownText_0x7c52f
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 GrannyScript_0x7c132:
@@ -157,7 +157,7 @@
 
 .Open:
 	pokemart MARTTYPE_BITTER, MART_UNDERGROUND
-	loadmovesprites
+	closetext
 	end
 
 GrampsScript_0x7c146:
@@ -172,7 +172,7 @@
 	checkmorn
 	iffalse WarehouseEntranceScript_ShopClosed
 	pokemart MARTTYPE_BARGAIN, 0
-	loadmovesprites
+	closetext
 	end
 
 OlderHaircutBrotherScript:
@@ -224,8 +224,8 @@
 	takemoney $0, 500
 	special PlaceMoneyTopRightOW
 	writetext UnknownText_0x7c6b8
+	waitbutton
 	closetext
-	loadmovesprites
 	special RotatePalettesRightPalettes
 	playmusic MUSIC_HEAL
 	pause 60
@@ -233,7 +233,7 @@
 	special RestartMapMusic
 	loadfont
 	writetext UnknownText_0x7c6d8
-	closetext
+	waitbutton
 	checkevent EVENT_GAVE_KURT_APRICORNS
 	iftrue UnknownScript_0x7c2bb
 	checkevent EVENT_RECEIVED_BALLS_FROM_KURT
@@ -242,20 +242,20 @@
 
 .Refused:
 	writetext UnknownText_0x7c6ea
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .NotEnoughMoney:
 	writetext UnknownText_0x7c709
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .AlreadyGotHaircut:
 	writetext UnknownText_0x7c72b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 YoungerHaircutBrotherScript:
@@ -307,8 +307,8 @@
 	takemoney $0, 300
 	special PlaceMoneyTopRightOW
 	writetext UnknownText_0x7c80e
+	waitbutton
 	closetext
-	loadmovesprites
 	special RotatePalettesRightPalettes
 	playmusic MUSIC_HEAL
 	pause 60
@@ -316,7 +316,7 @@
 	special RestartMapMusic
 	loadfont
 	writetext UnknownText_0x7c82a
-	closetext
+	waitbutton
 	checkevent EVENT_GAVE_KURT_APRICORNS
 	iftrue UnknownScript_0x7c2bb
 	checkevent EVENT_RECEIVED_BALLS_FROM_KURT
@@ -325,41 +325,41 @@
 
 .Refused:
 	writetext UnknownText_0x7c842
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .NotEnoughMoney:
 	writetext UnknownText_0x7c85b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .AlreadyGotHaircut:
 	writetext UnknownText_0x7c87b
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x7c2bb:
 	writetext HaircutBrosText_SlightlyHappier
 	special PlayCurMonCry
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x7c2c4:
 	writetext HaircutBrosText_Happier
 	special PlayCurMonCry
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 UnknownScript_0x7c2cd:
 	writetext HaircutBrosText_MuchHappier
 	special PlayCurMonCry
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 BasementDoorScript::
@@ -369,31 +369,31 @@
 	checkitem BASEMENT_KEY
 	iftrue .Unlock
 	writetext UnknownText_0x7c5b0
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 .Unlock:
 	playsound SFX_TRANSACTION
 	writetext UnknownText_0x7c5d6
+	waitbutton
 	closetext
-	loadmovesprites
 	changeblock $12, $6, $2e
 	reloadmappart
-	loadmovesprites
+	closetext
 	setevent EVENT_USED_BASEMENT_KEY
 	end
 
 .Open:
 	writetext UnknownText_0x7c5c3
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 WarehouseEntranceScript_ShopClosed:
 	writetext UnknownText_0x7c904
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 ItemFragment_0x7c306:
--- a/maps/WhirlIslandLugiaChamber.asm
+++ b/maps/WhirlIslandLugiaChamber.asm
@@ -30,10 +30,10 @@
 	writetext UnknownText_0x18c531
 	cry LUGIA
 	pause 15
-	loadmovesprites
+	closetext
 	setevent EVENT_FOUGHT_LUGIA
 	writecode VAR_BATTLETYPE, BATTLETYPE_FORCEITEM
-	loadpokedata LUGIA, 60
+	scriptedpokedata LUGIA, 60
 	startbattle
 	disappear $2
 	returnafterbattle
--- a/maps/WillsRoom.asm
+++ b/maps/WillsRoom.asm
@@ -38,10 +38,10 @@
 	earthquake 80
 	changeblock $4, $e, $2a
 	reloadmappart
-	loadmovesprites
+	closetext
 	dotrigger $1
 	setevent EVENT_WILLS_ROOM_ENTRANCE_CLOSED
-	waitbutton
+	waitsfx
 	end
 
 WillScript_0x1804f8:
@@ -50,29 +50,29 @@
 	checkevent EVENT_BEAT_ELITE_4_WILL
 	iftrue UnknownScript_0x180526
 	writetext UnknownText_0x180531
+	waitbutton
 	closetext
-	loadmovesprites
 	winlosstext UnknownText_0x18062c, 0
-	loadtrainer WILL, 1
+	scriptedtrainerdata WILL, 1
 	startbattle
 	returnafterbattle
 	setevent EVENT_BEAT_ELITE_4_WILL
 	loadfont
 	writetext UnknownText_0x180644
+	waitbutton
 	closetext
-	loadmovesprites
 	playsound SFX_ENTER_DOOR
 	changeblock $4, $2, $16
 	reloadmappart
-	loadmovesprites
+	closetext
 	setevent EVENT_WILLS_ROOM_EXIT_OPEN
-	waitbutton
+	waitsfx
 	end
 
 UnknownScript_0x180526:
 	writetext UnknownText_0x180644
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MovementData_0x18052c:
--- a/maps/WiseTriosRoom.asm
+++ b/maps/WiseTriosRoom.asm
@@ -59,8 +59,8 @@
 	spriteface PLAYER, RIGHT
 	loadfont
 	writetext UnknownText_0x98712
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $4, MovementData_0x98625
 	spriteface $4, LEFT
 	end
@@ -71,8 +71,8 @@
 SageGakuScript:
 	loadfont
 	writetext UnknownText_0x98938
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSageMasa:
@@ -81,8 +81,8 @@
 SageMasaScript:
 	loadfont
 	writetext UnknownText_0x98a35
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 TrainerSageKoji:
@@ -97,8 +97,8 @@
 	writetext UnknownText_0x98c6c
 	keeptextopen
 	writetext UnknownText_0x98cac
+	waitbutton
 	closetext
-	loadmovesprites
 	applymovement $7, MovementData_0x98628
 	spriteface $7, UP
 	setevent EVENT_KOJI_ALLOWS_YOU_PASSAGE_TO_TIN_TOWER
@@ -108,8 +108,8 @@
 UnknownScript_0x9861b:
 	loadfont
 	writetext UnknownText_0x98db5
+	waitbutton
 	closetext
-	loadmovesprites
 	end
 
 MovementData_0x98622:
--- a/misc/battle_tower_5c.asm
+++ b/misc/battle_tower_5c.asm
@@ -1,11 +1,11 @@
 Function1700b0: ; 1700b0
-	call Function17021e
+	call Bank5c_ClearJumptableRAM
 	callba Function118121
 	ret
 ; 1700ba
 
 Function1700ba: ; 1700ba
-	call Function17021e
+	call Bank5c_ClearJumptableRAM
 	callba Function11811a
 	ret
 ; 1700c4
@@ -17,6 +17,7 @@
 	ld [rSVBK], a
 
 	call Function17042c
+
 	ld a, $5
 	call GetSRAMBank
 	ld a, $1
@@ -23,15 +24,15 @@
 	ld [$be45], a
 	xor a
 	ld [$be46], a
-	ld hl, $dffc
+	ld hl, w3_dffc
 	ld de, $aa41
 	ld bc, $0004
 	call CopyBytes
-	ld hl, $d202
+	ld hl, w3_d202
 	ld de, $aa8e
-	ld bc, $0594
+	ld bc, 7 * $cc ; length of battle tower struct from japanese games?
 	call CopyBytes
-	ld hl, $aa5d
+	ld hl, $aa5d ; some sort of count
 	ld a, [hl]
 	inc [hl]
 	inc hl
@@ -42,7 +43,7 @@
 	add hl, de
 	ld e, l
 	ld d, h
-	ld hl, $dffc
+	ld hl, w3_dffc
 	ld bc, $0004
 	call CopyBytes
 	call CloseSRAM
@@ -52,7 +53,7 @@
 ; 170114
 
 Function170114: ; 170114
-	call Function17021e
+	call Bank5c_ClearJumptableRAM
 	call Function170121
 	callba Function11805f
 	ret
@@ -62,7 +63,7 @@
 	ld a, $5
 	call GetSRAMBank
 	ld hl, $a948
-	ld de, $c608
+	ld de, wMisc
 	ld bc, $00f6
 	call CopyBytes
 	call CloseSRAM
@@ -71,27 +72,29 @@
 ; 170139
 
 Function170139: ; 170139
+; Convert the 4-digit decimal number at 5:aa41 into binary
 	ld a, $5
 	call GetSRAMBank
 	ld de, $aa41
 	ld h, $0
 	ld l, h
-	ld bc, $03e8
-	call Function17020c
-	ld bc, $0064
-	call Function17020c
-	ld bc, $000a
-	call Function17020c
+	ld bc, 1000
+	call .DecToBin
+	ld bc, 100
+	call .DecToBin
+	ld bc, 10
+	call .DecToBin
 	ld a, [de]
 	ld c, a
 	ld b, $0
 	add hl, bc
 	call CloseSRAM
+; Store that number in wMisc
 	ld a, h
-	ld [$c608], a
+	ld [wMisc], a
 	ld a, l
-	ld [$c608 + 1], a
-	ld hl, $c628
+	ld [wMisc + 1], a
+	ld hl, wBT_OTTempPkmn1DVs
 	ld a, [PlayerID]
 	ld [hli], a
 	ld a, [PlayerID + 1]
@@ -108,26 +111,26 @@
 	ld bc, PlayerID
 	ld de, PlayerGender
 	callba Function4e929
-	ld de, $c62c + 5
+	ld de, wBT_OTTempPkmn1CaughtGender
 	ld a, c
 	ld [de], a
 	inc de
-	ld a, $df
+	ld a, PartyMons % $100
 	ld [wcd49], a
-	ld a, $dc
+	ld a, PartyMons / $100
 	ld [wcd4a], a
-	ld a, $41
+	ld a, PartyMonNicknames % $100
 	ld [wcd4b], a
-	ld a, $de
+	ld a, PartyMonNicknames / $100
 	ld [wcd4c], a
-	ld a, $3
-.asm_1701ac
+	ld a, 3
+.CopyLoop
 	push af
 	ld a, [wcd49]
 	ld l, a
 	ld a, [wcd4a]
 	ld h, a
-	ld bc, $0030
+	ld bc, PARTYMON_STRUCT_LENGTH
 	call CopyBytes
 	ld a, l
 	ld [wcd49], a
@@ -145,7 +148,7 @@
 	ld [wcd4c], a
 	pop af
 	dec a
-	jr nz, .asm_1701ac
+	jr nz, .CopyLoop
 	ld a, $4
 	call GetSRAMBank
 	ld hl, $a013
@@ -157,7 +160,7 @@
 	ld hl, $a894
 	ld bc, $0006
 	call CopyBytes
-	ld hl, $c608
+	ld hl, wMisc
 	ld de, $a948
 	ld bc, $00f6
 	call CopyBytes
@@ -165,16 +168,16 @@
 	ret
 ; 17020c
 
-Function17020c: ; 17020c
+.DecToBin: ; 17020c
 	ld a, [de]
 	inc de
 	and a
 	ret z
 
-.loop
+.digit_loop
 	add hl, bc
 	dec a
-	jr nz, .loop
+	jr nz, .digit_loop
 	ret
 ; 170215
 
@@ -189,7 +192,7 @@
 	ret
 ; 17021e
 
-Function17021e: ; 17021e
+Bank5c_ClearJumptableRAM: ; 17021e
 	xor a
 	ld [wcf63], a
 	ld [wcf64], a
@@ -508,7 +511,7 @@
 
 Function17042c: ; 17042c
 	ld hl, w3_d202TrainerData
-	ld a, 7
+	ld a, BATTLETOWER_NROFTRAINERS
 .loop
 	push af
 	push hl
@@ -521,7 +524,7 @@
 	ld a, [hli]
 	and a
 	jr z, .empty
-	cp $f
+	cp 15
 	jr nc, .copy_data
 
 	push hl
@@ -615,7 +618,7 @@
 	ld [rSVBK], a
 
 	ld hl, BT_OTTrainer ; $d100
-	ld de, wBT_OTTemp ; $c608
+	ld de, wBT_OTTemp ; wMisc
 	ld bc, BATTLE_TOWER_STRUCT_LENGTH
 	call CopyBytes
 
@@ -632,7 +635,9 @@
 SkipBattleTowerTrainer: ; 1704c9
 	ret
 ; 1704ca
+
 Function1704ca: ; 1704ca
+; unreferenced mobile function
 	ld a, [$be46]
 	cp $7
 	jr c, .asm_1704d3
@@ -653,36 +658,37 @@
 ; 1704e1
 
 Function1704e1: ; 1704e1
+; unreferenced special
 	call SpeechTextBox
 	call FadeToMenu
-	call Function17021e
-	call Function1704f1
+	call Bank5c_ClearJumptableRAM
+	call .JumptableLoop
 	call ReturnToCallingMenu
 	ret
 ; 1704f1
 
-Function1704f1: ; 1704f1
+.JumptableLoop: ; 1704f1
 	call ClearBGPalettes
 	call ClearSprites
 	call ClearScreen
-.asm_1704fa
+.loop
 	call JoyTextDelay
 	ld a, [wJumptableIndex]
 	bit 7, a
-	jr nz, .asm_17050f
-	call Function170510
+	jr nz, .done
+	call .DoJumptable
 	callba ReloadMapPart
-	jr .asm_1704fa
+	jr .loop
 
-.asm_17050f
+.done
 	ret
 ; 170510
 
-Function170510: ; 170510
+.DoJumptable: ; 170510
 	ld a, [wJumptableIndex]
 	ld e, a
 	ld d, 0
-	ld hl, Jumptable_17051f
+	ld hl, .jumptable
 rept 2
 	add hl, de
 endr
@@ -692,13 +698,13 @@
 	jp [hl]
 ; 17051f
 
-Jumptable_17051f: ; 17051f
-	dw Function170525
-	dw Function170571
-	dw Function170577
+.jumptable: ; 17051f
+	dw .Jumptable_0
+	dw .Jumptable_1
+	dw .Jumptable_2
 ; 170525
 
-Function170525: ; 170525
+.Jumptable_0: ; 170525
 	ld a, $5
 	call GetSRAMBank
 
@@ -708,7 +714,7 @@
 	call CopyBytes
 
 	ld hl, $a8b2
-	ld de, $c608
+	ld de, wMisc
 	ld bc, $0096
 	call CopyBytes
 
@@ -717,117 +723,117 @@
 	ld de, StringBuffer3
 	call PlaceString
 	hlcoord 1, 3
-	ld de, String_170676
+	ld de, .String_Mail
 	call PlaceString
 	hlcoord 4, 3
 	ld de, StringBuffer4
 	call PlaceString
 	hlcoord 8, 3
-	ld de, String_17067a
+	ld de, .String_PastReaders
 	call PlaceString
-	call Function1705b7
-	call Function1705f0
-	jr Function1705b2
+	call .DrawBorder
+	call .PlaceTextItems
+	jr .NextJumptableFunction
 
 
-Function170571:
+.Jumptable_1:
 	call SetPalettes
-	call Function1705b2
+	call .NextJumptableFunction
 
 
-Function170577:
+.Jumptable_2:
 	ld hl, hJoyPressed
 	ld a, [hl]
-	and $1
-	jr nz, .asm_1705ac
+	and A_BUTTON
+	jr nz, .pressed_a_or_b
 	ld a, [hl]
-	and $2
-	jr nz, .asm_1705ac
+	and B_BUTTON
+	jr nz, .pressed_a_or_b
 	ld a, [hl]
-	and $40
-	jr nz, .asm_17058f
+	and D_UP
+	jr nz, .pressed_up
 	ld a, [hl]
-	and $80
-	jr nz, .asm_17059d
+	and D_DOWN
+	jr nz, .pressed_down
 	ret
 
-.asm_17058f
+.pressed_up
 	ld a, [wcf64]
 	and a
 	ret z
-	sub $f
+	sub 15
 	ld [wcf64], a
-	call Function1705f0
+	call .PlaceTextItems
 	ret
 
-.asm_17059d
+.pressed_down
 	ld a, [wcf64]
-	cp $3c
+	cp 60
 	ret z
-	add $f
+	add 15
 	ld [wcf64], a
-	call Function1705f0
+	call .PlaceTextItems
 	ret
 
-.asm_1705ac
+.pressed_a_or_b
 	ld hl, wJumptableIndex
 	set 7, [hl]
 	ret
 
-Function1705b2:
+.NextJumptableFunction:
 	ld hl, wJumptableIndex
 	inc [hl]
 	ret
 ; 1705b7
 
-Function1705b7: ; 1705b7
+.DrawBorder: ; 1705b7
 	hlcoord 0, 4
 	ld a, $79
 	ld [hli], a
-	ld c, $12
-.asm_1705bf
+	ld c, SCREEN_WIDTH - 2
+.top_border_loop
 	ld a, $7a
 	ld [hli], a
 	dec c
-	jr nz, .asm_1705bf
+	jr nz, .top_border_loop
 	ld a, $7b
 	ld [hli], a
-	ld de, $0014
-	ld c, $c
-.asm_1705cd
+	ld de, SCREEN_WIDTH
+	ld c, 12
+.left_border_loop
 	ld a, $7c
 	ld [hl], a
 	add hl, de
 	dec c
-	jr nz, .asm_1705cd
+	jr nz, .left_border_loop
 	ld a, $7d
 	ld [hli], a
-	ld c, $12
-.asm_1705d9
+	ld c, SCREEN_WIDTH - 2
+.bottom_border_loop
 	ld a, $7a
 	ld [hli], a
 	dec c
-	jr nz, .asm_1705d9
+	jr nz, .bottom_border_loop
 	ld a, $7e
 	ld [hl], a
-	ld de, $ffec
+	ld de, -SCREEN_WIDTH
 	add hl, de
-	ld c, $c
-.asm_1705e8
+	ld c, 12
+.right_border_loop
 	ld a, $7c
 	ld [hl], a
 	add hl, de
 	dec c
-	jr nz, .asm_1705e8
+	jr nz, .right_border_loop
 	ret
 ; 1705f0
 
-Function1705f0: ; 1705f0
-	call Function17064b
-	call Function17065d
+.PlaceTextItems: ; 1705f0
+	call .ClearBox
+	call .PlaceUpDownArrows
 	ld a, $50
 	ld [wcd4e], a
-	ld hl, $c608
+	ld hl, wMisc
 	ld a, [wcf64]
 	ld c, a
 	xor a
@@ -836,19 +842,20 @@
 	push hl
 	pop bc
 	hlcoord 1, 6
-	ld a, $6
-.asm_17060c
+	ld a, 6
+.loop1
 	push af
 	push hl
-	ld a, $3
-.asm_170610
+	ld a, 3
+.loop2
 	push af
 	ld de, wcd49
 	ld a, [bc]
 	and a
-	jr z, .asm_170625
-	ld a, $5
-.asm_17061a
+	jr z, .fill_with_e3
+; .copy
+	ld a, 5
+.loop3a
 	push af
 	ld a, [bc]
 	ld [de], a
@@ -856,12 +863,12 @@
 	inc de
 	pop af
 	dec a
-	jr nz, .asm_17061a
-	jr .asm_170631
+	jr nz, .loop3a
+	jr .rejoin
 
-.asm_170625
-	ld a, $5
-.asm_170627
+.fill_with_e3
+	ld a, 5
+.loop3b
 	push af
 	ld a, $e3
 	ld [de], a
@@ -869,68 +876,68 @@
 	inc bc
 	pop af
 	dec a
-	jr nz, .asm_170627
+	jr nz, .loop3b
 
-.asm_170631
+.rejoin
 	ld de, wcd49
 	push bc
 	call PlaceString
-	ld de, $0006
+	ld de, 6
 	add hl, de
 	pop bc
 	pop af
 	dec a
-	jr nz, .asm_170610
+	jr nz, .loop2
 	pop hl
-	ld de, $0028
+	ld de, $28
 	add hl, de
 	pop af
 	dec a
-	jr nz, .asm_17060c
+	jr nz, .loop1
 	ret
 ; 17064b
 
-Function17064b: ; 17064b
+.ClearBox: ; 17064b
 	hlcoord 1, 5
 	xor a
-	ld b, $c
-.asm_170651
-	ld c, $12
-.asm_170653
+	ld b, 12
+.clearbox_row
+	ld c, SCREEN_WIDTH - 2
+.clearbox_column
 	ld [hli], a
 	dec c
-	jr nz, .asm_170653
+	jr nz, .clearbox_column
 rept 2
 	inc hl
 endr
 	dec b
-	jr nz, .asm_170651
+	jr nz, .clearbox_row
 	ret
 ; 17065d
 
-Function17065d: ; 17065d
+.PlaceUpDownArrows: ; 17065d
 	ld a, [wcf64]
 	and a
-	jr z, .asm_170669
+	jr z, .nope
 	hlcoord 18, 5
-	ld a, $61
+	ld a, "▲"
 	ld [hl], a
 
-.asm_170669
+.nope
 	ld a, [wcf64]
-	cp $3c
+	cp 60
 	ret z
 	hlcoord 18, 16
-	ld a, $ee
+	ld a, "▼"
 	ld [hl], a
 	ret
 ; 170676
 
-String_170676: ; 170676
+.String_Mail: ; 170676
 	db "ルーム@"
 ; 17067a
 
-String_17067a: ; 17067a
+.String_PastReaders: ; 17067a
 	db "れきだいりーダーいちらん@"
 ; 170687
 
@@ -1477,7 +1484,7 @@
 	ld a, $5
 	call GetSRAMBank
 	ld hl, $b023
-	ld de, $c608
+	ld de, wMisc
 	ld bc, $0069
 	call CopyBytes
 	ld a, [$a825]
@@ -1496,7 +1503,7 @@
 	ld a, $0
 	call GetSRAMBank
 	ld hl, wRTC
-	ld de, $c608
+	ld de, wMisc
 	ld bc, $0004
 	call CopyBytes
 	call CloseSRAM
@@ -1503,7 +1510,7 @@
 	ld a, $5
 	call GetSRAMBank
 	ld hl, $b08c
-	ld de, $c608
+	ld de, wMisc
 	ld c, $4
 .asm_170a54
 	ld a, [de]
--- a/misc/mobile_22.asm
+++ b/misc/mobile_22.asm
@@ -150,13 +150,13 @@
 
 Function89209: ; 89209
 	ld a, 1
-	ld [wc2ce], a
+	ld [wSpriteUpdatesEnabled], a
 	ret
 ; 8920f
 
 Function8920f: ; 8920f
 	ld a, 0
-	ld [wc2ce], a
+	ld [wSpriteUpdatesEnabled], a
 	ret
 ; 89215
 
--- a/misc/mobile_40.asm
+++ b/misc/mobile_40.asm
@@ -838,7 +838,7 @@
 Function100534: ; 100534
 	call Function100513
 	call UpdateSprites
-	call Function321c
+	call ApplyTilemap
 	ld a, [wcd28]
 	inc a
 	ld [wcd28], a
@@ -1847,7 +1847,7 @@
 	callba Function24085
 	callba MobileTextBorder
 	call UpdateSprites
-	call Function321c
+	call ApplyTilemap
 	callba Function2411a
 	ld hl, wcfa5
 	set 7, [hl]
@@ -6006,7 +6006,7 @@
 	ld c, $12
 	ld d, h
 	ld e, l
-	callba Function16d61d
+	callba _LinkTextbox
 	ld de, String_102804
 	hlcoord 2, 16
 	call PlaceString
@@ -6302,7 +6302,7 @@
 	ld c, $8
 	ld d, h
 	ld e, l
-	callba Function16d61d
+	callba _LinkTextbox
 	ld de, String_102a26
 	hlcoord 12, 8
 	call PlaceString
@@ -6812,7 +6812,7 @@
 	ld c, $12
 	ld d, h
 	ld e, l
-	callba Function16d61d
+	callba _LinkTextbox
 	ret
 ; 102dd3
 
@@ -6855,7 +6855,7 @@
 	ld c, $b
 	ld d, h
 	ld e, l
-	callba Function16d61d
+	callba _LinkTextbox
 
 .asm_102e28
 	ld de, String_102e32
--- a/misc/mobile_46.asm
+++ b/misc/mobile_46.asm
@@ -1290,7 +1290,7 @@
 	call LoadMenuDataHeader
 	call MenuBox
 	call MenuBoxCoord2Tile
-	call Function321c
+	call ApplyTilemap
 	hlcoord 16, 8, AttrMap
 	ld a, $40
 	or [hl]
@@ -4745,7 +4745,7 @@
 	call LoadMenuDataHeader
 	call MenuBox
 	call MenuBoxCoord2Tile
-	call Function321c
+	call ApplyTilemap
 	hlcoord 16, 8
 	ld de, String_11a2cf
 	call PlaceString
--- a/misc/mobile_5b.asm
+++ b/misc/mobile_5b.asm
@@ -908,22 +908,21 @@
 Tilemap_16d5f5:
 INCBIN "gfx/unknown/16d5f5.tilemap"
 
-Function16d61d: ; 16d61d
+_LinkTextbox: ; 16d61d
 	ld h, d
 	ld l, e
 	push bc
 	push hl
-	call Function16d640
+	call .draw_border
 	pop hl
 	pop bc
+
 	ld de, AttrMap - TileMap
 	add hl, de
-rept 2
 	inc b
-endr
-rept 2
+	inc b
 	inc c
-endr
+	inc c
 	ld a, $7
 .loop
 	push bc
@@ -941,43 +940,44 @@
 	ret
 ; 16d640
 
-Function16d640: ; 16d640
+.draw_border: ; 16d640
 	push hl
 	ld a, $30
 	ld [hli], a
 	inc a
-	call Function16d66d
+	call .fill_row
 	inc a
 	ld [hl], a
 	pop hl
 	ld de, SCREEN_WIDTH
 	add hl, de
-.loop
+.loop3
 	push hl
 	ld a, $33
 	ld [hli], a
 	ld a, " "
-	call Function16d66d
+	call .fill_row
 	ld [hl], $34
 	pop hl
 	ld de, SCREEN_WIDTH
 	add hl, de
 	dec b
-	jr nz, .loop
+	jr nz, .loop3
+
 	ld a, $35
 	ld [hli], a
 	ld a, $36
-	call Function16d66d
+	call .fill_row
 	ld [hl], $37
 	ret
 ; 16d66d
 
-Function16d66d: ; 16d66d
+.fill_row: ; 16d66d
 	ld d, c
-.loop
+.loop4
 	ld [hli], a
 	dec d
-	jr nz, .loop
+	jr nz, .loop4
 	ret
 ; 16d673
 
@@ -1028,8 +1028,8 @@
 	ret
 ; 16d6ca
 
-Function16d6ca: ; 16d6ca
-	call Function16d61d
+LinkTextbox: ; 16d6ca
+	call _LinkTextbox
 	ret
 ; 16d6ce
 
@@ -1046,7 +1046,7 @@
 	hlcoord 4, 10
 	ld b, 1
 	ld c, 10
-	predef Function28eef
+	predef Predef_LinkTextbox
 	hlcoord 5, 11
 	ld de, .Waiting
 	call PlaceString
--- a/text/common_2.asm
+++ b/text/common_2.asm
@@ -109,7 +109,7 @@
 	deciram CurPartyLevel, 1, 3
 	text "!@"
 	sound_dex_fanfare_50_79
-	text_waitbutton
+	text_waitsfx
 	db "@"
 ; 0x1bc16d
 
@@ -1576,7 +1576,7 @@
 	text_from_ram StringBuffer1
 	text "!@"
 	sound_item
-	text_waitbutton
+	text_waitsfx
 	db "@"
 ; 0x1bd3d6
 
--- a/text/common_3.asm
+++ b/text/common_3.asm
@@ -362,7 +362,7 @@
 UnknownText_0x1c0609: ; 1c0609
 	text "A blinding FLASH"
 	line "lights the area!@"
-	text_waitbutton
+	text_waitsfx
 	db "@"
 ; 1c062e
 
@@ -932,7 +932,7 @@
 	text " came"
 	line "out of its EGG!@"
 	sound_caught_mon
-	text_waitbutton
+	text_waitsfx
 	db "@"
 ; 1c0dd7
 
@@ -1223,7 +1223,7 @@
 	text " caught by"
 	line "@"
 	text_from_ram wMagikarpRecordHoldersName
-	text_waitbutton
+	text_waitsfx
 	db "@"
 ; 1c1260
 
@@ -1786,7 +1786,7 @@
 ; 1c1de2
 
 _OakText3: ; 1c1de2
-	text_waitbutton
+	text_waitsfx
 	db "@"
 ; 1c1de4
 
--- a/text/common_4.asm
+++ b/text/common_4.asm
@@ -1051,7 +1051,7 @@
 	text_from_ram StringBuffer2
 	text "!@"
 	sound_dex_fanfare_50_79
-	text_waitbutton
+	text_waitsfx
 	db "@"
 ; 0x1c5677
 
@@ -1376,7 +1376,7 @@
 ; 0x1c5b35
 
 Text_Waitbutton_2: ; 0x1c5b35
-	text_waitbutton
+	text_waitsfx
 	db "@"
 ; 0x1c5b37
 
@@ -1397,7 +1397,7 @@
 	line "was newly added to"
 	cont "the #DEX.@"
 	sound_slot_machine_start
-	text_waitbutton
+	text_waitsfx
 	db "@"
 ; 0x1c5b7e
 
@@ -1453,7 +1453,7 @@
 UnknownText_0x1c5c44: ; 0x1c5c44
 	text "<PLAYER> played the"
 	line "# FLUTE.@"
-	text_waitbutton
+	text_waitsfx
 	db "@"
 ; 0x1c5c5d
 
--- a/wram.asm
+++ b/wram.asm
@@ -311,7 +311,7 @@
 
 wc2cc:: ds 1
 wc2cd:: ds 1
-wc2ce:: ds 1
+wSpriteUpdatesEnabled:: ds 1
 wc2cf:: ds 1
 wc2d0:: ds 4
 wc2d4:: ds 1
@@ -512,15 +512,15 @@
 
 
 SECTION "Battle", WRAM0
-	party_struct OddEgg
+wOddEgg:: party_struct OddEgg
 wOddEggName:: ds PKMN_NAME_LENGTH
 wOddEggOTName:: ds PKMN_NAME_LENGTH
-	ds -70
+	ds wOddEgg - @
 
 wBT_OTTemp:: battle_tower_struct wBT_OTTemp
 	ds wBT_OTTemp - @
 
-wMisc::
+wMisc:: ; ds $28 * 6
 wBattle::
 wc608::
 
@@ -1679,7 +1679,7 @@
 wLossTextPointer:: ds 2
 wScriptAfterPointer::
 wd04b:: ds 2
-wd04d:: ds 1
+wRunningTrainerBattleScript:: ds 1
 MenuItemsListEnd::
 wTempTrainerHeaderEnd::
 wd04e:: ds 2
@@ -2221,7 +2221,7 @@
 wd454:: ds 1
 	ds 4
 
-wd459:: ds 2
+wBattleScriptFlags:: ds 2
 wPlayerSpriteSetupFlags:: ds 1
 wMapReentryScriptQueueFlag:: ds 1 ; MemScriptFlag
 wMapReentryScriptBank:: ds 1 ; MemScriptBank
@@ -2990,8 +2990,8 @@
 wBTChoiceOfLvlGroup::
 w3_d800:: ds $400
 w3_dc00:: ds $168
-w3_dd68::
-
+w3_dd68:: ds $294
+w3_dffc:: ds 4
 
 SECTION "GBC Video", WRAMX, BANK [5]